Distributed discrete-event simulation
ACM Computing Surveys (CSUR)
Imagine: Media Processing with Streams
IEEE Micro
Consistency in Dataflow Graphs
IEEE Transactions on Parallel and Distributed Systems
StreamIt: A Language for Streaming Applications
CC '02 Proceedings of the 11th International Conference on Compiler Construction
The recognition of Series Parallel digraphs
STOC '79 Proceedings of the eleventh annual ACM symposium on Theory of computing
Cg: a system for programming graphics hardware in a C-like language
ACM SIGGRAPH 2003 Papers
Brook for GPUs: stream computing on graphics hardware
ACM SIGGRAPH 2004 Papers
ACM SIGMOD Record
Astronomical real-time streaming signal processing on a Blue Gene/L supercomputer
Proceedings of the eighteenth annual ACM symposium on Parallelism in algorithms and architectures
Stream processing in data-driven computational science
GRID '06 Proceedings of the 7th IEEE/ACM International Conference on Grid Computing
Deadlock avoidance for streaming computations with filtering
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Proceedings of the 19th international conference on Parallel architectures and compilation techniques
Auto-pipe and the X language: a pipeline design tool and description language
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Hi-index | 0.00 |
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.