Gerência distribuída de recursos em MPSoCs : mapeamento e migração de tarefas - Castilhos, Guilherme Machado de (2013)
The design of MPSoCs is a clear trend in the semiconductor industry. Such MPSoCs are able to execute several applications in parallel, with support to dynamic workload, i.e., applications may start at any moment. Another important feature is QoS (quality of service), because multimedia and telecom applications have tight performance requirements that must be respected by the system. The constantly growth in the number of cores in MPSoCs implies in an important issue: scalability. Despite the scalability offered by NoCs and distributed processing, the MPSoC resources must be managed to deliver the expected performance. Management tasks include access to input/output devices, task mapping, task migration, monitoring, DVFS. One processing element (PE) responsible for resource management may become a bottleneck, since this PE will serve all other PEs of the system, increasing its computation load and creating a communication hot-spot region. An alternative to ensure scalability is to decentralize or distribute the management functions of the system. Two main approaches are discussed in the literature: one manager per application, and one manager per MPSoC region. The second approach is preferable, since the number of management resources remains constant, regardless the number of applications executing in the MPSoC. The regions are defined as clusters. All application tasks are executed in the cluster, if possible. Regarding the size of the cluster, it may have its size modifiable at runtime to allow the mapping of applications with a greater number of tasks than their available resources. This work proposes a distributed resource management in NoC-based MPSoCs, using a clustering method, enabling the modification of the cluster size at runtime. At system start-up each cluster has a fixed size, and at runtime clusters may borrow resources from neighbor clusters to map applications. Results are evaluated using the HeMPS MPSoC, comparing the performance of the centralized versus distributed management approaches. Results show an important reduction in the total execution time of applications, and a reduced number of hops between tasks (smaller communication energy). Results also evaluate the reclustering method, through monitoring and task migration.