The Graph Database Interface: Scaling Online Transactional and Analytical Graph Workloads to Hundreds of Thousands of Cores
arXiv:2305.11162 · doi:10.1145/3581784.3607068
Abstract
Graph databases (GDBs) are crucial in academic and industry applications. The key challenges in developing GDBs are achieving high performance, scalability, programmability, and portability. To tackle these challenges, we harness established practices from the HPC landscape to build a system that outperforms all past GDBs presented in the literature by orders of magnitude, for both OLTP and OLAP workloads. For this, we first identify and crystallize performance-critical building blocks in the GDB design, and abstract them into a portable and programmable API specification, called the Graph Database Interface (GDI), inspired by the best practices of MPI. We then use GDI to design a GDB for distributed-memory RDMA architectures. Our implementation harnesses one-sided RDMA communication and collective operations, and it offers architecture-independent theoretical performance guarantees. The resulting design achieves extreme scales of more than a hundred thousand cores. Our work will facilitate the development of next-generation extreme-scale graph databases.
arXiv commentBest Paper Finalist at ACM Supercomputing '23 (SC '23)
References in corpus (8)
- A Comprehensive Survey on Graph Neural Networks
- Geometric deep learning: going beyond Euclidean data
- Representation Learning on Graphs: Methods and Applications
- LiveGraph: A Transactional Graph Storage System with Purely Sequential Adjacency List Scans
- Enabling Highly-Scalable Remote Memory Access Programming with MPI-3 One Sided
- An introduction to Graph Data Management
- Weaver: A High-Performance, Transactional Graph Database Based on Refinable Timestamps
- A1: A Distributed In-Memory Graph Database