Pipeline (Computer)

In computer jargon, a pipeline is a set of data processing elements connected in series, so that the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion; in that case, some amount of buffer storage is often inserted between elements. Computer-related pipelines include:

Concept and motivation

Pipelining is a natural concept in everyday life, e.g. when doing laundry. After the first load of laundry comes out of the washer and is placed in the dryer a second load can be put in the washer, without waiting for the drying to finish. If washing takes 30 minutes, and drying takes 60 minutes, a single load will take 90 minutes; but two loads can be done in 150 minutes. After one load of laundry goes through the system, a new one will finish every 60 minutes.

Costs and benefits

As the laundry example shows, pipelining doesn't decrease the time for a single datum to be processed; it only increase the throughput of the system when processing a stream of data. A pipelined system typically requires more resources (circuit elements, processing units, computer memory, etc.) than one that executes one batch at a time, because its stages cannot reuse the resources of a previous stage. Moreover, pipelining may increase the time it takes for an instruction to finish.

Design considerations

One key aspect of pipeline design is balancing pipeline stages. Using the laundry example, we could have greater time savings if both the washer and dryer both took only 45 minutes. Although the system latency would still be 90 minutes, we would be able to output a new load of laundry every 45 minutes. If the wash only took 30 minutes and the dryer took 60, the washer would be idle for 30 minutes every hour (50% of the time). Another design consideration is the provision of adequate buffering between the pipeline stages — especially when the processing times are irregular, or when data items may be created or destroyed along the pipeline.

See also

 

<< PreviousWord BrowserNext >>
resistance, rebellion, and death
ian temby
list of famous families
battle of kobryn
philippe, comte de paris
pipeline (unix)
mike nazaruk
gettysburg (movie)
eufor
leonard huxley (physicist)
greg james
ken watson
magi nation duel
stanley morison
mauri rose
david elphinstone
alternating knot
reassortment
apple pascal
pkp
battle of tippermuir
manny ayulo
apolo
vanya on 42nd street
zabargad
johnny thomson
the story of art
.hn
johnny boyd
jimmy davies
.ht
boost mobile
msn spaces
jack mcgrath
.ke
playoff beard
for you
.kg
battlestar
george amick
akiko matsumoto
.km
.kr
list of u.s. counties named after other u.s. counties