Fault-tolerant stream processing using a distributed, replicated file system
Authors:
Open Access
- 1 August 2008
- journal article
- Published by Association for Computing Machinery (ACM) in Proceedings of the VLDB Endowment
- Vol. 1 (1) , 574-585
Abstract
We present SGuard, a new fault-tolerance technique for distributed stream processing engines (SPEs) running in clusters of commodity servers. SGuard is less disruptive to normal stream processing and leaves more resources available for normal stream processing than previous proposals. Like several previous schemes, SGuard is based on rollback recovery [18]: it checkpoints the state of stream processing nodes periodically and restarts failed nodes from their most recent checkpoints. In contrast to previous proposals, however, SGuard performs checkpoints asynchronously: i.e. , operators continue processing streams during the checkpoint thus reducing the potential disruption due to the checkpointing activity. Additionally, SGuard saves the checkpointed state into a new type of distributed and replicated file system (DFS) such as GFS [22] or HDFS [9], leaving more memory resources available for normal stream processing. To manage resource contention due to simultaneous checkpoints by different SPE nodes, SGuard adds a scheduler to the DFS. This scheduler coordinates large batches of write requests in a manner that reduces individual checkpoint times while maintaining good overall resource utilization. We demonstrate the effectiveness of the approach through measurements of a prototype implementation in the Borealis [2] open-source SPE using HDFS [9] as the DFS.Keywords
This publication has 24 references indexed in Scilit:
- Aurora: a new model and architecture for data stream managementThe VLDB Journal, 2003
- A survey of rollback-recovery protocols in message-passing systemsACM Computing Surveys, 2002
- Staggered consistent checkpointingIEEE Transactions on Parallel and Distributed Systems, 1999
- Shoring up persistent applicationsACM SIGMOD Record, 1994
- Low-latency, concurrent checkpointing for parallel programsIEEE Transactions on Parallel and Distributed Systems, 1994
- Main memory database systems: an overviewIEEE Transactions on Knowledge and Data Engineering, 1992
- Incremental recovery in main memory database systemsIEEE Transactions on Knowledge and Data Engineering, 1992
- ARIESACM Transactions on Database Systems, 1992
- The O 2 systemCommunications of the ACM, 1991
- Scale and performance in a distributed file systemACM Transactions on Computer Systems, 1988