TY - GEN
T1 - Adaptive OpenMP task scheduling using runtime APIs and machine learning
AU - Qawasmeh, Ahmad
AU - Malik, Abid M.
AU - Chapman, Barbara M.
N1 - Publisher Copyright: © 2015 IEEE.
PY - 2016/3/2
Y1 - 2016/3/2
N2 - Task-based programming models adopt different scheduling strategies to exploit parallelism in irregular applications. These scheduling strategies differ in terms of exploiting data locality, maintaining load balance, and minimizing overhead. OpenMP tasks allow programmers to express unstructured parallelism at a high level of abstraction and make the runtime responsible about the burden of scheduling parallel execution. For irregular applications, the performance of task scheduling cannot often be predicted due to the nature of application, the used compiler, and the platform/architecture dependencies. In this work, we introduce an automatic, portable, and adaptive runtime feedback-driven framework (APARF) that combines standard low-level tasking runtime APIs, a developed profiling tool, and a hybrid machine learning model. We employ APARF to select the optimum task scheduling scheme of any given application using similarity analysis through the correlation between the captured runtime APIs with low profiling costs. Our hybrid model predicts the best scheduling strategy for a variety of unseen applications with an average accuracy of 93%, while maintaining a 100% training accuracy. An average performance enhancement of 25% was obtained compared with the default configuration, when APARF was applied on different unseen programs. APARF was examined against a real application (Molecular Dynamics), where we achieved up to 31% performance improvement. Compared to Intel, PGI and GNU compilers, our predicted scheme achieved better performance in most cases.
AB - Task-based programming models adopt different scheduling strategies to exploit parallelism in irregular applications. These scheduling strategies differ in terms of exploiting data locality, maintaining load balance, and minimizing overhead. OpenMP tasks allow programmers to express unstructured parallelism at a high level of abstraction and make the runtime responsible about the burden of scheduling parallel execution. For irregular applications, the performance of task scheduling cannot often be predicted due to the nature of application, the used compiler, and the platform/architecture dependencies. In this work, we introduce an automatic, portable, and adaptive runtime feedback-driven framework (APARF) that combines standard low-level tasking runtime APIs, a developed profiling tool, and a hybrid machine learning model. We employ APARF to select the optimum task scheduling scheme of any given application using similarity analysis through the correlation between the captured runtime APIs with low profiling costs. Our hybrid model predicts the best scheduling strategy for a variety of unseen applications with an average accuracy of 93%, while maintaining a 100% training accuracy. An average performance enhancement of 25% was obtained compared with the default configuration, when APARF was applied on different unseen programs. APARF was examined against a real application (Molecular Dynamics), where we achieved up to 31% performance improvement. Compared to Intel, PGI and GNU compilers, our predicted scheme achieved better performance in most cases.
KW - Adaptive scheduling
KW - Collector APIs
KW - Machine learning
KW - OMPT
KW - OpenMP tasks
KW - Similarity analysis
UR - https://www.scopus.com/pages/publications/84969699665
U2 - 10.1109/ICMLA.2015.111
DO - 10.1109/ICMLA.2015.111
M3 - Conference contribution
T3 - Proceedings - 2015 IEEE 14th International Conference on Machine Learning and Applications, ICMLA 2015
SP - 889
EP - 895
BT - Proceedings - 2015 IEEE 14th International Conference on Machine Learning and Applications, ICMLA 2015
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - IEEE 14th International Conference on Machine Learning and Applications, ICMLA 2015
Y2 - 9 December 2015 through 11 December 2015
ER -