Parallelprogrammierung
|
|
- Bella Bieber
- vor 7 Jahren
- Abrufe
Transkript
1 Lesender: Prof. Dr.-Ing. habil Ilka Philippow Fakultät für Informatik und Automatisierung FG Softwaresysteme/Prozessinformatik Tel Sekr , Frau Meusel, Zuse Bau Zi3044 login: pw: Studiengänge: Informatik, Ingenieurinformatik, 1
2 Lernziel der Vorlesungsreihe die Problemabstraktionen Paralleler Prozesse kennen und verstehen die Synchronisationskonzepte für parallele Prozesse verstehen und anwenden können 2
3 Warum und wie wird parallelisiert? Vorteil: parallele Rechenprozesse können die Laufzeit reduzieren 1. Schritt: Finden von parallel lauffähigen Programmteilen 2. Schritt - Top down Zerlegung des Problems - Parallelisierung von Algorithmen Synchronisation der parallelen Abarbeitung Gegenstand der 3
4 1. Einführung Klärung von Grundfragen a) Parallele Prozesse müssen grundsätzlich nebenläufig sein Merkmale der Nebenläufigkeit b) Wo und wie findet Parallelverarbeitung statt und wann muss synchronisiert Gegenstand der Vorlesung eingrenzen c) Anforderungen an die Parallelverarbeitung aus Sicht von eingebetteten Systemen 4
5 1.1. Parallelisierung von Algorithmen Sequentielle Algorithmen: Z := X; Call Up1; Call UP2; Y:=2; Erzeugen bei gleichen Eingabedaten immer die gleichen Ausgabedaten Merkmal: fest vorgegebener, deterministischer Ablauf aller Programmteile 5
6 Beispiel, Bild 1.1 Berechnung der Schleifendurchläufe: (n-1) + (n-2) = n(n-1)/2 Vergleiche sind nötig Für sehr große n gilt ungefähr n 2 /2-Vergleiche: n Eingabewerte n 2 /2 sequentiell Kann man durch Parallelisierung die Effizienz verbessern? 6
7 Parallelisierungspotenzial? in Schleifen kann prinzipiell nach Parallelisierungsmöglichkeiten gesucht werden dabei kann die gesamte Anweisungsfolge einer Schleife jeweils einem Prozessor zugeordnet werden Idee: Sortieren in zwei Stufen z.b. für n=10: und und Mischen der Ergebnisse 0, 1, 2,...9 7
8 n/2 sortieren: Beispiel, Bild 1.2 n * 2 = n 8 Vergleiche: mal zwei, +n für mischen : n Eingabewerte n 2 /2 sequentiell 2 n 2*( 8 n 2 /4 + n quasiparallel 2 2 n ) = 4 + n 2 /8 + n parallel Nötig: Synchronisationsaspekte spezifizieren n 8
9 1.2. Nebenläufige Prozesse ein Algorithmus kann nebenläufige Teile enthalten - es gibt Verfahren zum Auffinden der Nebenläufigkeit (nicht Gegenstand der Vorlesung, siehe Literatur) ein Programmsystem kann nebenläufige Teile enthalten - z.b. Prozeduren, Programme die Zuteilung von Prozessoren und globalen Betriebsmitteln erfolgt durch das Betriebssystem 9
10 Definitionen Ein Programm bzw. Programmsystem ist nebenläufig, wenn es Teile enthält, die in beliebiger Reihenfolge (nichtdeterministisch) ablaufen können. Der Ablauf kann parallel oder quasiparallel erfolgen. Quasiparallelbetrieb: Einprozessorsysteme, oder es gibt weniger Prozessoren als Prozesse Parallelbetrieb: es gibt mindestens soviel Prozessoren wie Prozesse nebenläufige Prozesse werden real parallel abgearbeitet 10
11 Merkmale der Nebenläufigkeit nebenläufige Prozesse sind nichtdetermininiert beliebige Startreihenfolge (Zuordnung von Prozessoren) nebenläufige Prozesse sind endlos zufällige Startzeitpunkte für Test: repeat... forever nebenläufige Prozesse können kooperieren (lösen eine gemeinsame Aufgabe) oder konkurrieren (um gemeinsame Betriebsmittel) 11
12 Typische Kooperationen Client-Server-Kooperation: Client 1 Client 2 Server 1/Client Server 2 Autonome Vergabe eines Auftrages Distributor/Team-Kooperation: Team: Beteiligung an der Auswahl von Aufgaben Sammlung und Verteilung von Aufträgen 12
13 Kooperation und Konkurrenz Kooperation und Konkurrenz schließen einander nicht aus Gefordertes Verhalten: das Ergebnis eines Prozesses muss unabhängig von Ausführungsgeschwindigkeiten sein Vermeiden von Effekten, die nur bei Nebenläufigkeit, nicht jedoch bei streng sequentiellen Abarbeitung auftreten Koordination ist notwendig Koordinations-Mechanismus: Synchronisation durch Prozess-Kommunikation 13
14 1.3. Parallelität Der Begriff Parallelität beschreibt verschiedene Aspekte: 1. Parallelrechner: die Maschinenstruktur führt zu asynchroner bzw. synchroner Abarbeitung von Rechenprozessen 2. Parallelverarbeitung: die Abstraktionsebene bestimmt die Granularität von Rechenprozessen 14
15 Parallelrechner (nach Flynn) Einprozessorrechner SISD: Single Instruction Single Data MISD: Multiple Instruction Single Data Pipelinerechner Vektor-, Arrayrechner SIMD: Single Instruction Multiple Data MIMD: Multiple Instruction Multiple Data Mehrprozessorrechner Unterschiede in der Synchronisation der parallelen Prozesse im Zugriff auf einen gemeinsamen Speicher 15
16 Synchronisation Asynchrone Parallelität: Prozessoren können autonom ein Programm (Prozess) ausführen mehrere Kontrollflüsse Datenaustausch muss synchronisiert werden (SISD-Rechner (Quasiparallel-Betrieb), MIMD-Rechner) Synchrone Parallelität: ein übergeordneter Prozessor führt ein Programm aus und steuert alle anderen Prozesse ein Kontrollfluss Prozesse sind synchronisiert (SIMD-Rechner, MISD-Rechner) 16
17 Synchrone Parallelität MISD: Abarbeitung von Anweisungen in einer Pipeline Steuerrechner Daten Einheit 1 Speicher Daten Einheit 2 Speicher Einheit n Speicher Daten werden durch die Prozessoren auf unterschiedliche Weise verarbeitet Datenaustausch erfolgt über Übergabepuffer Algorithmus- Parallelisierung 17
18 Synchrone Parallelität SIMD: alle Prozessoren führen gleichzeitig die gleiche Funktionalität auf den lokalen Daten aus Steuerrechner Daten und Befehle Einheit 1 Daten Speicher Netzwerk Einheit 2 Speicher Einheit n Speicher Parallelverarbeitung verschiedener Daten 18
19 Asynchrone Parallelität MIMD: Prozessoren führen autonom Programme aus mehrere Kontrollflüsse Einheit 1 Speicher Netzwerk Einheit 2 Speicher Einheit n Speicher lose gekoppelt, ohne gemeinsamen Speicher: Synchronisation erfolgt über Nachrichten 19
20 Asynchrone Parallelität MIMD, SISD (im Quasiparallelbetrieb): autonome Prozesse mehrere Kontrollflüsse Einheit 1 Einheit 2 Einheit n Netzwerk Speicher Speicher Speicher eng gekoppelt, mit einem gemeinsamen Speicher die Synchronisation erfolgt über globale Variable 20
21 Parallelverarbeitung Ebene: Merkmal: Programm Prozess - autonom - SISD quasiparallel - MIMD parallel Prozess - SISD quasiparallel - MIMD verteilt-parallel Ausdruck Instruktion - komponentenweise - SIMD, MISD - Datenparallelität Bit Thread innerhalb Instruktion - Datenparallelität - in jedem Computer grobkörnig Synchron Asynchron Verarbeitung: Teilprogramm Prozedur feinkörnig 21
22 Programm- und Prozessebene SISD: Programm 1 Programm n 1. n Prozess- Zeitscheibe MIMD: Programmlauf verzahnt im Quasiparallelbetrieb Programm Prozess 1 Prozess 2 Prozess Erhöhung der Rechenleistung Kommunikationsaufwand beachten realer Parallelbetrieb 22
23 Fokus der Vorlesung Asynchrone autonome Programme: teilen sich Betriebsmittel, werden zentral vom Betriebssystem synchronisiert kommunizieren in der Regel nicht miteinander Asynchrone kooperierende Prozesse, Threads: Kooperation erfordert Kommunikation Synchronisation ist Aufgabe des Anwendungsentwicklers Konzepte zur Synchronisationsprogrammierung 23
24 1.4. Anforderungen die Anforderungen an asynchrone parallele Prozesse ergeben sich aus den Anwendungen Anwendungsbereich: Kommerzielle Systeme (z.b. Banken) Technische Systeme - Eingebettete Systeme, z.b. Fahr- und Flugzeuge - Hybride Systeme, z.b. Kernkraftwerke, Leittechnik besonders Harte Qualitätsanforderungen betreffs - Effizienz, Zuverlässigkeit und Erweiterbarkeit des Programmsystems 24
25 Effizienz und Flexibilität Besonders bei eingebetteten Systemen: Effizienz bezüglich Speicherbedarf und Zeit kein unnötiger Overhead zugelassen (JAVA weniger geeignet, in der Praxis C, C++ und spezielle Prozessprogrammiersprachen) Flexibilität zur Einbindung von Steuergeräten unterschiedlichster Hersteller Schnittstellenvorgabe und einheitliche Synchronisationskonzepte einhalten 25
26 Zuverlässigkeit Besonders bei eingebetteten Systemen: katastrophale Folgen (z.b. Luftfahrt) können eintreten - bei Ausfall eines oder mehrerer Prozesse z.b. durch Verklemmung Betriebssysteme müssen Prozesse beobachten können, d.h. explizit deklarierte Prozesse - durch inkonsistente (z.b. überschriebene) Daten eigene Adressräume für Prozesse und sichere Synchronisation notwendig 26
27 Inhalt der Vorlesung Synchronisationskonzepte für parallele Prozesse Überblick zu Konzepten der Prozesserzeugung Abstraktion der Synchronisationsprobleme Synchronisation von Prozessen mit gemeinsamen Speicher Schlossvariable, Semaphoren, Monitore Synchronisation von Prozessen ohne gemeinsamen Speicher Nachrichtenaustausch, Rendezvous 27
28 Fragen 1. Wodurch unterscheidet sich asynchrone und synchrone Parallelität? 2. Was bedeutet Nebenläufigkeit in einem Algorithmus? Welcher Vorteil ergibt sich aus der Identifikation nebenläufiger Teile? 3. Warum müssen nebenläufig Prozesse identifizierbar sein? 4. Erklären Sie im Kontext nebenläufiger Prozesse die Begriffe Kooperation, Konkurrenz, Synchronisation, Kommunikation? 5. Was muss der Entwickler bei Nebenläufigkeit beachten? 28
29 Fragen 6. Was muss programmtechnisch möglich sein, um Nebenläufigkeit zu unterstützen? 7. Welche Anforderungen ergeben sich aus den strengen Qualitätsmerkmalen Zuverlässigkeit und Effizienz an parallele Programmsysteme? 29
30 Literatur Herrtwich, Ralf G, Hommel, Günter: Nebenläufige Programme. Springer-Verlag 1994 Dietrich Boles: Parallele Programmierung spielend gelernt mit dem Java-Hamster-Modell. Teubner Verlag
Kapitel 1 Parallele Modelle Wie rechnet man parallel?
PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische
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
MehrÜbersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?
Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS
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
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
MehrKapitel 5. Parallelverarbeitung. Formen der Parallelität
Kapitel 5 Parallelverarbeitung é Formen der Parallelität é Klassifikation von parallelen Rechnerarchitekturen é Exkurs über Verbindungsstrukturen Bernd Becker Technische Informatik I Formen der Parallelität
Mehr2 Rechnerarchitekturen
2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf
MehrÜbung I Echtzeitbetriebssysteme
Übung I Echtzeitbetriebssysteme a) Von welchen drei Faktoren hängt bei der Echtzeitverarbeitung das korrekte Ergebnis ab? b) Wann ist ein System echtzeitfähig? c) Was versteht man unter Harter und Weicher
MehrSysteme 1: Architektur
slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten
MehrBetriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)
Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) 1 Prozesse Bei Betriebssystemen stoßen wir des öfteren auf den Begriff Prozess als wahrscheinlich am häufigsten verwendeter und am unklarsten
MehrParalleles Rechnen. (Architektur verteilter Systeme) von Thomas Offermann Philipp Tommek Dominik Pich
Paralleles Rechnen (Architektur verteilter Systeme) von Thomas Offermann Philipp Tommek Dominik Pich Gliederung Motivation Anwendungsgebiete Warum paralleles Rechnen Flynn's Klassifikation Theorie: Parallel
MehrParallele Programmiermodelle
Parallele Programmiermodelle ProSeminar: Parallele Programmierung Semester: WS 2012/2013 Dozentin: Margarita Esponda Einleitung - Kurzer Rückblick Flynn'sche Klassifikationsschemata Unterteilung nach Speicherorganissation
MehrThreads Einführung. Zustände von Threads
Threads Einführung Parallelität : Zerlegung von Problemstellungen in Teilaufgaben, die parallelel ausgeführt werden können (einfachere Strukturen, eventuell schneller, Voraussetzung für Mehrprozessorarchitekturen)
MehrGliederung Seite 1. Gliederung
Gliederung Seite 1 Gliederung 1. Klassifikationen...6 1.1. Klassifikation nach der Kopplung der rechnenden Einheiten...6 1.1.1. Enge Kopplung...6 1.1.2. Lose Kopplung...6 1.2. Klassifikation nach der Art
MehrInformatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen
Fachschaft Informatik Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/40 Inhaltsverzeichnis I 1 Kommunikation
MehrFD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen
FD Informatik Mauch SSDL (WHRS) Reutlingen Algorithmen Überblick Definition Notwendigkeit Realisierung Grundkonzepte Umsetzung im Unterricht Algorithmus? Ein Algorithmus ist eine Verwaltungsvorschrift,
MehrKlausur Paralleles Rechnen (Richtwert 60 min) 10. Dez. 2015
Klausur Paralleles Rechnen (Richtwert 60 min) 10. Dez. 2015 Aufgabe 1: (30 Punkte) 1. Erläutern Sie kurz das PRAM-Modell? Was wird sehr idealistisch, was wird realistischer im Vergleich mit echten Parallelrechnern
MehrRechnergrundlagen SS 2007. 11. Vorlesung
Rechnergrundlagen SS 2007 11. Vorlesung Inhalt Evaluation der Lehre (Auswertung) Synchroner/asynchroner Systembus Kontrollfluss/Datenfluss RISC vs. CISC Speicherhierarchie Cache Lesen Schreiben Überschreiben
MehrArchitektur von Parallelrechnern 50
Architektur von Parallelrechnern 50 Rechenintensive parallele Anwendungen können nicht sinnvoll ohne Kenntnis der zugrundeliegenden Architektur erstellt werden. Deswegen ist die Wahl einer geeigneten Architektur
MehrEffizienz von Algorithmen
Effizienz von Algorithmen Letzte Bearbeitung: Jan 211 Ein wichtiger Aspekt bei Algorithmen sind seine "Kosten". Wir wollen uns hier ausschließlich mit der Laufzeit des gewählten Algorithmus beschäftigen.
MehrProseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme
wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v
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
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
MehrBeispiel Parallelisierung 2D Laplace. Lagrange Formulierung/Hyperelastisches Material. Finite Differenzen Diskretisierung
Simulation von physikalischen Feldern im menschlichen Körper Implementierung Gliederung Gliederung Wiederholung: Biomechanik III Statische elastomechanische Probleme Finite Elemente Diskretisierung Finite
MehrPraktische Übungen zu Computertechnik 2. Versuchsprotokoll
Praktische Übungen zu Computertechnik 2 Versuchsprotokoll Versuch: C2 Parallelrechner Versuchsdatum und -zeit: Donnerstag, 03. Juni 2010, 10-13 Uhr Betreuer: Adrian Knoth Name, Studiengang, Mat.-Nr.: Ralf
MehrProf. Dr. Uwe Schmidt. 21.August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (BInf 211, BTInf 211, BMInf 211, BWInf 211)
Prof. Dr. Uwe Schmidt 21.August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (BInf 211, BTInf 211, BMInf 211, BWInf 211) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen
MehrGrafikkarten-Architektur
> Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur
MehrParallele Algorithmen mit OpenCL. Universität Osnabrück, Henning Wenke,
Parallele Algorithmen mit OpenCL Universität Osnabrück, Henning Wenke, 2013-05-29 Kapitel Parallelität [1]: Parallel Programming (Rauber, Rünger, 2007) [2]: Algorithms Sequential & Parallel A Unified Approach
MehrVerteilte Systeme - Einleitung
Verteilte Systeme - Einleitung... alois.schuette@h-da.de Alois Schütte 15. Oktober 2014 1 / 36 Inhaltsverzeichnis Ziel dieses Teils der Veranstaltung ist es, die wichtigsten Begriffe zu erklären und Abgrenzungen
MehrComputational Biology: Bioelektromagnetismus und Biomechanik
Computational Biology: Bioelektromagnetismus und Biomechanik Implementierung Gliederung Wiederholung: Biomechanik III Statische Elastomechanik Finite Elemente Diskretisierung Finite Differenzen Diskretisierung
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
Mehr30 Jahre Server Von Transaktionssystemen zu Web-Services
30 Jahre Server Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl für Informatik 6 (Datenbanksysteme) Anlass! "Java (EJB,. ) ist ja so langsam!"! "Aber CICS ist inzwischen
Mehr(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone
MehrVerhaltensbeschreibung und Spezifikationssprachen
TECHNISCHE UNIVERSITÄT ILMENAU Integrierte Kommunikationssysteme http://www.tu-ilmenau.de/iks Verhaltensbeschreibung und Spezifikationssprachen Verhaltensmodelle Zustandsautomaten (FSM) Nicht-deterministische
MehrProf. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Einleitung - Th Letschert FH Gießen-Friedberg
Prof. Dr. Th. Letschert CS5001 Master of Science (Informatik) - - Th Letschert FH Gießen-Friedberg Modulnr.: CS5001 Verwendbar : Master of Science (Informatik) Master of Science (Wirtschaftsinformatik)
MehrKlausur zum Kurs Betriebssysteme (1802) am 18. September 2010
Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Klausurort: Vorname Name: Adresse: Matrikelnummer:
MehrDatenparallelität. Bildverarbeitung Differentialgleichungen lösen Finite Element Methode in Entwurfssystemen
Datenparallelität PPJ-38 Viele Prozesse bzw. Prozessoren führen zugleich die gleichen Operationen auf verschiedenen Daten aus; meist Datenelemente in regulären Datenstrukturen: Array, Folge Matrix, Liste.
MehrÜbung 1. Letzte Änderung: 5. Mai 2017
Übung 1 Letzte Änderung: 5. Mai 2017 Abhängigkeitsanalyse Synthese Mul prozessor Mul computer Compiler Parallelismustest Vektorrechner Rechenfelder Op mierung Flynns Schema Modelle Theorie Parallele Systeme
MehrSysteme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Maren Bennewitz 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten
MehrProjektseminar Parallele Programmierung
HTW Dresden WS 2014/2015 Organisatorisches Praktikum, 4 SWS Do. 15:00-18:20 Uhr, Z136c, 2 Doppelstunden o.g. Termin ist als Treffpunkt zu verstehen Labore Z 136c / Z 355 sind Montag und Donnerstag 15:00-18:20
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
MehrSysteme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Wolfram Burgard
Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Wolfram Burgard 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten
MehrGrundlagen der Parallelisierung
Grundlagen der Parallelisierung Philipp Kegel, Sergei Gorlatch AG Parallele und Verteilte Systeme Institut für Informatik Westfälische Wilhelms-Universität Münster 3. Juli 2009 Inhaltsverzeichnis 1 Einführung
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
MehrVorlesung Programmieren
Vorlesung Programmieren Einführung 20.10.2014 Prof. Dr. Ralf H. Reussner Version 1.0 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), FAKULTÄT
MehrJohann Wolfgang Goethe-Universität
Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory
MehrVorlesung Programmieren
Vorlesung Programmieren Einführung 21.10.2015 Prof. Dr. Ralf H. Reussner Version 1.0 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), FAKULTÄT
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
MehrÜberblick. Einleitung. Befehlsschnittstelle Mikroarchitektur Speicherarchitektur Ein-/Ausgabe Multiprozessorsysteme,...
Überblick Einleitung Lit., Motivation, Geschichte, v.neumann- Modell, VHDL Befehlsschnittstelle Mikroarchitektur Speicherarchitektur Ein-/Ausgabe Multiprozessorsysteme,... Kap.6 Multiprozessorsysteme Einsatz
MehrParallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität
Parallelrechner (1) Motivation: Bedarf für immer leistungsfähigere Rechner Leistungssteigerung eines einzelnen Rechners hat physikalische Grenzen: Geschwindigkeit von Materie Wärmeableitung Transistorgröße
MehrParallelverarbeitung. Parallelverarbeitung. 2. Grundlagen. 2. Grundlagen. 2.1 Parallelität
2. Grundlagen Parallelverarbeitung SS 2005 Inhalt Parallelität Ebenen der Parallelität Parallelrechnerarchitekturen Parallele Programmiermodelle 18.04.05 Roland Wismüller, Univ. Siegen roland.wismueller@uni-siegen.de
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften
MehrEinführung in die Objektorientierte Programmierung Vorlesung 2: Mikroskopisches und Makroskopisches Computational Thinking.
Einführung in die Objektorientierte Programmierung Vorlesung 2: Mikroskopisches und Makroskopisches Computational Thinking Sebastian Küpper Das makroskopische Modell: Objekte Objekt: Abbild konkreter individuell
Mehr1.1 Dimensionen der Parallelität
1 1 Einführung Die meisten Computer können heute verschiedene Anweisungen parallel abarbeiten. Um diese zur Verfügung stehende Ressource auszunutzen, müssen wir sie bei der Softwareentwicklung entsprechend
MehrI Grundlagen der parallelen Programmierung 1
vii I Grundlagen der parallelen Programmierung 1 1 Einführung...... 3 1.1 Paradigmenwechsel in der Softwareentwicklung..... 4 1.2 Anwendungsbereiche...... 5 1.3 Parallelität in der Hardware..... 5 1.3.1
MehrVorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme
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
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
MehrSicherer MAC für Nachrichten beliebiger Länge
Sicherer MAC für Nachrichten beliebiger Länge Korollar Sicherer MAC für Nachrichten beliebiger Länge Sei F eine Pseudozufallsfunktion. Dann ist Π MAC2 für Π = Π MAC sicher. Nachteile: Für m ({0, 1} n 4
MehrAnwendung der Roblet -Tec hnol ogie
Anwendung der Roblet -Tec hnol ogie genrob.com Hagen Stanek stanek@genrob.com Universität Hamburg Daniel Westhoff westhoff@informatik.uni-hamburg.de Inhalt 1. Einführung 2. Roblet -Technologie: Roblets
MehrParallele Prozesse. Prozeß wartet
Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:
MehrThomas Schirrmann Nebenläufigkeit. Nebenläufigkeit. Vortrag Thomas Schirrmann. Seminar Systementwurf Dozentin Daniela Weinberg
Nebenläufigkeit Vortrag Seminar Systementwurf Dozentin Daniela Weinberg 1 Gliederung 1. Einführung 2. Modellierung 2.1. POMSET 2.2. Transitionssystem 2.3. Petrinetz 2.4. abstraktes nebenläufiges Programm
MehrVorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.
Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte
MehrÜberblick und Aufgaben
Aufgaben eines Betriebssystems Komponenten und Benutzer eines Rechnersystems Endbenutzer Applikationen Middleware Applikations- Programmierer System- Programmierer Betriebssystem Hardware 5 Aufgaben eines
MehrSeminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1
\ Inhalt Seite 1 \ Inhalt SIMD Kurze Rekapitulation 3Dnow! (AMD) AltiVec (PowerPC) Quellen Seite 2 \ Wir erinnern uns: Nach Flynn s Taxonomie kann man jeden Computer In eine von vier Kategorien einteilen:
MehrBetriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen)
Betriebssysteme G: Parallele Prozesse (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) 1 Allgemeine Synchronisationsprobleme Wir verstehen ein BS als eine Menge von parallel
MehrBetriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme
Grundzüge der Informatik IV: Betriebssysteme Thomas Fahringer Institut für Informatik Universität Innsbruck V Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick V 2 Was ist
MehrUNABHÄNGIGER LASTEN. Vorlesung 9 BALANCIERUNG DYNAMISCHER. Graphenalgorithmen und lineare Algebra Hand in Hand
Vorlesung 9 BALANCIERUNG DYNAMISCHER UNABHÄNGIGER LASTEN 266 Lastbalancierung Motivation! Ein paralleles System besteht aus! verschiedenen Recheneinheiten,! die miteinander kommunizieren können! Warum
MehrMaik Zemann. Flynn s Taxonomie. Parallele Rechnerarchitekturen SS 2004 Technische Fakultät Universität Bielefeld. 3. Mai 2004 Flynn's Taxonomie 1
Maik Zemann Flynn s Taxonomie Parallele Rechnerarchitekturen SS 2004 Technische Fakultät Universität Bielefeld 3. Mai 2004 Flynn's Taxonomie 1 Gliederung Einleitung Gliederung Flynn s Taxonomie Das SISD-Modell
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 17. JAVA Kommunikation von Threads 1 Motivation
MehrRechnerarchitektur SS 2013
Rechnerarchitektur SS 2013 Parallel Random Access Machine (PRAM) Michael Engel TU Dortmund, Fakultät für Informatik Teilweise basierend auf Material von Gernot A. Fink und R. Yahyapour 6. Juni 2013 Parallel
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
Mehr2. Algorithmen und Algorithmisierung Algorithmen und Algorithmisierung von Aufgaben
Algorithmen und Algorithmisierung von Aufgaben 2-1 Algorithmisierung: Formulierung (Entwicklung, Wahl) der Algorithmen + symbolische Darstellung von Algorithmen Formalismen für die symbolische Darstellung
Mehr3. Übung zur Vorlesung Verteilte Betriebssysteme
UNIVERSITÄT ULM Fakultät für Informatik Verteilte Systeme Prof. Dr. Peter Schulthess Markus Fakler 3. Übung zur Vorlesung Verteilte Betriebssysteme 21.11.2007 Aufgabe 1: Verteilte Algorithmen (3 + 1 +
MehrEinführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme
Teil I Einführung Überblick 1 2 Geschichte der Informatik 3 Technische Grundlagen der Informatik Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme 4 Daten, Informationen, Kodierung
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrDr. Monika Meiler. Inhalt
Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer
Mehr2 Reproduktion oder Verwendung dieser Unterlage bedarf in jedem Fall der Zustimmung des Autors.
1 Definition Definition nach Tanenbaum/van Steen Ein Verteiltes System ist eine Ansammlung von unabhängigen Rechnern, die für seine enutzer wie ein einzelnes Computersystem aussieht. Verteilte Systeme
MehrInformatik Allgemeines Einführung
Informatik Allgemeines Seite 1 Allgemeines Organisation Vorlesungen / Übungen / (Programmier-) Praktikum Leistungsbewertung 2 Klausuren Seite 2 Allgemeines Dozent Dr. Th. Letschert Thema Informatik Historie,
MehrHyperrekonfigurierbare Hardware - Modelle, Partitionierungsprobleme und Schedulingstrategien
Hyperrekonfigurierbare Hardware - Modelle, Partitionierungsprobleme und Schedulingstrategien Sebastian Lange Martin Middendorf Parallelverarbeitung und Komplexe Systeme Inhalt Einführung Hyperrekonfiguration
MehrGrundlagen: Überblick
Grundlagen: Überblick Verteilte Systeme Definition Grundbegriffe Kommunikation Klassifikation von Fehlern Begriffe Fehlerarten Analyse von Algorithmen Korrektheit Komplexität Verteilte Algorithmen (VA),
MehrParallele Programmabläufe: R S
REFERAT Parallele Programmabläufe: R S.242-246 1.Einführung 2.Synchronisation 2.1.Monitor-Konzept 2.2.Rendez-vous-Konzept 2.3.Bolt-Synchronisation 3.Behandlung Ausnahmesituationen 1.Einführung: Im Bereich
MehrKlausur. Betriebssysteme SS
Klausur Betriebssysteme SS 2014 11.07.14 Vorname: Nachname: Matrikelnummer: Studienfach: Bitte tragen Sie auf jeder Seite Ihre Matrikelnummer ein und überprüfen Sie diese Klausur auf Vollständigkeit (19
MehrBetriebssysteme. Wintersemester Kapitel 2 Prozess und Threads. Patrick Kendzo
Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme Zusammenfassung
MehrEinführung in die Informatik I Kapitel II.1: Suchen
1 Einführung in die Informatik I Kapitel II.1: Suchen Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik und Informatik Fakultät
MehrArchitektur paralleler Plattformen
Architektur paralleler Plattformen Freie Universität Berlin Fachbereich Informatik Wintersemester 2012/2013 Proseminar Parallele Programmierung Mirco Semper, Marco Gester Datum: 31.10.12 Inhalt I. Überblick
MehrModellierung verteilter Systeme Grundlagen der Programm und Systementwicklung
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Sommersemester 2012 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. M. Spichkova, J. Mund, P. Neubeck Lehrstuhl Software
MehrKlausur Informatik II
Klausur Informatik II Sommersemester 23 Bearbeitungszeit 2 Minuten Name: Vorname: Matrikelnummer: Bei der Klausur sind keine Hilfsmittel (Skripten, Taschenrechner, etc.) erlaubt. Schreiben Sie bitte mit
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
Mehrm-files sind Folgen von MATLAB-Anweisungen oder Daten-Files.
MATLAB m-files m-files sind Folgen von MATLAB- oder Daten-Files. Erstellen von m-files Über File New M-file wird ein Texteditor geöffnet. Dort wird das m-file als ASCII-File erzeugt und unter name.m im
MehrProzessdatenverarbeitung II Echtzeit-Programmierung
Fachhochschule Würzburg-Schweinfurt Wintersemester 2003/2004 Diplomfachprüfung im Fach Prozessdatenverarbeitung II Echtzeit-Programmierung (Prof. Dr.-Ing. Ludwig Eckert) Datum: 30. 01.2004 Dauer: 45 Minuten
MehrJava I Vorlesung 1 Einführung in Java
Java I Vorlesung 1 Einführung in Java Alexander Koller koller@coli.uni-sb.de 26.4.2004 Problem Algorithmus Programm Programmiersprachen Warum Java? Unser erstes Java-Programm Organisatorisches Was heißt
MehrECDL MODUL COMPUTING. Syllabus Version 1.0
ECDL MODUL COMPUTING Syllabus Version 1.0 DLGI Dienstleistungsgesellschaft für Informatik Am Bonner Bogen 6 53227 Bonn Tel.: 0228-688-448-0 Fax: 0228-688-448-99 E-Mail: info@dlgi.de, URL: www.dlgi.de In
Mehr11.1 Inhalte der Vorlesung Was ist ein Betriebssystem Zwei Sichten. Was ist ein Betriebssystem Zwei Sichten (Forts.) Abstraktionen
Betriebssysteme Sommersemester 2018 Betriebssysteme 11. Kapitel Resümee Was ist ein Betriebssystem Zwei Sichten 1. Virtuelle Maschine (Top-Down Sicht): Bietet dem Programmierer eine abstrakte Sicht auf
MehrPraktische Informatik I
Praktische Informatik I WS 2005/2005 Prof. Dr. Wolfgang Effelsberg Lehrstuhl für Praktische Informatik IV Universität Mannheim 1. Einführung 1-1 Inhaltsverzeichnis (1) 1. Einführung 1.1 Was ist Informatik?
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
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
MehrJava-Grundkurs für Wirtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich
MehrParallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff
Parallel Computing Einsatzmöglichkeiten und Grenzen Prof. Dr. Nikolaus Wulff Vorüberlegungen Wann ist paralleles Rechnen sinnvoll? Wenn die Performance/Geschwindigkeit steigt. Wenn sich größere Probleme
Mehr