Summary: | Made available in DSpace on 2015-09-19T02:04:34Z (GMT). No. of bitstreams: 1
000475052-Texto+Completo-0.pdf: 8325686 bytes, checksum: 5d74943dc9ee311c90eb182fb022e539 (MD5)
Previous issue date: 2015 === MPSoCs with hundreds of cores are already available in the market. According to the ITRS roadmap, such systems will integrate thousands of cores by the end of the decade. The definition of where each task will execute in the system is a major issue in the MPSoC design. In the literature, this issue is defined as task mapping. The growth in the number of cores increases the complexity of the task mapping. The main concerns in task mapping in large systems include: (i) scalability; (ii) dynamic workload; and (iii) reliability. It is necessary to distribute the mapping decision across the system to ensure scalability. The workload of emerging large MPSoCs may be dynamic, i. e., new applications may start at any moment, leading to different mapping scenarios. Therefore, it is necessary to execute the mapping process at runtime to support a dynamic workload. Reliability is tightly connected to the system workload distribution. Load imbalance may generate hotspots zones and consequently thermal implications, which may result in unreliable system operation. In large scale MPSoCs, reliability issues get worse since the growing number of cores on the same die increases power densities and, consequently, the system temperature. The literature presents different task mapping techniques to improve system reliability. However, such approaches use a centralized mapping approach, which are not scalable. To address these three challenges, the main goal of this Thesis is to propose and evaluate distributed mapping heuristics, executed at runtime, ensuring scalability and a fair workload distribution. Distributing the workload and the traffic inside the NoC increases the system reliability in long-term, due to the minimization of hotspot regions. To enable the design space exploration of large MPSoCs the first contribution of the Thesis lies in a multi-level modeling framework, which supports different models and debugging capabilities that enrich and facilitate the design of MPSoCs. The simulation of lower level models (e. g. RTL) generates performance parameters used to calibrate abstract models (e. g. untimed models). The abstract models pave the way to explore mapping heuristics in large systems. Most mapping techniques focus on optimizing communication volume in the NoC, which may compromise reliability due to overload processors. On the other hand, a heuristic optimizing only the workload distribution may overload NoC links, compromising its reliability. The second significant contribution of the Thesis is the proposition of dynamic and distributed mapping heuristics, making a tradeoff between communication volume (NoC links) and workload distribution (CPU usage). Results related to execution time, communication volume, energy consumption, power traces and temperature distribution in large MPSoCs (144 processors) confirm the tradeoff hypothesis. Trading off workload and communication volume improves system reliably through the reduction of hotspots regions, without compromising system performance. === 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.
|