2014 · 59 citations · 15 references
Correct Time-stamped StackEngineeringTiming AnalysisTotal OrderConcurrent ProgrammingFormal MethodsComputer ArchitectureComputer EngineeringConcurrent Data-structuresUnderlying Memory LayoutParallel ProgrammingComputer ScienceConcurrent Data StructureParallel ComputingTimed SystemMemory Model (Programming)Transactional MemoryExternal-memory Algorithm
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.
15