next up previous contents
Next: Dank Up: No Title Previous: Implementierung

 

Schlussfolgerung

Im Abschnitt 8.2 auf Seite gif wird die maximal mögliche Performance für die SAXPY-Routine erklärt. Als Grenzwert für eine hochoptimierte Assemblervariante sind wir für grosse Matrizen auf 8.89 Mflops/s gekommen. Vergleichen wir diese Zahlen mit anderen Prozessoren, ist dies ein schlechtes Resultat. So erreicht nach [Perf] Intel auf dem i860 in Fortran 9.7 Mflop/s für eine 100-Matrix (double precision!), während DEC auf dem Alpha AXP 200 MHz für die 100-Matrix in Fortran 43 Mflop/s erreicht. Der DSP 96002 hat eine Peak-Performance von 60 Mflop/s. Durch die Restriktionen der Operanden und den langsamen Speicherzugriff reduziert sich diese Performance auf maximal 8.89 Mflop/s. Das sind nur noch 15 Prozent! Die maximale Performance für das 63-Prozessoren-System reduziert sich somit von 3.6 Gflop/s auf 560 Mflop/s. Davon haben wir 232 Mflop/s erreicht. Dies ist eine Effizienz von 41 Prozentgif.
Bei den Blockroutinen ist die Kommunikationsdauer kleiner als die parallel laufende Rechenzeit. Somit fällt der Kommunikationsanteil heraus. In der ungeblockten Version wird für das Faktorisieren 3 N mal kommuniziert. Da die Latenzzeit unabhängig von der Anzahl Prozessoren ist, fällt auch diese kaum ins Gewicht.
Das Portieren der Routinen war sehr zeitaufwendig. Die Programmierung des MUSICs in C fanden wir zwar einfacher als zum Beispiel die Programmierung eines Transputers in Occam, sie liesse sich aber noch vereinfachen. C-Routinen lassen sich mit Hilfe des Simulators debuggen, für Assemblerroutinen steht aber noch kein Werkzeug zur Verfügung.
Die wichtigsten Punkte, die wir im Laufe unserer Arbeit fanden, sind:


next up previous contents
Next: Dank Up: No Title Previous: Implementierung

Martin Frey
Tue Jun 17 10:28:58 MET DST 1997