Cabala : a speculative execution framework to make Linux services fault tolerant
Author(s)Joshi, Kavya (Kavya U.)
Speculative execution framework to make Linux services fault tolerant
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
MetadataShow full item record
Cabala is a speculative execution framework that enables server programs in Linux to be fault tolerant. The errors it targets are run-time errors that are due to program bugs, and which cause program exit; in particular, it provides resilience to errors triggered by requests. The Cabala framework is implemented as a user-space library, and enforces per-request checkpoint/rollback semantics to provide fault-tolerance. It provides facilities for checkpointing the state of the server program just before request processing starts, executing the processing in an isolated environment, detecting tolerated run-time errors before they cause program exit, and committing or discarding the modifications made during processing. Cabala addresses the fault tolerance needs of server programs in the context of supported errors. It enables the services provided by a server program to be highly available and ensures that a program which is correct and satisfies Cabala's requirements remains correct despite tolerated errors; it also ensures that the system's state remains consistent. In addition, Cabala is easy to use; the only changes required to the server program's source code are the inclusion of the Cabala library and the addition of three library function calls. Cabala was evaluated with two Linux server programs, the Apache2 web server and the DHCP4 DHCP server; it detected the tolerated errors and correctly recovered the server programs in both cases.
Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2013.Cataloged from PDF version of thesis.Includes bibliographical references (pages 47-48).
DepartmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
Massachusetts Institute of Technology
Electrical Engineering and Computer Science.