24
Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.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:

Page 3: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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)

Page 4: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Inhalt

MD-Algorithmen

Exploration

Codegenerierung

Validierung

Entwurf

Spezifikation

Page 5: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

kubische Randbedingungen IIric+rsrich

hxrcxyrcrchy rcrminxyhxhy

Page 6: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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)

Page 7: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Inhalt

MD-Algorithmen

Exploration

Codegenerierung

Validierung

Entwurf

Spezifikation

Page 8: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Inhalt

MD-Algorithmen

Exploration

Codegenerierung

Validierung

Entwurf

Spezifikation

Page 9: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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)

Page 10: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Systemsynthese mit EA

Super-ArchitekturAlgorithmu

s

Mappingsf1: v1,v3f2: v1,v2...

KostenZeitSynthese

1

2

3

4

5

67

AblaufplanArchitekturBindun

g

Page 11: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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

Page 12: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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

Page 13: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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.

Page 14: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Ganttcharts

Zur Anzeige wird der QuickTime™ Dekompressor “Foto - JPEG”

benötigt.

Zur Anzeige wird der QuickTime™ Dekompressor “Foto - JPEG”

benötigt.

Page 15: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Inhalt

MD-Algorithmen

Exploration

Codegenerierung

Validierung

Entwurf

Spezifikation

Page 16: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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

Page 17: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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

Page 18: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Bindung

Page 19: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Inhalt

MD-Algorithmen

Exploration

Codegenerierung

Validierung

Entwurf

Spezifikation

Page 20: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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

Page 21: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

Generierte Version Datenkommunikation synchron Daten sammeln mit mpi_reduce Performanz/Skalierbarkeit identisch zu

handcoierter synchron-Version

Page 22: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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]

Page 23: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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

Page 24: Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber 26.11.99

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