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
翻譯:
數據流計算
傳統的計算機主要面對的是需要極高速計算能力的挑戰,這種挑戰導致計算機科學家去研究非馮•諾依曼體系結構,其中最有前途的就是數據流體系結構。數據流計算是這樣一種計算,其中的操作由相互依存的數據和所用資源確定的順序來執行。在數據流程序中,操作順序不是由編程人員確定的,而是由相互依存的數據來指示的。
數據流計算可分為兩種:數據驅動計算和需要驅動計算。在數據驅動計算機中,一個指令,只要它需要的數據一輸入就立即被執行。這個指令執行之后,其結果就可為后面的指令使用。在需求驅動(例如精簡)的系統中,當一個指令產生的結果為其他指令需要時,這個指令才被啟動。這些需求引起對操作數的進一步需求,除非操作數是局部有效的。在這種情況下,指令被執行并將結果返回。在這兩種系統中,作為執行數據(或需求)激活的指令執行結果,許多指令可以立即變成執行有效狀態,這樣就有可能在程序中全部實現并行操作。人們期望這種體系結構能夠在超大規模計算上發揮效用。為數不少的此類系統正在全世界開發著,最為著名的就是日本已選擇數據流作為其第五代計算機的基本體系結構。數據流和精簡體系結構有著廣闊的前景,但是在將它們有效地用于大規模并行處理之前還有許多重要問題需要解決。數據流體系結構的一個最主要的問題就是它龐大的開銷。要解決這個問題,有人提議將控制流與數據流相結合并在任務級上利用并行處理機制。
文章來源于領測軟件測試網 http://www.kjueaiud.com/