kirancodes.me
To Proof Maintenance & Beyond!

A Scalable, Correct Time-Stamped Stack

Mike Dodds, Andreas Haas, Christoph M. Kirsch

Abstract

Concurrent data-structures, such as stacks, queues, and deques, often implicitly enforce a total order over elements in their underlying memory layout. However, much of this order is unnecessary: linearizability only requires that elements are ordered if the insert methods ran in sequence. We propose a new approach which uses timestamping to avoid unnecessary ordering. Pairs of elements can be left unordered if their associated insert operations ran concurrently, and order imposed as necessary at the eventual removal.

Related papers