IPA: Invariant-preserving Applications for Weakly-consistent Replicated Databases
Valter Balegas, Nuno Pregui\c{c}a, S\'ergio Duarte, Carla Ferreira,, Rodrigo Rodrigues

TL;DR
This paper presents a method to modify applications so they run correctly under weakly consistent distributed databases, ensuring correctness with minimal overhead by analyzing and adjusting operations to prevent inconsistencies.
Contribution
It introduces an analysis technique that detects and modifies operations to preserve application correctness under weak consistency models, balancing correctness and performance.
Findings
Modified applications run with small overhead compared to uncorrected weakly consistent versions.
The analysis effectively detects operations that need correction to prevent invalid states.
The approach allows programmers to choose preferred semantics for conflicting executions.
Abstract
Storage systems based on Weak Consistency provide better availability and lower latency than systems that use Strong Consistency, especially in geo-replicated settings. However, under Weak Consistency, it is harder to ensure the correctness of applications, as the execution of uncoordinated operations may lead to invalid states. In this paper we show how to modify an application to make it run correctly under Weak Consistency. We developed an analysis that detects which operations need to be corrected, and proposes possible modifications to operations to prevent inconsistencies. This analysis allows the programmer to choose the preferred semantics for each problematic execution, while preserving the original semantics of operations when no conflicts occur. The modified application runs with small overhead when compared with its Weak Consistency counterpart, which cannot preserve…
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 · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
