Waiting for Locks: How Long Does It Usually Take?

  • Christel Baier
  • Marcus Daum
  • Benjamin Engel
  • Hermann Härtig
  • Joachim Klein
  • Sascha Klüppelholz
  • Steffen Märcker
  • Hendrik Tews
  • Marcus Völp
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7437)

Abstract

Reliability of low-level operating-system (OS) code is an indispensable requirement. This includes functional properties from the safety-liveness spectrum, but also quantitative properties stating, e.g., that the average waiting time on locks is sufficiently small or that the energy requirement of a certain system call is below a given threshold with a high probability. This paper reports on our experiences made in a running project where the goal is to apply probabilistic model checking techniques and to align the results of the model checker with measurements to predict quantitative properties of low-level OS code.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Anderson, T.E.: The performance of spin lock alternatives for shared-memory multiprocessors. IEEE Trans. Parallel Distrib. Syst. 1(1), 6–16 (1990)CrossRefGoogle Scholar
  2. 2.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press (2008)Google Scholar
  3. 3.
    Bernat, G., Colin, A., Petters, S.: WCET analysis of probabilistic hard real-time systems. In: RTSS 2002, pp. 279–288. IEEE (2002)Google Scholar
  4. 4.
    Courcoubetis, C., Yannakakis, M.: The complexity of probabilistic verification. Journal of the ACM 42(4), 857–907 (1995)MathSciNetMATHCrossRefGoogle Scholar
  5. 5.
    Hähnel, M.: Energy-utility functions. Diploma thesis, TU Dresden, Germany (2012)Google Scholar
  6. 6.
    Hamann, C.-J., Löser, J., Reuther, L., Schönberg, S., Wolter, J., Härtig, H.: Quality-assuring scheduling - using stochastic behavior to improve resource utilization. In: RTSS 2001, pp. 119–128. IEEE (2001)Google Scholar
  7. 7.
    Haverkort, B.: Performance of Computer Communication Systems: A Model-Based Approach. Wiley (1998)Google Scholar
  8. 8.
    Irani, S., Singh, G., Shukla, S.K., Gupta, R.: An overview of the competitive and adversarial approaches to designing dynamic power management strategies. IEEE Trans. VLSI Syst. 13(12), 1349–1361 (2005)CrossRefGoogle Scholar
  9. 9.
    Katoen, J.-P., Kemna, T., Zapreev, I., Jansen, D.: Bisimulation Minimisation Mostly Speeds Up Probabilistic Model Checking. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 87–101. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 10.
    Katoen, J.-P., Zapreev, I., Hahn, E., Hermanns, H., Jansen, D.: The ins and outs of the probabilistic model checker MRMC. Perform. Eval. 68(2), 90–104 (2011)CrossRefGoogle Scholar
  11. 11.
    Knapp, S., Paul, W.: Realistic Worst-Case Execution Time Analysis in the Context of Pervasive System Verification. In: Reps, T., Sagiv, M., Bauer, J. (eds.) Program Analysis and Compilation, Theory and Practice. LNCS, vol. 4444, pp. 53–81. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    Kulkarni, V.: Modeling and Analysis of Stochastic Systems. Chapman & Hall (1995)Google Scholar
  13. 13.
    Kwiatkowska, M., Norman, G., Parker, D.: Probabilistic symbolic model checking with PRISM: A hybrid approach. STTT 6(2), 128–142 (2004)CrossRefGoogle Scholar
  14. 14.
    Liedtke, J., Islam, N., Jaeger, T., Panteleenko, V., Park, Y.: Irreproducible benchmarks might be sometimes helpful. In: ACM SIGOPS European Workshop, pp. 242–246. ACM (1998)Google Scholar
  15. 15.
    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. 16.
    Norman, G.: Analysing Randomized Distributed Algorithms. In: Baier, C., Haverkort, B.R., Hermanns, H., Katoen, J.-P., Siegle, M. (eds.) Validation of Stochastic Systems. LNCS, vol. 2925, pp. 384–418. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Norman, G., Parker, D., Kwiatkowska, M., Shukla, S., Gupta, R.: Using probabilistic model checking for dynamic power management. Formal Aspects of Computing 17(2), 160–176 (2005)MATHCrossRefGoogle Scholar
  18. 18.
    Shih, W.K., Liu, J.W.-S., Chung, J.-Y.: Algorithms for scheduling imprecise computations with timing constraints. SIAM J. Comput. 20(3), 537–552 (1991)MathSciNetMATHCrossRefGoogle Scholar
  19. 19.
    Steinberg, U., Kauer, B.: NOVA: a microhypervisor-based secure virtualization architecture. In: EuroSys 2010, pp. 209–222. ACM (2010)Google Scholar
  20. 20.
    Vardi, M.: Automatic verification of probabilistic concurrent finite-state programs. In: FOCS 1985, pp. 327–338. IEEE (1985)Google Scholar
  21. 21.
    Vardi, M.: Probabilistic Linear-Time Model Checking: An Overview of the Automata-Theoretic Approach. In: Katoen, J.-P. (ed.) ARTS 1999. LNCS, vol. 1601, pp. 265–276. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  22. 22.
    Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., Stenström, P.: The worst-case execution-time problem - overview of methods and survey of tools. Trans. Embedded Comput. Syst. 7(3), 1–53 (2008)CrossRefGoogle Scholar
  23. 23.
    Yang, J., Twohey, P., Engler, D., Musuvathi, M.: Using model checking to find serious file system errors. ACM Trans. Comput. Syst. 24(4), 393–423 (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Christel Baier
    • 1
  • Marcus Daum
    • 1
  • Benjamin Engel
    • 2
  • Hermann Härtig
    • 2
  • Joachim Klein
    • 1
  • Sascha Klüppelholz
    • 1
  • Steffen Märcker
    • 1
  • Hendrik Tews
    • 2
  • Marcus Völp
    • 2
  1. 1.Institute for Theoretical Computer ScienceTechnische Universität DresdenGermany
  2. 2.Operating-Systems GroupTechnische Universität DresdenGermany

Personalised recommendations