Storyboard: optimistic deterministic multithreading

  • Authors:
  • Rüdiger Kapitza;Matthias Schunter;Christian Cachin;Klaus Stengel;Tobias Distler

  • Affiliations:
  • IBM Research - Zurich;IBM Research - Zurich;IBM Research - Zurich;Friedrich-Alexander University, Erlangen-Nuremberg;Friedrich-Alexander University, Erlangen-Nuremberg

  • Venue:
  • HotDep'10 Proceedings of the Sixth international conference on Hot topics in system dependability
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

State-machine replication is a general approach to address the increasing importance of network-based services by improving their availability and reliability via replicated execution. If a service is deterministic, multiple replicas will produce the same results, and faults can be tolerated by means of agreement protocols. Unfortunately, real-life services are often not deterministic. One major source of non-determinism is multithreaded execution with shared data access in which the thread execution order is determined by the run-time system and the outcome may depend on which thread accesses data first. We present Storyboard, an approach that ensures deterministic execution of multi-threaded programs. Storyboard achieves this by utilizing application-specific knowledge to minimize costly inter-replica coordination and to exploit concurrency in a similar way as nondeterministic execution. This is accomplished by making a forecast for a likely execution path, provided as an ordered sequence of locks that protect critical sections. If this forecast is correct, a request is executed in parallel to other running requests without further actions. Only in case of an incorrect forecast will an alternative execution path be resolved by inter-replica coordination.