The Manchester prototype dataflow computer
Communications of the ACM - Special section on computer architecture
Distributed discrete-event simulation
ACM Computing Surveys (CSUR)
Parallel discrete event simulation
Communications of the ACM - Special issue on simulation
Bounded scheduling of process networks
Bounded scheduling of process networks
Monsoon: an explicit token-store architecture
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Distributed deadlock detection
ACM Transactions on Computer Systems (TOCS)
Algorithm 447: efficient algorithms for graph manipulation
Communications of the ACM
Imagine: Media Processing with Streams
IEEE Micro
A distributed algorithm for detecting resource deadlocks in distributed systems
PODC '82 Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing
A distributed algorithm for deadlock detection and resolution
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Scheduling dynamic dataflow graphs with bounded memory using the token flow model
Scheduling dynamic dataflow graphs with bounded memory using the token flow model
Analysis and Performance Results of a Molecular Modeling Application on Merrimac
Proceedings of the 2004 ACM/IEEE conference on Supercomputing
Artificial Deadlock Detection in Process Networks for ECLIPSE
ASAP '05 Proceedings of the 2005 IEEE International Conference on Application-Specific Systems, Architecture Processors
A new way to enumerate cycles in graph
AICT-ICIW '06 Proceedings of the Advanced Int'l Conference on Telecommunications and Int'l Conference on Internet and Web Applications and Services
Mercury BLASTP: Accelerating Protein Sequence Alignment
ACM Transactions on Reconfigurable Technology and Systems (TRETS)
Requirements on the execution of Kahn process networks
ESOP'03 Proceedings of the 12th European conference on Programming
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
Efficient deadlock avoidance for streaming computation with filtering
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
Cache-conscious scheduling of streaming applications
Proceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures
Partition and compose: parallel complex event processing
Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems
Hi-index | 0.00 |
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.