DATA-FLOW PROCESS NETWORKS

被引:454
作者
LEE, EA
PARKS, TM
机构
[1] Department of Electrical Engineering and Computer Sciences, The University of California, Berkeley
基金
美国国家科学基金会;
关键词
D O I
10.1109/5.381846
中图分类号
TM [电工技术]; TN [电子技术、通信技术];
学科分类号
0808 ; 0809 ;
摘要
We review a model of computation used in industrial practice in signal processing software environments and experimentally in other contexts. We give this model the name ''dataflow process networks,'' and study its formal properties as well as its utility as a basis for programming language design. Variants of this model are used in commercial visual programming systems such as SPW from the Alta Group of Cadence (formerly Comdisco Systems), COSSAP from Synopsys (formerly Cadis), the DSP Station from Mentor Graphics, and Hypersignal from Hyperception. They are also used in research software such as Khoros from the University of New Mexico and Ptolemy from the University of California at Berkeley, among many others. Dataflow process networks are shown to be a special case of Kahn process networks, a model of computation where a number of concurrent processes communicate through unidirectional FIFO channels, where writes to the channel are nonblocking, and reads are blocking. In dataflow process networks, each process consists of repeated ''firings'' of a dataflow ''actor.'' An actor defines a (often functional) quantum of computation. By dividing processes into actor firings, the considerable overhead of context switching incurred in most implementations of Kahn process networks is avoided. We relate dataflow process networks to other dataflow models, including those used in dataflow machines, such as static dataflow and the tagged-token model, We also relate dataflow process networks to functional languages such as Haskell, and show that modem language concepts such as higher-order functions and polymorphism can be used effectively in dataflow process networks. A number of programming examples using a visual syntax: are given.
引用
收藏
页码:773 / 799
页数:27
相关论文
共 98 条
[41]  
Dijkstra EW, 1976, DISCIPLINE PROGRAMMI
[42]   MULTIWAY STREAMS IN SCHEME [J].
FRANCO, J ;
FRIEDMAN, DP ;
JOHNSON, SD .
COMPUTER LANGUAGES, 1990, 15 (02) :109-125
[43]  
GIFFORD DK, 1986, 1986 P ACM C LISP FU, P28
[44]  
HA S, 1992, THESIS U CALIF BERKE
[45]   THE SYNCHRONOUS DATA FLOW PROGRAMMING LANGUAGE LUSTER [J].
HALBWACHS, N ;
CASPI, P ;
RAYMOND, P ;
PILAUD, D .
PROCEEDINGS OF THE IEEE, 1991, 79 (09) :1305-1320
[46]  
Halbwachs N, 1993, SYNCHRONOUS PROGRAMM
[47]  
HARRISON PG, 1992, COMPUTER J, V35
[48]   PERFORMANCE STUDIES OF ID ON THE MONSOON DATA-FLOW SYSTEM [J].
HICKS, J ;
CHIOU, D ;
ANG, BS ;
ARVIND .
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1993, 18 (03) :273-300
[49]  
HILFINGER PN, 1985, MAY P IEEE CUST INT, P213
[50]  
HILLS DD, J VISUAL LANG COMPUT, V3, P69