Skip to main content

Stateless Stabilization Bootstrap (Extended Abstract)

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8756))

Abstract

Stateless protocols, servers, services and programs are inherently self-stabilizing when repeatedly invoked, as any invocation starts from scratch. We suggest to augment a given stateful program with a stateless prefix that (upon invocation of the stateful program, and possibly periodically) verifies the consistency of the state of the stateful program prior to the execution of the stateful program.

We demonstrate the new stateless stabilization bootstrap paradigm by implementing stabilizing double linked list of the Linux kernel. In particular we focus on the KVM linked list data structure consistency.

Partially supported by Orange Labs under external research contract number 0050012310-C04021, the Rita Altura Trust Chair in Computer Sciences, Lynne and William Frankel Center for Computer Sciences, and Israel Science Foundation (grant number 428/11).

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Beck, K.: Test-Driven Development by Example. Addison Wesley-Vaseem (2003)

    Google Scholar 

  2. Brooks, F.: No silver bullet. University of North Carolina at Chapel Hill (1987)

    Google Scholar 

  3. Burkman, O., Dolev, S.: Recovery oriented programming: runtime monitoring of safety and liveness. International Journal on Software Tools for Technology Transfer, STTT 13(4), 377–395 (2011)

    Article  Google Scholar 

  4. Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM 18, 453–457 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  5. Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Communications of the ACM 17, 643–644 (1974)

    Article  MATH  Google Scholar 

  6. Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. In: The 6th Conference on Symposium on Opearting Systems Design and Implementation (OSDI), vol. 6, pp. 107–113 (2004)

    Google Scholar 

  7. Dolev, S.: Self-Stabilization. MIT press, Cambridge (2000)

    Google Scholar 

  8. Dolev, S., Welch, J.L.: Self-stabilizing clock synchronization in the presence of Byzantine faults. Journal of the ACM 51, 780–799 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  9. Dolev, S., Israeli, A., Moran, S.: Self-stabilization of dynamic systems assuming only read/write atomicity. Distributed Computing 7, 3–16 (1993)

    Article  MATH  Google Scholar 

  10. May, T.C., Woods, M.H.: Alpha-particle-induced soft errors in dynamic memories. IEEE Transactions Electron Devices 26, 2–9 (1979)

    Article  Google Scholar 

  11. Moggi, E.: Notions of computation and monads. In: IEEE Symposium on Logic in Computer Science, vol. 93, pp. 55–92 (1991)

    Google Scholar 

  12. Musuvathi, M., Qadeer, S., Ball, T., Basler, G., Nainar, P.A., Neamtiu, I.: Finding and reproducing Heisenbugs in concurrent programs. In: Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, pp. 267–280 (2008)

    Google Scholar 

  13. Rist, R., Terwilliger, R.: Object-oriented programming in Eiffel. Prentice Hall (1995)

    Google Scholar 

  14. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice-Hall (1991)

    Google Scholar 

  15. Sharma, A., Welch, S.: Preserving the integrity of enterprise platforms via an Assured eXecution Environment (AxE). In: The 7th Symposium on Operating Systems Design and Implementation, OSDI (2006)

    Google Scholar 

  16. Sloss, A.N., Symes, D., Wright, C., Rayfield, J.: ARM System Developer’s Guide, pp. 342–346. Morgan Kaufmann Publications (2004)

    Google Scholar 

  17. Wadler, P.: Monads for functional programming. Advanced Functional Programming 925, 24–52 (1995)

    Article  Google Scholar 

  18. KVM official documentation. See Documentation/virtual/kvm/ in git://git.kernel.org/pub/scm/virt/kvm/kvm.git

    Google Scholar 

  19. http://kernelnewbies.org/FAQ/LinkedLists

  20. https://gist.github.com/RamziMartinKahil/11169599

  21. https://gist.github.com/RamziMartinKahil/11083508

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Dolev, S., Kahil, R.M., Yagel, R. (2014). Stateless Stabilization Bootstrap (Extended Abstract). In: Felber, P., Garg, V. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2014. Lecture Notes in Computer Science, vol 8756. Springer, Cham. https://doi.org/10.1007/978-3-319-11764-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11764-5_13

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11763-8

  • Online ISBN: 978-3-319-11764-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics