Locks: Picking key methods for a scalable quantitative analysis

Abstract Functional correctness of low-level operating-system (OS) code is an indispensable requirement. However, many applications rely also on quantitative aspects such as speed, energy efficiency, resilience with regards to errors and other cost factors. We report on our experiences of applying probabilistic model-checking techniques for analysing the quantitative long-run behaviour of low-level OS-code. Our approach, illustrated in a case study analysing a simple test-and-test-and-set (TTS) spinlock protocol, combines measure-based simulation with probabilistic model-checking to obtain high-level models of the performance of realistic systems and to tune the models to predict future system behaviour. We report how we obtained a nearly perfect match of analytic results and measurements and how we tackled the state-explosion problem to obtain model-checking results for a large number of processes where measurements are no longer feasible. These results gave us valuable insights in the delicate interplay between lock load, average spinning times and other performance measures.

[1]  Boudewijn R. Haverkort,et al.  Performance of computer communication systems - a model-based approach , 1998 .

[2]  Christel Baier,et al.  Principles of model checking , 2008 .

[3]  V. Kulkarni Modeling and Analysis of Stochastic Systems , 1996 .

[4]  David L. Dill,et al.  Better verification through symmetry , 1996, Formal Methods Syst. Des..

[5]  John B. Moore,et al.  Hidden Markov Models: Estimation and Control , 1994 .

[6]  Alan D. George,et al.  RapidIO for radar processing in advanced space systems , 2007, TECS.

[7]  Moshe Y. Vardi Automatic verification of probabilistic concurrent finite state programs , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[8]  Eran Yahav,et al.  Abstraction-guided synthesis of synchronization , 2010, POPL '10.

[9]  A. Prasad Sistla,et al.  Symmetry and model checking , 1996, Formal Methods Syst. Des..

[10]  Marta Z. Kwiatkowska,et al.  Symmetry Reduction for Probabilistic Model Checking , 2006, CAV.

[11]  Wolfgang J. Paul,et al.  Realistic Worst-Case Execution Time Analysis in the Context of Pervasive System Verification , 2006, Program Analysis and Compilation.

[12]  Radu Mateescu,et al.  A Study of Shared-Memory Mutual Exclusion Protocols Using CADP , 2010, FMICS.

[13]  Nikolai Joukov,et al.  A nine year study of file system and storage benchmarking , 2008, TOS.

[14]  Alastair F. Donaldson,et al.  Symmetry Reduction for Probabilistic Model Checking Using Generic Representatives , 2006, ATVA.

[15]  E. Allen Emerson,et al.  From Asymmetry to Full Symmetry: New Techniques for Symmetry Reduction in Model Checking , 1999, CHARME.

[16]  Sandy Irani,et al.  An overview of the competitive and adversarial approaches to designing dynamic power management strategies , 2005, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[17]  Håkan L. S. Younes,et al.  Statistical probabilistic model checking with a focus on time-bounded properties , 2006, Inf. Comput..

[18]  Jan Reineke,et al.  Caches in WCET Analysis: Predictability - Competitiveness - Sensitivity , 2008 .

[19]  Moshe Y. Vardi Probabilistic Linear-Time Model Checking: An Overview of the Automata-Theoretic Approach , 1999, ARTS.

[20]  Christel Baier,et al.  Energy-Utility Quantiles , 2014, NASA Formal Methods.

[21]  Wei Kuan Shih,et al.  Algorithms for Scheduling Imprecise Computations with Timing Constraints , 1991, SIAM J. Comput..

[22]  Mihalis Yannakakis,et al.  The complexity of probabilistic verification , 1995, JACM.

[23]  Jan Reineke,et al.  Timing predictability of cache replacement policies , 2007, Real-Time Systems.

[24]  Sandeep K. Shukla,et al.  Using probabilistic model checking for dynamic power management , 2005, Formal Aspects of Computing.

[25]  Holger Hermanns,et al.  Ten Years of Performance Evaluation for Concurrent Systems Using CADP , 2010, ISoLA.

[26]  John G. Kemeny,et al.  Finite Markov chains , 1960 .

[27]  Hermann Härtig,et al.  Quality-assuring scheduling-using stochastic behavior to improve resource utilization , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[28]  Joost-Pieter Katoen,et al.  The Ins and Outs of the Probabilistic Model Checker MRMC , 2009, 2009 Sixth International Conference on the Quantitative Evaluation of Systems.

[29]  Thomas E. Anderson,et al.  The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors , 1990, IEEE Trans. Parallel Distributed Syst..

[30]  Muffy Calder,et al.  Symmetry in temporal logic model checking , 2006, CSUR.

[31]  John G. Kemeny,et al.  Finite Markov Chains. , 1960 .

[32]  Christel Baier,et al.  Computing Quantiles in Markov Reward Models , 2013, FoSSaCS.

[33]  Marta Z. Kwiatkowska,et al.  Probabilistic symbolic model checking with PRISM: a hybrid approach , 2004, International Journal on Software Tools for Technology Transfer.

[34]  George Kesidis An Introduction to Communication Network Analysis , 2007 .

[35]  Christel Baier,et al.  Waiting for Locks: How Long Does It Usually Take? , 2012, FMICS.

[36]  Christel Baier,et al.  Chiefly Symmetric: Results on the Scalability of Probabilistic Model Checking for Operating-System Code , 2012, SSV.

[37]  Jeremy Sproston,et al.  Model Checking Durational Probabilistic Systems , 2005, FoSSaCS.

[38]  Thomas Wahl,et al.  On Combining Symmetry Reduction and Symbolic Representation for Efficient Model Checking , 2003, CHARME.

[39]  T. Henzinger,et al.  Quantitative Synthesis for Concurrent Programs , 2011, CAV.

[40]  Alastair F. Donaldson,et al.  Language-Level Symmetry Reduction for Probabilistic Model Checking , 2009, 2009 Sixth International Conference on the Quantitative Evaluation of Systems.

[41]  Michael L. Scott,et al.  Scalable reader-writer synchronization for shared-memory multiprocessors , 1991, PPOPP '91.

[42]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[43]  Guillem Bernat,et al.  WCET analysis of probabilistic hard real-time systems , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[44]  Marta Z. Kwiatkowska,et al.  The PRISM Benchmark Suite , 2012, 2012 Ninth International Conference on Quantitative Evaluation of Systems.

[45]  Somesh Jha,et al.  Exploiting symmetry in temporal logic model checking , 1993, Formal Methods Syst. Des..

[46]  Joost-Pieter Katoen,et al.  Bisimulation Minimisation Mostly Speeds Up Probabilistic Model Checking , 2007, TACAS.

[47]  Marta Z. Kwiatkowska,et al.  Stochastic Model Checking , 2007, SFM.

[48]  Mahesh Viswanathan,et al.  On Statistical Model Checking of Stochastic Systems , 2005, CAV.

[49]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.