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.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
PCJ has been appreciated as an efficient way of programming parallel applications, receiving HPC Challenge Class 2 Best Productivity Award [12].
References
Lumsdaine, A., Gregor, D., Hendrickson, B., Berry, J.: Challenges in parallel graph processing. Parallel Process. Lett. 17(01), 5–20 (2007)
Murphy, R.C., Wheeler, K.B., Barrett, B.W., Ang, J.A.: Introducing the Graph 500. Cray Users Group (CUG) (2010)
Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)
Hadoop Home Page. https://hadoop.apache.org/. Accessed 06 November 2015
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)
Low, Y., Gonzalez, J., Kyrola, A., Bickson, D., Guestrin, C., Hellerstein, J.M.: GraphLab: a new framework for parallel machine learning. In: UAI (2010)
Shun, J., Blelloch, G.E.: Ligra: a lightweight graph processing framework for shared memory. ACM SIGPLAN Not. 48(8), 135–146 (2013)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Acknowledgements
This work has been performed using the PL-Grid infrastructure. Partial support from CHIST-ERA consortium is acknowledged.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)