Tesis
Mapeamento dinâmico de aplicações para MPSOCS homogêneos
Fecha
2011Autor
Moraes, Fernando Gehm
Resumen
The advance in manufacturing technology of integrated circuits enables smaller transistors, making possible the development of SoCs (System-on-Chip). Many applications require multi-processor SoCs in order to meet their performance requirements. A SoC containing several processing elements (PEs) is called MPSoC. An MPSoC can be classified as homogeneous, when all their PEs has the same architecture; or heterogeneous, when they have different architectures. As communication infrastructure, the MPSoC can use NoCs as a way to interconnect the PEs. NoCs may be used to replace busses, due to their advantages of higher scalability and communication parallelism. One of the main problems related to MPSoC projects is to define a PE of the system that will run each task. This problem is called task mapping. The mapping can be classified into static, which occurs at design time, and dynamic that occurs at runtime. The dynamic mapping approach requires firstly the mapping of the initial tasks of an application (which does not depend on any other task). The other tasks, in this approach, are mapped dynamically when requested. The mapping can be also classified by the number of tasks running in a PE. The mapping is classified as single task, when only one task is executed by a PE, and as multitask, when multiple tasks can be executed in a same PE. This work proposes new single task and multitask dynamic task mapping heuristics, in order to reduce communication energy. Results are evaluated using the MPSoC HeMPS, which executes application code generated from a model-based simulation environment. These heuristics are compared with mapping heuristic presented in literature, obtaining, in the evaluated scenarios, an average communication energy reduction of 9. 8%, for the single task approach, and 18. 6%, for the multitask approach. This work also evaluates the inclusion of dynamic load on the system, which makes necessary the implementation of an initial tasks mapping heuristic. This heuristic is an innovative contribution, since a similar approach is not found in any other work in literature. O avanço na tecnologia de fabricação de circuitos integrados permite obter transistores cada vez menores, tornando possível o desenvolvimento de sistemas completos em um único chip (System-on-Chip - SoC). Muitas aplicações requerem SoCs com vários processadores para poder suprir seus requisitos de desempenho. Um SoC que contém diversos elementos de processamento (Processing Element - PEs) é chamado de MPSoC. Um MPSoC pode ser classificado em homogêneo, quando todos seus PEs são iguais; ou heterogêneo, quando seus PEs são diferentes. Como infraestrutura de comunicação, o MPSoC pode utilizar NoCs como forma de interconectar os PEs. O uso de NoCs deve-se a suas vantagens em relação a barramentos, entre as quais maior escalabilidade e paralelismo na comunicação. Um dos principais problemas relativos ao projeto de MPSoCs é a definição de qual dos PEs do sistema será responsável pela execução de cada tarefa de uma aplicação. Este problema é chamado de mapeamento de tarefas. O mapeamento pode ser classificado em estático, que ocorre em tempo de projeto, ou em dinâmico que ocorre em tempo de execução. A abordagem de mapeamento dinâmico requer primeiramente o mapeamento de tarefas iniciais de uma aplicação (que não dependem de nenhuma outra tarefa) das aplicações, sendo que as outras tarefas são mapeadas dinamicamente quando solicitadas. Também se pode classificar o mapeamento quanto ao número de tarefas que executam em um PE do sistema. O mapeamento é dito monotarefa, quando apenas uma tarefa é executada por PE, e multitarefa, quando múltiplas tarefas podem ser executadas em um mesmo PE. Este trabalho propõe novas heurísticas de mapeamento dinâmico monotarefa e multitarefa, visando à redução de energia de comunicação. Resultados são avaliados através do MPSoC HeMPS, que executa códigos de aplicações geradas a partir de um ambiente de simulação baseado em modelos. Estas heurísticas são comparadas com heurísticas de mapeamento apresentadas na literatura, apresentando uma redução média de energia de comunicação nos cenários avaliados de até 9,8% na abordagem monotarefa e 18,6% na multitarefa. Este trabalho também avalia a inserção dinâmica de carga no sistema, utilizando para isto a implementação de uma heurística de mapeamento dinâmico de tarefas iniciais. Esta heurística é uma contribuição inovadora, visto que uma abordagem parecida não é encontrada em nenhum outro trabalho da literatura.