|
ABSTRACT
We present a technique that masks failures in a cluster to provide high availability and fault-tolerance for long-running, parallelized dataflows. We can use these dataflows to implement a variety of continuous query (CQ) applications that require high-throughput, 24x7 operation. Examples include network monitoring, phone call processing, click-stream processing, and online financial analysis. Our main contribution is a scheme that carefully integrates traditional query processing techniques for partitioned parallelism with the process-pairs approach for high availability. This delicate integration allows us to tolerate failures of portions of a parallel dataflow without sacrificing result quality. Upon failure, our technique provides quick fail-over, and automatically recovers the lost pieces on the fly. This piecemeal recovery provides minimal disruption to the ongoing dataflow computation and improved reliability as compared to the straight-forward application of the process-pairs technique on a per dataflow basis. Thus, our technique provides the high availability necessary for critical CQ applications. Our techniques are encapsulated in a reusable dataflow operator called Flux, an extension of the Exchange that is used to compose parallel dataflows. Encapsulating the fault-tolerance logic into Flux minimizes modifications to existing operator code and relieves the burden on the operator writer of repeatedly implementing and verifying this critical logic. We present experiments illustrating these features with an implementation of Flux in the TelegraphCQ code base [8].
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Y. Amir and J. Stanton. The Spread Wide Area Group Communication System. Technical Report CNDS-98-4, Johns Hopkins, 1998.
|
| |
2
|
|
| |
3
|
J. Baulier, S. Blott, H. Korth, and A. Silberschatz. A Database System for Real-Time Event Aggregation in Telecommunication. 1998.
|
 |
4
|
Philip A. Bernstein , Meichun Hsu , Bruce Mann, Implementing recoverable requests using queues, Proceedings of the 1990 ACM SIGMOD international conference on Management of data, p.112-122, May 23-26, 1990, Atlantic City, New Jersey, United States
|
| |
5
|
|
| |
6
|
Kenneth P. Birman , Robert Constable , Mark Hayden , Jason Hickey , Christoph Kreitz , Robbert Van Renesse , Ohad Rodeh , Werner Vogels, The Horus and Ensemble Projects: Accomplishments and Limitations, Cornell University, Ithaca, NY, 1999
|
| |
7
|
D. Carny et al. Monitoring Streams - A New Class of Data Management Applications. In VLDB, 2002.
|
| |
8
|
S. Chandrasekaran et al. TelegraphCQ: Continuous Dataflow Processing for an Uncertain World. In CIDR, 2003.
|
 |
9
|
Jianjun Chen , David J. DeWitt , Feng Tian , Yuan Wang, NiagaraCQ: a scalable continuous query system for Internet databases, Proceedings of the 2000 ACM SIGMOD international conference on Management of data, p.379-390, May 15-18, 2000, Dallas, Texas, United States
|
 |
10
|
|
| |
11
|
E. Elnozahy, D. Johnson, and Y. Wang. A Survey of Rollback-Recovery Protocols in Message-Passing Systems. Technical Report CMU-CS-96-181, CMU, 1996.
|
 |
12
|
|
 |
13
|
|
| |
14
|
G. Graefe. Query Evaluation Techniques for Large Databases. In ACM Computing Surveys, 2002.
|
| |
15
|
|
| |
16
|
|
| |
17
|
S. Hvasshovd et al. The ClustRa Telecom Database. In VLDB, 1995.
|
| |
18
|
J. Hwang et al. A Comparison of Stream-Oriented High-Availability Algorithms. Technical Report CS-03--17, Brown, 2003.
|
| |
19
|
B. Kemme and G. Alonso. Don't Be Lazy, Be Consistent. In VLDB, 2000.
|
| |
20
|
|
| |
21
|
L. Lamport. The Implementation of Reliable Distributed Multiprocess Systems. Computer Networks, 1978.
|
 |
22
|
|
 |
23
|
|
| |
24
|
S. Madden and M. Franklin. Fjording the Stream: An Architecture for Queries over Streaming Sensor Data. In ICDE, 2002.
|
| |
25
|
|
| |
26
|
R. Motwani et al. Query Processing, Approximation, and Resource Management in a Data Stream Management System. In CIDR, 2003.
|
| |
27
|
|
 |
28
|
|
 |
29
|
|
| |
30
|
M. Shah, J. Hellerstein, S. Chandrasekaran, and M. Franklin. Flux: An Adaptive Partitioning Operator for Continuous Query Systems. In ICDE, 2003.
|
| |
31
|
T. Urhan and M. Franklin. XJoin: A Reactively-Scheduled Pipelined Join Operator. IEEE Data Engineering Bulletin, June 2000.
|
| |
32
|
|
| |
33
|
W. Vogels , D. Dumitriu , K. Birman , R. Gamache , M. Massa , R. Short , J. Vert , J. Barrera , J. Gray, The Design and Architecture of the Microsoft Cluster Service - A Practical Approach to High-Availability and Scalability, Proceedings of the The Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing, p.422, June 23-25, 1998
|
CITED BY 15
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Anastasios Gounaris , Jim Smith , Norman W. Paton , Rizos Sakellariou , Alvaro A. Fernandes , Paul Watson, Adaptive workload allocation in query processing in autonomous heterogeneous environments, Distributed and Parallel Databases, v.25 n.3, p.125-164, June 2009
|
|
|
Norman W. Paton , Jorge Buenabad-Chavez , Mengsong Chen , Vijayshankar Raman , Garret Swart , Inderpal Narang , Daniel M. Yellin , Alvaro A. Fernandes, Autonomic query parallelization using non-dedicated computers: an evaluation of adaptivity options, The VLDB Journal — The International Journal on Very Large Data Bases, v.18 n.1, p.119-140, January 2009
|
|