01.03.2014 Aufrufe

Programmoptimierung

Programmoptimierung

Programmoptimierung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

N-Körper-Problem (2)<br />

Algorithmus:<br />

• Zerlegung der Zeitachse in kleine Schritte.<br />

• Da die wechselseitigen Anziehungskräfte<br />

berechnet werden müssen, hat jeder<br />

Zeitschritt eine Laufzeit von O(N²)<br />

• Eine erste Implementierung hatte mit<br />

N=10.000 eine Laufzeit von ca. einem Jahr<br />

auf der VAX-11/780.<br />

• Dies wurde verbessert auf Faktor 400 !<br />

N-Körper-Problem:<br />

Optimierungen (2)<br />

4. Systemabhängige Feinoptimierung<br />

32-bit Gleitkomma anstatt 64-bit Gleitkomma (größere Genauigkeit<br />

durch Baumstruktur).<br />

durch Baumstruktur). => ~ Faktor 2<br />

5. Systemabhängige Feinoptimierung<br />

98% der Zeit in einer Routine; Assemblercodierung.<br />

=> ~ Faktor 2,5<br />

6. Hardware<br />

Gleitkommabeschleuniger => ~ Faktor 2<br />

---------------<br />

Insgesamt: Faktor 400<br />

N-Körper-Problem:<br />

Optimierungen<br />

1. Algorithmen und Datenstrukturen<br />

O(N²) => O(N log N) => ~ Faktor 12<br />

Körper werden als Blätter in einem Baum repräsentiert; innere<br />

Knoten sind Gruppen von Körpern. Bei der Berechnung der<br />

Krafteinwirkungen auf einen Körper können diese Gruppen<br />

verwendet werden.<br />

2. Algorithmen-Tuning<br />

=> ~ Faktor 2<br />

Verdoppelung des Zeitschrittes, Spezialbehandlung für Körper, die<br />

sich sehr nahe kommen (kann im Baum leicht entdeckt werden).<br />

3. Reorganistation der Datenstruktur<br />

Umkonfigurierung des Baumes nach jedem Schritt verringert die<br />

Anzahl der Berechnungen.<br />

Anzahl der Berechnungen. => ~<br />

Faktor 2<br />

Optimierungsebenen<br />

1. Problemstellung (Vereinfache!)<br />

2. Systemstruktur<br />

3. Algorithmen und Datenstrukturen<br />

4. Feinoptimierung<br />

5. Systemsoftware<br />

6. Hardware

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!