Repositório Institucional da UFPI

ArachNoc: Um processador manycore com nós de processamento multicore suportando o modelo de programação IPNoSys

DSpace/Manakin Repository

Show simple item record

dc.contributor.author LUZ, Laysson Oliveira
dc.date.accessioned 2017-06-07T13:14:44Z
dc.date.available 2017-06-07T13:14:44Z
dc.date.issued 2017-06-07
dc.identifier.uri http://hdl.handle.net/123456789/598
dc.description Orientador: Prof. Dr. Ivan Saraiva Silva. Coorientador: Prof. Dr. Gustavo Girão Barreto da Silva. Examinador interno: Prof. Dr. Kelson Rômulo Teixeira Aires. Examinador externo: Prof. Dr. Gustavo Girão Barreto da Silva. pt_BR
dc.description.abstract RESUMO: Multiprocessadores são arquiteturas com mais de um núcleo de processamento que exploram o paralelismo para fornecer maior desempenho. Eles têm sido pesquisados e implementados na construção de computadores de alto desempenho (em inglês, HPC - High Perfomance Computers). Com muitos núcleos de processamento, a comunicação entre os mesmos é fator crucial para obtenção de alto desempenho. É com base nela que são determinadas a velocidade de processamento, o consumo de energia, o espaço em chip e a escalabilidade. A fim de reduzir a latência na comunicação e aproximar processadores e memórias, pesquisadores têm investido na conexão das unidades de processamento por meio de redes em chip (em inglês, NoC), os chamados MP-SoCs (Multiprocessor Systems-on-Chip). Este trabalho apresenta um MP-SoC com um sistema de comunicação e sincronização entre processos que tem por base o padrão de paralelismo Fork-Join. Tal arquitetura, chamada ArachNoc, é composta por nós multicore de processamento. Esses nós possuem oito núcleos de processamento cuja microarquitetura é baseada na ISA MIPS, e conferem suporte à programação paralela por meio da inserção das instruções de sincronização. Para a validação e avaliação de desempenho do sistema proposto, foram desenvolvidas aplicações paralelas. Para a produção destas aplicações foram utilizadas a linguagem C de programação e a biblioteca OpenCL, e para gerar os códigos binários foram desenvolvidos dois compiladores cruzados (do inglês, cross-compiler ): um compilador GNU GCC to ArachNoc e outro LLVM to ArachNoc. O benchmark desenvolvido conta com aplicações dos mais diversos níveis de avaliação de desempenho, desde aplicações para apenas validar o sistema em chip, até aplicações para exaurí-lo, isto é, extrair o desempenho máximo do sistema. Algumas delas são: Multiplicação de Matrizes (com diferentes formas de paralelismo), Dijkstra, Algoritmos Genéticos Simples e Algoritmos para processamento de imagens, como o Filtro Laplaciano. Os resultados mostraram que ArachNoC é capaz de executar eficientemente aplicações MIMD e SIMD(OpenCL). Além disso, alguns resultados provaram a flexibilidade do sistema para executar aplicações diferentes ao mesmo tempo, com três diferentes modelos de programação paralela. ABSTRACT: Multiprocessors are architectures with more than one processing core that exploit paral-lelism to provide higher performance. They have been researched and implemented in the construction of high-performance computers (HPC). With many processing cores, the communication between them is crucial to obtain high performance. That is the base to determine the processing speed, the power consumption, the space in chip and the scalability. In order to reduce the communication latency and approach processors and memories, researchers have invested in the connection of the processing units throught networks on chip (NoC), so-called MP-SoCs (Multiprocessor Systems-on-Chip). This paper presents a MP-SoC with a system of communication and synchronization between processes that have as base the Fork-Join parallel pattern. This architecture, so-called ArachNoc, is made up by multicore processing nodes. That nodes have eight processing cores whose microarchitecture is based on the MIPS’s ISA, and garantee support to parallel programming by the insertion of synchronization instructions. For the validation and performance evaluation of the proposed system were developed parallel applications. For the production of these applications were used the C programming language and the OpenCL library, and to generate the binary codes were developed two cross-compilers: one compiler GNU GCC to ArachNoc and other LLVM to ArachNoc. The benchmark developed have applications for differents levels of performance evaluation, from applications to just validate the system on chip, until applications to doplete it, this is, take out the system maximum performance. Some of them are: Matrix Multiplication (with differents ways to parallelize), Dijkstra, Genetic Algorithms and Algorithms to image processing, like the laplacian filter. The results show that ArachNoC can eficiently run MIMD and SIMD(OpenCL) applications. Besides that, some results asset the system flexibility to execute different applications at the same time, with three different parallel programming models. pt_BR
dc.language.iso other pt_BR
dc.subject Rede em chip pt_BR
dc.subject Sistema em chip pt_BR
dc.subject Sistema em chip multiprocessado pt_BR
dc.subject Programação Paralela pt_BR
dc.subject Network-on-chip pt_BR
dc.subject System-on-chip pt_BR
dc.subject Multiprocessor system-on-chip pt_BR
dc.subject Parallel programming pt_BR
dc.title ArachNoc: Um processador manycore com nós de processamento multicore suportando o modelo de programação IPNoSys pt_BR
dc.type Preprint pt_BR


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse

My Account