Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, 29.04.2013 Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.

Ähnliche Präsentationen


Präsentation zum Thema: "Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, 29.04.2013 Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard."—  Präsentation transkript:

1 Multiprocessing mit OpenMPI Marius Albath

2 Vorlesung Betriebssysteme, 29.04.2013 Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard Setup OpenMPI Anwendung OpenMPI Anwendung Simples Code Beispiel Simples Code Beispiel Praxiseinsatz bei AutoForm Praxiseinsatz bei AutoForm InhaltsverzeichnisInhaltsverzeichnis 2

3 Vorlesung Betriebssysteme, 29.04.2013 Open Message Passing Interface Open Message Passing Interface Eine der meistbenutzten MPI Libraries der Welt. Viele der Top 500 Supercomputer benutzen die OpenMPI Library. Eine der meistbenutzten MPI Libraries der Welt. Viele der Top 500 Supercomputer benutzen die OpenMPI Library. Entwicklung begann 1992 mit der Version 1.0, aktuell ist die Version MPI 3.0 (09.2012) Entwicklung begann 1992 mit der Version 1.0, aktuell ist die Version MPI 3.0 (09.2012) Was ist OpenMPI 3

4 Vorlesung Betriebssysteme, 29.04.2013 Wie entstand die Idee zu openMPI? Wie entstand die Idee zu openMPI? Computing Tasks wurde immer grösser. Es wurde immer mehr RAM und Rechenpower benötigt. (1992) Computing Tasks wurde immer grösser. Es wurde immer mehr RAM und Rechenpower benötigt. (1992) Um dieses Problem zu lösen wurde OpenMPI entwickelt. Ein Programm oder Job sollte mehreren Computern zugewiesen werden können und die Prozesse sollten untereinander kommunizieren können.  Über Computergrenzen hinaus. Um dieses Problem zu lösen wurde OpenMPI entwickelt. Ein Programm oder Job sollte mehreren Computern zugewiesen werden können und die Prozesse sollten untereinander kommunizieren können.  Über Computergrenzen hinaus. Man hat mehr RAM und Prozessoren zur Verfügung und kann mehrere Jobs gleichzeitig laufen lassen. Man hat mehr RAM und Prozessoren zur Verfügung und kann mehrere Jobs gleichzeitig laufen lassen. Was ist OpenMPI 4

5 Vorlesung Betriebssysteme, 29.04.2013 Ein Standard, der den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen beschreibt. Er stellt eine Sammlung von Operationen und ihre Semantik zur Verfügung. Ein Standard, der den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen beschreibt. Er stellt eine Sammlung von Operationen und ihre Semantik zur Verfügung. Eine MPI-Applikation besteht in der Regel aus mehreren miteinander kommunizierenden Prozessen, die alle zu Beginn der Programmausführung parallel gestartet werden. Eine MPI-Applikation besteht in der Regel aus mehreren miteinander kommunizierenden Prozessen, die alle zu Beginn der Programmausführung parallel gestartet werden. Was ist OpenMPI 5

6 Vorlesung Betriebssysteme, 29.04.2013 OpenMPI Standardsetup 6 Layout: Mind. 1 Multicore Computer mehrere GB Festplattenspeicher Arbeitsspeicher OpenMPI Compiler Network Interface Gleiche Prozessor Architektur Shared Folder (NFS)

7 Vorlesung Betriebssysteme, 29.04.2013 Ein C Programm mit MPI kompilieren mpicc testprogram.c mpicc testprogram.c Ein Programm auf 2 Prozessen auf der Maschine laufen lassen mpirun -np 2./myprogram mpirun -np 2./myprogram Ein Programm zusätzlich noch auf allen Nodes starten mpirun -np 2 --hostfile.mpi_hostfile./myprogram mpirun -np 2 --hostfile.mpi_hostfile./myprogram OpenMPI Anwendung 7

8 Vorlesung Betriebssysteme, 29.04.2013 Wenn man das Kommando hostname ausführt: Wenn man das Kommando hostname ausführt:Output:Computer1 Mit mpiexec: Mit mpiexec: Mpiexec –hostfile machines.txt -n 4 hostname Output:Computer1Computer2Computer3Computer4 Simples Beispiel 8

9 Vorlesung Betriebssysteme, 29.04.2013 Was ist gerade passiert? Was ist gerade passiert? Hostname wurde 4 mal unabhängig ausgeführt Hostname wurde 4 mal unabhängig ausgeführt Hostname kann 8, 20, 49, 92 oder mehrmals ausgeführt werden. Hostname kann 8, 20, 49, 92 oder mehrmals ausgeführt werden. Aus Performance Gründen führt man mit MPI aber immer genau o viele Prozesse aus, wie Cores vorhanden sind. Aus Performance Gründen führt man mit MPI aber immer genau o viele Prozesse aus, wie Cores vorhanden sind. Ein richtiges MPI Programm würde natürlich wissen, welche anderen Prozesse noch laufen und welcher Prozess in einer Liste von Prozessen es ist. Ein richtiges MPI Programm würde natürlich wissen, welche anderen Prozesse noch laufen und welcher Prozess in einer Liste von Prozessen es ist. Simples Beispiel 9

10 Vorlesung Betriebssysteme, 29.04.2013 AutoForm Solver AutoForm Solver Praxiseinsatz bei AutoForm 10

11 Vorlesung Betriebssysteme, 29.04.2013 Setup bei AutoForm Setup bei AutoForm 4 Nodes (1 Master, 3 Slaves) 4 Nodes (1 Master, 3 Slaves) Je 4 cores und 16GB RAM pro Core Je 4 cores und 16GB RAM pro Core Netzwerk Netzwerk Infiniband (Clusterintern) Infiniband (Clusterintern) TCP IP TCP IP Distributed Memory Model Distributed Memory Model Jeder Core wird nur maximal von einem MPI Thread benutzt, welcher die ganzen 16GB RAM des Cores zur Verfügung hat. Jeder Core wird nur maximal von einem MPI Thread benutzt, welcher die ganzen 16GB RAM des Cores zur Verfügung hat. Jeder MPI Thread hat seine eigenen Variabeln in seinem eigenen Memory. Jeder MPI Thread hat seine eigenen Variabeln in seinem eigenen Memory. Um eine Variable eines anderen Prozesses verändern zu können muss eine Message geschickt werden. Um eine Variable eines anderen Prozesses verändern zu können muss eine Message geschickt werden. Praxiseinsatz bei AutoForm 11

12 Vorlesung Betriebssysteme, 29.04.2013 Praxiseinsatz bei AutoForm 12

13 Vorlesung Betriebssysteme, 29.04.2013 OpenMPI hat viele Vorteile: OpenMPI hat viele Vorteile: Einfaches System Einfaches System Viele Anwendungsmöglichkeiten Viele Anwendungsmöglichkeiten Verfügbar für alle Compiler auf fast allen Plattformen Verfügbar für alle Compiler auf fast allen Plattformen Es ist keine Programmiersprache sondern eine Library Es ist keine Programmiersprache sondern eine Library ZusammenfassungZusammenfassung 13


Herunterladen ppt "Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, 29.04.2013 Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard."

Ähnliche Präsentationen


Google-Anzeigen