Kommunikationsmodelle
|
|
|
- Rainer Fuhrmann
- vor 8 Jahren
- Abrufe
Transkript
1 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)
2 Grundlegende Kommunikationsparadigmen Klassisches Send/Receive Erweitertes Send/Receive (Virtueller) gemeinsamer Speicher: Virtual Shared Memory Methodenfernaufruf: Remote Procedure Call (RPC) Active Messages (AM) Bulk Synchronous Parallelism (BSP) Je nach verwendetem Paradigma sind andere Optimierungen möglich 2
3 Klassisches Send/Receive Sender Send() Automatischer Transfer Empfänger Receive() Explizite Kommunikationsaufrufe. Zweiseitige Kommunikation (Sender und Empfänger müssen beide aktiv werden.). Auch einseitige Variante: Sender kann Paket in Empfängerbereich schreiben ohne explizite Empfangsoperation (Lesen analog). Empfänger muss Bereich vorher für entfernten Zugriff freigeben. Synchrone und asynchrone Version. Bei synchroner Version kann der Sender die Laufzeit der Kommunikation nicht anderweitig verwenden. Pufferung Vorwiegend nur Kommunikation, lediglich Rendezvous von Sender- und Empfängerprozess. 3
4 Synchrones Send/Receive: Einzelschritte Sender Sendewunsch (Länge) empfangsbereit Empfänger Sender muss zwischenzeitlich warten Keine Überlappung von Kommunikation und Berechnung möglich Daten Bestätigungen 4
5 Zu bedenken Adressierung beim Sender: Endpunkt ( Port ), Prozess, Knoten. Pufferung beim Empfänger: Wie viele Daten können gesendet werden, bis zum ersten Mal Receive durchgeführt wird? Flusskontrolle: wie sorgt man dafür, dass der Sender wartet, wenn Puffer voll sind? Empfänger blockiert, falls keine Daten vorhanden. Soll Möglichkeit zum nicht-blockierenden Abfragen angeboten werden? Kann der Empfänger auf Pakete von bestimmten Sendern warten? Auf einen bestimmten Pakettyp? 5
6 Erweitertes Send/Receive Virtuelle Maschine aus logischen Knoten Spezielle Gruppenkommunikationsoperationen Rundruf (broadcast) Synchronisation Verteilen (scatter) Einsammeln (gather) jeweils an alle Knoten oder an Knotengruppe Bestandteil der MPI-Bibliothek 6
7 (Virtueller) Gemeinsamer Speicher: Virtual Shared Memory Gemeinsamer Speicher oder Adressraum Store Sender Load Empfänger Implizite Kommunikationsaufrufe Einseitige Kommunikation Synchronisationsprimitive (Semaphore, Mutex, ) im Anwendungsprogramm nötig, um geordnete Zugriffe auf gemeinsam genutzte Speicherstellen zu gewährleisten Konsistenzmodell (s.u.) für Kommunikationssystem wichtig Sender kann in der Regel weiterarbeiten, während Kommunikation zu Ende geführt wird; Sender und Empfänger laufen unabhängig. 7
8 Zu bedenken Bei verteiltem Speicher muss empfängerseitig ein Vorrat an Kontrollfäden (Thread-Pool) vorgehalten werden, die die eingehende Pakete verarbeiten. Diese Aufgabe kann auch von einer spezialisierten Hardware ausgeführt werden. Sync-Mechanismen/Monitore müssen effizient realisiert werden. Was passiert, wenn ein eingehendes Paket wegen einer Sperre nicht im Speicher abgelegt werden darf? Wie viel Pufferung ist möglich? Wie komfortabel/teuer soll das Cache-Konsistenz-Protokoll sein, das der Anwendung angeboten wird? 8
9 (Entfernter) Methodenfernaufruf (Remote) Procedure Call (RPC) (1) Sender Request Response Empfänger RPC() Process() Explizite Kommunikationsaufrufe Einseitige Kommunikation Bei synchroner Semantik wartet der Sender auf das Ergebnis. Es ist keine Parallelität möglich Auch: Asynchrone Variante Empfänger muss Kontrollfäden vorhalten, die mit jedem Aufruf (Methoden-Nummer, Parameter-Codierung) umgehen können Zeiger können nur mit besonderen Maßnahmen gesendet werden ( globaler Zeiger, Fernzugriff) 9
10 (Entfernter) Methodenfernaufruf (Remote) Procedure Call (RPC) (2) Sender Request Response Empfänger RPC() Process() Bei kurzen Methoden kann Sender ggf. aktiv auf die Antwort warten statt sich schlafen zu legen, d.h. die Kontrolle an das Betriebssystem zurückzugeben. Dies spart die Zeit für zwei Kontextwechsel, und ermöglicht die volle Ausnutzung der dem Sender zur Verfügung stehenden Zeitscheibe. Mit den kommunizierten Daten wechselt auch der Programmablauf vom Sender-Rechner auf den Empfänger- Rechner. 10
11 Zu bedenken Im objektorientierten Bereich: Proxy-Objekte, die den entfernten Aufruf wie einen lokalen aussehen lassen. Leitungsprotokoll (Serialisierung) für Parameter. Empfänger muss einen Vorrat an Kontrollfäden vorhalten, die Pakete entgegen nehmen, dekodieren und dann die Funktion im Benutzerbereich aufrufen. Pool-Größe? Zu kleiner Pool führt dazu, dass nicht alle Aufrufe abgearbeitet werden können. Zu großer Pool = Ressourcen- Verschwendung. Wechsel der Kontrollfadenidentität kann (z.b. in Java) Probleme bei maschinenübergreifender Synchronisierung machen. A wird gesperrt durch Monitor. Dann Fernaufruf an B. B ruft zurück an A, und sollte Zugriff erhalten, hat aber andere Identität (nämlich die eines der Kontrollfäden aus dem Empfangspool). 11
12 Active Messages (AM) (1) Sender Empfänger (System) Empfänger AM_Request() Launch_Handler() Datenübergabe Grundidee: Jeder Paketkopf enthält die Adresse eines kurzen Empfangsprogramms (Handler), das beim Empfänger im Benutzerbereich ausgeführt wird. Ähnlich einer Unterbrechung, jedoch unprivilegiert. Empfangsprogramm wird durch Unterbrechung oder durch Abfrage gestartet. liest die Paketdaten aus dem Netz und speichert sie in den Datenstrukturen der Anwendung. Explizite Kommunikationsaufrufe Einseitige Kommunikation 12
13 Active Messages (AM) (2) Sender Empfänger (System) Empfänger AM_Request() Launch_Handler() Datenübergabe Implizite Kommunikation auf Empfängerseite. Daten werden automatisch in die Datenstrukturen eingearbeitet. Empfangsprogramm muss Synchronisationsprimitive verwenden, um geordneten Zugriff auf Anwendungsdaten zu gewährleisten. Der Sender kann in der Regel weiterarbeiten, während Kommunikation zu Ende geführt wird. 13
14 Zu bedenken Kleinerer Kontrollfaden-Pool Benutzer-Funktionen greifen auf Netzwerk-Karte zu Sicherheit/Schutz? Wie stellt man sicher, dass Benutzer-Funktionen die Pakete auch abnehmen? Sonst könnte die Kommunikation blockieren. 14
15 Bulk Synchronous Parallelism (BSP) (1) Ein BSP-Programm ist in Superschritte (engl. supersteps) gegliedert In einem Superschritt rechnen die Prozessoren und stoßen Kommunikation an. Der Empfang wird aber erst zum Ende des Superschritts garantiert. Dazu am Superschritt-Ende eine Synchronisationsbarriere (für alle oder eine Gruppe der Prozessoren.) D.h., es wird auf die Ankunft aller gesendeten Botschaften gewartet. Prozess Kommunikation Sync-Barriere Empfang 15
16 Bulk Synchronous Parallelism (BSP) (2) Theoretischer Hintergrund Die PRAM-Annahme, dass eine Kommunikationsoperation genau eine Zeiteinheit dauert, ist unrealistisch. Dazu später mehr. Aber: die meisten Netzwerke können parallel zu den Prozessoren arbeiten. d.h. Superschritte werden möglichst so konstruiert, dass sie gerade so viel Kommunikationszeit benötigen, wie für die Rechnung nötig ist. 16
17 Bulk Synchronous Parallelism (BSP) (3) Kommunikation Empfang Prozess Sync-Barriere Nächste Sync-Barriere besser schon hier! Sender und Empfänger laufen unabhängig (bis auf regelmäßige Synchronisationen) 17
18 Zu bedenken Effiziente Synchronisierung nötig (per Baum). Pufferung der gesamten Kommunikation eines Superschritts erforderlich. Der Sender kann/soll (!) weiterarbeiten, während die Kommunikation zu Ende geführt wird. Effizienzeinbußen durch zu späte Synchronisationsbarrieren. Vermeidbar, falls die Rechenschritte sofort nach ihrem Abschluss selbst die Synchronisation starten. 18
(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
Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)
Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum
IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only
IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES 2016 Software AG. All rights reserved. For internal use only DIGITAL BUSINESS APPLICATIONS DRIVE THE DIGITAL BUSINESS Partner Lieferanten Kunden SaaS
Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt.
Sommersemester 211 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 11 vom 2.6.211 bis 24.6.211 Aufgabe 1: Interprozesskommunikation In der Vorlesung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
Parallele 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:
Vorlesung "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
Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?
Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte
3 Programmiermodelle für parallele und verteilte Systeme
3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von
Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie
Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation
Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation 09.05.15 1 Literatur [6-1] http://php.net/manual/de/book.sockets.php [6-2] http://de.wikipedia.org/wiki/socket_(software) [6-3] http://php.net/manual/de/book.network.php
Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )
Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige
Protected User-Level DMA in SCI Shared Memory Umgebungen
Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen
OpenMP am Beispiel der Matrizenmultiplikation
OpenMP am Beispiel der Matrizenmultiplikation David J. Meder, Dr. Victor Pankratius IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe
Synchronisation und Kommunikation über Nachrichten
Synchronisation und Kommunikation über Nachrichten meist bei verteiltem Speicher, kein gemeinsamer Speicher -> keine globalen Variablen keine zu schützenden Datenbereiche Kommunikation über Kanäle und
Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch
Nebenläufige Programmierung
Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource
Grundlagen Rechnerarchitektur und Betriebssysteme
Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,
Vermittlungsschicht ( network layer )
Vermittlungsschicht ( network layer ) ggf. Auswahl eines Subnetzes für die folgende Übertragungsstrecke Auswahl eines guten Transportweges (Routing) im gewählten Subnetz statisch: fest für alle Pakete
CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)
Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 7 Th Letschert FH Gießen-Friedberg Ressourcen Verwaltung passive Ressourcen aktive Ressourcen
Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:
Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6
8.4 Das Andrew File System 393 8.5 Ausblicke 404 8.6 Zusammenfassung 410 Übungen 411
Inhaltsverzeichnis Vorwort 11 Aufgabenbereiche und Leserschaft 11 Aufbau dieses Buches 12 Literatur 12 Änderungen in dieser Auflage 13 Danksagungen 14 Web-Site 14 Kapitel 1 Charakteristische Eigenschaften
Uberblick Verteilte Synchronisation Zeit in verteilten Systemen Logische Uhr Synchronisation Aufgabe 6 VS- Ubung (SS15) Verteilte Synchronisation 10 1
Überblick Verteilte Synchronisation Zeit in verteilten Systemen Logische Uhr Synchronisation Aufgabe 6 VS-Übung (SS15) Verteilte Synchronisation 10 1 Zeit in verteilten Systemen Ist Ereignis A auf Knoten
Wie kann man die Korrektheit reaktiver Systeme gewährleisten?
Korrektheit durch modulare Konstruktion Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Ansatz: Durch systematische Konstruktion (Schlagwort: strukturierte Programmierung für parallele Programmiersprachen)
Domänenmodell: Fadenkommunikation und -synchronisation
Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4
Wie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3
UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 WebSphere MQ Teil 3 Trigger el0100 Copyright W. G. Spruth,
Dr. 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
Java RMI Remote Method Invocation
Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert
Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik)
Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfer: Prof. Dr. Haake Semester der Prüfung: WS 10/11 Datum der Prüfung: 02.05.2011 Dauer: ca. 25 min Note: 2.0 Hier
A 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....................................
Enterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
Paralleles 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
VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel
VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte
Multiuser Client/Server Systeme
Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle
Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?
Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer [email protected] http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
VORSTELLUNG DER DIPLOMARBEIT
1 VORSTELLUNG DER DIPLOMARBEIT Thomas Werner Inhaltsverzeichnis 2 Thema Aufgabenstellung Anwendungsdebugging Threads Remote Debugging Implementierung Ausblick Quellen 3 Thema Untersuchung von Funktionsabläufen
Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus
Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel ([email protected]) Möglichkeiten, Threads zu definieren Bildung einer
.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering
.NET Networking 1 Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros Institut für Informatik Software & Systems Engineering Agenda Motivation Protokolle Sockets Anwendung in.net
Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. 9. Verteilte Algorithmen
Vorlesung "Verteilte Systeme" Sommersemester 999 Verteilte Systeme 9. Verteilte Algorithmen Bereits behandelte Bereiche Logische Uhren Keine globale Uhrensynchronisation möglich (Theorie) Kausalitätserhaltender
Operating System Kernels
Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking
Client/Server-Systeme
Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante
Betriebssysteme. 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
Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44
Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock
CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1
CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig
Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern)
Klausur Verteilte Systeme 15.6. R120A 8:00-9:30 5 Aufgaben, 50 Punkte (8 12 pro Aufgabe) 45-50 1.0 44 1.1 35 2.0 25 3.0 15 4.0 http://www.bts.fh-mannheim.de Aufgaben: (dazugehörige Kapitel / Seitenangaben
RTOS Einführung. Version: Datum: Autor: Werner Dichler
RTOS Einführung Version: 0.0.1 Datum: 20.07.2013 Autor: Werner Dichler Inhalt Inhalt... 2 RTOS... 3 Definition... 3 Anforderungen... 3 Aufgaben... 3 Eigenschaften... 4 Einteilung der Betriebssysteme...
Visualisierung paralleler bzw. verteilter Programme
Seminar Visualisierung in Informatik und Naturwissenschaften im SS 1999 Visualisierung paralleler bzw. verteilter Programme Holger Dewes Gliederung Zum Begriff Motivation PARADE Beispiel 1: Thread basierte
Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06
Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Block Verteilte Systeme und Middleware 1. Beschreiben Sie die Entwicklung verteilter Systeme von einer Zentralisierung bis zu Peer-to-Peer. Nicht
Verteilte Systeme. Verteilte Systeme. 9 Verteilte Dateisysteme SS 2015
Verteilte Systeme SS 2015 Universität Siegen [email protected] Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i
Rechnernutzung in der Physik. Betriebssysteme
Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:
Musterlösung Klausur SS 2004
Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:
Kommunikation von Prozessen und Threads
Kommunikation von Prozessen und Threads Sommersemester 2015 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze
Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance
Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition
Einführung in das parallele Programmieren mit MPI und Java
Einführung in das parallele Programmieren mit und Java Seite 1 Übersicht Parallele Prozesse und Erste Schritte mit Kollektive Kommunikation Weitere Möglichkeiten Seite 2 Literatur (1) Homepage des 2-Forums
Verteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
Verbessertes Konzept: Monitore
Verbessertes Konzept: Monitore Ein Nachteil von Semaphoren ist die Notwendigkeit zur expliziten Anforderung P und Freigabe V des kritischen Bereiches durch den Programmierer Vergißt der Entwickler z.b.
2 Rechnerarchitekturen
2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf
Ein Laufzeitsystem für hochgradig parallele Simulationen
Ein Laufzeitsystem für hochgradig parallele Simulationen Luc Bläser ETH Zürich / LBC Informatik Seminar für Verkehrssimulation TU Berlin, 6. Juni 2008 Motivation Parallele Simulation Selbstaktive Agenten
Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007
Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung
Parallele und verteilte Programmierung
Thomas Rauber Gudula Rünger Parallele und verteilte Programmierung Mit 165 Abbildungen und 17 Tabellen Jp Springer Inhaltsverzeichnis 1. Einleitung 1 Teil I. Architektur 2. Architektur von Parallelrechnern
Ü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
Client/Server-Systeme
Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen
Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in
... Client 1. Request. Reply. Client 2. Server. Client n. Günther Bengel Grundkurs Verteilte Systeme 3. Auflage Vieweg Verlag 2004 ISBN 3-528-25738-5
1 2... n Abbildung 2-1: s und C + S Synchrone Kommunikation Warte auf Zurückgestellte synchrone Kommunikation Arbeite weiter Überprüfe periodisch das Vorliegen des Asynchrone Kommunikation Registriere
Message Oriented Middleware am Beispiel von XMLBlaster
Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann [email protected] bielefeld.de
Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016
Verteilte Systeme SS 2016 Universität Siegen [email protected] Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i
Grundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
Übungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
Inhaltsverzeichnis 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
Kurz: Stimme meinen Vorrednern zu: Angenehme Atmosphäre. Eher ein Fachgespräch als eine Prüfung. Eindeutig zu empfehlen
Kursversion WS: 10/11 02.2012 Kurs 1727 Kurz: Stimme meinen Vorrednern zu: Angenehme Atmosphäre. Eher ein Fachgespräch als eine Prüfung. Eindeutig zu empfehlen Grundlagen Parallele Programmierung? Was
Interaktionsdiagramme in UML
Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm
Computeranwendung in der Chemie Informatik für Chemiker(innen) 4. Netzwerke
Computeranwendung in der Chemie Informatik für Chemiker(innen) 4. Netzwerke Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL4 Folie 1 Grundlagen Netzwerke dienen dem Datenaustausch
Geräteverwaltung: Einführung
Geräteverwaltung: Einführung Die Ziele einer Geräteverwaltung sind: Einfache Softwareschnittstelle Gleiche Software Schnittstellen für alle Geräte eines Gerätetyps z.b.: unabhängig vom Soundkartenhersteller
Projektseminar 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
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 31.01.2013 Algorithmen für externen Speicher INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
^ 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
OpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009
- Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 Grundlagen der Parallelen Programmierung Hardware Threads vs. Prozesse Kritische Abschnitte Lange
Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)
Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats
SC18IM700-Tester v1.0. 1. Einleitung
SC18IM700-Tester v1.0 1. Einleitung Der SC18IM700-Tester ist ein mittels Visual Studio.NET und in der Programmiersprache C# entwickeltes Programm. Es lehnt sich an der Funktion eines einfachen Terminal-
Betriebssysteme (BTS)
13.Vorlesung Betriebssysteme (BTS) Christian Baun [email protected] Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 31.5.2007 Wiederholung vom letzten Mal Deadlocks und Verhungern
I 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
Einführung in COM. 04.04.2006 Seite 1
Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006
Smartphone Entwicklung mit Android und Java
Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de [email protected] Was ist Android Offene Plattform für mobile Geräte Software Kompletter
Remote Method Invocation
Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf
Man liest sich: POP3/IMAP
Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und
WS 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
6.1.2 Sequentielle Konsistenz (Lamport 1979)
6.1.2 Sequentielle Konsistenz (Lamport 1979) Def.: Sequentielle Konsistenz (sequential consistenc): Effekt/Ergebnisse einer verteilten Programmausführung auf repliziertem Objekt = Effekt/Ergebnisse einer
Leistungskurs C++ Einführung
Leistungskurs C++ Einführung Martin Knopp, Johannes Feldmaier, Stefan Röhrl 18.10.2016 Folie 1/18 LK C++: Einführung Martin Knopp, Johannes Feldmaier, Stefan Röhrl 18.10.2016 Das Team Martin Knopp [email protected]
Parastation3. Design und Implementierung. ALiCE-Seminar 13. November 2001. Thomas Moschny
Parastation3 Design und Implementierung ALiCE-Seminar 13. November 2001 Thomas Moschny Inst. f. Programmstrukturen und Datenorganisation, Universität Karlsruhe Parastation Cluster Host Host Host Host Myrinet
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme
Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen
Center for Information Services and High Performance Computing (ZIH) Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Hochgeschwindigkeitskommunikationen 13. Juli 2012 Andy
