A Probabilistic Quantitative Analysis of Probabilistic-Write/Copy-Select
Probabilistic-Write/Copy-Select (PWCS) is a novel synchronization scheme suggested by Nicholas Mc Guire which avoids expensive atomic operations for synchronizing access to shared objects. Instead, PWCS makes inconsistencies detectable and recoverable. It builds on the assumption that, for typical workloads, the probability for data races is very small. Mc Guire describes PWCS for multiple readers but only one writer of a shared data structure. In this paper, we report on the formal analysis of the PWCS protocol using a continuous-time Markov chain model and probabilistic model checking techniques. Besides the original PWCS protocol, we also considered a variant with multiple writers. The results were obtained by the model checker PRISM and served to identify scenarios in which the use of the PWCS protocol is justified by guarantees on the probability of data races. Moreover, the analysis showed several other quantitative properties of the PWCS protocol.
KeywordsShared Object Data Race Read Cycle Memory Consistency Model Shared Data Structure
Unable to display preview. Download preview PDF.
- [BDE+12a]Baier, C., Daum, M., Engel, B., Härtig, H., Klein, J., Klüppelholz, S., Märcker, S., Tews, H., Völp, M.: Chiefly symmetric: Results on the scalability of probabilistic model checking for operating-system code. In: SSV 2012. EPTCS, vol. 102, pp. 156–166 (2012)Google Scholar
- [GM99]Gafni, E., Mitzenmacher, M.: Analysis of timing-based mutual exclusion with random times. In: 18th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 13–21. ACM (1999)Google Scholar
- [Gui11]Mc Guire, N.: Probabilistic write copy select. In: 13th Real-Time Linux Workshop, pp. 195–206 (October 2011)Google Scholar
- [KS60]Kemeny, J., Snell, J.: Finite Markov Chains. D. Van Nostrand (1960)Google Scholar
- [Kul95]Kulkarni, V.: Modeling and Analysis of Stochastic Systems. Chapman & Hall (1995)Google Scholar
- [MCS91]Mellor-Crummey, J., Scott, M.: Scalable reader-writer synchronization for shared-memory multiprocessors. In: PPOPP 1991, pp. 106–113. ACM (April 1991)Google Scholar