skip to main content
10.1145/1810479.1810526acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article

Deadlock avoidance for streaming computations with filtering

Published: 13 June 2010 Publication History

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.

References

[1]
G.E. Allen, P.E. Zucknick, and B.L. Evans. A distributed deadlock detection and resolution algorithm for process networks. In Proc. IEEE Int. Conf. Acoustics, Speech, Signal Processing (ICASSP), volume 2, pages 33--36, April 2007.
[2]
S. F. Altschul, T. L. Madden, A. A. Schaffer, J. Zhang, Z. Zhang, W. Miller, and D. J. Lipman. Gapped BLAST and PSI-BLAST: A new generation of protein database search programs. 25(17):3389--3402, 1997.
[3]
Joseph T. Buck. Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model. PhD thesis, University of California, Berkeley, 1993.
[4]
Roger D. Chamberlain, Mark A. Franklin, Eric J. Tyson, James H. Buckley, Jeremy Buhler, Greg Galloway, Saurabh Gayen, Michael Hall, E.F. Berkley Shands, and Naveen Singla. Auto-Pipe: Streaming applications on architecturally diverse systems. IEEE Computer, 43(3): 42--49, March 2010.
[5]
K. M. Chandy and J. Misra. A distributed algorithm for detecting resource deadlocks in distributed systems. In PODC'82: Proceedings of the first ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, pages 157--164, New York, NY, USA, 1982. ACM.
[6]
K. Mani Chandy, Jayadev Misra, and Laura M. Haas. Distributed deadlock detection. ACM Trans. Comput. Syst., 1(2):144--156, 1983.
[7]
M. Erez, J.H. Ahn, A. Garg, W.J. Dally, and E. Darve. Analysis and performance results of a molecular modeling application on Merrimac. In Proc. of ACM/IEEE Supercomputing Conference, Nov. 2004.
[8]
Mark A. Franklin, Eric J. Tyson, J. Buckley, Patrick Crowley, and John Maschmeyer. Auto-pipe and the X language: A pipeline design tool and description language. In Proc. of Int'l Parallel and Distributed Processing Symp., 2006.
[9]
Richard Fujimoto. Parallel discrete event simulation. Commun. ACM, 33(10):30--53, 1990.
[10]
Marc Geilen and Twan Basten. Requirements on the execution of kahn process networks. In Proc. of the 12th European Symposium on Programming, ESOP 2003, pages 319--334. Springer Verlag, 2003.
[11]
J. R Gurd, C. C Kirkham, and I. Watson. The Manchester prototype dataflow computer. Commun. ACM, 28(1):34--52, 1985.
[12]
John Hopcroft and Robert Tarjan. Efficient algorithms for graph manipulation. Journal of the ACM, 16:372--378, 1973.
[13]
Arpith C. Jacob, Joseph M. Lancaster, Jeremy Buhler, Brandon Harris, and Roger D. Chamberlain. Mercury BLASTP: Accelerating protein sequence alignment. ACM Transactions on Reconfigurable Technology and Systems, 1(2), 2008.
[14]
Gilles Kahn. The semantics of simple language for parallel programming. In IFIP Congress, pages 471--475, 1974.
[15]
B. Khailany, W.J. Dally, S. Rixner, U.J. Kapasi, P. Mattson, J. Namkoong, J.D. Owens, B. Towles, and A. Chang. Imagine: Media processing with streams. IEEE Micro, pages 35--46, March/April 2001.
[16]
Edward A. Lee and David G. Messerschmitt. Synchronous data flow. Proceedings of the IEEE, 75(9):1235--1245, September 1987.
[17]
Hongbo Liu and Jiaxin Wang. A new way to enumerate cycles in graph. In AICT-ICIW'06: Proceedings of the Advanced Int'l Conference on Telecommunications and Int'l Conference on Internet and Web Applications and Services, pages 57--59, Washington, DC, USA, 2006. IEEE Computer Society.
[18]
Jayadev Misra. Distributed discrete-event simulation. ACM Comput. Surv., 18(1):39--65, 1986.
[19]
Don P. Mitchell and Michael J. Merritt. A distributed algorithm for deadlock detection and resolution. In PODC '84: Proceedings of the Third Annual ACM Symposium on Principles of Distributed Computing, pages 282--284, New York, NY, USA, 1984. ACM.
[20]
Bharath Nandy and Nagaraju Bussa. Artificial deadlock detection in process networks for eclipse. In Proc. of IEEE International Conference on Application-specific Systems, Architectures and Processors, pages 22--27, Washington, DC, USA, 2005. IEEE Computer Society.
[21]
Alex G. Olson and Brian L. Evans. Deadlock detection for distributed process networks. In Proc. of IEEE Int'l Conf. Acoustics, Speech, Signal Processing (ICASSP), volume 5, pages v/73-v/76 Vol. 5, March 2005.
[22]
Gregory M. Papadopoulos and David E. Culler. Monsoon: an explicit token-store architecture. In Proc. of 17th Annual Int'l Symp. on Comp. Arch., pages 82--91, 1990.
[23]
Thomas M. Parks. Bounded Scheduling of Process Networks. PhD thesis, University of California, Berkeley, Dec 1995.
[24]
R. C. Read and R. E. Tarjan. Bounds on backtrack algorithms for listing cycles, paths, and spanning trees. Networks, 5: 237--252, 1975.
[25]
Eric J. Tyson, James Buckley, Mark A. Franklin, and Roger D. Chamberlain. Acceleration of atmospheric Cherenkov telescope signal processing to real-time speed with the Auto-Pipe design system. Nuclear Instruments and Methods in Physics Research A, 585(2):474--479, October 2008.

Cited By

View all
  • (2019)On the complexity of and algorithms for detecting k-length negative cost cyclesJournal of Combinatorial Optimization10.1007/s10878-018-00371-0Online publication date: 3-Jan-2019
  • (2018)Dynamic Deadlock Verification for General Barrier SynchronisationACM Transactions on Programming Languages and Systems10.1145/322906041:1(1-38)Online publication date: 11-Dec-2018
  • (2018)Randomized Approximate Nearest Neighbor Search with Limited AdaptivityACM Transactions on Parallel Computing10.1145/32098845:1(1-26)Online publication date: 13-Jun-2018
  • Show More Cited By

Recommendations

Reviews

Markus Wolf

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. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '10: Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
June 2010
378 pages
ISBN:9781450300797
DOI:10.1145/1810479
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 June 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. architecturally diverse platforms
  2. data filtering
  3. dataflow

Qualifiers

  • Research-article

Conference

SPAA 10

Acceptance Rates

Overall Acceptance Rate 447 of 1,461 submissions, 31%

Upcoming Conference

SPAA '25
37th ACM Symposium on Parallelism in Algorithms and Architectures
July 28 - August 1, 2025
Portland , OR , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 10 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2019)On the complexity of and algorithms for detecting k-length negative cost cyclesJournal of Combinatorial Optimization10.1007/s10878-018-00371-0Online publication date: 3-Jan-2019
  • (2018)Dynamic Deadlock Verification for General Barrier SynchronisationACM Transactions on Programming Languages and Systems10.1145/322906041:1(1-38)Online publication date: 11-Dec-2018
  • (2018)Randomized Approximate Nearest Neighbor Search with Limited AdaptivityACM Transactions on Parallel Computing10.1145/32098845:1(1-26)Online publication date: 13-Jun-2018
  • (2018)Better Bounds for Coalescing-Branching Random WalksACM Transactions on Parallel Computing10.1145/32096885:1(1-23)Online publication date: 13-Jun-2018
  • (2018)Kahn Process Networks and a Reactive ExtensionHandbook of Signal Processing Systems10.1007/978-3-319-91734-4_24(865-906)Online publication date: 14-Oct-2018
  • (2017)Deadlock avoidance in parallel programs with futures: why parallel tasks should not wait for strangersProceedings of the ACM on Programming Languages10.1145/31433591:OOPSLA(1-26)Online publication date: 12-Oct-2017
  • (2017)BigFoot: static check placement for dynamic race detectionACM SIGPLAN Notices10.1145/3140587.306235052:6(141-156)Online publication date: 14-Jun-2017
  • (2017)Learning user friendly type-error messagesProceedings of the ACM on Programming Languages10.1145/31339301:OOPSLA(1-29)Online publication date: 12-Oct-2017
  • (2017)How type errors were fixed and what students did?Proceedings of the ACM on Programming Languages10.1145/31339291:OOPSLA(1-27)Online publication date: 12-Oct-2017
  • (2017)Assessing user preferences in programming language designProceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3133850.3133851(18-29)Online publication date: 25-Oct-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media