The Performance Evaluation of the Java Implementation of Graph500

  • Magdalena Ryczkowska
  • Marek Nowicki
  • Piotr Bala
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9574)


Graph-based computations are used in many applications. Increasing size of analyzed data and its complexity make graph analysis a challenging task. In this paper we present performance evaluation of Java implementation of Graph500 benchmark. It has been developed with the help of the PCJ (Parallel Computations in Java) library for parallel and distributed computations in Java. PCJ is based on a PGAS (Partitioned Global Address Space) programming paradigm, where all communication details such as threads or network programming are hidden. In this paper, we present Java implementation details of first and second kernel from Graph500 benchmark. The results are compared with the existing MPI implementations of Graph500 benchmark, showing good scalability of PCJ library.


High performance computing Graph processing PGAS Parallel and distributed computation Performance evaluation Parallel graph algorithms Java 



This work has been performed using the PL-Grid infrastructure. Partial support from CHIST-ERA consortium is acknowledged.


  1. 1.
    Lumsdaine, A., Gregor, D., Hendrickson, B., Berry, J.: Challenges in parallel graph processing. Parallel Process. Lett. 17(01), 5–20 (2007)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Murphy, R.C., Wheeler, K.B., Barrett, B.W., Ang, J.A.: Introducing the Graph 500. Cray Users Group (CUG) (2010)Google Scholar
  3. 3.
    Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)CrossRefGoogle Scholar
  4. 4.
    Hadoop Home Page. Accessed 06 November 2015
  5. 5.
    Malewicz, G., Austern, M.H., Bik, A.J.C., Dehnert, J.C., Horn, I., Leiser, N., Czajkowski, G.: Pregel: a system for large-scale graph processing. In: SIGMOD (2011)Google Scholar
  6. 6.
    Low, Y., Gonzalez, J., Kyrola, A., Bickson, D., Guestrin, C., Hellerstein, J.M.: GraphLab: a new framework for parallel machine learning. In: UAI (2010)Google Scholar
  7. 7.
    Shun, J., Blelloch, G.E.: Ligra: a lightweight graph processing framework for shared memory. ACM SIGPLAN Not. 48(8), 135–146 (2013)CrossRefGoogle Scholar
  8. 8.
    Salihoglu, S., Widom, J.: GPS. A graph processing system. In: Proceedings of the 25th International Conference on Scientific and Statistical Database Management, p. 22. ACM (2013)Google Scholar
  9. 9.
    Nowicki, M., Bala, P.: Parallel computations in Java with PCJ library. In: Smari, W.W., Zeljkovic, V. (eds.) International Conference on High Performance Computing and Simulation (HPCS 2012), pp. 381–387. IEEE (2012)Google Scholar
  10. 10.
    Nowicki, M., Gorski, L., Grabarczyk, P., Bala, 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 2014), pp. 202–209. IEEE (2014)Google Scholar
  11. 11.
    Nowicki, M., Bała, P.: PCJ - new approach for parallel computations in java. In: Manninen, P., Öster, P. (eds.) PARA. LNCS, vol. 7782, pp. 115–125. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  12. 12.
    Nowicki, M., Gorski, L., Bala, P.: HPC challenge PCJ benchmarks. In: The International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2014, New Orleans (2014)Google Scholar
  13. 13.
    Leskovec, J., Chakrabarti, D., Kleinberg, J., Faloutsos, C., Ghahramani, Z.: Kronecker graphs: an approach to modeling networks. J. Mach. Learn. Res. 11, 985–1042 (2010)MathSciNetzbMATHGoogle Scholar
  14. 14.
    Suzumura, T., Ueno, K., Sato, H., Fujisawa, K., Matsuoka, S.: Performance characteristics of Graph500 on large-scale distributed environment. In: IEEE International Symposium on Workload Characterization (IISWC 2011), pp. 149–158. IEEE (2011)Google Scholar
  15. 15.
    Amer, A., Lu, H., Balaji, P., Matsuoka, S.: MPI+ threads applications at scale: a case study with parallel breadth-first search. In: 2nd Workshop on Parallel Programming Model for the Masses. IEEE (2015)Google Scholar
  16. 16.
    Cong, G., Almasi, G., Saraswat, V.: Fast PGAS connected components algorithms. In: Proceedings of the Third Conference on Partitioned Global Address Space Programing Models, p. 13. ACM (2009)Google Scholar
  17. 17.
    Jose, J., Potluri, S., Luo, M., Sur, S., Panda, D.: UPC queues for scalable graph travelsals: design and evaluation on infiniband clusters. In: Conference on PGAS Programming Models (2011)Google Scholar
  18. 18.
    Cong, G., Almasi, G., Saraswat, V.: Fast PGAS implementation of distributed graph algorithms. In: Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 1–11. IEEE Computer Society (2010)Google Scholar
  19. 19.
    Bao, N.T., Suzumura, T.: Toward highly scalable pregel-based graph processing platform with X10. In: Proceedings of the 22nd International Conference on World Wide Web Companion, pp. 501–508. International World Wide Web Conferences Steering Committee (2013)Google Scholar
  20. 20.
    Ryczkowska, M.: Evaluating PCJ library for graph problems - Graph500 in PCJ. In: Smari, W.W., Zeljkovic, V. (eds.) Internationa Conference on High Performance Computing and Simulation (HPCS 2014), pp. 1005–1007. IEEE (2014)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Magdalena Ryczkowska
    • 1
  • Marek Nowicki
    • 1
  • Piotr Bala
    • 2
  1. 1.Faculty of Mathematics and Computer ScienceNicolaus Copernicus UniversityTorunPoland
  2. 2.Interdisciplinary Centre for Mathematical and Computational ModelingUniversity of WarsawWarsawPoland

Personalised recommendations