License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/OASIcs.ICCSW.2013.11
URN: urn:nbn:de:0030-drops-42669
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2013/4266/
Go to the corresponding OASIcs Volume Portal


Castro Fernandez, Raul ; Migliavacca, Matteo ; Kalyvianaki, Evangelia ; Pietzuch, Peter

Scalable and Fault-tolerant Stateful Stream Processing

pdf-format:
5.pdf (1 MB)


Abstract

As users of "big data" applications expect fresh results, we witness a new breed of stream processing systems (SPS) that are designed to scale to large numbers of cloud-hosted machines. Such systems face new challenges: (i) to benefit from the "pay-as-you-go" model of cloud computing, they must scale out on demand, acquiring additional virtual machines (VMs) and parallelising operators when the workload increases; (ii) failures are common with deployments on hundreds of VMs—systems must be fault-tolerant with fast recovery times, yet low per-machine overheads. An open question is how to achieve these two goals when stream queries include stateful operators, which must be scaled out and recovered without affecting query results.

Our key idea is to expose internal operator state explicitly to the SPS through a set of state management primitives. Based on them, we describe an integrated approach for dynamic scale out and recovery of stateful operators. Externalised operator state is checkpointed periodically by the SPS and backed up to upstream VMs. The SPS identifies individual operator bottlenecks and automatically scales them out by allocating new VMs and partitioning the checkpointed state. At any point, failed operators are recovered by restoring checkpointed state on a new VM and replaying unprocessed tuples. We evaluate this approach with the Linear Road Benchmark on the Amazon EC2 cloud platform and show that it can scale automatically to a load factor of L=350 with 50 VMs, while recovering quickly from failures.

BibTeX - Entry

@InProceedings{castrofernandez_et_al:OASIcs:2013:4266,
  author =	{Raul Castro Fernandez and Matteo Migliavacca and Evangelia Kalyvianaki and Peter Pietzuch},
  title =	{{Scalable and Fault-tolerant Stateful Stream Processing}},
  booktitle =	{2013 Imperial College Computing Student Workshop},
  pages =	{11--18},
  series =	{OpenAccess Series in Informatics (OASIcs)},
  ISBN =	{978-3-939897-63-7},
  ISSN =	{2190-6807},
  year =	{2013},
  volume =	{35},
  editor =	{Andrew V. Jones and Nicholas Ng},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2013/4266},
  URN =		{urn:nbn:de:0030-drops-42669},
  doi =		{10.4230/OASIcs.ICCSW.2013.11},
  annote =	{Keywords: Stateful stream processing, scalability, fault tolerance}
}

Keywords: Stateful stream processing, scalability, fault tolerance
Collection: 2013 Imperial College Computing Student Workshop
Issue Date: 2013
Date of publication: 14.10.2013


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI