~ Office Supplies ~~ Buy Posters ~~ A-Z Products ~~ Website Advertising


Pipeline - Wikipedia

<<Up     Contents

Pipeline

This article refers to the mechanical, electrical, and software systems meaning of pipeline. For pipelines used to transport fluids like water or petroleum, see pipeline transport.


The term pipeline has meaning in electrical and mechanical systems, as well as in software. In general, the term represents the concept of splitting a job into subprocesses in which the output of one subprocess feeds into the next (much like water flows from one pipe segment to the next).

A mechanical example of a pipeline is a washer/dryer system for clothing. Instead of having one unit that both washes and dries, we have two units that together form a pipeline (the output of the washer enters the drier). If washing takes 1 hour and drying takes 1 hour, the pipeline allows us to finish a full load of laundry every hour, compared to every 2 hours if you had a single (non-pipelined) unit that washed and then dried. It still requires two hours for an item of clothing to complete its wash/dry cycle of course.

Electrically, pipelines are used in microprocessors to allow complex logic sequences to execute at faster speeds. Pipelines are related to the engineering concepts of throughput and latency. See Instruction pipeline for a better discussion.

In computer software, a pipeline is a command line feature prevalent in UNIX and other UNIX-like operating systems. Douglas McIlroy, one of the authors of the early UNIX command shells, noticed that much of the time they were processing the output of one program as the input to another. The UNIX pioneers established a means of chaining the running programs together as co-processes[?] so that the output of the first program becomes the input to the second. This was to become the famous pipes and filters design pattern. A pipeline may be extended to any number of commands with the output of one serving as the input to the next.

Commonly filter programs are used in a UNIX pipeline and they usually obey a few conventions: line structured records, reading data from the standard input, and writing to the standard output.

Below is an example of a pipeline that implements a kind of spell checker for this page.

 curl http://www.wikipedia.org/wiki/Pipeline |
 sed 's/[^a-zA-Z ]//g' |
 tr[?] 'A-Z ' 'a-z\n' |
 grep '[a-z]' |
 sort -u |
 comm -23 - /usr/dict/words

Here is an explanation of the pipeline:

wikipedia.org dumped 2003-03-17 with terodump




 
 
35 ct Very pink red gemmy RHODOCHROSITE Gorgeous gemstone freeform Single gem piece Very nice PRETTY
 35 ct Very pink red my RHODOCHROSITE Gorgeous freeform Single piece Very nice PRETTY 
 
17 grams light green new jade Serpentine gem stone Tumble polished cab cabbing rough 89 carat Nice
 17 grams light green new jade Serpentine Tumble polished cab cabbing 89 carat Nice 
 
78 carats CHRYSOBERYL gems stones Facet uncut raw rough gemstones crystals lot 4 to 5 ct 15 grams gr
 78 carats CHRYSOBERYL uncut raw crystals lot 4 to 5 ct 15 grams gr 
 
11 carats pink Rhodonite gem Polished rectangle blocks Cabbing cab cabochon rough gemstone freeforms
 11 carats pink Rhodonite Polished rectangle blocks Cabbing cab cabochon freeforms 
 
10 gram pink KUNZITE crystal specimen gem stone Cab cabbing cabochon rough uncut gemstone 51 carat 4
 10 gram pink KUNZITE crystal specimen Cab cabbing cabochon uncut 51 carat 4