Demo Data from SIGIR 2026 / reviewers in the wild / expert
Laxman Dhulipala
dblp:147/3439
· DBLP profile ↗
64ranked-venue papers
16as first author
46since 2021 · last 2026
0000-0003-0685-064XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 24 · 3 first-author · 16 since 2021Databases, data management, data science and information retrieval · 20 · 4 first-author · 15 since 2021Theory of computation · 10 · 3 first-author · 6 since 2021Artificial intelligence and machine learning · 7 · 4 first-author · 6 since 2021Software engineering, systems software and programming languages · 3 · 2 first-author · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Theoretical computer science
21 papers |
Algorithms and data structures · 51% Graph algorithms and graph theory · 23% Computational complexity · 17% | |
| Databases, data mining, and information retrieval
18 papers |
Information retrieval · 45% Data mining · 38% Indexing and storage engines · 12% | |
| Computer architecture, parallel and distributed computing, and storage systems
25 papers |
Parallel and multicore computing · 64% Memory systems · 22% Performance modeling and evaluation · 11% | |
| Artificial intelligence
2 papers |
Graph learning · 92% Representation and self-supervised learning · 8% |
Topics — the 30 heaviest of 79, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
parallel graph algorithms |
4.5 | 8 | 2024 | The ParClusterers Benchmark Suite (PCBS): A Fine-Grained Analysis of Scalable Graph Clustering · Proc. VLDB Endow. 2024 Towards Scalable and Practical Batch-Dynamic Connectivity · Proc. VLDB Endow. 2024 Parallel Algorithms for Hierarchical Nucleus Decomposition · Proc. ACM Manag. Data 2024 |
Information retrieval › similarity search › nearest neighbor search
approximate nearest neighbor search |
3.3 | 4 | 2025 | Unleashing Graph Partitioning for Large-Scale Nearest Neighbor Search · Proc. VLDB Endow. 2025 Results of the Big ANN: NeurIPS'23 competition · NeurIPS 2025 ParlayANN: Scalable and Deterministic Parallel Graph-Based Approximate Nearest Neighbor Search Algorithms · PPoPP 2024 |
Memory systems
processing-in-memory |
2.4 | 3 | 2026 | PIM-zd-tree: A Fast Space-Partitioning Index Leveraging Processing-in-Memory · PPoPP 2026 PIM-tree: A Skew-resistant Index for Processing-in-Memory · VLDB J. 2025 PIM-tree: A Skew-resistant Index for Processing-in-Memory · Proc. VLDB Endow. 2022 |
Parallel and multicore computing
parallel algorithms |
1.8 | 3 | 2024 | Parallel Integer Sort: Theory and Practice · PPoPP 2024 Hierarchical Agglomerative Graph Clustering in Poly-Logarithmic Depth · NeurIPS 2022 ParChain: A Framework for Parallel Hierarchical Agglomerative Clustering using Nearest-Neighbor Chain · Proc. VLDB Endow. 2021 |
Data mining › clustering
graph clustering |
1.8 | 3 | 2024 | The ParClusterers Benchmark Suite (PCBS): A Fine-Grained Analysis of Scalable Graph Clustering · Proc. VLDB Endow. 2024 Scalable Community Detection via Parallel Correlation Clustering · Proc. VLDB Endow. 2021 Parallel Index-Based Structural Graph Clustering and Its Approximation · SIGMOD Conference 2021 |
Information retrieval › similarity search
nearest neighbor search |
1.8 | 2 | 2026 | Efficiently Constructing Sparse Navigable Graphs · SODA 2026 Approximate Nearest Neighbor Search with Window Filters · ICML 2024 |
Data mining › clustering › hierarchical clustering
agglomerative clustering |
1.7 | 3 | 2023 | TeraHAC: Hierarchical Agglomerative Clustering of Trillion-Edge Graphs · Proc. ACM Manag. Data 2023 Hierarchical Agglomerative Graph Clustering in Poly-Logarithmic Depth · NeurIPS 2022 ParChain: A Framework for Parallel Hierarchical Agglomerative Clustering using Nearest-Neighbor Chain · Proc. VLDB Endow. 2021 |
Data mining
clustering |
1.7 | 3 | 2023 | TeraHAC: Hierarchical Agglomerative Clustering of Trillion-Edge Graphs · Proc. ACM Manag. Data 2023 Hierarchical Agglomerative Graph Clustering in Poly-Logarithmic Depth · NeurIPS 2022 ParChain: A Framework for Parallel Hierarchical Agglomerative Clustering using Nearest-Neighbor Chain · Proc. VLDB Endow. 2021 |
Parallel and multicore computing
concurrent data structures |
1.6 | 2 | 2026 | UFO Trees: Practical and Provably-Efficient Parallel Batch-Dynamic Trees · PPoPP 2026 PaC-trees: supporting parallel and compressed purely-functional collections · PLDI 2022 |
Performance modeling and evaluation
benchmarking |
1.6 | 3 | 2024 | BYO: A Unified Framework for Benchmarking Large-Scale Graph Containers · Proc. VLDB Endow. 2024 The problem-based benchmark suite (PBBS), V2 · PPoPP 2022 The ParClusterers Benchmark Suite (PCBS): A Fine-Grained Analysis of Scalable Graph Clustering · Proc. VLDB Endow. 2024 |
Memory systems › processing-in-memory
PIM index |
1.4 | 2 | 2025 | PIM-tree: A Skew-resistant Index for Processing-in-Memory · VLDB J. 2025 PIM-tree: A Skew-resistant Index for Processing-in-Memory · Proc. VLDB Endow. 2022 |
Data mining › structured data mining
graph mining |
1.3 | 2 | 2024 | The ParClusterers Benchmark Suite (PCBS): A Fine-Grained Analysis of Scalable Graph Clustering · Proc. VLDB Endow. 2024 Theoretically and Practically Efficient Parallel Nucleus Decomposition · Proc. VLDB Endow. 2021 |
Algorithms and data structures › clustering › hierarchical clustering
agglomerative clustering |
1.3 | 2 | 2024 | Efficient Centroid-Linkage Clustering · NeurIPS 2024 Hierarchical Agglomerative Graph Clustering in Nearly-Linear Time · ICML 2021 |
Algorithms and data structures › dynamic algorithms
dynamic graph algorithms |
1.2 | 2 | 2024 | Towards Scalable and Practical Batch-Dynamic Connectivity · Proc. VLDB Endow. 2024 Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds · SODA 2020 |
Computational complexity › parallel complexity
p-completeness |
1.2 | 2 | 2024 | It's Hard to HAC Average Linkage! · ICALP 2024 Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds · SODA 2020 |
Machine learning › Graph learning
network embedding |
1.2 | 2 | 2023 | Towards Lightweight and Automated Representation Learning System for Networks · IEEE Trans. Knowl. Data Eng. 2023 LightNE: A Lightweight Graph Processing System for Network Embedding · SIGMOD Conference 2021 |
Parallel and multicore computing › parallel graph algorithms
shared-memory parallel graph algorithm |
1.1 | 3 | 2021 | Theoretically and Practically Efficient Parallel Nucleus Decomposition · Proc. VLDB Endow. 2021 Scalable Community Detection via Parallel Correlation Clustering · Proc. VLDB Endow. 2021 LightNE: A Lightweight Graph Processing System for Network Embedding · SIGMOD Conference 2021 |
Indexing and storage engines › access methods
ordered index |
1.0 | 2 | 2025 | PIM-tree: A Skew-resistant Index for Processing-in-Memory · VLDB J. 2025 PIM-tree: A Skew-resistant Index for Processing-in-Memory · Proc. VLDB Endow. 2022 |
Information retrieval › similarity search › nearest neighbor search › approximate nearest neighbor search
graph-based approximate nearest neighbor search |
1.0 | 1 | 2026 | Efficiently Constructing Sparse Navigable Graphs · SODA 2026 |
Indexing and storage engines
multidimensional indexing |
1.0 | 1 | 2026 | PIM-zd-tree: A Fast Space-Partitioning Index Leveraging Processing-in-Memory · PPoPP 2026 |
Algorithms and data structures › dynamic algorithms
dynamic trees |
1.0 | 1 | 2026 | UFO Trees: Practical and Provably-Efficient Parallel Batch-Dynamic Trees · PPoPP 2026 |
Graph algorithms and graph theory › network analysis
navigable graphs |
1.0 | 1 | 2026 | Efficiently Constructing Sparse Navigable Graphs · SODA 2026 |
Algorithms and data structures › data structure design
compressed data structures |
1.0 | 2 | 2022 | PaC-trees: supporting parallel and compressed purely-functional collections · PLDI 2022 Low-latency graph streaming using compressed purely-functional trees · PLDI 2019 |
Computational complexity › fine-grained complexity
conditional lower bounds |
0.9 | 2 | 2024 | It's Hard to HAC Average Linkage! · ICALP 2024 Near-Optimal Massively Parallel Graph Connectivity · FOCS 2019 |
Graph data management
graph partitioning |
0.9 | 1 | 2025 | Unleashing Graph Partitioning for Large-Scale Nearest Neighbor Search · Proc. VLDB Endow. 2025 |
Information retrieval › distributed information retrieval
routing |
0.9 | 1 | 2025 | Unleashing Graph Partitioning for Large-Scale Nearest Neighbor Search · Proc. VLDB Endow. 2025 |
Graph algorithms and graph theory
graph connectivity |
0.8 | 2 | 2020 | Parallel Graph Algorithms in Constant Adaptive Rounds: Theory meets Practice · Proc. VLDB Endow. 2020 Near-Optimal Massively Parallel Graph Connectivity · FOCS 2019 |
Algorithms and data structures › parallel algorithms
massively parallel computation |
0.8 | 2 | 2020 | Parallel Graph Algorithms in Constant Adaptive Rounds: Theory meets Practice · Proc. VLDB Endow. 2020 Near-Optimal Massively Parallel Graph Connectivity · FOCS 2019 |
Information retrieval › similarity search › nearest neighbor search
maximum inner product search |
0.8 | 1 | 2024 | MUVERA: Multi-Vector Retrieval via Fixed Dimensional Encoding · NeurIPS 2024 |
Information retrieval › retrieval models › neural retrieval
multi-vector retrieval |
0.8 | 1 | 2024 | MUVERA: Multi-Vector Retrieval via Fixed Dimensional Encoding · NeurIPS 2024 |
Methods — techniques the papers use, named apart from their topics
correlation clustering · 2.5processing-in-memory · 2.0link-cut trees · 2.0theoretical analysis · 1.5modular tree-based framework · 1.5level-set algorithm · 1.5empirical evaluation · 1.5concurrent union-find · 1.5cluster forest algorithm · 1.5algorithm engineering · 1.5LambdaCC objective · 1.5approximation algorithm · 1.3randomized SVD · 1.2locality-sensitive hashing · 0.9clustering · 0.9benchmarking · 0.9balanced graph partitioning · 0.9maximum inner product search · 0.8
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | UFO Trees: Practical and Provably-Efficient Parallel Batch-Dynamic TreesabstractThe dynamic trees problem is to maintain a tree under edge updates while supporting queries like connectivity queries or path queries. Despite the first data structure for this fundamental problem---the link-cut tree---being invented 40 years ago, our experiments reveal that they are still the fastest sequential data structure for the problem. However, link-cut trees cannot support parallel batch-dynamic updates and have limitations on the kinds of queries they support. Quinten De Man, Atharva Sharma, Kishen N. Gowda, Laxman Dhulipala |
PPoPP | 4 |
| 2026 | PIM-zd-tree: A Fast Space-Partitioning Index Leveraging Processing-in-MemoryabstractSpace-partitioning indexes are widely used for managing multi-dimensional data, but their throughput is often memory-bottlenecked. Processing-in-memory (PIM), an emerging architectural paradigm, mitigates memory bottlenecks by embedding processing cores directly within memory modules, allowing computation to be offloaded to these PIM cores. Yiwei Zhao 0001, Hongbo Kang, Ziyang Men, Yan Gu 0001, Guy E. Blelloch, Laxman Dhulipala, Charles McGuffey, Phillip B. Gibbons |
PPoPP | 6 |
| 2026 | Efficiently Constructing Sparse Navigable GraphsabstractGraph-based nearest neighbor search methods have seen a surge of popularity in recent years, offering state-of-the-art performance across a wide variety of applications. Central to these methods is the task of constructing a sparse navigable search graph for a given dataset endowed with a distance function. Unfortunately, doing so is computationally expensive, so heuristics are universally used in practice. Alexander Conway 0001, Laxman Dhulipala, Martin Farach-Colton, Rob Johnson 0001, Benjamin Landrum, Christopher Musco, Yarin Shechter, Torsten Suel, Richard Wen |
SODA | 2 |
| 2026 | Fast and Theoretically Efficient Batch-Parallel Link-Cut Trees, Euler Tour Trees, and TreapsabstractParallel batch-dynamic trees are a fundamental building block in recent theoretical and practical advances in dynamic graph algorithms. However, all existing parallel batch-dynamic tree data structures, including Euler tour trees, UFO trees, topology trees, and rake-compress trees, are all significantly outperformed in the sequential setting by link-cut trees, which have been the sequential state-of-the-art for over 40 years. Despite their excellent performance in the sequential setting, designing efficient batch-parallel link-cut trees has remained a major open problem. Quinten De Man, Laxman Dhulipala |
SPAA | 2 |
| 2025 | Near-Optimal Differentially Private Graph Algorithms via the Multidimensional AboveThreshold MechanismabstractMany differentially private and classical non-private graph algorithms rely crucially on determining whether some property of each vertex meets a threshold. For example, for the k-core decomposition problem, the classic peeling algorithm iteratively removes a vertex if its induced degree falls below a threshold. The sparse vector technique (SVT) is generally used to transform non-private threshold queries into private ones with only a small additive loss in accuracy. However, a naive application of SVT in the graph setting leads to an amplification of the error by a factor of n due to composition, as SVT is applied to every vertex. In this paper, we resolve this problem by formulating a novel generalized sparse vector technique which we call the Multidimensional AboveThreshold (MAT) Mechanism which generalizes SVT (applied to vectors with one dimension) to vectors with multiple dimensions. When applied to vectors with n dimensions, we solve a number of important graph problems with better bounds than previous work. Specifically, we apply our MAT mechanism to obtain a set of improved bounds for a variety of problems including k-core decomposition, densest subgraph, low out-degree ordering, and vertex coloring. We give a tight local edge differentially private (LEDP) algorithm for k-core decomposition that results in an approximation with O(ε^{-1} log n) additive error and no multiplicative error in O(n) rounds. We also give a new (2+η)-factor multiplicative, O(ε^{-1} log n) additive error algorithm in O(log² n) rounds for any constant η > 0. Both of these results are asymptotically tight against our new lower bound of Ω(log n) for any constant-factor approximation algorithm for k-core decomposition. Our new algorithms for k-core decomposition also directly lead to new algorithms for the related problems of densest subgraph and low out-degree ordering. Finally, we give novel LEDP differentially private defective coloring algorithms that use number of colors given in terms of the arboricity of the graph. Laxman Dhulipala, Monika Henzinger, George Z. Li, Quanquan C. Liu, A. R. Sricharan, Leqi Zhu |
ESA | 1 |
| 2025 | Results of the Big ANN: NeurIPS'23 competitionabstractThe 2023 Big ANN Challenge, held at NeurIPS 2023, focused on advancing the state-of-the-art in indexing data structures and search algorithms for practical variants of Approximate Nearest Neighbor (ANN) search that reflect its the growing complexity and diversity of workloads. Unlike prior challenges that emphasized scaling up classical ANN search (Simhadri et al., NeurIPS 2021), this competition addressed sparse, filtered, out-of-distribution, and streaming variants of ANNS. Participants developed and submitted innovative solutions that were evaluated on new standard datasets with constrained computational resources. The results showcased significant improvements in search accuracy and efficiency, with notable contributions from both academic and industrial teams. This paper summarizes the competition tracks, datasets, evaluation metrics, and the innovative approaches of the top-performing submissions, providing insights into the current advancements and future directions in the field of approximate nearest neighbor search. Harsha Vardhan Simhadri, Martin Aumüller 0001, Matthijs Douze, Dmitry Baranchuk, Amir Ingber, Edo Liberty, Benjamin Landrum, Magdalen Dobson, Mazin Karjikar, Laxman Dhulipala, Yuzheng Cai, Jiayang Shi, Weiguo Zheng, Yizhuo Chen, Ben Huang |
NeurIPS | 11 |
| 2025 | DynHAC: Fully Dynamic Approximate Hierarchical Agglomerative ClusteringabstractWe consider the problem of maintaining a hierarchical agglomerative clustering (HAC) in the dynamic setting, when the input is subject to point insertions and deletions. We introduce DynHac - the first dynamic HAC algorithm for the popular average-linkage version of the problem which can maintain a 1 + ε approximate solution. Our approach leverages recent structural results on 1 + ε-approximate HAC [1] to carefully identify the part of the clustering dendrogram that needs to be updated in order to produce a solution that is consistent with what a full recomputation from scratch would have output. Shangdi Yu, Laxman Dhulipala, Jakub Lacki, Nikos Parotsidis |
SDM | 2 |
| 2025 | Scaling Parallel Algorithms to Massive Datasets using Multi-SSD MachinesabstractIt is now possible in principle to build relatively inexpensive multi-core servers equipped with dozens of terabytes, to even petabytes of local NVMe SSD storage. This raises a natural question of what can be done with such machines, and how many parallel storage devices are required to quickly compute over data that is much larger than main memory? Can we design algorithms for such machines that achieve nearly in-memory performance while gracefully scaling to datasets that are much larger than main memory? Haohong Li, Jamshed Khan, Laxman Dhulipala |
SPAA | 3 |
| 2025 | Fully-Dynamic Parallel Algorithms for Single-Linkage ClusteringabstractSingle-linkage clustering is a popular form of hierarchical agglomerative clustering (HAC) where the distance between two clusters is defined as the minimum distance between any pair of points across the two clusters. In single-linkage HAC, the output is typically the single-linkage dendrogram (SLD), which is the binary tree representing the hierarchy of clusters formed by iteratively contracting the two closest clusters. In the dynamic setting, prior work has only studied maintaining a minimum spanning forest over the data since single-linkage HAC reduces to computing the SLD on the minimum spanning forest of the data. Quinten De Man, Laxman Dhulipala, Kishen N. Gowda |
SPAA | 2 |
| 2025 | Optimal Batch-Dynamic kd-trees for Processing-in-Memory with ApplicationsabstractThe kd-tree is a widely used data structure for managing multidimensional data. However, most existing kd-tree designs suffer from the memory wall---bottlenecked by off-chip memory latency and bandwidth limitations. Processing-in-memory (PIM), an emerging architectural paradigm, offers a promising solution to this issue by integrating processors (PIM cores) inside memory modules and offloading computational tasks to these PIM cores. This approach enables low-latency on-chip memory access and provides bandwidth that scales with the number of PIM modules, significantly reducing off-chip memory traffic. Yiwei Zhao 0001, Hongbo Kang, Yan Gu 0001, Guy E. Blelloch, Laxman Dhulipala, Charles McGuffey, Phillip B. Gibbons |
SPAA | 5 |
| 2025 | Unleashing Graph Partitioning for Large-Scale Nearest Neighbor SearchabstractWe consider the fundamental problem of decomposing a large-scale approximate nearest neighbor search (ANNS) problem into smaller sub-problems. The goal is to partition the input points into neighborhood-preserving shards , so that the nearest neighbors of any point are contained in only a few shards. When a query arrives, a routing algorithm is used to identify the shards which should be searched for its nearest neighbors. This approach forms the backbone of distributed ANNS, where the dataset is so large that it must be split across multiple machines. In this paper, we design simple and highly efficient routing methods based on clustering and locality-sensitive hashing. We prove strong theoretical guarantees for the LSH-based method, whereas the clustering-based method exhibits better empirical performance. A crucial characteristic of our routing algorithms is that they are inherently modular, and can be used with any partitioning method. This addresses a key drawback of prior approaches, where the routing algorithms are inextricably linked to their associated partitioning method. In particular, due to their modular structure, our routing methods enable the use of balanced graph partitioning , which is a high-quality partitioning method without a naturally associated routing algorithm. Prior routing methods compatible with graph partitioning are too slow to train on large-scale data. We provide the first routing methods that are simultaneously compatible with graph partitioning, fast to train, admit low latency, and achieve high recall. In a comprehensive evaluation of our partitioning and routing on billion-scale datasets, we show that our methods outperform existing scalable partitioning methods by significant margins, achieving up to 1.72× higher QPS at 90% 10-recall than the best competitor and 1.27× in the geometric mean. Through fast and modular routing we establish graph partitioning as the new method of choice for partitioning large-scale ANNS datasets. Lars Gottesbüren, Laxman Dhulipala, Rajesh Jayaram, Jakub Lacki |
Proc. VLDB Endow. | 2 |
| 2025 | PIM-tree: A Skew-resistant Index for Processing-in-MemoryabstractAbstract The performance of today’s in-memory indexes is bottlenecked by the memory latency/bandwidth wall. Processing-in-memory (PIM) is an emerging approach that potentially mitigates this bottleneck by enabling low-latency memory access whose aggregate memory bandwidth scales with the number of PIM nodes. There is an inherent tension, however, between minimizing inter-node communication and achieving load balance in PIM systems, in the presence of workload skew. This paper presents PIM-tree , an ordered index for PIM systems that achieves both low communication and high load balance, regardless of the degree of skew in data/queries. Our skew-resistant index is based on a novel division of labor between the multi-core host CPU and the PIM nodes, which leverages the strengths of each. We introduce push-pull search , which dynamically decides whether to push queries to a PIM-tree node (CPU $$\rightarrow $$ → PIM-node) or pull the node’s keys back to the CPU (PIM-node $$\rightarrow $$ → CPU) based on workload skew. Combined with other PIM-friendly optimizations ( shadow subtrees and chunking ), PIM-tree achieves high throughput, (guaranteed) low communication, and (guaranteed) high load balance, for batches of point queries, updates, and range scans. We implement the PIM-tree structure, in addition to prior proposed PIM indexes, on the latest PIM system from UPMEM, with 32 CPU cores and 2048 PIM nodes. On workloads with 500 million keys and batches of 1 million queries, the throughput using PIM-trees is up to $$69.7\times $$ 69.7 × and $$59.1\times $$ 59.1 × higher than the two best prior PIM-based methods. As far as we know these are the first implementations of ordered indexes on real PIM systems. Hongbo Kang, Yiwei Zhao 0001, Guy E. Blelloch, Laxman Dhulipala, Yan Gu 0001, Charles McGuffey, Phillip B. Gibbons |
VLDB J. | 4 |
| 2024 | Practical Parallel Algorithms for Near-Optimal Densest Subgraphs on Massive GraphsabstractThe densest subgraph problem has received significant attention, both in theory and in practice, due to its applications in problems such as community detection, social network analysis, and spam detection. Due to the high cost of obtaining exact solutions, much attention has focused on designing approximate densest subgraph algorithms. However, existing approaches are not able to scale to massive graphs with billions of edges. Pattara Sukprasert, Quanquan C. Liu, Laxman Dhulipala, Julian Shun |
ALENEX | 3 |
| 2024 | It's Hard to HAC Average Linkage!abstractAverage linkage Hierarchical Agglomerative Clustering (HAC) is an extensively studied and applied method for hierarchical clustering. Recent applications to massive datasets have driven significant interest in near-linear-time and efficient parallel algorithms for average linkage HAC. We provide hardness results that rule out such algorithms. On the sequential side, we establish a runtime lower bound of $n^{3/2-ε}$ on $n$ node graphs for sequential combinatorial algorithms under standard fine-grained complexity assumptions. This essentially matches the best-known running time for average linkage HAC. On the parallel side, we prove that average linkage HAC likely cannot be parallelized even on simple graphs by showing that it is CC-hard on trees of diameter $4$. On the possibility side, we demonstrate that average linkage HAC can be efficiently parallelized (i.e., it is in NC) on paths and can be solved in near-linear time when the height of the output cluster hierarchy is small. Mohammad Hossein Bateni 0001, Laxman Dhulipala, Kishen N. Gowda, D. Ellis Hershkowitz, Rajesh Jayaram, Jakub Lacki |
ICALP | 2 |
| 2024 | Approximate Nearest Neighbor Search with Window FiltersabstractWe define and investigate the problem of c-approximate window search: approximate nearest neighbor search where each point in the dataset has a numeric label, and the goal is to find nearest neighbors to queries within arbitrary label ranges. Many semantic search problems, such as image and document search with timestamp filters, or product search with cost filters, are natural examples of this problem. We propose and theoretically analyze a modular tree-based framework for transforming an index that solves the traditional c-approximate nearest neighbor problem into a data structure that solves window search. On standard nearest neighbor benchmark datasets equipped with random label values, adversarially constructed embeddings, and image search embeddings with real timestamps, we obtain up to a $75\times$ speedup over existing solutions at the same level of recall. Joshua Engels, Benjamin Landrum, Shangdi Yu, Laxman Dhulipala, Julian Shun |
ICML | 4 |
| 2024 | Efficient Centroid-Linkage ClusteringabstractWe give an algorithm for Centroid-Linkage Hierarchical Agglomerative Clustering (HAC), which computes a $c$-approximate clustering in roughly $n^{1+O(1/c^2)}$ time. We obtain our result by combining a new centroid-linkage HAC algorithm with a novel fully dynamic data structure for nearest neighbor search which works under adaptive updates.
We also evaluate our algorithm empirically. By leveraging a state-of-the-art nearest-neighbor search library, we obtain a fast and accurate centroid-linkage HAC algorithm. Compared to an existing state-of-the-art exact baseline, our implementation maintains the clustering quality while delivering up to a $36\times$ speedup due to performing fewer distance comparisons. Mohammad Hossein Bateni 0001, Laxman Dhulipala, Willem Fletcher, Kishen N. Gowda, D. Ellis Hershkowitz, Rajesh Jayaram, Jakub Lacki |
NeurIPS | 2 |
| 2024 | MUVERA: Multi-Vector Retrieval via Fixed Dimensional EncodingabstractNeural embedding models have become a fundamental component of modern information retrieval (IR) pipelines. These models produce a single embedding $x \in \mathbb{R}^d$ per data-point, allowing for fast retrieval via highly optimized maximum inner product search (MIPS) algorithms. Recently, beginning with the landmark ColBERT paper, multi-vector models, which produce a set of embedding per data point, have achieved markedly superior performance for IR tasks. Unfortunately, using these models for IR is computationally expensive due to the increased complexity of multi-vector retrieval and scoring.
In this paper, we introduce MUVERA (MUlti-VEctor Retrieval Algorithm), a retrieval mechanism which reduces multi-vector similarity search to single-vector similarity search. This enables the usage of off-the-shelf MIPS solvers for multi-vector retrieval.
MUVERA asymmetrically generates Fixed Dimensional Encodings (FDEs) of queries and documents, which are vectors whose inner product approximates multi-vector similarity. We prove that FDEs give high-quality $\epsilon$-approximations, thus providing the first single-vector proxy for multi-vector similarity with theoretical guarantees. Empirically, we find that FDEs achieve the same recall as prior state-of-the-art heuristics while retrieving 2-5$\times$ fewer candidates. Compared to prior state of the art implementations, MUVERA achieves consistently good end-to-end recall and latency across a diverse set of the BEIR retrieval datasets, achieving an average of 10% improved recall with 90% lower latency. Laxman Dhulipala, Majid Hadian, Rajesh Jayaram, Vahab S. Mirrokni |
NeurIPS | 1 |
| 2024 | Parallel Integer Sort: Theory and PracticeabstractInteger sorting is a fundamental problem in computer science. This paper studies parallel integer sort both in theory and in practice. In theory, we show tighter bounds for a class of existing practical integer sort algorithms, which provides a solid theoretical foundation for their widespread usage in practice and strong performance. In practice, we design a new integer sorting algorithm, DovetailSort, that is theoretically-efficient and has good practical performance. Xiaojun Dong 0001, Laxman Dhulipala, Yan Gu 0001, Yihan Sun 0001 |
PPoPP | 2 |
| 2024 | ParlayANN: Scalable and Deterministic Parallel Graph-Based Approximate Nearest Neighbor Search AlgorithmsabstractApproximate nearest-neighbor search (ANNS) algorithms are a key part of the modern deep learning stack due to enabling efficient similarity search over high-dimensional vector space representations (i.e., embeddings) of data. Among various ANNS algorithms, graph-based algorithms are known to achieve the best throughput-recall tradeoffs. Despite the large scale of modern ANNS datasets, existing parallel graph-based implementations suffer from significant challenges to scale to large datasets due to heavy use of locks and other sequential bottlenecks, which 1) prevents them from efficiently scaling to a large number of processors, and 2) results in non-determinism that is undesirable in certain applications. Magdalen Dobson, Zheqi Shen, Guy E. Blelloch, Laxman Dhulipala, Yan Gu 0001, Harsha Vardhan Simhadri, Yihan Sun 0001 |
PPoPP | 4 |
| 2024 | Optimal Parallel Algorithms for Dendrogram Computation and Single-Linkage ClusteringabstractComputing a Single-Linkage Dendrogram (SLD) is a key step in the classic single-linkage hierarchical clustering algorithm. Given an input edge-weighted tree T, the SLD of T is a binary dendrogram that summarizes the n-1 clusterings obtained by contracting the edges of T in order of weight. Existing algorithms for computing the SLD all require Ømega(nłog n) work where n = |T|. Furthermore, to the best of our knowledge no prior work provides a parallel algorithm obtaining non-trivial speedup for this problem. In this paper, we design faster parallel algorithms for computing SLDs both in theory and in practice based on new structural results about SLDs. In particular, we obtain a deterministic output-sensitive parallel algorithm based on parallel tree contraction that requires O(n łog h) work and O(łog^2 n łog^2 h) depth, where h is the height of the output SLD. We also give a deterministic bottom-up algorithm for the problem inspired by the nearest-neighbor chain algorithm for hierarchical agglomerative clustering, and show that it achieves O(nłog h) work and O(h łog n) depth. Our results are based on a novel divide-and-conquer framework for building SLDs, inspired by divide-and-conquer algorithms for Cartesian trees. Our new algorithms can quickly compute the SLD on billion-scale trees, and obtain up to 150x speedup over the highly-efficient Union-Find algorithm typically used to compute SLDs in practice. Laxman Dhulipala, Xiaojun Dong 0001, Kishen N. Gowda, Yan Gu 0001 |
SPAA | 1 |
| 2024 | Parallel Set Cover and Hypergraph Matching via Uniform Random SamplingabstractThe SetCover problem has been extensively studied in many different models of computation, including parallel and distributed settings. From an approximation point of view, there are two standard guarantees: an O(log Δ)-approximation (where Δ is the maximum set size) and an O(f)-approximation (where f is the maximum number of sets containing any given element). In this paper, we introduce a new, surprisingly simple, model-independent approach to solving SetCover in unweighted graphs. We obtain multiple improved algorithms in the MPC and CRCW PRAM models. First, in the MPC model with sublinear space per machine, our algorithms can compute an O(f) approximation to SetCover in Ô(√{log Δ} + log f) rounds and a O(log Δ) approximation in O(log^{3/2} n) rounds. Moreover, in the PRAM model, we give a O(f) approximate algorithm using linear work and O(log n) depth. All these bounds improve the existing round complexity/depth bounds by a log^{Ω(1)} n factor. Moreover, our approach leads to many other new algorithms, including improved algorithms for the HypergraphMatching problem in the MPC model, as well as simpler SetCover algorithms that match the existing bounds. Laxman Dhulipala, Michael Dinitz, Jakub Lacki, Slobodan Mitrovic |
DISC | 1 |
| 2024 | Parallel Algorithms for Hierarchical Nucleus DecompositionabstractNucleus decompositions have been shown to be a useful tool for finding dense subgraphs. The coreness value of a clique represents its density based on the number of other cliques it is adjacent to. One useful output of nucleus decomposition is to generate a hierarchy among dense subgraphs at different resolutions. However, existing parallel algorithms for nucleus decomposition do not generate this hierarchy, and only compute the coreness values. This paper presents a scalable parallel algorithm for hierarchy construction, with practical optimizations, such as interleaving the coreness computation with hierarchy construction and using a concurrent union-find data structure in an innovative way to generate the hierarchy. We also introduce a parallel approximation algorithm for nucleus decomposition, which achieves much lower span in theory and better performance in practice. We prove strong theoretical bounds on the work and span (parallel time) of our algorithms. On a 30-core machine with two-way hyper-threading, our parallel hierarchy construction algorithm achieves up to a 58.84x speedup over the state-of-the-art sequential hierarchy construction algorithm by Sariyuce et al. and up to a 30.96x self-relative parallel speedup. On the same machine, our approximation algorithm achieves a 3.3x speedup over our exact algorithm, while generating coreness estimates with a multiplicative error of 1.33x on average. Jessica Shi 0001, Laxman Dhulipala, Julian Shun |
Proc. ACM Manag. Data | 2 |
| 2024 | Towards Scalable and Practical Batch-Dynamic ConnectivityabstractWe study the problem of dynamically maintaining the connected components of an undirected graph subject to edge insertions and deletions. We give the first parallel algorithm for the problem that is work-efficient, supports batches of updates, runs in polylogarithmic depth, and uses only linear total space. The existing algorithms for the problem either use super-linear space, do not come with strong theoretical bounds, or are not parallel. On the empirical side, we provide the first implementation of the cluster forest algorithm , the first linear-space and polylogarithmic update time algorithm for dynamic connectivity. Experimentally, we find that our algorithm uses up to 19.7× less space and is up to 6.2× faster than the level-set algorithm of Holm, de Lichten-berg, and Thorup, arguably the most widely-implemented dynamic connectivity algorithm with strong theoretical guarantees. Quinten De Man, Laxman Dhulipala, Adam Karczmarz, Jakub Lacki, Julian Shun |
Proc. VLDB Endow. | 2 |
| 2024 | BYO: A Unified Framework for Benchmarking Large-Scale Graph ContainersabstractA fundamental building block in any graph algorithm is a graph container - - a data structure used to represent the graph. Ideally, a graph container enables efficient access to the underlying graph, has low space usage, and supports updating the graph efficiently. In this paper, we conduct an extensive empirical evaluation of graph containers designed to support running algorithms on large graphs. To our knowledge, this is the first apples-to-apples comparison of graph containers rather than overall systems, which include confounding factors such as differences in algorithm implementations and infrastructure. We measure the running time of 10 highly-optimized algorithms across over 20 different containers and 10 graphs. Somewhat surprisingly, we find that the average algorithm running time does not differ much across containers, especially those that support dynamic updates. Specifically, a simple container based on an off-the-shelf B-tree is only 1.22× slower on average than a highly optimized static one. Moreover, we observe that simplifying a graph-container Application Programming Interface (API) to only a few simple functions incurs a mere 1.16× slowdown compared to a complete API. Finally, we also measure batch-insert throughput in dynamic-graph containers for a full picture of their performance. To perform the benchmarks, we introduce BYO, a unified framework that standardizes evaluations of graph-algorithm performance across different graph containers. BYO extends the Graph Based Benchmark Suite (Dhulipala et al. 18), a state-of-the-art graph algorithm benchmark, to easily plug into different dynamic graph containers and enable fair comparisons between them on a large suite of graph algorithms. While several graph algorithm benchmarks have been developed to date, to the best of our knowledge, BYO is the first system designed to benchmark graph containers. Brian Wheatman, Xiaojun Dong 0001, Zheqi Shen, Laxman Dhulipala, Jakub Lacki, Prashant Pandey 0001, Helen Xu 0001 |
Proc. VLDB Endow. | 4 |
| 2024 | The ParClusterers Benchmark Suite (PCBS): A Fine-Grained Analysis of Scalable Graph ClusteringabstractWe introduce the ParClusterers Benchmark Suite (PCBS)---a collection of highly scalable parallel graph clustering algorithms and benchmarking tools that streamline comparing different graph clustering algorithms and implementations. The benchmark includes clustering algorithms that target a wide range of modern clustering use cases, including community detection, classification, and dense subgraph mining. The benchmark toolkit makes it easy to run and evaluate multiple instances of different clustering algorithms with respect to both the running time and quality. We evaluate the PCBS algorithms empirically and find that they deliver both the state of the art quality and the running time. In terms of the running time, they are on average over 4x faster than the fastest library we compared to. In terms of quality, the correlation clustering algorithm [Shi et al., VLDB'21] optimizing for the LambdaCC objective, which does not have a direct counterpart in other libraries, delivers the highest quality in the majority of datasets that we used. Shangdi Yu, Jessica Shi 0001, Jamison Meindl, David Eisenstat, Xiaoen Ju, Sasan Tavakkol, Laxman Dhulipala, Jakub Lacki, Vahab S. Mirrokni, Julian Shun |
Proc. VLDB Endow. | 7 |
| 2023 | High-Performance and Flexible Parallel Algorithms for Semisort and Related ProblemsabstractSemisort is a fundamental algorithmic primitive widely used in the design and analysis of efficient parallel algorithms. It takes input as an array of records and a function extracting a key per record, and reorders them so that records with equal keys are contiguous. Since many applications only require collecting equal values, but not fully sorting the input, semisort is broadly applicable, e.g., in string algorithms, graph analytics, and geometry processing, among many other domains. However, despite dozens of recent papers that use semisort in their theoretical analysis and the existence of an asymptotically optimal parallel semisort algorithm, most implementations of these parallel algorithms choose to implement semisort by using comparison or integer sorting in practice, due to potential performance issues in existing semisort implementations. Xiaojun Dong 0001, Yunshu Wu, Laxman Dhulipala, Yan Gu 0001, Yihan Sun 0001 |
SPAA | 4 |
| 2023 | PIM-trie: A Skew-resistant Trie for Processing-in-MemoryabstractMemory latency and bandwidth are significant bottlenecks in designing in-memory indexes. Processing-in-memory (PIM), an emerging hardware design approach, alleviates this problem by embedding processors in memory modules, enabling low-latency memory access whose aggregated bandwidth scales linearly with the number of PIM modules. Despite recent work in balanced comparison-based indexes on PIM systems, building efficient tries for PIMs remains an open challenge due to tries' inherently unbalanced shape. Hongbo Kang, Yiwei Zhao 0001, Guy E. Blelloch, Laxman Dhulipala, Yan Gu 0001, Charles McGuffey, Phillip B. Gibbons |
SPAA | 4 |
| 2023 | Fast, Parallel, and Cache-Friendly Suffix Array Construction
Jamshed Khan, Tobias Rubel, Laxman Dhulipala, Erin K. Molloy, Rob Patro |
WABI | 3 |
| 2023 | TeraHAC: Hierarchical Agglomerative Clustering of Trillion-Edge GraphsabstractWe introduce TeraHAC, a (1+ε)-approximate hierarchical agglomerative clustering (HAC) algorithm which scales to trillion-edge graphs. Our algorithm is based on a new approach to computing (1+ε)-approximate HAC, which is a novel combination of the nearest-neighbor chain algorithm and the notion of (1+ε)-approximate HAC. Our approach allows us to partition the graph among multiple machines and make significant progress in computing the clustering within each partition before any communication with other partitions is needed. We evaluate TeraHAC on a number of real-world and synthetic graphs of up to 8 trillion edges. We show that TeraHAC requires over 100x fewer rounds compared to previously known approaches for computing HAC. It is up to 8.3x faster than SCC, the state-of-the-art distributed algorithm for hierarchical clustering, while achieving 1.16x higher quality. In fact, TeraHAC essentially retains the quality of the celebrated HAC algorithm while significantly improving the running time. Laxman Dhulipala, Jakub Lacki, Vahab S. Mirrokni |
Proc. ACM Manag. Data | 1 |
| 2023 | Towards Lightweight and Automated Representation Learning System for NetworksabstractWe proposeLightNE 2.0, a cost-effective, scalable, automated, and high-quality network embedding system that scales to graphs with hundreds of billions of edges on a single machine. In contrast to the mainstream belief that distributed architecture and GPUs are needed for large-scale network embedding with good quality, we prove that we can achieve higher quality, better scalability, lower cost, and faster runtime with shared-memory, CPU-only architecture.LightNE 2.0combines two theoretically grounded embedding methods NetSMF and ProNE. We introduce the following techniques to network embedding for the first time: (1) a newly proposed downsampling method to reduce the sample complexity of NetSMF while preserving its theoretical advantages; (2) a high-performance parallel graph processing stack GBBS to achieve high memory efficiency and scalability; (3) sparse parallel hash table to aggregate and maintain the matrix sparsifier in memory; (4) a fast randomized singular value decomposition (SVD) enhanced by power iteration and fast orthonormalization to improve vanilla randomized SVD in terms of both efficiency and effectiveness; (5) Intel MKL for proposed fast randomized SVD and spectral propagation; and (6) a fast and lightweight AutoML library FLAML for automated hyperparameter tuning. Experimental results show thatLightNE 2.0can be up to 84× faster than GraphVite, 30× faster than PBG and 9× faster than NetSMF while delivering better performance.LightNE 2.0can embed very large graph with 1.7 billion nodes and 124 billion edges in half an hour on a CPU server, while other baselines cannot handle very large graphs of this scale. Jiezhong Qiu, Laxman Dhulipala, Wenjian Yu, Jie Tang 0001, Richard Peng, Chi Wang 0001 |
IEEE Trans. Knowl. Data Eng. | 3 |
| 2022 | ParGeo: A Library for Parallel Computational GeometryabstractThis paper presents ParGeo, a multicore library for computational geometry. ParGeo contains modules for fundamental tasks including $k$d-tree based spatial search, spatial graph generation, and algorithms in computational geometry. We focus on three new algorithmic contributions provided in the library. First, we present a new parallel convex hull algorithm based on a reservation technique to enable parallel modifications to the hull. We also provide the first parallel implementations of the randomized incremental convex hull algorithm as well as a divide-and-conquer convex hull algorithm in $\mathbb{R}^3$. Second, for the smallest enclosing ball problem, we propose a new sampling-based algorithm to quickly reduce the size of the data set. We also provide the first parallel implementation of Welzl's classic algorithm for smallest enclosing ball. Third, we present the BDL-tree, a parallel batch-dynamic $k$d-tree that allows for efficient parallel updates and $k$-NN queries over dynamically changing point sets. BDL-trees consist of a log-structured set of $k$d-trees which can be used to efficiently insert, delete, and query batches of points in parallel. On 36 cores with two-way hyper-threading, our fastest convex hull algorithm achieves up to 44.7x self-relative parallel speedup and up to 559x speedup against the best existing sequential implementation. Our smallest enclosing ball algorithm using our sampling-based algorithm achieves up to 27.1x self-relative parallel speedup and up to 178x speedup against the best existing sequential implementation. Our implementation of the BDL-tree achieves self-relative parallel speedup of up to 46.1x. Across all of the algorithms in ParGeo, we achieve self-relative parallel speedup of 8.1--46.61x. Yiqiu Wang, Rahul Yesantharao, Shangdi Yu, Laxman Dhulipala, Yan Gu 0001, Julian Shun |
ESA | 4 |
| 2022 | Differential Privacy from Locally Adjustable Graph Algorithms: k-Core Decomposition, Low Out-Degree Ordering, and Densest SubgraphsabstractDifferentially private algorithms allow large-scale data analytics while preserving user privacy. Designing such algorithms for graph data is gaining importance with the growth of large networks that model various (sensitive) relationships between individuals. While there exists a rich history of important literature in this space, to the best of our knowledge, no results formalize a relationship between certain parallel and distributed graph algorithms and differentially private graph analysis. In this paper, we define locally adjustable graph algorithms and show that algorithms of this type can be transformed into differentially private algorithms. Our formalization is motivated by a set of results that we present in the central and local models of differential privacy for a number of problems, including k-core decomposition, low out-degree ordering, and densest subgraphs. First, we design an $\varepsilon$-edge differentially private (DP) algorithm that returns a subset of nodes that induce a subgraph of density at least $ \frac{D^{*}}{1+\eta}-O(\operatorname{poly}(\log n)/\varepsilon)$, where $D^{*}$ is the density of the densest subgraph in the input graph (for any constant $\eta\gt 0$). This algorithm achieves a two-fold improvement on the multiplicative approximation factor of the previously best-known private densest subgraph algorithms while maintaining a near-linear runtime. Then, we present an $\varepsilon$-locally edge differentially private (LEDP) algorithm for k-core decompositions. Our LEDP algorithm provides approximates the core numbers (for any constant $\eta\gt 0$) with $(2+\eta)$ multiplicative and $O(\operatorname{poly}(\log n)/\varepsilon)$ additive error. This is the first differentially private algorithm that outputs private k-core decomposition statistics. We also modify our algorithm to return a differentially private low out-degree ordering of the nodes, where orienting the edges from nodes earlier in the ordering to nodes later in the ordering results in out-degree at most $O(d+$ poly $(\log n)/\varepsilon$) (where d is the degeneracy of the graph). A small modification to the algorithm also yields a $\varepsilon$-LEDP algorithm for $(4+\eta,O(\operatorname{poly}(\log n)/\varepsilon))$ approximate densest subgraph (which returns both the set of nodes in the subgraph and its density). Our algorithm uses $O(\log^{2}n)$ rounds of communication between the curator and individual nodes. Laxman Dhulipala, Quanquan C. Liu, Sofya Raskhodnikova, Jessica Shi 0001, Julian Shun, Shangdi Yu |
FOCS | 1 |
| 2022 | Hierarchical Agglomerative Graph Clustering in Poly-Logarithmic DepthabstractObtaining scalable algorithms for \emph{hierarchical agglomerative clustering} (HAC) is of significant interest due to the massive size of real-world datasets. At the same time, efficiently parallelizing HAC is difficult due to the seemingly sequential nature of the algorithm. In this paper, we address this issue and present ParHAC, the first efficient parallel HAC algorithm with sublinear depth for the widely-used average-linkage function. In particular, we provide a $(1+\epsilon)$-approximation algorithm for this problem on $m$ edge graphs using $\tilde{O}(m)$ work and poly-logarithmic depth. Moreover, we show that obtaining similar bounds for \emph{exact} average-linkage HAC is not possible under standard complexity-theoretic assumptions.We complement our theoretical results with a comprehensive study of the ParHAC algorithm in terms of its scalability, performance, and quality, and compare with several state-of-the-art sequential and parallel baselines. On a broad set of large publicly-available real-world datasets, we find that ParHAC obtains a 50.1x speedup on average over the best sequential baseline, while achieving quality similar to the exact HAC algorithm. We also show that ParHAC can cluster one of the largest publicly available graph datasets with 124 billion edges in a little over three hours using a commodity multicore machine. Laxman Dhulipala, David Eisenstat, Jakub Lacki, Vahab S. Mirrokni, Jessica Shi 0001 |
NeurIPS | 1 |
| 2022 | PaC-trees: supporting parallel and compressed purely-functional collectionsabstractMany modern programming languages are shifting toward a functional style for collection interfaces such as sets, maps, and sequences. Functional interfaces offer many advantages, including being safe for parallelism and providing simple and lightweight snapshots. However, existing high-performance functional interfaces such as PAM, which are based on balanced purely-functional trees, incur large space overheads for large-scale data analysis due to storing every element in a separate node in a tree. Laxman Dhulipala, Guy E. Blelloch, Yan Gu 0001, Yihan Sun 0001 |
PLDI | 1 |
| 2022 | The problem-based benchmark suite (PBBS), V2abstractThe Problem-Based Benchmark Suite (PBBS) is a set of benchmark problems designed for comparing algorithms, implementations and platforms. For each problem, the suite defines the problem in terms of the input-output relationship, and supplies a set of input instances along with input generators, a default implementation, code for checking correctness or accuracy, and a timing harness. The suite makes it possible to compare different algorithms, platforms (e.g. GPU vs CPU), and implementations using different programming languages or libraries. The purpose is to better understand how well a wide variety of problems parallelize, and what techniques/algorithms are most effective. Daniel Anderson, Guy E. Blelloch, Laxman Dhulipala, Magdalen Dobson, Yihan Sun 0001 |
PPoPP | 3 |
| 2022 | ParGeo: a library for parallel computational geometryabstractWe present ParGeo, a multicore library for computational geometry algorithms. We describe two of the algorithms from ParGeo, convex hull and the smallest enclosing ball, and present a short evaluation of all implementations currently in ParGeo. Yiqiu Wang, Shangdi Yu, Laxman Dhulipala, Yan Gu 0001, Julian Shun |
PPoPP | 3 |
| 2022 | Parallel Batch-Dynamic Algorithms for k-Core Decomposition and Related Graph ProblemsabstractMaintaining a k-core decomposition quickly in a dynamic graph has important applications in network analysis. The main challenge for designing efficient exact algorithms is that a single update to the graph can cause significant global changes. Our paper focuses on approximation algorithms with small approximation factors that are much more efficient than what exact algorithms can obtain. Quanquan C. Liu, Jessica Shi 0001, Shangdi Yu, Laxman Dhulipala, Julian Shun |
SPAA | 4 |
| 2022 | Parallel Batch-Dynamic Minimum Spanning Forest and the Efficiency of Dynamic Agglomerative Graph ClusteringabstractHierarchical agglomerative clustering (HAC) is a popular algorithm for clustering data, but despite its importance, no dynamic algorithms for HAC with good theoretical guarantees exist. In this paper, we study dynamic HAC on edge-weighted graphs. As single-linkage HAC reduces to computing a minimum spanning forest (MSF), our first result is a parallel batch-dynamic algorithm for maintaining MSFs. On a batch of k edge insertions or deletions, our batch-dynamic MSF algorithm runs in O(k log6 n) expected amortized work and O(log4 n) span with high probability. It is the first fully dynamic MSF algorithm handling batches of edge updates with polylogarithmic work per update and polylogarithmic span. Using our MSF algorithm, we obtain a parallel batch-dynamic algorithm that can answer queries about single-linkage graph HAC clusters. Tom Tseng, Laxman Dhulipala, Julian Shun |
SPAA | 2 |
| 2022 | PIM-tree: A Skew-resistant Index for Processing-in-MemoryabstractThe performance of today's in-memory indexes is bottlenecked by the memory latency/bandwidth wall. Processing-in-memory (PIM) is an emerging approach that potentially mitigates this bottleneck, by enabling low-latency memory access whose aggregate memory bandwidth scales with the number of PIM nodes. There is an inherent tension, however, between minimizing inter-node communication and achieving load balance in PIM systems, in the presence of workload skew. This paper presents PIM-tree , an ordered index for PIM systems that achieves both low communication and high load balance, regardless of the degree of skew in data and queries. Our skew-resistant index is based on a novel division of labor between the host CPU and PIM nodes, which leverages the strengths of each. We introduce push-pull search , which dynamically decides whether to push queries to a PIM-tree node or pull the node's keys back to the CPU based on workload skew. Combined with other PIM-friendly optimizations ( shadow subtrees and chunked skip lists ), our PIM-tree provides high-throughput, (guaranteed) low communication, and (guaranteed) high load balance, for batches of point queries, updates, and range scans. We implement PIM-tree, in addition to prior proposed PIM indexes, on the latest PIM system from UPMEM, with 32 CPU cores and 2048 PIM nodes. On workloads with 500 million keys and batches of 1 million queries, the throughput using PIM-trees is up to 69.7X and 59.1x higher than the two best prior PIM-based methods. As far as we know these are the first implementations of an ordered index on a real PIM system. Hongbo Kang, Yiwei Zhao 0001, Guy E. Blelloch, Laxman Dhulipala, Yan Gu 0001, Charles McGuffey, Phillip B. Gibbons |
Proc. VLDB Endow. | 4 |
| 2021 | Hierarchical Agglomerative Graph Clustering in Nearly-Linear TimeabstractWe study the widely-used hierarchical agglomerative clustering (HAC) algorithm on edge-weighted graphs. We define an algorithmic framework for hierarchical agglomerative graph clustering that provides the first efficient $\tilde{O}(m)$ time exact algorithms for classic linkage measures, such as complete- and WPGMA-linkage, as well as other measures. Furthermore, for average-linkage, arguably the most popular variant of HAC, we provide an algorithm that runs in $\tilde{O}(n\sqrt{m})$ time. For this variant, this is the first exact algorithm that runs in subquadratic time, as long as $m=n^{2-\epsilon}$ for some constant $\epsilon > 0$. We complement this result with a simple $\epsilon$-close approximation algorithm for average-linkage in our framework that runs in $\tilde{O}(m)$ time. As an application of our algorithms, we consider clustering points in a metric space by first using $k$-NN to generate a graph from the point set, and then running our algorithms on the resulting weighted graph. We validate the performance of our algorithms on publicly available datasets, and show that our approach can speed up clustering of point datasets by a factor of 20.7–76.5x. Laxman Dhulipala, David Eisenstat, Jakub Lacki, Vahab S. Mirrokni, Jessica Shi 0001 |
ICML | 1 |
| 2021 | LightNE: A Lightweight Graph Processing System for Network EmbeddingabstractWe propose LightNE, a cost-effective, scalable, and high quality network embedding system that scales to graphs with hundreds of billions of edges on a single machine. In contrast to the mainstream belief that distributed architecture and GPUs are needed for large-scale network embedding with good quality, we prove that we can achieve higher quality, better scalability, lower cost and faster runtime with shared-memory, CPU-only architecture. LightNE combines two theoretically grounded embedding methods NetSMF and ProNE. We introduce the following techniques to network embedding for the first time: (1) a newly proposed downsampling method to reduce the sample complexity of NetSMF while preserving its theoretical advantages; (2) a high-performance parallel graph processing stack GBBS to achieve high memory efficiency and scalability; (3) sparse parallel hash table to aggregate and maintain the matrix sparsifier in memory; and (4) Intel MKL for efficient randomized SVD and spectral propagation. Jiezhong Qiu, Laxman Dhulipala, Jie Tang 0001, Richard Peng, Chi Wang 0001 |
SIGMOD Conference | 2 |
| 2021 | Parallel Index-Based Structural Graph Clustering and Its ApproximationabstractSCAN (Structural Clustering Algorithm for Networks) is a well-studied, widely used graph clustering algorithm. For large graphs, however, sequential SCAN variants are prohibitively slow, and parallel SCAN variants do not effectively share work among queries with different SCAN parameter settings. Since users of SCAN often explore many parameter settings to find good clusterings, it is worthwhile to precompute an index that speeds up queries. Tom Tseng, Laxman Dhulipala, Julian Shun |
SIGMOD Conference | 2 |
| 2021 | The Processing-in-Memory ModelabstractAs computational resources become more efficient and data sizes grow, data movement is fast becoming the dominant cost in computing. Processing-in-Memory is emerging as a key technique for reducing costly data movement, by enabling computation to be executed on compute resources embedded in the memory modules themselves. Hongbo Kang, Phillip B. Gibbons, Guy E. Blelloch, Laxman Dhulipala, Yan Gu 0001, Charles McGuffey |
SPAA | 4 |
| 2021 | Scalable Community Detection via Parallel Correlation ClusteringabstractGraph clustering and community detection are central problems in modern data mining. The increasing need for analyzing billion-scale data calls for faster and more scalable algorithms for these problems. There are certain trade-offs between the quality and speed of such clustering algorithms. In this paper, we design scalable algorithms that achieve high quality when evaluated based on ground truth. We develop a generalized sequential and shared-memory parallel framework based on the LAMBDACC objective (introduced by Veldt et al.), which encompasses modularity and correlation clustering. Our framework consists of highly-optimized implementations that scale to large data sets of billions of edges and that obtain high-quality clusters compared to ground-truth data, on both unweighted and weighted graphs. Our empirical evaluation shows that this framework improves the state-of-the-art trade-offs between speed and quality of scalable community detection. For example, on a 30-core machine with two-way hyper-threading, our implementations achieve orders of magnitude speedups over other correlation clustering baselines, and up to 28.44× speedups over our own sequential baselines while maintaining or improving quality. Jessica Shi 0001, Laxman Dhulipala, David Eisenstat, Jakub Lacki, Vahab S. Mirrokni |
Proc. VLDB Endow. | 2 |
| 2021 | Theoretically and Practically Efficient Parallel Nucleus DecompositionabstractThis paper studies the nucleus decomposition problem, which has been shown to be useful in finding dense substructures in graphs. We present a novel parallel algorithm that is efficient both in theory and in practice. Our algorithm achieves a work complexity matching the best sequential algorithm while also having low depth (parallel running time), which significantly improves upon the only existing parallel nucleus decomposition algorithm (Sariyüce et al. , PVLDB 2018). The key to the theoretical efficiency of our algorithm is a new lemma that bounds the amount of work done when peeling cliques from the graph, combined with the use of a theoretically-efficient parallel algorithms for clique listing and bucketing. We introduce several new practical optimizations, including a new multi-level hash table structure to store information on cliques space-efficiently and a technique for traversing this structure cache-efficiently. On a 30-core machine with two-way hyper-threading on real-world graphs, we achieve up to a 55x speedup over the state-of-the-art parallel nucleus decomposition algorithm by Sariyüce et al. , and up to a 40x self-relative parallel speedup. We are able to efficiently compute larger nucleus decompositions than prior work on several million-scale graphs for the first time. Jessica Shi 0001, Laxman Dhulipala, Julian Shun |
Proc. VLDB Endow. | 2 |
| 2021 | ParChain: A Framework for Parallel Hierarchical Agglomerative Clustering using Nearest-Neighbor ChainabstractThis paper studies the hierarchical clustering problem, where the goal is to produce a dendrogram that represents clusters at varying scales of a data set. We propose the ParChain framework for designing parallel hierarchical agglomerative clustering (HAC) algorithms, and using the framework we obtain novel parallel algorithms for the complete linkage, average linkage, and Ward's linkage criteria. Compared to most previous parallel HAC algorithms, which require quadratic memory, our new algorithms require only linear memory, and are scalable to large data sets. ParChain is based on our parallelization of the nearest-neighbor chain algorithm, and enables multiple clusters to be merged on every round. We introduce two key optimizations that are critical for efficiency: a range query optimization that reduces the number of distance computations required when finding nearest neighbors of clusters, and a caching optimization that stores a subset of previously computed distances, which are likely to be reused. Experimentally, we show that our highly-optimized implementations using 48 cores with two-way hyper-threading achieve 5.8--110.1x speedup over state-of-the-art parallel HAC algorithms and achieve 13.75--54.23x self-relative speedup. Compared to state-of-the-art algorithms, our algorithms require up to 237.3x less space. Our algorithms are able to scale to data set sizes with tens of millions of points, which existing algorithms are not able to handle. Shangdi Yu, Yiqiu Wang, Yan Gu 0001, Laxman Dhulipala, Julian Shun |
Proc. VLDB Endow. | 4 |
| 2020 | Exploring the Design Space of Static and Incremental Graph Connectivity Algorithms on GPUsabstractConnected components and spanning forest are fundamental graph algorithms due to their use in many important applications, such as graph clustering and image segmentation. GPUs are an ideal platform for graph algorithms due to their high peak performance and memory bandwidth. While there exist several GPU connectivity algorithms in the literature, many design choices have not yet been explored. In this paper, we explore various design choices in GPU connectivity algorithms, including sampling, linking, and tree compression, for both the static as well as the incremental setting. Our various design choices lead to over 300 new GPU implementations of connectivity, many of which outperform state-of-the-art. We present an experimental evaluation, and show that we achieve an average speedup of 2.47x speedup over existing static algorithms. In the incremental setting, we achieve a throughput of up to 48.23 billion edges per second. Compared to state-of-the-art CPU implementations on a 72-core machine, we achieve a speedup of 8.26-14.51x for static connectivity and 1.85-13.36x for incremental connectivity using a Tesla V100 GPU. Changwan Hong, Laxman Dhulipala, Julian Shun |
PACT | 2 |
| 2020 | Optimizing ordered graph algorithms with GraphItabstractMany graph problems can be solved using ordered parallel graph algorithms that achieve significant speedup over their unordered counterparts by reducing redundant work. This paper introduces a new priority-based extension to GraphIt, a domain-specific language for writing graph applications, to simplify writing high-performance parallel ordered graph algorithms. The extension enables vertices to be processed in a dynamic order while hiding low-level implementation details from the user. We extend the compiler with new program analyses, transformations, and code generation to produce fast implementations of ordered parallel graph algorithms. We also introduce bucket fusion, a new performance optimization that fuses together different rounds of ordered algorithms to reduce synchronization overhead, resulting in 1.2×–3× speedup over the fastest existing ordered algorithm implementations on road networks with large diameters. With the extension, GraphIt achieves up to 3× speedup on six ordered graph algorithms over state-of-the-art frameworks and hand-optimized implementations (Julienne, Galois, and GAPBS) that support ordered algorithms. Yunming Zhang, Ajay Brahmakshatriya, Laxman Dhulipala, Shoaib Kamil 0001, Saman P. Amarasinghe, Julian Shun |
CGO | 4 |
| 2020 | Parallel Batch-Dynamic Trees via Change PropagationabstractThe dynamic trees problem is to maintain a forest subject to edge insertions and deletions while facilitating queries such as connectivity, path weights, and subtree weights. Dynamic trees are a fundamental building block of a large number of graph algorithms. Although traditionally studied in the single-update setting, dynamic algorithms capable of supporting batches of updates are increasingly relevant today due to the emergence of rapidly evolving dynamic datasets. Since processing updates on a single processor is often unrealistic for large batches of updates, designing parallel batch-dynamic algorithms that achieve provably low span is important for many applications. In this work, we design the first work-efficient parallel batch-dynamic algorithm for dynamic trees that is capable of supporting both path queries and subtree queries, as well as a variety of nonlocal queries. Previous work-efficient dynamic trees of Tseng et al. were only capable of handling subtree queries [ALENEX'19, (2019), pp. 92 - 106]. To achieve this, we propose a framework for algorithmically dynamizing static round-synchronous algorithms to obtain parallel batch-dynamic algorithms. In our framework, the algorithm designer can apply the technique to any suitably defined static algorithm. We then obtain theoretical guarantees for algorithms in our framework by defining the notion of a computation distance between two executions of the underlying algorithm. Our dynamic trees algorithm is obtained by applying our dynamization framework to the parallel tree contraction algorithm of Miller and Reif [FOCS'85, (1985), pp. 478 - 489], and then performing a novel analysis of the computation distance of this algorithm under batch updates. We show that k updates can be performed in O(klog(1+n/k)) work in expectation, which matches the algorithm of Tseng et al. while providing support for a substantially larger number of queries and applications. Umut A. Acar, Daniel Anderson, Guy E. Blelloch, Laxman Dhulipala, Sam Westrick |
ESA | 4 |
| 2020 | Parallel Batch-Dynamic Graphs: Algorithms and Lower BoundsabstractIn this paper we study the problem of dynamically maintaining graph properties under batches of edge insertions and deletions in the massively parallel model of computation. In this setting, the graph is stored on a number of machines, each having space strongly sublinear with respect to the number of vertices, that is, nϵ for some constant 0 < ϵ < 1. Our goal is to handle batches of updates and queries where the data for each batch fits onto one machine in constant rounds of parallel computation, as well as to reduce the total communication between the machines. This objective corresponds to the gradual buildup of databases over time, while the goal of obtaining constant rounds of communication for problems in the static setting has been elusive for problems as simple as undirected graph connectivity. We give an algorithm for dynamic graph connectivity in this setting with constant communication rounds and communication cost almost linear in terms of the batch size. Our techniques combine a new graph contraction technique, an independent random sample extractor from correlated samples, as well as distributed data structures supporting parallel updates and queries in batches. We also illustrate the power of dynamic algorithms in the MPC model by showing that the batched version of the adaptive connectivity problem is P-complete in the centralized setting, but sub-linear sized batches can be handled in a constant number of rounds. Due to the wide applicability of our approaches, we believe it represents a practically-motivated workaround to the current difficulties in designing more efficient massively parallel static graph algorithms. Laxman Dhulipala, David Durfee, Janardhan Kulkarni, Richard Peng, Saurabh Sawlani, Xiaorui Sun |
SODA | 1 |
| 2020 | ParlayLib - A Toolkit for Parallel Algorithms on Shared-Memory Multicore MachinesabstractParlayLib is a C++ library for developing efficient parallel algorithms and software on shared-memory multicore machines. It provides additional tools and primitives that go beyond what is available in the C++ standard library, and simplifies the task of programming provably efficient and scalable parallel algorithms. It consists of a sequence data type (analogous to std::vector), many parallel routines and algorithms, a work-stealing scheduler to support nested parallelism, and a scalable memory allocator. It has been developed over a period of seven years and used in a variety of software including the PBBS benchmark suite, the Ligra, Julienne, and Aspen graph processing frameworks, the Graph Based Benchmark Suite, and the PAM library for parallel balanced binary search trees, and an implementation of the TPC-H benchmark suite. Guy E. Blelloch, Daniel Anderson, Laxman Dhulipala |
SPAA | 3 |
| 2020 | Parallel Graph Algorithms in Constant Adaptive Rounds: Theory meets PracticeabstractWe study fundamental graph problems such as graph connectivity, minimum spanning forest (MSF), and approximate maximum (weight) matching in a distributed setting. In particular, we focus on the Adaptive Massively Parallel Computation (AMPC) model, which is a theoretical model that captures MapReduce-like computation augmented with a distributed hash table. We show the first AMPC algorithms for all of the studied problems that run in a constant number of rounds and use only O ( n ϵ ) space per machine, where 0 < ϵ < 1. Our results improve both upon the previous results in the AMPC model, as well as the best-known results in the MPC model, which is the theoretical model underpinning many popular distributed computation frameworks, such as MapReduce, Hadoop, Beam, Pregel and Giraph. Finally, we provide an empirical comparison of the algorithms in the MPC and AMPC models in a fault-tolerant distributed computation environment. We empirically evaluate our algorithms on a set of large real-world graphs and show that our AMPC algorithms can achieve improvements in both running time and round-complexity over optimized MPC baselines. Soheil Behnezhad, Laxman Dhulipala, Hossein Esfandiari, Jakub Lacki, Vahab S. Mirrokni, Warren Schudy |
Proc. VLDB Endow. | 2 |
| 2020 | ConnectIt: A Framework for Static and Incremental Parallel Graph Connectivity AlgorithmsabstractConnected components is a fundamental kernel in graph applications. The fastest existing multicore algorithms for solving graph connectivity are based on some form of edge sampling and/or linking and compressing trees. However, many combinations of these design choices have been left unexplored. In this paper, we design the ConnectIt framework, which provides different sampling strategies as well as various tree linking and compression schemes. ConnectIt enables us to obtain several hundred new variants of connectivity algorithms, most of which extend to computing spanning forest. In addition to static graphs, we also extend ConnectIt to support mixes of insertions and connectivity queries in the concurrent setting. We present an experimental evaluation of ConnectIt on a 72-core machine, which we believe is the most comprehensive evaluation of parallel connectivity algorithms to date. Compared to a collection of state-of-the-art static multicore algorithms, we obtain an average speedup of 12.4x (2.36x average speedup over the fastest existing implementation for each graph). Using ConnectIt, we are able to compute connectivity on the largest publicly-available graph (with over 3.5 billion vertices and 128 billion edges) in under 10 seconds using a 72-core machine, providing a 3.1x speedup over the fastest existing connectivity result for this graph, in any computational setting. For our incremental algorithms, we show that our algorithms can ingest graph updates at up to several billion edges per second. To guide the user in selecting the best variants in ConnectIt for different situations, we provide a detailed analysis of the different strategies. Finally, we show how the techniques in ConnectIt can be used to speed up two important graph applications: approximate minimum spanning forest and SCAN clustering. Laxman Dhulipala, Changwan Hong, Julian Shun |
Proc. VLDB Endow. | 1 |
| 2020 | Sage: Parallel Semi-Asymmetric Graph Algorithms for NVRAMsabstractNon-volatile main memory (NVRAM) technologies provide an attractive set of features for large-scale graph analytics, including byte-addressability, low idle power, and improved memory-density. NVRAM systems today have an order of magnitude more NVRAM than traditional memory (DRAM). NVRAM systems could therefore potentially allow very large graph problems to be solved on a single machine, at a modest cost. However, a significant challenge in achieving high performance is in accounting for the fact that NVRAM writes can be much more expensive than NVRAM reads. In this paper, we propose an approach to parallel graph analytics using the Parallel Semi-Asymmetric Model (PSAM) , in which the graph is stored as a read-only data structure (in NVRAM), and the amount of mutable memory is kept proportional to the number of vertices. Similar to the popular semi-external and semi-streaming models for graph analytics, the PSAM approach assumes that the vertices of the graph fit in a fast read-write memory (DRAM), but the edges do not. In NVRAM systems, our approach eliminates writes to the NVRAM, among other benefits. To experimentally study this new setting, we develop Sage , a parallel semi-asymmetric graph engine with which we implement provably-efficient (and often work-optimal) PSAM algorithms for over a dozen fundamental graph problems. We experimentally study Sage using a 48--core machine on the largest publicly-available real-world graph (the Hyperlink Web graph with over 3.5 billion vertices and 128 billion edges) equipped with Optane DC Persistent Memory, and show that Sage outperforms the fastest prior systems designed for NVRAM. Importantly, we also show that Sage nearly matches the fastest prior systems running solely in DRAM, by effectively hiding the costs of repeatedly accessing NVRAM versus DRAM. Laxman Dhulipala, Charles McGuffey, Hongbo Kang, Yan Gu 0001, Guy E. Blelloch, Phillip B. Gibbons, Julian Shun |
Proc. VLDB Endow. | 1 |
| 2019 | Batch-Parallel Euler Tour TreesabstractThe dynamic trees problem is to maintain a forest undergoing edge insertions and deletions while supporting queries for information such as connectivity. There are many existing data structures for this problem, but few of them are capable of exploiting parallelism in the batch setting, in which large batches of edges are inserted or deleted from the forest at once. In this paper, we demonstrate that the Euler tour tree, an existing sequential dynamic trees data structure, can be parallelized in the batch setting. For a batch of k updates over a forest of n vertices, our parallel Euler tour trees perform O(k log(1 + n/k)) expected work with O(log n) depth with high probability. Our work bound is asymptotically optimal, and we improve on the depth bound achieved by Acar et al. for the batch-parallel dynamic trees problem [1]. Our main building block for parallelizing Euler tour trees is a batch-parallel skip list data structure, which we believe may be of independent interest. Euler tour trees require a sequence data structure capable of joins and splits. Traditionally, balanced binary trees are used, but they are difficult to join or split in parallel when processing batches of updates. We show that skip lists, on the other hand, support batches of joins or splits of size k over n elements with O(k log(1 + n/k)) work in expectation and O(log n) depth with high probability. We also achieve the same efficiency bounds for augmented skip lists, which allows us to augment our Euler tour trees to support subtree queries. Our data structures achieve between 67–96 × self-relative speedup on 72 cores with hyper-threading on large batch sizes. Our data structures also significantly outperform the fastest existing sequential dynamic trees data structures empirically. Tom Tseng, Laxman Dhulipala, Guy E. Blelloch |
ALENEX | 2 |
| 2019 | Near-Optimal Massively Parallel Graph ConnectivityabstractIdentifying the connected components of a graph, apart from being a fundamental problem with countless applications, is a key primitive for many other algorithms. In this paper, we consider this problem in parallel settings. Particularly, we focus on the Massively Parallel Computations (MPC) model, which is the standard theoretical model for modern parallel frameworks such as MapReduce, Hadoop, or Spark. We consider the truly sublinear regime of MPC for graph problems where the space per machine is nδfor some desirably small constant δ ϵ (0, 1). We present an algorithm that for graphs with diameter D in the wide range [logεn, n], takes O(log D) rounds to identify the connected components and takes O(log log n) rounds for all other graphs. The algorithm is randomized, succeeds with high probability, does not require prior knowledge of D, and uses an optimal total space of O(m). We complement this by showing a conditional lower-bound based on the widely believed TwoCycle conjecture that Ω(log D) rounds are indeed necessary in this setting. Studying parallel connectivity algorithms received a resurgence of interest after the pioneering work of Andoni etal [FOCS 2018] who presented an algorithm with O(log D log log n) round-complexity. Our algorithm improves this result for the whole range of values of D and almost settles the problem due to the conditional lower-bound. Additionally, we show that with minimal adjustments, our algorithm can also be implemented in a variant of (CRCW) PRAM in asymptotically the same number of rounds. Soheil Behnezhad, Laxman Dhulipala, Hossein Esfandiari, Jakub Lacki, Vahab S. Mirrokni |
FOCS | 2 |
| 2019 | Low-latency graph streaming using compressed purely-functional treesabstractThere has been a growing interest in the graph-streaming setting where a continuous stream of graph updates is mixed with graph queries. In principle, purely-functional trees are an ideal fit for this setting as they enable safe parallelism, lightweight snapshots, and strict serializability for queries. However, directly using them for graph processing leads to significant space overhead and poor cache locality. Laxman Dhulipala, Guy E. Blelloch, Julian Shun |
PLDI | 1 |
| 2019 | Parallel Batch-Dynamic Graph ConnectivityabstractIn this paper, we study batch parallel algorithms for the dynamic connectivity problem, a fundamental problem that has received considerable attention in the sequential setting. The best sequential algorithm for dynamic connectivity is the elegant level-set algorithm of Holm, de Lichtenberg and Thorup (HDT), which achieves O(łog2 n) amortized time per edge insertion or deletion, and O(łog n) time per query. Umut A. Acar, Daniel Anderson, Guy E. Blelloch, Laxman Dhulipala |
SPAA | 4 |
| 2019 | Massively Parallel Computation via Remote Memory AccessabstractWe introduce the Adaptive Massively Parallel Computation (AMPC) model, which is an extension of the Massively Parallel Computation (MPC) model. At a high level, the AMPC model strengthens the MPC model by storing all messages sent within a round in a distributed data store. In the following round, all machines are provided with random read access to the data store, subject to the same constraints on the total amount of communication as in the MPC model. Our model is inspired by the previous empirical studies of distributed graph algorithms [8, 30] using MapReduce and a distributed hash table service [17]. This extension allows us to give new graph algorithms with much lower round complexities compared to the best-known solutions in the MPC model. In particular, in the AMPC model we show how to solve maximal independent set in O (1) rounds and connectivity/minimum spanning tree in O (log log m / n n rounds both using O ( n δ ) space per machine for constant δ < 1. In the same memory regime for MPC, the best-known algorithms for these problems require poly log n rounds. Our results imply that the 2-C YCLE conjecture, which is widely believed to hold in the MPC model, does not hold in the AMPC model. Soheil Behnezhad, Laxman Dhulipala, Hossein Esfandiari, Jakub Lacki, Vahab S. Mirrokni, Warren Schudy |
SPAA | 2 |
| 2018 | Theoretically Efficient Parallel Graph Algorithms Can Be Fast and ScalableabstractThere has been significant recent interest in parallel graph processing due to the need to quickly analyze the large graphs available today. Many graph codes have been designed for distributed memory or external memory. However, today even the largest publicly-available real-world graph (the Hyperlink Web graph with over 3.5 billion vertices and 128 billion edges) can fit in the memory of a single commodity multicore server. Nevertheless, most experimental work in the literature report results on much smaller graphs, and the ones for the Hyperlink graph use distributed or external memory. Therefore, it is natural to ask whether we can efficiently solve a broad class of graph problems on this graph in memory. This paper shows that theoretically-efficient parallel graph algorithms can scale to the largest publicly-available graphs using a single machine with a terabyte of RAM, processing them in minutes. We give implementations of theoretically-efficient parallel algorithms for 13 important graph problems. We also present the optimizations and techniques that we used in our implementations, which were crucial in enabling us to process these large graphs quickly. We show that the running times of our implementations outperform existing state-of-the-art implementations on the largest real-world graphs. For many of the problems that we consider, this is the first time they have been solved on graphs at this scale. We provide a publicly-available benchmark suite containing our implementations. Laxman Dhulipala, Guy E. Blelloch, Julian Shun |
SPAA | 1 |
| 2017 | Julienne: A Framework for Parallel Graph Algorithms using Work-efficient BucketingabstractExisting graph-processing frameworks let users develop efficient implementations for many graph problems, but none of them support efficiently bucketing vertices, which is needed for bucketing-based graph algorithms such as \Delta-stepping and approximate set-cover. Motivated by the lack of simple, scalable, and efficient implementations of bucketing-based algorithms, we develop the Julienne framework, which extends a recent shared-memory graph processing framework called Ligra with an interface for maintaining a collection of buckets under vertex insertions and bucket deletions. Laxman Dhulipala, Guy E. Blelloch, Julian Shun |
SPAA | 1 |
| 2016 | Compressing Graphs and Indexes with Recursive Graph BisectionabstractGraph reordering is a powerful technique to increase the locality of the representations of graphs, which can be helpful in several applications. We study how the technique can be used to improve compression of graphs and inverted indexes. Laxman Dhulipala, Igor Kabiljo, Brian Karrer, Giuseppe Ottaviano, Sergey Pupyrev, Alon Shalita |
KDD | 1 |
| 2015 | Smaller and Faster: Parallel Processing of Compressed Graphs with Ligra+abstractWe study compression techniques for parallel in-memory graph algorithms, and show that we can achieve reduced space usage while obtaining competitive or improved performance compared to running the algorithms on uncompressed graphs. We integrate the compression techniques into Ligra, a recent shared-memory graph processing system. This system, which we call Ligra+, is able to represent graphs using about half of the space for the uncompressed graphs on average. Furthermore, Ligra+ is slightly faster than Ligra on average on a 40-core machine with hyper-threading. Our experimental study shows that Ligra+ is able to process graphs using less memory, while performing as well as or faster than Ligra. Julian Shun, Laxman Dhulipala, Guy E. Blelloch |
DCC | 2 |
| 2014 | A simple and practical linear-work parallel algorithm for connectivityabstractGraph connectivity is a fundamental problem in computer science with many important applications. Sequentially, connectivity can be done in linear work easily using breadth-first search or depth-first search. There have been many parallel algorithms for connectivity, however the simpler parallel algorithms require super-linear work, and the linear-work polylogarithmic-depth parallel algorithms are very complicated and not amenable to implementation. In this work, we address this gap by describing a simple and practical expected linear-work, polylogarithmic depth parallel algorithm for graph connectivity. Our algorithm is based on a recent parallel algorithm for generating low-diameter graph decompositions by Miller et al., which uses parallel breadth-first searches. We discuss a (modest) variant of their decomposition algorithm which preserves the theoretical complexity while leading to simpler and faster implementations. We experimentally compare the connectivity algorithms using both the original decomposition algorithm and our modified decomposition algorithm. We also experimentally compare against the fastest existing parallel connectivity implementations (which are not theoretically linear-work and polylogarithmic-depth) and show that our implementations are competitive for various input graphs. In addition, we compare our implementations to sequential connectivity algorithms and show that on 40 cores we achieve good speedup relative to the sequential implementations for many input graphs. We discuss the various optimizations used in our implementations and present an extensive experimental analysis of the performance. Our algorithm is the first parallel connectivity algorithm that is both theoretically and practically efficient. Julian Shun, Laxman Dhulipala, Guy E. Blelloch |
SPAA | 2 |