English

Technical Report: Using Static Analysis to Compute Benefit of Tolerating Consistency

Distributed, Parallel, and Cluster Computing 2022-10-10 v2

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 \cvf and demonstrate that it can be used to predict the benefit of \cvf-tolerance. We also find that when faced with a large state space, partial analysis of the state space (via sampling) also provides the required information to predict the benefit of \cvf-tolerance. Furthermore, we observe that the \cvf-cost distribution is exponential in nature, i.e., the probability that a \cvf has a cost of cc is A.BcA.B^{-c}, where AA and BB are constants, i.e., most \cvf{s} cause no/low perturbation whereas a small number of \cvf{s} cause a large perturbation. This opens up new aveneus to evaluate the benefit of \cvf-tolerance.

Keywords

Cite

@article{arxiv.2108.09418,
  title  = {Technical Report: Using Static Analysis to Compute Benefit of Tolerating Consistency},
  author = {Duong Nguyen and Arya Tanmay Gupta and Sandeep S. Kulkarni},
  journal= {arXiv preprint arXiv:2108.09418},
  year   = {2022}
}
R2 v1 2026-06-24T05:18:00.716Z