Skip to main content

The Performance Evaluation of the Java Implementation of Graph500

  • Conference paper
  • First Online:
Book cover Parallel Processing and Applied Mathematics

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

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Notes

  1. 1.

    PCJ has been appreciated as an efficient way of programming parallel applications, receiving HPC Challenge Class 2 Best Productivity Award [12].

References

  1. Lumsdaine, A., Gregor, D., Hendrickson, B., Berry, J.: Challenges in parallel graph processing. Parallel Process. Lett. 17(01), 5–20 (2007)

    Article  MathSciNet  Google Scholar 

  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. Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)

    Article  Google Scholar 

  4. Hadoop Home Page. https://hadoop.apache.org/. Accessed 06 November 2015

  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. 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. Shun, J., Blelloch, G.E.: Ligra: a lightweight graph processing framework for shared memory. ACM SIGPLAN Not. 48(8), 135–146 (2013)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

    MathSciNet  MATH  Google Scholar 

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

Download references

Acknowledgements

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Piotr Bala .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Ryczkowska, M., Nowicki, M., Bala, P. (2016). The Performance Evaluation of the Java Implementation of Graph500. In: Wyrzykowski, R., Deelman, E., Dongarra, J., Karczewski, K., Kitowski, J., Wiatr, K. (eds) Parallel Processing and Applied Mathematics. Lecture Notes in Computer Science(), vol 9574. Springer, Cham. https://doi.org/10.1007/978-3-319-32152-3_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-32152-3_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-32151-6

  • Online ISBN: 978-3-319-32152-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics