0% found this document useful (0 votes)
81 views14 pages

Data Flow

The document discusses data flow computers and their differences from conventional von Neumann machines. Data flow computers are data-driven, meaning instruction execution is controlled by data availability rather than a program flow. They also use static and dynamic data flow architectures. Static models only allow one data token per arc, while dynamic models use tagged tokens to allow parallelism. The document compares control flow vs data flow models and highlights properties of data flow languages.

Uploaded by

kkrajeev
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views14 pages

Data Flow

The document discusses data flow computers and their differences from conventional von Neumann machines. Data flow computers are data-driven, meaning instruction execution is controlled by data availability rather than a program flow. They also use static and dynamic data flow architectures. Static models only allow one data token per arc, while dynamic models use tagged tokens to allow parallelism. The document compares control flow vs data flow models and highlights properties of data flow languages.

Uploaded by

kkrajeev
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 14

DATA FLOW COMPUTERS

DATA-DRIVEN COMPUTING AND


LANGUAGES

Data flow computers are based on the concept of data-driven


computation, which is different from the operation of a
conventional von Neumann machine.

The fundamental difference is that instruction execution in a


conventional computer is under program-flow control,
whereas that in a data flow computer is driven by the data
(operand) availability
Jack Dennis (1979) of MIT has identified three basic issues
towards the development of an Ideal architecture for future
computers.

 The first is to achieve a high performance/cost ratio

The second is to match the ratio with technological


progress

 The third is to offer better programmability in application


areas.
CONTROL FLOW VS DATA FLOW
COMPUTERS
• The concepts of control flow and data flow
computing are distinguished by the control of
computation sequences in two distinct program
representations. The statement a = (b + 1). (b -
c) is specified by a series of instructions with an
explicit flow of control. Shared memory cells
are the means by which data is passed between
instructions. Data (operands) are referenced
by their memory addresses.
 In the traditional sequential control flow model (von
Neumann), there is a single thread of control which is
passed from instruction to instruction. Explicit control
transfers are caused by using operators like GOTO.

 In the parallel control flow model , special parallel


control operators such as FORK and JOIN are used to
explicitly specify parallelism; These operators allow
more than one thread of control to be active at an
instant and provide means for synchronizing these
threads. An underlined variables refer to addresses of
operands and instructions.
Special features are identified below for either the sequential
or parallel

control flow model:


Data is passed between instructions via references to
shared
memory cells.

Flow of control is implicitly sequential, but special control


operators can be used explicitly for parallelism.

Program counters are used to sequence the execution of


instruction in a centralized control environment.
Interesting features in the data flow model:

Intermediate or final results are passed directly as data


token between instructions.

There is no concept of shared data storage as embodied in


the traditional notion of a variable.

Program sequencing is constrained only by data


dependency among instructions.
Comparison

 Control flow computers have a control-driven organization.

This means that the program has complete control over


instruction sequencing. Synchronous computations are
performed in control flow computers using centralized
control.

 Data flow computers have a data-driven organization that is


characterized by passive examine stage. Instructions are
examined to reveal the operand availability, upon which
they are executed immediately-if the functional units are
available.
Static and Dynamic Data flow
architectures

Types of data flow computers

Static model

Dynamic model
Static and Dynamic Data flow architectures
Data tokens are assumed to move along the arcs of the data flow
program graph to the operator nodes. The nodal operation gets
executed when all its operand data are present at the input arcs.
Static Model Dynamic Model
• Only one token is allowed • It uses Tagged tokens, so
to exist on any arc at any that more than one token
given time, otherwise the can exist in arc.
successive sets of tokens
cannot be distinguished
• The tagging is achieved by
attaching a label with each
• This architecture is token which uniquely
considered static because identifies the context of that
tokens-are not labeled particular token.
Static and Dynamic Data flow architectures

Static Model Dynamic Model


• It offers maximum
and control tokens must be
used to acknowledge the parallelism
proper timing in
transferring data tokens
from node to node
Data flow graphs and languages
Some of the properties of data flow languages are

 Locality of effect without far-reaching data dependencies

 Equivalence of instruction-sequencing constraints with data


dependencies .

Satisfying single-assignment rule with aliasing

Unfolding of iterative computations into parallelism .

Lack of “history sensitivity" in procedures calls

 Freedom from side effects based on functional programming

You might also like