DATA-FLOW PROCESS NETWORKS

DATA-FLOW PROCESS NETWORKS
复制标题

DOI:
10.1109/5.381846
复制
发表时间:
1995-05-01
影响因子:
20.6
通讯作者:
PARKS, TM
PARKS, TM
中科院分区:
计算机科学1区
文献类型:
--
作者:
LEE, EA;PARKS, TM

文献摘要

被引文献

相似文献

我们回顾了在信号处理软件环境中的工业实践中使用的计算模型,并在其他环境中进行了实验。我们将该模型命名为数据流过程网络,并研究了它的形式性质以及作为程序设计语言设计基础的实用性。该模型的变体用于商业视觉编程系统,例如来自Alta Group of Cadence(以前的Comdiso Systems)的SPW,来自Synopsys(以前的Cadis)的COSSAP,来自Mentor Graphics的DSP Station,以及来自Hyercept的HyperSignal。数据流进程网络是Kahn进程网络的特例,是一种计算模型,其中许多并发进程通过单向FIFO通道进行通信,其中对通道的写入是非阻塞的,而对通道的读取是阻塞的。在数据流进程网络中,每个进程都由数据流参与者的重复“触发”组成。参与者定义了计算量(通常是函数式的)。通过将进程划分为参与者触发,避免了大多数Kahn进程网络实现中的上下文切换开销;我们将数据流进程网络与其他数据流模型联系起来,包括数据流机器中使用的静态数据流和标记令牌模型,我们还将数据流进程网络与Haskell等函数式语言联系起来,并证明了高阶函数和多态等现代语言概念可以有效地应用于数据流进程网络。给出了一些使用可视化语法的编程示例。
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.