Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

Pipeline

  • Ryan Johnson
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_687

Definition

Pipelining is a performance-enhancing technique which breaks a job into multiple overlapping pieces of work assigned to pipeline stages. Each pipeline stage operates in parallel, receiving inputs from a previous stage and passing intermediate results to the next. A pipeline with N stages can accommodate up to N in-progress jobs at a time. A well-designed pipeline requires only a fraction of the resources needed to achieve the same throughput with non-pipelined execution. A balancedpipeline, which distributes processing time evenly between all stages, can produce N results during the time it would have taken to process a single job all at once; unbalanced pipelines do not perform nearly as well. Pipelining also provides a secondary benefit of allowing each pipeline stage to specialize for its particular task, potentially making the combined stages both faster and less expensive than the non-pipelined server. Factory assembly lines leverage pipelining to great effect,...

This is a preview of subscription content, log in to check access.

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Carnegie Mellon UniversityPittsburgUSA

Section editors and affiliations

  • Anastasia Ailamaki
    • 1
  1. 1.Informatique et CommunicationsEcole Polytechnique Fédérale de LausanneLausanneSwitzerland