[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2145816.2145846acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

Efficient deadlock avoidance for streaming computation with filtering

Published: 25 February 2012 Publication History

Abstract

Parallel streaming computations have been studied extensively, and many languages, libraries, and systems have been designed to support this model of computation. In particular, we consider acyclic streaming computations in which individual nodes can choose to filter, or discard, some of their inputs in a data-dependent manner. In these applications, if the channels between nodes have finite buffers, the computation can deadlock. One method of deadlock avoidance is to augment the data streams between nodes with occasional dummy messages; however, for general DAG topologies, no polynomial time algorithm is known to compute the intervals at which dummy messages must be sent to avoid deadlock.
In this paper, we show that deadlock avoidance for streaming computations with filtering can be performed efficiently for a large class of DAG topologies. We first present a new method where each dummy message is tagged with a destination, so as to reduce the number of dummy messages sent over the network. We then give efficient algorithms for dummy interval computation in series-parallel DAGs. We finally generalize our results to a larger graph family, which we call the CS4 DAGs, in which every undirected Cycle is Single-Source and Single-Sink (CS4). Our results show that, for a large set of application topologies that are both intuitively useful and formalizable, the streaming model with filtering can be implemented safely with reasonable overhead.

References

[1]
I. Buck, T. Foley, D. Horn, J. Sugerman, K. Fatahalian, M. Houston, and P. Hanrahan. Brook for GPUs: Stream computing on graphics hardware. ACM Trans. Graphics, 23 (3): 777--786, 2004.
[2]
J. T. Buck. Static scheduling and code generation from dynamic dataflow graphs with integer-valued control streams. In Asilomar Conf. on Signals, Systems, and Computers, pages 508--513, Nov. 1994.
[3]
J. Buhler, J. M. Lancaster, A. C. Jacob, and R. D. Chamberlain. Mercury BLASTN: Faster DNA sequence comparison using a streaming hardware architecture. In Proc. Reconfigurable Systems Summer Institute, Urbana, IL, July 2007.
[4]
R. J. Duffin. Topology of series-parallel networks. Journal of Mathematical Analysis and Applications, 10: 303--318, 1965.
[5]
M. A. Franklin, E. J. Tyson, J. H. Buckley, P. Crowley, and J. Maschmeyer. Auto-pipe and the X language: A pipeline design tool and description language. In IEEE Int'l Parallel and Distributed Processing Symp., Apr. 2006.
[6]
M. M. Gaber, A. Zaslavsky, and S. Krishnaswamy. Mining data streams: a review. SIGMOD Rec., 34 (2): 18--26, 2005.
[7]
B. Khailany, W. Dally, S. Rixner, U. Kapasi, P. Mattson, J. Namkoong, J. Owens, B. Towles, and A. Chang. Imagine: Media processing with streams. IEEE Micro, pages 35--46, March/April 2001.
[8]
E. A. Lee. Consistency in dataflow graphs. IEEE Trans. on Parallel and Distributed Systems, 2 (2): 223--235, Apr. 1991.
[9]
E. A. Lee and D. G. Messerschmitt. Synchronous data flow. Proceedings of the IEEE, 75 (9): 1235--1245, Sept. 1987.
[10]
P. Li, K. Agrawal, J. Buhler, and R. D. Chamberlain. Deadlock avoidance for streaming computations with filtering. In ACM Symp. on Parallelism in Algorithms and Architectures, 2010.
[11]
Li, Agrawal, Buhler, Chamberlain, and Lancaster}ASAP10P. Li, K. Agrawal, J. Buhler, R. D. Chamberlain, and J. M. Lancaster. Deadlock-avoidance for streaming applications with split-join structure: Two case studies. In IEEE Int'l Conf. on Application-specific Systems, Architectures and Processors, pages 333--336, July 2010.
[12]
Y. Liu, N. Vijayakumar, and B. Plale. Stream processing in data-driven computational science. In IEEE/ACM Int'l Conf. on Grid Computing, pages 160--167, 2006.
[13]
W. R. Mark, R. S. Glanville, K. Akeley, and M. J. Kilgard. Cg: a system for programming graphics hardware in a C-like language. ACM Trans. on Graphics, 22 (3): 896--907, July 2003.
[14]
J. Misra. Distributed discrete-event simulation. ACM Comput. Surv., 18 (1): 39--65, 1986.
[15]
J. W. Romein, P. C. Broekema, E. van Meijeren, K. van der Schaaf, and W. H. Zwart. Astronomical real-time streaming signal processing on a Blue Gene/L supercomputer. In ACM Symp. on Parallelism in Algorithms and Architectures, pages 59--66, 2006.
[16]
W. Thies and S. Amarasinghe. An empirical characterization of stream programs and its implications for language and compiler design. In Int'l Conf. on Parallel Architectures and Compilation Techniques, pages 365--376, 2010.
[17]
W. Thies, M. Karczmarek, and S. Amarasinghe. StreamIt: A language for streaming applications. In Int'l Conf. on Compiler Construction, pages 179--196, 2002.
[18]
J. Valdes, R. E. Tarjan, and E. L. Lawler. The recognition of series parallel digraphs. In ACM Symposium on Theory of Computing, 1979.

Cited By

View all
  • (2023)Novel Approach to Identify and Eliminate Deadlocks in the ‘C’ ProgramProceedings of the 2nd International Conference on Cognitive and Intelligent Computing10.1007/978-981-99-2746-3_21(197-204)Online publication date: 2-Oct-2023
  • (2019)Transitive joinsProceedings of the 24th Symposium on Principles and Practice of Parallel Programming10.1145/3293883.3295724(378-390)Online publication date: 16-Feb-2019
  • (2017)Deadlock-free buffer configuration for stream computingInternational Journal of High Performance Computing Applications10.1177/109434201667567931:5(441-450)Online publication date: 1-Sep-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PPoPP '12: Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
February 2012
352 pages
ISBN:9781450311601
DOI:10.1145/2145816
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 47, Issue 8
    PPOPP '12
    August 2012
    334 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2370036
    Issue’s Table of Contents
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: 25 February 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. deadlock avoidance
  2. graph theory
  3. streaming computation

Qualifiers

  • Research-article

Conference

PPoPP '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Novel Approach to Identify and Eliminate Deadlocks in the ‘C’ ProgramProceedings of the 2nd International Conference on Cognitive and Intelligent Computing10.1007/978-981-99-2746-3_21(197-204)Online publication date: 2-Oct-2023
  • (2019)Transitive joinsProceedings of the 24th Symposium on Principles and Practice of Parallel Programming10.1145/3293883.3295724(378-390)Online publication date: 16-Feb-2019
  • (2017)Deadlock-free buffer configuration for stream computingInternational Journal of High Performance Computing Applications10.1177/109434201667567931:5(441-450)Online publication date: 1-Sep-2017
  • (2017)MERCATOR: A GPGPU Framework for Irregular Streaming Applications2017 International Conference on High Performance Computing & Simulation (HPCS)10.1109/HPCS.2017.111(727-736)Online publication date: Jul-2017
  • (2015)Deadlock-free buffer configuration for stream computingProceedings of the Sixth International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/2712386.2712403(164-169)Online publication date: 7-Feb-2015
  • (2014)Orchestrating safe streaming computations with precise control2014 20th IEEE International Conference on Parallel and Distributed Systems (ICPADS)10.1109/PADSW.2014.7097925(1017-1022)Online publication date: Dec-2014
  • (2013)Polyhedral Constraints for Bounded-Memory Execution of Synchronized Filtering DataflowProceedings of the 2013 Data-Flow Execution Models for Extreme Scale Computing10.1109/DFM.2013.11(29-37)Online publication date: 8-Sep-2013

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media