Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Supercharging the APGAS Programming Model with Relocatable Distributed Collections

Published: 01 January 2022 Publication History

Abstract

In this article, we present our relocatable distributed collection library. Building on top of the AGPAS for Java library, we provide a number of useful intranode parallel patterns as well as the features necessary to support the distributed nature of the computation through clearly identified methods. In particular, the transfer of distributed collections’ entries between processes is supported via an integrated relocation system. This enables dynamic load-balancing capabilities, making it possible for programs to adapt to uneven or evolving cluster performance. The system we developed makes it possible to dynamically control the distribution and the data flow of distributed programs through high-level abstractions. Programmers using our library can, therefore, write complex distributed programs combining computation and communication phases through a consistent API. We evaluate the performance of our library against two programs taken from well-known Java benchmark suites, demonstrating superior programmability and obtaining better performance on one benchmark and reasonable overhead on the second. Finally, we demonstrate the ease and benefits of load balancing and a more complex application, which uses the various features of our library extensively.

References

[1]
The MPI Forum, “MPI: A Message-Passing Interface Standard Version 4.0,” 2021, https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf.
[2]
X. Wu and V. Taylor, “Performance characteristics of hybrid MPI/OpenMP implementations of NAS parallel benchmarks SP and BT on large-scale multicore supercomputers,” SIGMETRICS Perform. Eval. Rev., vol. 38, no. 4, pp. 56–62, March 2011.
[3]
M. Diener, S. White, L. V. Kale, M. Campbell, D. J. Bodony, and J. B. Freund, “Improving the memory access locality of hybrid MPI applications,” in Proceedings of the 24th European MPI Users’ Group Meeting, EuroMPI ’17, New York, NY, USA, September 2017.
[4]
P. Valero Lara, R. Sirvent, A. J. Peña, X. Martorell, and J. Labarta, “MPI+OpenMP tasking scalability for the simulation of the human brain: human brain project,” in Proceedings of the 25th European MPI Users’ Group Meeting, EuroMPI’18, New York, NY, USA, September 2018, https://doi.org/10.1145/3236367.3236373.
[5]
D. Bonachea and F. Gary, “Upc Language and Library Specifications,” p. 11, 2013, https://www.osti.gov/biblio/1511378.
[6]
B. L. Chamberlain, D. Callahan, and H. P. Zima, “Parallel programmability and the chapel language,” International Journal of High Performance Computing Applications, vol. 21, no. 3, pp. 291–312, 2007.
[7]
A. Hayashi, S. R. Paul, M. Grossman, J. Shirako, and V. Sarkar, “Chapel-on-x: exploring tasking runtimes for pgas languages,” in Proceedings of the Third International Workshop on Extreme Scale Programming Models and Middleware, ESPM2’17, New York, NY, USA, November 2017.
[8]
T. B. Rolinger, C. Joseph, C. D. Krieger, and A. Sussman, “Towards high productivity and performance for irregular applications in chapel,” in Proceedings of the 2021 SC Workshops Supplementary Proceedings, SCWS), St. Louis, MO, USA, November 2021.
[9]
S. Imam and V. Sarkar, “Habanero-java library: a java 8 framework for multicore programming,” in Proceedings of the 2014 International Conference On Principles And Practices Of Programming On the Java Platform: Virtual Machines, Languages, and Tools, PPPJ ’14, Association for Computing Machinery, New York, NY, USA, September 2014.
[10]
L. V. Kalé and S. Krishnan, “CHARM++,” in Parallel Programming Using C++, The MIT Press, London, England, 1996.
[11]
J. Gmys, T. Carneiro, N. Melab, E. G. Talbi, and D. Tuyttens, “A comparative study of high-productivity high-performance programming languages for parallel metaheuristics,” Swarm and Evolutionary Computation, vol. 57, 2020.
[12]
T. Olivier, “The apgas library: resilient parallel and distributed programming in java 8,” in Proceedings of the ACM SIGPLAN Workshop on X10, p. X10, ACM, New York, NY, USA, June 2015.
[13]
A. Prokopec, A. Rosà, D. Leopoldseder, G. Duboscq, P. Tůma, S. Martin, L. Bulej, Y. Zheng, A. Villazón, D. Simon, T. Würthinger, and W. Binder, “Renaissance: benchmarking suite for parallel applications on the jvm,” in Proceedings of the 40th ACM SIGPLAN Conference On Programming Language Design And Implementation, PLDI, Association for Computing Machinery, New York, NY, USA, June 2019.
[14]
L. A. Smith, J. M. Bull, and J. Obdrzálek, “A parallel java grande benchmark suite,” in Proceedings of the 2001 ACM/IEEE Conference On Supercomputing, SC ’01, Association for Computing Machinery, New York, NY, USA, November 2001.
[15]
T. Olivier, H. Benjamin, D. Cunningham, D. Grove, P. Kambadur, V. Saraswat, A. Shinnar, M. Takeuchi, and M. Vaziri, “X10 and apgas at petascale,” in Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, ACM, New York, NY, USA, February 2014.
[16]
M. Baker, B. Carpenter, G. Fox, H. Sung, and Ko, S. Lim, “Mpijava: An Object-Oriented Java Interface to Mpi,” in Proceedings of the Parallel and Distributed Processing, pp. 748–762, San Juan, Puerto Rico, USA, January 1999.
[17]
A. Shafi, B. Carpenter, and M. Baker, “Nested parallelism for multi-core hpc systems using java,” Journal of Parallel and Distributed Computing, vol. 69, no. 6, pp. 532–545, 2009.
[18]
O. Vega-Gisbert, J. E. Roman, and J. M. Squyres, “Design and implementation of java bindings in open mpi,” Parallel Computing, vol. 59, pp. 1–20, 2016.
[19]
T. Torii, T. Kamada, K. Izumi, and K. Yamada, “Platform design for large-scale artificial market simulation and preliminary evaluation on the k computer,” Artificial Life and Robotics, vol. 22, no. 3, pp. 301–307, 2017.
[20]
D. Fujishima and T. Kamada, “Collective relocation for associative distributed collections of objects,” International Journal of Software Innovation, vol. 5, no. 2, pp. 55–69, April 2017.
[21]
Y. Murase, T. Uchitane, and N. Ito, “An open-source job management framework for parameter-space exploration: OACIS,” Journal of Physics: Conference Series, vol. 921, 2017.
[22]
J. K. Lee and D. Gannon, “Object oriented parallel programming: experiments and results. In Supercomputing,” in Proceedings of the 1991 ACM/IEEE Conference on Supercomputing, Association for Computing Machinery, New York, NY, USA, November 1991.
[23]
Y. Z. Hj-hadoop, “An optimized mapreduce runtime for multi-core systems,” in Proceedings of the 2013 Companion Publication For Conference On Systems, Programming, & Applications: Software For Humanity, SPLASH ’13, Association for Computing Machinery, New York, NY, USA, October 2013.
[24]
S. J. Deitz, D. Callahan, B. L. Chamberlain, and S. Lawrence, “Global-view abstractions for user-defined reductions and scans,” in Proceedings of the Eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Association for Computing Machinery, New York, NY, USA, January 2006.
[25]
M. Nakao, J. Lee, T. Boku, and M. Sato, “Xcalablemp implementation and performance of nas parallel benchmarks,” Fourth Conference on Partitioned Global Address Space Programming Model, 2010.
[26]
G. Cong, H. Wen, H. Murata, and Y. Negishi, “Tool-assisted optimization of shared-memory accesses in upc applications,” in Proceedings of the IEEE 14th International Conference on High Performance Computing and Communication & 2012, pp. 104–111, IEEE 9th International Conference on Embedded Software and Systems, Liverpool, UK, June 2012.
[27]
J. Bachan, S. B. Baden, S. Hofmeyr, M. Jacquelin, A. Kamil, D. Bonachea, P. H. Hargrove, and H. A. Upc, “A high-performance communication framework for asynchronous computation,” in Proceedings of the IEEE International Parallel and Distributed Processing Symposium, pp. 963–973, IPDPS), Rio de Janeiro, Brazil, May 2019.
[28]
M. Nowicki, Ł. Gorski, and P. Bała, “Pcj – java library for highly scalable hpc and big data processing,” in Proceedings of the International Conference on High Performance Computing Simulation, pp. 12–20, HPCS), Orleans, France, July 2018.
[29]
M. Nowicki, Ł. Górski, and P. Bała, “Scalable computing in Java with PCJ Library. Improved collective operations,” Proceedings of International Symposium on Grids & Clouds 2021 — PoS(ISGC2021), 2021.
[30]
M. Nowicki, Ł. Górski, and P. Bała, “Performance evaluation of java/pcj implementation of parallel algorithms on the cloud (extended version),” Concurrency and Computation: Practice and Experience, e6536, 2021.
[31]
P. Finnerty, T. Kamada, and C. Ohta, “Integrating a global load balancer to an apgas distributed collections library,” in Proceedings of the Thirteenth International Workshop On Programming Models And Applications For Multicores And Manycores, PMAM ’22, pp. 55–64, Association for Computing Machinery, New York, NY, USA, April 2022.
[32]
D. Grove, S. S. Hamouda, B. Herta, A. Iyengar, K. Kawachiya, J. Milthorpe, V. Saraswat, A. Shinnar, M. Takeuchi, and O. Tardieu, “Failure recovery in resilient x10,” ACM Transactions on Programming Languages and Systems, vol. 41, no. 3, pp. 1–30, jul 2019.
[33]
J. Posner and C. Fohry, “Transparent resource elasticity for task-based cluster environments with work stealing,” in Proceedings of the 50th International Conference on Parallel Processing Workshop, Association for Computing Machinery, New York, NY, USA, August 2021.

Cited By

View all
  • (2023)Distributed Cell Set : A Library for Space-Dependent Communication/Computation Overlap on Manycore ClusterProceedings of the 14th International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/3582514.3582520(11-19)Online publication date: 25-Feb-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Scientific Programming
Scientific Programming  Volume 2022, Issue
2022
11290 pages
ISSN:1058-9244
EISSN:1875-919X
Issue’s Table of Contents
This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Publisher

Hindawi Limited

London, United Kingdom

Publication History

Published: 01 January 2022

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Distributed Cell Set : A Library for Space-Dependent Communication/Computation Overlap on Manycore ClusterProceedings of the 14th International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/3582514.3582520(11-19)Online publication date: 25-Feb-2023

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media