Jeżeli diagram przepływu danych jest może zostać zredukowany do prostego grafu skierowanego (najlepiej ścieżki skierowanej) wtedy obliczenia możemy podzielić na kolejne poziomy (stages). Każdy poziom może być wykonywany równolegle. Jeżeli założymy podobny czas wykonania wszystkich kroków to po wypełnieniu potoku danymi osiągamy multiplikatywny wzrost szybkości.