Low-overhead fault tolerance for high-throughput data processing systems

Research output: Contribution to conferencesPaperContributedpeer-review

Contributors

Abstract

The MapReduce programming paradigm proved to be a useful approach for building highly scalable data processing systems. One important reason for its success is simplicity, including the fault tolerance mechanisms. However, this simplicity comes at a price: efficiency. MapReduce's fault tolerance scheme stores too much intermediate information on disk. This inefficiency negatively affects job completion time. Furthermore, this inefficiency in particular forbids the application of MapReduce in near real-time scenarios where jobs need to produce results quickly. In this paper, we discuss an alternative fault tolerance scheme that is inspired by virtual synchrony. The key feature of our approach is a low-overhead deterministic execution. Deterministic execution reduces the amount of persistently stored information. In addition, because persisting intermediate results are no longer required for fault tolerance, we use more efficient communication techniques that considerably improve job completion time and throughput. Our contribution is twofold: (i) we enable the use of MapReduce for jobs ranging from seconds to a few tens of seconds, satisfying these deadlines even in the case of failures, (ii) we considerably reduce the fault tolerance overhead and as such the overhead of MapReduce in general. Our modifications are transparent to the application.

Details

Original languageEnglish
Pages689-699
Number of pages11
Publication statusPublished - 2011
Peer-reviewedYes

Conference

Title2011 31st IEEE International Conference on Distributed Computing Systems
Abbreviated titleICDCS '11
Conference number31
Duration20 - 24 June 2011
Degree of recognitionInternational event
CityMinneapolis
CountryUnited States of America

External IDs

Scopus 80051907648

Keywords

Research priority areas of TU Dresden

DFG Classification of Subject Areas according to Review Boards

Keywords

  • Fault Tolerance, Tault tolerant systems, synchronisation, Programming, Computer crashes, Aggregates, Monitoring, data handling, deterministic algorithms, Parallel programming