Abstract
Since today’s clusters consist of nodes with multicore processors, modern parallel applications should be able to deal with shared and distributed memory simultaneously. In this paper, we present a novel hybrid work stealing scheme for the APGAS library for Java, which is a branch of the X10 project. Our scheme extends the library’s runtime system, which traditionally performs intra-node work stealing with the Java Fork/Join framework. We add an inter-node work stealing scheme that is inspired by lifeline-based global load balancing. The extended functionality can be accessed from the APGAS library with new constructs. Most important, locality-flexible tasks can be submitted with asyncAny, and are then automatically scheduled over both nodes and cores. In experiments with up to 144 workers on up to 12 nodes, our system achieved near linear speedups for three benchmarks.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Diaz, J., Munoz-Caro, C., Nino, A.: A survey of parallel programming models and tools in the multi and many-core era. IEEE Trans. Parallel Distrib. Syst. 23(8), 1369–1386 (2012)
Freeman, L.C.: A set of measures of centrality based on betweenness. Sociometry 40(1), 35 (1977)
Grama, A., Karypis, G., Kumar, V.: Introduction to Parallel Computing. Addison-Wesley, Boston (2003)
Guo, Y., Zhao, J., Cave, V., Sarkar, V.: SLAW: a scalable locality-aware adaptive work-stealing scheduler for multi-core systems. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming - PPoPP 2010. ACM Press (2010)
IBM: Core implementation of X10 programming language including compiler, runtime, class libraries, sample programs and test suite (2017). https://github.com/x10-lang/x10
IBM: The APGAS library for fault-tolerant distributed programming in Java 8 (2017). https://github.com/x10-lang/apgas
Kumar, V., Murthy, K., Sarkar, V., Zheng, Y.: Optimized distributed work-stealing. In: Proceedings of the Sixth Workshop on Irregular Applications: Architectures and Algorithms, IA3 2016, pp. 74–77. IEEE Press (2016)
Olivier, S., Huan, J., Liu, J., Prins, J., Dinan, J., Sadayappan, P., Tseng, C.-W.: UTS: an unbalanced tree search benchmark. In: Almási, G., Caşcaval, C., Wu, P. (eds.) LCPC 2006. LNCS, vol. 4382, pp. 235–250. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-72521-3_18
Oracle: Class ForkJoinPool (2017). http://download.java.net/java/jdk9/docs/api/java/util/concurrent/ForkJoinPool.html
Paudel, J., Tardieu, O., Amaral, J.N.: Hybrid parallel task placement in X10. In: Proceedings of the ACM SIGPLAN X10 Workshop. ACM Press (2013)
Paudel, J., Tardieu, O., Amaral, J.N.: On the merits of distributed work-stealing on selective locality-aware tasks. In: Proceedings of the International Conference on Parallel Processing (ICPP). IEEE (2013)
Posner, J., Fohry, C.: Cooperation vs. coordination for lifeline-based global load balancing in APGAS. In: Proceedings of the ACM SIGPLAN X10 Workshop. ACM Press (2016)
Rice University: Habanero C language (2017). https://wiki.rice.edu/confluence/display/HABANERO/Habanero-C
Rice University: HabaneroUPC++: a Compiler-free PGAS Library (2017). https://github.com/habanero-rice/habanero-upc
Tardieu, O.: The APGAS library: resilient parallel and distributed programming in Java 8. In: Proceedings of the ACM SIGPLAN X10 Workshop. ACM Press (2015)
University of Kassel: Scientific data processing (2017). https://www.uni-kassel.de/its-handbuch/en/daten-dienste/wissenschaftliche-datenverarbeitung.html
Yamashita, K., Kamada, T.: Introducing a multithread and multistage mechanism for the global load balancing library of X10. J. Inf. Process. 24(2), 416–424 (2016)
Zhang, W., Tardieu, O., Grove, D., Herta, B., Kamada, T., Saraswat, V., Takeuchi, M.: GLB lifeline-based global load balancing library in X10. In: Proceedings of the ACM Workshop on Parallel Programming for Analytics Applications (PPAA). ACM Press (2014)
Acknowledgments
This work is supported by the Deutsche Forschungsgemeinschaft, under grant FO 1035/5-1.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Posner, J., Fohry, C. (2018). A Combination of Intra- and Inter-place Work Stealing for the APGAS Library. In: Wyrzykowski, R., Dongarra, J., Deelman, E., Karczewski, K. (eds) Parallel Processing and Applied Mathematics. PPAM 2017. Lecture Notes in Computer Science(), vol 10778. Springer, Cham. https://doi.org/10.1007/978-3-319-78054-2_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-78054-2_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-78053-5
Online ISBN: 978-3-319-78054-2
eBook Packages: Computer ScienceComputer Science (R0)