A self-tuning scientific framework using model-driven engineering for heterogeneous execution platforms
Abstract
This article presents an ongoing work towards the extension of Sm@rtConfig - A dynamic scheduling tool with self-tuning load-balancing functionalities targeting CPUs, GPUs, and other co-processors. This extension is based on the introduction of a high-level modeling phase for scientific applications. These applications are commonly complex, use (heterogeneous) high performance execution platforms, and require stakeholders of several disciplines. This way, it is important to raise abstraction level in earlier stages of development in order to deal with such complexities in an efficient way. By using Model-Driven Engineering, we propose an approach to transform Sm@rtConfig into a scientific framework comprising requirements engineering up to code generation for the target Processing Unit in which a task is scheduled at runtime. We advocate that our envisioned methodology facilitates not just cross-stakeholders development, but also replication of experimentations by the research community.