skip to main content
research-article

Efficient deadlock avoidance for streaming computation with filtering

Authors Info & Claims
Published:25 February 2012Publication History
Skip Abstract Section

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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  4. R. J. Duffin. Topology of series-parallel networks. Journal of Mathematical Analysis and Applications, 10: 303--318, 1965.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. M. Gaber, A. Zaslavsky, and S. Krishnaswamy. Mining data streams: a review. SIGMOD Rec., 34 (2): 18--26, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. A. Lee. Consistency in dataflow graphs. IEEE Trans. on Parallel and Distributed Systems, 2 (2): 223--235, Apr. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E. A. Lee and D. G. Messerschmitt. Synchronous data flow. Proceedings of the IEEE, 75 (9): 1235--1245, Sept. 1987.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Misra. Distributed discrete-event simulation. ACM Comput. Surv., 18 (1): 39--65, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Valdes, R. E. Tarjan, and E. L. Lawler. The recognition of series parallel digraphs. In ACM Symposium on Theory of Computing, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Efficient deadlock avoidance for streaming computation with filtering

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            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
            • 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

            Copyright © 2012 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 25 February 2012

            Check for updates

            Qualifiers

            • research-article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!