Pipeline

A HupWiki-ből...

A csővezetéket (=pipeline) mint fogalmat metaforikusan használják a számítástechnikában arra a folyamatra, amiben több program láncba való összekapcsolása történik. Ilyenkor az egyik elem kimenete a másik elem bemenetére kerül, köztes adattárolás nélkül. Gyakorlatilag az adatfeldolgozás folyamatát egymást követő részfolyamatokra bontják. Ahogy az adatok végighaladnak a feldolgozósoron, a részműveletek egymás után hajtódnak végre. A csővezeték alkalmazása növeli a rendszer átmenő teljesítményét. Ugyanakkor nem csökkenti egyetlen művelet végrehajtási idejét. Csak akkor jelent tényleges teljesítménynövekedést, ha nagyobb méretű adatfolyamot dolgozunk fel. Ilyenkor a látszólagos végrehajtási idő jelentősen csökkenhet. A csővezetékes rendszereknek tipikusan nagyobb az erőforrásigényük (CPU , memória ,...) mint egy kötegelt(Batch) feldolgozást megvalósító rendszernek, mivel az egyes elemek nem tudják felhasználni az előzőek erőforrásait.

Megkülönböztethetünk többféle csővezetéket a számítástechnikában:
  • Hardveres: processzorokban(CPU) és videokártyákban(GPU)
  • Szoftveres: a Unix operációs rendszerben klasszikus implementácóját teláljuk a csővezetéknek.