+ All Categories
Home > Documents > Praktikum: Paralleles Programmieren für Geowissenschaftler · Dr. Hermann-J. Lenhart...

Praktikum: Paralleles Programmieren für Geowissenschaftler · Dr. Hermann-J. Lenhart...

Date post: 19-Sep-2019
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
21
Dr. Hermann-J. Lenhart [email protected] Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart & Tim Jammer [email protected]
Transcript

Dr. Hermann-J. [email protected]

Praktikum: Paralleles Programmieren für Geowissenschaftler

Prof. Thomas Ludwig, Hermann Lenhart & Tim Jammer

[email protected]

Dr. Hermann-J. [email protected]

Einführung zum „Umfeld“ vom Paralleles Programmieren:

• Hardware Voraussetzung zur Parallelen Programmierung

• Softwareaspekte zum Parallelen Programmieren

• Modellstruktur zum Parallelen Programmieren

(mit Blick auf MPI)

03.05.2018

SS 2018 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“

Seite 2

Dr. Hermann-J. [email protected]

MPI Einführung I:

• Hardware Voraussetzung zur Parallelen Programmierung

• MPI Nachrichtenaustausch

• MPI Nachrichtenaustausch in der Modellierung

12.04.2016

SS 2016 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“

Seite 3

l

HPC Top500 Liste - Stand November 2017

Quelle: www.top500.org

Dr. Hermann-J. [email protected]

MPI Einführung I:

• Hardware Voraussetzung zur Parallelen Programmierung

• MPI Nachrichtenaustausch

• MPI Nachrichtenaustausch in der Modellierung

12.04.2016

SS 2016 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“

Seite 4

l

HPC Top500 Liste - Stand November 2017

Quelle: www.top500.org

Germany:

19 HLRS Stuttgart

22 Jülich

29 Jülich

Dr. Hermann-J. [email protected]

MPI Einführung I:

• Hardware Voraussetzung zur Parallelen Programmierung

• MPI Nachrichtenaustausch

• MPI Nachrichtenaustausch in der Modellierung

12.04.2016

SS 2016 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“

Seite 5

l

HPC Top500 Liste - Stand November 2016

Laptop heute

Quelle: www.top500.org

Dr. Hermann-J. [email protected]

Möglichkeiten der Parallelen Programmierung :

• OpenMP - Möglich bei der Nutzung von gemeinsamem Speicher

(shared memory directives)

• MPI (Message-Passing Interface)

- bei Rechnerarchitektur mit verteiltem Speicher

- derzeit einziger Standard mit Portabilität auf allen Plattformen

• Hybride Programmierung: Kombination von MPI und OpenMP

Seite 6SS 2018 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 03.05.2018

Dr. Hermann-J. [email protected]

OpenMP - Gemeinsamer Speicherzugriff mittels SMP

Seite 7

SMP: Symmetrisches Multiprozessersystem

(symmetric multiprocessing)

Multiprozessor-Architektur,

bei der zwei oder mehr identische Prozessoren

einen gemeinsamen Adressraum besitzen.

Eine SMP-Architektur erlaubt es,

die laufenden Prozesse dynamisch auf alle

verfügbaren Prozessoren zu verteilen.

Dagegen muss beim asymmetrischen Multiprocessing

jeder CPU eine Aufgabe fest zugewiesen werden

(z. B. führt CPU0 Betriebssystemaufrufe und CPU1 Benutzerprozesse aus).

Source: Grafik Ludwig WS12/13, Text Wikipedia

SS 2018 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 03.05.2018

Dr. Hermann-J. [email protected]

MPI – Hardware Voraussetzung Quelle: Ludwig WS12/13

Seite 8

•Keinen direkten Zugriff auf Memory (Daten) von anderen Prozessen.

•Datenverfügbarkeit über expliziten Datenaustausch (Senden/Empfangen)

mit anderen Prozessen!

SS 2017 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 27.04.2017

!! Vorteil: MPI Prozesse lassen sich skalieren !!

Dr. Hermann-J. [email protected]

Hybride Programmierung

Seite 9

Quelle: Ludwig WS12/13

Existierende HPC Rechner sind heute meist

eine Kombination aus

Rechnerknoten mit gemeinsamem Speicher,

von den man viele verwendet

und über ein Verbindungsnetz verbindet.

Hybride Programmierung ermöglicht

die Kombination von MPI und OpenMP,

aber bedarf mehr Struktur der Zugriffsrechte.

Vortrag von Dr. Panagiotis Adamidis

als DKRZ Beitrag am 5. Juli 2018

SS 2018 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 03.05.2018

Dr. Hermann-J. [email protected]

Software-Anwendungen in Erdsystemmodellen

Seite 10SS 2013 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 02.05.2013

Paper: Exploring, exploiting and evolving diversity of

aquatic ecosystem models: a community perspective.

Janssen et al., 2015 in Aquatic Ecology

Dr. Hermann-J. [email protected]

Seite 11SS 2013 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 02.05.2013

Neben Hardware gibt es auch einige Anforderungen an Softwarekomponenten,

z.B. für die Einbindung von Programm-Bibliotheken.

Thread-Sicherheit (Thread safety)

Softwarekomponente können gleichzeitig von verschiedenen Programmbereichen

mehrfach ausgeführt werden, ohne dass diese sich gegenseitig behindern.

Zum Zweck der Mehrfachausführung bieten Betriebssysteme das Konzept von

sogenannte Threads, die als „leichtgewichtige Prozesse“ gelten.

Software-Aspekte für Parallele Programmierung I

Quelle: Wikipedia

Dr. Hermann-J. [email protected]

Seite 12SS 2013 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 02.05.2013

Jeder Thread arbeitet dabei unabhängig von den anderen einen Programmteil ab.

Häufig muss das Programm dabei gleichzeitig auf einen gemeinsamen

Speicherbereich des Computers zugreifen.

Änderungen im Speicher durch verschiedene Threads müssen koordiniert werden,

um einen chaotischen Zustand des Speichers zu verhindern.

Software-Aspekte für Parallele Programmierung II

Quelle: Wikipedia

Dr. Hermann-J. [email protected]

Seite 13SS 2013 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 02.05.2013

Problem beim Parallelen Programmieren:

Reihenfolge der Ausführung nicht steuerbar, bzw. nicht deterministisch.

Ein Beispiel für einen unkontrollierten Zustand des Speichers sind sogenannte

Wettlaufsituation (Race Condition)

Wettlaufsituationen bezeichnen in der Programmierung eine Konstellation,

in der das Ergebnis einer Operation vom zeitlichen Verhalten

bestimmter Einzeloperationen abhängt.

D.h. die Reihenfolge in der die Berechnungen und Speicherung ablaufen

ist nicht vertauschbar!

Software-Aspekte für Parallele Programmierung III

Quelle: Wikipedia

Dr. Hermann-J. [email protected]

Programmstruktur in der Modellierung

Seite 14

Der Ablauf eines Modelles wir üblicherweise in 3 Phasen eingeteilt:

1) Initialisierung

2) Berechnung des Modells

3) Finalisierung

Diese Einteilung wird z.B. von Kopplern wie ESMF gefordert.

SS 2018 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 03.05.2018

Dr. Hermann-J. [email protected]

MPI Nachrichtenaustausch in der Modellierung I

Seite 15SS 2016 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 12.05.2016

1) Initialisierung: Aufteilung der Rechengebiete und Initialisierung

Modellmatrix

Teilmatrizen pro Prozessor

Initialisierungsdaten

Dr. Hermann-J. [email protected]

MPI Nachrichtenaustausch in der Modellierung II

Seite 16SS 2016 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 12.05.2016

Modellmatrix

Teilmatrizen pro Prozessor

2) Berechnung des Modells auf Teilmatrizen: Austausch zwischen Teilmatrizen

Dr. Hermann-J. [email protected]

MPI Nachrichtenaustausch in der Modellierung III

Seite 17SS 2016 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 12.05.2016

Modellmatrix

Teilmatrizen pro Prozessor

3) Finalisierung: Zusammenfügen der Rechenergebnisse der Teilmatrizen

Ergebnisdaten

Dr. Hermann-J. [email protected]

MPI Nachrichtenaustausch: Zu Beachten!!

Seite 18SS 2016 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 12.05.2016

Dr. Hermann-J. [email protected]

MPI Nachrichtenaustausch: Zu Beachten!!

Seite 19SS 2016 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 12.05.2016

Als Info für das Verhältnis

Rechnen / Nachrichtenaustausch

soll folgende Abschätzung dienen:

Ein moderner Parallelrechner schafft

ca. 3 Mrd. floating point operationen / Sec

Der Nachrichtenaustausch

aber nur 10 Mio. Wörter / Sec

Faktor 300 !!

Dr. Hermann-J. [email protected]

Visualisierung des Programmablaufes mit Vampire:

Seite 20SS 2018 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 03.05.2018

Dr. Hermann-J. [email protected]

Danke,gibt es noch Fragen?

Seite 21SS 2018 - Praktikum“Paralleles Progrm. für Geowisssenschaftler“ 03.05.2018


Recommended