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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Beck, K.: Test-Driven Development by Example. Addison Wesley-Vaseem (2003)
Brooks, F.: No silver bullet. University of North Carolina at Chapel Hill (1987)
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)
Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM 18, 453–457 (1975)
Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Communications of the ACM 17, 643–644 (1974)
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)
Dolev, S.: Self-Stabilization. MIT press, Cambridge (2000)
Dolev, S., Welch, J.L.: Self-stabilizing clock synchronization in the presence of Byzantine faults. Journal of the ACM 51, 780–799 (2004)
Dolev, S., Israeli, A., Moran, S.: Self-stabilization of dynamic systems assuming only read/write atomicity. Distributed Computing 7, 3–16 (1993)
May, T.C., Woods, M.H.: Alpha-particle-induced soft errors in dynamic memories. IEEE Transactions Electron Devices 26, 2–9 (1979)
Moggi, E.: Notions of computation and monads. In: IEEE Symposium on Logic in Computer Science, vol. 93, pp. 55–92 (1991)
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)
Rist, R., Terwilliger, R.: Object-oriented programming in Eiffel. Prentice Hall (1995)
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice-Hall (1991)
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)
Sloss, A.N., Symes, D., Wright, C., Rayfield, J.: ARM System Developer’s Guide, pp. 342–346. Morgan Kaufmann Publications (2004)
Wadler, P.: Monads for functional programming. Advanced Functional Programming 925, 24–52 (1995)
KVM official documentation. See Documentation/virtual/kvm/ in git://git.kernel.org/pub/scm/virt/kvm/kvm.git
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)