Fault-Tolerance Mechanisms for the Java Parallel Codes Implemented with the PCJ Library

  • Michał SzynkiewiczEmail author
  • Marek Nowicki
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10778)


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.


Java Fault tolerance High performance computing Partitioned Global Address Space 



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


  1. 1.
    Xie, X., Fang, X., Hu, S., Wu, D.: Evolution of supercomputers. Front. Comput. Sci. China 4(4), 428–436 (2010)CrossRefGoogle Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Hao, P., Shamis, P., Venkata, M.G., Pophale, S., Welch, A., Poole, S., Chapman, B.: Fault Tolerance for OpenSHMEM, PGAS/OUG14. Accessed 28 May 2017
  7. 7.
    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)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    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)Google Scholar
  11. 11. Accessed 4 Apr 2017
  12. 12.

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Faculty of Mathematics and Computer ScienceNicolaus Copernicus UniversityToruńPoland
  2. 2.Interdisciplinary Centre for Mathematical and Computational ModellingUniversity of WarsawWarsawPoland

Personalised recommendations