什么是数据流
编辑在计算中,数据流是一个广义的概念,根据应用程序和上下文的不同,它具有各种含义。在软件体系结构的上下文中,数据流与流处理或反应式编程有关。
软件架构
编辑数据流是一种软件范例,其基于将计算参与者分离为可以并行执行的阶段(管道)的想法。数据流也可以称为流处理或反应式编程。
存在多种形式的多种数据流/流处理语言。数据流硬件是经典的冯·诺依曼体系结构的替代方案。数据流编程的最明显示例是称为电子表格的反应式编程的子集。当用户输入新值时,它们会立即传输到下一个逻辑“角色”或公式进行计算。
还已经提出了分布式数据流作为捕获分布式多协议动态的编程抽象。数据流编程的以数据为中心的透视图特性促进了高级功能规范,并简化了有关系统组件的形式化推理。
数据流硬件架构
编辑数据流的硬件体系结构是1970年代和1980年代初计算机体系结构研究的一个主要主题。麻省理工学院的杰克·丹尼斯(Jack Dennis)开拓了静态数据流体系结构领域。使用常规内存地址作为数据依赖标签的设计称为静态数据流计算机。这些机器不允许同时执行同一例程的多个实例,因为简单标记无法区分它们。使用内容可寻址内存的设计被Arvind称为动态数据流机器。他们在内存中使用标签来促进并行性。数据通过计算机的组件在计算机周围流动。它是从输入设备输入的,可以通过输出设备(打印机等)离开。
并发
编辑数据流网络是同时执行过程或自动机的网络,可以通过在通道上发送数据来进行通信。
在以Gilles Kahn命名的Kahn过程网络中,过程是确定的。这意味着每个确定过程都会计算从输入流到输出流的连续函数,而确定过程网络本身就是确定的,因此计算出连续函数。这意味着可以用一组递归方程来描述这种网络的行为,这可以使用不动点理论来解决。数据的移动和转换由一系列形状和线条表示。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/113544/