@PHDTHESIS{ 2009:1257044733, title = {Mapeamento dinâmico de tarefas em MPSoCs heterogêneos baseados em NoC}, year = {2009}, url = "http://tede2.pucrs.br/tede2/handle/tede/5068", abstract = "MPSoCs são sistemas multiprocessados integrados na forma de um SoC. Eles são tendência no projeto de circuitos VLSI, pois minimizam a crise de produtividade de projeto, representada pelo descompasso entre a capacidade da tecnologia do silício e a capacidade atual de projeto de SoCs. Cita-se como exemplo de MPSoCs os propostos pela Intel e pela Tilera, compostos respectivamente por 80 e 64 núcleos de processa-mento. MPSoCs podem empregar NoCs para integrar diversos processadores, memórias, bem como núcleos de hardware específicos. O uso de NoCs deve-se a suas vantagens em relação a barramentos, entre as quais maior escalabilidade e paralelismo na comunicação. A arquitetura alvo do presente trabalho consiste em um MPSoC heterogêneo, com utilização de NoC como meio interconexão entre os elementos de processamento, suportando a execução de tarefas de hardware via lógica reconfigurável, e a execução de tarefas de software via processadores. Um dos processadores da arquitetura alvo, denominado processador gerente, é responsável por: gerência da ocupação dos recursos do sistema, escalonamento, mapeamento, e configuração de tarefas. O mapeamento de tarefas define a posição de uma dada tarefa no sistema. A maioria dos trabalhos encontrados na literatura propõe técnicas de mapeamento estático, definido em tempo de projeto, no qual todas as tarefas de uma dada aplicação são mapeadas simultaneamente. Este mapeamento estático não é adequado para cenários com carga dinâmica de tarefas. Dado que aplicações executando em um MPSoC podem possuir um número variável de tarefas, e que tal número pode exceder os recursos disponíveis, é necessário realizar o mapeamento de tarefas em tempo de execução, mapeamento este denominado de mapeamento dinâmico. O presente trabalho investiga o desempenho de heurísticas para mapeamento dinâmico de tarefas, com o objetivo de minimizar congestionamentos em NoCs. As tarefas são mapeadas sob demanda, de acordo com as requisições de comunicação e com a ocupação dos canais da NoC. Os algoritmos implementados aplicam estratégias gulosas, onde as tarefas são mapeadas uma por vez. Para isso, a decisão é baseada na informação local da aplicação, apenas relacionada à tarefa requisitada. O algoritmo utilizado como referência nos experimentos mapeia uma dada tarefa no primeiro recurso livre encontrado. Quatro heurísticas congestion-aware são propostas. Através de experimentos realizados com base na modelagem do sistema no nível RTL, pode-se observar redução de 31% na carga nos canais da NoC, de 15% na latência média, e de até 87% no nível médio de congestionamento. Tais resultados demonstram a eficiência das heurísticas propostas.", publisher = {Pontifícia Universidade Católica do Rio Grande do Sul}, scholl = {Programa de Pós-Graduação em Ciência da Computação}, note = {Faculdade de Informáca} }