Performanz auf einem Hochleistungscluster

Bis jetzt haben wir ausschließlich die parallelen Gleichungslöser auf dem Hochleistungscluster "Deimos" der TU Dresden gemessen.

 

Starke Skalierung

 

In diesem Benchmark haben wir drei Matrizen der University of Florida Sparse Matrix Collection verwendet:

  • Ga41As41H72 (Gallium-Arsenide-Gebilde) ist ein typisches Material für elektronische Strukturen; die Matrix hat 268.096 Zeilen und 18.488.476 Nichtnullelemente, mehr hier.
  • F1 ist eine Steifigkeitsmatrix einer Motorkurbelwelle (Audi) mit 343.791 Zeilen und 26.837.113 Nichtnullelementen, mehr hier.
  • ldoor ist eine positiv-definite Testmatrix mit 952.203 Zeilen und 42.493.817 Nichtnullelementen, mehr hier.

Diese Matrizen wurden genutzt, um lineare Gleichungssysteme entsprechender Dimensionen zu definieren. Diese Gleichungssysteme wurden dann mit der bi-konjugierten Gradientenmethode gelöst (approximiert), mit |r| ≤ 10-8:

 

bicg_strong.png

 

Wir haben dabei die Zeit gemessen, die für die Ausführung des Verfahrens notwendig war. Obwohl das mit die größten Matrizen sind, die man im Internet findet, sind sie immer noch zu klein für die Skalierung mit mehr als 20 Prozessoren.

Der folgende Benchmark hat dieselben linearen Probleme mit der stabilisierten bi-konjugierten Gradientenmethode(2) gelöst (BiCGStab(2)):

 

bicgstab2_strong.png

 

Gleichermaßen wurde die quadrierte konjugierte Gradientenmethode (CGS) im folgenden Benchmark getestet:

 

cgs_strong.png

Die schlechte Kondition der ldoor Matrix verhinderte eine Lösung mit dem CGS-Verfahren. Die anderen Systeme konnten mit CGS auch nicht effizient gelöst werden, vergleicht man die absolute Zeit mit den Benchmarks darüber.

 

Leistung in wachsenden Anwendungen

 

Um das Verhalten von großskaligen Simulationen in echten HPC-Szenarien besser zu zeigen, nahmen wir an, dass die Leistung der Anwendung proportional zur Prozessoranzahl wächst (schwache Skalierung). Am Ende werden schließlich große parallele Rechner verwendet, um größere Probleme zu lösen, als die auf einzelnen Prozessoren. In diesem Benchmark haben wir ein lineares System aufgestellt, um die Laplace-Gleichung zu lösen. Die Dimension des linearen Systems ist eine Million Mal der Anzahl der Prozessoren (die Anzahl der Nichtnull-Elemente ist also das 5-fache). Zwei iterative Löser wurden genutzt:

  • Konjugierte Gradienten (CG) und
  • BiCGStab(4).

Die untere Abbildung zeigt die akkumulierte Leistung in MegaFLOPS:

weak_laplace.png

 

Angewandte Simulationen mit AMDiS

 

In dieser Leistungsmessung haben wir die Diffusion von Medikamenten in die Cohlea (Innen-Ohr) simulierten simuliert, siehe folgende Abbildung:

 

cochlea.jpg

 

Diese Berechnung wurde mit unserer Simulation Software AMDiS erstellt. Hier haben wir die Ausführungszeit für die Lösung des linearen Gleichungssystems auf verschiedenen Stufen der Verfeinerungen des Gitters gemessen:

  • Verfeinerung 22 hat 23,130,338 Nichtnull-Elemente in der Matrix;
  • Verfeinerung 24 hat 65,368,625 Nichtnullen; und
  • Verfeinerung 26 hat 152,345,109 Nichtnullen.

 

Die Berechnung wurde zweimal auf jedem Verfeinerungslevel ausgeführt:

  • In der Block-Verteilung der Matrix ,in der Reihenfolge in der diese eingelesen wurde;
  • In einem migrierten linearen System, vorgeschlagen durch die Partitionierung von ParMetis, bezeichnet durch ParM.

Die einführende Migrationszeit beinhaltet:

  1. Berechnung der Partionierung mit ParMetis
  2. Berechnung einer neuen Block-Verteilung und übereinstimmende Migration-Schemen;
  3. Migration der Matrix und des rhs Vectors.

 

Die Migrationszeit betrug ca. 5% von der gesamten Berechnungszeit. Auf der anderen Seite hat sich die Laufzeit des Lösers durch die Migration halbiert, wie man in der folgenden Abbildung sehen kann:

 

cochlea_perf.png

 

Die Berechnung der 26.ten Stufe der Verfeinerung ist nicht auf 2 Prozessoren gelaufen (wegen Speicherüberlastung). Die Laufzeit von diesem Beispiel ohne Migration wuchs auf über 8712 Sekunden an, sodass wir diese für die bessere Lesbarkeit des Graphs abgeschnitten haben.

 

© 2017 SimuNova UG