Reducing Global Schedulers Complexity through Runtime System Decoupling

  • Alexandre Santana UFSC
  • Vinicius Freitas UFSC
  • Márcio Castro UFSC
  • Laércio Lima Pilla UFSC / Univ. Grenoble Alpes
  • Jean-François Méhaut Univ. Grenoble Alpes

Resumo


Global schedulers are components used in parallel solutions, specially in dynamic applications, to optimize resource usage. Nonetheless, their development is a cumbersome process due to necessary adaptations to cope with the programming interfaces and abstractions of runtime systems. This paper proposes a model to dissociate schedulers from runtime systems to lower software complexity. Our model is based on the scheduler breakdown into modular and reusable concepts that better express the scheduler requirements. Through the use of meta-programming and design patterns, we were able to achieve fully reusable workload-aware scheduling strategies with up to 63% fewer lines of code with negligible run time overhead.
Palavras-chave: Libraries, Software, Runtime, Data structures, Complexity theory, Dynamic scheduling, Adaptation models, Global Scheduling, Portability, Parallel Systems, Scheduler Model
Publicado
01/10/2018
SANTANA, Alexandre; FREITAS, Vinicius; CASTRO, Márcio; PILLA, Laércio Lima; MÉHAUT, Jean-François. Reducing Global Schedulers Complexity through Runtime System Decoupling. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 19. , 2018, São Paulo. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 38-44.