A Probabilistic Quantitative Analysis of Probabilistic-Write/Copy-Select

  • Christel Baier
  • Benjamin Engel
  • Sascha Klüppelholz
  • Steffen Märcker
  • Hendrik Tews
  • Marcus Völp
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7871)


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.


Shared Object Data Race Read Cycle Memory Consistency Model Shared Data Structure 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ASSB00]
    Aziz, A., Sanwal, K., Singhal, V., Brayton, R.K.: Model checking continuous-time Markov chains. ACM Transactions on Computational Logic 1(1), 162–170 (2000)MathSciNetCrossRefGoogle Scholar
  2. [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
  3. [BDE+12b]
    Baier, C., Daum, M., Engel, B., Härtig, H., Klein, J., Klüppelholz, S., Märcker, S., Tews, H., Völp, M.: Waiting for locks: How long does it usually take? In: Stoelinga, M., Pinger, R. (eds.) FMICS 2012. LNCS, vol. 7437, pp. 47–62. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  4. [BHHK00]
    Baier, C., Haverkort, B.R., Hermanns, H., Katoen, J.-P.: On the logical characterisation of performability properties. In: Welzl, E., Montanari, U., Rolim, J.D.P. (eds.) ICALP 2000. LNCS, vol. 1853, pp. 780–792. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. [BHHK03]
    Baier, C., Haverkort, B.R., Hermanns, H., Katoen, J.-P.: Model checking algorithms for continuous-time Markov chains. IEEE Transactions on Software Engineering 29(6), 524–541 (2003)CrossRefGoogle Scholar
  6. [CGH+10]
    Coste, N., Garavel, H., Hermanns, H., Lang, F., Mateescu, R., Serwe, W.: Ten years of performance evaluation for concurrent systems using CADP. In: Margaria, T., Steffen, B. (eds.) ISoLA 2010, Part II. LNCS, vol. 6416, pp. 128–142. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  7. [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
  8. [Gui11]
    Mc Guire, N.: Probabilistic write copy select. In: 13th Real-Time Linux Workshop, pp. 195–206 (October 2011)Google Scholar
  9. [KNP04]
    Kwiatkowska, M.Z., Norman, G., Parker, D.: Probabilistic symbolic model checking with PRISM: a hybrid approach. STTT 6(2), 128–142 (2004)CrossRefGoogle Scholar
  10. [KNP05]
    Kwiatkowska, M.Z., Norman, G., Parker, D.: Probabilistic model checking in practice: case studies with prism. SIGMETRICS Performance Evaluation Review 32(4), 16–21 (2005)CrossRefGoogle Scholar
  11. [KNP09]
    Kwiatkowska, M.Z., Norman, G., Parker, D.: PRISM: probabilistic model checking for performance and reliability analysis. SIGMETRICS Performance Evaluation Review 36(4), 40–45 (2009)CrossRefGoogle Scholar
  12. [KS60]
    Kemeny, J., Snell, J.: Finite Markov Chains. D. Van Nostrand (1960)Google Scholar
  13. [Kul95]
    Kulkarni, V.: Modeling and Analysis of Stochastic Systems. Chapman & Hall (1995)Google Scholar
  14. [KZH+11]
    Katoen, J.-P., Zapreev, I.S., Moritz Hahn, E., Hermanns, H., Jansen, D.N.: The ins and outs of the probabilistic model checker MRMC. Performance Evaluation 68(2), 90–104 (2011)CrossRefGoogle Scholar
  15. [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
  16. [MS10]
    Mateescu, R., Serwe, W.: A study of shared-memory mutual exclusion protocols using CADP. In: Kowalewski, S., Roveri, M. (eds.) FMICS 2010. LNCS, vol. 6371, pp. 180–197. Springer, Heidelberg (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Christel Baier
    • 1
  • Benjamin Engel
    • 1
  • Sascha Klüppelholz
    • 1
  • Steffen Märcker
    • 1
  • Hendrik Tews
    • 1
  • Marcus Völp
    • 1
  1. 1.Institute for Theoretical Computer Science and Institute for Systems ArchitectureTechnische Universität DresdenGermany

Personalised recommendations