Parallele Verlangsamung - Parallel slowdown

Ein Diagramm der Programmlaufzeit (blau dargestellt) und der Programmbeschleunigung (rot dargestellt) eines realen Programms mit suboptimaler Parallelisierung. Die gestrichelten Linien zeigen eine optimale Parallelisierung an - lineare Zunahme der Beschleunigung und lineare Abnahme der Programmlaufzeit. Beachten Sie, dass die Laufzeit mit mehr Prozessoren tatsächlich zunimmt (und die Beschleunigung ebenfalls abnimmt). Dies ist eine parallele Verlangsamung.

Parallele Verlangsamung ist ein Phänomen beim parallelen Rechnen, bei dem die Parallelisierung eines parallelen Algorithmus über einen bestimmten Punkt hinaus dazu führt, dass das Programm langsamer ausgeführt wird (es dauert länger, bis es abgeschlossen ist).

Die parallele Verlangsamung ist normalerweise das Ergebnis eines Kommunikationsengpasses. Wenn mehr Prozessorknoten hinzugefügt werden, verbringt jeder Verarbeitungsknoten zunehmend mehr Zeit mit der Kommunikation als die nützliche Verarbeitung. Irgendwann übersteigt der Kommunikationsaufwand, der durch Hinzufügen eines weiteren Verarbeitungsknotens entsteht, die erhöhte Verarbeitungsleistung, die der Knoten bereitstellt, und es tritt eine parallele Verlangsamung auf.

Eine parallele Verlangsamung tritt auf, wenn der Algorithmus eine signifikante Kommunikation erfordert, insbesondere von Zwischenergebnissen. Einige Probleme, die als peinlich parallele Probleme bekannt sind , erfordern keine solche Kommunikation und sind daher nicht von einer Verlangsamung betroffen.

Verweise

Siehe auch

  • Mythischer Mannmonat , eine analoge Situation für Teamprogrammierer, in der die Produktivität durch menschliche Kommunikation beeinträchtigt wird.