Handling Crash and Software Faults Efficiently in Distributed Event Stream Processing

Research output: Contribution to conferencesPaperContributedpeer-review

Contributors

Abstract

Making efficient use of modern multi-core and future many-core
CPUs is a major challenge. We describe a new compiler-based plat-
form, Prospect, that supports the parallelization of sequential appli-
cations. The underlying approach is a generalization of an existing
approach to parallelize runtime checks. The basic idea is to gener-
ate two variants of the application: (1) a fast variant having bare
bone functionality, and (2) a slow variant with extra functional-
ity. The fast variant is executed sequentially. Its execution is di-
vided into epochs. Each epoch is re-executed by an executor us-
ing the slow variant. The approach scales by running the executors
on multiple cores in parallel to each other and to the fast variant.
We have implemented the Prospect framework to evaluate this ap-
proach. Prospect allows custom plug-ins for generating the fast and
slow variants. With the help of our novel StackLifter, a process can
switch between the fast variant and the slow variant during runtime
at arbitrary positions.

Details

Original languageEnglish
Pages164-172
Number of pages9
Publication statusPublished - 2010
Peer-reviewedYes

Conference

TitleThe Third International Conference on Dependability
Abbreviated titleDEPEND 2010
Conference number
Duration18 - 25 July 2010
Website
Degree of recognitionInternational event
Location
CityVenedig
CountryItaly

External IDs

Scopus 77958018213

Keywords

Research priority areas of TU Dresden

DFG Classification of Subject Areas according to Review Boards

Keywords

  • Fault tolerance, event stream processing, speculation, software transactional memory, software bugs