Reducing Global Schedulers Complexity through Runtime System Decoupling - Santana, Alexandre; Freitas, Vinicius; Castro, Márcio; Pilla, Laércio Lima; Méhaut, Jean-François (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2018: Anais do XIX Simpósio em Sistemas Computacionais de Alto Desempenho, 2018)
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.