Parallel programs increasingly execute in highly dynamic environments where mapping program parallelism to dynamically varying system resources is challenging. Traditional offline compiler approaches exploit program knowledge but ignore the runtime environment. Online runtime approaches dynamically adapt to resources but ignore program structure. Furthermore, there is no mechanism to detect and improve the efficiency of these approaches during program execution. This paper develops a new runtime mapping approach based on online change detection. It models runtime scheduling of threads as a Markov Decision Process and exploits an offline trained model to predict the best thread mapping based on both code and environment features. It then develops a novel approach where the accuracy of an environment predictor is used as a measure of the model quality, adjusting thread mapping over time. On evaluating our scheme with varying external workloads and hardware availability, we achieve an average speedup improvement of 2.14x over the default OpenMP policy, 1.58x over an online approach and 1.32x over a state-of-the-art offline trained model.
CITATION STYLE
Emani, M. K., & O’Boyle, M. (2015). Change detection based parallelism mapping: Exploiting offline models and online adaptation. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8967, pp. 208–223). Springer Verlag. https://doi.org/10.1007/978-3-319-17473-0_14
Mendeley helps you to discover research relevant for your work.