Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3461837.3464627acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

A GraphBLAS implementation in pure Java

Published: 20 June 2021 Publication History

Abstract

Analyzing connected data in forms of graphs is more relevant than ever. To allow users to write their own custom graph algorithms, graph computation models such as GraphBLAS have been developed. Unfortunately, the popular Java programming language was mostly neglected by existing GraphBLAS implementations so far. To overcome that issue, we present our implementation of essential GraphBLAS concepts in the Java programming language in this paper. For our purpose, we extended the linear algebra library Efficient Java Matrix Library (EJML). To show the benefits of our implementation, we compare us against existing graph algorithm libraries in Java using real world graphs and three graph algorithms.

References

[1]
Peter Abeles. Efficient java matrix library. https://github.com/lessthanoptimal/ejml, 2021.
[2]
Aydin Buluç, Tim Mattson, Scott McMillan, José Moreira, and Carl Yang. Design of the graphblas api for c. In 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pages 643--652. IEEE, 2017.
[3]
Aydin Buluc, Timothy Mattson, Scott McMillan, Jose Moreira, and Carl Yang. The graphblas c api specification. GraphBLAS. org, Tech. Rep., 2017.
[4]
TIOBE Software BV. Tiobe index for java. https://www.tiobe.com/tiobe-index/java, 2021.
[5]
Timothy A Davis. Algorithm 1000: Suitesparse: Graphblas: Graph algorithms in the language of sparse linear algebra. ACM Transactions on Mathematical Software (TOMS), 45(4):1--25, 2019.
[6]
The Apache Software Foundation. Apache accumulo. https://accumulo.apache.org/, 2020.
[7]
Vijay Gadepally, Jake Bolewski, Dan Hook, Dylan Hutchison, Ben Miller, and Jeremy Kepner. Graphulo: Linear algebra graph kernels for nosql databases. In 2015 IEEE International Parallel and Distributed Processing Symposium Workshop, pages 822--830. IEEE, 2015.
[8]
Inc Gartner. Gartner top 10 trends in data and analytics for 2020. https://www.gartner.com/smarterwithgartner/gartner-top-10-trends-in-data-and-analytics-for-2020/, 2020.
[9]
Joseph E Gonzalez, Reynold S Xin, Ankur Dave, Daniel Crankshaw, Michael J Franklin, and Ion Stoica. Graphx: Graph processing in a distributed dataflow framework. In 11th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 14), pages 599--613, 2014.
[10]
James Gosling, Bill Joy, Guy Steele, Gilad Bracha, and Alex Buckley. The java® language specification - java se 8 edition. https://docs.oracle.com/javase/specs/jls/se8/jls8.pdf, 02 2015.
[11]
Gunrock. Graphblast. https://github.com/gunrock/graphblast, 2020.
[12]
Fred G Gustavson. Two fast algorithms for sparse matrices: Multiplication and permuted transposition. ACM Transactions on Mathematical Software (TOMS), 4(3):250--269, 1978.
[13]
Minyang Han and Khuzaima Daudjee. Giraph unchained: Barrierless asynchronous parallel execution in pregel-like graph processing systems. Proceedings of the VLDB Endowment, 8(9):950--961, 2015.
[14]
IBM. ibmgraphblas. https://github.com/IBM/ibmgraphblas, 2018.
[15]
Jeremy Kepner, Henning Meyerhenke, Scott McMillan, Carl Yang, John D. Owens, Marcin Zalewski, Timothy Mattson, Jose Moreira, Peter Aaltonen, David Bader, and et al. Mathematical foundations of the graphblas. 2016 IEEE High Performance Extreme Computing Conference (HPEC), 09 2016.
[16]
Jure Leskovec and Andrej Krevl. SNAP Datasets: Stanford large network dataset collection. http://snap.stanford.edu/data, June 2014.
[17]
Grzegorz Malewicz, Matthew H Austern, Aart JC Bik, James C Dehnert, Ilan Horn, Naty Leiser, and Grzegorz Czajkowski. Pregel: a system for large-scale graph processing. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data, pages 135--146, 2010.
[18]
Tim Mattson, Timothy A Davis, Manoj Kumar, Aydin Buluc, Scott McMillan, José Moreira, and Carl Yang. Lagraph: A community effort to collect graph algorithms built on top of the graphblas. In 2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pages 276--284. IEEE, 2019.
[19]
Robert Ryan McCune, Tim Weninger, and Greg Madey. Thinking like a vertex: A survey of vertex-centric frameworks for large-scale distributed graph processing. ACM Comput. Surv., 48(2):25:1--25:39, 2015.
[20]
Abhinav Mehndiratta. Suitesparsegraphblas.jl. https://github.com/abhinavmehndiratta/SuiteSparseGraphBLAS.jl, 2020.
[21]
Dimitrios Michail, Joris Kinable, Barak Naveh, and John V. Sichi. Jgrapht---a java library for graph data structures and algorithms. ACM Trans. Math. Softw., 46(2), May 2020.
[22]
Fabian Murariu. graphblas-java-native. https://github.com/fabianmurariu/graphblas-java-native, 2020.
[23]
Mark Needham and Amy E Hodler. Graph Algorithms: Practical Examples in Apache Spark and Neo4j. O'Reilly Media, 2019.
[24]
Inc. Neo4j. Neo4j graph data science library algorithm overview. https://neo4j.com/docs/graph-data-science/current/introduction/, 2021.
[25]
Joshua O'Madadhain, Danyel Fisher, Scott White, and Yan-Biao Boey. The jung (java universal network/graph) framework. https://github.com/jrtom/jung, 2016.
[26]
Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd. The pagerank citation ranking: Bringing order to the web. Technical report, Stanford InfoLab, 1999.
[27]
Michel Pelletier. pygraphblas. https://github.com/michelp/pygraphblas, 2021.
[28]
Redis. Redisgraph - design. https://oss.redislabs.com/redisgraph/design/, 2020.
[29]
Gábor Szárnyas. Introduction to GraphBLAS: A linear algebraic approach for concise, portable, and high- performance graph algorithms, December 2020.
[30]
Yuanyuan Tian, Andrey Balmin, Severin Andreas Corsten, Shirish Tatikonda, and John McPherson. From" think like a vertex" to" think like a graph". Proceedings of the VLDB Endowment, 7(3):193--204, 2013.
[31]
Petra Várhegyi, Gábor Szárnyas, and József Marton. Multidimensional graph analytics. 2018.
[32]
Michael Wolf, Mehmet Deveci, Jonathan W. Berry, Simon David Hammond, and Sivasankaran Rajamanickam. Fast linear algebra-based triangle counting with kokkoskernels. 7 2017.

Cited By

View all
  • (2024)Teaching Network Traffic Matrices in an Interactive Game Environment2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW63119.2024.00097(459-467)Online publication date: 27-May-2024
  • (2021)Array DBMSProceedings of the VLDB Endowment10.14778/3476311.347640414:12(3186-3189)Online publication date: 1-Jul-2021

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
GRADES-NDA '21: Proceedings of the 4th ACM SIGMOD Joint International Workshop on Graph Data Management Experiences & Systems (GRADES) and Network Data Analytics (NDA)
June 2021
77 pages
ISBN:9781450384773
DOI:10.1145/3461837
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 June 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. GraphBLAS
  2. Java language
  3. graph analytics

Qualifiers

  • Research-article

Conference

SIGMOD/PODS '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 29 of 61 submissions, 48%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)2
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Teaching Network Traffic Matrices in an Interactive Game Environment2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW63119.2024.00097(459-467)Online publication date: 27-May-2024
  • (2021)Array DBMSProceedings of the VLDB Endowment10.14778/3476311.347640414:12(3186-3189)Online publication date: 1-Jul-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media