I Grundlagen der parallelen Programmierung 1
|
|
- Maria Böhme
- vor 7 Jahren
- Abrufe
Transkript
1 vii I Grundlagen der parallelen Programmierung 1 1 Einführung Paradigmenwechsel in der Softwareentwicklung Anwendungsbereiche Parallelität in der Hardware Prozessorarchitektur Multicore-Prozessoren und Multiprozessorsysteme Parallelität in der Software Prozesse und Threads Virtualisierung Parallelisierende Compiler Parallele Bibliotheken Amdahl sches Gesetz Threads Arbeiten mit Threads Erzeugung und Beendigung Datenaustausch Threadpools Scheduling Lastverteilung Affinitäten und Prioritäten Speicherzugriff Speichermodelle Speicherhierarchie Synchronisation Konflikte Entstehung Kritische Abschnitte... 43
2 viii 3.2 Synchronisationsmechanismen Mutexe Scoped Locking Monitore Lese-/Schreibsperren Semaphore Bedingungsvariablen Barrieren Einmalige Ausführung Atomare Operationen Spinlocks Fallstricke und Richtlinien Konflikterkennung Verklemmungen Nichtdeterminismus Fairness Skalierbarkeit Threadsicherheit und Wiedereintrittsfähigkeit Schnittstellenentwurf Task- und Datenparallelität Taskparallelität Erzeugung und Synchronisation von Tasks Parallelisierung rekursiver Algorithmen Taskgruppen Spekulation Implementierung eines Task-Schedulers Programmierrichtlinien Datenparallelität Schleifen ohne Datenabhängigkeiten Reduktionen Präfixberechnungen Partitionierung und Abbildung Datenstrukturen Threadsicherer Zugriff Grobgranulare Synchronisation Feingranulare Synchronisation Optimistische Synchronisation Nichtblockierende Synchronisation Weitere Optimierungen
3 ix 5.2 Auswahl der richtigen Datenstruktur Kriterien Listen Vektoren Assoziative Felder Warteschlangen und Stacks Multimengen Entwurfsmuster Zugriff auf gemeinsame Daten Grundlegende Synchronisationsmuster Threadlokaler Speicher Futures Synchronisationsproxy Active Object Zerlegung in parallel bearbeitbare Teilprobleme Grundlegende Zerlegungsmuster Master-Slave Erzeuger-Verbraucher Aktoren Reihenfolgebewahrender Threadpool Fließbandverarbeitung Pipelines Pipelines mit parallelen Stufen Parallele Pipelines Architektur paralleler Software Entwurf paralleler Algorithmen Entwurf paralleler Architekturen II Sprachen und Bibliotheken Threads und Synchronisation in C/C POSIX-Threads Threads Synchronisationsmechanismen Threadlokaler Speicher und Speicherallokation Windows-Threads Threads Synchronisationsmechanismen Threadlokaler Speicher und Speicherallokation Threadpools
4 x 8.3 C Lambda-Funktionen Threads Synchronisationsmechanismen Threadlokaler Speicher und Speicherallokation Speichermodell OpenMP Threads Parallele Bereiche Arbeitsteilung Speicherzugriff Threadlokaler Speicher Synchronisationsmechanismen Kritische Abschnitte Mutexe Barrieren Einmalige Ausführung Atomare Operationen Taskparallelität Parallelisierung rekursiver Algorithmen Variablenzugriff Suspendierung Datenparallelität Schleifen ohne Datenabhängigkeiten Reduktionen Partitionierung und Abbildung Speichermodell Threading Building Blocks Synchronisationsmechanismen Sperren Atomare Operationen Taskparallelität Parallele Funktionsaufrufe Taskgruppen Task Scheduler Datenparallelität Schleifen ohne Datenabhängigkeiten Reduktionen Präfixberechnungen
5 xi 10.4 Datenstrukturen Assoziative Felder und Mengen Warteschlangen Vektoren Algorithmen und Entwurfsmuster Sortieren Fließbandverarbeitung Flussgraphen Threadlokaler Speicher Speicherallokation Ausnahmen und Abbruch Parallele Programmierung mit Java Threads Threaderzeugung Threadpools Threadlokaler Speicher Synchronisationsmechanismen Sperren Spezielle Synchronisationsmechanismen Atomare Operationen Taskparallelität Tasks und Futures Starten von Tasks Rekursive Tasks Blockierende Operationen in Tasks Datenparallelität Datenstrukturen Speichermodell Parallele Programmierung mit.net Threads Threaderzeugung Threadpools Threadlokaler Speicher Synchronisationsmechanismen Sperren Spezielle Synchronisationsmechanismen Atomare Operationen Einmalige Ausführung Taskparallelität Tasks und Futures Fortsetzungstasks
6 xii 12.4 Datenparallelität Schleifen ohne Datenabhängigkeiten Parallele Aggregation PLINQ Datenstrukturen Ausnahmen und Abbruch Speichermodell Blick über den Tellerrand Funktionale Sprachen Aktorbasierte Programmierung Transaktionsbasierter Speicher Literaturverzeichnis Index
Grundkurs Betriebssysteme
Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation 2., uberarbeitete und aktualisierte Auflage Mit 164 Abbildungen und 6 Tabellen STUDIUM
MehrParallel Computing in.net
Marc Andre Zhou Parallel Computing in.net Multicore-Programmierung von.net 2.0 bis 4.0 1 1.1 1.2 1.3 1.4 1.5 1.6 2 2.1 Einleitung Für wen ist dieses Buch? Ziele des Buchs Parallel Computing: Warum? 1.3.1
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
MehrParallele Programmiermodelle
Parallele Programmiermodelle ProSeminar: Parallele Programmierung Semester: WS 2012/2013 Dozentin: Margarita Esponda Einleitung - Kurzer Rückblick Flynn'sche Klassifikationsschemata Unterteilung nach Speicherorganissation
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
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
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
MehrTutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 11. Juli 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 11. Juli 2017 Moritz Klammler - Tutorium Softwaretechnik
MehrEMB² = Parallel + Heterogen
EMB² = Parallel + Heterogen Parallele Programmierung von Systems-on-a-Chip Tobias Schüle, Siemens AG Die Embedded Multi Building Blocks (EMB²) sind eine als Open Source Software zur Verfügung stehende
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
Mehr2 Threads. 2.1 Arbeiten mit Threads Erzeugung und Beendigung
23 2 Threads Threads sind die Grundbausteine paralleler Software und bilden wie in Abschnitt 1.4 bereits erwähnt aus Sicht des Betriebssystems die kleinste Einheit der Parallelität [55]. Im Prinzip werden
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
MehrInhaltsverzeichnis XII
1 Einführung... 1 1.1 Computersysteme... 1 1.1.1 Einführung... 2 1.1.2 Aufgabe von Betriebssystemen... 3 1.1.3 Grundlegende Hardwaremodelle... 3 1.1.4 CPU-Registersatz... 7 1.1.5 Multicore-Prozessoren
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
MehrGrundkurs Betriebssysteme
Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation von Peter Mandl 3., akt. und erw. Aufl. 2013 Springer Vieweg Wiesbaden 2012 Verlag C.H. Beck im
Mehr^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung,
Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 4. Auflage ^ Springer Vi eweg 1 Einführung 1 1.1 Computersysteme 1
MehrJava Concurrency Utilities
Java Concurrency Utilities Java unterstützt seit Java 1.0 Multithreading Java unterstützt das Monitorkonzept mittels der Schlüsselworte synchronized und volatile sowie den java.lang.object Methoden wait(),
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
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
MehrBeispiel: Schleifenparallelisierung
Beispiel: Schleifenparallelisierung for (i = 0; i high) { printf ( Exiting during iteration %d\n,i); break; for (j=low;j
MehrInhaltsverzeichnis Grundbegriffe der Programmierung Strukturelle Programmierung
Inhaltsverzeichnis 1 Grundbegriffe der Programmierung... 1 1.1 Das erste Programm: Hallo Welt... 1 1.2 Vom Problem zum Algorithmus... 3 1.2.1 Begriff des Algorithmus... 3 1.2.2 Eigenschaften eines Algorithmus...
MehrC-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012
October 29, 2012 Inhaltsverzeichnis 1 2 3 4 5 6 Motivation Motivation CUDA bietet extreme Leistung für parallelisierbare Programme Kompliziert zu programmieren, da multi-level parallel und explizit verwalteter
MehrPOSIX-Threads. Aufgabe 9 SP - Ü U10.1
U10 10. Übung U10 10. Übung POSIX-Threads Aufgabe 9 U10.1 U10-1 Motivation von Threads U10-1 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller Adressraum, Rechte, Priorität,...)
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
MehrAbkürzungen. Kapitel 1 - Einleitung Stand der Automobilelektronik Historische Entwicklung Gegenwärtige Probleme 2
Inhalt Abkürzungen X Kapitel 1 - Einleitung 1 1.1 Stand der Automobilelektronik 1 1.1.1 Historische Entwicklung 1 1.1.2 Gegenwärtige Probleme 2 1.2 Zielsetzung 5 1.3 Aufbau der Arbeit 6 1.4 Veröffentlichungen
MehrInfo B VL 16: Monitore und Semaphoren
Info B VL 16: Monitore und Semaphoren Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 16: Monitore und
MehrJava-Grundkurs für Wirtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich
MehrInhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung
Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg... 1 1.1 Objektorientierung: Konzepte und Stärken...... 1 1.1.1 Gedankliche Konzepte der Objektorientierung....... 2 1.1.2 Objektorientierung als
MehrInformatik im Fokus. Herausgeber: Prof. Dr. O. Günther Prof. Dr. W. Karl Prof. Dr. R. Lienhart Prof. Dr. K. Zeppenfeld
Informatik im Fokus Herausgeber: Prof. Dr. O. Günther Prof. Dr. W. Karl Prof. Dr. R. Lienhart Prof. Dr. K. Zeppenfeld Informatik im Fokus Rauber, T.; Rünger, G. Multicore: Parallele Programmierung. 2008
Mehr1. Einführung in OpenMP
1. Einführung in OpenMP Übersicht Einführung Homogene und inhomogene Arbeitsverteilung Rekursive Parallelität Beispiele Parallele Programmierung 1 Nicolas Maillard, Marcus Ritt 1 Überblick OpenMP: Vereinfachte
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
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
MehrSoftwaresysteme I Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2007 U9.fm
U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 U9-2 Motivation von Threads U9-2 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller
MehrU8 POSIX-Threads U8 POSIX-Threads
U8 POSIX-Threads U8 POSIX-Threads Motivation Thread-Konzepte pthread-api pthread-koordinierung U8.1 U8-1 Motivation von Threads U8-1 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung
Mehr1 Konzepte der Parallelverarbeitung
Parallelverarbeitung Folie 1-1 1 Konzepte der Parallelverarbeitung Erhöhung der Rechenleistung verbesserte Prozessorarchitekturen mit immer höheren Taktraten Vektorrechner Multiprozessorsysteme (Rechner
MehrParallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff
Parallel Computing Einsatzmöglichkeiten und Grenzen Prof. Dr. Nikolaus Wulff Parallel Architekturen Flynn'sche Klassifizierung: SISD: single Instruction, single Data Klassisches von-neumann sequentielles
MehrI 7. Übung. I-1 Überblick. Besprechung Aufgabe 5 (mysh) Online-Evaluation. Posix Threads. Ü SoS I I.1
I 7. Übung I 7. Übung I-1 Überblick Besprechung Aufgabe 5 (mysh) Online-Evaluation Posix Threads I.1 I-2 Evaluation I-2 Evaluation Online-Evaluation von Vorlesung und Übung SOS zwei TANs, zwei Fragebogen
MehrBetriebssysteme Grundlagen und Konzepte
Rüdiger Brause Betriebssysteme Grundlagen und Konzepte Mit 157 Abbildungen Inhaltsverzeichnis 1 Übersicht 1 1.1 Einleitung: Was ist ein Betriebssystem? 1 1.2 Betriebssystemschichten 2 1.3 Schnittstellen
MehrBest Practices. Rainer Grimm Training, Coaching und Technologieberatung
Best Practices Rainer Grimm Training, Coaching und Technologieberatung www.modernescpp.de Best Practices Allgemein Multithreading Parallelität Speichermodell Best Practices Allgemein Multithreading Speichermodell
MehrDatenstrukturen und Algorithmen
1 Datenstrukturen und Algorithmen Übung 13 FS 2018 Programm von heute 2 1 Feedback letzte Übung 2 Wiederholung Theorie 3 Nächste Übung 1. Feedback letzte Übung 3 Aufgabe 12.3: Summe eines Vektors void
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!
MehrWS Parallele Prozesse. Prof. Hannelore Frank. Parallele Prozesse. PetriNetze. Synchronisation UNIX. Wettbewerb PC Krit.Abschnitt Spinlocks
WS 2007 Überblick 1 2 Petri-Netze als Entwurfshilfsmittel 3 nebenläufiger 4 -Systemfunktionen Literatur Eduard Glatz: Betriebssysteme. Grundlagen, Konzepte, Systemprogrammierung dpunkt.verlag, 2006, ISBN
MehrSeminar: Multi-Core Architectures and Programming
Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche
MehrSteffen Heinzl Markus Mathes. Middleware in Java
Steffen Heinzl Markus Mathes Middleware in Java Leitfaden zum Entwurf verteilter Anwendungen - Implementierung von verteilten Systemen über JMS - Verteilte Objekte über RMI und CORBA Mit 50 Abbildungen
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:
MehrU9-3 Vergleich von Thread-Konzepten. U9-2 Motivation von Threads. U9-3 Vergleich von Thread-Konzepten (2) U9-1 Überblick
U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 User-Level Threads: Federgewichtige Prozesse Realisierung von Threads auf Anwendungsebene innerhalb eines Prozesses
MehrRalf Kirsch Uwe Schmitt. Programmieren inc. Eine mathematikorientierte Einführung. Mit 24 Abbildungen und 13 Tabellen. Springer
Ralf Kirsch Uwe Schmitt Programmieren inc Eine mathematikorientierte Einführung Mit 24 Abbildungen und 13 Tabellen Springer Inhaltsverzeichnis Eine Einleitung in Frage und Antwort V 1 Vorbereitungen 1
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
MehrTechnische Akademie Esslingen Ihr Partner für Weiterbildung seit 60 Jahren!
TAE Technische Akademie Esslingen Ihr Partner für Weiterbildung seit 60 Jahren! In Zusammenarbeit mit der Gesellschaft für Informatik (GI) Maschinenbau, Produktion und Fahrzeugtechnik Tribologie Reibung,
MehrParallelität, Threads
Parallelität, Threads Tutorium 17 Fabian Miltenberger 30.06.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrLinux-Kernel- Programmierung
Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner, Claus Schröter Linux-Kernel- Programmierung Algorithmen und Strukturen der Version 2.2 5., aktualisierte und erweiterte
MehrA Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...
1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................
MehrJava als erste Programmiersprache
Joachim Göll Cornelia Heinisch Java als erste Programmiersprache Grundkurs für Hochschulen 8., überarbeitete Auflage Springer Vi eweg Inhaltsverzeichnis 1 Grundlagen der Programmierung 1 1.1 Das erste
MehrAufgabe 9: recgrep rekursive, parallele Suche (letzte Aufgabe)
U6 6. Übung (Mathematik / Technomathematik) U6 6. Übung (Mathematik / Technomathematik) Besprechung Aufgabe 4 (halde) Besprechung Aufgabe 5 (crawl) Besprechung der Mini-Klausur POSIX-Threads Motivation
MehrInhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen
Inhalt 3 Bemerkung... 9 Vorwort... 10 1 Programme und Programmiersprachen 1.1 Assembler... 13 1.2 Höhere Programmiersprachen... 15 1.2.1 Interpreter... 16 1.2.2 Compiler... 17 1.2.3 Zwischencode... 18
MehrU8-1 Motivation von Threads. U8-2 Vergleich von Thread-Konzepten. U8-2 Vergleich von Thread-Konzepten (2) Motivation
U8 POSIX-Threads U8 POSIX-Threads U8-1 Motivation von Threads U8-1 Motivation von Threads Motivation Thread-Konzepte UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller Adressraum, Rechte, Priorität,...)
MehrPROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker
Multithreading PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 10. Juni 2013 Übersicht Rückblick: Producer-Consumer-Problem
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
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
MehrInhaltsverzeichnis Übersicht Prozesse
1 Übersicht... 1 1.1 Einleitung: Was ist ein Betriebssystem?... 1 1.2 Betriebssystemschichten... 2 1.3 Schnittstellen und virtuelle Maschinen... 3 1.4 Betriebssystemaufbau... 5 1.4.1 Systemaufrufe... 6
MehrPraktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Ulrich Körner, Nathanael Hübbe hermann.lenhart@zmaw.de OpenMP Einführung I: Allgemeine Einführung Prozesse
MehrNebenläufigkeit und Asynchronizität in eingebetteten Systemen. Klaus Kusche, September 2012
Nebenläufigkeit und Asynchronizität in eingebetteten Systemen Klaus Kusche, September 2012 Inhalt Definitionen und Begriffe Strategien zur Parallelisierung Kommunikation & Synchronisation Hardware-Voraussetzungen
MehrInhaltsverzeichnis. Lothar Piepmeyer. Grundkurs funktionale Programmierung mit Scala ISBN:
Lothar Piepmeyer Grundkurs funktionale Programmierung mit Scala ISBN: 978-3-446-42092-2 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42092-2 sowie im Buchhandel. Carl Hanser
MehrTEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4
Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...
MehrWegweiser. Das Erzeuger-/Verbraucher-Problem. Semaphore. Transaktionen. Botschaften
Wegweiser Das Erzeuger-/Verbraucher-Problem Semaphore Transaktionen Botschaften Betriebssysteme WS 2013, Threads 75 Beispiele Erzeuger-/Verbraucher-Probleme Betriebsmittelverwaltung Warten auf eine Eingabe
MehrNebenläufige und verteilte Programme CS2301
Nebenläufige und verteilte Programme CS2301 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Synchronisation: Basis-Mechanismen und -Ausdrucksmittel Threadsicherheit, kritische Abschnitte,
MehrWirtschaftsinformatik II Sommersemester Lo sungshinweise zu den Ü bungen P. Mandl, M. Dolag, B. Rottmüller, et al.
Wirtschaftsinformatik II Sommersemester 2016 Lo sungshinweise zu den Ü bungen 2-6 @Prof. P. Mandl, M. Dolag, B. Rottmüller, et al. Seite 1 / 6 Übung 2 Verwendung von Java-Threads Ableitung von Klasse Thread
MehrBitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation mit Semphoren (30)
VO 8. Prüfung Betriebssysteme. Oktober KNr. MNr. Zuname, Vorname Ges.)().)().)().)() Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! Synchronisation mit Semphoren () In einem Fitnesscenter
MehrZum Buch Hinweise Handhabung des Buchs Website In eigener Sache... 19
Vorwort 13 Zum Buch.................................................... 15 Hinweise..................................................... 17 Handhabung des Buchs.........................................
MehrEntwicklung einer FPGA-basierten asymmetrischen MPSoC Architektur
Entwicklung einer FPGA-basierten asymmetrischen Architektur INF-M1 Seminar Vortrag 25. November 2010 Betreuer: Prof. Dr.-Ing. Bernd Schwarz Übersicht 1. Motivation 2. Zielsetzung & Vorarbeiten 3. Arbeitsschwerpunkte
MehrInhaltsübersicht. Vorwort 15. Vorwort zur deutschen Ausgabe 22. Kapitel 1 Elemente der Programmierung 25. Kapitel 2 Funktionen und Module 203
Inhaltsübersicht Vorwort 15 Vorwort zur deutschen Ausgabe 22 Kapitel 1 Elemente der Programmierung 25 Kapitel 2 Funktionen und Module 203 Kapitel 3 Objektorientierte Programmierung 335 Kapitel 4 Algorithmen
MehrKonzepte von Betriebssystem-Komponenten: Effiziente Manycore-Systeme
Konzepte von Betriebssystem-Komponenten: Effiziente Manycore-Systeme Florian Schmaus, Stefan Reif Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrCompute Unified Device Architecture CUDA
Compute Unified Device Architecture 06. Februar 2012 1 / 13 Gliederung 2 / 13 : Compute Unified Device Architecture entwickelt von Nvidia Corporation spezifiziert Software- und Hardwareeigenschaften Ziel:
MehrEinführung in die Informatik
Einführung in die Informatik 01101101 01011001 11010011 10011000 00000011 00011100 01111111 11111111 00110100 00101110 11101110 01110010 10011101 00111010 2 Lehrziel und Inhalt Überblick über die Informatik;
MehrTransactional Memory. Robert Brunel Technische Universität München
Transactional Memory Robert Brunel Technische Universität München 25.09.2009 Transactional Memory: Grundbegriffe Memory-Transaction: Eine Folge von Zugriffen auf den Arbeitsspeicher, die atomar und isoliert
Mehr2 Wegweiser Projektbeschreibung...69
1 Projektmanagement...1 1.1 Komponenten eines SAP-R/3-Systems...1 1.2 Datenstruktur eines R/3-Systems...3 1.3 Änderungen an R/3-Datenobjekten...6 1.3.1 Änderungsebenen...6 1.3.2 Änderungsstrategien...8
MehrVorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2
Vorwort zur zweiten Auflage 1 Vorwort zur ersten Auflage 2 1 Über dieses Buch 3 1.1 WarumdiesesBuch?... 3 1.2 Voraussetzungen...... 4 1.3 Systematik... 4 1.4 WieliestmandiesesBuch?... 6 1.5 ZugriffaufdieQuellenzudenBeispielen...
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
MehrDie Anweisungen zweier Prozesse werden parallel bearbeitet, wenn die Anweisungen unabhängig voneinander zur gleichen Zeit ausgeführt werden.
7 Parallelität und Nebenläufigkeit Mehrere Prozessen oder Threads Parallelität Die Anweisungen zweier Prozesse werden parallel bearbeitet, wenn die Anweisungen unabhängig voneinander zur gleichen Zeit
MehrBetriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen
Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux
MehrInhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2
iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...
MehrÜbung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012
Übung zu Grundlagen der Betriebssysteme 10. Übung 18.12.2012 Aufgabe 1 a) Was versteht man unter einem kritischen Abschnitt oder kritischen Gebiet (critical area)? b) Welche Aufgabe hat ein Semaphor? c)
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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B3. ADTs, Bags, Stack and Queues Marcel Lüthi and Gabriele Röger Universität Basel 21. März 2019 Abstrakte Datentypen Abstrakte Datentypen : Definition Abstrakter Datentyp
MehrPraktikum angewandte Systemsoftwaretechnik: Vergleich nichtblockierender Queues
Praktikum angewandte Systemsoftwaretechnik: Vergleich nichtblockierender Queues Michael Banken Lorenz Haspel Friedrich-Alexander Universität Erlangen-Nürnberg 20.9.2013 Michael Banken, Lorenz Haspel Vergleich
MehrMikroController und Mikroprozessoren
Uwe Brinkschulte Theo Ungerer MikroController und Mikroprozessoren Mit 205 Abbildungen und 39 Tabellen Springer Inhaltsverzeichnis 1 Grundlagen 1 1.1 Mikroprozessoren, MikroController, Signalprozessoren
Mehrvii 4 t.scheme: Funktionale Programmierung Funktionen als Daten erster Klasse
Inhaltsverzeichnis Einleitung 1 Kaffee oder Tee?................................ 1 Die t.sprachen.................................. 2 Die Java-Implementierung........................... 5 Ockhams Rasiermesser.............................
MehrInhaltsverzeichnis. Teil 1 Grundlagen 21. Teil 2 Datenstrukturen 85
Inhaltsverzeichnis Vorwort 13 Umfang 14 Einsatz als Unterrichtsmittel 14 Algorithmen mit Praxisbezug 15 Programmiersprache 16 Danksagung 17 Vorwort des Java-Beraters 18 Hinweise zu den Übungen 19 Teil
MehrTesten nebenläufiger Objekte
Testen nebenläufiger Objekte Threads in Java Julian Lambertz Seminar Tests in Informatik und Statistik im SS 2004 Universität Ulm J.L., Juni 2004 1 Themenüberblick Einleitung Begriff der Nebenläufigkeit
Mehr.NET Task Parallel Library: Eine Rundtour
.NET Parallel Library: Eine Rundtour Luc Bläser Hochschule für Technik Rapperswil Parallel 2015 Konferenz 23. Apr. 2015, Karlsruhe Die.NET Parallel Library (TPL) Stand der Technik für.net Parallelprogrammierung
MehrJava Threads. von Gerhart Mende und Awad Fuad. Fuad Awad & Gerhart Mende ProSeminar parallele Programmierung 1
Java Threads von Gerhart Mende und Awad Fuad Fuad Awad & Gerhart Mende ProSeminar parallele Programmierung 1 Einleitung Erzeugung und Start von Threads Synchronisation von Java Threads Signalmechanismus
MehrNicht-blockierende Synchronisation für Echtzeitsysteme
Nicht-blockierende Synchronisation für Echtzeitsysteme Seminar Mobile Systeme Florian Schricker 15. März 2005 Seminarleiter: Prof. Dr. Dieter Zöbel 1 INHALTSVERZEICHNIS INHALTSVERZEICHNIS Inhaltsverzeichnis
MehrGrundlagen der Informatik (I+II)
Grundlagen der Informatik (I+II) Themen-Übersicht Dr. Stefan Bosse Universität Bremen 16.7.2007 1. Informationen und Daten A) Darstellung und Verarbeitung von Informationen, Kodierung B) Zahlensysteme
Mehrh.o.-computer news Osterrabatt ho-computer Entwicklertag High Performance Programmierung in München am 18.Mai 8 Regeln zum parallelen Programmieren
h.o.-computer news ho-computer Entwicklertag High Performance Programmierung in München am 18.Mai 8 Regeln zum parallelen Programmieren Intel Parallel Studio Promotion Pakete & Lizenzmodelle Inhalt Editorial
MehrInhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21
xi 1 Grundlagen 1 1.1 Daten und Befehle......................................... 2 1.2 Algorithmen............................................. 4 1.3 Variablen................................................
Mehr