Algorithmen für eingebettete Systeme
|
|
- Frank Möller
- vor 5 Jahren
- Abrufe
Transkript
1 Algorithmen für eingebettete Systeme 3. Wechselseitiger Ausschluss Sommersemester 0 Folien zur Vorlesung von Dr. Mathias Pacher
2 Inhalt 3.. Motivation und Anforderungen 3.. Broadcast-Algorithmus 3.3. Verbesserter Broadcast-Algorithmus 3.. Token-Ring-Algorithmus 3.. Lift-Algorithmus 3.6. Künstliches Hormonsystem 3.7. Ausblick
3 3.. Motivation und Anforderungen Motivation: Koordination des exklusiven Zugriffs auf Ressourcen. Beispiel: Exklusiver Zugriff auf Datei oder Drucker. P P X Drucker Vernünftige Annahmen: Meist: Exklusives Zugriffsrecht durch einen Prozess. Verallgemeinerung: Gleichzeitiger Zugriff durch maximal n Prozesse. Prozess mit Zugriffsrecht gibt dieses nach endlicher Zeit ab.
4 Anforderungen Sicherheit Zu jedem Zeitpunkt darf höchstens ein Prozess zugreifen. Verklemmungsfreiheit Es darf nicht geschehen, dass kein Prozess aktuell einen exklusiven Zugriff hat, und kein Prozess diesen auch erhalten kann. Fairness Wenn ein Prozess exklusiven Zugriff wünscht, dann erhält er ihn auch nach einer endlichen Zeit. Sicherheit und Verklemmungsfreiheit notwendig für jeden Algorithmus, Fairness wünschenswert. 3
5 Zentrale Systeme Realisierung durch Betriebssystemoperationen: P P Lock(S) Lock(S) Kritischer Abschnitt Kritischer Abschnitt Unlock(S) Unlock(S) Verwendete Mechanismen: Busy Waiting Semaphoren Monitore Prinzip: Exklusiver Zugriff auf gemeinsamen Speicher. Wie geht das in verteiltem System?
6 3... Zentralisierte Lösung Ein Prozess wird für eine bestimmte Ressource zum Koordinator ernannt. Prozesse, die die Ressource benötigen, fragen beim Koordinator an. Zuteilung durch den Koordinator. Jeder Prozess meldet die Freigabe wieder an den Koordinator. Genau 3 Nachrichten pro Zugriff. Einfache Implementierung. K Request Ack Request P Finished P Nachteile: Single Point of Failure! Fairness?
7 3.. Broadcast-Algorithmus (*) Dezentraler Algorithmus Voraussetzungen: Feste Anzahl an Prozessen. Eine exklusive Ressource. Verlustfreie FIFO-Kommunikation. Alle Nachrichten haben logischen Zeitstempel (Lamport-Uhr). Totalordnung auf den Zeitstempeln. Prinzip: Jeder Prozess hat Nachrichtenwarteschlange. Nach Zeitstempeln geordnet. Jeder Prozess sendet Anforderungen und Freigaben per Broadcast an alle Prozesse. (*) L. Lamport: Time, Clocks and the Ordering of Events in a Distributed System 6
8 Broadcast-Algorithmus Vorgehensweise: Prozess benötigt Ressource: Anforderung (REQ) mit Zeitstempel in eigene Warteschlange und an alle anderen Prozesse senden. Anforderung empfangen: Anforderung in eigene Schlange einsortieren und Bestätigung senden (ACK). Freigabe (senden): Anforderung aus eigener Schlange löschen. Freigabe an alle anderen Prozesse senden (FREE). Freigabe (empfangen): Anforderung aus eigener Schlange entfernen. Zugriff genau dann wenn: Eigene Anforderung ist erste in eigener Schlange. Empfang einer späteren Nachricht von jedem anderen Prozess. Lokale Tests 7
9 Beispiel P P, t= P P3 P3, t= Schwarze Nachricht: Request (REQ) Grüne Nachricht: Bestätigung (ACK) Orange Nachricht: Freigabe (FREE) 8
10 Beispiel P P P3 P, t= P, t= P3, t= P, t= P3, t= P, t= P3, t= Schwarze Nachricht: Request (REQ) Grüne Nachricht: Bestätigung (ACK) Orange Nachricht: Freigabe (FREE) 9
11 Beispiel P P P, t= P, t= P, t= P3, t= 6 P, t= P3, t= Zugriff 9 P3 P3, t= P, t= P3, t= Schwarze Nachricht: Request (REQ) Grüne Nachricht: Bestätigung (ACK) Orange Nachricht: Freigabe (FREE) 0
12 Beispiel P P P, t= P3, t= P, t= P3, t= 6 P, t= P3, t= Zugriff P3, t= 9 P3 P3, t= P, t= P3, t= P3, t= Zugriff Schwarze Nachricht: Request (REQ) Grüne Nachricht: Bestätigung (ACK) Orange Nachricht: Freigabe (FREE)
13 Eigenschaften Sicherheit: Annahme, es gibt Pi und Pj, die gleichzeitig auf Ressource zugreifen. Dann: Pi: Eigene Anforderung ganz oben in Warteschlange und neuere Antworten von allen anderen Prozessen erhalten. Pj: Selbe Aussage. Jedoch: Zeitstempel total geordnet. OBdA ist Zeitstempel von Pi der jüngere. Offensichtlich hat Pi Anforderung von Pj noch nicht empfangen, sonst wäre eigene Anforderung nicht ganz oben. Widerspruch zur FIFO-Voraussetzung: Pi hat jüngere Nachricht als eigene Anforderung von Pj erhalten, jedoch nicht Anforderung von Pj. Verklemmungsfreiheit: Folgt aus Totalordnung auf den Zeitstempeln.
14 Eigenschaften Fairness: Voraussetzung: Es gibt n Prozesse. Pi sendet Anforderung REQ_Pi mit Zeitstempel. REQ_Pi kommt bei jedem Prozess nach endlicher Zeit an. Spätestens dann ist deren Zeitstempel echt größer als der von REQ_Pi. Irgendwann kann kein anderer Prozess die Ressource nutzen. Wegen Verklemmungsfreiheit kann Pi Ressource nutzen. Nach maximal n- exklusiven Zugriffen von anderen Prozessen kann Pi selber zugreifen. Nachrichtenkomplexität pro Zugriff: Anforderungen: n Bestätigungen: n Freigaben: n = 3(n ) 3
15 3.3. Verbesserter Broadcast-Algorithmus (*) Gegeben: n Prozesse, eine exklusive Ressource, benötigt keine FIFO-Kanäle. Vorgehensweise: Prozess mit aktueller ID benötigt Ressource: Sendet Anforderung mit inkrementierter ID an alle anderen n Prozesse. Zugriff, nachdem n Einwilligungen für diese Anforderung eingegangen sind. Prozess erhält Anforderung: Einwilligung sofort schicken, wenn: Prozess sich nicht beworben hat oder ID von Anforderung kleiner als ID der eigenen Anforderung oder wenn IDs gleich: Prozess-ID der Anforderung kleiner als eigene Prozess-ID. Sonst: Einwilligung erst nach Ende des eigenen Zugriffs schicken ( Verzögerung). Aktualisierung der ID: Initial 0. Dann: Die höchste ID, die in einer empfangenen oder gesendeten Anfrage registriert wurde. (*) G. Ricart, A. K. Agrawala: An Optimal Algorithm for Mutual Exclusion in Computer Networks
16 Beispiel P P, ID= Sendet Einwilligung nicht, weil Prozess-ID von P3 größer als von P Zugriff P ID= ID= ID= P3 P3, ID= ID= Sendet Einwilligung, weil Prozess-ID von P kleiner als von P3 Zugriff Schwarze Nachricht: Anforderung (REQ) Grüne Nachricht: Einwilligung (ACK)
17 Eigenschaften Sicherheit: Annahme, zwei Prozesse Pi und Pj greifen gleichzeitig auf Ressource zu.. Fall: Pi sendet Einwilligung an Pj, bevor es eigene Anforderung REQ_Pi absendet. ID von REQ_Pi ist echt größer als die der Anforderung von Pj. Pj wird keine Einwilligung schicken. Pi kann nicht auf Ressource zugreifen, Widerspruch..Fall: Rollen von Pi und Pj vertauscht; selbe Argumentation. 3. Fall: Pi und Pj senden jeweils gegenseitig Einwilligung, nachdem sie ihre jeweiligen Anforderungen abgesetzt haben. Beide Prozesse vergleichen ID und Prozess-ID der Anforderungen. Einer von beiden muss kleinere haben und setzt folglich keine Einwilligung ab. Widerspruch. 6
18 Eigenschaften Verklemmungsfreiheit: Annahme, eine Verklemmung findet statt. Nach einer gewissen Zeit ist sicher, dass die Einwilligung auf eine Anforderung hin verzögert worden ist. Weiter: Es gibt nur endlich viele Prozesse. Es muss einen Zyklus von Prozessen geben, die sich zirkulär verzögern. Jeder Prozess verzögert Einwilligung, weil er selber Ressource möchte. Aber: Verzögerung nur erlaubt, wenn ID und Prozess-ID von Anforderung echt größer als ID und Prozess-ID der eigenen Anforderung. Das ist bei einer endlichen Menge von Prozessen nicht für alle Prozesse möglich, Widerspruch. 7
19 Eigenschaften Fairness: Anforderungen an Prozesse werden in endlicher Zeit beantwortet. Annahme: Es gibt einen Prozess Pi, der nicht dran kommt. Er hat aber Anforderung REQ_Pi gesendet. Anforderung kommt nach endlicher Zeit bei jedem anderen Prozess an. Deren ID ist nun größer oder gleich als die von REQ_Pi. Nach einer endlichen Zeit hat Anforderung von Pi kleinste ID. Pi verzögert alle weiteren Anforderungen. Kein anderer Prozess kann Ressource nutzen. Verklemmung ist nicht möglich, also kann Pi Ressource nutzen. Widerspruch zur Annahme. Nachrichtenkomplexität pro Zugriff: Anforderungen: n Einwilligungen: n = (n ) 8
20 3.. Token-basierter Algorithmus (*) Vorgehensweise: Es gibt genau eine Zugriffsberechtigung Token. Prozess greift zu, wenn er Token hat. Die am Zugriff beteiligten Ressourcen bilden eine bestimmte Topologie Beispielweise Zyklus. Andere Topologien möglich, damit Realisierung von Prioritäten. Beispiel: (*) Gérard Le Lann: Distributed Systems Towards a Formal Approach, 977 9
21 Token-basierter Algorithmus Vorgehenweise (Fortsetzung): Prozess gibt Token weiter: Bei Freigabe Wenn kein Zugriffswunsch da ist. Getrenntes Token für jede Ressource verwenden. Vorteile: Algorithmus ist einfach sicher verklemmungsfrei fair. Nachteil: Token ist immer unterwegs Nachrichtenkomplexität unbeschränkt. Lange Wartezeit bei großer Anzahl von Prozessen. Frage: Wie stellt man sicher, dass genau ein Token unterwegs ist? 0
22 3.. Lift-Algorithmus Nutzt Spannbaum zur Weiterleitung von Token. Seine Kanten haben Zustand: Richtungsanzeige. Token wandert entgegen der Richtungsanzeige und dreht diese dabei. Vorgehensweise: Prozess, der Token will, sendet Anforderung über ausgehende Kante. Prozess erhält Anforderung: Einmaliges Nachsenden einer Anforderung an Token. Speichert, von wem Anforderung kam. Prozess empfängt Token: Ressourcenzugriff, wenn gewünscht. Dann: Weiterleitung in angeforderte Richtung. Anforderung aus mehreren Richtungen: Nachschicken einer Anforderung. Wichtig für Fairness: Prozess darf anfordernde Richtung nicht beliebig oft nicht bedienen!
23 Beispiel
24 Beispiel
25 Beispiel
26 Beispiel
27 Beispiel
28 Beispiel
29 Beispiel
30 Beispiel
31 Beispiel
32 Beispiel
33 Beispiel
34 Beispiel
35 Eigenschaften Invariante: Es existiert gerichteter Pfad von jedem Prozess zum Token. Weglänge: O(log k n) bei k-närem balancierten Baum mit n Knoten. Folgerung: O(log k n) Nachrichten pro Anforderung. Sicherheit klar. Verklemmungsfreiheit klar. Fairness muss gewährleistet werden. Frage: Wie stellt man sicher, dass genau ein Token unterwegs ist? 3
36 Vergleich der vorgestellten Verfahren Verfahren Token-Ring-Algorithmus Nachrichtenkomplexität pro Zugriff Unbeschränkt Broadcast-Algorithmus 3(n ) Verbesserter Broadcast- Algorithmus Lift-Algorithmus (n ) O(log k n) Zentraler Manager 3 3
37 3.6. Künstliches Hormonsystem Anwendung: Zuordnung von Tasks an Prozessoren in verteilten eingebetteten Systemen. Ausbildung virtueller Organe. Hormonbasierte Regelschleifen für: Selbstkonfiguration Selbstoptimierung Selbstheilung. Drei Hormontypen: Eignungswerte Suppressoren Acceleratoren Anwendung Tasks Middleware PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ Ref: U. Brinkschulte, M. Pacher, A. von Renteln, An Artificial Hormone System for Self-Organizing Real- Time Task Allocation in Organic Middleware, In: Organic Computing, Springer, 008 Virtuelle Organe 36
38 Künstliches Hormonsystem - Realisierung Regelschleife auf einem Prozessor: 37
39 Demo Hormonsimulator Weitere Eigenschaften: Siehe Vorlesung Organic Computing 38
40 Gegenseitiger Ausschluss beim KHS Problem: Zwei Tasks sollen nicht gleichzeitig auf einen Prozessor zugreifen. Task A Task B?? Prozessor Übernehme Task, z.b. A Sende großen lokalen Suppressor an andere Task, hier B. Deren Ausführung wird auf Prozessor unterdrückt. Hormonzyklus Eigenschaften: Sicherheit, Verklemmungsfreiheit Fairness muss gesondert gewährleistet werden. Wie? 39
41 3.7. Ausblick Fazit: Es gibt viele Algorithmen für verteilte Systeme, da großer Bedarf. Einige hier besprochen. Viele nicht besprochen. Beispiele: Schnappschussalgorithmen Verteilte Deadlockerkennung Transaktionsprotokolle für verteilte Datenbanken (Datenbanken I+II, Prof. Zicari) Auch Organic Computing (Vorlesungen am Lehrstuhl Eingebettete Systeme) trägt zu Algorithmen für verteilte Systeme bei. 0
Verteilte Algorithmen
Verteilte Algorithmen Wechselseitiger Ausschluss PD Dr.-Ing. Gero Mühl Kommunikations- und Betriebssysteme Fakultät für Elektrotechnik u. Informatik Technische Universität Berlin Überblick > Problem des
Mehr7.1 Grundlagen. Anforderungen an eine Realisierung
Verteilte Betriebssysteme Wintersemester 2017/2018 Koordination des exklusiven Zugriffs auf Ressourcen Verteilte Betriebssysteme 7. Kapitel Gegenseitiger Ausschluss Prof. Matthias Werner Professur Betriebssysteme
MehrWechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci
Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen Özden Urganci Ulf Sigmund Ömer Ekinci Inhaltsangabe 1 Einleitung 2 Prinzipien des verteilten wechselseitigen Ausschlusses 2.1 Anforderungen
MehrVorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Verteilte Systeme, Sommersemester 1999 Folie 7.2
Verteilte Systeme 7. Verteilter wechselseitiger Ausschluß Inhalt I. Was ist wechselseitiger Ausschluß II. Wechselseitiger Ausschluß mit State-Variablen III. Wechselseitiger Ausschluß mit Nachrichten Verteilte
MehrToken-Request-basierte Algorithmen. Die Token-Ring-Lösung. - Token soll nicht dauernd nutzlos unterwegs sein
Die Token-Ring-Lösung Token-Request-basierte Algorithmen Token kreist ständig - Token soll nicht dauernd nutzlos unterwegs sein - Token wandert nur bei Bedarf - Grundidee: "Token zu mir" an alle (?) anderen
MehrGegenseitiger Ausschluss
Gegenseitiger Ausschluss Problemstellung Mehrere Prozesse greifen auf gemeinsame Daten/essourcen zu; der Zugriff muss synchronisiert werden: Immer nur ein Prozess darf den kritischen Abschnitt (k.a.) betreten.
MehrToken-Request-basierte Algorithmen. Der O(log n)-algorithmus. - Andere Idee: Spannbaum verwenden
Token-Request-basierte Algorithmen aber wie bekommt man diesen? Der O(log n)-algorithmus Das wäre aber besser als das "optimale" O( n)- Verfahren!?! - Andere Idee: Spannbaum verwenden - "Suchnachrichten"
MehrVerteilte Systeme. 7. Verteilter wechselseitiger. Ausschluß. Wechselseitiger Ausschluß (mutual. exclusion)
Verteilte Systeme 7. Verteilter wechselseitiger Ausschluß Wechselseitiger Ausschluß (mutual exclusion) Aufgabenstellung Mehrere Prozesse möchten etwas tun, wobei garantiert sein muß, daß es zu einem Zeitpunkt
MehrWahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43
Wahlalgorithmen Überblick/Problemstellung Wahlalgorithmen auf Ringstrukturen Beispiel TokenRing Wahlalgorithmen auf Baumstrukturen Wahlalgorithmen auf beliebigen Netzstrukturen Verteilte Algorithmen (VA),
MehrVerteilte Systeme. Verteilte Systeme. 7 Koordination SS 2017
Verteilte Systeme SS 2017 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 26. Juni 2017 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/12) i
MehrGegenseitiger Ausschluss:
Gegenseitiger Ausschluss Gegenseitiger Ausschluss Problemstellung Gegenseitiger Ausschluss Problemstellung Mehrere Prozesse greifen auf gemeinsame Daten/essourcen zu; Problemstellung Mehrere dieser Zugriff
MehrUberblick Verteilte Synchronisation Zeit in verteilten Systemen Logische Uhr Synchronisation Aufgabe 6 VS- Ubung (SS13) Verteilte Synchronisation 11 1
Überblick Verteilte Synchronisation Zeit in verteilten Systemen Logische Uhr Synchronisation Aufgabe 6 VS-Übung (SS13) Verteilte Synchronisation 11 1 Zeit in verteilten Systemen Ist Ereignis A auf Knoten
MehrLiteratur. c Kapitza VS (SS 2015) 12 Gegenseitiger Ausschluss 12.1 Überblick Beispiele
.. Zentraler Koordinator.. Tenbasierte Algorithmen c Kapitza VS (SS 0) : Zentraler Koordinator ( Alle fragen einen) : Zentraler Koordinator: Zentraler Koordinator: Alle fragen einen Alle fragen einen ich
MehrVerteilte Systeme. Übereinstimmung und Koordination
Verteilte Systeme Übereinstimmung und Koordination 1 Wahlen 2 Wahl-Algorithmen In vielen verteilten Algorithmen benötigt man einen Prozeß, der eine irgendwie geartete besondere Rolle spielt, z.b. als Koordinator,
MehrUberblick 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
MehrAktuelle Themen bei Eingebetteten Systemen Organic Computing
Aktuelle Themen bei Eingebetteten Systemen Organic Computing Teil 3 Künstliche Hormonsysteme WS 2011/2012 Dr. Mathias Pacher Prof. Dr. Uwe Brinkschulte Organic Computing Teil 3a, Folie 1 - Dr. Mathias
MehrVorlesung "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
MehrAufgabe 2.1: Lamports Uhren
Aufgabe 2.1: Lamports Uhren Die Relation a ereignet sich kausal vor b wird kurz als a b notiert. Von zwei Ereignissen a und b sind logische Zeitstempel nach Lamport, C(a) und C(b), bekannt, und es gilt
MehrVerteilte Systeme. Synchronisation I. Prof. Dr. Oliver Haase
Verteilte Systeme Synchronisation I Prof. Dr. Oliver Haase 1 Überblick Synchronisation 1 Zeit in verteilten Systemen Verfahren zum gegenseitigen Ausschluss Synchronisation 2 Globale Zustände Wahlalgorithmen
MehrVerteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase
Verteilte Systeme Synchronisation II Prof. Dr. Oliver Haase 1 Überblick Synchronisation 1 Zeit in verteilten Systemen Verfahren zum gegenseitigen Ausschluss Synchronisation 2 Globale Zustände Wahlalgorithmen
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 7 17.12.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)
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
MehrZeit als Mittel der Reihenfolgebestimmung
Uhrensynchronisation Notwendigkeit von Uhrensynchronisation Zeit als Mittel der Reihenfolgebestimmung Probleme der Uhrensynchronisation Lamport Vektorduhren Synchronisation von physikalischen Uhren Grundlagen
MehrVerteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group
Verteilte Systeme Diffusionsalgorithmen Diffusionsalgorithmen Definition: Ein verteilter Diffusionsalgorithmus auf einem Beliebigen Graphen startet in einem Zustand, in dem alle Knoten des Graphen idle
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
MehrProf. Dr. Uwe Brinkschulte. Lehrstuhl für Eingebettete Systeme
Prof. Dr. Uwe Brinkschulte Lehrstuhl für Eingebettete Systeme brinks@es.cs.uni-frankfurt.de Robert-Mayer-Straße 11-15 Sekretariat: Linda Stapleton, Raum 211a stapleton@es.cs.uni-frankfurt.de 1 Forschungsgebiete
MehrDer O(log n)-algorithmus. Token-basierte Algorithmen. - Grundidee: "Token zu mir" an alle anderen senden. - Andere Idee: Spannenden Baum verwenden
Token-basierte Algorithmen - Grundidee: "Token zu mir" an alle anderen senden - per broadcast (falls entspr. Kommunikationsprimitiv existiert) - oder z.b. mittels Echo-Algorithmus - Aufwand ist hoch, wenn
MehrInhalt. Organisatorisches. Verteilte Algorithmen Überblick 4. Verteilte Systeme. Formales Modell Algorithmus
1 2 Organisatorisches Inhalt Webseite zur Vorlesung: /teaching/ss_05/algosens/ Folien zur Vorlesung und Übung (soweit verfügbar) Übungsblätter Referenzen auf weiterführende Literatur Ankündigungen zur
MehrVerteilte Systeme. Übereinstimmung und Koordination
Verteilte Systeme Übereinstimmung und Koordination 1 Wahlen 2 Wahl-Algorithmen In vielen verteilten Algorithmen benötigt man einen Prozeß, der eine irgendwie geartete besondere Rolle spielt, z.b. als Koordinator,
MehrVerklemmungen - Deadlocks
Verklemmungen - Deadlocks Betriebsmittel Verklemmung Vogelstrauss Algorithmus Erkennung und Auflösung Vermeidung SS2001 Prof. H.D. Clausen - unisal 1 Kritische Betriebsmittel Beispiele Drucker Magnetbandgeräte
MehrÜberblick. Zeit Motivation Network Time Protocol (NTP) Logische Uhren. c td VS (SS16) Zeit 9 1
Überblick Zeit Motivation Network Time Protocol (NTP) Logische Uhren c td VS (SS16) Zeit 9 1 Motivation Zeit als Mittel zur Reihenfolgebestimmung (Beispiele) Erkennung von Modifikationen an Dateien (z.
MehrMotivation. Überblick. Motivation. Sequentielle Verfahren
Überblick Motivation Wahlalgorithmen Motivation Grundlagen Chang-Roberts-Algorithmus Wellenverfahren Adoptionsverfahren Problem: Wahl eines Anführerknotens szenarien Koordinierung verteilter Aktionen Erzeugung
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
MehrGegenseitiger Ausschluss: Überblick. Gegenseitiger Ausschluss. Gegenseitiger Ausschluss: Überblick. Gegenseitiger Ausschluss: Überblick
Gegenseitiger Ausschluss Gegenseitiger Ausschluss: Überblick Problemstellung Zentraler Koordinator: ich will ich will Mehrere Prozesse greifen auf gemeinsame Daten/essourcen zu; dieser Zugriff muss koordiniert
MehrVerteilte Algorithmen
Verteilte Softwaresysteme Verteilte Algorithmen Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.06.2018 21:08 Inhaltsverzeichnis Verteilt versus zentralisiert 1 Unterschiede....................................
MehrÜberblick. Zeit in verteilten Systemen. Echtzeit-basierte Uhren. Synchronsation von Echtzeit-Uhren: NTP, PTP
Überblick Zeit in verteilten Systemen Ist Ereignis A auf Knoten X passiert bevor B auf Y passiert ist? Beispiele: Internet-Auktion, Industrie-Steuerungen,... Verteilte Synchronisation Zeit in verteilten
Mehr9 Verteilte Verklemmungserkennung
9 Verteilte Verklemmungserkennung 9.1 Grundlagen Für die Existenz einer Verklemmung notwendige Bedingungen Exklusive Betriebsmittelbelegung Betriebsmittel können nachgefordert werden Betriebsmittel können
MehrBully-Algorithmus Krebs Florian, Kus Matthias, Pisselhoy Andreas, Schwab Benjamin, Heinrich Jörg
Bully-Algorithmus Krebs Florian, Kus Matthias, Pisselhoy Andreas, Schwab Benjamin, Heinrich Jörg Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße 14,
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 +
MehrTechnische Universität München WS 2006/2007 Fakultät für Informatik 15. Februar 2007 Prof. Dr. A. Knoll
Technische Universität München WS 2006/2007 Fakultät für Informatik 15. Februar 2007 Prof. Dr. A. Knoll Lösungsvorschläge der Klausur zu Echtzeitsysteme Aufgabe 1 Wissensfragen (Lösungsvorschlag) (30 Punkte)
MehrHeute. Algorithmen für Ad-hoc- und Sensornetze. Erinnerung: MAC-Layer. Erinnerung: Färbungen. Definition
Heute Algorithmen für Ad-hoc- und Sensornetze VL 0 Eine kurze Geschichte vom Färben (Teil ) Medium Access Control / Färbungen, Teil kurze Wiederholung Schöner verteilter Färbungsalgorithmus Markus Völker
Mehr9: Verteilte Algorithmen
9: Verteilte Algorithmen Verteiltes System: Zusammenschluss unabhängiger Computer ( Knoten ), das sich für den Benutzer als einzelnes System präsentiert. (Begriffsbildung nach A. Tanenbaum hatten wir schon)
MehrÜberblick. Multicast Motivation Grundlagen Zustellungsgarantien Ordnungsgarantien Paxos. c td VS (SS17) Multicast 7 1
Überblick Multicast Motivation Grundlagen Zustellungsgarantien Ordnungsgarantien Paxos c td VS (SS17) Multicast 7 1 Motivation Fehlertoleranz durch Replikation Redundante Applikationsinstanzen auf unterschiedlichen
MehrAlgo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7
1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten
MehrChristian Rieck, Arne Schmidt
Institute of Operating Systems and Computer Networks Algorithms Group Algorithmen und Datenstrukturen Wintersemester 207/208 Übung#5, 2.2.207 Christian Rieck, Arne Schmidt Bäume Satz Jeder gerichtete Baum
MehrIntegriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen?
Integriertes Seminar Datenbanken und Informationssysteme P2P-Computing Lehrgebiet Datenverwaltungssysteme Prof. Dr. Dr. h.c. Härder Prof. Dr. Deßloch Björn Jung b_jun@informatik.uni-kl.de Technische Universität
MehrÜbersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf
Übersicht Komplexitätsresultate Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Synchronisation (4) Drei Komplexitätsresultate Eine genaue Schranke für den Platzbedarf
MehrÜberblick. Motivation. Motivation. Erzeugung eines virtuellen Baums beim Systemstart
Überblick Motivation Wahlalgorithmen Motivation Grundlagen Wellenverfahren Adoptionsverfahren Problem: Wahl eines Anführerknotens szenarien Koordinierung verteilter Aktionen Erzeugung systemweit eindeutiger
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
MehrKontrollflüsse. Dining Philosophers. 6. Verklemmungen. Systemsoftware. Seite 6.1. (c) 2002, Prof. Dr. P. Sturm, Universität Trier
Kontrollflüsse 6. Verklemmungen Dining Philosophers Philosophen wechseln zwischen zwei Zuständen Denken Essen Hauptgericht Reis Pur n Sitzplätze Links Stäbchen Philosoph braucht rechtes und linkes Stäbchen
MehrMotivation Algorithmen für Ad-hoc- und Sensornetze. Ad-hoc-Lösung: CSMA/CA. VL 10 Eine kurze Geschichte vom Färben
Motivation Algorithmen für Ad-hoc- und Sensornetze VL 0 Eine kurze Geschichte vom Färben Dr. rer. nat. Bastian Katz. Juli 009 (Version vom. Juli 009) Kommunikation im drahtlosen Kanal ist nicht beliebig
MehrHeute. Medium Access Control / Färbungen, Teil 2. Kapazität & Scheduling. kurze Wiederholung Schöner verteilter Färbungsalgorithmus
Heute Medium Access Control / Färbungen, Teil kurze Wiederholung Schöner verteilter Färbungsalgorithmus Kapazität & Scheduling Interferenz etwas realistischer neue Probleme und Herangehensweisen VL 0 Eine
MehrVerteilte Systeme. Graphenalgorithmen. Secure Identity Research Group
Verteilte Systeme Graphenalgorithmen Allgemeine Netzwerke Reale Computernetze sind meist keine Ringe Beliebige Netze lassen sich als Graph modellieren:g=(v,e) Knoten V (Prozessen, Stationen) Kanten E (Kanälen,
MehrSpezifikation von Kommunikationssystemen
1 / 22 Spezifikation von Kommunikationssystemen 6. Basiskonstrukte von SDL Prof. Jochen Seitz Fachgebiet Kommunikationsnetze 3. Mai 2018 2 / 22 Übersicht 1 Darstellung eines Prozesses 2 Zeit in SDL 3 Variablen
MehrGrundlagen verteilter Systeme
Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 5 08.01.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:
MehrDeadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File
Kapitel V Deadlocks (Verklemmungen) 1 Deadlocks System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File Prozesse benötigen Genehmigung vor der Benutzung von Ressourcen.
MehrProf. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Formalisierungen, Logische Zeit - Th Letschert FH Gießen-Friedberg
Prof. Dr. Th. Letschert CS5 Master of Science (Informatik) - Formalisierungen, Logische Zeit - Th Letschert FH Gießen-Friedberg Formalisierung verteilter Berechnungen Logische Zeit 2 Formalisierung verteilter
Mehr2.3 Prozessverwaltung
Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären
MehrVorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. 8. Verteilte Terminierung
Verteilte Systeme 8. Verteilte Terminierung Verteilte Terminierung Im sequentiellen Fall stellt sich das Problem nicht Zwei Terminierungsvarianten Kommunikationsorientierte Terminierung Beispiel Alle Prozesse
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 verteilter Systeme
Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Aufgabe 1: Wintersemester 07/08 Übungsblatt 6 15.01.08 Grundlagen verteilter Systeme Lösungsvorschlag
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrVorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme NTP) Verteilte Systeme, Sommersemester 1999 Folie 4.2
Verteilte Systeme 4. Zeit Ansätze Pragmatisch: Uhrensynchronisation Abgleich der lokalen Uhren Beispiele Zeitabgleich nach F. Christian Berkeley-Algorithmus Verteilte Synchronisation Network Time Protocol
MehrRealisierung von atomarem Broadcast
Realisierung von atomarem Broadcast Verfahren berücksichtigt auch Nachrichtenverluste und gecrashte Prozesse 2. Lösung: Token, das auf einem (logischen) Ring kreist Token = Senderecht (Token weitergeben!)
MehrWas machen wir heute? Betriebssysteme Tutorium 3. Organisatorisches. Prozesskontrollblock (PCB) Programmieraufgaben. Frage 3.1.a
Was machen wir heute? Betriebssysteme Tutorium 3 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
MehrLeser-Schreiber-Realisierung mit Semaphoren
Leser-Schreiber-Realisierung mit Semaphoren Reader: down(semwriter); down(semcounter); rcounter++; up(semwriter); read(); down(semcounter); rcounter--; Writer: Problem: down(semwriter); Busy Waiting siehe
MehrAlgorithmen für Ad-hoc- und Sensornetze VL 10 Eine kurze Geschichte vom Färben
Algorithmen für Ad-hoc- und Sensornetze VL 0 Eine kurze Geschichte vom Färben Dr. rer. nat. Bastian Katz. Juli 2009 (Version 3 vom 3. Juli 2009) Motivation Kommunikation im drahtlosen Kanal ist nicht beliebig
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Abgeschlossenheit (Definition)
MehrTest (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme
Seite 1 Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme 1 11.07.2007 Hinweise: Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre
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
MehrTafelübung zu BSRvS1. 3. Philosophen. Fortsetzung Grundlagen C-Programmierung
Tafelübung zu BSRvS1 3. Philosophen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/
Mehr3. Philosophen. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Tafelübung zu BSRvS1 3. Philosophen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard
Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrRealisierung asynchroner Client/Server-Kommunikation im Mobilfunk
Realisierung asynchroner Client/Server-Kommunikation im Mobilfunk Florian Miess, Jörg Seifert und Prof. Dr. Michael Massoth 31.05.2007 1 Agenda Probleme mobiler Anwendungen Motivation Middleware Serviceschicht
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse
MehrDistributed Flat Transaction
Distributed Flat Transaction Angenommen, ein Benutzer geht zu einem Reisebüro um dort eine Urlaubsreise zu buchen. Nachdem er den Flug, das Hotel und den Mietwagen selektiert hat, beschließt das Reisebüro,
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrRandomisierte Datenstrukturen
Seminar über Algorithmen DozentInnen: Helmut Alt, Claudia Klost Randomisierte Datenstrukturen Ralph Schäfermeier 13. 2. 2007 Das Verwalten von Mengen, so dass ein schneller Zugriff auf deren Elemente gewährleistet
MehrVerteilte Systeme - Übung
Verteilte Systeme - Übung Schriftliche Übungen Dienen der Klausurvorbereitung Zwei Teile: Serie A: Okt - Nov Serie B: Nov - Jan 3% der Endnote je Serie Ansprechpartner: Harald Vogt Heute:
MehrÜberblick Wintersemester 2014/2015
Überblick Wintersemester 2014/2015 Prof. Dr. Peter Mandl Verteilte Systeme Einführung und Überblick Zeitsynchronisation Wahl und Übereinstimmung RPC, verteilte Objekte und Dienste Verteilte Transaktionen
MehrVerteilter wechselseitiger Ausschluss
Westfälische Wilhelms-Universität Münster Ausarbeitung Verteilter wechselseitiger Ausschluss im Rahmen des Seminars Parallele und Verteilte Programmierung Jens Ehlers Themensteller: Prof. Dr. Herbert Kuchen
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Heaps Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 469 Prioritätswarteschlange Problem Häufig ist das Prinzip einer einfachen Warteschlangen-Datenstruktur
MehrKlausur zur Vorlesung Grundlagen der Betriebssysteme
Prof. Dr. L. Wegner Dipl.-Math. K. Schweinsberg Klausur zur Vorlesung Grundlagen der Betriebssysteme 19.2.2004 Name:... Vorname:... Matrikelnr.:... Studiengang:... Hinweise: Bearbeitungszeit 2 Stunden.
MehrPraktikable Einigungsalgorithmen
Praktikable Einigungsalgorithmen Algorithmen für synchrone Systeme Atomarer Broadcast: siehe Aufgabe 4.4 Burns/Neiger Lamport/Shostak/Pease: Oral Messages; Signed Messages Algorithmen für asynchrone Systeme
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:
Mehr1. Einführung in Temporallogik CTL
1. Einführung in Temporallogik CTL Temporallogik dient dazu, Aussagen über Abläufe über die Zeit auszudrücken und zu beweisen. Zeit wird in den hier zunächst behandelten Logiken als diskret angenommen
MehrAlgorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8
ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1
MehrDeadlock. Peter Puschner Institut für Technische Informatik
Deadlock Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Deadlock Permanentes Blockieren einer Menge von Prozessen, die um Ressourcen konkurrieren oder miteinander kommunizieren
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrDistributed Memory Computer (DMC)
Distributed Memory Computer (DMC) verteilter Speicher: jeder Prozessor kann nur auf seinen lokalen Speicher zugreifen Kopplung mehrerer Prozessoren über E/A-Schnittstellen und Verbindungsnetzwerk, nicht
MehrVerteilte Systeme - 3. Übung
Verteilte Systeme - 3. Übung Dr. Jens Brandt Sommersemester 2011 1. Zeit in verteilten Systemen a) Nennen Sie mindestens drei verschiedene Ursachen zeitlicher Verzögerungen, die bei einem Entwurf eines
Mehr5 Verteilte Algorithmen. vs5 1
5 Verteilte Algorithmen vs5 1 Charakterisierung eines verteilten Systems? Prozesse als Systemkomponenten: Spezifikation eines Prozesses (Vgl. Spezifikation eines ADT) syntaktisch: z.b. Ports oder Parameter
Mehr