Anticipation of Method Execution in Mixed Consistency Systems -- Technical Report
Marco Giunti, Herv\'e Paulino, Ant\'onio Ravara

TL;DR
This paper introduces a static analysis method to identify commutative operations in distributed systems, enabling anticipation of method execution to improve efficiency without sacrificing consistency.
Contribution
It presents a novel language-based static analysis technique to determine operation commutativity for anticipation in mixed consistency distributed systems.
Findings
Formal analysis applied to various examples
Proof-of-concept implementation in Java
Potential to reduce synchronization waits
Abstract
Distributed applications often deal with data with different consistency requirements: while a post in a social network only requires weak consistency, the user balance in turn has strong correctness requirements, demanding mutations to be synchronised. To deal efficiently with sequences of operations on different replicas of the distributed application, it is useful to know which operations commute with others and thus, when can an operation not requiring synchronisation be anticipated wrt other requiring it, thus avoiding unnecessary waits. Herein we present a language-based static analysis to extract at compile-time from code information on which operations can commute with which other operations and thus get information that can be used by the run-time support to decide on call anticipations of operations in replicas without compromising consistency. We illustrate the formal…
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
TopicsService-Oriented Architecture and Web Services · Advanced Software Engineering Methodologies · Software System Performance and Reliability
