A design method for supporting the development and integration of ARTful global schedulers into multiple programming models

Detalhes bibliográficos
Autor(a) principal: Santana, Alexandre de Limas
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Institucional da UFSC
Texto Completo: https://repositorio.ufsc.br/handle/123456789/214520
Resumo: Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2019.
id UFSC_aae6d3c529d8e465af842b5a6d30271a
oai_identifier_str oai:repositorio.ufsc.br:123456789/214520
network_acronym_str UFSC
network_name_str Repositório Institucional da UFSC
repository_id_str 2373
spelling A design method for supporting the development and integration of ARTful global schedulers into multiple programming modelsComputaçãoEscalonamentoProgramação (Computadores)Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2019.Plataformas de execução em ambientes de alto desempenho estão tornando-se cada vez mais diversas com o desenvolvimento de novas arquiteturas e ferramentas para se beneficiar do paralelismo inerente das aplicações. Estas novas opções de ferramentas oferecem possibilidades de melhoria no desempenho de aplicações científicas e de engenharia. A crescente gama de plataformas torna mais complexa a distribuição das tarefas da aplicação no ambiente, passo que deve ser gerido pelos sistemas de execução e seus balanceadores de carga, de modo a não prejudicar a portabilidade da aplicação. No entanto, o desenvolvimento e implantação de novos escalonadores de tarefas em sistemas amplamente utilizados na indústria como OpenMP e MPI sofrem com a falta de suporte de frameworks. Este trabalho propõe uma biblioteca, MOGSLib, para auxiliar o desenvolvimento e implantação de escalonadores globais em diferentes sistemas de execução de alto desempenho. MOGSLib aplica abstrações reutilizáveis, independentes e testáveis na forma de classes template em C++ para representar as políticas de escalonamento, sua relação com o sistema de execução e a taxonomia da solução de escalonamento. Nós avaliamos o sobrecusto de nossas estratégias portáveis em comparação com suas versões nativas nos sistemas de execução em dois ambientes distintos, os sistemas Charm++ e OpenMP. Em nosso experimentos, conseguimos dar suporte à definição de estratégias de escalonamento do usuário e sua implantação como escalonadores de laço na LibGOMP e balanceadores de carga no Charm++ através da seleção de implementação das abstrações que os compõem. Nós verificamos que nossas versões dos escalonadores oferecem tempos de execução de aplicação equivalentes aos balanceadores nativos para a classe de escalonadores centralizados e cientes de carga aplicados em kernels de dinâmica molecular. Por fim, a flexibilidade de incorporar funcionalidades e políticas de escalonamento do usuário em sistemas de execução com modificações limitadas nos códigos de sistemas de execução mostra que é possível construir balanceadores de carga flexíveis com pouco sobrecusto até para ambientes de alto desempenho.Abstract: Execution platforms for high performance computing are becoming diverse as a result of new architectures and tools to benefit from the parallel behavior of applications. These new options showcase performance enhancing opportunities for scientific and engineering applications. The execution platform diversity and the mapping of an application's tasks must be implicitly handled by runtime systems and their global schedulers as to enable the application performance and implementation portability. However, the development and integration of novel global schedulers into industry standards systems like OpenMP and MPI lack framework support. This work proposes a library, MOGSLib, to support the development and integration of global schedulers into different high performance runtime systems. MOGSLib employs reusable, independent and testable abstractions represented as C++ template structures to express scheduling policies, their relationship to runtime systems and the scheduling solution taxonomy. This approach allows a bottom-up development process based on the incremental composition of abstractions through template specializations. We evaluate the overhead of employing our portable policies in comparison to their system-native counterparts in two environments, the Charm++ and OpenMP systems. Throughout our experiments we achieved development support for user-defined scheduling policies that can be implanted both as loop schedulers in LibGOMP and load balancers in Charm++ through the selection of abstraction implementations. We leveraged the overhead by employing workload-aware policies on molecular dynamics kernels which resulted in equivalent application makespan for both native and the MOGSLib scheduler versions. Ultimately, the flexibility to incorporate user-defined structures and scheduling policies into runtime systems with limited alterations into runtime system code bases hint that the definition of flexible global schedulers is available with neglible overheads even for high performance environments.Castro, Márcio BastosPilla, Laércio LimaUniversidade Federal de Santa CatarinaSantana, Alexandre de Limas2020-10-21T21:06:27Z2020-10-21T21:06:27Z2019info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis78 p.| il., gráfs., tabs.application/pdf368331https://repositorio.ufsc.br/handle/123456789/214520engreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccess2020-10-21T21:06:27Zoai:repositorio.ufsc.br:123456789/214520Repositório InstitucionalPUBhttp://150.162.242.35/oai/requestopendoar:23732020-10-21T21:06:27Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false
dc.title.none.fl_str_mv A design method for supporting the development and integration of ARTful global schedulers into multiple programming models
title A design method for supporting the development and integration of ARTful global schedulers into multiple programming models
spellingShingle A design method for supporting the development and integration of ARTful global schedulers into multiple programming models
Santana, Alexandre de Limas
Computação
Escalonamento
Programação (Computadores)
title_short A design method for supporting the development and integration of ARTful global schedulers into multiple programming models
title_full A design method for supporting the development and integration of ARTful global schedulers into multiple programming models
title_fullStr A design method for supporting the development and integration of ARTful global schedulers into multiple programming models
title_full_unstemmed A design method for supporting the development and integration of ARTful global schedulers into multiple programming models
title_sort A design method for supporting the development and integration of ARTful global schedulers into multiple programming models
author Santana, Alexandre de Limas
author_facet Santana, Alexandre de Limas
author_role author
dc.contributor.none.fl_str_mv Castro, Márcio Bastos
Pilla, Laércio Lima
Universidade Federal de Santa Catarina
dc.contributor.author.fl_str_mv Santana, Alexandre de Limas
dc.subject.por.fl_str_mv Computação
Escalonamento
Programação (Computadores)
topic Computação
Escalonamento
Programação (Computadores)
description Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2019.
publishDate 2019
dc.date.none.fl_str_mv 2019
2020-10-21T21:06:27Z
2020-10-21T21:06:27Z
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 368331
https://repositorio.ufsc.br/handle/123456789/214520
identifier_str_mv 368331
url https://repositorio.ufsc.br/handle/123456789/214520
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 78 p.| il., gráfs., tabs.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSC
instname:Universidade Federal de Santa Catarina (UFSC)
instacron:UFSC
instname_str Universidade Federal de Santa Catarina (UFSC)
instacron_str UFSC
institution UFSC
reponame_str Repositório Institucional da UFSC
collection Repositório Institucional da UFSC
repository.name.fl_str_mv Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)
repository.mail.fl_str_mv
_version_ 1808651966864162816