Kairos: Efficient Temporal Graph Analytics on a Single Machine
Joana M. F. da Trindade, Julian Shun, Samuel Madden, Nesime Tatbul
TL;DR
Kairos tackles the challenge of efficient temporal graph analytics on commodity hardware by introducing a temporal-edge-centric framework that runs on a single multi-core machine. Its core innovations are the Temporal Graph Edge Registry (TGER), a PST-like index for time intervals, and selective indexing that decides at runtime between index-based and scan-based access methods using a novel cost model and a 2D start-time/duration histogram. The framework extends Ligra with a TemporalEdgeMap primitive and a Temporal CSR (T-CSR) representation, achieving significant speedups over both shared-memory and distributed systems on real and synthetic temporal graphs, including up to 60x faster against some baselines. The work demonstrates strong scalability, effective query optimization under skewed temporal data, and high estimator accuracy for indexing decisions, enabling practical, high-performance temporal graph analytics on a single machine.
Abstract
Many important societal problems are naturally modeled as algorithms over temporal graphs. To date, however, most graph processing systems remain inefficient as they rely on distributed processing even for graphs that fit well within a commodity server's available storage. In this paper, we introduce Kairos, a temporal graph analytics system that provides application developers a framework for efficiently implementing and executing algorithms over temporal graphs on a single machine. Specifically, Kairos relies on fork-join parallelism and a highly optimized parallel data structure as core primitives to maximize performance of graph processing tasks needed for temporal graph analytics. Furthermore, we introduce the notion of selective indexing and show how it can be used with an efficient index to speedup temporal queries. Our experiments on a 24-core server show that our algorithms obtain good parallel speedups, and are significantly faster than equivalent algorithms in existing temporal graph processing systems: up to 60x against a shared-memory approach, and several orders of magnitude when compared with distributed processing of graphs that fit within a single server.
