@MASTERSTHESIS{ 2013:567273982, title = {Gerência distribuída de recursos em MPSoCs : mapeamento e migração de tarefas}, year = {2013}, url = "http://tede2.pucrs.br/tede2/handle/tede/5208", abstract = "O projeto de MPSoCs é uma clara tendência na indústria de semicondutores. Os MPSoCs são capazes de executar várias aplicações em paralelo, suportando carga dinâmica de trabalho, ou seja, aplicações podem iniciar a qualquer momento. Outra característica importante em MPSoCs é QoS (qualidade de serviço), pois aplicações multimídia e de telecomunicações possuem requisitos estritos de desempenho, os quais devem ser respeitados pelo sistema. O crescimento constante do número de núcleos em MPSoCs implica em uma questão importante: escalabilidade. Apesar da escalabilidade oferecida por NoCs, e o processamento distribuído permitindo a execução de carga dinâmica de trabalho, os recursos dos MPSoCs devem ser gerenciados para proporcionar o desempenho esperado. Tarefas de gerenciamento incluem acesso de entrada/saída a dispositivos externos ao MPSoC, mapeamento de tarefas, migração de tarefas, monitoramento, DVFS, dentre outras. Um único elemento de processamento (PE), responsável pela gerência dos recursos pode se tornar um gargalo no desempenho do sistema, já que este PE vai servir a todos os PEs do sistema, aumentando sua carga de trabalho e criando regiões com congestionamento de tráfego (hot-spots). Uma alternativa para garantir escalabilidade é descentralizar ou distribuir as funções de gerenciamento do sistema. Duas abordagens principais de gerência são discutidas na literatura: um gerente por aplicação, ou um gerente por região do MPSoC. A segunda abordagem é preferível, já que o número de recursos utilizados no gerenciamento permanece constante, independentemente do número de aplicações em execução na MPSoC. As regiões são definidas como clusters. Todas as tarefas das aplicações são executadas em um cluster, se possível. Em relação ao tamanho do cluster, ele pode ter seu tamanho modificável em tempo de execução para permitir o mapeamento de aplicações com um número de tarefas maior do que seus recursos disponíveis. Este trabalho propõe uma gerência distribuída de recursos em MPSoCs, utilizando um método de clusterização, permitindo que o tamanho do cluster seja modificado dinamicamente. Esse sistema inicializa cada cluster com um tamanho fixo, e durante a execução das aplicações, os clusters podem requerer recursos a seus clusters vizinhos para mapear tarefas. Os testes foram executados utilizando a plataforma HeMPS, e foram comparados o desempenho do método de gerência centralizado contra o método de gerência distribuído. Os resultados mostram uma importante redução no tempo total de execução das aplicações e no número de hops entre as tarefas (menor energia de comunicação) utilizando o método de gerência distribuída. Os resultados também avaliam o método de reclusterização, utilizando monitoração de desempenho e migração de tarefas.", 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} }