Particionamento e mapeamento de aplicações em MPSoCs baseados em NoCs 3D - Stefani, Marco Pokorski (2015)
Sistema multiprocessado intrachip, em inglês Multiprocessor System-on-Chip (MPSoC), com comunicação baseada em rede intrachip, em inglês Network-on-Chip (NoC), integra grande quantidade de Elementos de Processamento (PEs) com o objetivo de executar aplicações com alto grau de paralelismo/concorrência. Estas aplicações são compostas por diversas tarefas comunicantes, que são mapeadas dinamicamente nos PEs da arquitetura alvo. Quando cresce o número de tarefas da aplicação, a complexidade do mapeamento também cresce, podendo reduzir a eficácia e/ou a eficiência da solução encontrada. Uma abordagem para otimizar o mapeamento é a introdução de uma etapa anterior denominada particionamento, que permite organizar a interação das tarefas através de um agrupamento eficiente, reduzindo o número de alternativas do mapeamento. Esta dissertação propõe o algoritmo Partition Reduce (PR), que é uma abordagem de particionamento de tarefas baseada no algoritmo MapReduce, onde as tarefas são particionadas através de um agrupamento iterativo determinístico. O PR foi analisado quanto a sua eficácia e eficiência para minimizar o consumo de energia causada pela comunicação na arquitetura alvo e para balancear a carga de processamento nos PEs. Resultados experimentais, contendo um conjunto variado de complexidade de tarefas, demonstram que o PR é mais eficiente na geração de partições com baixo consumo de energia e com um balanceamento de carga eficiente para qualquer nível de complexidade de tarefas, quando comparado com o Simulated Annealing (SA). Por outro lado, os resultados mostram que o algoritmo é eficaz apenas para aplicações de média e alta complexidade.