Eine Pipeline ist ein Taskparalleles Programmiermodell, bei dem eine große Menge unabhängiger Eingabedaten durch eine Abfolge von stages verarbeitet wird.

- Dieses Modell eignet sich für Schachtelung einer Compute Farm bzw. Workcrew innerhalb von Stages: Multiplexing
- Der maximale Durchsatz ist in jedem Fall auf die Dauer der aufwendigsten stage begrenzt
Beispiel
int main(int argc, char **argv) {
pthread_create(... stage1);
pthread_create(... stage2); /* ... */
}
void *stage1(void *data) {
for ( ; ; ) {
getItem( ); // blocking
... // process stage 1
forwardItem( ); // to next stage
} /* or output */
}
/* ... */
void *stageN(void *data) { ... }