Abstract
In this paper we present shgraph, a SHMEM implementation of the GraphBLAS standard, which enables the user to redefine complex graph algorithms in terms of simple linear algebra primitives. GraphBLAS offers many nice features such as type abstractions, the ability to perform generalized matrix/vector operations over a semiring, and executing graph operations out-of-order (non-blocking mode).
shgraph seeks to efficiently manage and process billion-edge or greater sparse graphs on an HPC system. We walk through sample GraphBLAS code and discuss the shgraph development process. In particular, we explain how SHMEM was used and where it was necessary to tweak the GraphBLAS specification to be compatible with a distributed system. Additionally, we analyze some preliminary performance results, map out next steps, and suggest potential applications.
Supported by the US Department of Defense.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Buluç, A., Mattson, T., McMillan, S., Moreira, J., Yang, C.: The GraphBLAS C API specification. https://people.eecs.berkeley.edu/~aydin/GraphBLAS_API_C.pdf. Accessed 6 July 2018
Buluç, A., Mattson, T., McMillan, S., Moreira, J., Yang, C.: Design of the GraphBLAS API for C. In: 2017 IEEE International Parallel and Distributed Processing Symposium Workshops, pp. 643–652. IEEE, Orlando (2017)
Kepner, J.: GraphBLAS Mathematics - Provisional Release 1.0 -. https://www.mit.edu/~kepner/GraphBLAS/GraphBLAS-Math-release.pdf. Accessed 6 July 2018
Buluç, A., Gilbert, J.R., Shah, V.B.: Implementing sparse matrices for graph algorithms. SIAM J. Sci. Comput. 22, 287–314 (2011)
Dunbar, R.I.M.: Neocortex size as a constraint on group size in primates. J. Hum. Evol. 22(6), 469–493 (1992)
Lawson, C.L., Hanson, R.J., Kincaid, D.R., Krough, F.T.: Basic linear algebra subprograms for FORTRAN usage. ACM Trans. Math. Softw. 5(2), 308–323 (1979)
Duff, I., Heroux, M., Pozo, R.: An overview of the sparse basic linear algebra subprograms: the new standard from the BLAS technical forum. ACM Trans. Math. Softw. 28(2), 239–267 (2002)
OpenSHMEM application programming interface. http://www.openshmem.org/site/sites/default/site_files/OpenSHMEM-1.3.pdf. Accessed 6 July 2018
Gilbert, J.R., Reinhardt, S., Shah, V.B.: Distributed sparse matrices for very high level languages. Adv. Comput. 72, 225–252 (2008)
Buluç, A., Gilbert, J.R.: Challenges and advances in parallel sparse matrix-matrix multiplication. In: 2008 37th International Conference on Parallel Processing, pp. 503–510. IEEE, Portland (2008)
Buluç, A., Gilbert, J.R.: On the representation and multiplication of hyperspace matrices. In: 2008 IEEE International Symposium on Parallel and Distributed Processing, IEEE, Miami (2008)
Lidl, R., Mullen, G.L.: When does a polynomial over a finite field permute the elements of that field? Am. Math. Mon. 25(3), 243–246 (1998)
Buluç, A., Gilbert, J.R.: Parallel sparse matrix-matrix multiplication and indexing: implementation and experiments. SIAM J. Sci. Comput. 32(4), 170–191 (2011)
Gilbert, J.R., Moler, C., Schreiber, R.: Sparse matrices in MATLAB: design and implementation. SIAM J. Matrix Anal. Appl. 13(1), 333–356 (1992)
Gustavson, F.G.: Finding the block lower triangular form of a matrix. In: Bunch, J.R., Rose, D.J. (eds.) Sparse Matrix Computations, pp. 275–289. Academic Press (1976)
Buluç, A., Gilbert, J.R.: The combinatorial BLAS: design, implementation, and applications. Int. J. High Perform. Comput. Appl. 25(4), 496–509 (2011)
Satish, N., et al.: Navigating the maze of graph analytics frameworks using massive graph datasets. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, pp. 1–12. Snowbird (2014)
Murphy, R., Bader, D., Snir, M.: Unveiling the first graph 500 list. In: International Conference for High Performance Computing, Networking, Storage and Analysis, New Orleans (2010)
Graph500. https://graph500.org/. Accessed 6 July 2018
Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: a recursive model for graph mining. In: Proceedings of the SIAM Conference on Data Mining, Lake Buena Vista (2014)
Acknowledgments
We thank the three anonymous reviewers from the OpenSHMEM Workshop, whose helpful and incisive advice produced a much better paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 This is a U.S. government work and its text is not subject to copyright protection in the United States; however, its text may be subject to foreign copyright protection
About this paper
Cite this paper
Hughey, C. (2019). Tumbling Down the GraphBLAS Rabbit Hole with SHMEM. In: Pophale, S., Imam, N., Aderholdt, F., Gorentla Venkata, M. (eds) OpenSHMEM and Related Technologies. OpenSHMEM in the Era of Extreme Heterogeneity. OpenSHMEM 2018. Lecture Notes in Computer Science(), vol 11283. Springer, Cham. https://doi.org/10.1007/978-3-030-04918-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-04918-8_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-04917-1
Online ISBN: 978-3-030-04918-8
eBook Packages: Computer ScienceComputer Science (R0)