Evolving graphs in the real world are large-scale and constantly changing, as hundreds of thousands of updates may come every second. Monotonic algorithms such as Reachability and Shortest Path are widely used in real-time analytics to gain both static and temporal insights and can be accelerated by incremental computing. Existing streaming systems adopt the incremental computing model and achieve either low latency or high throughput, but not both. However, both high throughput and low latency are required in real scenarios such as financial fraud detection. This paper presents RisGraph, a real-time streaming system that provides low-latency analysis for each update with high throughput. RisGraph addresses the challenge with localized data access and inter-update parallelism. We propose a data structure named Indexed Adjacency Lists and use sparse arrays and Hybrid Parallel Mode to enable localized data access. To achieve inter-update parallelism, we propose a domain-specific concurrency control mechanism based on the classification of safe and unsafe updates. Experiments show that RisGraph can ingest millions of updates per second for graphs with several hundred million vertices and billions of edges, and the P999 processing time latency is within 20 milliseconds. RisGraph achieves orders-of-magnitude improvement on throughput when analyses are executed for each update without batching and performs better than existing systems with batches of up to 20 million updates.
翻译:真实世界中的变化图是大规模和不断变化的,因为数十万次更新可能每秒都会出现。 单调算法,如“ 适得” 和“ 最短路径” 等单调算法被广泛用于实时分析,以获得静态和时间洞的洞察力,并且可以通过增量计算加速。 现有的流式系统采用递增计算模型,实现低潜伏或高输送量, 但不是两者兼而有。 但是, 在金融欺诈检测等真实假设中, 需要高吞吐量和低延缓度, 但是, 在金融欺诈检测等真实假设中, 高吞吐量和低悬浮度都需要。 本文展示了RisGraph, 一个实时流系统, 提供高吞吐量的每次更新的低延度分析。 RisGraph 应对挑战, 以本地化的数据访问和最新平行的平行数据列表命名为数据列表, 使用稀薄的阵列和混合的平行模式来实现本地数据访问。 为了实现最新数据分类, 我们提议一个特定货币控制机制, 安全且不安全的更新。 实验显示里格拉夫能够以每秒更新20百万次的图表进行上百万次的升级的更新, 和每20万次的图像的升级的升级进行20万次更新。