Serval: A Wait-free Multi-version Deterministic Concurrency Control Scheme
Caracal is a multi-version deterministic concurrency control protocol designed to handle contention efficiently. During its initialization phase, Caracal appends pending versions of the same data item from the same core simultaneously using dynamically allocated buffers when contention occurs. However, Caracal still requires latches when performing remote writes on the global version array. This paper introduces Serval, a novel method aimed at optimizing Caracal’s limitations. Serval incorporates two types of bitmaps to indicate the information of update operations and adopts dynamic local version arrays instead of global version arrays for contended data items. These enhancements enable Serval to ensure wait-free conditions during the initialization phase and provide more efficiency in the execution phase under contention.
Authors
- Rina Onishi (ORCID: https://orcid.org/0009-0000-5324-2554)
- Haowen Li (ORCID: https://orcid.org/0000-0002-1840-9117)
- Hideyuki Kawashima
Institutions
- Keio University Shonan Fujisawa (JP)
Publication Details
- Published
- 2024-11-26
- DOI
- https://doi.org/10.1109/candar64496.2024.00028
- Primary Topic
- Distributed systems and fault tolerance
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- Research and Development