🤖 AI Summary
Traditional obstruction-freedom is overly conservative, as it fails to exploit semantic commutativity among concurrent operations. This work proposes a relaxed progress condition—conflict-freedom—which permits blocking only when there exist unfinished, non-commutative concurrent operations. We formally define conflict-freedom for the first time, establish it as a natural generalization of obstruction-freedom, and present a universal construction based on a generalized commit-adopt primitive. Leveraging linearizability theory and read-write register implementation techniques, we demonstrate that any sequential object can be implemented with conflict-free linearizability, and provide a corresponding universal construction.
📝 Abstract
An obstruction-free implementation guarantees progress to every operation that is given enough time to take steps in isolation. But, as we show in this paper, the mere presence of concurrent operations alone does not have to prevent progress; only incomplete conflicting (non-commuting) operations may do so. This progress condition, that we call conflict-freedom, is a natural generalization of obstruction-freedom that promises efficient implementations for objects exhibiting semantic commutativity. We show that, as with obstruction-freedom, every sequential object has a read-write conflict-free linearizable implementation. Our conflict-free universal construction is based on a novel generalization of the instrumental commit-adopt object, interesting in its own right.