DATAFLOW COMPUTATION
Traditional computers are challenged with applications which require tremendously high-speed computation capability,which has led computer scientists to study non Von-Neumann architectures,of which the most promising one is the dataflow architecture.A dataflow computation is one in which the operations are executed in an order determined by the data interdependencies and the availability of resources.In a dataflow program,the ordering of operations is not specified by the programmer,but is that implied by the data interdependencies.
Two varieties of dataflow computations can be distinguished:data-driven computations,and demand-driven computations.In a data-driven computer,an instruction can be executed as soon as the input data it requires are available.After the instruction is executed,its result is made available to the successor instructions.In a demand-driven(e.g.,reduction)system,an instruction is triggered when the results produced by it are demanded by other instructions[1].These demands cause further demands for operands unless the operands are locally available in which case the instruction is executed and the results are sent back.In both of these systems,as a result of data(or demand)activated instruction execution,many instructions can become available for execution at once,and it is possible to exploit all of the parallelism in the program[2].It is expected that these architectures can efficiently exploit concurrency of computation on a very large scale.A number of such systems are being developed around the world.Most notably,the Japanese have chosen dataflow as the underlying architecture for their Fifth Generation Machines.Dataflow and reduction architectures hold great promise,but there are、ome important problems to be solved before they can be used effectively to provide large scale parallelism.One major problem of dataflow architecture is its heavy overhead.To solve the problem,proposals have been made to combine dataflow with control flow,and to exploit parallelisms at task-level.
NOTES
[1]produced by it过去分词短语作定语,修饰results。It作代词,指instruction。
[2]as a result of...表示“作为……的结果”。
KEYWORDS
dataflow 数据流
overhead 开销
trigger 激发
interdependency 相互依赖
concurrency 并发(性)
EXERCISES
To fill in the blanks.
(1)In a dataflow program,the ordering of operations is not specified by the programmer,but is that implied by the data ___.
(2)Two varieties of dataflow computation can be distinguished:___comput-ations,and___computations.
(3)Japanese have chosen dataflow as the underlying ___for their Fifth Generation Machines.
(4)One major problem of dataflow architecture is its heavy___.
答案:
(1)interdependencies (2)data-driven,demand-driven
(3)architecture (4)overhead
翻译:
数据流计算
传统的计算机主要面对的是需要极高速计算能力的挑战,这种挑战导致计算机科学家去研究非冯•诺依曼体系结构,其中最有前途的就是数据流体系结构。数据流计算是这样一种计算,其中的操作由相互依存的数据和所用资源确定的顺序来执行。在数据流程序中,操作顺序不是由编程人员确定的,而是由相互依存的数据来指示的。
数据流计算可分为两种:数据驱动计算和需要驱动计算。在数据驱动计算机中,一个指令,只要它需要的数据一输入就立即被执行。这个指令执行之后,其结果就可为后面的指令使用。在需求驱动(例如精简)的系统中,当一个指令产生的结果为其他指令需要时,这个指令才被启动。这些需求引起对操作数的进一步需求,除非操作数是局部有效的。在这种情况下,指令被执行并将结果返回。在这两种系统中,作为执行数据(或需求)激活的指令执行结果,许多指令可以立即变成执行有效状态,这样就有可能在程序中全部实现并行操作。人们期望这种体系结构能够在超大规模计算上发挥效用。为数不少的此类系统正在全世界开发着,最为著名的就是日本已选择数据流作为其第五代计算机的基本体系结构。数据流和精简体系结构有着广阔的前景,但是在将它们有效地用于大规模并行处理之前还有许多重要问题需要解决。数据流体系结构的一个最主要的问题就是它庞大的开销。要解决这个问题,有人提议将控制流与数据流相结合并在任务级上利用并行处理机制。
文章来源于领测软件测试网 https://www.ltesting.net/