Abhängigkeitsgraph
Ein Abhängigkeitsgraph beschreibt, welche Tasks, Prozesse oder Berechnungsschritte vor anderen abgeschlossen sein müssen.
Bestandteile
- Knoten: Tasks, Prozesse oder Funktionen
- gerichtete Kanten: Abhängigkeiten
Eine Kante
A -> B
bedeutet:
B darf erst starten, wenn A beendet ist.
Verwendung
Abhängigkeitsgraphen helfen dabei, Programme zu parallelisieren.
Tasks ohne direkte oder indirekte Abhängigkeit voneinander können parallel ausgeführt werden.
Beispiel
A -> B
A -> C
B -> D
C -> D
Dann gilt:
Amuss zuerst laufen.BundCkönnen danach parallel laufen.Ddarf erst laufen, wennBundCfertig sind.
Zusammenhang mit Parallelisierung
- Mit
fork/joinkönnen Abhängigkeiten flexibel umgesetzt werden. - Mit
parbegin/parendkönnen zusätzliche künstliche Abhängigkeiten entstehen, weilparendauf alle Zweige wartet.