이 문서의 내용은 출처가 분명하지 않습니다. (2013년 9월) |
컴퓨터 과학에서 파이프라인(영어: pipeline) 또는 데이터 파이프라인(data pipeline)[1]은 한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조를 가리킨다. 이렇게 연결된 데이터 처리 단계는 한 여러 단계가 서로 동시에, 또는 병렬적으로 수행될 수 있어 효율성의 향상을 꾀할 수 있다. 각 단계 사이의 입출력을 중계하기 위해 버퍼가 사용될 수 있다.
대표적인 파이프라인 구조는 다음과 같은 것들이 있다.
파이프라인은 공장의 조립 라인과 유사한 개념으로 만들어졌다. 예를 들어 자동차 조립 라인이라면, 자동차를 조립하는 과정을 크게 엔진 설치, 문과 후드 설치, 바퀴 설치 등으로 나눌 수 있을 것이다. 이 과정을 하나의 조립라인에서 모두 수행하는 것보다, 첫 번째 라인에서 엔진을 설치하여 두 번째 라인으로 보내고, 두 번째 라인에서 문과 후드를 설치하여 세 번째 라인으로 보내고, 세 번째 라인에서 바퀴를 설치하여 조립을 완료한다면, 각각의 라인이 동시에 동작할 수 있어 차량 생산을 더 효율적으로 할 수 있다.
부품마다 별개의 조립 라인을 이용한다고 해서 개별 차량의 생산 시간이 줄어드는 것은 아니다. 오히려 라인 간 이동에 의해 개별 차량의 생산 시간은 늘어날 수도 있다. 파이프라인 구조에서도 마찬가지로, 데이터 처리를 한 단계에서 전부 처리하는 것에 비해 각 데이터 요소의 처리 시간이 줄어들지는 않는다. 그러나 각 파이프라인이 병렬적으로 동시에 동작함으로써 전체 시스템의 효율성 향상을 꾀할 수 있다.