arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1604.08080cs.LOcs.DCcs.PL
收藏

按时间链接的并发数据结构

Concurrent Data Structures Linked in Time

Germán Andrés Delbianco, Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee

摘要:

关于并发数据结构的正确性的论证通常通过使用线性化的概念并指定数据结构的过程的线性化点来执行。这种参数通常是麻烦的,因为线性化点的时间位置可以是动态的(取决于干扰、运行时值和来自过去甚至未来的事件)、非本地的(出现在所考虑的过程之外的过程中),并且其在执行跟踪中的位置只能在所考虑的过程已经终止之后确定。在本文中,我们提出了一种新的方法,基于分离式逻辑,推理并发对象的线性化点。我们接受线性化点的动态特性,并将其编码为数据结构的辅助状态的一部分,以便当发生某些适当的运行时事件时,可以根据需要通过辅助代码在适当的位置动态修改它。我们把这个想法命名为时间链接,因为它把时间推理简化为空间推理。例如,修改线性化点的时间位置可以类似于分离逻辑中的指针更新来建模。此外,辅助状态提供了一种方便的方式来简明地表达对此类并发对象的客户端进行推理所必需的属性。我们通过验证(在Coq中机械地)Jayanti以及一些客户端的复杂的最佳快照算法来说明该方法。

英文摘要:

Arguments about correctness of a concurrent data structure are typically carried out by using the notion of linearizability and specifying the linearization points of the data structure's procedures. Such arguments are often cumbersome as the linearization points' position in time can be dynamic (depend on the interference, run-time values and events from the past, or even future), non-local (appear in procedures other than the one considered), and whose position in the execution trace may only be determined after the considered procedure has already terminated. In this paper we propose a new method, based on a separation-style logic, for reasoning about concurrent objects with such linearization points. We embrace the dynamic nature of linearization points, and encode it as part of the data structure's auxiliary state, so that it can be dynamically modified in place by auxiliary code, as needed when some appropriate run-time event occurs. We name the idea linking-in-time, because it reduces temporal reasoning to spatial reasoning. For example, modifying a temporal position of a linearization point can be modeled similarly to a pointer update in separation logic. Furthermore, the auxiliary state provides a convenient way to concisely express the properties essential for reasoning about clients of such concurrent objects. We illustrate the method by verifying (mechanically in Coq) an intricate optimal snapshot algorithm due to Jayanti, as well as some clients.

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

↑