2. Pipelined Computation
Pipelined Computation Applications
◦ Type 1 : Multiple instances of the complete problem
◦ Type 2 : Overlapping Pipeline Stages
DDS Architecture for Pipelining Computation
2
3. Pipelined computation is a parallel technique
used when the problem could be divided into
series of tasks that have to be completed in
sequential order.
One form of functional decomposition:
◦ Each task (function) is implemented as a
process, called a stage.
◦ Each stage contributes to the overall solution of the
problem and passes on the required data for
subsequent stage.
3
5. Though the execution of pipelining seems
sequential, it can provide reasonable speedup
in TWO TYPES of computations:
Type1: When more than one instance of the
complete problem is to be executed.
Type 2: When the data required starting the next
state can be passed forward before the current stage
has completed all its internal operation.
5
6. Pipelining increases the throughput (number of
instances completed per time unit).
Typical Application Examples:
1. Pipelining Addition.
2. Frequency Filtering.
3. Sound Digitizing……...
6
7. Time for m instances = (pipeline fill + number of instances) x stage delay
= ( p- 1 + m ) x stage delay
Throughput = m/((p- 1 +m) x stage delay)
If m >> p
Throughput = 1/stage delay
7
8. In this type of computation, pipelining improves the
execution time of a single instance due to
computation overlapping.
The gained improvement depends on communication
The fast the communication, the better the performance
Typical Application Examples:
◦ Linear Algebra Algorithm:
Gauss Elimination, Back-substitution …….
8
10. Report Result
Subscriber Publisher Subscriber Publisher Subscriber Publisher
Processin
g Processing Processing
Process 1 Process 1
General DDS Architecture for Pipelining Computation
10