Abstract
Mutual exclusion protocols are an essential building block of concurrent systems: indeed, such a protocol is required whenever a shared resource has to be protected against concurrent non-atomic accesses. Hence, many variants of mutual exclusion protocols exist in the shared-memory setting, such as Peterson’s or Dekker’s well-known protocols. Although the functional correctness of these protocols has been studied extensively, relatively little attention has been paid to their non-functional aspects, such as their performance in the long run. In this paper, we report on experiments with the performance evaluation of mutual exclusion protocols using Interactive Markov Chains. Steady-state analysis provides an additional criterion for comparing protocols, which complements the verification of their functional properties. We also carefully re-examined the functional properties, whose accurate formulation as temporal logic formulas in the action-based setting turns out to be quite involved.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Anderson, J.H., Kim, Y.-J.: Adaptive mutual exclusion with local spinning. In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, pp. 29–43. Springer, Heidelberg (2000)
Anderson, J.H., Kim, Y.-J., Herman, T.: Shared-memory mutual exclusion: major research trends since 1986. Distributed Computing 16, 75–110 (2003)
Bar-David, Y., Taubenfeld, G.: Automatic discovery of mutual exclusion algorithms. In: Fich, F.E. (ed.) DISC 2003. LNCS, vol. 2848, pp. 136–150. Springer, Heidelberg (2003)
Botincan, M.: AsmL specification and verification of Lamport’s bakery algorithm. J. of Computing and Information Technology 13(4), 313–319 (2005)
Burns, J.E., Lynch, N.A.: Mutual exclusion using indivisible reads and writes. In: Proc. of ACCCC’80, pp. 833–842 (1980)
Champelovier, D., Clerc, X., Garavel, H., Guerte, Y., Lang, F., Serwe, W., Smeding, G.: Reference manual of the Lotos NT to Lotos translator (Version 5.0). INRIA/VASY, 107 pages (March 2010)
Chehaibar, G., Zidouni, M., Mateescu, R.: Modeling multiprocessor cache protocol impact on MPI performance. In: Proc. of QuEST’09. IEEE Press, Los Alamitos (2009)
Craig, T.S.: Building FIFO and priority-queuing spin locks from atomic swap. Technical Report 93-02-02, University of Washington, Seattle (February 1993)
Delzanno, G., Podelski, A.: Model checking in CLP. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 223–239. Springer, Heidelberg (1999)
Dijkstra, E.W.: Solution of a problem in concurrent programming control. ACM Commun. 8(9), 569–570 (1965)
Dijkstra, E.W.: Co-operating sequential processes, pp. 43–112. Academic Press, New York (1968)
Emerson, E.A., Lei, C.-L.: Efficient model checking in fragments of the propositional mu-calculus. In: Proc. of LICS’86, pp. 267–278 (1986)
Fischer, M.J., Ladner, R.E.: Propositional dynamic logic of regular programs. J. Comput. Syst. Sci. 18(2), 194–211 (1979)
Garavel, H.: Open/Cæsar: an open software architecture for verification, simulation, and testing. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 68–84. Springer, Heidelberg (1998)
Garavel, H., Hermanns, H.: On combining functional verification and performance evaluation using CADP. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 410–429. Springer, Heidelberg (2002)
Garavel, H., Lang, F.: SVL: a scripting language for compositional verification. In: Proc. of FORTE’01, pp. 377–392 (2001)
Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2006: a toolbox for the construction and analysis of distributed processes. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 158–163. Springer, Heidelberg (2007)
Garavel, H., Sighireanu, M.: Towards a second generation of FDTs – rationale for the design of E-LOTOS. In: Proc. of FMICS’98, pp. 187–230 (1998)
Hermanns, H. (ed.): Interactive Markov chains and the quest for quantified quality. LNCS, vol. 2428, p. 57. Springer, Heidelberg (2002)
Hermanns, H., Joubert, C.: A set of performance and dependability analysis components for CADP. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 425–430. Springer, Heidelberg (2003)
Hermanns, H., Katoen, J.-P.: Performance evaluation:=(process algebra+model checking) Markov chains. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 59–81. Springer, Heidelberg (2001)
Hermanns, H., Siegle, M.: Bisimulation algorithms for stochastic process algebras and their BDD-based implementation. In: Katoen, J.-P. (ed.) ARTS’99. LNCS, vol. 1601, pp. 244–265. Springer, Heidelberg (1999)
ISO/IEC. Enhancements to LOTOS (E-LOTOS). International Standard 15437:2001, International Organization for Standardization, Genève (September 2001)
Jensen, H.E., Lynch, N.A.: A proof of Burns N-process mutual exclusion algorithm using abstraction. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 409–423. Springer, Heidelberg (1998)
Kessels, J.L.W.: Arbitration without common modifiable variables. Acta Informatica 17, 135–141 (1982)
Knuth, D.E.: Additional comments on a problem in concurrent programming control. ACM Commun. 9(5), 321–322 (1966)
Lamport, L.: A fast mutual exclusion algorithm. ACM Transactions on Computer Systems 5(1), 1–11 (1987)
Magnusson, P.S., Landin, A., Hagersten, E.: Queue locks on cache coherent multiprocessors. In: Proc. of IPPS’94, pp. 165–171 (1994)
Manna, Z., Pnueli, A.: Tools and rules for the practicing verifier, pp. 125–159. ACM Press and Addison-Wesley (1991)
Manna, Z., Pnueli, A.: The temporal logic of reactive and concurrent systems, vol. I(specification). Springer, Heidelberg (1992)
Mateescu, R.: CAESAR_SOLVE: a generic library for on-the-fly resolution of alternation-free boolean equation systems. STTT 8(1), 37–56 (2006)
Mateescu, R., Thivolle, D.: A model checking language for concurrent value-passing systems. In: Cuellar, J., Maibaum, T., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 148–164. Springer, Heidelberg (2008)
Mellor-Crummey, J.M., Scott, M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Transactions on Computer Systems 9(1), 21–65 (1991)
Nicola, R.D., Vaandrager, F.W.: Action versus state based logics for transition systems. LNCS, vol. 469, pp. 407–419. Springer, Heidelberg (1990)
Peterson, G.L.: Myths about the mutual exclusion problem. IPL 12(3), 115–116 (1981)
Puterman, M.L.: Markov decision processes: discrete stochastic dynamic programming. Wiley, Chichester (1994)
Raynal, M.: Algorithmique du parallélisme : le problème de l’exclusion mutuelle. Dunod-Informatique, Paris (1984)
Shiryaev, A.: Probability. Springer, Heidelberg (1996)
Streett, R.: Propositional dynamic logic of loo** and converse. Information and Control (54), 121–141 (1982)
Szymanski, B.K.: A simple solution to Lamport’s concurrent programming problem with linear wait. In: Proc. of ICSS’88, pp. 621–626 (1988)
Taubenfeld, G.: The black-white bakery algorithm and related bounded-space, adaptive, local-spinning and FIFO algorithms. In: Guerraoui, R. (ed.) DISC 2004. LNCS, vol. 3274, pp. 56–70. Springer, Heidelberg (2004)
Taubenfeld, G.: Synchronization algorithms and concurrent programming. Pearson, Prentice Hall (2006)
Yang, J.-H., Anderson, J.H.: A fast, scalable mutual exclusion algorithm. Distributed Computing 9(1), 51–60 (1995)
Zhang, L., Neuhäußer, M.R.: Model checking interactive Markov chains. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 53–68. Springer, Heidelberg (2010)
Zhang, X., Yan, Y., Castaneda, R.: Evaluating and designing software mutual exclusion algorithms on shared-memory multiprocessors. IEEE Parallel Distributed Technology 4(1), 25–42 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mateescu, R., Serwe, W. (2010). A Study of Shared-Memory Mutual Exclusion Protocols Using CADP. In: Kowalewski, S., Roveri, M. (eds) Formal Methods for Industrial Critical Systems. FMICS 2010. Lecture Notes in Computer Science, vol 6371. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15898-8_12
Download citation
DOI: https://doi.org/10.1007/978-3-642-15898-8_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15897-1
Online ISBN: 978-3-642-15898-8
eBook Packages: Computer ScienceComputer Science (R0)