In present scientific computing practice, only the first, the so-called control driven style is used widely. However, we believe that the alternatives are at interesting for the algorithm developer because they may prsent useful insight about he algorithms, even when such less common techniques cannot be used for a direct implementation. We distingusish between Control driven parallelism. The basis of this model is a machine architecture with several conventional CPUs, each having its own program counter. The state of processing is characterized by the collective value of all the program counters.
Data flow driven parallelism.
In this programming model data is pointing to executable code which may be executed as soon as all inputs are available. This corresponds to an eager , bottom up evaluation of parallel code fragments. Data flow parallelism requires an efficient technique to check whether data is available for computation. Data that is required as input for several operations must be copied. One disadvantage of data flow parallelism is associated with its eager evaluation strategy.