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

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

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

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