Next: 3.4.3 Kommunikationsaufwand
Up: 3.4 Leistungsbewertung paralleler Algorithmen
Previous: 3.4.1 Speedup und Scaleup
3.4.2 Effizienz
Parallele Effizienz :
Hier sei nur die Formel für die klassische (parallele) Effizienz angegeben,
die skalierte Effizienz berechnet sich analog.
 |
(3.3) |
Eine Effizienz von 100% wäre ideal, d.h. die Verwendung von
Prozessoren beschleunigt die Programmabarbeitung auf das
-fache.
Die parallele Effizienz für den Scaleup läßt sich explizit angeben :
Ganz leicht sinkende Effizienz bei wachsender Prozessorzahl.
Effizienz jedoch mindestens so hoch wie
paralleler Anteil im Programm.
Vorlesung hat doch einen Sinn.
Numerische Effizienz :
Setzt den schnellsten seriellen Algorithmus mit dem schnellsten
parallelen Algorithmus (ausgeführt auf einem Prozessor) ins Verhältnis.
 |
(3.4) |
Somit ergibt sich die (skalierte) Effizienz eines parallelen
Algorithmus
 |
(3.5) |
Obige Scaled Speedup- und Effizienzaussagen sind sehr optimistisch.
Aber :
In Formel (3.4) ist stillschweigend eine Gleichverteilung
der Gesamtaufgabe auf alle Prozessoren vorausgesetzt. Dies ist
in der Praxis a priori oder im Laufe der Rechnung oft nicht der Fall.
Gleichzeitig wird in Formel (3.4) keinerlei Verlust
durch die Kommunikation während der Programmabarbeitung berücksichtigt.
Praktische Effizienz liegt unter der theoretischen.
Loadbalancing :
Versuch der gleichmäßigen Auslastung der Prozessoren.
Möglichkeiten dem idealen Loadbalancing nahezukommen :
- Statisches Loadbalancing [a priori]:
- Aufteilung der Netze, Daten nach Abzählung ist zu ineffektiv
und nutzt keinerlei, wie auch immer geartete,
Nachbarschaftsbeziehungen aus.
- Aufteilung der Daten nach gewissen Bisektionstechniken
(z.B. Koordinatenbisektion, rekursive spektrale
Bisektion, Kerningham-Lin-Algorithmus [TK96].
Je besser die Datenverteilung (auch in Bezug
auf die Kommunikation), desto mehr Aufwand muß bei den einzelnen
Bisektionstechniken betrieben werden.
Besonders geeignet für Optimierungsprobleme,
Verteilung der Grobnetzes in Mehrgitteralgorithmen.
- Dynamisches Loadbalancing
[Umverteilung während der Rechnung] [Bas96] :
- Hoher Aufwand für Lastverteilung (Heuristische Vorgehensweise
notwendig).
- Bei hoch adaptiven Verfahren notwendig.
- Neue parallele Betriebssysteme ??
Next: 3.4.3 Kommunikationsaufwand
Up: 3.4 Leistungsbewertung paralleler Algorithmen
Previous: 3.4.1 Speedup und Scaleup
Gundolf Haase
1998-12-22