arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2001.04961cs.PLcs.SE
收藏

利用向量时钟实现线性时间的原子性检验

Atomicity Checking in Linear Time using Vector Clocks

Umang Mathur, Mahesh Viswanathan

摘要:

多线程程序的编写具有挑战性。开发人员经常需要推理大量的线程交织来推理软件的行为。像原子性这样的非干扰属性可以通过确保任何执行都等效于所有原子块都串行执行的执行来减少这种交织空间。我们认为,研究的概念冲突可串行化的动态检查原子性。现有的算法通过检测在给定执行中观察到的事务图中的周期来检测冲突可串行化性的违反。这样的图中的边的数量可以随着迹线的长度二次地增长,使得分析不可缩放。在本文中,我们提出了AeroDrome,一种新的单通线性时间算法,使用矢量时钟检测违反冲突串行化在线设置。实验表明,AeroDrome可扩展到具有大量事件的跟踪,具有显著的加速效果。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑