Table of Contents
Fetching ...

GTX: A Write-Optimized Latch-free Graph Data System with Transactional Support -- Extended Version

Libin Zhou, Lu Xing, Yeasir Rayhan, Walid. G. Aref

TL;DR

GTX tackles the challenge of supporting ACID transactions over dynamic graphs in main memory by combining a latch-free MVCC graph store with delta-chain based storage and an adaptive, lock-free concurrency control. Its edge-delta blocks, vertex index, and block-protection protocols enable high-throughput concurrent updates while preserving efficient adjacency scans and analytics. The system introduces a cooperative, hybrid commit with Lazy Update, and a fuzzy, delta-based durability and recovery model, including parallel recovery and incremental checkpoints. Experimental results show GTX achieves up to 11x better write-throughput on heavy workloads and maintains competitive analytics latency, making it a practical solution for real-world dynamic-graph applications with temporal locality and hub vertices.

Abstract

This paper introduces GTX, a standalone main-memory write-optimized graph data system that specializes in structural and graph property updates while enabling concurrent reads and graph analytics through ACID transactions. Recent graph systems target concurrent read and write support while guaranteeing transaction semantics. However, their performance suffers from updates with real-world temporal locality over the same vertices and edges due to vertex-centric lock contentions. GTX has an adaptive delta-chain locking protocol on top of a carefully designed latch-free graph storage. It eliminates vertex-level locking contention, and adapts to real-life workloads while maintaining sequential access to the graph's adjacency lists storage. GTX's transactions further support cache-friendly block level concurrency control, and cooperative group commit and garbage collection. This combination of features ensures high update throughput and provides low-latency graph analytics. Based on experimental evaluation, in addition to not sacrificing the performance of read-heavy analytical workloads, and having competitive performance similar to state-of-the-art systems, GTX has high read-write transaction throughput. For write-heavy transactional workloads, GTX achieves up to 11x better transaction throughput than the best-performing state-of-the-art system.

GTX: A Write-Optimized Latch-free Graph Data System with Transactional Support -- Extended Version

TL;DR

GTX tackles the challenge of supporting ACID transactions over dynamic graphs in main memory by combining a latch-free MVCC graph store with delta-chain based storage and an adaptive, lock-free concurrency control. Its edge-delta blocks, vertex index, and block-protection protocols enable high-throughput concurrent updates while preserving efficient adjacency scans and analytics. The system introduces a cooperative, hybrid commit with Lazy Update, and a fuzzy, delta-based durability and recovery model, including parallel recovery and incremental checkpoints. Experimental results show GTX achieves up to 11x better write-throughput on heavy workloads and maintains competitive analytics latency, making it a practical solution for real-world dynamic-graph applications with temporal locality and hub vertices.

Abstract

This paper introduces GTX, a standalone main-memory write-optimized graph data system that specializes in structural and graph property updates while enabling concurrent reads and graph analytics through ACID transactions. Recent graph systems target concurrent read and write support while guaranteeing transaction semantics. However, their performance suffers from updates with real-world temporal locality over the same vertices and edges due to vertex-centric lock contentions. GTX has an adaptive delta-chain locking protocol on top of a carefully designed latch-free graph storage. It eliminates vertex-level locking contention, and adapts to real-life workloads while maintaining sequential access to the graph's adjacency lists storage. GTX's transactions further support cache-friendly block level concurrency control, and cooperative group commit and garbage collection. This combination of features ensures high update throughput and provides low-latency graph analytics. Based on experimental evaluation, in addition to not sacrificing the performance of read-heavy analytical workloads, and having competitive performance similar to state-of-the-art systems, GTX has high read-write transaction throughput. For write-heavy transactional workloads, GTX achieves up to 11x better transaction throughput than the best-performing state-of-the-art system.
Paper Structure (32 sections, 15 figures, 2 tables)

This paper contains 32 sections, 15 figures, 2 tables.

Figures (15)

  • Figure 1: GTX Overview: Transactions and graph store
  • Figure 2: Vertex Delta and Operations
  • Figure 3: Edge-deltas Block and Edge Operations
  • Figure 4: Consolidation Example
  • Figure 5: Thread 5's Transaction Table Partition
  • ...and 10 more figures