CaltechTHESIS
  A Caltech Library Service

Distributed Speculations: Providing Fault-Tolerance and Improving Performance

Citation

Țăpuș, Cristian (2006) Distributed Speculations: Providing Fault-Tolerance and Improving Performance. Dissertation (Ph.D.), California Institute of Technology. doi:10.7907/YZCK-4T29. https://resolver.caltech.edu/CaltechETD:etd-06022006-140421

Abstract

This thesis introduces a new programming model based on speculative execution and it examines the use of speculations, a form of distributed transactions, for improving the performance, reliability and fault tolerance of distributed systems. A speculation is defined as a computation that is based on an assumption that is not validated before the computation is started. If the assumption is later invalidated the computation is aborted and the state of the program is rolled back; if the assumption is validated, the results of the computation are committed. The primary difference between a speculation and a transaction is that a speculation is not isolated---for example, a speculative computation may send and receive messages, and it may modify shared objects. As a result, processes that share those objects may be absorbed into a speculation.

The contributions presented in this thesis include:

  • the introduction of a new programming model based on speculations,
  • the definition of new speculative programming language constructs,
  • the formal specification of the semantics of various speculative execution models, including message passing and shared objects,
  • the implementation of speculations in the Linux kernel in a transparent manner, and
  • the design and implementation of components of a distributed filesystem that supports speculations and guarantees sequential consistency of concurrent accesses to files.

Item Type:Thesis (Dissertation (Ph.D.))
Subject Keywords:distributed systems; kernel-level implementation; operational semantics; optimistic execution; speculative execution
Degree Grantor:California Institute of Technology
Division:Engineering and Applied Science
Major Option:Computer Science
Thesis Availability:Public (worldwide access)
Research Advisor(s):
  • Hickey, Jason J.
Thesis Committee:
  • Hickey, Jason J. (chair)
  • Chandy, K. Mani
  • Murray, Richard M.
  • Low, Steven H.
Defense Date:22 May 2006
Record Number:CaltechETD:etd-06022006-140421
Persistent URL:https://resolver.caltech.edu/CaltechETD:etd-06022006-140421
DOI:10.7907/YZCK-4T29
Default Usage Policy:No commercial reproduction, distribution, display or performance rights in this work are provided.
ID Code:2402
Collection:CaltechTHESIS
Deposited By: Imported from ETD-db
Deposited On:05 Jun 2006
Last Modified:06 May 2020 21:50

Thesis Files

[img]
Preview
PDF (tapus-phd.pdf) - Final Version
See Usage Policy.

1MB

Repository Staff Only: item control page