Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Verteilte Systeme, Sommersemester 1999 Folie 7.2
|
|
- Waldemar Krämer
- vor 5 Jahren
- Abrufe
Transkript
1 Verteilte Systeme 7. Verteilter wechselseitiger Ausschluß Inhalt I. Was ist wechselseitiger Ausschluß II. Wechselseitiger Ausschluß mit State-Variablen III. Wechselseitiger Ausschluß mit Nachrichten Verteilte Systeme, Sommersemester 999 Folie 7.2 (c) Peter Sturm, Universität Trier
2 Wechselseitiger Ausschluß (mutual exclusion) Mehrere Prozesse möchten etwas tun, wobei garantiert sein muß, daß es zu einem Zeitpunkt nur einer darf. exklusive Betriebsmittel abstrakte exklusive Betriebsmittel, z.b. Termin in einem verteilten TVS Im shared memory -Fall Fall: Mit Hilfe von z.b. Semaphoren einfach lösbar! Interessiert uns hier nicht! Verteilte Systeme, Sommersemester 999 Folie 7.3 Wechselseitiger Ausschluß (mutual exclusion) Was uns auch nicht interessiert: Zentraler Monitor Request Grant 2 Nachrichten Fehlertoleranz: Verteilte Systeme, Sommersemester 999 Folie 7.4 (c) Peter Sturm, Universität Trier 2
3 II. STATE-VARIABLEN Jeder Prozeß P i hat zwei Arten von Variablen: Lokale Variablen: Nur P i kann auf sie zugreifen (lesend und schreibend) State-Variablen Variablen: P i darf lesend und schreibend zugreifen. j j : j i : P j darf lesend zugreifen. Prinzipiell auch in Nachrichten-basierten Systemen möglich: Read (S i ) Pj P i Si Content (S i ) Verteilte Systeme, Sommersemester 999 Folie 7.5 Bäckerei-Algorithmus (Lamport 74) var number : array [... n-] n of integer; number [i] + max (number[],..., number [n-]); for j= to n-, i j begin wait (number [j] ) (number [i], i) < (number( [j], j); end; <kritischer Abschnitt> number [i] ; (a,b) < (c,d) (a < c) ((a = c) (b < d)) Verteilte Systeme, Sommersemester 999 Folie 7.6 (c) Peter Sturm, Universität Trier 3
4 Bäckerei-Algorithmus (Lamport 74) ) Algorithmus garantiert wechselseitigen Ausschluß: number [i] = n i (n,..., n n ) besitzt bezgl.. der Ordnung ein eindeutiges Minimum! Sei n i dieses Minimum Für r P i : j : j i : wait (true) Für P j : j i : wait (false); 2) Algorithmus ist fair! Prozeß P i muß maximal (n-) mal warten 3) Algorithmus ist korrekt? Fast! Problem: number [i] + max (number [],..., number [n-]) ist nicht atomar! Verteilte Systeme, Sommersemester 999 Folie 7.7 Szenario: Ein wechselseitiger Nicht-Ausschluß P P 2 n = n 2 = ( n = ) ( n 2 = ) + ( n = ) ( n 2 = ) + n 2 n for (j = 2) true! waít (n 2 ) (n, ) < (n 2, 2) true! <kritischer Abschnitt> Boing for (j=) wait (n ) false!... true! <kritischer Abschnitt> Verteilte Systeme, Sommersemester 999 Folie 7.8 (c) Peter Sturm, Universität Trier 4
5 Bäckerei-Algorithmus Algorithmus (Lamport 74) var number : array [... n-] n of integer; choice : array [... n-] n of boolean; choice [i] true; number [i] + max (number[],..., number [n-]); choice [i] false; for j= to n-, i j begin wait choice [j]; wait (number [j] ) (number [i], i) < (number( [j], j); end; <kritischer Abschnitt> number [i] ; Verteilte Systeme, Sommersemester 999 Folie 7.9 Szenario: Ein wechselseitiger Nicht-Ausschluß P P 2 n = choice = true ( n = ) ( n 2 = ) + n 2 = choice 2 = true ( n = ) ( n 2 = ) + n 2 choice 2 = false n choice = false for (j = 2) true! waít (n 2 ) (n, ) < (n 2, 2) P darf true! zuerst rein <kritischer Abschnitt> Bleibt false bis P durch Boing for (j=) wait (n ) false!... true! <kritischer Abschnitt> wait choice Verteilte Systeme, Sommersemester 999 Folie 7. (c) Peter Sturm, Universität Trier 5
6 Bemerkungen: ) Algorithmus ist symmetrisch 2) Fehlertoleranz: Es muß bloß garantiert sein, daß bei Absturz von P i jeder andere Prozeß P j davon ausgeht: P i ist nicht im kritischen Abschnitt! Deadlock-Gefahr Gefahr: Prozeß P i stürzt immer bei der Maximumbildung ab! choice; ; = true Alle Prozesse warten an wait choice; 3) Nachrichtenaufwand: Hängt H davon ab, wie man die State- Variablen realisiert (~ 2n + 4 (n )) Verteilte Systeme, Sommersemester 999 Folie 7. Dijkstra s selbst-stabilisierender stabilisierender Algorithmus (974) Token P P P n- P 2 P 3 Sei k>: var flag: array [... n-] n of...k; P : wait flag [] = flag [n-]; <kritischer Abschnitt> flag [] (flag [] + ) mod k; P (i ): wait flag [i] flag [i-]; <kritischer Abschnitt> flag [i] flag [i-]; Verteilte Systeme, Sommersemester 999 Folie 7.2 (c) Peter Sturm, Universität Trier 6
7 Dijkstra s selbst-stabilisierender stabilisierender Algorithmus (974) Sei flag[i] ] = i Bemerkungen: ) Algorithmus garantiert wechselseitigen Ausschluß: true! P : wait flag [] = flag [n-] P : wait flag [i] flag [i-] false! i i : i P betritt kritischen Abschnitt... danach flag [] = false! P : wait flag [] = flag [n-] P : wait flag [] flag [] true! P i : wait flag [i] flag [i-] false! i i : i, i P betritt kritischen Abschnitt 2) Algorithmus verhindert Deadlocks 3) Algorithmus ist fair Verteilte Systeme, Sommersemester 999 Folie 7.3 Dijkstra s selbst-stabilisierender stabilisierender Algorithmus (974) Aber: ) Algorithmus ist nicht symmetrisch 2) Prozesse bekommen das Privileg, obwohl sie gar nicht in den kritischen Abschnitt wollen! müssen Token weitergeben 3) Fehlertoleranz: Abstürzende Prozesse müssen aus dem Ring entfernt werden! Wie man entfernt, hängt vom Prozeß P ab (P Anderer wird P ) (P i Raus aus Ring) Zusätzliche Informationen für f r den Ringaustrag Verteilte Systeme, Sommersemester 999 Folie 7.4 (c) Peter Sturm, Universität Trier 7
8 Dijkstra s selbst-stabilisierender stabilisierender Algorithmus (974) Interessante Eigenschaft: Man kann die initiale Bedingung flag [i] = i i fallen lassen Selbst Stabilisierung Hängt von k ab: ) k n : Wechselseitiger Ausschluß kann nicht garantiert werden! n=4, k=2: P P P 2 P Verteilte Systeme, Sommersemester 999 Folie 7.5 Dijkstra s selbst-stabilisierender stabilisierender Algorithmus (974) k > n : Selbst-Stabilisierung Stabilisierung P o inkrementiert (wenn er darf) P i schieben Token nach rechts Da k > n informell: Müll wird nach rechts geschoben und durch sinnvolle Inhalte in P o ergänzt!man kann erkennen, wann wechselseitiger Ausschluß garantiert ist! Verteilte Systeme, Sommersemester 999 Folie 7.6 (c) Peter Sturm, Universität Trier 8
9 Abschließende Bemerkungen Einfache, verhältnismäßig fehlertolerante Algorithmen sind möglich! Nachteile: 2 Ebenen werden durcheinander gebracht: - Logik - Implementierung schwer beschreibbar & schwer verständlich Hohe Anzahl an Nachrichten Blindes Testen von Statevariablen Nachrichten an andere, wenn sich Statevariablen in P i ändern: Nachrichten-basierte Algorithmen Viele unnütze Nachrichten Verteilte Systeme, Sommersemester 999 Folie 7.7 Abschließende Bemerkungen Aber: Effiziente Realisierung in shared shared-memory memory -System Vorteil: (gegenüber z.b. Semaphor) - keine Globalen Variablen - Erhöhte Fehlertoleranz Verteilte Systeme, Sommersemester 999 Folie 7.8 (c) Peter Sturm, Universität Trier 9
10 III. Wechselseitiger Ausschluß - Nachrichten-basiert - STATE-Variablen Variablen -Algorithmen können in einer nachrichten- basierten Umgebung realisiert werden! Request Informationen -Nachrichten Viele z.t.. unnötige Nachrichten Send Informationen -Nachrichten Anzahl der Nachrichten wird minimiert Keine unnützen Nachrichten Alle Nachrichten signalisieren Zustandswechsel Nachrichten-Basierte Algorithmen sind verteilter als die mit State-Variablen! Verteilte Systeme, Sommersemester 999 Folie 7.9 III. Wechselseitiger Ausschluß - Nachrichten-basiert -... natürlich gibt es auch hier eine Token-Ring Lösung: a) Le Lann s Algorithmus (977) P P Pn- P 2 P3 Pi P i : Klar: Token Nachteile: Warte auf Token von P i- ; <Kritischer Abschnitt> Sende Token an P i+ ; Garantiert wechselseitigen Ausschluß Verhindert Deadlocks Fair Anzahl Nachrichten:... + Prozeß bekommt Privileg, obwohl er es nicht braucht! Fehlertoleranz ) Token-Verlust Genau neues Token! 2) Prozeß-Absturz Ring verkürzen rzen Verteilte Systeme, Sommersemester 999 Folie 7.2 (c) Peter Sturm, Universität Trier
11 III. Wechselseitiger Ausschluß - Nachrichten-basiert - b) Verteilte Warteschlange (Lamport( 978) Idee: Manager-Prozess P P 2 P 3 P i... Warteschlange P P 2 P P n P 2 Totale Ordnung auf alle Nachrichten im System Prozesse: Nachrichten kommen in gleicher Reihenfolge an! P n P i Verteilte Systeme, Sommersemester 999 Folie 7.2 Timestamp - Mechanismus Jeder Prozeß (Knoten) besitzt eine lokale Uhr, die unabhängig von anderen Uhren ist! Anpassung der Uhren! Event i Event i+ Event i+2 lc++ lc++ lc++ lc = local clock Verteilte Systeme, Sommersemester 999 Folie 7.22 (c) Peter Sturm, Universität Trier
12 Timestamp - Mechanismus Uhren-Synchronisation beim Nachrichtenverschicken: P i Send (message, lc i, i) lc i Übertragung Receive P k lc k = max (lc k, lc i ) + lc k d.h. bei Empfang von (message( message, lc m, m) bei P k : if lc k < lc m lc k lc k + ; then lc k lc m endif; Verteilte Systeme, Sommersemester 999 Folie 7.23 Timestamp Mechanismus Erweiterung: Für zwei empfangene Nachrichten (Daten, k, i) und (Daten 2, k 2, j) kann gelten: lc = lc 2! Prozeß (Knoten)- Nummer Dann gilt: (Daten, lc, i) < (Daten( 2, lc 2, j) (lc < lc 2 ) ((lc = lc 2 ) ( i < j)) Das ist nur eine mögliche Art, Nachrichten mit Zeitstempeln zu versehen! Es gibt auch andere! Verteilte Systeme, Sommersemester 999 Folie 7.24 (c) Peter Sturm, Universität Trier 2
13 Lamport s Algorithmus n Prozesse: P,..., P n- Lokale Variablen für P i var: clock i :... + queue i : j n- REL REL REL REL j n- Letzte Nachr. Ist Req, Ack, oder Rel. Clock von P j j Verteilte Systeme, Sommersemester 999 Folie 7.25 Lamport s Algorithmus P i möchte in den kritischen Abschnitt:. Sende (req( req, clock i, i) an alle; /*Broadcast Broadcast*/ queue i [i] := clock i + ; 2. Warte bis j j : j i gilt: Die Nachricht in queue i [i] ist kleiner als die Nachricht in queue i [j] 3. <kritischer Abschnitt> 4. Sende (rel( rel, clock i, i) an alle; queue i [i] := (rel( rel, clock i, i); clock i, := clock i + ;! Voraussetzung: Nachrichten überholen sich nicht! Verteilte Systeme, Sommersemester 999 Folie 7.26 (c) Peter Sturm, Universität Trier 3
14 Lamport s Algorithmus P i empfängt Nachricht (Daten, clock, Nr): ) /* Uhr synchronisieren */ wenn clock i < clock dann clock i := clock; clock i := clock i + ; 2) Falls Daten = req: queue i [Nr]] := (req( req, clock, Nr); Sende (ack( ack, clock i, i) zu P Nr ; Daten = rel: queue i [Nr]] := (rel( rel, clock, Nr); Daten = ack: wenn Nachricht in queue i [Nr] req dann queue i [Nr]] := (ack( ack, clock, Nr); Algorithmus ist Fair Deadlock frei (Totale Ordnung enthält keine Zyklen) Korrekt (Garantiert wechselseitigen Ausschluß) Nachrichten-Komplexität: 3 (n-) Verteilte Systeme, Sommersemester 999 Folie 7.27 Ein optimaler Algorithmus c) Ricart & Agrawala s Algorithmus (98) Optimierung von Lamport s Algorithmus Prozess P i möchte in den kritischen Abschnitt: ) Sende (Request( Request, clock i, i) an alle; 2) Warte auf n- n Reply s; 3) <kritischer Abschnitt> Prozess P i empfängt Request: Sendet Reply sofort, wenn I) P i nicht in den kritischen Abschnitt will! II) P i zwar in den kritischen Abschnitt will, aber der andere höhere Rechte hat! Verzögert das Reply,, wenn III) P i in den kritischen Abschnitt will und höhere Rechte hat! Verteilte Systeme, Sommersemester 999 Folie 7.28 (c) Peter Sturm, Universität Trier 4
15 Ein optimaler Algorithmus c) Ricart & Agrawala s Algorithmus (98) Optimierung von Lamport s Algorithmus Prozess P i möchte in den kritischen Abschnitt: ) Sende (Request( Request, clock i, i) an alle; 2) Warte auf n- n Reply s; 3) <kritischer Abschnitt> 4) Gib alle verzögerten Reply s raus! Prozess P i empfängt Request: Sendet Reply sofort, wenn I) P i nicht in den kritischen Abschnitt will! II) P i zwar in den kritischen Abschnitt will, aber der andere höhere Rechte hat! Verzögert das Reply,, wenn III) P i in den kritischen Abschnitt will und höhere Rechte hat! Nachrichten-Komplexität 2 (n-) Verteilte Systeme, Sommersemester 999 Folie 7.29 Ein optimaler Algorithmus In dieser Richtung sind dann einige Verbesserungen vorgenommen worden: Le Lann (977)... + Lamport (978) 3 (n-) Ricart & Agrawala (98) 2 (n-) Carvalho & roucairol... (2(n-)) Suzuki & Kasami (982) Ricart & Agrawala (983) n oder oder 42? Verteilte Systeme, Sommersemester 999 Folie 7.3 (c) Peter Sturm, Universität Trier 5
16 Ein optimaler Algorithmus d) Maekawa s Algorithmus (985) Idee: 2 k k+ 2k (k-)k (k-)k+ k-k Verteilte Systeme, Sommersemester 999 Folie 7.3 Ein optimaler Algorithmus d) Maekawa s Algorithmus (985) Idee: 2 k k+ 2k i j (k-)k (k-)k+ k-k Prozess i hat eine Menge von Prozessen S i, die er um Erlaubnis fragen muß! Es gilt: i, j S i n S j Ø (Wichtig, um wechselseitigen Ausschluß zu garantieren) Verteilte Systeme, Sommersemester 999 Folie 7.32 (c) Peter Sturm, Universität Trier 6
17 Ein optimaler Algorithmus Nachrichten: REQUEST LOCKED RELEASE Inquire Relinquish Failed } } für wechselseitigen Ausschluß Vermeidung von Deadlocks Verteilte Systeme, Sommersemester 999 Folie 7.33 Algorithmus P i möchte kritischen Abschnitt betreten: ) Sende REQUEST an alle Elemente von S i ; 2) Warte auf LOCKED von allen Prozessen aus S i ; 3) <kritischer Abschnitt> 4) Sende RELEASE an alle Prozesse aus S i ; P j ε S i empfängt REQUEST-Nachricht Nachricht: ) Wenn frei dann Zustand locked; Sende LOCKED-Nachricht an P i ; Sonst /* Abschnitt ist von P k ε S j belegt */ wenn P j von einem aussichtsreicheren REQUEST-Kandidaten weiß dann sonst Sende FAILED-Nachricht an P i ; Sende INQUIRE-Nachricht Nachricht an P k ; /* Warte auf RELINQUISH oder RELEASE von P k */ Verteilte Systeme, Sommersemester 999 Folie 7.34 (c) Peter Sturm, Universität Trier 7
18 Algorithmus P k ε S i empfängt INQUIRE-Nachricht Nachricht von P j : ) wenn ein Prozess ε S k ein FAILED an P k geschickt hat dann Hebe bereits angelaufene LOCK s auf; Sende RELINQUISH an P j ; sonst Sende RELEASE nach Verlassen des kritischen Abschnitts;... usw. usw. Algorithmus garantiert wechselseitigen Ausschluß verhindert Deadlocks ist fair! Verteilte Systeme, Sommersemester 999 Folie 7.35 Algorithmus Nachrichten-Komplexität: c n n c ε [6... ] Algorithmus kann verbessert werden: Die REQUEST GRANTING -Mengen S i sind im Gitter nicht minimal! Lösung: Problem aus der projektiven Geometrie Für r bestimmte n sind minimale S i möglich (S i = Potenz einer Primzahl) Im minimalen Fall ist die Nachrichten-Komplexit Komplexität c n n c ε [3... 5] Verteilte Systeme, Sommersemester 999 Folie 7.36 (c) Peter Sturm, Universität Trier 8
19 Algorithmus Fehlertoleranz: Bei Ausfall von P i muß die Request-Grant Grant-Menge S i von einem anderen Rechner übernommen werden! Interessant: Das wissen von P i ist in σ( n) n)-nachrichten wieder herleitbar! Verteilte Systeme, Sommersemester 999 Folie 7.37 Ein optimaler Algorithmus c) Raymond s Algorithmus (989) Idee: Topologie ist ein spannender Baum P P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 P P... Ein Prozess P i besitzt das Privileg ( Token Token ), den kritischen Abschnitt zu betreten P i Verteilte Systeme, Sommersemester 999 Folie 7.38 (c) Peter Sturm, Universität Trier 9
20 Ein optimaler Algorithmus c) Raymond s Algorithmus (989) Idee: Topologie ist ein spannender Baum P P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 P P... Ein Prozess P i besitzt das Privileg ( Token Token ), den kritischen Abschnitt zu betreten P i Die anderen Prozesse wissen in welcher Richtung es zu finden ist! Verteilte Systeme, Sommersemester 999 Folie 7.39 Nachrichten-Arten: REQUEST : Ein Prozess will das Token! (Privileg) PRIVILEG : Hier ist das Privileg! Lokale Variablen für P i : HOLDER = self oder Name eines direkten Nachbarn in dessen Richtung das Privileg liegt. USING : bool = true wenn P i im kritischen Abschnitt ist (USING Holder self) REQUEST-QUEUE QUEUE = FIFO Schlange angekommener Request- Nachrichten von Prozessen, die das Privileg noch nicht hatten ASKED : bool = true Request nach Privileg in Richtung HOLDER ist bereits verschickt worden. Enthält nur self und Namen direkter Nachbarn! Verteilte Systeme, Sommersemester 999 Folie 7.4 (c) Peter Sturm, Universität Trier 2
21 Algorithmus Prozess P i will Privileg: ) Füge self self an REQUEST-QUEUE QUEUE an; 2) wenn ASKED dann sende REQUEST an HOLDER; ASKED true; Prozess P i emfängt Request von P i : ) Füge P i an REQUEST-QUEUE QUEUE an; 2) wenn ASKED dann sende REQUEST an HOLDER; ASKED true; Prozess P k hat Privileg und will es loswerden: ) wenn REQUEST-QUEUE > dann X Kopf von REQUEST-QUEUE QUEUE; Lösche Kopf der REQUEST-QUEUE QUEUE; Holder X; sende PRIVILEGE an HOLDER; asked false; using false; Verteilte Systeme, Sommersemester 999 Folie 7.4 Algorithmus Prozess l empfängt Privileg von P m : ) X Kopf von REQUEST-QUEUE QUEUE; 2) Lösche Kopf von REQUEST-QUEUE QUEUE; 3) wenn X = self then Using true; <kritischer Abschnitt> sonst HOLDER X; sende Privilege an HOLDER; Verteilte Systeme, Sommersemester 999 Folie 7.42 (c) Peter Sturm, Universität Trier 2
22 Algorithmus Garantiert wechselseitigen Ausschluß Verhindert Deadlock s: spannender Baum ist azyklisch Privileg trifft nach endlicher Zeit auf einen Request. Fair! (FIFO( FIFO-Queue s) Nachrichten-Komplexität: σ (log k n) k = Grad des Baums Verbesserungen Initialisierung: I) Ein Prozeß wird privilegiert II) Sendet INITIALIZE an alle Nachbarn; III) Alle Prozesse, die INITIALIZE empfangen setzen HOLDER INIT-Sender Sender; Sende INITIALIZE an alle Nachbarn; Fehlertoleranz Verteilte Systeme, Sommersemester 999 Folie 7.43 Algorithmus VERGLEICH Le Lann (977)... + Lamport (978) 3 (n-) Ricart & Agrawala (98) 2 (n-) Carvalho & Roucairol... (2(n-)) Ricart & Agrawala (983) n Maekawa (985) c n Raymond (989) log k n Verteilte und Symmetrische Algorithmen Verteilte Systeme, Sommersemester 999 Folie 7.44 (c) Peter Sturm, Universität Trier 22
23 Algorithmus Problem: Es ist nicht einfach zu entscheiden, ob es einen besten Algorithmus gibt! Güte eines Algorithmus hängt nicht allein vom worst worst-case case - Verhalten ab! Empirische Untersuchungen, da mittlere -Verhalten fast nie theoretisch bestimmt werden kann z.b. Ausführliche Simulation aller Algorithmen bis 983 (CNET : Lannion) Parameter: Knoten mittlere Wartezeit Ruhezeiten } Nachrichten Belegtzeiten Verteilte Systeme, Sommersemester 999 Folie 7.45 Algorithmus Wartezeit 2 σ LeLann 77 R/A 8 q 3 Ruhezeiten (Last ) Es gibt keinen besten Algorithmus Verteilte Systeme, Sommersemester 999 Folie 7.46 (c) Peter Sturm, Universität Trier 23
24 Algorithmus... nochmal: Wechselseitiger Ausschluß Idee der Request Request-Grant Grant -Mengen kann erweitert werden! B. A. Sanders (987) 2 Mengen/Prozess: Inform-Menge Menge: Alle Prozesse, die informiert werden müssen, wenn ein bestimmter Prozeß den kritischen Abschnitt verläßt. Request-Menge Menge: Alle Prozesse, die gefragt werden müssen, wenn ein bestimmter Prozeß in den kritischen Abschnitt will. Anpassbar an bestimmte Anwendungen Bestimmte Anforderungen an die Inform- und Request-Mengen Mengen, um wechselseitigen Ausschluß zu garantieren. Verteilte Systeme, Sommersemester 999 Folie 7.47 Literatur: ) Michel Raynal: Algorithmus for mutual Exclusion,, 986 State-Variablen Algorithmen, Nachrichten-basierte Algorithmen: LeLann, Lamport, Ricart & Agrawala 2) Mamoru Maekawa: A n Algorithm for Mutual Exclusion in Decentralized Systems, ACM Transactions on Computer Systems, Vol. 3, No. 2, May 985, pp ) Kerry Raymond: A Tree-Based Algorithm for Distributed Mutual Exclusion, ACM Transactions on Computer Systems, Vol. 7, No., February 989, pp log n - Algorithmus 4) Beverly A. Sanders: The Information Structure of Distributed Mutual Exclusion Algorithms, ACM Transactions on Computer Systems, Vol. 5, No. 3, August 987, pp Verallgemeinerung Verteilte Systeme, Sommersemester 999 Folie 7.48 (c) Peter Sturm, Universität Trier 24
Verteilte 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
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
MehrVerteilte 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
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"
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.
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),
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
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
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
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
MehrGegenseitiger Ausschluss:
Gegenseitiger Ausschluss Gegenseitiger Ausschluss Problemstellung Gegenseitiger Ausschluss Problemstellung Mehrere Prozesse greifen auf gemeinsame Daten/essourcen zu; Problemstellung Mehrere dieser Zugriff
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
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,
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
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
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
MehrSoftwarelösungen: Versuch 4
Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]
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
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
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
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
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
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
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
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
MehrÜbung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012
Übung zu Grundlagen der Betriebssysteme 10. Übung 18.12.2012 Aufgabe 1 a) Was versteht man unter einem kritischen Abschnitt oder kritischen Gebiet (critical area)? b) Welche Aufgabe hat ein Semaphor? c)
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
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
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:
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,
MehrBetriebssysteme Teil 11: Interprozess-Kommunikation
Betriebssysteme Teil 11: Interprozess-Kommunikation 19.12.15 1 Übersicht Grundbegriffe Shared Memory Pipelines Messages Ports Sockets 2 Grundbegriffe Interprocess-Kommunikation = Austausch von Daten über
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
MehrDomä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
MehrMutual Exclusion und Synchronisation. Peter Puschner Institut für Technische Informatik
Mutual Exclusion und Synchronisation Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Gemeinsame Ressourcen BS und Prozesse, parallel laufende Prozesse verwenden die selben Daten
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.
MehrKap. 6.5: Minimale Spannbäume ff
Kap. 6.: Minimale Spannbäume ff Professor Dr. Karsten Klein Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 20. VO 2. TEIL DAP2 SS 2009 2. Juli 2009 SS08 1 Überblick 6.:
MehrÜbersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (5) Bisher. Jetzt. Aktuelle Themen zu Informatik der Systeme: WS 2011/12
Stand der Folien: 15. November 2011 Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Synchronisation (5) 1 Übersicht über die Operationen Mutual-Exclusion
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
MehrAbstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.
Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung
MehrÜbungen zur Vorlesung Verteilte Algorithmen II, Heiko Krumm, Universität Dortmund, FB Informatik
Übung 4: Gegenseitiger Ausschluss (Ricart-Agrawala 1981) Konstanten: n >1 Anzahl der Prozesse; r Adresse des Prozesses, der initial das Token besitzt. Prozessparameter i sei die Adresse der aktuellen Prozessinstanz,
MehrAufgaben: (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
MehrAbschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Abgeschlossenheit (Definition) Gegeben sei eine Menge M und ein n-ärer
MehrLösungsvorschlag Serie 7 Parallelität
7 (1/6) Lösungsvorschlag Serie 7 Parallelität 1. Es sei die folgende Situation vorgegeben: 4 D 3 C 2 E 5 1 B A Im Folgenden sind vier Methoden zur Lösung des Problems dargestellt: (a) Intelligente Kontrolleinheit
MehrKlausur zur Vorlesung Algorithmen und Datenstrukturen
Klausur zur Vorlesung Algorithmen und Datenstrukturen Die Dauer der Klausur beträgt 120 Minuten. Erlaubte Hilfsmittel: Ein selbst handschriftlich beschriebenes DIN A4 Blatt, das komplette Skript zur Vorlesung
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.
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....................................
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrKlausur zur Vorlesung Algorithmen und Datenstrukturen
Klausur zur Vorlesung Algorithmen und Datenstrukturen Die Dauer der Klausur beträgt 120 Minuten. Erlaubte Hilfsmittel: Ein selbst handschriftlich beschriebenes DIN A4 Blatt, das komplette Skript zur Vorlesung
MehrKÖNIGSBERGER BRÜCKENPROBLEM
VOM PROBLEM ZUM PROGRAMM NUTZEN EINES FORMALEN MODELLS (U. A.) Was ist ein Problem? Ein Problem im Sinne der ierung ist durch Computer lösbar. Man kann leichter sehen, ob das Problem - oder Teile davon
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
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Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Sortierte Listen 2. Stacks & Queues 3. Teile und Herrsche Nächste Woche: Vorrechnen (first-come-first-served)
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 16 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Fragen zum zweiten Übungsblatt? 2. Vorbesprechung des dritten Übungsblatts 3. Beispielaufgaben
Mehr3.2 Generischer minimaler Spannbaum-Algorithmus
3.2 Generischer minimaler Spannbaum-Algorithmus Initialisiere Wald F von Bäumen, jeder Baum ist ein singulärer Knoten (jedes v V bildet einen Baum) while Wald F mehr als einen Baum enthält do wähle einen
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
Mehr3. Übungsblatt zu Algorithmen I im SoSe 2017
Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799
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)
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Kapitel 3: Elementare Datenstrukturen Mariano Zelke Datenstrukturen 2/18 Einfach verkettete Listen Mariano Zelke Datenstrukturen 3/18 Eine Zeiger-Implementierung
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
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.
Mehr2. Aufgabenblatt Threads
Fakultät Informatik Institut für Systemarchitektur, Professur für Betriebssysteme Betriebssysteme und Sicherheit, WS 2016/17 2. Aufgabenblatt Threads Geplante Bearbeitungszeit: drei Wochen TEIL A THREADS
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen
MehrZeit als Mittel der Reihenfolgebestimmung
Uhrensynchronisation Notwendigkeit von Uhrensynchronisation Zeit als Mittel der Reihenfolgebestimmung Probleme der Uhrensynchronisation Lamport Vektorduhren Synchronisation von physikalischen Uhren Grundlagen
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
MehrAlgorithmentheorie Randomisierung
Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 9.6.2017 Giuseppe Accaputo g@accaputo.ch 1 Aufbau des PVK Tag 1: Java Teil 1 Tag 2: Java Teil 2 Tag 3: Algorithmen & Komplexität Tag 4: Dynamische Datenstrukturen,
MehrKapitel 6. Verklemmungen (Deadlocks)
Seite 1 Kapitel 6 Verklemmungen (Deadlocks) Prof. Dr. Rolf Hennicker 16.06.2016 6.1 Charakterisierung von Deadlocks Seite 2 Eine Verklemmung entsteht, wenn alle Prozesse in einem System blockiert (d.h.
MehrPrioritäten/Zeitstempel-Verfahren
Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt jede Transaktion
MehrPrioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien
Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt jede Transaktion
MehrDatenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen
Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Amortisierte Analyse Suche in sortierten Arrays Heaps Vorstellen des fünften Übungsblatts
MehrDie Anweisungen zweier Prozesse werden parallel bearbeitet, wenn die Anweisungen unabhängig voneinander zur gleichen Zeit ausgeführt werden.
7 Parallelität und Nebenläufigkeit Mehrere Prozessen oder Threads Parallelität Die Anweisungen zweier Prozesse werden parallel bearbeitet, wenn die Anweisungen unabhängig voneinander zur gleichen Zeit
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
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
MehrWiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute
Wiederholung: Zusammenfassung Felder Algorithmen und Datenstrukturen (für ET/IT) Wintersemester / Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Ein Feld A kann repräsentiert
Mehr8. Synchronisations-Verfahren
8. Synchronisations-Verfahren Die verschiedenen Synchronisationsverfahren unterscheiden sich i.w. dadurch, wie sie die Einhaltung des Serialisierbarkeitsprinzips gewährleisten wann die Prüfung auf Serialisierbarkeit
MehrInteraktive Ausführung von verteilten
Interaktive Ausführung von verteilten Algorithmen Distributed Algorithms in Java (DAJ) Mordechai Ben-Ari Weizmann Institute of Science Seminar zur Visualisierung verteilter Systeme Christoph Jacob Überblick
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion
MehrCounting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit
Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält
MehrCopyright, Page 1 of 7 Heapsort
www.mathematik-netz.de Copyright, Page 1 of 7 Heapsort Alle grundlegenden, allgemeinen Sortierverfahren benötigen O(n 2 ) Zeit für das Sortieren von n Schlüsseln. Die kritischen Operationen, d.h. die Auswahl
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen
MehrDatenstrukturen und Algorithmen
Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/1 Datenstrukturen und Algorithmen Vorlesung 14: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/
MehrSS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen
SS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen Martin Dietzfelbinger April 2010 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS10 Kapitel 2 Datentyp
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
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
MehrVisuelle Kryptographie. Anwendung von Zufallszahlen
Visuelle Kryptographie Anwendung von Zufallszahlen Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken, so dass Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken,
MehrGrundlagen: Überblick
Grundlagen: Überblick Verteilte Systeme Definition Grundbegriffe Kommunikation Klassifikation von Fehlern Begriffe Fehlerarten Analyse von Algorithmen Korrektheit Komplexität Verteilte Algorithmen (VA),
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
MehrSynchrone Botschaften
Synchrone Botschaften PPJ-84 Prozesse kommunizieren und synchronisieren sich direkt miteinander, bzw. über Kanäle, die höchstens eine Botschaft aufnehmen. Operationen: send (b): receive (v): blockiert
MehrGliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest
Gliederung Algorithmen und Datenstrukturen I Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10,
MehrVoronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :
MehrSoftwareprojektpraktikum Maschinelle Übersetzung
Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl max.bleu@i6.informatik.rwth-aachen.de Vorbesprechung 5. Aufgabe 22. Juni 2017 Human Language Technology
MehrVerteilte 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,
MehrFACHHOCHSCHULE MANNHEIM
Objektorientierte Programmierung 11. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Die 2. lgruppe von KobrA: : le der : e Folie 1 Zur Erinnerung: 1. lgruppe:
MehrVerteilte Systeme Teil 2
Distributed Computing HS 2015 Prof. Dr. Roger Wattenhofer Prüfung Verteilte Systeme Teil 2 Mittwoch, 27. Januar 2016 15:00 18:00 Die Anzahl Punkte pro Teilaufgabe steht jeweils in Klammern bei der Aufgabe.
MehrVisualisierung paralleler bzw. verteilter Programme
Seminar Visualisierung in Informatik und Naturwissenschaften im SS 1999 Visualisierung paralleler bzw. verteilter Programme Holger Dewes Gliederung Zum Begriff Motivation PARADE Beispiel 1: Thread basierte
MehrÜbungsblatt 2: Betriebssysteme, Prozesse
Ludwig-Maximilians-Universität München München, 13.05.2009 Institut für Informatik Priv.-Doz. Dr. Peer Kröger Thomas Bernecker Einführung in die Informatik: Systeme und Anwungen SS 2009 Übungsblatt 2:
MehrKapitel IV. Prozesssynchronisation. VO Betriebssysteme
Kapitel IV Prozesssynchronisation 1 Motivation: Nebenläufigkeit Zentrale Bedeutung der Verwaltung von Prozessen und Threads Mehrprogrammbetrieb: : mehrere Prozesse in einem sequentiellen Einprozessorsystem
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)
Mehr