🤖 AI Summary
This work addresses the lack of systematic design methodologies for distributed context-aware data structures. We propose, for the first time, a generalizable transformation framework that converts a context-aware shared-memory lock-free singly linked list into a distributed lock-free data structure. Our approach relies solely on standard compare-and-swap (CAS) atomic primitives—requiring no specialized hardware—and introduces two lightweight, generic distributed protocols to achieve cross-machine state synchronization and context modeling. The resulting distributed context-aware singly linked list strictly preserves lock-freedom and semantic consistency for client operations. We rigorously validate its feasibility, correctness, and strong scalability under realistic distributed system conditions.
📝 Abstract
In this paper, we study the partitioning of a context-aware shared memory data structure so that it can be implemented as a distributed data structure running on multiple machines. By context-aware data structures, we mean that the result of an operation not only depends upon the value of the shared data but also upon the previous operations performed by the same client. While there is substantial work on designing distributed data structures, designing distributed context-aware data structures has not received much attention. As a case study of the context-aware data structure, we transform a shared memory context-aware lock-free singly-linked list into a distributed lock-free context-aware singly-linked list. We present two protocols that preserve these properties of client-visible operations of the linked list. In both protocols, the client-visible operations remain lock-free. Also, our transformation approach does not utilize any hardware primitives (except a compare-and-swap operation on a single word). We note that our transformation is generic and can be used for other lock-free context-aware data structures that can be constructed from singly-linked lists.