@PHDTHESIS{ 2015:159445659, title = {Exploration of runtime distributed mapping techniques for emerging large scale MPSoCs}, year = {2015}, url = "http://tede2.pucrs.br/tede2/handle/tede/6317", abstract = "MPSoCs com centenas de processadores já estão disponíveis no mercado. De acordo com o ITRS, tais sistemas integrarão milhares de processadores até o final da década. A definição de onde cada tarefa será executada no sistema é um desafio importante na concepção de MPSoCs. Na literatura, tal desafio é definido como mapeamento de tarefas. O aumento do número de processadores aumenta a complexidade do mapeamento de tarefas. As principais preocupações em mapeamento de tarefas em grandes sistemas incluem: (i) escalabilidade; (ii) carga dinâmica de trabalho; e (iii) confiabilidade. É necessário distribuir a decisão do mapeamento pelo sistema para garantir escalabilidade. A carga de trabalho em MPSoCs pode ser dinâmica, ou seja, novas aplicações podem iniciar a execução a qualquer momento, levando a diferentes cenários de mapeamento. Portanto, é necessário executar o processo de mapeamento em tempo de execução para suportar uma carga de trabalho dinâmica. Confiabilidade é diretamente relacionada à distribuição da carga de trabalho no sistema. Desequilíbrio de carga pode gerar zonas de hotspots e implicações termais, que podem resultar em uma operação do sistema não confiável. Em MPSoCs de grande dimensão problemas de confiabilidade se agravam, uma vez que o crescente número de processadores no mesmo chip aumenta o consumo de energia e, consequentemente, a temperatura do sistema. A literatura apresenta diferentes técnicas de mapeamento de tarefas para melhorar a confiabilidade do sistema. No entanto, tais técnicas utilizam uma abordagem de mapeamento centralizado, a qual não é escalável. Em função destes três desafios, o principal objetivo desta Tese é propor e avaliar heurísticas de mapeamento distribuído, executadas em tempo de execução, garantindo escalabilidade e uma distribuição de carga de trabalho uniforme. Distribuir a carga de trabalho e o tráfego da NoC aumenta a confiabilidade do sistema no longo prazo, devido à minimização das regiões de hotspot. Para permitir a exploração do espaço de projeto em MPSoCs, a primeira contribuição desta Tese consiste em um ambiente de modelagem multi-nível, que suporta diferentes modelos e capacidades de depuração que enriquecem e facilitam o projeto de MPSoCs. A simulação de modelos de mais baixo nível (por exemplo, RTL) gera parâmetros de desempenho utilizados para calibrar modelos mais abstratos. Os modelos abstratos facilitam a exploração de heurísticas de mapeamento em grandes sistemas. A maioria das técnicas de mapeamento se concentram na otimização do volume comunicação na NoC, o que pode comprometer a confiabilidade, devido à sobrecarga de processadores. Por outro lado, uma heurística que visa a otimização apenas da distribuição de carga de trabalho pode sobrecarregar canais da NoC, comprometendo a sua confiabilidade. A segunda contribuição significativa desta Tese é a proposição de heurísticas de mapeamento dinâmico e distribuídos, fazendo um compromisso entre o volume de comunicação (canais da NoC) e distribuição de carga de trabalho (uso da CPU). Os resultados relacionados a tempo de execução, volume de comunicação, consumo de energia, distribuição de potência e temperatura em grandes MPSoCs (256 processadores) confirmam a hipótese deste compromisso. Fazer um compromisso entre carga de trabalho e volume de comunicação melhora a confiabilidade do sistema através da redução de regiões hotspots, sem comprometer o desempenho do sistema.", 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ática} }