Skip to main content

A Combination of Intra- and Inter-place Work Stealing for the APGAS Library

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10778))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. 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)

    Article  Google Scholar 

  2. Freeman, L.C.: A set of measures of centrality based on betweenness. Sociometry 40(1), 35 (1977)

    Article  Google Scholar 

  3. Grama, A., Karypis, G., Kumar, V.: Introduction to Parallel Computing. Addison-Wesley, Boston (2003)

    MATH  Google Scholar 

  4. 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)

    Google Scholar 

  5. IBM: Core implementation of X10 programming language including compiler, runtime, class libraries, sample programs and test suite (2017). https://github.com/x10-lang/x10

  6. IBM: The APGAS library for fault-tolerant distributed programming in Java 8 (2017). https://github.com/x10-lang/apgas

  7. 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)

    Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. Oracle: Class ForkJoinPool (2017). http://download.java.net/java/jdk9/docs/api/java/util/concurrent/ForkJoinPool.html

  10. Paudel, J., Tardieu, O., Amaral, J.N.: Hybrid parallel task placement in X10. In: Proceedings of the ACM SIGPLAN X10 Workshop. ACM Press (2013)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Rice University: Habanero C language (2017). https://wiki.rice.edu/confluence/display/HABANERO/Habanero-C

  14. Rice University: HabaneroUPC++: a Compiler-free PGAS Library (2017). https://github.com/habanero-rice/habanero-upc

  15. Tardieu, O.: The APGAS library: resilient parallel and distributed programming in Java 8. In: Proceedings of the ACM SIGPLAN X10 Workshop. ACM Press (2015)

    Google Scholar 

  16. University of Kassel: Scientific data processing (2017). https://www.uni-kassel.de/its-handbuch/en/daten-dienste/wissenschaftliche-datenverarbeitung.html

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

Download references

Acknowledgments

This work is supported by the Deutsche Forschungsgemeinschaft, under grant FO 1035/5-1.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jonas Posner .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics