Skip to main content
QUICK REVIEW

[论文解读] Maintaining Acyclicity of Concurrent Graphs

Sathya Peri, Muktikanta Sa|arXiv (Cornell University)|Nov 12, 2016
Distributed systems and fault tolerance参考文献 7被引用 6
一句话总结

本文提出两种并发算法——基于无阻塞快照和无等待可达性检查——用于在并发更新下维护有向图的无环性。与粗粒度锁相比,该方法实现了显著的性能提升,支持高效、可扩展的图操作,同时保持无环不变性,这对数据库中的串行化图测试和事务内存等应用至关重要。

ABSTRACT

In this paper, we consider the problem of preserving acyclicity in a directed graph (for shared memory architecture) that is concurrently being updated by threads adding/deleting vertices and edges. To the best of our knowledge, no previous paper has presented a con- current graph data structure. We implement the concurrent directed graph data-structure as a concurrent adjacency list representation. We extend the lazy list implementation of concurrent linked lists for maintaining concurrent adjacency lists. There exists a number of graph applications which require the acyclic invariant in a directed graph. One such example is Serialization Graph Testing Algorithm used in databases and transactional memory. We present two concurrent algorithms for maintaining acyclicity in a concurrent graph: (i) Based on obstruction-free snapshots (ii) Using wait-free reachability. We compare the performance of these algorithms against the coarse-grained locking strategy, commonly used technique for allowing concurrent updates. We present the speedup obtained by these algorithms over sequential execution. As a future direction, we plan to extend this data structure for other progress conditions.

研究动机与目标

  • 解决缺乏在并发更新下保持无环性的并发图数据结构的问题。
  • 在多线程动态添加或删除顶点和边的共享内存系统中,实现高效、可扩展的图操作。
  • 支持对无环不变性有严格要求的关键应用,如数据库中的串行化图测试和事务内存。
  • 设计在并发访问下保证正确性、同时最小化阻塞和竞争的算法。

提出的方法

  • 将懒惰链表方法扩展至实现有向图中的并发邻接表。
  • 使用无阻塞快照检测并防止并发边插入过程中产生环。
  • 采用无等待可达性检查验证无环性,避免阻塞,确保在高竞争环境下仍能推进。
  • 实现并发邻接表表示,以线程安全的方式支持动态图更新。
  • 集成轻量级且高效的环检测机制,实现实时无环性质验证。
  • 以粗粒度锁为基线,评估性能,重点关注加速比和可扩展性。

实验结果

研究问题

  • RQ1无阻塞快照能否有效用于在并发有向图中维护无环性?
  • RQ2无等待可达性能否为并发图中的环检测提供可扩展的替代方案,以替代粗粒度锁?
  • RQ3所提出的算法在加速比和可扩展性方面与粗粒度锁相比表现如何?
  • RQ4在并发更新下维护无环性时,进度保证与性能之间的权衡是什么?

主要发现

  • 所提出的算法相比串行执行实现了显著的加速,表现出在并发环境中的高可扩展性。
  • 基于无阻塞快照的算法相比粗粒度锁减少了竞争,提升了吞吐量。
  • 无等待可达性方法即使在高竞争环境下也能保证进度,提供更强的进度保证。
  • 两种算法在并发顶点和边操作期间均成功维持了无环不变性。
  • 性能评估证实,这些算法在可扩展性和响应能力方面优于粗粒度锁。
  • 结果验证了构建高效并发图数据结构的可行性,该结构具备强正确性保证,可确保无环性。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。