Core Concepts
Transforming a concurrent shared memory implementation of a context-aware unordered linked list into a distributed data structure while preserving the properties of client-visible operations.
Abstract
The paper focuses on the problem of transforming a concurrent shared memory implementation of a context-aware data structure, specifically an unordered linked list, into a distributed data structure that can be partitioned across multiple machines.
The key contributions are:
The authors present two protocols, Aborting Move (AM) and Temporary Replication (TR), that transform a lock-free, context-aware, unordered linked list implementation into a distributed data structure.
The protocols ensure that the client-visible operations (e.g., Lookup, InsertAfter, Delete) remain lock-free and their semantics are preserved even when parts of the list are moved between servers for load balancing.
The protocols introduce client-invisible operations (Split, Move, Switch) that allow the list to be partitioned and distributed across multiple servers without affecting the client-visible operations.
The AM protocol treats the Move operation as the lowest priority and aborts it if there are concurrent updates, while the TR protocol allows update operations to help complete the Move operation without affecting client latency.
The transformation approach does not rely on any hardware primitives beyond a compare-and-swap operation on a single word, making it generic and applicable to other lock-free context-aware data structures.
Stats
The paper does not contain any specific metrics or figures to support the key logics. The focus is on the design and correctness of the transformation protocols.
Quotes
"By context-aware, we mean that when a client invokes the data structure, its result depends upon previous invocations by the same client."
"A key difference between these data structures and lists is that the former are not context-aware. Each request to the hash table (lookup/insert/delete) will result in the same outcome without regard to what the client had done earlier."