Abstract
Parallel programs run on multiple processor systems with hundreds and thousands of cores. Because of a large number of nodes, failure can happen quite often, sometimes within hours. This makes fault-tolerance a crucial concern for nowadays HPC solutions.
PCJ library is one of the most successful Java solutions allowing to parallelize large scale computations up to thousands of cores. This paper describes a minimal overhead failure discovery and mitigation mechanisms introduced to the PCJ library.
Our implementation provides a programmer with a basic functionality to detect a node failure. Java exception mechanism and local node monitoring are used to detect execution problems. The problems are presented to the programmer through easy to use extensions. In the result, the programmer does not have to deal with low-level programming.
The detailed scenario how to recover from the failure has to be decided and implemented by the programmer.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Xie, X., Fang, X., Hu, S., Wu, D.: Evolution of supercomputers. Front. Comput. Sci. China 4(4), 428–436 (2010)
Rieger, C.G., Gertman, D.I., McQueen, M.A.: Resilient control systems: next generation design research. In: Proceedings of the 2nd Conference on Human System Interactions, HSI 2009, Piscataway, NJ, USA, pp. 629–633. IEEE Press (2009)
Cappello, F., Geist, A., Gropp, W., Kale, S., Kramer, B., Snir, M.: Toward exascale resilience: 2014 update. Supercomput. Front. Innov. 1(1), 5–28 (2014)
Bosilca, G., Bouteiller, A., Guermouche, A., Herault, T., Robert, Y., Sens, P., Dongarra, J.: Failure detection and propagation in HPC systems. In: SC 2016 Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, Article No. 27 (2016)
Ricci, A., Yonezawa, A.: Away from the sequential paradigm tarpit: modelling and programming with actors, concurrent objects and agents. In: Proceedings of the Second International Workshop on Combined Object-Oriented Modelling and Programming Languages, pp. 1–6. ACM (2013)
Hao, P., Shamis, P., Venkata, M.G., Pophale, S., Welch, A., Poole, S., Chapman, B.: Fault Tolerance for OpenSHMEM, PGAS/OUG14. http://nic.uoregon.edu/pgas14/oug_submissions/oug2014_submission_12.pdf. Accessed 28 May 2017
Nowicki, M., Bała, P.: Parallel computations in Java with PCJ library. In: Smari, W.W., Zeljkovic, V., (eds.) International Conference on High Performance Computing and Simulation (HPCS), pp. 381–387. IEEE (2012)
Nowicki, M., Górski, Ł., Grabarczyk, P., Bała, P.: PCJ - Java library for high performance computing in PGAS model. In: Smari, W.W., Zeljkovic, V., (eds.) International Conference on High Performance Computing and Simulation (HPCS), pp. 202–209. IEEE (2014)
Charles, P., Grothoff, C., Saraswat, V., Donawa, C., Kielstra, A., Ebcioglu, K., von Praun, C., Sarkar, V.: X10: an object-oriented approach to non-uniform cluster computing. In: OOP-SLA 2005, pp. 519–538 (2005)
Cunningham, D., Grove, D., Herta, B., Iyengar, A., Kawachiya, K., Murata, H., Saraswat, V., Takeuchi, M., Tardieu, O.: Resilient X10. Efficient failure-aware programming. In: Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 67–80. ACM (2014)
http://pcj.icm.edu.pl. Accessed 4 Apr 2017
https://kdm.icm.edu.pl/kdm/Okeanos/en. Accessed 28 May 2017
Acknowledgements
This work has been performed using the PL-Grid infrastructure. The authors would like to thank CHIST-ERA consortium for financial support under HPDCJ project (Polish part funded by NCN grant 2014/14/Z/ST6/00007).
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
Szynkiewicz, M., Nowicki, M. (2018). Fault-Tolerance Mechanisms for the Java Parallel Codes Implemented with the PCJ 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_28
Download citation
DOI: https://doi.org/10.1007/978-3-319-78054-2_28
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)