Use este identificador para citar ou linkar para este item:
https://repositorio.unipampa.edu.br/jspui/handle/riu/3329
Tipo: | Trabalho de Conclusão de Curso |
Título: | Investigando Heurísticas de Mapeamento de Tarefas sobre a Plataforma HeMPS |
Autor(es): | Vidal, Ezequiel Luís |
Primeiro Orientador: | Mello, Aline Vieira de |
Coorientador: | Carvalho, Ewerson L. de Souza |
Resumo: | Um MPSoC é um sistema integrado em um único chip (SoC), composto por vários elementos de processamento, permitindo assim a execução de múltiplas tarefas em paralelo. Eles são tendência no projeto de circuitos, pois permitem minimizar a crise de produtividade de projeto, representada pela lacuna entre a capacidade da tecnologia do silício e a capacidade atual de projeto de SoCs. Cita-se como exemplos de MPSoCs o TILEGx72 e o Kilo-Core, compostos respectivamente por 72 e 1000 núcleos de processamento. Diante desta quantidade abundante de núcleos, estratégias de alocação de recursos eficientes precisam ser desenvolvidas. O mapeamento de tarefas é responsável por atribuir elementos de processamento do MPSoC para cada uma das tarefas de uma dada aplicação. O mapeamento estático é concebido em tempo de projeto, e por isso não pode lidar com cargas de trabalho dinâmicas. Já o mapeamento dinâmico consegue lidar com novas tarefas ou aplicações inseridas no MPSoC em tempo de execução. No entanto, essa estratégia exige o emprego de heurísticas simples e rápidas. Este trabalho investiga o desempenho de heurísticas para mapeamento dinâmico de tarefas. Para atingir este objetivo, primeiramente foi realizada uma pesquisa sobre MPSoCs, e a partir dela foram discutidos os modelos de sistemas encontrados bem como plataformas que simulam estes sistemas. A HeMPS foi selecionada como plataforma alvo deste trabalho. Em seguida, foram investigadas heurísticas de mapeamento de tarefas e as heurísticas First Free, Nearest Neighbor, Path Load e Best Neighbor foram selecionadas para implementação na plataforma de simulação. Após esta etapa, foram realizadas simulações de casos de teste com aplicações executando na plataforma. O desempenho e a ocupação dos canais de comunicação da HeMPS foram utilizados como métricas para comparar os resultados das heurísticas. Os resultados das simulações evidenciaram a vocação das heurísticas Path Load e Best Neighbor em controlar os congestionamentos nos canais de comunicação, tendo a heurística Best Neighbor apresentado a menor média de ocupação dos canais de comunicação. Em relação ao desempenho, as heurísticas Path Load e Best Neighbor obtiveram tempo de mapeamento e simulação até 6,24% superiores as demais heurísticas, porque possuem algoritmos mais complexos em comparação as heurísticas First Free e Nearest Neighbor que não consideram a ocupação dos canais de comunicação. |
Abstract: | An MPSoC is an integrated system on a single chip (SoC), composed of multiple processing elements, allowing the execution of multiple tasks in parallel. They are trend in circuit design since allow to minimize the project productivity crisis, represented by the gap between the silicon technology capacity and the SoCs’ current design capacity. Examples of MPSoCs are TILE-Gx72 and Kilo-Core, composed respectively by 72 and 1000 processing cores. Faced with this abundant amount of cores, efficient resource allocation strategies need to be developed. Task Mapping is responsible by assigning the MPSoC’s Processing for each task of a given application. The Static mapping is performed at design time, so it can not handle dynamic workloads. On the other hand, the dynamic mapping strategies can handle new tasks or applications inserted in MPSoC at run time. However, this strategy requires the employment of simple and fast heuristics. The purpose of this paper is to investigate the performance of heuristics for dynamic task mapping. In order to reach this objective, a research was first carried out on MPSoCs, and from there the models of systems found as well as platforms that simulate these systems were discussed. HeMPS was selected as the target platform for this work. Next, task mapping heuristics were investigated and heuristics First Free, Nearest Neighbor, Path Load and Best Neighbor were selected for implementation in the simulation platform. After this step, we performed simulations of test cases with applications running on the platform. The performance and occupation of the HeMPS communication channels were used as metrics to compare the results of the heuristics. The results of the simulations evidenced the vocation of the Path Load and Best Neighbor heuristics in controlling congestion in the communication channels, with the Best Neighbor heuristic presented the lowest average occupation of the communication channels. Regarding the performance, the Path Load and Best Neighbor heuristics obtained mapping and simulation time up to 6.24% higher than the other heuristics, because they have more complex algorithms in comparison to the First Free and Nearest Neighbor heuristics that do not consider the occupation of communication channels. |
Palavras-chave: | Ciência da computação Multiprocessamento Heurística Computer science Multiprocessing Heuristic SoC MPSoC |
CNPq: | CNPQ::CIENCIAS EXATAS E DA TERRA |
Idioma: | por |
País: | Brasil |
Editor: | Universidade Federal do Pampa |
Sigla da Instituição: | UNIPAMPA |
Campus: | Campus Alegrete |
Citação: | VIDAL, Ezequiel Luís. Investigando Heurísticas de Mapeamento de Tarefas sobre a Plataforma HeMPS. 79 p. 2018. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2018. |
Tipo de Acesso: | Acesso Aberto |
URI: | http://dspace.unipampa.edu.br:8080/jspui/handle/riu/3329 |
Data do documento: | 28-Jun-2018 |
Aparece nas coleções: | Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Ezequiel Luís Vidal 2018.pdf | 3.33 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.