Matrix Transposition mit gaspi_read_notify. Vanessa End HPCN Workshop 11. Mai 2016

Größe: px
Ab Seite anzeigen:

Download "Matrix Transposition mit gaspi_read_notify. Vanessa End HPCN Workshop 11. Mai 2016"

Transkript

1 Matrix Transposition mit gaspi_read_notify Vanessa End HPCN Workshop 11. Mai 2016

2 Überblick Motivation Matrix Transposition GASPI Matrix Transposition in GASPI Zusammenfassung und Ausblick 2

3 Motivation Bottleneck vieler HPC Anwendungen ist die Kommunikation Keine Aussicht auf Besserung bei Exascale Neue Kommunikations- und Programmiermodelle RDMA einseitige Kommunikation PGAS UPC OpenSHMEM GASPI Hybride Programmierung: MPI oder GASPI + OpenMP pthreads 3

4 Motivation Einseitige, asynchrone Kommunikationsroutinen erfordern ein Umdenken in HPCtypischen Kommunikationsschemata, wie zum Beispiel Halo Exchange Alltoall Matrix Transposition Stencil Kleine Sammlung von Benchmarks auf GitHub: 4

5 Motivation Einseitige, asynchrone Kommunikationsroutinen erfordern ein Umdenken in HPCtypischen Kommunikationsschemata, wie zum Beispiel Halo Exchange Alltoall Matrix Transposition Stencil Kleine Sammlung von Benchmarks und Kommunikationskerneln auf GitHub: 5

6 Matrix Transposition Matrix Transposition ist eine Erweiterung einer allgemeinen Alltoall Funktion 6

7 Matrix Transposition Matrix Transposition ist eine Erweiterung einer allgemeinen Alltoall Funktion Nach der Kommunikation folgt die lokale Transposition Multithreaded, im Idealfall 7

8 Matrix Transposition in MPI 8

9 Matrix Transposition in MPI - Probleme - Keine Überlappung von Kommunikation und lokaler Transposition Barrier für die Threads notwendig Lösung: Überlappung durch einseitige Kommunikation (GASPI) 9

10 GASPI BMBF Projekt bis 06/2015 PGAS Standard Skalierbarkeit Asynchrones, einseitiges Kommunikationsmodell Fehlertoleranz Timeouts und variable Knotennutzung Status einzelner Knoten mit dem Statevector überwachbar Flexibilität Interoperabel mit MPI Kein festgelegtes Speichermodell Segmente 10

11 GASPI Segmente 11

12 GASPI Einseitige Kommunikation U.a. gaspi_read und gaspi_write Queues Einfache Benachrichtigung des passiven Prozesses U.a. gaspi_notify und gaspi_notify_waitsome Passive Kommunikation Gruppen und kollektive Operationen Global Atomics GPI2 implementiert GASPI 12

13 Einseitige Kommunikation und Queues gaspi_write und gaspi_read erstellen Kommunikationsaufträge in verschiedenen Queues, die dann vom Netzwerk abgearbeitet werden. gaspi_wait pollt auf eine bestimmte Queue, bis alle einseitigen Kommunikationsaufträge in dieser Queue abgearbeitet sind. 13

14 GASPI Notifications Notifications zur Benachrichtigung des passiven Prozesses durch gaspi_write und gaspi_notify oder gaspi_write_notify Überprüfung der Notifications mit gaspi_notify_waitsome 14

15 GASPI Notifications Notifications zur Benachrichtigung des passiven Prozesses durch gaspi_write und gaspi_notify oder gaspi_write_notify Überprüfung der Notifications mit gaspi_notify_waitsome Notification erst dann sichtbar, wenn zuvorgehende writes an gleiches Segment, gleichen Knoten und gleiche Queue geschrieben wurden 15

16 Matrix Transpose mit gaspi_write_notify #pragma omp parallel{ if(tid == 0){ for (rank!= my_rank) gaspi_write_notify(submatrix[rank]) while (!complete){ gaspi_notify_waitsome(&my_submatrix) transpose(&my_submatrix) Kein Barrier mehr Alle Kommunikationsanfragen werden vom Netzwerk behandelt, während gleichzeitig lokal transponiert wird Gezielte Abfrage geschriebener Daten möglich 16

17 Matrix Transpose mit gaspi_write_notify #pragma omp parallel{ if(tid == 0){ for (rank!= my_rank) gaspi_write_notify(submatrix[rank]) while (!complete){ gaspi_notify_waitsome(&my_submatrix) transpose(&my_submatrix) Alle Nachrichten werden gleichzeitig an das Netzwerk abgegeben Statische Aufteilung der Untermatrizen auf die Threads Kein Barrier mehr Alle Kommunikationsanfragen werden vom Netzwerk behandelt, während gleichzeitig lokal transponiert wird Gezielte Abfrage geschriebener Daten möglich 17

18 Motivation für Matrix Transposition mit reads Nicht alle Daten müssten sofort kommuniziert werden Entlastung des Netzwerks Bessere Überlappung von Kommunikation und lokaler Transposition, bessere Auslastung der Threads möglich ABER: gaspi_read und gaspi_notify funktionieren nicht so, wie gaspi_write und gaspi_notify Lösung: Implementierung von gaspi_read_notify 18

19 gaspi_read_notify als GASPI Applikation Emulation eines read_notify als GASPI Applikation innerhalb des Pipelined Transpose Pro Queue 1 read Warten bis zuvor gestarteter read fertig ist Notify auf eigenes Segment Nächsten read starten 19

20 Pipelined Transpose mit read_notify Emulation #pragma omp parallel{ if(tid == 0){ for (rank!= my_rank){ read_notify_em(submatrix[rank]) while (!complete){ gaspi_notify_waitsome(&my_submatrix) transpose(&my_submatrix) Es werden nur dann neue reads abgesetzt, wenn auch Kapazitäten frei sind (wait auf Queue) Weiterhin Überlappung von Kommunikation und Transposition 20

21 Community Benchmark Ergebnisse InfiniBand 7D Enhanced Hypercube 12 Cores/Prozess native Implementierung von gaspi_read_notify 21

22 gaspi_read_notify Implementierung Innerhalb der GPI Direkt auf ibverbs 2 aufeinanderfolgende, geordnete reads read2 read1 22

23 Pipelined Transpose mit read_notify Variante 1 Statische Verteilung der reads und der bearbeiteten Blöcke #pragma omp parallel for(i < num_initial_reads){ gaspi_read_notify(&i) while(!complete) if(!my_submatrix.transpose) if(gaspi_notify_waitsome(&my_submatrix, GASPI_TEST) == GASPI_SUCCESS){ transpose(&my_submatrix) if(my_reads!= complete){ gaspi_read_notify(&next_read) 23

24 Pipelined Transpose mit read_notify Variante 2 Dynamische Verteilung der reads und der bearbeiteten Blöcke #pragma omp parallel for(i < num_initial_reads){ gaspi_read_notify(&i) while(!complete) if(gaspi_notify_waitsome(&any_submatrix, GASPI_TEST) == GASPI_SUCCESS){ transpose(&any_submatrix) if(reads!= complete){ gaspi_read_notify(&next_read) 24

25 Eigene Ergebnisse Cluster 1 InfiniBand QDR Fat Tree 6 Cores/Prozess Intel(R) Xeon(R) 2.93GHz 25

26 Eigene Ergebnisse Cluster 2 InfiniBand FDR10 Fat Tree 8 Cores/Prozess 2x Intel(R) Xeon(R) 2.6 GHz 26

27 Zusammenfassung Neue Programmierparadigmen ermöglichen und erfordern ein Neugestalten der Kommunikation Relevante Kommunikationsschemata können als Kernel implementiert werden PGAS Community Benchmarks gaspi_write_notify ist ein mächtiges Werkzeug für die Umgestaltung der Kernel Ein notified read scheint vielversprechend Implementierung noch ausbaufähig 27

28 Ausblick Implementierungsalternativen für gaspi_read_notify Wechsel des Anwendungsfalls Graph Traversal Forschungsergebnisse gegebenenfalls nutzbar für teilevaluierbaren, asynchronen Alltoall(v) 28

29 Fragen, Anregungen und Diskussionen sind herzlich willkommen! THE END 29

GASPI. HPCN Braunschweig

GASPI. HPCN Braunschweig GASPI HPCN Braunschweig 9.5.2012 Projektpartner Fraunhofer Gesellschaft e.v. Fraunhofer ITWM Fraunhofer SCAI T-Systems Solutions for Research GmbH Forschungszentrum Jülich Karlsruher Institut für Technologie

Mehr

T-Systems SfR - HPCN Workshop

T-Systems SfR - HPCN Workshop HPC System Design und die Auswirkungen auf die Anwendungsperformance Thomas Alrutz HPC & escience Solutions & Innovations - Scientific & Technical ICT T-Systems Solutions for Research GmbH T-Systems SfR

Mehr

Computergrundlagen Moderne Rechnerarchitekturen

Computergrundlagen Moderne Rechnerarchitekturen Aufbau eines modernen Computers Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart DDR3- Speicher Prozessor Prozessor PEG Graphikkarte(n) weitere

Mehr

Computergrundlagen Moderne Rechnerarchitekturen

Computergrundlagen Moderne Rechnerarchitekturen Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Aufbau eines modernen Computers DDR3- Speicher Prozessor Prozessor PEG

Mehr

Einige Grundlagen zu OpenMP

Einige Grundlagen zu OpenMP Einige Grundlagen zu OpenMP Stephanie Friedhoff, Martin Lanser Mathematisches Institut Universität zu Köln 22. Juni 2016 Überblick Was ist OpenMP? Basics Das OpenMP fork-join-modell Kompilieren und Ausführen

Mehr

Konzepte der parallelen Programmierung

Konzepte der parallelen Programmierung Fakultät Informatik, Institut für Technische Informatik, Professur Rechnerarchitektur Konzepte der parallelen Programmierung Parallele Programmiermodelle Nöthnitzer Straße 46 Raum 1029 Tel. +49 351-463

Mehr

OpenMP - Geschichte. 1997: OpenMP Version 1.0 für Fortran

OpenMP - Geschichte. 1997: OpenMP Version 1.0 für Fortran OpenMP - Geschichte 1997: OpenMP Version 1.0 für Fortran Standard für f r die Shared-Memory Memory-Programmierung inzwischen für f r alle namhaften SMP-Rechner verfügbar wird im techn.-wiss. Rechnen die

Mehr

Parallele und verteilte Programmierung

Parallele und verteilte Programmierung Thomas Rauber Gudula Rünger Parallele und verteilte Programmierung Mit 165 Abbildungen und 17 Tabellen Jp Springer Inhaltsverzeichnis 1. Einleitung 1 Teil I. Architektur 2. Architektur von Parallelrechnern

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 OpenMP-Programmierung Teil III Multikern-Praktikum Wintersemester 06-07 Inhalt Was ist OpenMP? Parallele Regionen Konstrukte zur Arbeitsteilung

Mehr

Erfahrungen bei der Installation und vergleichende Messungen zu verschiedenen MPI Implementierungen auf einem Dual Xeon Cluster

Erfahrungen bei der Installation und vergleichende Messungen zu verschiedenen MPI Implementierungen auf einem Dual Xeon Cluster Erfahrungen bei der Installation und vergleichende Messungen zu verschiedenen MPI Implementierungen auf einem Dual Xeon Cluster Sven Trautmann Technische Universität Chemnitz svtr@informatik.tu-chemnitz.de

Mehr

Master-Thread führt Programm aus, bis durch die Direktive

Master-Thread führt Programm aus, bis durch die Direktive OpenMP seit 1998 Standard (www.openmp.org) für die Shared-Memory Programmierung; (Prä-)Compiler für viele Systeme kommerziell oder frei (z.b. Omni von phase.hpcc.jp/omni) verfügbar Idee: automatische Generierung

Mehr

Homogene Multi-Core-Prozessor-Architekturen

Homogene Multi-Core-Prozessor-Architekturen Homogene Multi-Core-Prozessor-Architekturen Praktikum Parallele Rechnerarchitekturen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009

Mehr

Rainer Oechsle. Parallele und verteilte. Anwendungen in Java. 4., neu bearbeitete Auflage. Mit 165 Listings, 5 Tabellen und 71 HANSER

Rainer Oechsle. Parallele und verteilte. Anwendungen in Java. 4., neu bearbeitete Auflage. Mit 165 Listings, 5 Tabellen und 71 HANSER Rainer Oechsle Parallele und verteilte Anwendungen in Java 4., neu bearbeitete Auflage Mit 165 Listings, 5 Tabellen und 71 Bildern HANSER Inhalt 1 Einleitung 15 1.1 Parallelität, Nebenläufigkeit und Verteilung

Mehr

Beispiel: Schleifenparallelisierung

Beispiel: Schleifenparallelisierung Beispiel: Schleifenparallelisierung for (i = 0; i high) { printf ( Exiting during iteration %d\n,i); break; for (j=low;j

Mehr

Verteilte Betriebssysteme

Verteilte Betriebssysteme Verteiltes System Eine Sammlung unabhängiger Rechner, die dem Benutzer den Eindruck vermitteln, es handle sich um ein einziges System. Verteiltes Betriebssystem Betriebssystem für verteilte Systeme Verwaltet

Mehr

Seminarvortrag: Direktivenbasierte Programmierung von Beschleunigern mit OpenMP 4.5 und OpenACC 2.5 im Vergleich

Seminarvortrag: Direktivenbasierte Programmierung von Beschleunigern mit OpenMP 4.5 und OpenACC 2.5 im Vergleich Seminarvortrag: Direktivenbasierte Programmierung von Beschleunigern mit Direktivenbasierte Programmierung von Beschleunigern mit Agenda Einführung / Motivation Überblick zu OpenMP und OpenACC Asynchronität

Mehr

Hochleistungsrechnen in Darmstadt: Der Lichtenberg- Hochleistungsrechner. Dr. Andreas Wolf. Gruppenleiter Hochleistungsrechnen Hochschulrechenzentrum

Hochleistungsrechnen in Darmstadt: Der Lichtenberg- Hochleistungsrechner. Dr. Andreas Wolf. Gruppenleiter Hochleistungsrechnen Hochschulrechenzentrum Hochleistungsrechnen in Darmstadt: Der Lichtenberg- Hochleistungsrechner Dr. Andreas Wolf Gruppenleiter Hochleistungsrechnen Hochschulrechenzentrum Überblick Randbedingungen der HPC Beschaffung an der

Mehr

Optimierungsstrategien für selbstorganisierende Speicherstrukturen

Optimierungsstrategien für selbstorganisierende Speicherstrukturen Optimierungsstrategien für selbstorganisierende Speicherstrukturen Robert Schelkle Karlsruher Institut für Technologie (KIT) Institut für Technische Informatik (ITEC) Lehrstuhl für Rechnerarchitektur und

Mehr

Hochleistungsrechnen Hybride Parallele Programmierung. Prof. Dr. Thomas Ludwig Universität Hamburg Informatik Wissenschaftliches Rechnen

Hochleistungsrechnen Hybride Parallele Programmierung. Prof. Dr. Thomas Ludwig Universität Hamburg Informatik Wissenschaftliches Rechnen Hochleistungsrechnen Hybride Parallele Programmierung Prof. Dr. Thomas Ludwig Universität Hamburg Informatik Wissenschaftliches Rechnen Inhaltsübersicht Einleitung und Motivation Programmiermodelle für

Mehr

Shared-Memory Programmiermodelle

Shared-Memory Programmiermodelle Shared-Memory Programmiermodelle mehrere, unabhängige Programmsegmente greifen direkt auf gemeinsame Variablen ( shared variables ) zu Prozeßmodell gemäß fork/join Prinzip, z.b. in Unix: fork: Erzeugung

Mehr

OpenMP. Viktor Styrbul

OpenMP. Viktor Styrbul OpenMP Viktor Styrbul Inhaltsverzeichnis Was ist OpenMP Warum Parallelisierung Geschichte Merkmale von OpenMP OpenMP-fähige Compiler OpenMP Ausführungsmodell Kernelemente von OpenMP Zusammenfassung Was

Mehr

Interaktionsdiagramme in UML

Interaktionsdiagramme in UML Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm

Mehr

Verteilte Systeme - Java Networking (Sockets) -

Verteilte Systeme - Java Networking (Sockets) - Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP

Mehr

Wissenschaftliches Rechnen im SoSe 2015 Dr. J. Kunkel, Hans Ole Hatzel Abgabe:

Wissenschaftliches Rechnen im SoSe 2015 Dr. J. Kunkel, Hans Ole Hatzel Abgabe: Universität Hamburg Übungsblatt 2 zum Praktikum Department Informatik Paralleles Programmieren Wissenschaftliches Rechnen im SoSe 2015 Dr. J. Kunkel, Hans Ole Hatzel 06.05.2015 1 Vertiefung von C-Kentnissen

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Nutzung paralleler Prozesse bei der Umweltsimulation

Nutzung paralleler Prozesse bei der Umweltsimulation Nutzung paralleler Prozesse bei der Umweltsimulation RALF Wieland rwieland@zalf.de ZALF/LSA Nutzung paralleler Prozesse bei der Umweltsimulation p. 1 Warum parallele Prozesse? Die Steigerung der Taktfrequenz

Mehr

High Performance Computing

High Performance Computing REGIONALES RECHENZENTRUM ERLANGEN [ RRZE ] High Performance Computing Systemausbildung Grundlagen und Aspekte von Betriebssystemen und System-nahen Diensten Michael Meier, RRZE, 01.07.2015 Agenda Was bedeutet

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

OpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009

OpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 Grundlagen der Parallelen Programmierung Hardware Threads vs. Prozesse Kritische Abschnitte Lange

Mehr

TensorFlow Open-Source Bibliothek für maschinelles Lernen. Matthias Täschner Seminar Deep Learning WS1718 Abteilung Datenbanken Universität Leipzig

TensorFlow Open-Source Bibliothek für maschinelles Lernen. Matthias Täschner Seminar Deep Learning WS1718 Abteilung Datenbanken Universität Leipzig TensorFlow Open-Source Bibliothek für maschinelles Lernen Seminar Deep Learning WS1718 Abteilung Datenbanken Universität Leipzig Motivation Renaissance bei ML und KNN Forschung bei DNN fortgeschrittene

Mehr

Georg Hager Regionales Rechenzentrum Erlangen (RRZE)

Georg Hager Regionales Rechenzentrum Erlangen (RRZE) Erfahrungen und Benchmarks mit Dual- -Prozessoren Georg Hager Regionales Rechenzentrum Erlangen (RRZE) ZKI AK Supercomputing Karlsruhe, 22./23.09.2005 Dual : Anbieter heute IBM Power4/Power5 (Power5 mit

Mehr

RRZE Benchmark Suite: Eine standardisierte Benchmarkumgebung für Ausschreibungen und Evaluierungen

RRZE Benchmark Suite: Eine standardisierte Benchmarkumgebung für Ausschreibungen und Evaluierungen RRZE Benchmark Suite: Eine standardisierte Benchmarkumgebung für Ausschreibungen und Evaluierungen J. Treibig RRZE, Friedrich-Alexander-Universität Erlangen-Nürnberg 20.05.2011 Überblick Anwendung: Vorgeschriebene

Mehr

Hochleistungsrechnen auf dem PC

Hochleistungsrechnen auf dem PC Hochleistungsrechnen auf dem PC Steffen Börm Christian-Albrechts-Universität zu Kiel Ringvorlesung Informatik, 26. Juni 2014 S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni 2014 1 / 33 Übersicht

Mehr

Evaluation. Einleitung. Implementierung Integration. Zusammenfassung Ausblick

Evaluation. Einleitung. Implementierung Integration. Zusammenfassung Ausblick Christopher Schleiden Bachelor Kolloquium 15.09.2009 Einleitung Evaluation Implementierung Integration Zusammenfassung Ausblick Einleitung laperf Lineare Algebra Bibliothek für C++ Möglichkeit zur Integration

Mehr

X10 Performance and Productivity at Scale

X10 Performance and Productivity at Scale X10 Performance and Productivity at Scale Sebastian Henneberg 8. Dezember 2011 Sebastian Henneberg: X10, Performance and Productivity at Scale 1 Struktur Hintergrund Plattform Speicher- und Parallelitätsmodell

Mehr

Multi-threaded Programming with Cilk

Multi-threaded Programming with Cilk Multi-threaded Programming with Cilk Hobli Taffame Institut für Informatik Ruprecht-Karls Universität Heidelberg 3. Juli 2013 1 / 27 Inhaltsverzeichnis 1 Einleitung Warum Multithreading? Ziele 2 Was ist

Mehr

Nebenläufige Programmierung in Java: Threads

Nebenläufige Programmierung in Java: Threads Nebenläufige Programmierung in Java: Threads Wahlpflicht: Fortgeschrittene Programmierung in Java Jan Henke HAW Hamburg 10. Juni 2011 J. Henke (HAW) Threads 10. Juni 2011 1 / 18 Gliederung 1 Grundlagen

Mehr

librtipc - Bibliothek für echtzeitfähige Interprozesskommunikation

librtipc - Bibliothek für echtzeitfähige Interprozesskommunikation librtipc - Bibliothek für echtzeitfähige Interprozesskommunikation Josef Raschen Diplomarbeit: Hardwareunabhängige Interprozesskommunikation für Echtzeitanwendungen Lehrstuhl für Betriebssysteme RWTH Aachen

Mehr

Intel Thread Checker

Intel Thread Checker Kurs 1: Ferienakademie 2009 26. September 2009 Gliederung Gliederung Was macht der Thread Checker und warum? Historisches Alternativen Was macht der Thread Checker und warum? Historisches Alternativen

Mehr

Klausur zu High Performance Computing 09. Juli 2011, SS 2011

Klausur zu High Performance Computing 09. Juli 2011, SS 2011 Alexander Vondrous, Britta Nestler, Fakultät IWI, Hochschule Karlsruhe Klausur zu High Performance Computing 09. Juli 2011, SS 2011 Es sind keine Hilfsmittel zugelassen. Bearbeitungszeit: 90 Minuten Aufgabe

Mehr

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens Self-aware Memory: Hardware-Prototyp eines Prozessorknotens Robert Schelkle Universität Karlsruhe (TH) Institut für Technische Informatik (ITEC) Lehrstuhl für Rechnerarchitektur 24. März 2009 Robert Schelkle

Mehr

2. Der ParaNut-Prozessor "Parallel and more than just another CPU core"

2. Der ParaNut-Prozessor Parallel and more than just another CPU core 2. Der ParaNut-Prozessor "Parallel and more than just another CPU core" Neuer, konfigurierbarer Prozessor Parallelität auf Daten- (SIMD) und Thread-Ebene Hohe Skalierbarkeit mit einer Architektur neues

Mehr

Memory Models Frederik Zipp

Memory Models Frederik Zipp Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1

Mehr

Multi- und Many-Core

Multi- und Many-Core Multi- und Many-Core Benjamin Warnke Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2016-12-15 Benjamin

Mehr

Parallele und funktionale Programmierung Wintersemester 2016/ Übung Abgabe bis , 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2016/ Übung Abgabe bis , 16:00 Uhr 4. Übung Abgabe bis 25.11.2016, 16:00 Uhr Aufgabe 4.1: Verklemmungsbedingungen a) Welche drei Bedingungen müssen gelten, damit es zu einer Verklemmung in einem parallelen System kommen kann? b) Nach welcher

Mehr

Shared-Memory Parallelisierung von C++ Programmen

Shared-Memory Parallelisierung von C++ Programmen Shared-Memory Parallelisierung von C++ Programmen 9. Februar 2006 1 Übersicht Ergebnisse Zusammenfassung 2 3 Übersicht Ergebnisse Zusammenfassung Übersicht Verbreitete Parallelisierungstechniken für Shared-Memory:

Mehr

Foliensatz. Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

Foliensatz. Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Foliensatz Center for Information Services and High Performance Computing (ZIH) Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Hochgeschwindigkeitskommunikationen 13. Juli

Mehr

Parallele und verteilte Anwendungen in Java

Parallele und verteilte Anwendungen in Java Rainer Oechsle Parallele und verteilte Anwendungen in Java ISBN-10: 3-446-40714-6 ISBN-13: 978-3-446-40714-5 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40714-5

Mehr

Parallele Programmierung mit OpenMP

Parallele Programmierung mit OpenMP Parallele Programmierung mit OpenMP - Eine kurze Einführung - 11.06.2003 RRZN Kolloquium SS 2003 1 Gliederung 1. Grundlagen 2. Programmiermodell 3. Sprachkonstrukte 4. Vergleich MPI und OpenMP 11.06.2003

Mehr

X10. Seminar Multicore Programming Uni Passau SS Alex von Rhein

X10. Seminar Multicore Programming Uni Passau SS Alex von Rhein X10 Seminar Multicore Programming Uni Passau SS 2009 Alex von Rhein Übersicht Hintergrund Entwurfs- Ziele Übersicht: Daten- & Kontrollstrukturen Grundlagen-Konzepte Aufbauende Konzepte Sicherheit in X10

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Pthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester

Pthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester Seminar: Multicore Programmierung Sommersemester 2009 16.07.2009 Inhaltsverzeichnis 1 Speichermodell 2 3 Implementierungsvielfalt Prioritätsinversion 4 Threads Speichermodell Was sind Threads innerhalb

Mehr

Linux High Availability out of the Box der Thomas Krenn Cluster

Linux High Availability out of the Box der Thomas Krenn Cluster Linux High Availability out of the Box der Thomas Krenn Cluster Thomas-Krenn.AG Webcast, 26. September 2006 Werner Fischer Cluster-Development Thomas-Krenn.AG Agenda 1) Warum Cluster out-of-the-box? 2)

Mehr

Neuer Funkrufmaster: DAPNET Folien: Daniel Sialkowski und Ralf Wilke. 2. Hamnettagung in Aachen,

Neuer Funkrufmaster: DAPNET Folien: Daniel Sialkowski und Ralf Wilke. 2. Hamnettagung in Aachen, Neuer Funkrufmaster: DAPNET Folien: Daniel Sialkowski und Ralf Wilke 2. Hamnettagung in Aachen, 19.11.2016 Inhalt ) I. Einführung: Paging-Sendernetzwerke Vergleich mit Mobilfunknetzen )))) Quelle: C. Jansen,

Mehr

Literatur. VA SS Teil 5/Messages

Literatur. VA SS Teil 5/Messages Literatur [5-1] https://en.wikipedia.org/wiki/message-oriented_middleware [5-2] https://en.wikipedia.org/wiki/advanced_message_queuing_protocol http://www.amqp.org/specification/0-10/amqp-org-download

Mehr

Kommunikationsmodelle

Kommunikationsmodelle Kommunikationsmodelle Dr. Victor Pankratius David J. Meder IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Grundlegende

Mehr

Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE

Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE 754 Standard festgelegt. Es stehen sogenannte einfach

Mehr

Parallel Regions und Work-Sharing Konstrukte

Parallel Regions und Work-Sharing Konstrukte Parallel Regions und Work-Sharing Konstrukte Um eine Parallelisierung von größeren Programmabschnitten, als es einzelne Schleifen sind, zu ermöglichen, stellt OpenMP als allgemeinstes Konzept die Parallel

Mehr

Einsatz von GPFS an der JGU

Einsatz von GPFS an der JGU Einsatz von GPFS an der JGU HPC@JGU Markus Tacke Leiter HPC ZDV Johannes Gutenberg-Universität Mainz Was Kommt? Umfeld JGU Historie HPC@JGU und seine Daten Aufgabe ATLAS I/O Lösung GPFS!! Ergebnisse.(wird

Mehr

Versionsverwaltung. Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner

Versionsverwaltung. Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner Versionsverwaltung Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner Gliederung Motivation Allgemeines Varianten der Versionsverwaltung Versionierungssysteme Git als Versionierungssystem-Beispiel

Mehr

ZKI AK Supercomputing 2017 Frühjahrstreffen , Duisburg-Essen

ZKI AK Supercomputing 2017 Frühjahrstreffen , Duisburg-Essen ZKI AK Supercomputing 2017 Frühjahrstreffen 16.03. -, Duisburg-Essen Live-Daten und Langzeitstatistiken eines HPC-Systems für verschiedene Interessengruppen bwhpc-projekt Bernd Wiebelt, Konrad Meier, Michael

Mehr

Praktikum: Paralleles Programmieren für Geowissenschaftler

Praktikum: Paralleles Programmieren für Geowissenschaftler Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart & Enno Zickler hermann.lenhart@zmaw.de OpenMP Allgemeine Einführung I OpenMP Merkmale: OpenMP ist keine Programmiersprache!

Mehr

Praktikum Parallele Programmierung. Travelling Salesman Problem (TSP)

Praktikum Parallele Programmierung. Travelling Salesman Problem (TSP) UNIVERSITÄT HAMBURG FACHBEREICH INFORMATIK Praktikum Parallele Programmierung Travelling Salesman Problem (TSP) von Ihar Aleinikau Olesja Aleinikau & Timo Dahlbüdding 1. Problemstellung Aufgabe des TSP

Mehr

Erfahrungen mit LSF an der RWTH. Eine kurze Geschichte der LoadSharingFacility

Erfahrungen mit LSF an der RWTH. Eine kurze Geschichte der LoadSharingFacility Erfahrungen mit LSF an der RWTH Eine kurze Geschichte der LoadSharingFacility Zeitlinie 2011 Wechsel SGE -> LSF, Bull Cluster, GPU-Cluster 2012 JARA-HPC 2014 Projektbewirtschaftung RWTH 2016 NEC Cluster

Mehr

Vorlesung Betriebssysteme II

Vorlesung Betriebssysteme II 1 / 15 Vorlesung Betriebssysteme II Thema 3: IPC Robert Baumgartl 20. April 2015 2 / 15 Message Passing (Nachrichtenaustausch) Prinzip 2 grundlegende Operationen: send(), receive() notwendig, wenn kein

Mehr

Lebenszyklus von Threads

Lebenszyklus von Threads Threads Umgangssprachlich Faden, Diskussionsfaden, Gewinde, Faser, Garn, roter Faden Threads ermöglichen Nebenläufigkeit (parallele Ausführung von Anwendungsteilen). Typisch für Threads ist,dass sie zu

Mehr

MYTHOS VIELKERN-BETRIEBSSYSTEME FÜR HPC

MYTHOS VIELKERN-BETRIEBSSYSTEME FÜR HPC 15. März 2016 MYTHOS VIELKERN-BETRIEBSSYSTEME FÜR HPC Stefan Wesner, Lutz Schubert, Vladimir Nikolov, Jörg Nolte, Randolf Rotta, Mai Krüger, Robert Kuban, uvm... MANY THREADS OPERATING SYSTEM Ziel dynamische

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002 Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002 Seth Gilbert Nancy Lynch Brewer s Conjecture and the Feasibility of Consistent,

Mehr

Simulation digitaler Schaltungen auf GPUs

Simulation digitaler Schaltungen auf GPUs Simulation digitaler Schaltungen auf GPUs Yohan Humbert TU Kaiserslautern Embedded Systems Group 1 Inhalt 1. Motivation und Geschichte 2. Simulation 3. Synchrones Verfahren 4. Asynchrones Verfahren 5.

Mehr

Globale Variablen Diverses. Globale Variablen. Globale Variablen

Globale Variablen Diverses. Globale Variablen. Globale Variablen lokale Variablen Variablen bisher nur am Anfang von Funktionen auch erlaubt: am Anfang innerer Codeblöcke (innerhalb geschweifter Klammern) in C99 und als gcc-erweiterung: an beliebiger Stelle innerhalb

Mehr

parallele Prozesse auf sequenziellen Prozessoren Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher.

parallele Prozesse auf sequenziellen Prozessoren Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher. Threads parallele Prozesse auf sequenziellen Prozessoren Prozesse und Threads Es gibt zwei unterschiedliche Programme: Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher. Ein Thread

Mehr

Peg-Solitaire. Florian Ehmke. 29. März / 28

Peg-Solitaire. Florian Ehmke. 29. März / 28 Peg-Solitaire Florian Ehmke 29. März 2011 1 / 28 Gliederung Einleitung Aufgabenstellung Design und Implementierung Ergebnisse Probleme / Todo 2 / 28 Einleitung Das Spiel - Fakten Peg-33 33 Löcher, 32 Steine

Mehr

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung

Mehr

Inhaltsverzeichnis. Rainer Oechsle. Parallele und verteilte Anwendungen in Java ISBN: Weitere Informationen oder Bestellungen unter

Inhaltsverzeichnis. Rainer Oechsle. Parallele und verteilte Anwendungen in Java ISBN: Weitere Informationen oder Bestellungen unter sverzeichnis Rainer Oechsle Parallele und verteilte Anwendungen in Java ISBN: 978-3-446-42459-3 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42459-3 sowie im Buchhandel.

Mehr

Parallelisierung eines Lagrange schen Partikelausbreitungsmodells

Parallelisierung eines Lagrange schen Partikelausbreitungsmodells Parallelisierung eines Lagrange schen Partikelausbreitungsmodells Abschlussbericht 6. Februar 2012 Ziel Die Wunschvorstellung Sequentielles Modell Ablaufplan Technischer Ablaufplan Besonderheiten Datenaufteilung

Mehr

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6

Mehr

Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts

Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts 24. DFN-Konferenz Sicherheit in vernetzten Systemen 14.02.2017 Michael Grabatin Wolfgang Hommel Gliederung

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 07: Nebenläufigkeit Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in die Nebenläufigkeit und Java Thread Konzept: Motivation

Mehr

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen

Mehr

Speicherarchitektur (23) Suchen einer Seite:

Speicherarchitektur (23) Suchen einer Seite: Speicherarchitektur (23) Suchen einer Seite: Vorlesung Rechnersysteme SS `09 E. Nett 7 Speicherarchitektur (24) Adressschema inklusive Seitenfehler: Vorlesung Rechnersysteme SS `09 E. Nett 8 Speicherarchitektur

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Ausnahmebehandlung und Nebenläufigkeit 9. Vorlesung am 15. Dezember 2010 Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A

Mehr

Harmonisierung von Anforderungs- und Änderungsmanagement in der Verkehrstechnik mit den Werkzeugen Telelogic Doors und IBM Rational ClearQuest

Harmonisierung von Anforderungs- und Änderungsmanagement in der Verkehrstechnik mit den Werkzeugen Telelogic Doors und IBM Rational ClearQuest Harmonisierung von Anforderungs- und Änderungsmanagement in der Verkehrstechnik mit den Werkzeugen Telelogic Doors und IBM Rational ClearQuest Diplomarbeit von Übersicht Einleitung Motivation zu dieser

Mehr

Automatische Parallelisierung

Automatische Parallelisierung MPI und OpenMP in HPC Anwendungen findet man immer häufiger auch den gemeinsamen Einsatz von MPI und OpenMP: OpenMP wird zur thread-parallelen Implementierung des Codes auf einem einzelnen Rechenknoten

Mehr

Chameleon - Eine Taskbasierte Programmierumgebung zur Entwicklung reaktiver HPC Anwendungen

Chameleon - Eine Taskbasierte Programmierumgebung zur Entwicklung reaktiver HPC Anwendungen Dr. Karl Fürlinger Lehrstuhl für Kommunikationssysteme und Systemprogrammierung Chameleon - Eine Taskbasierte Programmierumgebung zur Entwicklung reaktiver HPC Anwendungen Chameleon Überblick Chameleon

Mehr

Visualisierung paralleler bzw. verteilter Programme

Visualisierung paralleler bzw. verteilter Programme Seminar Visualisierung in Informatik und Naturwissenschaften im SS 1999 Visualisierung paralleler bzw. verteilter Programme Holger Dewes Gliederung Zum Begriff Motivation PARADE Beispiel 1: Thread basierte

Mehr

Sicherheitsmechanismen für CANbasierte Dienstlokalisierung in Sensornetzen

Sicherheitsmechanismen für CANbasierte Dienstlokalisierung in Sensornetzen Sicherheitsmechanismen für CANbasierte Dienstlokalisierung in Sensornetzen Ingmar Baumgart Hans-Joachim Hof Prof. Dr. M. Zitterbart Institut für Telematik, Universität Karlsruhe (TH) Neue Herausforderungen

Mehr

Raytracing in GA mittels OpenACC. Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt

Raytracing in GA mittels OpenACC. Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt Raytracing in GA mittels OpenACC Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt michael.burger@sc.tu-darmstadt.de 05.11.12 FB Computer Science Scientific Computing Michael Burger 1 / 33 Agenda

Mehr

Ant Colony Optimization (ACO)

Ant Colony Optimization (ACO) Ant Colony Optimization (ACO) Daniel Blum 24.4.2003 Projektgruppe 431 Metaheuristiken Lehrstuhl 11, Fachbereich Informatik, Universität Dortmund 1 Übersicht Vorbild Natur Übertragung der Ideen Beispiele

Mehr

Architekturen für ein Collaborative Workspace

Architekturen für ein Collaborative Workspace für ein ollaborative Workspace für ein ollaborative Workplace 1 Übersicht für ein ollaborative Workplace 2 ollaborative Workspace Abbilden von dynamischen Gruppenprozessen in Software zur Förderung der

Mehr

MOGON. Markus Tacke HPC ZDV. HPC - AHRP Markus Tacke, ZDV, Universität Mainz

MOGON. Markus Tacke HPC ZDV. HPC - AHRP Markus Tacke, ZDV, Universität Mainz MOGON Markus Tacke HPC ZDV HPC - AHRP Was ist Mogon allgemein? Das neue High Performance Cluster der JGU Ein neues wichtiges Werkzeug für Auswertung von Messdaten und Simulationen Beispiele Kondensierte

Mehr

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner Konzepte von Betriebssystemkomponenten Gerätetreiber Mario Körner 26.01.2004 Übersicht Einordnung in die Betriebssystemarchitektur Schnittstelle zur Hardware Schnittstelle zum Betriebssystem am Beispiel

Mehr

Algorithmen für Ad-hoc- und Sensornetze

Algorithmen für Ad-hoc- und Sensornetze Algorithmen für Ad-hoc- und Sensornetze Übung 1 Leader Election Fabian Fuchs 27. Oktober 2015 (Version 1) INSTITUT FÜR THEORETISCHE INFORMATIK - LEHRSTUHL FÜR ALGORITHMIK (PROF. WAGNER) KIT Universität

Mehr

Big Data. Professional IT Master. Prof. Dr. Ingo Claßen. Überblick. Verarbeitungsmodell. Verarbeitungsablauf. Verteilte Daten. Ressourcenmanagement

Big Data. Professional IT Master. Prof. Dr. Ingo Claßen. Überblick. Verarbeitungsmodell. Verarbeitungsablauf. Verteilte Daten. Ressourcenmanagement Big Data Professional IT Master Prof. Dr. Ingo Claßen Hochschule für Technik und Wirtschaft Berlin Überblick Verarbeitungsmodell Verarbeitungsablauf Verteilte Daten Ressourcenmanagement Koordination Überblick

Mehr

MPI Message Passing Interface. Matus Dobrotka Jan Lietz

MPI Message Passing Interface. Matus Dobrotka Jan Lietz MPI Message Passing Interface Matus Dobrotka Jan Lietz 25.5.2016 MPI Ein Standard, der den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen beschreibt MPI-Applikation mehrere

Mehr

5.1 Verteilung von Aktualisierungshinweisen

5.1 Verteilung von Aktualisierungshinweisen 5.1 Verteilung von Aktualisierungshinweisen Verteilung von Nachrichten über eine Aktualisierung lokaler Datenspeicher erfährt, dass Aktualisierung stattfand z.b. Invalidierungsnachricht vgl. erste DSM-Implementierung

Mehr

Objektorientiertes Programmieren

Objektorientiertes Programmieren JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist

Mehr