Deadlock avoidance for streaming computations with filtering

Peng Li, Kunal Agrawal, Jeremy Buhler, Roger D. Chamberlain

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

26 Scopus citations

Abstract

The paradigm of computation on streaming data has received considerable recent attention. Streaming computations can be efficiently parallelized using systems of computing nodes organized in dataflow-like architectures. However, when these nodes have the ability to filter, or discard, some of their inputs, a system with finite buffering is vulnerable to deadlock. In this paper, we formalize a model of streaming computation systems with filtering, describe precisely the conditions under which such systems may deadlock, and propose provably correct mechanisms to avoid deadlock. Our approach relies on adding extra "dummy" tokens to the data streams and does not require global run-time coordination among nodes or dynamic resizing of buffers. This approach is particularly well-suited to preventing deadlock in distributed systems of diverse computing architectures, where global coordination or modification of buffer sizes may be difficult or impossible in practice.

Original languageEnglish
Title of host publicationSPAA'10 - Proceedings of the 22nd Annual Symposium on Parallelism in Algorithms and Architectures
Pages243-252
Number of pages10
DOIs
StatePublished - 2010
Event22nd ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'10 - Thira, Santorini, Greece
Duration: Jun 13 2010Jun 15 2010

Publication series

NameAnnual ACM Symposium on Parallelism in Algorithms and Architectures

Conference

Conference22nd ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'10
Country/TerritoryGreece
CityThira, Santorini
Period06/13/1006/15/10

Keywords

  • Architecturally diverse platforms
  • Data filtering
  • Dataflow

Fingerprint

Dive into the research topics of 'Deadlock avoidance for streaming computations with filtering'. Together they form a unique fingerprint.

Cite this