Table of Contents
Fetching ...

History-Independent Concurrent Objects

Hagit Attiya, Michael A. Bender, Martin Farach-Colton, Rotem Oshman, Noa Schiller

TL;DR

This work initiates a thorough study of history independence (HI) for concurrent data structures, formalizing WHI/SHI in a concurrent setting and introducing weaker HI notions (state-quiescent HI, quiescent HI) to address non-quiescent executions. It proves strong impossibility results: for a broad class of objects, there is no wait-free HI implementation from smaller base objects; yet it provides a powerful universal HI construction from large CAS/LLSC primitives, yielding a wait-free, state-quiescent HI implementation for any object. The key technical advance is a universal HI architecture built from context-aware LLSC (R-LLSC) that can be implemented from atomic CAS, alongside a suite of supporting results (lock-free HI R-LLSC, quiescent HI variants) that demonstrate how to erase history while preserving linearizability. The findings illuminate fundamental limits and opportunities for secure, history-preserving memory representations in concurrent systems, offering concrete algorithms and a roadmap for applying HI in practice and guiding future work on randomized HI and broader object classes.

Abstract

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.

History-Independent Concurrent Objects

TL;DR

This work initiates a thorough study of history independence (HI) for concurrent data structures, formalizing WHI/SHI in a concurrent setting and introducing weaker HI notions (state-quiescent HI, quiescent HI) to address non-quiescent executions. It proves strong impossibility results: for a broad class of objects, there is no wait-free HI implementation from smaller base objects; yet it provides a powerful universal HI construction from large CAS/LLSC primitives, yielding a wait-free, state-quiescent HI implementation for any object. The key technical advance is a universal HI architecture built from context-aware LLSC (R-LLSC) that can be implemented from atomic CAS, alongside a suite of supporting results (lock-free HI R-LLSC, quiescent HI variants) that demonstrate how to erase history while preserving linearizability. The findings illuminate fundamental limits and opportunities for secure, history-preserving memory representations in concurrent systems, offering concrete algorithms and a roadmap for applying HI in practice and guiding future work on randomized HI and broader object classes.

Abstract

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 possible states can be implemented in a wait-free, history-independent manner from compare-and-swap base objects that each have possible memory states, where is the number of processes in the system.
Paper Structure (23 sections, 40 theorems, 2 equations, 6 figures, 1 table, 6 algorithms)

This paper contains 23 sections, 40 theorems, 2 equations, 6 figures, 1 table, 6 algorithms.

Key Result

Proposition 3

For deterministic sequential implementations, WHI and SHI are equivalent to requiring that a unique canonical memory representation is determined for each state at initialization.

Figures (6)

  • Figure 1: Illustration of the three HI definitions. Perfect HI allows the observer to examine the memory at any point; state-quiescent HI allows examination only when there is no state-changing operation pending (points 1, 2 and 4); while quiescent HI allows examination only when the configuration is quiescent (points 1 and 4).
  • Figure 2: Illustrating the proof of Theorem \ref{['thm:wait-free-q-hi-reg']}
  • Figure 3: Illustrating the transition from mode $A_{i-1}$ to mode $B_i$ and back to mode $A_i$ in Algorithm \ref{['alg:universal-construct-R-LLSC']}.
  • Figure 4: Illustrating the proof of Lemma \ref{['lem:val-not-bot']}
  • Figure 5: Illustrating the proof of Lemma \ref{['lem:overwriteB']}
  • ...and 1 more figures

Theorems & Definitions (48)

  • Definition 1: Weak History Independence (WHI) NaorTe01
  • Definition 2: Strong History Independence (SHI) NaorTe01
  • Proposition 3
  • Definition 4
  • Definition 5
  • Proposition 5
  • Definition 6
  • Definition 7
  • Theorem 8
  • Lemma 8
  • ...and 38 more