当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Atomicity Checking in Linear Time using Vector Clocks
arXiv - CS - Programming Languages Pub Date : 2020-01-14 , DOI: arxiv-2001.04961
Umang Mathur, Mahesh Viswanathan

Multi-threaded programs are challenging to write. Developers often need to reason about a prohibitively large number of thread interleavings to reason about the behavior of software. A non-interference property like atomicity can reduce this interleaving space by ensuring that any execution is equivalent to an execution where all atomic blocks are executed serially. We consider the well studied notion of conflict serializability for dynamically checking atomicity. Existing algorithms detect violations of conflict serializability by detecting cycles in a graph of transactions observed in a given execution. The number of edges in such a graph can grow quadratically with the length of the trace making the analysis not scalable. In this paper, we present AeroDrome, a novel single pass linear time algorithm that uses vector clocks to detect violations of conflict serializability in an online setting. Experiments show that AeroDrome scales to traces with a large number of events with significant speedup.

中文翻译:

使用矢量时钟在线性时间内检查原子性

编写多线程程序具有挑战性。开发人员通常需要对大量线程交错进行推理,以对软件的行为进行推理。像原子性这样的非干扰特性可以通过确保任何执行都等同于所有原子块串行执行的执行来减少这种交错空间。我们考虑了用于动态检查原子性的冲突可串行化概念。现有算法通过检测在给定执行中观察到的事务图中的循环来检测冲突可串行化的违规。此类图中的边数可以随轨迹长度呈二次方增长,从而使分析无法扩展。在本文中,我们介绍了 AeroDrome,一种新颖的单通道线性时间算法,它使用矢量时钟来检测在线设置中冲突可串行化的违规情况。实验表明,AeroDrome 可扩展到具有大量事件的轨迹,并具有显着的加速。
更新日期:2020-10-20
down
wechat
bug