dc.creator | Trindade, Rafael Gauna | |
dc.date.accessioned | 2021-09-22T19:36:12Z | |
dc.date.available | 2021-09-22T19:36:12Z | |
dc.date.issued | 2020-03-30 | |
dc.identifier.uri | http://repositorio.ufsm.br/handle/1/22265 | |
dc.description.abstract | The growing demand for computing power and energy efficiency in mobile computing has
triggered the development of heterogeneous processors with specialized cores for different
types of computational tasks, such as ARM big.LITTLE processors, which have different
cores that combine performance with low energy consumption. Such difference in the composition
of the cores in this kind of processors ends up inducing an asymmetry in the computational
performance of these systems, making complicated the task of predicting the
behavior of parallel applications in relation to performance when using all their cores. This
asymmetry can be detected in applications that use parallel loops, a parallel programming
feature that allows to divide the workload of an iterative routine between the cores present
in a processor. Parallel loop schedulers that are not designed to prevent loss of performance
in asymmetric multi-core processors (AMPs) can compromise the implementation
of software solutions designed for this type of architecture. This dissertation presents the
implementation proposal of a scheduler for parallel loops that uses an adaptive algorithm
to distribute the workload among the threads, aiming at a better extraction of performance
in AMPs. The scheduler uses of parallel work-stealing and lock-free as possible sequential
extraction of work to face other existing solutions. Its implementation was carried out in the
C ++ language, with the possibility of portability to the C language. In order to evaluate the
performance of the solution, an analysis was performed on the set of NAS benchmarks and
four distinct well-established scientific applications in related literature, over two real asymmetric
embedded environments, against two existing solutions (OpenMP and Intel TBB).
The analysis shows that the scheduler is able to extract more performance in certain cases
and is very close to the best solutions in most of the remaining cases, with greater scalability
potential in theory for cases where the scheduling overhead becomes an obstacle in
the other solutions. | eng |
dc.language | por | por |
dc.publisher | Universidade Federal de Santa Maria | por |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 International | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.subject | Algoritmos adaptativos | por |
dc.subject | Escalonadores | por |
dc.subject | Laços paralelos | por |
dc.subject | Processadores multinúcleo assimétricos | por |
dc.subject | Computação paralela | por |
dc.subject | Computação heterogênea | por |
dc.subject | Computação de alto desempenho | por |
dc.subject | Roubo de trabalho | por |
dc.subject | OpenMP | eng |
dc.subject | Intel TBB | por |
dc.subject | Adaptive algorithms | eng |
dc.subject | Schedulers | eng |
dc.subject | Parallel loops | eng |
dc.subject | Asymmetric multicore processors | eng |
dc.subject | Parallel computing | eng |
dc.subject | Heterogeneous computing | eng |
dc.subject | High performance computing | eng |
dc.subject | Work stealing | eng |
dc.title | Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos | por |
dc.title.alternative | An adaptive scheduler for parallel loops on asymmetric multicore processors | eng |
dc.type | Dissertação | por |
dc.description.resumo | A crescente demanda por potência computacional e eficiência energética em computação
móvel desencadeou o desenvolvimento de processadores heterogêneos com núcleos
especializados para diferentes tipos de tarefas computacionais, como processadores ARM
big.LITTLE, que tem núcleos distintos que aliam desempenho a baixo consumo energético.
Tal diferença na composição dos núcleos nesse tipo de processadores acaba induzindo
uma assimetria no desempenho computacional desses sistemas, tornando complicada a
tarefa de prever o comportamento de aplicações paralelas com relação a desempenho
quando usados todos os seus núcleos. Essa assimetria pode ser percebida em aplicações
que façam uso de laços paralelos, um recurso de programação paralela que permite dividir
a carga de trabalho de uma rotina iterativa entre os núcleos presentes em um processador.
Escalonadores de laços paralelos que não são projetados de modo a evitar a perda
de desempenho em processadores multinúcleo assimétricos (AMPs) podem comprometer
a implementação de soluções de software construídas para esse tipo de arquitetura.
Esta dissertação apresenta a proposta de implementação de um escalonador para laços
paralelos que utiliza um algoritmo adaptativo para distribuição da carga de trabalho entre
as threads, visando extrações de desempenho mais eficientes em AMPs. O escalonador
utiliza-se de roubo de trabalho paralelo e extração de trabalho sequencial o mais livre de
travas quanto for possível para fazer frente às demais soluções existentes. Sua implementação
foi realizada na linguagem C++, com possibilidade de portabilidade para a linguagem
C. Com a finalidade de avaliar o desempenho da solução, uma análise foi realizada sobre o
conjunto de benchmarks NAS e quatro aplicações científicas distintas bem consolidadas na
literatura relacionada, sobre dois ambientes assimétricos embarcados reais, contra duas
soluções existentes (OpenMP e Intel TBB). A análise mostra que o escalonador consegue
extrair mais desempenho em determinados casos e se aproxima muito das melhores soluções
na maioria dos casos restantes, com potencial de escalabilidade em teoria maior para
casos onde o sobrecusto de escalonamento se torna um empecilho nas demais soluções. | por |
dc.contributor.advisor1 | Lima, João Vicente Ferreira | |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/6266546896929217 | por |
dc.contributor.referee1 | Charão, Andrea Schwertner | |
dc.contributor.referee2 | Queiroz, Leonardo Fialho de | |
dc.creator.Lattes | http://lattes.cnpq.br/5002147023862451 | por |
dc.publisher.country | Brasil | por |
dc.publisher.department | Ciência da Computação | por |
dc.publisher.initials | UFSM | por |
dc.publisher.program | Programa de Pós-Graduação em Ciência da Computação | por |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | por |
dc.publisher.unidade | Centro de Tecnologia | por |