A Proposal to OpenMP for Addressing the CPU Oversubscription Challenge

作者: Yonghong Yan , Jeff R. Hammond , Chunhua Liao , Alexandre E. Eichenberger

DOI: 10.1007/978-3-319-45550-1_14

关键词: Parallel computingRuntime systemUse caseImplementationThread (computing)Thread poolProgramming paradigmCentral processing unitOperating systemInteroperabilityComputer science

摘要: OpenMP has become a successful programming model for developing multi-threaded applications. However, there are still some challenges in terms of OpenMP’s interoperability within itself and with other parallel APIs. In this paper, we explore typical use cases that expose report our proposed solutions addressing the resource oversubscription issue as efforts by Interoperability language subcommittee. The include runtime routines changing wait policies, which ACTIVE(SPIN_BUSY or SPIN_PAUSE), PASSIVE (SPIN_YIELD SUSPEND), idling threads improved management, supporting contributing to thread libraries tasks. Our initial implementations being done extending two libraries, Intel (IOMP) GNU (GOMP). evaluation results demonstrate effectiveness approach address CPU challenge detailed analysis provide heuristics selecting an optimal policy according ratios.

参考文章(10)
Chuck Pheatt, Intel® threading building blocks Journal of Computing Sciences in Colleges. ,vol. 23, pp. 298- 298 ,(2008)
Endong Wang, Qing Zhang, Bo Shen, Guangyong Zhang, Xiaowei Lu, Qing Wu, Yajuan Wang, Intel Math Kernel Library Springer, Cham. pp. 167- 188 ,(2014) , 10.1007/978-3-319-06486-4_7
Marc Pérache, Hervé Jourdren, Raymond Namyst, MPC: A Unified Parallel Runtime for Clusters of NUMA Machines european conference on parallel processing. ,vol. 5168, pp. 78- 88 ,(2008) , 10.1007/978-3-540-85451-7_9
James Dinan, Pavan Balaji, David Goodell, Douglas Miller, Marc Snir, Rajeev Thakur, Enabling MPI interoperability through flexible communication endpoints Proceedings of the 20th European MPI Users' Group Meeting on - EuroMPI '13. pp. 13- 18 ,(2013) , 10.1145/2488551.2488553
Tim Harris, Martin Maas, Virendra J. Marathe, Callisto: co-scheduling parallel runtime systems european conference on computer systems. pp. 24- ,(2014) , 10.1145/2592798.2592807
Adrian Prantl, Thomas G.W. Epperly, Shams Imam, Poster Proceedings of the 2011 companion on High Performance Computing Networking, Storage and Analysis Companion - SC '11 Companion. pp. 69- 70 ,(2011) , 10.1145/2148600.2148636
Andra Hugo, Abdou Guermouche, Pierre-André Wacrenier, Raymond Namyst, Composing multiple StarPU applications over heterogeneous machines: A supervised approach ieee international conference on high performance computing data and analytics. ,vol. 28, pp. 285- 300 ,(2014) , 10.1177/1094342014527575
Krste Asanović, Benjamin Hindman, Heidi Pan, Lithe: enabling efficient composition of parallel libraries usenix conference on hot topics in parallelism. pp. 11- 11 ,(2009)
Sanjay Chatterjee, Sagnak Tasirlar, Zoran Budimlic, Vincent Cave, Milind Chabbi, Max Grossman, Vivek Sarkar, Yonghong Yan, Integrating Asynchronous Task Parallelism with MPI international parallel and distributed processing symposium. pp. 712- 725 ,(2013) , 10.1109/IPDPS.2013.78
Xinmin Tian, M. Girkar, S. Shah, D. Armstrong, E. Su, P. Petersen, Compiler and runtime support for running OpenMP programs on Pentium- and Itanium-architectures high level parallel programming models and supportive environments. pp. 130- ,(2003) , 10.1109/HIPS.2003.1196494