Operating system support for redundant multithreading

  • Authors:
  • Björn Döbel;Hermann Härtig;Michael Engel

  • Affiliations:
  • TU Dresden, Dresden, Germany;TU Dresden, Dresden, Germany;TU Dortmund, Dortmund, Germany

  • Venue:
  • Proceedings of the tenth ACM international conference on Embedded software
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

In modern commodity operating systems, core functionality is usually designed assuming that the underlying processor hardware always functions correctly. Shrinking hardware feature sizes break this assumption. Existing approaches to cope with these issues either use hardware functionality that is not available in commercial-off-the-shelf (COTS) systems or poses additional requirements on the software development side, making reuse of existing software hard, if not impossible. In this paper we present Romain, a framework that provides transparent redundant multithreading1 as an operating system service for hardware error detection and recovery. When applied to a standard benchmark suite, Romain requires a maximum runtime overhead of 30% for triple-modular redundancy (while in many cases remaining below 5%). Furthermore, our approach minimizes the complexity added to the operating system for the sake of replication.