Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Ansel, J., Pacula, M., Wong, Y.L., Chan, C., Olszewski, M., O’Reilly, U.M., Amarasinghe, S.: Siblingrivalry: online autotuning through local competitions. In: CASES 2012 (2012)
Ansel, J., Wong, Y.L., Chan, C., Olszewski, M., Edelman, A., Amarasinghe, S.: Language and compiler support for auto-tuning variable-accuracy algorithms. In: CGO 2011 (2011)
Basseville, M., Nikiforov, I.V.: Detection of Abrupt Changes: Theory and Application. Prentice-Hall Inc., Upper Saddle River (1993)
Bitirgen, R., Ipek, E., Martinez, J.F.: Coordinated management of multiple interacting resources in chip multiprocessors: a machine learning approach. In: MICRO 2008 (2008)
Dey, T., Wang, W., Davidson, J.W., Soffa, M.L.: Resense: mapping dynamic workloads of colocated multithreaded applications using resource sensitivity. ACM TACO 10(4), 41 (2013)
Emani, M.K., Wang, Z., O’Boyle, M.F.P.: Smart, adaptive mapping of parallelism in the presence of external workload. In: CGO 2013 (2013)
Grewe, D., Wang, Z., O’Boyle, M.F.P.: A workload-aware mapping approach for data-parallel programs. In: HiPEAC 2011 (2011)
Hoffmann, H., Maggio, M., Santambrogio, M., Leva, A., Agarwal, A.: A generalized software framework for accurate and efficient management of performance goals. In: Embedded Software (EMSOFT) (2013)
Huh, W.T., Liu, N., Truong, V.A.: Multiresource allocation scheduling in dynamic environments. Manufact. Serv. Oper. Manage. 15, 280–291 (2013)
Ipek, E., Mutlu, O., Martínez, J.F., Caruana, R.: Self-optimizing memory controllers: a reinforcement learning approach. SIGARCH Comput. Arch. News 36, 39–50 (2008)
Li, D., de Supinski, B.R., Schulz, M., Nikolopoulos, D.S., Cameron, K.W.: Strategies for energy-efficient resource management of hybrid programming models. IEEE Trans. Parallel Distrib. Syst. 24, 144–157 (2013)
Liu, N., Ulukus, S.: Optimal distortion-power tradeoffs in sensor networks: Gauss-markov random processes. CoRR abs/cs/0604040 (2006)
Luk, C.K., Hong, S., Kim, H.: Qilin: exploiting parallelism on heterogeneous multiprocessors with adaptive mapping. In: MICRO 42 (2009)
Mars, J., Vachharajani, N., Hundt, R., Soffa, M.L.: Contention aware execution: online contention detection and response. In: CGO 2010 (2010)
Pusukuri, K.K., Vengerov, D., Fedorova, A., Kalogeraki, V.: Fact: a framework for adaptive contention-aware thread migrations. In: CF 2011 (2011)
Puterman, M.L.: Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley, New York (1994)
Raman, A., Zaks, A., Lee, J.W., August, D.I.: Parcae: a system for flexible parallel execution. In: PLDI 2012 (2012)
Sridharan, S., Gupta, G., Sohi, G.S.: Holistic runtime parallelism management for time and energy efficiency. In: ICS 2013 (2013)
Streit, K., Hammacher, C., Zeller, A., Hack, S.: Sambamba: a runtime system for online adaptive parallelization. In: O’Boyle, M. (ed.) CC 2012. LNCS, vol. 7210, pp. 240–243. Springer, Heidelberg (2012)
Voss, M.J., Eigenmann, R.: Adapt: automated de-coupled adaptive program transformation. In: ICPP 2000 (2000)
Acknowledgments
We thank Charles Sutton for helping formulate runtime loop scheduling as a Markov Decision Process.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Emani, M.K., O’Boyle, M. (2015). Change Detection Based Parallelism Mapping: Exploiting Offline Models and Online Adaptation. In: Brodman, J., Tu, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2014. Lecture Notes in Computer Science(), vol 8967. Springer, Cham. https://doi.org/10.1007/978-3-319-17473-0_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-17473-0_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-17472-3
Online ISBN: 978-3-319-17473-0
eBook Packages: Computer ScienceComputer Science (R0)