Technical Report: Using Static Analysis to Compute Benefit of Tolerating Consistency
Duong Nguyen, Arya Tanmay Gupta, Sandeep S. Kulkarni

TL;DR
This paper demonstrates that static analysis can effectively predict the benefits of tolerating consistency violations in concurrent programs, offering a less expensive alternative to runtime analysis and revealing the exponential nature of violation costs.
Contribution
It introduces a static analysis approach to estimate the benefit of CVF-tolerance, including partial analysis methods for large state spaces and characterizes the cost distribution of violations.
Findings
Static analysis accurately predicts CVF-tolerance benefits.
Partial analysis suffices for large state spaces.
CVF costs follow an exponential distribution.
Abstract
Synchronization is the Achilles heel of concurrent programs. Synchronization requirement is often used to ensure that the execution of the concurrent program can be serialized. Without synchronization requirement, a program suffers from consistency violations. Recently, it was shown that if programs are designed to tolerate such consistency violation faults (\cvf{s}) then one can obtain substantial performance gain. Previous efforts to analyze the effect of \cvf-tolerance are limited to run-time analysis of the program to determine if tolerating \cvf{s} can improve the performance. Such run-time analysis is very expensive and provides limited insight. In this work, we consider the question, `Can static analysis of the program predict the benefit of \cvf-tolerance?' We find that the answer to this question is affirmative. Specifically, we use static analysis to evaluate the cost of a…
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 · Software Reliability and Analysis Research
