Verteilte Algorithmen Kap. 3: Ordnungen und Reihenfolgen
|
|
- Klemens Roth
- vor 8 Jahren
- Abrufe
Transkript
1 Verteilte Algorithmen, WS 2015/16 wk Verteilte Algorithmen Kap. 3: Ordnungen und Reihenfolgen Winfried E. Kühnhauser Wintersemester 2015/16 Winfried E. Kühnhauser CSI Technische Universität Ilmenau
2 Roadmap START 1 Intro 2 Theoretische Grundlagen 3 Ordnungen und Reihenfolgen 4 Synchronisation 5 Konsens ZIEL Verteilte Algorithmen, WS 2015/16 wk Ordnungen und Reihenfolgen
3 Bob hup Christian Anna Sichten: Annas Sicht: hup Bob zeitgleich mit hup Christian Bobs Sicht: hup Bob früher als hup Christian Christians Sicht: hup Bob später als hup Christian Konsequenz der Kommunikationslatenz (Schallgeschwindigkeit): 3 Beobachter, 3 verschiedene Sichten auf dieselbe Ereignisfolge Verteilte Algorithmen, WS 2015/16 wk Ordnungen und Reihenfolgen 3 Ordnungen und Reihenfolgen
4 Verabredung: Treffen in der Berghütte um 5 Uhr Synchronisation der lokalen Uhren: Bob Lichtsignal Christian Anna Resultat alle drei treffen zu unterschiedlichen Zeiten ein alle drei glauben, sie selbst seien pünktlich Konsequenz lokaler Uhren: 3 Menschen, 3 unterschiedliche Auffassungen von zuvor synchronisierter... Zeit Verteilte Algorithmen, WS 2015/16 wk Ordnungen und Reihenfolgen
5 Ordnungen spielen eine zentrale Rolle für eine Vielzahl von Koordinations-, Sicherheitsund Fehlertoleranzalgorithmen Ordnung herstellen: Reihenfolge verteilt auftretender Ereignisse Fairness; Auswahlalgorithmen wie First Come, First Served Serialisierung verteilter atomarer Transaktionen Softwaremanagement; z.b. Programme wie make oder rsync IT-Sicherheit: Zeitstempel in kryptografischen Protokollen ( Frische, z.b. in Authentisierungsprotokollen, IPSec) in Authentisierungs- und Autorisierungstickets (Gültigkeitsdauer)... aber auch bei zunächst überraschenden Problemlösungen Effizienz Implementierung von RPC-Fehlersemantiken Verteilte Algorithmen, WS 2015/16 wk Ordnungen und Reihenfolgen
6 Roadmap Kap. 3 Ordnung und Reihenfolgen zeitliche Ordnungen Zeitbasis physische (Echtzeit-)Uhren Referenzzeitquellen Merkmale physischer Rechneruhren Algorithmen zur Synchronisation physischer Uhren kausale Ordnungen Grundlage logische Uhren Algorithmen zur Synchronisation logischer Uhren Verteilte Algorithmen, WS 2015/16 wk Ordnungen und Reihenfolgen
7 3.1 Zeitliche Ordnungen Beispiel: das Unix-Dienstprogramm make make organisiert Sparsamkeit Makefile: all: gcc -o foo foo.c make all Übersetzung von foo.c genau dann wenn foo nicht existiert oder foo älter ist als foo.c Verteilte Algorithmen, WS 2015/16 wk Zeitliche Ordnungen
8 Szenario foo.c auf Fileserver (montiert auf /src) foo und Übersetzung auf Workstation edit und make all auf Workstation Makefile: all: gcc -o foo /src/area51/foo.c File Server Workstation edit von foo.c lokale Uhren Erzeugung von foo make all die Wirklichkeit: foo.c jünger als foo muss übersetzt werden lokale Sichten: foo.c älter als foo muss nicht übersetzt werden Verteilte Algorithmen, WS 2015/16 wk Zeitliche Ordnungen
9 Monolithische Systeme: eine gemeinsame Zeitquelle Das Problem Verteilte Algorithmen, WS 2015/16 wk Zeitliche Ordnungen
10 Das Problem Verteilte Systeme: viele lokale Zeitquellen Task Task Task Task Wie schaffen wir eine gemeinsame Zeit? Verteilte Algorithmen, WS 2015/16 wk Zeitliche Ordnungen
11 3.1.1 Grundlagen Zeitbasis verteilter Systeme eine UTC-basierte Referenzzeit lokale Rechneruhren Synchronisationsalgorithmus 3 Problemfelder UTC weltweite, standardisierte Zeitreferenz (früher GMT) (Temps Universel Coordonné, Coordinated Universal Time); MEZ=UTC+1h abgeleitet aus der Temps Atomique International (TAI, 260 Uhren) Drift (Cäsium-Fontäne, 1 Sek. in 20 Mio. Jahren) veröffentlicht durch landgestützte Radiosender; Jitter (Latenzschwankung) 0,1-10 msek, je nach Entfernung vom Sender (bis 3000 KM), Wetterbedingungen GPS-Satelliten, Jitter 1 msek, abhängig von Ionendichte der Atmosphäre Verteilte Algorithmen, WS 2015/16 wk Grundlagen
12 3.1.1 Grundlagen Zeitbasis verteilter Systeme eine UTC-basierte Referenzzeit lokale Rechneruhren Synchronisationsalgorithmus Problemfelder UTC weltweite, standardisierte Zeitreferenz (früher GMT) (Temps Universel Coordonné, Coordinated Universal Time); MEZ=UTC+1:00 abgeleitet aus der Temps Atomique International (TAI) Drift (Cäsium-Fontäne, 1 Sek. in 20 Mio. Jahren) veröffentlicht durch landgestützte Radiosender; Jitter (Latenzschwankung) 0,1-10 msek, je nach Entfernung vom Sender (bis 3000 KM), Wetterbedingungen GPS-Satelliten, Jitter 1 msek, abhängig von Ionendichte der Atmosphäre Verteilte Algorithmen, WS 2015/16 wk Grundlagen
13 Rechneruhren elektronische Baugruppe zählt Schwingungen eines Quarzes macht Zähler über Speicherzellen/Register verfügbar wandelt Zähler in übliche Zeit- und Datumsformate um Betriebssysteme machen diese über funktionale Schnittstelle verfügbar; z.b. an der Unix-API durch gettimeofday(struct timeval *tv, struct timezone *tz); settimeofday(const struct timeval *tv, const struct timezone *tz); struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* microseconds */ }; Verteilte Algorithmen, WS 2015/16 wk Grundlagen
14 Merkmale von Rechneruhren Auflösung Zeitintervall zwischen zwei Zählerinkrementierungen typische Frequenz heutiger Rechneruhren 1GHz Auflösung 1 Nanosekunde Drift langsames Entfernen von Referenzzeit typische Drift heutiger Rechneruhren etwa 10-6, d.h. 1 Sek in 11 Tagen synchronisierte Uhren divergieren (schon nach 500 Mikrosekunden) Synchronisation; wann, wie oft, wie? Verteilte Algorithmen, WS 2015/16 wk Grundlagen
15 Beispiel: Computer-Aided Engineering Analyse der Verbrennungsvorgänge in Otto-Motoren Optimierung von Verbrauch Leistung Schadstoffemission Verteilte Algorithmen, WS 2015/16 wk Grundlagen
16 Echtzeit-Messwerterfassung Messwerterfassung Steuerung Auswertung (Zeit, Licht, Druck) Worst-case Abstand zweier Uhren mit Driftrate 10-6 nach 10 Sek.: 10 sek = nsek (~ 2mm Kolbenbewegung, faches Auflösungsvermögen einer typischen Rechneruhr) Folgen der Drift nach wenigen Minuten entspricht Abstand einem kompletten Hub Synchronisation notwendig, je nach erforderlicher Präzision durch spezielle Hardware (in obigem Beispiel) Synchronisationsalgorithmus (make-szenario) Verteilte Algorithmen, WS 2015/16 wk Grundlagen
17 Synchronisation von Echtzeit-Uhren Übereinstimmung einer Rechneruhr mit perfekter UTC hängt ab von Präzision des Referenzzeitgebers Jitter der Signallaufzeit: Abstand vom Zeitgeber, atmosphärische Bedingungen Drift der lokalen Uhren Synchronisation wie oft Qualität des Algorithmus Kalkulierbarkeit der Kommunikationsdauer (Jitter) Punkt 1: die Physiker arbeiten (optische Strontium-Uhren; 2013: ) Punkt 2 und 3: die Ingenieure arbeiten (Referenzpunkte, Korrektursignale, Uhren) Punkt 4: wir können etwas tun Verteilte Algorithmen, WS 2015/16 wk Grundlagen
18 Quantifizierung der Drift: Wann Synchronisation? Abstand der Uhrensynchronisation, so dass die maximale Uhrenabweichung nicht mehr als ein bestimmtes δ beträgt? t: perfekte Zeit c(t): driftbehaftete Rechneruhr, nähert t mittels Funktion c an Idealfall : c( t) = t, c( t ) c( t d. h. t t c(t) c(t 2 ) c(t 1 ) 2 1 ) dc dt 2 1 = = Bereich zu schneller Uhren: dc dt > 1 1 Bereich zu langsamer Uhren: dc dt dc perfekte Uhr : = 1 dt < 1 (1. Ableitung von c) t 1 t 2 t Verteilte Algorithmen, WS 2015/16 wk Grundlagen
19 Rechneruhr mit maximaler Driftrate ρ Maximale Driftrate ρ ist Teil jeder Uhren-Spezifikation dc eine Uhr arbeitet innerhalb ihrer Spezifikation 1 ρ 1+ ρ dt heute typische Größe für Rechneruhren: 10-6 ρ 10-5 Wirkung der Drift Maximaler Abstand δ zweier synchronisierter Uhren mit Driftraten ρ 1 und ρ 2 nach Δt: δ (ρ 1 +ρ 2 )Δt Resynchronisation zweier Uhren, die nicht weiter als δ abweichen dürfen, nach Δt = δ ρ 1 + ρ 2 Sekunden Verteilte Algorithmen, WS 2015/16 wk Grundlagen
20 Δt = δ ρ 1 + ρ 2 Sekunden Beispiel: ρ 1 =ρ 2 =10-5 Abweichung nach 1 Tag (Δt =86400 sek): δ 1,728 sek bei max. Abweichung von δ =1 µsek Synchronisation nach Δt = = 50 msek Verteilte Algorithmen, WS 2015/16 wk Grundlagen
21 3.1.2 Zeitsynchronisation nach Cristian Szenario verteiltes System Zeitserver mit Referenzzeit Klienten mit lokalen Uhren maximal zulässige Uhrenabweichung δ Synchronisationsalgorithmus Parameter δ die Driftraten ρ i der lokalen Echtzeituhren Verfahren jeder Klient synchronisiert seine Echtzeit-Uhr mit dem Zeitserver klientenspezifisches Synchronisationsintervall: Δt Klient = δ/ρ Klient Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
22 Schritte je Klient und Algorithmusablauf 1. Klient: Anfordern der Zeit beim Zeitserver 2. Zeitserver: Antwortet mit aktueller Uhrzeit 3. Klient: Korrektur der lokalen Uhr Klient Hm how much watch? so much watch! Zeitserver Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
23 Korrekturfaktoren Probleme des Cristian schen Verfahrens: 1. Botschaftenlaufzeit veraltete Uhrzeit T 1 T 2 Klient Zeitserver Korrekturfaktor K = halbe round-trip-zeit der Zeitanfrage K T 2 T = Jitter der Botschaftenlaufzeiten Ungenauigkeit des Korrekturfaktors Verfeinerung: Verwendung statistischer Mittelwerte für T 2 - T 1 Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
24 3. Unbekannte Serverlast Ungenauigkeit des Korrekturfaktors? T trans T 1 T S T 2 Klient T trans Zeitserver Verfeinerung: Berücksichtigung der Bearbeitungszeit T S des Servers Annahmen Laufzeiten der beiden Botschaften sind annähernd gleich (wenig Jitter) Server sieht unmittelbar vor Absenden der Antwort auf die Uhr, d.h. K T trans Server schickt zusätzlich T S T T = 2T trans + T 2 1 S, d.h. K = T trans T = T1 T 2 2 S Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
25 Der Algorithmus im asynchronen Modell Tasks Zeitserver timesv n Klienten timecl i (für alle Klienten identisch) Parameter maximale Uhrenabweichung δ klientenspezifische lokale Driftrate ρ i (Vereinfachende) Annahmen einfacher Korrekturfaktor K = T T Driftrate sämtlicher Klientenuhren 10-5 Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
26 Der Algorithmus im asynchronen Modell Kommunikationstopologie und Komponenten G=(N,E) mit N = { timesv} { timecl i 1 i n} E = {(timecl i,timesv) 1 i n} (timesv,timecl i ) 1 i n { } In timecli = {(timesv,timecl i )},1 i n Out timecli = {(timecl i,timesv)},1 i n In timesv = (timecl i,timesv) 1 i n N 0 = { timesv} { } { } Out timesv = (timesv,timecl i ) 1 i n Botschaften: timerequest timereply(time_t time) Verteilte Algorithmen, WS 2015/16 wk z.b. für n=4 timecl 3 timecl 4 timecl 2 timesv timecl Zeitsynchronisation nach Cristian
27 Ein Klient i, 1/2 Async Cristian timecl i : Ø Variables: ρ i 10-5 ; // drift of clock local to timecl i δ 20msek; // max. clock synch deviation t1, t2, time time_t; wakeup {true,false} true. Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
28 Ein Klient i, 2/2 Ø Input: // initiate time sync cycles when wakeup. Action: t1 getlocaltime(); send timerequest to (timecl i, timesv); // trigger next clock sync: wakeup false; setlocaltimer(δ/ρ i, wakeup). // wakeup true after δ/ρ i Ø Input: msg=timereply(time). Action: t2 getlocaltime(); setlocaltime(time + (t2-t1)/2). // simple correction Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
29 Der Server Async Cristian timesv: Ø Variables: timecl N \ {timesv}. Ø Input: // init, at tic 0 msg=nil. Action if timesv N 0 : startlocalutctimer(). Ø Input: msg=timerequest, origin(msg)=(timecl,timesv) In TimeSv. Action: send timereply(getutctime()) to (timesv,timecl) Out TimeSv. Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
30 Anmerkungen zur Algorithmusbeschreibung präzise Beschreibung sämtlicher Algorithmuskomponenten: N präzise Beschreibung sämtlicher Kommunikationsbeziehungen: E, In, Out präzise Beschreibung des Algorithmusanlaufs: N 0 ={timesv} präzise Aussagen ( Async ) über Algorithmus- und Botschaftenlaufzeiten, Reihenfolgen, Zeitkomplexität präzise Beschreibungen der Algorithmuskomponenten Async Cristian timecl i Async Cristian timesv mit lokalen Variablen, deren Wertebereichen und Initialisierung Initialisierung gesendete und empfangene Botschaften Reaktionen auf Botschaften und Bedingungen Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
31 Einschränkungen des Cristian schen Algorithmus grundsätzliche Voraussetzung Referenz- (UTC) Zeitserver Monotonie der Zeit schnelle Klientenuhren führen zu ihrem Rücksetzen Skalierbarkeit Zeitserver ist Last-Engpass Präzision Jitter der Botschaften-Laufzeiten, z.b. in Weitverkehrsnetzen Ausfalltoleranz Zeitserver ist single-point-of-failure nicht für beliebige Einsatzszenarien geeignet Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
32 Möglichkeiten der Professionalisierung Monotonie der Zeit sanftes Abbremsen der Uhr statt hartes Setzen (vgl. Unix-adjtimex()) Korrektur der Frequenz der lokalen Uhr Skalierbarkeit und Ausfalltoleranz Lastverteilung und Redundanz: Zeitserver-Gruppe ein anderer Synchronisationsalgorithmus Verteilte Algorithmen, WS 2015/16 wk Zeitsynchronisation nach Cristian
33 3.1.3 Der Berkeley-Algorithmus wie spät? Klient 1. Server: sendet Zeitanfrage an Klienten Zeitserver Klient Klient 3:10 Klient 2. n Klienten returnieren ihre lokale Uhrzeit t i 3. Server: Mittelwertbildung: t = n i=1 t i n Zeitserver 3:09 3:14 Klient Klient +1 Klient 4. Server: sendet t-t i an alle Klienten i; z.b. bei t = 3:11 Zeitserver +2-3 Klient Klient Verteilte Algorithmen, WS 2015/16 wk Der Berkeley-Algorithmus
34 Wertung Pros keine UTC-Uhr notwendig, Zeitbestimmung durch Mittelwertbildung Präzisionsverbesserung durch klientenspezifische Laufzeitstatistiken Server ist kein spof, jeder kann diese Aufgabe übernehmen (falls Klienten sich untereinander kennen...) Kontras nicht UTC-synchronisiert Präzisionsproblem durch Jitter skaliert nicht besonders gut Lastengpass beim Server Abgleichintervalle nicht ρ i -spezifisch, orientieren sich an schlechtester Uhr das Network Time Protocol (NTP) Verteilte Algorithmen, WS 2015/16 wk Der Berkeley-Algorithmus
35 3.1.4 Das Network Time Protocol Ziel verlässliche, skalierbare UTC-Zeitsynchronisation in Netzen mit schwankenden Botschaftenlaufzeiten Anwendungsszenarien z.b. Internet-Zeit Infrastrukturen: Kommunikationssysteme, Energienetze, Verkehrsmanagement Nicht zu verwechseln mit PTP (Precision Time Protocol, IEEE 1588): Standard für Mess- und Steuerungssysteme Industrieautomatisierung räumlich begrenzt Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
36 Leistungen Präzision; typische Werte (Abweichung von UTC) 10 Millisekunden über WANs <1 Millisekunde in LANs <1 Mikrosekunde in LANs mit lokaler UTC-Uhr Verlässlichkeit; Umgang mit fail-stop Ausfällen byzantinischen Ausfällen Angriffen Implementierungsfehlern Lastskalierbarkeit; Organisation von Servernetzen automatische Optimierung Gegenstand Anzahl und Beziehungen der Zeitserver Synchronisationsalgorithmen Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
37 NTP ist der Standardzeitdienst im Internet (derzeit > Server) weit mehr als ein Protokoll: eine weltweit verteilte Klient/Server- Infrastruktur Klienten mit spezifischen Synchronisationsalgorithmen zu Servern Servern in unterschiedlichen Rollen mit unterschiedlichen Kommunikationsbeziehungen Atom/GPS/Funkuhren Stratum-1-Server Stratum-2-Server Stratum-3 Server Stratum-4 (Klienten) Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
38 NTP-Architektur Hierarchische, baumartig strukturierte verteilte Synchronisationstopologie Knoten: Zeitserver und -klienten Kanten: Kommunikationswege zur Synchronisation stratum-1: Primär-Server mit UTC-Uhr stratum-2: direkter Sekundärserver, synchronisiert mit stratum-1 stratum-3: indirekter Sekundärserver, synchronisiert mit stratum-2 Blätter: Arbeitsplatzrechner Auswahl eines Servers basierend auf Abstand zu UTC Server Stratum Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
39 3 Formen der Zeitsynchronisation 1. Zeitansage per Multicast in LANs mit Multicast (schwach synchronisiert) Zeitserver senden periodisch Zeitbotschaften an Empfänger (Dämonen), die auf Arbeitsplatzrechnern ablaufen eine Zeitbotschaft (typisch per UDP) stratum i LAN es ist 7 Uhr, 5 Min und 10 Sek es ist 7 Uhr, 5 Min und 20 Sek... stratum i+1 Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
40 2. Zeitabfrage für höhere Genauigkeit, für Netze ohne Multicast Cristian-Algorithmus benutzt durch Fileserver, Authentisierungsserver, Autorisierungsserver, Namensdienste, oft auch schon Workstations request/reply Botschaftenpaare per UDP stratum i wie spät ist es? LAN es ist 7 Uhr, 5 Min und 10 Sek stratum i+1 Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
41 3. Symmetrischer Zeitabgleich auf kleinen strata, zwischen Zeitservern in LANs bidirektionaler Fluss von Zeitinformationen; benutzt zwischen den Zeitservern der oberen strata zwei Zeitbotschaftenpaare, ausgetauscht per UDP stratum-1 sync WAN stratum-2 LAN stratum-3 Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
42 Synchronisationsschema Ziel Synchronisation des Zeitservers A mit Zeitserver B Methode A bestimmt Offset o der lokalen Uhr von der Uhr des Zeitservers B 1. Abschätzen von o durch Austausch eines Botschaftenpaars 2. Berechnung des dabei gemachten Fehlers 3. Falls dieser zu groß ist, Neuversuch B sync WAN A LAN Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
43 Abschätzung des Offsets b,b : Synchronisationsbotschaftenpaar T i-3... T i : lokale Uhrzeiten Server A Server B T i-3 b: (T i-3 ) T i-2 T i b : (T i-3,t i-2,t i-1 ) T i-1 Mit t und t als (unbekannten) Laufzeiten von b und b und o als (unbekanntem) Uhrenoffset gilt Ti 2 = Ti 3 + t + o T = T + t' o i i 1 (falls o sich im Zeitintervall [T i-2,t i-1 ] nicht ändert) Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
44 Umformung Auflösen von Ti 2 = Ti 3 + t + o T = T + t' o i i 1 nach o ergibt o o = Ti 2 Ti 3 t = Ti 1 Ti + t' Addition der Gleichungen ergibt oder nach Umsortieren 2o = Ti 2 Ti 3 t + Ti 1 Ti + t o T T + T 2 T t' 2 i 2 i 3 i 1 i t = + ' Dieser nun isolierte Term... Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
45 o T T + T 2 T t' 2 i 2 i 3 i 1 i t = +... ist in A zum Zeitpunkt T i die einzige Unbekannte in dieser Gleichung. Wenn wir die bekannten Größen als Abschätzung o i für den momentanen Uhrenabstand o wählen, dh. Ti 2 Ti 3 + Ti 1 Ti o = o i + t ' t mit oi = 2 2 dann lässt sich zeigen (siehe Übungen), dass o i d i 2 o o i + d i 2 Mit anderen Worten, o wird durch o i mit maximalem Fehler d i / 2 angenähert, wobei d i = t + t' = Ti 2 Ti 3 + Ti Ti 1 die Gesamtübertragungszeit der beiden Botschaften b und b ist. Dass d i =t+t wirklich so aussieht, lässt sich analog zur Bestimmung von o zeigen Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
46 Wir hatten das Gleichungssystem Ti 2 = Ti 3 + t + o T = T + t' o i i 1 Umsortieren ergibt t = Ti 2 Ti t' T T 3 = i i 1 + o o d.h. die Summe der Botschaftenlaufzeiten d i ist tatsächlich d i = t + t' = Ti 2 Ti 3 + Ti Ti 1 und der durch d i charakterisierte Fehler ist errechenbar unabhängig vom realen Offset der beiden Uhren. Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
47 Erreichtes Term, der auf der Basis nur eines Botschaftenpaars eine Annäherung des augenblicklichen Uhrenabstands gibt: o i = T i 2 T i 3 +T i 1 T i 2 Term, der den bei dieser Annäherung maximal gemachten Fehler gegenüber dem tatsächlichen Offset o angibt: mit o i d i 2 o o i + d i 2 d i = T i 2 T i 3 +T i T i 1 Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
48 Messergebnisse des Synchronisationserfolgs Abweichung von UTC 1-50 Millisekunden in WANs 99% weniger als 30 Millisekunden typische Werte (NTPv4) 10 Millisekunden über WANs <1 Millisekunde in LANs Ergänzende Techniken zur Präzision Netz-Jitter Filterung Gewichtung der Zeitinformationen nach ihrer Quelle (strata) Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
49 Verlässlichkeit fail-stop Ausfall einer Primärserver-Uhr Server wird zum Sekundärserver fail-stop Ausfall eines stratum-i Servers abhängige stratum-i+1 Server suchen neuen stratum-i Server byzantinische Ausfälle, Angriffe: digital signierte Zeitinformationen authentisch integritätsgesichert Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
50 Skalierbarkeit Aufteilung der Last auf Servernetzwerk Verteilte Algorithmen, WS 2015/16 wk Das Network Time Protocol
51 Idee Anwendungsbeispiele Nutzung synchronisierter Zeit für effiziente Lösungen ganz anderer Probleme Beispiel Implementierung von RPC-Fehlersemantiken Recap: Fehlersemantiken beim RPC Spezifikation der Garantien, die ein Kommunikationsmodell auch bei partiellen Ausfällen gibt; etablierte Fehlersemantiken: exactly-once at-most-once at-least-once Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
52 At-most-once-Garantien bei Erfolgsmeldung: Ausführung genau 1 bei Fehlermeldung: höchstens 1x, d.h. Ausführung gar nicht, partiell, oder genau 1 Implementierung Höchstens 1x Duplikatfilterung im RPC-Server keine mehrfache Operationsausführung bei Wiederholung des Aufrufs Neusenden der (gespeicherten) Ergebnisse Ein Server muss dazu Duplikate erkennen können Ergebnisse speichern Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
53 Straight-forward Implementierung der Aufrufer versieht jeden RPC mit einer eindeutigen Identifikation der RPC-Server speichert Identifikationen aller ausgeführten RPCs speichert Ergebnisse aller ausgeführten RPCs erkennt Wiederholungen (und sendet dann lediglich Ergebnisse erneut) Schutz vor Serverausfall persistente Speicherung der RPC-Identifikation persistente Speicherung der RPC-Ergebnisse! bei jedem RPC (sehr teuer)! und wie lange? (sehr unscharf) so naiv geht das nicht Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
54 Implementierung bei synchronisierter Zeit Ziele Weg Vermeidung der Kosten der persistenten Speicherung von Identifikationen Präzisierung des Zeitraums, für den Ergebnisse verwahrt werden müssen der Aufrufer versieht jeden RPC mit einer eindeutigen Identifikation, bestehend aus einer Klienten-Id einem Zeitstempel der RPC-Server speichert je Klient den letzten Zeitstempel (flüchtig, preiswert) speichert Ergebnisse aller ausgeführten RPCs erkennt Wiederholungen und sendet dann lediglich Ergebnisse erneut ausreichend für Erkennen von Duplikaten im Normalfall Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
55 Folge bei Serverausfall Flüchtigkeit der RPC-Identifikationen Server erkennt nach Wiederanlauf keine Duplikate Idee: der Server merkt sich lediglich ungefähren Ausfallzeitpunkt persistent erkennt alle RPCs, die das Potenzial zu einem Duplikat haben die vor dem Ausfallzeitpunkt eingetroffen sind also möglicherweise vorher noch ausgeführt wurden dazu reichen 2 Zeiten: Zeitstempel eines RPCs Ausfallzeitpunkt eintreffende RPCs eventuell ausgeführt keinesfalls ausgeführt Ausfallzeitpunkt Zeit Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
56 Dann wird evtl. ein gar nicht ausgeführter RPC als Duplikat eingestuft schadet aber nicht, da at-most-once-konform; Klient wird Aufruf schon wiederholen führt im (seltenen) Fehlerfall evtl. zu höherem Wiederanlaufaufwand reduziert im Normalfall kostenträchtige Operationen auf persistentem Speicher so geht s eventuell ausgeführt keinesfalls ausgeführt eintreffende RPCs Ausfallzeitpunkt Zeit Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
57 Die Voraussetzungen eine globale Zeit mit maximaler Abweichung δ alle Knoten (Klienten, Server) haben eine synchronisierte Zeit jeder Klient versieht einen RPC mit dessen Geburtsdatum eine globale Konstante, die maximale Lebensdauer MLD eines RPCs der RPC-Server berechnet einen Stichzeitpunkt l (von lates ) durch l = t Server - MLD - δ und bestimmt damit die Länge eines Zeitschweifs innerhalb des Schweifs geborene RPCs gelten als lebendig früher geborene gelten als verstorben (die lates ) RPCs im Server zum Zeitpunkt t Server l δ MLD t Server Zeit Zeitschweif eines lebendigen RPCs Zeitschweif noch aus Kulanz wg. Uhrentoleranz δ lebendigen RPCs Zeitschweif eines verstorbenen RPCs Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
58 Der Algorithmus alle ΔT Zeiteinheiten* ) schreibt Server t Server auf persistenten Speicher Wiederanlauf des Servers: l persistenterspeicher.t Server + ΔT; dieser Zeitpunkt ist später als der Ausfallzeitpunkt; Folgen: sämtliche eintreffenden RPCs mit jüngerem Zeitstempel sind mit Sicherheit noch nicht bearbeitet eintreffende RPCs mit älterem Zeitstempel werden vom Server als verstorben betrachtet: sind entweder schon bearbeitet oder aber sind es noch nicht Pech, jedoch at-most-once-konform, so dass der Aufrufer korrekt reagieren wird Anmerkung l löst gleichfalls das Problem der Dauer des Speicherns von Ergebnissen: werden weggeworfen in dem Augenblick, da der zugehörige RPC verstirbt * ) Größe von ΔT: Adaption an individuelle Anwendungsmerkmale Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
59 Beispiel ΔT=2 tics, δ=1 tic, max. RPC-Lebenszeit MLD=3 tics Ausfallzeitpunkt Wiederanlauf lokale Serverzeit t pers.sp. t pers.sp. t pers.sp. t pers.sp. t= 99: l = 95; l t-mld-δ (Schweiflänge 4) t= 100: l = 96; persistenter Speicher 100 t= W.: l = 102; l persistenterspeicher + ΔT t= 104: l = 102; persistenter Speicher 104 (Schweiflänge 2) t= 105: l = 102; (Schweiflänge 3) t= 106: l = 102; persistenter Speicher 106 (Schweiflänge 4) t= 107: l = 103; usw. mit Schweiflänge 4 Komplexitätsanalyse s. Übungen Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
60 Weitere Anwendungsbeispiele synchronisierter Uhren verteilte Dateisysteme Konsistenz lokaler Caches, für die die Server zeitliche Konsistenzgarantien abgeben Softwaregenerierung ( make ) verteiltes Ressourcenmanagement Ausfalltoleranz: leases (locks mit Haltbarkeitsdatum) statt locks Kommunikationsinfrastrukturen Synchronisation medialer Datenströme Echtzeitsysteme Rechtzeitigkeitsgarantien / Quality of Service Garantien IT-Sicherheit Gültigkeitsdauer von Autorisierungstickets (e.g. Kerberos) Frischegarantie in kryptografischen Authentisierungsprotokollen Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele
61 3.1.6 Zusammenfassung Synchronisation physischer Uhren: 3 Grundprinzipien passiver Zeitserver aktiver Zeitserver Zeitsynchronisationsinfrastruktur Verteilte Algorithmen, WS 2015/16 wk Zusammenfassung
62 Cristian Voraussetzungen präzise Zeitbasis im Zeitserver Klienten müssen Server kennen Präzision Korrekturfaktoren, statistische Mittelwerte, Filter Verlässlichkeit Zeitserver ist spof Skalierbarkeit Zeitserver ist Flaschenhals Komplexität: 2 Schritte, 2 Botschaften je Synchronisation linear einfache Implementierbarkeit passiver Server, aktive Klienten klientenspezifische Synchronisationsintervalle zustandsfreier Server, einfacher Wiederanlauf nach Ausfall Verteilte Algorithmen, WS 2015/16 wk Zusammenfassung
63 Berkeley Voraussetzung Server muss Klienten kennen (resp. Broadcast) Präzision statistische Mittelwerte und Filter Verlässlichkeit Zeitserver ist spof, aber (c.g.s.) ersetzbar Skalierbarkeit Zeitserver ist Flaschenhals Komplexität: 3 Schritte, 3 Botschaften je Synchronisation linear einfache Implementierbarkeit aktiver Server, passive Klienten globales Synchronisationsintervall, schlechteste Uhr bestimmt δ zustandsbehafteter Server, aufwändiger Wiederanlauf Verteilte Algorithmen, WS 2015/16 wk Zusammenfassung
64 NTP Voraussetzungen Klienten müssen (mehrere) Server kennen Präzision skalierbar (Server-strata, Synchronisationsalgorithmen) Verlässlichkeit kein spof Algorithmen zur automatischen Rekonfiguration nach Uhren/Serverausfällen authentische und integritätsgesicherte Zeitinformationen Skalierbarkeit Verteilung der Anfragelast auf viele Server Implementierung aufwändig durch Servernetzwerk und dessen Synchronisation Verteilte Algorithmen, WS 2015/16 wk Zusammenfassung
65 3.2 Kausale Ordnungen Noch einmal: verteilte Softwaregenerierung make: Übersetzen t(letzte Übersetzung) < t(letzte Änderung) Problem dabei Kosten synchronisierter Uhren Unschärfe synchronisierter Uhren Besser: Übersetzen letzte Übersetzung letzte Änderung Relative Ordnung: früher als, happens before Verteilte Algorithmen, WS 2015/16 wk Kausale Ordnungen
66 Motivation Konsens über Reihenfolge verteilter Ereignisse ist für viele Algorithmen grundlegend Echtzeit-Rechneruhren je enger die Synchronisation, desto höher die Synchronisationskosten keine perfekte und nachhaltige Synchronisation ohne spezielle Hardware für viele Anwendungsfälle reicht es aus, eine relative Ordnung zwischen beobachtbaren Ereignissen ohne Bezug zu realer Zeit herzustellen Relative Ordnungen statt Zeitstempel Relative Ordnungen partielle (potenziell) kausale Ordnungen totale (potenziell) kausale Ordnungen Verteilte Algorithmen, WS 2015/16 wk Kausale Ordnungen
67 Ziel also Konsens über Reihenfolge verteilt aufgetretener Ereignisse zu jeweils 2 Ereignissen a, b soll systemweit eindeutig entscheidbar sein, ob a vor b oder b vor a stattgefunden hat Verteilte Algorithmen, WS 2015/16 wk Kausale Ordnungen
68 Informelle Definition Definition (happens-before-relation): (a) Lokale Ordnung: Wenn a und b zwei Ereignisse in derselben Task sind und a vor b stattfindet, dann gilt a b. (b) Verteilte Ordnung: Wenn a das Ereignis des Absendens einer Botschaft in einer Task und b das Ereignis des Empfangs dieser Botschaft in einer anderen Task ist, dann gilt a b. (c) Transitive Abgeschlossenheit a b b c a c Verteilte Algorithmen, WS 2015/16 wk Kausale Ordnungen
69 Beispiel t 1 a c t 2 b d a c c d a d b d a?b b?c? Eigenschaften ist nicht-totale, strenge, potenziell kausale Ordnung: es gibt Ereignisse a und b mit weder a b noch b a ( parallel ) a a echte kausale Abhängigkeit muss nicht existieren, birgt (lediglich) die Möglichkeit einer Kausalität Verteilte Algorithmen, WS 2015/16 wk Kausale Ordnungen
70 Etwas genauer Schreibweise Mit e i x, bezeichnend ein Ereignis x in Task i lautet die happens-before- Relation (i=j x<y) (lokale Ordnung) e i x e j y (i j b: e ix =send(b) e jy =receive(b)) (verteilte Ordnung) ( e kz : e ix e k z e kz e jy ) (transitive Abgeschlossenheit) Anmerkungen e f e hat das Potenzial, Ursache für f sein (potenziell kausal) (e f) e kann keinesfalls Ursache für f sein mit H: Menge aller Ereignisse in einem va ist (H, ) ein ereignisbasiertes Modell eines va Verteilte Algorithmen, WS 2015/16 wk Kausale Ordnungen
71 Verteilte Algorithmen, WS 2015/16 wk Anwendungsbeispiele verteiltes Ressourcenmanagement: first-come-first-served-strategien Softwaremanagement: make, s.o. transaktionale Systeme: Sicherungsreihenfolgen Analyse verteilter Systeme: Ursache und Wirkung Welche Ereignisse können Ursache für ein gegebenes Ereignis sein? Welche Ereignisse können Folgen eines gegebenen Ereignisses sein? 1. Kausale Vergangenheit Menge aller Ereignisse, die Ursache für ein Ereignis e sein können: {f f e} 2. Kausale Zukunft Menge aller Ereignisse, die durch e verursacht werden können: {f e f} 3. Kausale Unabhängigkeit (e f) (f e) e und f sind kausal unabhängig
72 Implementierung kausaler Ordnungen Ziel Implementierung von durch Zuordnung diskreter Werte zu Ereignissen Gesucht mindestens: eine in allen Tasks identisch berechnete Ordnungsfunktion o, so dass für Ereignisse e, f gilt o potenziell kausal idealerweise (weil universeller): e f o(e) < o(f) eine in allen Tasks identisch berechnete Ordnungsfunktion o, so dass für Ereignisse e, f gilt o kausal e f o(e) < o(f) Verteilte Algorithmen, WS 2015/16 wk Kausale Ordnungen
73 Grundlage: Logische Uhren Partielle potenziell kausale Ordnungen e f o(e) < o(f) Definition Eine logische Uhr ist eine streng monoton wachsende Zählfunktion lc: N, wobei für jede Folge, lc i,..., lc j,... von Aufrufen von lc gilt: i, j, i < j: lc i < lc j Also: jeder Aufruf von lc liefert einen größeren Wert als der vorangehende es besteht insbesondere kein Bezug zu einer realen Uhrzeit Verteilte Algorithmen, WS 2015/16 wk Partielle potenziell kausale Ordnungen
74 Logische Uhren sind tasklokal einfach implementierbar (schlichter Zähler) reichen allein nicht zur Implementierung von aus: Beispiel: t i e i 1 e i 2 e i 3 b b e i 4 t j e j 1 e j 2 e j 3 e j 4 e j 5 e j 6 send(b) receive(b), und o(e i1 )=1 < o(e j3 )=3 OK send(b ) receive(b ), aber o(e j6 )=6 > o(e i4 )=4 Verteilte Algorithmen, WS 2015/16 wk Partielle potenziell kausale Ordnungen
75 Lamport s Algorithmus Ziel Implementierung von mittels lokaler logischer Uhren, d.h. Ordnungsfunktion o so dass e f o(e) < o(f) Weg Idee o = lokale logische Uhr plus Synchronisation aller lokalen logischer Uhren 2 nicht interagierende Tasks haben keine Möglichkeit, Abweichungen ihrer logischen Uhren zu beobachten falls Tasks interagieren, so können sie nebenbei eine relative Ordnung zwischen nun beobachtbaren Ereignissen herstellen: Synchronisation preiswert: Nutzung regulärer Botschaften zur Synchronisation ( piggy-backing ) Verteilte Algorithmen, WS 2015/16 wk Partielle potenziell kausale Ordnungen
76 Implementierung einer partiellen potentiell kausalen Ordnung ppco mit e f ppco(e) < ppco(f) jede Task t i besitzt eine lokale logische Uhr lc i ppco(e i )=lc i, und jedes Ereignis in t i wird mit lc i gestempelt: e lc i i beim Senden einer Botschaft durch t i wird diese um lc i ergänzt beim Empfang dieser Botschaft in t j synchronisiert t j seine lokale logische Uhr durch lc j max(lc i, lc j ) stempelt t j das Ereignis des Botschaftenempfangs anschließend mit lc j Obiges Beispiel damit: t i e i 1 e i 2 e 1 j e 2 j e 3 j e 4 j e 5 j e 3 i e 7 i t j (b,1) (b,6) e j 6 Verteilte Algorithmen, WS 2015/16 wk Partielle potenziell kausale Ordnungen
77 Korrektheit des Lamport schen Algorithmus Beweis, dass der Lamport sche Algorithmus die Eigenschaft e,f verteilte Ereignisse und e f ppco(e) < ppco(f) besitzt, durch Induktion über die Länge von e f (Übungen) Cave: Lamport s Algorithmus liefert lediglich eine partielle Ordnung (mehr muss er auch nicht, da partiell ist) : aus ppco(e)<ppco(f) folgt nicht unbedingt e f; vgl. z.b. e i 1 und e j 2 (d.h. falls e f oder f e gilt, gibt ppco(e) und ppco(f) die Richtung des Pfeils an) t i e i 1 e i 2 e 1 j e 2 j e 3 j e 4 j e 5 j e 3 i e 7 i t j (b,1) (b,6) e j 6 Verteilte Algorithmen, WS 2015/16 wk Partielle potenziell kausale Ordnungen
78 Idee Partielle kausale Ordnungen e f o(e) < o(f) Lokale Buchführung über alle logischen Uhren (statt nur der eigenen) jede t i hat statt lc i nun einen Vektor vc i ( vector clock von t i )! # # vc i = # # # " lc 1 lc 2! lc n $ & & & & & % wobei vc i (j)=lc j j=1..n mit den lokalen logischen Uhren lc j der n t j (letzter in t i bekannter Stand) Verteilte Algorithmen, WS 2015/16 wk Partielle kausale Ordnungen
79 Verteilte Algorithmen, WS 2015/16 wk Vektoruhrsynchronisation (analog Lamport) e 1 [1,0] e 1 [2,0] e 2 [1,6] e 2 [0,1] e 2 [0,2] e 2 [1,3] e 1 [3,0] e 2 [1,4] e 2 [1,5] e 1 [4,6] t 1 t 2 b, 1 0! " # $ % & ' ( ) ) * +,, b', 1 6! " # $ % & ' ( ) ) * +,, 1 0! " # $ % & 2 0! " # $ % & 3 0! " # $ % & 4 6! " # $ % & 0 1! " # $ % & 0 2! " # $ % & 1 3! " # $ % & 1 4! " # $ % & 1 5! " # $ % & 1 6! " # $ % & Partielle kausale Ordnungen
80 Implementierung einer partiellen kausalen Ordnung pco mit e f pco(e) < pco(f) jede Task t i besitzt eine lokale Vektoruhr vc i pco(e i )=vc i, und jedes Ereignis in t i wird mit vc i gestempelt: e vc i i beim Senden einer Botschaft in t i wird diese um vc i ergänzt beim Empfang dieser Botschaft in t j synchronisiert t j seine lokale Vektoruhr: k j: vc j [k] max(vc i [k], vc j [k]) stempelt t j das Ereignis des Botschaftenempfangs anschließend mit vc j Dann gilt e i e j : e i e j pco(e i )<pco(e j ) mit pco(e i )<pco(e j ) vc i <vc j k=1..n: vc i [k] vc j [k] k: vc i [k]<vc j [k] (Beweis Fidge, Logical Time in Distributed Computing Systems, 1991) Anmerkung: pco ist wie ppco partiell Verteilte Algorithmen, WS 2015/16 wk Partielle kausale Ordnungen
81 Verteilte Algorithmen, WS 2015/16 wk Vektoruhren (pco) vs. Lamport-Uhren (ppco) e 1 [1,0] e 1 [2,0] e 2 [1,6] e 2 [0,1] e 2 [0,2] e 2 [1,3] e 1 [3,0] e 2 [1,4] e 2 [1,5] e 1 [4,6] t 1 t b, 6 1 b', Partielle kausale Ordnungen e 1 1 e 1 2 e 2 6 e 2 1 e 2 2 e 2 3 e 1 3 e 2 4 e 2 5 e 1 7 t 1 t 2 (b,1) (b,6)
82 3.2.3 Totale Ordnungen Ein Problem: partielle Ordnungen nicht immer ausreichend t i e i 1 (b,1) e i 2 e i 3 (b,6) e i 7 t j e j 1 e j 2 e j 3 e j 4 e j 5 e j 6 z.b. ppco(e i1 )=ppco(e j1 ), ppco(e i3 )=ppco(e j3 ), analog pco Beispiele FCFS-Strategien (z.b. bei verteiltem wechselseitigen Ausschluss, s.u.) Serialisierungsreihenfolge verteilter (Multiserver-) Transaktionen ( TIS) Verteilte Algorithmen, WS 2015/16 wk Totale Ordnungen
83 Definition Totale potenziell kausale Ordnungen mit Lamport-Uhren Sei I eine endliche Indexmenge mit totaler strenger Ordnung < ; seien ferner alle Tasks t i eines verteilten Algorithmus eindeutig identifiziert durch Indizes i I (globale, eindeutige Ids) sei c i die lokale logische synchronisierte (Vektor-)Uhr von t i Dann wird für Ereignisse e i in den t i eine totale potenziell kausale Ordnung tpco definiert durch tpco(e i )=(i, c i (e i )), wobei tpco(e i ) < tpco(e j ) definiert ist durch tpco(e i ) < tpco(e j ) c (e ) < c (e ) i i j j i < j falls c i (e i ) c j (e j ) sonst Verteilte Algorithmen, WS 2015/16 wk Totale Ordnungen
84 Anmerkungen eine solche totale Ordnung hat keine physische Signifikanz (da Task-Ids zufällig sind): t 1 e 1 1 e 1 2 (b,1) e 1 3 (b,6) e 1 7 t 2 e 2 1 e 2 2 e 2 3 e 2 4 e 2 5 e 2 6 z.b. tpco(e 13 ) < tpco(e 23 ), tpco(e 13 ) < tpco(e 24 ) sie erfüllt jedoch ihren Zweck: in allen t i ist tpco identisch berechenbar Verteilte Algorithmen, WS 2015/16 wk Totale Ordnungen
85 Analog für tco(e i ). Totale kausale Ordnungen mit Lamport-Uhren Verteilte Algorithmen, WS 2015/16 wk Totale Ordnungen
86 3.2.4 Zusammenfassung 4 kausale Ordnungen basierend auf synchronisierten logischen (Vektor)Uhren (Lamport) partiell, potentiell kausal: ppco, e f o(e) < o(f) partiell, kausal: pco, e f o(e) < o(f) totale Ordnungen tpco: ppco mit Task-Ids tco: pco mit Task-Ids Verteilte Algorithmen, WS 2015/16 wk Zusammenfassung
87 3.3 Zusammenfassung Zeitliche Ordnungen Eigenschaften total teuer, abhängig von Synchronisationsqualität angenähert echtzeitsynchron unscharf, Zeitfenster δ: z.b. a,b zeitgleich t(a)-δ t(b) t(a)+δ nutzbar als Zeittakt für synchrone Algorithmen (mit Vorsicht, wg. Unschärfe) Synchronisationsalgorithmen passiver Zeitserver: Cristian scher Algorithmus aktiver Zeitserver: Berkeley-Algorithmus Infrastruktur: NTP Verteilte Algorithmen, WS 2015/16 wk Zusammenfassung
88 Anwendungsbeispiele zeitliche Garantien Dateisysteme: Cachekonsistenz Ressourcenmanagement: leases (locks mit Haltbarkeitsdatum) statt locks Kommunikationsinfrastrukturen Synchronisation medialer Datenströme Rechtzeitigkeitsgarantien / Quality of Service - Garantien IT-Sicherheit Frische-Stempel in Authentisierungsprotokollen Haltbarkeitsdatum von Autorisierungen trittbrettfahrende Algorithmen (Bsp. at-most-once) Verteilte Algorithmen, WS 2015/16 wk Zusammenfassung
89 Kausale Ordnungen Eigenschaften relative Ordnung von Ereignissen ohne Bezug zur realen Zeit scharf anwendungsspezifische Varianten: partiell vs. total potentiell kausal vs. kausal mit unterschiedlichen Kosten von preiswert (eingeschränktes Anwendungsspektrum) partiell, potentiell kausal bis teuer (universell) total, kausal Implementierungen basierend auf synchronisierten lokalen logischen Uhren (Lamport s piggy-backing) Task-Ids (o.ä.) für totale Ordnungen Verteilte Algorithmen, WS 2015/16 wk Zusammenfassung
90 Anwendungsbeispiele Ressourcenmanagement: z.b. first-come-first-served-strategien Softwaremanagement: make transaktionale Systeme: Sicherungsreihenfolgen Analyse verteilter Systeme Verteilte Algorithmen, WS 2015/16 wk Zusammenfassung
Vorlesung "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
MehrElementare Systemkomponenten:
Elementare Systemkomponenten: Zeitsynchronisation Verteilten Systemen (Time Service) VSS1-Time-1 Zeit und Koordination: Einführung Grundsätzliche Alternativen: externe Synchronisation interne Synchronisation
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
MehrZeit als Mittel der Reihenfolgebestimmung
Uhrensynchronisation Notwendigkeit von Uhrensynchronisation Zeit als Mittel der Reihenfolgebestimmung Probleme der Uhrensynchronisation Lamport Vektorduhren Synchronisation von physikalischen Uhren Grundlagen
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.
MehrUhrensynchronisation. Dipl.-Inf. J. Richling Wintersemester 2003/2004
Uhrensynchronisation Dipl.-Inf. J. Richling Wintersemester 2003/2004 Motivation Zeit kann in Anwendungen eine große Rolle spielen, insbesondere bei Echtzeitsystemen Häufig wichtiger noch als korrekte Zeit:
MehrVerteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7.
Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i
MehrÜberblick. Zeit Motivation Konvergenz-Algorithmus CNV Network Time Protocol (NTP) Logische Uhren. c td VS (SS17) Zeit 8 1
Überblick Zeit Motivation Konvergenz-Algorithmus CNV Network Time Protocol (NTP) Logische Uhren c td VS (SS17) Zeit 8 1 Motivation Zeit als Mittel zur Reihenfolgebestimmung (Beispiele) Erkennung von Modifikationen
MehrDas Network Time Protocol - NTP. Das Network Time Protocol - NTP. Das Network Time Protocol - NTP. Das Network Time Protocol - NTP
Ausführliche Informationen zu NTP im WWW: Eigenschaften von NTP http://www.ntp.org ("Offizielle" NTP-Homepage) http://www.eecis.udel.edu/~mills (Homepage David Mills) Geschichte Entwickelt seit 198 (NTP
MehrGrundlagen verteilter Systeme
Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 4 18.1.07 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:
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
MehrKommunikation in drahtlosen Sensornetzen
Kommunikation in drahtlosen Sensornetzen Zeitsynchronisation in drahtlosen Sensornetzen (DSN) Michael Oeste - 674177 Michael Oeste 12.02.2007-1 / 27 Inhalt Problematik der Zeitsynchronisation Zeit Synchronisation
MehrVorlesung "Verteilte Systeme" Wintersemester 2002/03. Vergleichbarkeit kausal abhängiger Ereignisse Reicht in vielen Fällen aus
Verteilte Systeme 5. Zeit Ansätze Pragmatisch: Uhrensynchronisation Abgleich der lokalen Uhren Beispiele Zeitabgleich nach F. Christian Berkeley-Algorithmus Verteilte Synchronisation Network Time Protocol
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
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern
MehrGrundlagen: Überblick
Grundlagen: Überblick Verteilte Systeme Definition Grundbegriffe Kommunikation Klassifikation von Fehlern Begriffe Fehlerarten Analyse von Algorithmen Korrektheit Komplexität Verteilte Algorithmen (VA),
MehrAlgorithmus von Berkeley (1989)
Annahme: kein UTC Empfänger verfügbar Algorithmus (zentral, intern): Algorithmus von Berkeley (1989) ein Rechneragiert als aktiver Time Server. Der Server fragt periodisch die Zeiten/Unterschiede aller
MehrExperimentelle Bewertung der Synchronisationsgenauigkeit von IEEE 802.1AS für variierende Temperaturbedingungen
Experimentelle Bewertung der Synchronisationsgenauigkeit von IEEE 802.1AS für variierende Temperaturbedingungen Andreas Kern (Daimler AG) Helge Zinner (Continental Automotive GmbH) Thilo Streichert (Daimler
MehrFakultät für Informatik der Technischen Universität München. Kapitel 7. Uhren & Synchronisation
Kapitel 7 Uhren & Synchronisation 1 Inhalt Motivation Definition Zeit Uhren Synchronisation Algorithmus von Cristian Algorithmus aus Berkeley NTP-Protokoll Synchronisation bei fehlerbehafteten Uhren 2
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....................................
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
MehrZeitsynchronisation in Sensornetzen. Kay Römer ETH Zürich Switzerland
Zeitsynchronisation in Sensornetzen Kay Römer ETH Zürich Switzerland Überblick Wozu wird Zeit gebraucht? Warum Forschung notwendig? Varianten von Synchronisation Eigenschaften von Sensorknoten Einmalige
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)
MehrZeitsynchronisation in drahtlosen Sensornetzen Verfahren und Anwendungen
Zeitsynchronisation in drahtlosen Sensornetzen Verfahren und Anwendungen Dipl.-Inf. Stefan Schramm Wissenschaftlicher Mitarbeiter Internationale wissenschaftliche Konferenz Mittweida Mittweida, 05.11.2014
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
MehrWie man Computer übers Internet identifiziert
Remote Physical Device Fingerprinting Wie man Computer übers Internet identifiziert ein Vortrag von Cyrus Massoumi und Johannes Zschoche Chair for Communication Technology (ComTec), Faculty of Electrical
MehrOne way Delay (OWD) Determination Techniques
Lehrstuhl Netzarchitekturen und Netzdienste Institut für Informatik Technische Universität München One way Delay (OWD) Determination Techniques Referent: Mislav Boras Betreuer: Dirk Haage Seminar: Innovative
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
MehrVerteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016
Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i
MehrKommunikationsmodelle für verteilte Systeme
Kommunikationsmodelle für verteilte Systeme Sommersemester 2016 H.-A. Schindler Kapitel 3: Kommunikationsmodelle Hans-Albrecht Schindler CSI Technische Universität Ilmenau www.tu-ilmenau.de Kommunikationsmodelle,
MehrVerteilte Algorithmen
Verteilte Algorithmen Zeitsynchronisation (Time Service) Zustandsalgorithmen VIS-1 VertAlg-1 VIS1-VertAlg-1 Gliederung Übersicht verteilte Algorithmen Zeitalgorithmen Zustandsalgorithmen VIS-1 VertAlg-2
MehrVorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.
Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte
MehrÜbung zur Vorlesung Echtzeitsysteme
Technische Universität München Fakultät für Informatik Forschungs- und Lehreinheit Informatik VI Übung zur Vorlesung Echtzeitsysteme Aufgabe 3 Nadine Keddis keddis@fortiss.org Stephan Sommer sommerst@in.tum.de
MehrEMES: Eigenschaften mobiler und eingebetteter Systeme. Uhrensynchronisation. Dr. Siegmar Sommer, Dr. Peter Tröger Wintersemester 2009/2010
EMES: Eigenschaften mobiler und eingebetteter Systeme 00101111010010011101001010101 Uhrensynchronisation Dr. Siegmar Sommer, Dr. Peter Tröger Wintersemester 2009/2010 00101111010010011101001010101 Motivation
MehrVerteilte Algorithmen. Zeitsynchronisation (Time Service) Zustandsalgorithmen
Verteilte Algorithmen Zeitsynchronisation (Time Service) Zustandsalgorithmen VIS-1 VertAlg-1 Gliederung Übersicht verteilte Algorithmen Zeitalgorithmen ith Zustandsalgorithmen VIS-1 VertAlg-2 Übersicht
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:
MehrBitte verwenden Sie nur dokumentenechtes Schreibmaterial!
VO 182.713 Prüfung Echtzeitsysteme 27. März 2015 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(25) 3.)(15) 4.)(25) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Grundlagen
MehrUhrensynchronisation & Gruppenkommunikation. Jan-Arne Sobania Seminar Prozesssteuerung und Robotik 10. Dezember 2008
Uhrensynchronisation & Gruppenkommunikation Jan-Arne Sobania Seminar Prozesssteuerung und Robotik 10. Dezember 2008 Gliederung 2 Uhrensynchronisation Zeitmessung Interne vs. Externe Synchronisation Synchronisation
MehrBetriebssysteme Kap. 5: Netzwerkmanagement
Betriebssysteme Kap. 5: Netzwerkmanagement Winfried E. Kühnhauser Wintersemester 2017/18 Winfried E. Kühnhauser CSI Technische Universität Ilmenau www.tu-ilmenau.de Betriebssysteme, WS 2017/18 wk - 1 -
MehrBetriebssysteme Kap. 5: Netzwerkmanagement
Betriebssysteme Kap. 5: Netzwerkmanagement Winfried E. Kühnhauser Wintersemester 2016/17 Winfried E. Kühnhauser CSI Technische Universität Ilmenau www.tu-ilmenau.de Betriebssysteme, WS 2016/17 wk - 1 -
MehrBetriebssysteme Kap. 5: Netzwerkmanagement
Betriebssysteme, WS 2018/19 wk - 1 - Betriebssysteme Kap. 5: Netzwerkmanagement Winfried E. Kühnhauser Wintersemester 2018/19 Winfried E. Kühnhauser CSI Technische Universität Ilmenau www.tu-ilmenau.de
Mehr6.1 Motivation. Globale Zeit. Zeit in Rechnern. Verteilte Betriebssysteme
Verteilte Betriebssysteme Wintersemester 2018/2019 6.1 Motivation 6.1 Motivation Verteilte Betriebssysteme 6. Kapitel Uhrensynchronisation Im letzten Kapitel haben wir uns Gedanken über verschiedene Semantiken
MehrVerteilte Systeme - Synchronisation
Verteilte Systeme - Synchronisation... alois.schuette@h-da.de Alois Schütte 25. Februar 2014 1 / 24 Inhaltsverzeichnis Die Synchronisationsmethoden bei Einprozessorsystemen (z.b. Semaphore oder Monitore)
MehrZeitsynchronisation in Sensornetzen
Zeitsynchronisation in Sensornetzen Seminarvortrag von Tobias Krauer 06.05.2003 Zeitsynchronisation in Sensornetzen 1 Zeitsynchronisation in Sensornetzen Gliederung 1. Motivation & Einführung 2. Anforderungskatalog
MehrKonvergenz von Hopfield-Netzen
Matthias Jauernig 1. August 2006 Zusammenfassung Die nachfolgende Betrachtung bezieht sich auf das diskrete Hopfield-Netz und hat das Ziel, die Konvergenz des Verfahrens zu zeigen. Leider wird dieser Beweis
MehrEbenen der Synchronisierung
Keywords DCF77 GPS IEEE 1588 Synchronisierung abgestimmte Sensorerfassung gleichzeitige Ereignisse externe Uhr Gleichzeitigkeit EL6688 EL6692 Ebenen der Synchronisierung Dieses Application Example erklärt
MehrModellierung verteilter Systeme Grundlagen der Programm und Systementwicklung
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.
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),
MehrFehlertolerante Uhrensynchronisation
Fehlertolerante Uhrensynchronisation Jens Chr. Lisner lisner@informatik.uni-essen.de Institut für Informatik / Universität Essen Institut für Informatik / Universität Essen p.1/23 Übersicht Algorithmus
MehrModellierung verteilter Systeme Grundlagen der Programm und Systementwicklung
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Sommersemester 2012 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. M. Spichkova, J. Mund, P. Neubeck Lehrstuhl Software
Mehr1 Umkehrfunktionen und implizite Funktionen
Mathematik für Physiker III WS 2012/2013 Freitag 211 $Id: implizittexv 18 2012/11/01 20:18:36 hk Exp $ $Id: lagrangetexv 13 2012/11/01 1:24:3 hk Exp hk $ 1 Umkehrfunktionen und implizite Funktionen 13
MehrZeit als Mittel der Reihenfolgebestimmung. Zeit als Mittel der Reihenfolgebestimmung. als Mittel der Reihenfolgebestimmung
Zeit als Mittel der Reihenfolgebestimmung eme der Uhrensynchronisation che Uhren Lamport Notwendigkeit von Uhrensynchronisation Zeit als Mittel der Reihenfolgebestimmung VektoruhrenProbleme der Uhrensynchronisation
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
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
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
Mehr3.5 Das Network Time Protocol - NTP
NTP und begleitende Informationen sind im WWW zu finden unter http://www.ntp.org ("Offizielle" NTP-Homepage) sowie http://www.eecis.udel.edu/~mills (Homepage David Mills) Geschichte Entwickelt seit 1982
MehrDualitätssätze der linearen Optimierung
Kapitel 9 Dualitätssätze der linearen Optimierung Sei z = c T x min! Ax = b 9.1 x 0 mit c, x R n, b R m, A R m n ein lineares Programm. Definition 9.1 Duales lineares Programm. Das lineare Programm z =
MehrByzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit Frank Mattauch
1 Hauptseminar: Moderne Konzepte für weitverteilte Systeme: Peer-to-Peer-Netzwerke und fehlertolerante Algorithmen (DOOS) Byzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit
MehrKommunikationsmodelle für verteilte Systeme
Kommunikationsmodelle für verteilte Systeme Sommersemester 2016 H.-A. Schindler Kapitel 3: Kommunikationsmodelle (Klient-Server-Modelle) Hans-Albrecht Schindler CSI Technische Universität Ilmenau www.tu-ilmenau.de
MehrAbschnitt 3: Mathematische Grundlagen
Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke 3 Mathematische Grundlagen Einf. Progr. (WS 08/09) 102 Überblick 3.
MehrUNABHÄNGIGER LASTEN. Vorlesung 9 BALANCIERUNG DYNAMISCHER. Graphenalgorithmen und lineare Algebra Hand in Hand
Vorlesung 9 BALANCIERUNG DYNAMISCHER UNABHÄNGIGER LASTEN 266 Lastbalancierung Motivation! Ein paralleles System besteht aus! verschiedenen Recheneinheiten,! die miteinander kommunizieren können! Warum
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,
MehrAlgorithmen für Verteilte Systeme
Überblick Zeit in verteilten Systemen. Überblick. Uhrensynchronisation..4 Synchr. von physikal. Uhren Zeit Überblick Algorithmen für Verteilte Systeme Uhrensynchronisation Zeit im Verteilten System Teil
MehrPlug-and-Work für verteilte Echtzeitsysteme mit Zeitsynchronisation
Plug-and-Work für verteilte Echtzeitsysteme mit Zeitsynchronisation Sebastian Schriegel Fraunhofer-Anwendungszentrum Industrial Automation IOSB-INA, Lemgo Echtzeit 2014: Industrie 4.0 und Echtzeit 20.
MehrS1 Zeit in verteilten Systemen
S1 Zeit in verteilten Systemen Süddeutsche Zeitung vom 1.1.1 FK4 Prof. Dr. Rainer Seck 1 Eigenschaften verteilter Systeme Szenarien: konkurrierender Zugriff auf einmal vorhandene Betriebsmittel verteilter
MehrSoftwareentwicklung in verteilten Umgebungen, Teil 8 Time and Global States (Coulouris et al., Kapitel 11) Dieter Schmalstieg
Softwareentwicklung in verteilten Umgebungen, Teil 8 Time and Global States (Coulouris et al., Kapitel 11) Dieter Schmalstieg Zeit und Uhren in Computersystemen Netw ork Uhren auf verschiedenen Computern
MehrAbschnitt 11: Korrektheit von imperativen Programmen
Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961
MehrZeitsynchronisation mit IEEE 1588 und White Rabbit
Zeitsynchronisation mit IEEE 1588 und White Rabbit Dipl. Ing. Peter Plazotta, CEO TSEP Technical Software Engineering Plazotta, Wolnzach Agenda Zeitsynchronisation mit IEEE 1588 Überblick Konzept Verfügbare
MehrSynchronisation von physikalischen Uhren
Synchronisation von physikalischen Uhren Verteilte Algorithmen (VA), WS 2003/04 15 Synchronisation von physikalischen Uhren Physikalische Zeit basierend auf Atom-Sekunde: TAI "Die Sekunde ist das 9 192
MehrEindeutigkeit reduzierter Gröbnerbasen
Eindeutigkeit reduzierter Gröbnerbasen Satz Existenz und Eindeutigkeit reduzierter Gröbnerbasen Jedes Ideal I F[x 1,..., x n ] besitzt eine eindeutige reduzierte Gröbnerbasis. Beweis: Existenz: Hilbert
MehrANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS. Sascha Kath
ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS Sascha Kath Dresden, Gliederung 1. Motivation & Zielstellung 2. Systembeschreibung 3. Implementierung und Messungen
MehrVerteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase
Verteilte Systeme Replikation & Konsistenz I Prof. Dr. Oliver Haase 1 Überblick Replikation & Konsistenz I Ziele von Replikation Replikationsmodelle datenzentriert Client-zentriert Replikation & Konsistenz
MehrKapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2 Mathematische Grundlagen Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität
MehrAbschnitt 3: Mathematische Grundlagen
Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 3.2 Induktion und Rekursion 3.3 Boolsche Algebra Peer Kröger (LMU München) Einführung in die Programmierung WS 14/15 48 / 155 Überblick
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
MehrElementare Systemkomponenten:
Elementare Systemkomponenten: Zeitsynchronisation in verteilten Systemen (Time Service) VIS2-Time-1 Gibt es etwas aus der Welt der Technik, das Sie besonders beeindruckt? F.A.Z. Mein funkgesteuerter Wecker,
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
MehrProgrammieren für Fortgeschrittene
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme Wintersemester 2011/12 Programmieren für Fortgeschrittene Rekursive Spezifikationen Die folgende
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
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
Mehr5 Interpolation und Approximation
5 Interpolation und Approximation Problemstellung: Es soll eine Funktion f(x) approximiert werden, von der die Funktionswerte nur an diskreten Stellen bekannt sind. 5. Das Interpolationspolynom y y = P(x)
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
MehrBeweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n)
Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n) ( ( ) n 3 T + T m ) 4 n n 3 c + m 4 n c + n n + C m + cn; dies gilt, falls m 2 n m C m + n 2 (bis auf, ) c m + 3
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
MehrHackenbusch und Spieltheorie
Hackenbusch und Spieltheorie Was sind Spiele? Definition. Ein Spiel besteht für uns aus zwei Spielern, Positionen oder Stellungen, in welchen sich das Spiel befinden kann (insbesondere eine besondere Startposition)
MehrDefinition Message Authentication Code (MAC) Ein Message Authentication Code (MAC) bzgl. des Nachrichtenraumen M besteht aus den ppt Alg.
Message Authentication Code (MAC) Szenario: Integrität und Authentizität mittels MACs. Alice und Bob besitzen gemeinsamen Schlüssel k. Alice berechnet für m einen MAC-Tag t als Funktion von m und k. Alice
MehrReduktion. 2.1 Abstrakte Reduktion
2 Reduktion In diesem Kapitel studieren wir abstrakte Eigenschaften von Regeln. In den ersten beiden Abschnitten betrachten wir nicht einmal die Regeln selbst, sondern nur abstrakte Reduktionssysteme,
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Die Landau-Notation (Wiederholung und Vertiefung) 2. Vorbereitung Aufgabenblatt 1, Aufgabe 1
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
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
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
Mehrverschiedenen Recheneinheiten, die miteinander kommunizieren können
Vorlesung 9 BALANCIERUNG DYNAMISCHER UNABHÄNGIGER LASTEN 293 Lastbalancierung Motivation Ein paralleles System besteht aus verschiedenen Recheneinheiten, die miteinander kommunizieren können Warum parallel
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrAnordnungstechniken für konvektionsdominante Probleme im Ê 3. Dimensionsunabhängige Verfahren. Algorithmen für planare Graphen. Numerische Beispiele
Anordnungstechniken für konvektionsdominante Probleme im Ê 3 Inhalt: Einführung Dimensionsunabhängige Verfahren Algorithmen für planare Graphen Anordnungen im Ê 3 Numerische Beispiele 2 Einführung betrachtet
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
MehrNetwork Coding in P2P live streaming
Network Coding in P2P live von Niklas Goby Einleitung (1) Anforderungen an ein Live Stream Protokoll Flüssige Wiedergabe Skalierbarkeit Auf Peer Dynamiken reagieren Möglichst geringe Wiedergabeverzögerung
MehrVerhaltensbeschreibung und Spezifikationssprachen
TECHNISCHE UNIVERSITÄT ILMENAU Integrierte Kommunikationssysteme http://www.tu-ilmenau.de/iks Verhaltensbeschreibung und Spezifikationssprachen Verhaltensmodelle Zustandsautomaten (FSM) Nicht-deterministische
Mehr