2013 · 33 citations · 29 references
ComputingComputer EngineeringComputer ScienceAlgorithmsComputer ArchitectureData StructuresConcurrency ControlData SynchronizationShared-memory MultiprocessingSynchronization PrimitivesAsynchronous MemoryCompare-and-swapConcurrent Trie StructuresFind OperationShared-memory AlgorithmsShared-memory Data StructuresUpdate MechanismsWait-free Algorithms
This paper presents a non-blocking Patricia trie implementation for an asynchronous shared-memory system using Compare&Swap. The trie implements a linearizable set and supports three update operations: insert adds an element, delete removes an element and replace replaces one element by another. The replace operation is interesting because it changes two different locations of trie atomically. If all update operations modify different parts of the trie, they run completely concurrently. The implementation also supports a wait-free find operation, which only reads shared memory and never changes the data structure. Empirically, we compare our algorithms to some existing set implementations.
29
MiBench: A free, commercially representative embedded benchmark suite
Matthew R. Guthaus, Jeffrey Ringenberg, Daniel Ernst et al. · 2001 · 3.1K citations
MiBench: A free, commercially representative embedded benchmark suite
Matthew R. Guthaus, Jeffrey Ringenberg, Daniel Ernst et al. · 2005 · 1.6K citations
Nir Shavit, Dan Touitou · 1995 · 1.2K citations · Full text