Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Deadlock avoidance for streaming computations with filtering
Li P., Agrawal K., Buhler J., Chamberlain R.  SPAA 2010 (Proceedings of the 22nd ACM Symposium on Parallelism in Algorithms and Architectures, Thira, Santorini, Greece, Jun 13-15, 2010)243-252.2010.Type:Proceedings
Date Reviewed: Oct 7 2010

This paper investigates algorithms for deadlock avoidance in parallel streaming computations. The basic paradigm, used in such diverse fields as signal processing, multimedia applications, and computational biology, is a directed acyclic graph of nodes and edges, where each node receives data from one or more input edges, processes the data, and then may emit data on one or more output edges. For the sake of theoretical analysis, the data stream is abstractly modeled with indexed tokens and the nodes may filter--pass on--a token. Furthermore, the channels are assumed to be buffered. In this setup, deadlock can happen, for example, when one node needs a token to progress on one channel, but the token cannot be sent because the sending node is (transitively) blocked on another channel--a channel that would be freed in case the first node made progress.

The paper establishes a few abstract results that give sufficient and necessary conditions for deadlock to occur (essentially, there must be some kind of transitively blocking circle in the topology of the nodes). The basic idea for the deadlock avoidance algorithm is to emit dummy tokens. This is underpinned by a theorem that states: in the absence of filtering, deadlock cannot occur. The remainder of the paper is concerned with an algorithmic design that keeps the number of dummy tokens emitted to a minimum (there is a straightforward solution that emits a dummy token for each filtered token, but this is, of course, impractical).

This well-written paper includes relevant examples from a computational biology system developed by the authors. The algorithms are explained in detail, so they could be implemented for similar streaming applications.

Reviewer:  Markus Wolf Review #: CR138457 (1105-0509)
Bookmark and Share
 
Distributed Applications (C.2.4 ... )
 
 
Distributed Programming (D.1.3 ... )
 
 
Parallelism And Concurrency (F.1.2 ... )
 
 
Concurrent Programming (D.1.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Distributed Applications": Date
The art of distributed applications
Corbin J., Springer-Verlag New York, Inc., New York, NY, 1991. Type: Book (9780387972473)
Jun 1 1992
Client-server computing
Sinha A. Communications of the ACM 35(7): 77-98, 1992. Type: Article
Jan 1 1994
APPC/MVS distributed application support
Voss F. IBM Systems Journal 31(2): 381-408, 1992. Type: Article
May 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy