A data structure is called history independent if its internal memory representation does not reveal the history of operations applied to it, only its current state. In this paper we study history independence for concurrent data structures, and establish foundational possibility and impossibility results. We show that a large class of concurrent objects cannot be implemented from smaller base objects in a manner that is both wait-free and history independent; but if we settle for either lock-freedom instead of wait-freedom or for a weak notion of history independence, then at least one object in the class, multi-valued single-reader single-writer registers, can be implemented from smaller base objects, binary registers. On the other hand, using large base objects, we give a strong possibility result in the form of a universal construction: an object with $s$ possible states can be implemented in a wait-free, history-independent manner from compare-and-swap base objects that each have $O(s + 2^n)$ possible memory states, where $n$ is the number of processes in the system.
翻译:数据结构若其内部内存表示不揭示应用于其中的操作历史,仅反映其当前状态,则称为历史无关。本文研究并发数据结构的历史无关性,并建立基础性的可能性和不可能性结果。我们证明,一大类并发对象无法以既无等待又历史无关的方式从更小的基础对象实现;但如果满足于无锁而非无等待,或采用较弱的历史无关概念,则这类对象中至少有一个——多值单读单写寄存器——可以从更小的基础对象(二进制寄存器)实现。另一方面,使用大型基础对象,我们给出一个通用构造形式的强可能性结果:具有$s$种可能状态的对象,可以从每个具有$O(s + 2^n)$种可能内存状态的比较并交换基础对象,以无等待、历史无关的方式实现,其中$n$是系统中的进程数。