Dissertação

{pt_PT=Implementation of OpenMP on Application-Specific Architectures} {} EVALUATED

{pt=Actualmente, os sistemas embebidos heterogéneos estão presentes em qualquer lugar e as suas capacidades de processamento são cada vez maiores. Visto o desenvolvimento de programas paralelos para este tipo de sistemas ser difícil e requerer demasiado tempo, essas capacidades de processamento nem sempre são aproveitadas da melhor forma. Em sistemas ditos general purpose já existem ferramentas bastante fiáveis, como é o caso do OpenMP, que ultrapassam este problema, automatizando o processo de paralelização de um programa. Nesta tese é proposto um modelo que suporta OpenMP em arquitecturas embebidas heterogéneas. Nesta área existe pouco trabalho feito, sendo que o trabalho disponível actualmente está mais relacionado com arquitecturas distribuídas. O modelo desenvolvido passa pela geração do código paralelo em binários independentes (gerado conforme o conjunto de instruções suportado pelo sistema embebido), um por região paralela, que são copiados para as memórias das unidades de processamento para que possam ser executados. Todo o trabalho de gestão de recursos é feito por um sistema general purpose, onde os programas OpenMP são lançados. Aí, uma tarefa começa a executar os programas de forma sequencial até que uma região paralela seja alcançada. As maiores características alcançadas pelo modelo desenvolvido prendem-se com a sua elevada portabilidade. A escalabilidade e performance do modelo também são característas, apesar de estarem dependentes da arquitectura do sistema embebido., en=Currently, the heterogeneous embedded systems are available in any place and their processing capacities are increasing. This processing capacity is result of the constant development of the computational world where we all live in. Since the development of parallel programs for these systems is difficult and require too much time, these capacities are, generally, not properly used. For general purpose systems, like the computer we have at home, there are reliable tools, like OpenMP, that overcome these problems by automating the parallelization process of a given code. For this thesis it is purposed a model that supports OpenMP for heterogenous embedded architectures. In this area, there is few work done, being most of it related to distributed architectures. The developed model generates the parallel code in independent binary files (generated depending on the Instruction Set supported by the embedded system), one per parallel region, that are copied to the private memories of each processing unit so that they could be executed. All the management work is done by a general purpose system, where every OpenMP program is started. A thread starts executing sequentially there until a parallel region is reached. The major characteristics of the developed model relate mostly to its high portability. The scalability and performance of the model are also high, but they are restricted by the hardware architecture of the embedded system. }
{pt=OpenMP, Sistemas Embebidos Heterogéneos, Paralelização, en=OpenMP, Heterogeneous embedded systems, Parallelization}

novembro 12, 2014, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

CO-ORIENTADOR

Nuno Filipe Valentim Roma

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Auxiliar

ORIENTADOR

David Manuel Martins de Matos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar