{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/85428"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/85428","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"Cabala : a speculative execution framework to make Linux services fault tolerant","abstract":"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.","abstract_html":"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&#x27;s requirements remains correct despite tolerated errors; it also ensures that the system&#x27;s state remains consistent. In addition, Cabala is easy to use; the only changes required to the server program&#x27;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.","abstract_has_math":false,"creators":["Joshi, Kavya (Kavya U.)"],"institution":"Massachusetts Institute of Technology","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.","school":null,"contributors":[],"advisors":["Robert Morris."],"committee_chairs":[],"committee_members":[],"year":2013,"date_issued":"2013","date_published":"2013","updated_at":"2026-07-22T22:21:55Z","subjects":["Electrical Engineering and Computer Science."],"languages":["eng"],"rights":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."],"rights_urls":["http://dspace.mit.edu/handle/1721.1/7582"],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/1721.1/85428","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Robert Morris."]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."]},{"key":"dc:contributor.other","label":"Dc Contributor Other","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."]},{"key":"dc:creator","label":"Author","values":["Joshi, Kavya (Kavya U.)"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2014-03-06T15:41:19Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2014-03-06T15:41:19Z"]},{"key":"dc:date.issued","label":"Date","values":["2013"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Electrical Engineering and Computer Science."]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://dspace.mit.edu/handle/1721.1/7582"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://hdl.handle.net/1721.1/85428"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["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)."]},{"key":"dc:description.abstract","label":"Abstract","values":["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."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M. Eng."]},{"key":"dc:title","label":"Title","values":["Cabala : a speculative execution framework to make Linux services fault tolerant"]}]}],"canonical_facts":{"dc:contributor.advisor":["Robert Morris."],"dc:contributor.department":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."],"dc:contributor.other":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."],"dc:creator":["Joshi, Kavya (Kavya U.)"],"dc:date.accessioned":["2014-03-06T15:41:19Z"],"dc:date.available":["2014-03-06T15:41:19Z"],"dc:date.issued":["2013"],"dc:description":["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)."],"dc:description.abstract":["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."],"dc:description.degree":["M. Eng."],"dc:identifier.uri":["http://hdl.handle.net/1721.1/85428"],"dc:language.iso":["eng"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."],"dc:rights.uri":["http://dspace.mit.edu/handle/1721.1/7582"],"dc:subject":["Electrical Engineering and Computer Science."],"dc:title":["Cabala : a speculative execution framework to make Linux services fault tolerant"],"dc:type":["Thesis"]},"updated_at":"2026-07-22T22:21:55Z"}