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

Slides:



Advertisements
Ähnliche Präsentationen
Wer gwünnt? Die beliebte Fernseh-Quiz-Show mit Mäni Weber.
Advertisements

GPU, processing unit?? Ein Projekt, das die Welt hätte verändern sollen, und eine kurze Einführung in einem spannenden Forschungsgebiet.
Blue J.
Message Passing Interface (MPI)
PC-Cluster.
6. Der OpenMP Standard Direktiven-basiertes API zur Programmierung von Parallelrechnern mit gemeinsamem Speicher für FORTRAN, C und C++
SOAP Simple Object Access Protocol
Erweiterung des Opterox- Clusters Fachbereich Physik & ZIM Universität Duisburg-Essen.
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Zentraleinheit CPU, Motherbord, RAM
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
Funktionsmerkmale und Vorteile Die Intel Core i7 Prozessoren der zweiten Generation verfügen über folgende Funktionsmerkmale: Die Intel® Turbo-Boost-Technik.
Präsentation Einsatzmöglichkeit von Microsoft Virtual PC 2004 im Praktikum Rechnernetze Marwane Lahsini PHT02.
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
OpenMP Präsentation im Rahmen des Seminars
Architektur von Netzwerken
7 Verteilungsabstraktion
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK TotalView Debugger Vorgestellt von Marco Dyballa mail:
JAVA RMI.
Introducing the .NET Framework
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Referat zum Thema „DLL“
Marcel Riedel, Marcus Zelend, Danny Christl
Ende Christian SeitzJochen Braun. Ende Der CMOS Standard Chip.
Distributed Multimedia Control Steuerung und Überwachung von Präsentationen in Netzwerken.
Julia Rieß, Jan-Hendrik Prinz, Matthias Reddemann
Supercomputer FSJS-X3000 Lehrlingswettbewerb Züri Oberland 2013 Uster
Duo- und Quad Prozessor-Architektur
Stand: November Anforderungen an Systemumgebung und Hardware Anmerkung Gollas, Schulamt Freising: Für unsere Schulen kommt eine Mehrplatz Installation.
TCP/IP-Ethernet.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Einführung in die Programmiersprache Java
F.Ladstätter und R.Elsässer VP Wissenschaftliches Arbeiten und Präsentation 13. Dezember 2001.
Programmierung paralleler Algorithmen mit MPI
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Hauptseminar Web Engineering – Semantic Web Dominik Pretzsch.
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Multiprozessoren: Herausforderung für die Software
Systemsoftware und Betriebssysteme
Verarbeitung und Computerinneres
Einführung OpenSTA. Agenda - über OGVIT - Warum Lasttests - Was ist OpenSTA - Wie arbeitet OpenSTA - Skripte für OpenSTA - OpenSTA Collectors - Tests.
Parallele Programmierung mit Java, SS 2001 Spar/Timber - Programmiersprache und Compiler für high-performance Berechnungen Technische Universität München.
JAVA/DSM A Platform for Heterogeneous Computing Serge F. Possono M. Technische Universität Muenchen (TUM) Lehr- und Forschungseinheit Informatik X Rechnertechnik.
Parallelisierung für Multiprozessor-Maschinen
Javelin Internet-based parallel computing using Java.
Hauptseminar 2001 „Parallele Programmierung in Java“ - JPVM- Java Parallel Virtual Machine Referent: Sebastian Steininger.
Mehrbenutzerzugriff auf GIS-Daten
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Einführung Oswald Haan
Modul 1. Einflussfaktoren auf Geschwindigkeit und Rechenleistung von Computer! Der Typ des Mikroprozessors Der Typ des Mikroprozessors Die Taktfrequenz.
Clustering Clustering mit openMosix von Christian Wiese Stefan Krause.
ROS – Robot Operating System
WINDOWS 2003 Server. Standart Varianten für 32 Bit: Web Edition: Unterstützt Single(1)- oder Dual(2)-Prozessor-Systeme und bis zu 2 GB RAM 32-Bit Standard.
Max Haustein, Karsten Otto
JavaKara programmieren: Methoden
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Microsoft Windows Workstation Versionen
HYPERLINK WAS IST DAS WEB 2.0? SEMANTIC WEB.
Was ist Linux ? Linux ist grundsätzlich nur der Kernel (Betriebssystemkern) Zur Nutzung benötigt der Linux Kernel eine Software (meistens GNU) Der Begriff.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Anatomie eines Computersystems Kernel, Treiber, Windows Manager und anderes Spielzeug Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim.
Verteilte Systeme Sommersemester 2007 Karsten Otto.
Wer gwünnt? Die beliebte Fernseh-Quiz-Show mit Mäni Weber.
 Präsentation transkript:

Multiprocessing mit OpenMPI Marius Albath

Vorlesung Betriebssysteme, 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

Vorlesung Betriebssysteme, 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 ( ) Entwicklung begann 1992 mit der Version 1.0, aktuell ist die Version MPI 3.0 ( ) Was ist OpenMPI 3

Vorlesung Betriebssysteme, 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

Vorlesung Betriebssysteme, 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

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

Vorlesung Betriebssysteme, 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

Vorlesung Betriebssysteme, 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

Vorlesung Betriebssysteme, 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

Vorlesung Betriebssysteme, AutoForm Solver AutoForm Solver Praxiseinsatz bei AutoForm 10

Vorlesung Betriebssysteme, 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

Vorlesung Betriebssysteme, Praxiseinsatz bei AutoForm 12

Vorlesung Betriebssysteme, 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