Low-Latency Graph Streaming Using Compressed Purely-Functional Trees
Not on the map. Why?
Abstract (arXiv)
Due to the dynamic nature of real-world graphs, there has been a growing interest in the graph-streaming setting where a continuous stream of graph updates is mixed with arbitrary graph queries. In principle, purely-functional trees are an ideal choice for this setting due as they enable safe parallelism, lightweight snapshots, and strict serializability for queries. However, directly using them for graph processing would lead to significant space overhead and poor cache locality. This paper presents C-trees, a compressed purely-functional search tree data structure that significantly improves on the space usage and locality of purely-functional trees. The key idea is to use a chunking technique over trees in order to store multiple entries per tree-node. We design theoretically-efficient and practical algorithms for performing batch updates to C-trees, and also show that we can store massive dynamic real-world graphs using only a few bytes per edge, thereby achieving space usage close to that of the best static graph processing frameworks. To study the efficiency and applicability of our data structure, we designed Aspen, a graph-streaming framework that extends the interface of Ligra with operations for updating graphs. We show that Aspen is faster than two state-of-the-art graph-streaming systems, Stinger and LLAMA, while requiring less memory, and is competitive in performance with the state-of-the-art static graph frameworks, Galois, GAP, and Ligra+. With Aspen, we are able to efficiently process the largest publicly-available graph with over two hundred billion edges in the graph-streaming setting using a single commodity multicore server with 1TB of memory.
Key facts. Cited by 6 papers in the map (data through 14 Oct 2026). First posted on arXiv 17 Apr 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 0; 2023: 3; 2024: 1; 2025: 0; 2026: 1.
6 papers.
- 2023Graph of Thoughts: Solving Elaborate Problems with Large Language Modelscited by 886
- 2023HOT: Higher-Order Dynamic Graph Representation Learning with Efficient Transformerscited by 10
- 2021Hierarchical Agglomerative Graph Clustering in Nearly-Linear Timecited by 8
- 2023GNNFlow: A Distributed Framework for Continuous Temporal GNN Learning on Dynamic Graphscited by 5
- 2024Rhizomes and Diffusions for Processing Highly Skewed Graphs on Fine-Grain Message-Driven Systemscited by 0
- 2026ANNLib: A Development Framework for Efficient Approximate Nearest Neighbor Searchcited by 0
- 2026ANNLib: A Development Framework for Efficient Approximate Nearest Neighbor Search20 Jul 2026
- 2024Rhizomes and Diffusions for Processing Highly Skewed Graphs on Fine-Grain Message-Driven Systems8 Feb 2024
- 2023HOT: Higher-Order Dynamic Graph Representation Learning with Efficient Transformers30 Nov 2023
- 2023GNNFlow: A Distributed Framework for Continuous Temporal GNN Learning on Dynamic Graphs29 Nov 2023
- 2023Graph of Thoughts: Solving Elaborate Problems with Large Language Models18 Aug 2023
- 2021Hierarchical Agglomerative Graph Clustering in Nearly-Linear Time10 Jun 2021