Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99.
-
Upload
friederike-kraemer -
Category
Documents
-
view
219 -
download
0
Transcript of Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99.
Parallelising Molecular Dynamics for Message
Passing Systems(complete)
Martin Gerber26.11.99
Molekulardynamik-Simulation Schrödinger Gleichung
(quantenmechanisch)» Born-Oppenheimer
Physikalische Modelle:» Van der Waals Dispersion,
Coulomb-Kraft» Klassische Newton‘sche
Bewegungsgleichungen» Lennard-Jones Paarpotential
Charge Groups KonzeptWechselwirkungspotential von flüssigem Argon: 2 Atome: effektives Paarpotential:
Parallel Computing Aimed at Quantum and Classical Dynamical
Molecular Simulation ETH Projekt 1996-99, 830kFr. Partner
» Leitung: IGC (Institut für Informatikgestützte Chemie, W.F. van Gunsteren)
» IWR (Institut für Wissenschaftliches Rechnen, W. Gander)
» IFE (Institut für Elektronik, G. Tröster)» TIK (Institut für Technische Informatik und
Kommunikationsnetze, L. Thiele)
Inhalt
MD-Algorithmen
Exploration
Codegenerierung
Validierung
Entwurf
Spezifikation
kubische Randbedingungen IIric+rsrich
hxrcxyrcrchy rcrminxyhxhy
Load Balancing
0.5
0.7
0.9
1.1
1 2 3 4 5 6 7 80.60.8
11.21.4
1 2 3 4
cubicocta
0.51.52.53.54.55.5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
20 Knoten: gleich gut für kubische Box, oktaedrische Box: momentan nicht rechenbar auf 20 Knoten (Boxgrösse zu klein)
Inhalt
MD-Algorithmen
Exploration
Codegenerierung
Validierung
Entwurf
Spezifikation
Inhalt
MD-Algorithmen
Exploration
Codegenerierung
Validierung
Entwurf
Spezifikation
Exploration Analyse Systemsynthese: Heterogene
Hardware/Software Systeme» Applikation eines Evolutionären Algorithmus
(EA) Neue Analytische Modelle
» für parallele Architekturen» für datenparallele Algorithmen» Ziel: Schätzungen (Performanz, Skalierbarkeit)
Paralleles Zielsystem (Hardware & Software)
Systemsynthese mit EA
Super-ArchitekturAlgorithmu
s
Mappingsf1: v1,v3f2: v1,v2...
KostenZeitSynthese
1
2
3
4
5
67
AblaufplanArchitekturBindun
g
Exploration mit System-Synthese
Synthese automatisiert: » Allokation, Bindung, Ablaufplanung
Nur zwei Optimierungskriterien:» Ausführungszeit, Kosten.
MD Algorithmus:» Allokation und Bindung offensichtlich» Datenparallelität» Exploration für versch. molekulare
Systeme ungeeignet für MD Algorithmen
Synthese–ToolTitle: tool.epsfCreator: GraphicConverterPreview: This EPS picture was not saved with a preview (TIFF or PICT) included in itComment: This EPS picture will print to a postscript printer but not to other types of printers
Abhängigkeits-, Architektur- und Spezifikationsgraph
Zur Anzeige wird der QuickTime™ Dekompressor “Foto - JPEG”
benötigt.
Zur Anzeige wird der QuickTime™ Dekompressor “Foto - JPEG”
benötigt.
Zur Anzeige wird der QuickTime™ Dekompressor “Foto - JPEG”
benötigt.
Ganttcharts
Zur Anzeige wird der QuickTime™ Dekompressor “Foto - JPEG”
benötigt.
Zur Anzeige wird der QuickTime™ Dekompressor “Foto - JPEG”
benötigt.
Inhalt
MD-Algorithmen
Exploration
Codegenerierung
Validierung
Entwurf
Spezifikation
Gromos96 SW Struktur viele Versionen
derselben Funktion:» aufwendig im Unterhalt
informale Spezifikation der Zielarchitektur
FORTRAN:» globale Variablen
(common blocks)» SMP: wie parallelisieren?
HauptschleifeStartEnde erreicht?standard BibliothekenAblaufplaner seq.Endeefgh_1h_2h_3icompiler:Zielarchitekturlinker:proprietäre Bibliothekenh_3 ausführbare Programmeseq.SMPMPPFORTRAN/C FORTRANh_2h_1neinja Algorithmische
Funktionen
Mehrere Versione
nfür verschiedene Architekturen
Neue Programmierumgebung Trennung von Algorithmus
und Zielarchitektur generische Funktionen
für alle Architekturen paralleler Prototyp:
» komplex» viele Abhängigkeiten im Code» sehr anfällig auf Programmierfehler
Automatisieren
efi Ablaufplaner (parallel)h_1h_2h_3schrittweise Parallelisierung:gh’g’Architektur,Bindung
k’l’ Spezial-funktionen
FORTRANcompilerstandard
BibliothekenC
compilerstandard
BibliothekenMPI
BibliothekenFORTRAN/C
linkerAblaufplaner (seq.)sequentielle und parallele
Programme
Bindung
Inhalt
MD-Algorithmen
Exploration
Codegenerierung
Validierung
Entwurf
Spezifikation
Handcodierte Versionen asynchrone Datenkommunikation Wie implementieren?
» Synchronisation: Wann? Wo? So wenig wie möglich?» Broadcast oder Punkt-zu-Punkt? mpi_reduce?
Zum Beispiel so:» Punkt-zu-Punkt Datenverteilung, asynchron» Barrier Synchronisation optional» Daten sammeln mit mpi_reduce (Kommunikation + Addition)
Alternativ» Broadcast Datenverteilung, asynchron» Punkt-zu-Punkt zum Daten sammeln
Generierte Version Datenkommunikation synchron Daten sammeln mit mpi_reduce Performanz/Skalierbarkeit identisch zu
handcoierter synchron-Version
Speed-upDaten asynchron, ohne Barrier, IBM SP-2, cutoff 1.4
7
8
9
10
11
16 20 24 28 32 36 40 44number of nodes
pa_14
Title: ClipboardCreator: (Mathematica X 3.0)Preview: This EPS picture was not saved with a preview (TIFF or PICT) included in itComment: This EPS picture will print to a postscript printer but not to other types of printers
30/7050/70100/70100/25
bandwidth [MByte/s]/Latency [us]
Barrier Synchronisation auf Workstation Cluster
0
200
400
600
800
1000
1200
1400
1600
pa1 pa2 pa3 pa4 pa5
deviationsyncrestintegrationpairlistsolventsolute
0
10
20
30
40
50
60
pa2 ps2 pa3 ps3 pa4 ps4 pa5 ps5
synccomm
Daten asynchron, ohne Barrier pax: ohne Barrierpsx: mit Barrier
ZusammenfassungBarrierSync.
DatenKommunikation
Interpretation
ein synchron “alte” Synchron-Version, liefert generellgute Ergebnisseentspricht generiertem Code
aus synchron wie oben, wurde nicht getestet
ein asynchron Gleich gut/eher besser als alte Synchron-Version (SP und Solaris Cluster zeigengleiches Verhalten)
aus asynchron Gleich gut/eher besser auf SolarisCluster, aber unbrauchbar auf IBM SP