Parallelizing Software-Implemented Error Detection

  • Authors:
  • Ute Schiffel;André Schmitt;Martin Süßkraut;Stefan Weigert;Christof Fetzer

  • Affiliations:
  • Department of Computer Science, Technische Universtät Dresden, Dresden, Germany;Department of Computer Science, Technische Universtät Dresden, Dresden, Germany;Department of Computer Science, Technische Universtät Dresden, Dresden, Germany;Department of Computer Science, Technische Universtät Dresden, Dresden, Germany;Department of Computer Science, Technische Universtät Dresden, Dresden, Germany

  • Venue:
  • SEUS '09 Proceedings of the 7th IFIP WG 10.2 International Workshop on Software Technologies for Embedded and Ubiquitous Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Because of economic pressure, more commodity hardware with insufficient error detection is used in critical applications. Moreover, it is expected that commodity hardware is becoming less reliable because of the continuously decreasing feature size. Thus, we expect that software-implemented approaches to deal with unreliable hardware will be needed. Arithmetic codes are well suited for this purpose because they can provide very good error detection capabilities independent of the actual failure modes of the underlying hardware. But arithmetic codes generate high slowdowns. This paper describes our encoding which uses an expensive AN-code. Second, we show how we harness the power of modern multicore CPUs to parallelize this expensive but flexible and powerful software-implemented fault detection technique. Our measurements show that under continuous probabilistic error injection, AN-encoding reduces the number of runs with incorrect output from 15.9% for the unencoded execution to 0.5% in the encoded case. Our parallelization reduces the observed slowdowns by an order of magnitude.