GraphZeppelin: How to Find Connected Components (Even When Graphs Are Dense, Dynamic, and Massive)

David Tench, Evan West, Victor Zhang, Michael A. Bender, Abiyaz Chowdhury, Daniel Delayo, J. Ahmed Dellas, Martín Farach-Colton, Tyler Seip, Kenny Zhang

    Research output: Contribution to journalArticlepeer-review

    Abstract

    Finding the connected components of a graph is a fundamental problem with uses throughout computer science and engineering. The task of computing connected components becomes more difficult when graphs are very large, or when they are dynamic, meaning the edge set changes over time subject to a stream of edge insertions and deletions. A natural approach to computing the connected components problem on a large, dynamic graph stream is to buy enough RAM to store the entire graph. However, the requirement that the graph fit in RAM is an inherent limitation of this approach and is prohibitive for very large graphs. Thus, there is an unmet need for systems that can process dense dynamic graphs, especially when those graphs are larger than available RAM. We present a new high-performance streaming graph-processing system for computing the connected components of a graph. This system, which we call GraphZeppelin, uses new linear sketching data structures (CubeSketch) to solve the streaming connected components problem and as a result requires space asymptotically smaller than the space required for a lossless representation of the graph. GraphZeppelin is optimized for massive dense graphs: GraphZeppelin can process millions of edge updates (both insertions and deletions) per second, even when the underlying graph is far too large to fit in available RAM. As a result GraphZeppelin vastly increases the scale of graphs that can be processed.

    Original languageEnglish (US)
    Article number9
    JournalACM Transactions on Database Systems
    Volume49
    Issue number3
    DOIs
    StatePublished - May 16 2024

    Keywords

    • external memory
    • Linear sketching
    • streaming algorithms

    ASJC Scopus subject areas

    • Information Systems

    Fingerprint

    Dive into the research topics of 'GraphZeppelin: How to Find Connected Components (Even When Graphs Are Dense, Dynamic, and Massive)'. Together they form a unique fingerprint.

    Cite this