Im Abschnitt 8.2 auf Seite
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 Prozent
.
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: