Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos
| Ano de defesa: | 2020 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| dARK ID: | ark:/26339/001300000x3bz |
| Idioma: | por |
| Instituição de defesa: |
Universidade Federal de Santa Maria
Brasil Ciência da Computação UFSM Programa de Pós-Graduação em Ciência da Computação Centro de Tecnologia |
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | http://repositorio.ufsm.br/handle/1/22265 |
Resumo: | 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. |
| id |
UFSM_03ea07707ec9ecf9f20f83ae9013a129 |
|---|---|
| oai_identifier_str |
oai:repositorio.ufsm.br:1/22265 |
| network_acronym_str |
UFSM |
| network_name_str |
Manancial - Repositório Digital da UFSM |
| repository_id_str |
|
| spelling |
Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricosAn adaptive scheduler for parallel loops on asymmetric multicore processorsAlgoritmos adaptativosEscalonadoresLaços paralelosProcessadores multinúcleo assimétricosComputação paralelaComputação heterogêneaComputação de alto desempenhoRoubo de trabalhoIntel TBBOpenMPAdaptive algorithmsSchedulersParallel loopsAsymmetric multicore processorsParallel computingHeterogeneous computingHigh performance computingWork stealingCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOThe 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.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.Universidade Federal de Santa MariaBrasilCiência da ComputaçãoUFSMPrograma de Pós-Graduação em Ciência da ComputaçãoCentro de TecnologiaLima, João Vicente Ferreirahttp://lattes.cnpq.br/6266546896929217Charão, Andrea SchwertnerQueiroz, Leonardo Fialho deTrindade, Rafael Gauna2021-09-22T19:36:12Z2021-09-22T19:36:12Z2020-03-30info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://repositorio.ufsm.br/handle/1/22265ark:/26339/001300000x3bzporAttribution-NonCommercial-NoDerivatives 4.0 Internationalinfo:eu-repo/semantics/openAccessreponame:Manancial - Repositório Digital da UFSMinstname:Universidade Federal de Santa Maria (UFSM)instacron:UFSM2021-09-23T06:00:54Zoai:repositorio.ufsm.br:1/22265Biblioteca Digital de Teses e Dissertaçõeshttps://repositorio.ufsm.br/PUBhttps://repositorio.ufsm.br/oai/requestatendimento.sib@ufsm.br||tedebc@gmail.com||manancial@ufsm.bropendoar:2021-09-23T06:00:54Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)false |
| dc.title.none.fl_str_mv |
Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos An adaptive scheduler for parallel loops on asymmetric multicore processors |
| title |
Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos |
| spellingShingle |
Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos Trindade, Rafael Gauna Algoritmos adaptativos Escalonadores Laços paralelos Processadores multinúcleo assimétricos Computação paralela Computação heterogênea Computação de alto desempenho Roubo de trabalho Intel TBB OpenMP Adaptive algorithms Schedulers Parallel loops Asymmetric multicore processors Parallel computing Heterogeneous computing High performance computing Work stealing CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| title_short |
Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos |
| title_full |
Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos |
| title_fullStr |
Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos |
| title_full_unstemmed |
Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos |
| title_sort |
Escalonador adaptativo para laços paralelos em processadores multinúcleo assimétricos |
| author |
Trindade, Rafael Gauna |
| author_facet |
Trindade, Rafael Gauna |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Lima, João Vicente Ferreira http://lattes.cnpq.br/6266546896929217 Charão, Andrea Schwertner Queiroz, Leonardo Fialho de |
| dc.contributor.author.fl_str_mv |
Trindade, Rafael Gauna |
| dc.subject.por.fl_str_mv |
Algoritmos adaptativos Escalonadores Laços paralelos Processadores multinúcleo assimétricos Computação paralela Computação heterogênea Computação de alto desempenho Roubo de trabalho Intel TBB OpenMP Adaptive algorithms Schedulers Parallel loops Asymmetric multicore processors Parallel computing Heterogeneous computing High performance computing Work stealing CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| topic |
Algoritmos adaptativos Escalonadores Laços paralelos Processadores multinúcleo assimétricos Computação paralela Computação heterogênea Computação de alto desempenho Roubo de trabalho Intel TBB OpenMP Adaptive algorithms Schedulers Parallel loops Asymmetric multicore processors Parallel computing Heterogeneous computing High performance computing Work stealing CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| description |
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. |
| publishDate |
2020 |
| dc.date.none.fl_str_mv |
2020-03-30 2021-09-22T19:36:12Z 2021-09-22T19:36:12Z |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
http://repositorio.ufsm.br/handle/1/22265 |
| dc.identifier.dark.fl_str_mv |
ark:/26339/001300000x3bz |
| url |
http://repositorio.ufsm.br/handle/1/22265 |
| identifier_str_mv |
ark:/26339/001300000x3bz |
| dc.language.iso.fl_str_mv |
por |
| language |
por |
| dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 International info:eu-repo/semantics/openAccess |
| rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 International |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
Universidade Federal de Santa Maria Brasil Ciência da Computação UFSM Programa de Pós-Graduação em Ciência da Computação Centro de Tecnologia |
| publisher.none.fl_str_mv |
Universidade Federal de Santa Maria Brasil Ciência da Computação UFSM Programa de Pós-Graduação em Ciência da Computação Centro de Tecnologia |
| dc.source.none.fl_str_mv |
reponame:Manancial - Repositório Digital da UFSM instname:Universidade Federal de Santa Maria (UFSM) instacron:UFSM |
| instname_str |
Universidade Federal de Santa Maria (UFSM) |
| instacron_str |
UFSM |
| institution |
UFSM |
| reponame_str |
Manancial - Repositório Digital da UFSM |
| collection |
Manancial - Repositório Digital da UFSM |
| repository.name.fl_str_mv |
Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM) |
| repository.mail.fl_str_mv |
atendimento.sib@ufsm.br||tedebc@gmail.com||manancial@ufsm.br |
| _version_ |
1847153459701219328 |