Benefit of Self-Stabilizing Protocols in Eventually Consistent Key-Value Stores: A Case Study
Duong Nguyen, Sandeep S. Kulkarni, Ajoy K. Datta

TL;DR
This paper demonstrates that using self-stabilizing algorithms in eventually consistent key-value stores improves overall performance despite potential consistency violations, and emphasizes the importance of stabilization for reliability.
Contribution
It shows that stabilizing algorithms enable efficient use of eventual consistency in distributed key-value stores, with experimental evidence supporting performance gains.
Findings
Stabilizing algorithms improve performance in eventually consistent stores.
Consistency violation faults are manageable with stabilization.
Non-stabilizing algorithms fail under even a single violation.
Abstract
In this paper, we focus on the implementation of distributed programs in using a key-value store where the state of the nodes is stored in a replicated and partitioned data store to improve performance and reliability. Applications of such algorithms occur in weather monitoring, social media, etc. We argue that these applications should be designed to be stabilizing so that they recover from an arbitrary state to a legitimate state. Specifically, if we use a stabilizing algorithm then we can work with more efficient implementations that provide eventual consistency rather than sequential consistency where the data store behaves as if there is just one copy of the data. We find that, although the use of eventual consistency results in consistency violation faults (cvf) where some node executes its action incorrectly because it relies on an older version of the data, the overall…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Cloud Computing and Resource Management · Advanced Data Storage Technologies
