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.
翻译:许多重要的社会问题天然地被建模为时序图上的算法。然而,时至今日,大多数图处理系统即使对于能够良好适配商用服务器可用存储容量的图,也仍然依赖分布式处理,因而效率低下。本文介绍了Kairos——一个时序图分析系统,它为应用开发者提供了一个在单机上高效实现和执行时序图算法的框架。具体而言,Kairos利用分叉-连接并行机制和高度优化的并行数据结构作为核心原语,以最大化时序图分析所需图处理任务的性能。此外,我们引入了选择性索引的概念,并展示了如何结合高效索引来加速时序查询。我们在一个24核服务器上的实验表明,我们的算法获得了良好的并行加速比,并且显著快于现有时序图处理系统中的等效算法:相较于共享内存方法最高可加速60倍,而与处理单台服务器即可容纳的图的分布式处理方法相比,加速效果则可达数个数量级。