Matrix Transposition mit gaspi_read_notify. Vanessa End HPCN Workshop 11. Mai 2016
|
|
- Götz Fleischer
- vor 6 Jahren
- Abrufe
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 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
MehrT-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
MehrComputergrundlagen 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
MehrComputergrundlagen 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
MehrEinige 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
MehrKonzepte 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
MehrOpenMP - 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
MehrParallele 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
MehrUniversitä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
MehrErfahrungen 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
MehrMaster-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
MehrHomogene 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
MehrRainer 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
MehrBeispiel: Schleifenparallelisierung
Beispiel: Schleifenparallelisierung for (i = 0; i high) { printf ( Exiting during iteration %d\n,i); break; for (j=low;j
MehrVerteilte 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
MehrSeminarvortrag: 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
MehrHochleistungsrechnen 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
MehrOptimierungsstrategien 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
MehrHochleistungsrechnen 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
MehrShared-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
MehrOpenMP. 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
MehrInteraktionsdiagramme 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
MehrVerteilte 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
MehrWissenschaftliches 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
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
MehrNutzung 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
MehrHigh 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
MehrSysteme 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
MehrOpenMP - 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
MehrTensorFlow 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
MehrGeorg 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
MehrRRZE 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
MehrHochleistungsrechnen 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
MehrEvaluation. 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
MehrX10 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
MehrMulti-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
MehrNebenlä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
Mehrlibrtipc - 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
MehrIntel 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
MehrKlausur 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
MehrSelf-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
Mehr2. 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
MehrMemory 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
MehrMulti- 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
MehrParallele 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
MehrShared-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:
MehrFoliensatz. 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
MehrParallele 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
MehrParallele 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
MehrX10. 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
MehrSysteme 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
MehrPthreads. 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
MehrLinux 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)
MehrNeuer 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,
MehrLiteratur. 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
MehrKommunikationsmodelle
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
MehrZum 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
MehrParallel 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
MehrEinsatz 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
MehrVersionsverwaltung. 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
MehrZKI 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
MehrPraktikum: 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!
MehrPraktikum 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
MehrErfahrungen 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
MehrVorlesung 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
MehrLebenszyklus 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
MehrMYTHOS 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
MehrSysteme 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
MehrBrewer 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,
MehrSimulation 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.
MehrGlobale 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
Mehrparallele 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
MehrPeg-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
MehrBetriebssysteme. 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
MehrInhaltsverzeichnis. 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.
MehrParallelisierung eines Lagrange schen Partikelausbreitungsmodells
Parallelisierung eines Lagrange schen Partikelausbreitungsmodells Abschlussbericht 6. Februar 2012 Ziel Die Wunschvorstellung Sequentielles Modell Ablaufplan Technischer Ablaufplan Besonderheiten Datenaufteilung
MehrInhaltsverzeichnis. 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
MehrBlockchain-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
MehrJavakurs 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
MehrSprechen 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
MehrSpeicherarchitektur (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
MehrObjektorientierte 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
MehrHarmonisierung 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
MehrAutomatische 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
MehrChameleon - 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
MehrVisualisierung 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
MehrSicherheitsmechanismen 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
MehrRaytracing 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
MehrAnt 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
MehrArchitekturen 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
MehrMOGON. 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
MehrKonzepte 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
MehrAlgorithmen 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
MehrBig 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
MehrMPI 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
Mehr5.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
MehrObjektorientiertes 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