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 zur Uhrensynchronisation Konvergenzbeweis Zusätzliche Betrachtungen: Begrenzte Beschleunigung der Uhren Institut für Informatik / Universität Essen p.2/23
Umgebung Time-Triggered Protokoll in Broadcast Netzwerk Frame von Knoten 1 Knoten 3 Knoten 5 Knoten 2 Slot nach Schema von Knoten 3 Buszeit wird aufgeteilt in Slots durch die lokale Uhr Zuordnung der Slots geschieht nach einem festgelegtem Schedule Der Schedule wiederholt sich in Zyklen Institut für Informatik / Universität Essen p.3/23
Ausgangssituation C(t) 2z clock time 1+r 1 1 r z grün: fehlerfreie Uhr rot: fehlerhafte Uhr T 0 real time Eine bekannte maximale Gangabweichung r ist erlaubt. Institut für Informatik / Universität Essen p.4/23
Algorithmus Der Algorithmus läuft in folgenden Schritten ab: 1. Messen der Abstände zwischen der eigenen und den anderen Uhren 2. Berechnung des Korrekturwerts (Midpoint) 3. Korrigieren der eigenen Uhr Institut für Informatik / Universität Essen p.5/23
Schritt 1: Messung Messung findet alle zwei Zyklen innerhalb des Zyklus statt. Zyklus 1 Zyklus 2 Zyklus 3 Zyklus 4 Messung Messung Kommunikation Kommunikation Kommunikation Kommunikation Frame von M 3,1 M 0 3,5 M Knoten 1 Knoten 3 Knoten 5 3,2 Knoten 2 Slot nach Schema von Knoten 3 Institut für Informatik / Universität Essen p.6/23
Schritt 2: Midpoint FTA Algorithmus: 1. Sortieren der Meßwerte 2. Auswahl einer Zahl k F: max. Anzahl der zu tolerierenden Fehler. 3. Streichen der k größten und k kleinsten Werte 4. Berechnen des Durchschnitts des größten und kleinsten verbleibenden Werts. Toleriert F fehlerhafte Uhren mit n 3F + 1 n: Gesamtanzahl der Uhren Institut für Informatik / Universität Essen p.7/23
FTA Algorithmus: Beispiele Knoten 1 Knoten 2 Knoten 1 Knoten 2 Knoten 1 Knoten 2 Institut für Informatik / Universität Essen p.8/23
Schritt 3: Korrektur Addieren des Ergebnisses auf die eigene Uhrzeit C(t) 2z 1 2 0 0 Institut für Informatik / Universität Essen p.9/23
Konvergenzbeweis Notwendige Bedingung für Konvergenz: 2 < 0 Annahmen: Fehlerfreie Uhren verhalten sich beliebig im erlaubten Bereich Fehlerhafte Uhren verhalten sich beliebig Alle Knoten messen zu Anfang des zweiten Zyklus Institut für Informatik / Universität Essen p.10/23
Konvergenzbeweis II Abschätzung der Meßwerte: M i, j = C i (T j (z)+d i, j ) z o clock time 5. γ 1 τ 1 = 1+r = 1 1+r fastest clock f ideal clock 6. 1. 7. 2. 8. 4. γ 2 τ 2 slowest clock s = 1 r = 1 1 r Fastest clock f measures s 1. Sync frame sent at clock time z. 2. Sync frame sent at real time T(z) 3. Delay d on the channels. 1,2 4. Sync frame received at real time T(z)+d 1,2 5. Sync frame received at clock time C(T(z)+d 1,2 ) C 1 (0) C 2 (0) sync frame sent 3. Delay sync frame received real time 6. Delay compensated by o. 7. Frame assumed at clock time C(T(z)+d 1,2 ) o 8. Frame assumed at real time T ( C(T(z)+d 1,2 ) o) T (0) T (0) 1 2 measurement error ε Institut für Informatik / Universität Essen p.11/23
Konvergenzbeweis III M i, j = γ i (T j (z) T i (z)+ε i ) mit γ i : Geschwindigkeit von Uhr i. C i (t) = γ i (t T i (0)) ε i = d i, j τ i o mit τ i = 1/γ i Institut für Informatik / Universität Essen p.12/23
Konvergenzbeweis IV Wann ist 2 maximal? Mögliche Sicht von langsamster Uhr s: Es gibt exakt 3F + 1 Knoten F + 1 fehlerfreie Uhren laufen mit niedrigster Geschwindigkeit. Dazu gehören s und q. F fehlerhafte Uhren laufen mit niedrigster Geschwindigkeit F fehlerfreie Uhren laufen mit höchster Geschwindigkeit. qvs pf FTA s FTAf Folge: s wählt zwei langsamste Uhren (q und s). Institut für Informatik / Universität Essen p.13/23
Konvergenzbeweis V Mögliche Sicht von schnellster Uhr f : Es gibt exakt 3F + 1 Knoten F + 1 fehlerfreie Uhren laufen mit niedrigster Geschwindigkeit. F fehlerhafte Uhren laufen mit höchster Geschwindigkeit F fehlerfreie Uhren laufen mit höchster Geschwindigkeit. Dazu gehören ist f und p. F+1 F F Folge: f wählt eine schnellste (p) und eine langsamste (s) Uhr. Institut für Informatik / Universität Essen p.14/23
Konvergenzbeweis VI Zu erwarten: FTA s 0, und FTA f M f,s /2 qvs pf FTA s FTAf Zu berücksichtigen: Meßfehler bringen die Uhren weiter auseinander. Institut für Informatik / Universität Essen p.15/23
Konvergenzbeweis VII Ansatz: 1 = T s (2z) T f (2z) 2 = T s (2z+FTA s ) T f (2z+FTA f ) FTA f FTA s = M f,p,min + M f,s,min 2 = M s,v,max + M s,q,max 2 Institut für Informatik / Universität Essen p.16/23
Konvergenzbeweis VIII Ergebnis: 2 = (T s (2z)+ε max ) (T f (2z)+ 0 + τ s z τ f z 2 + ε min ) Konvergenzbedingung: mit γ f = 1+r und γ s = 1 r 0 > 2 > 6rz 1 r 2 + 2(ε max ε min ) Institut für Informatik / Universität Essen p.17/23
Konvergenzbeweis IX Gesucht: obere Schranke für den höchsten Abstand 1 : 1 = (τ s τ f )2z+ 0 = 10rz 1 r 2 + 2(ε max ε min ) Institut für Informatik / Universität Essen p.18/23
Beispiele Einfluß der Gangungenauigkeit der Uhren mit Zykluslänge z = 120000 und ε min = 0, ε max = 12 r 0 1 1 50 ppm 60 84 2 100 ppm 96 144 3 250 ppm 204 324 4 500 ppm 384 624 Institut für Informatik / Universität Essen p.19/23
Limitierte Beschleunigung der Uhren Reale Uhren ändern Ihre Geschwindigkeit nicht beliebig schnell. Modifikation: Zeitabhängige Geschwindigkeit γ i (t) maximale Beschleunigung ξ clock speed T 1 f γ f γ f 0 γ0 s γ s ξ t + γ 0 f T 1 s real time Institut für Informatik / Universität Essen p.20/23
Sättigung Ab γ i (t) = γ f oder γ i (t) = γ s verhält sich die Uhr wieder linear: C(t) C f C (t) i C (0) f C s T f T s t Institut für Informatik / Universität Essen p.21/23
Ergebnisse Einfluß der Beschleunigung der Uhren mit Zykluslänge z = 120000, ε min = 0, ε max = 8, r = 1500ppm, 0 = 1100, γ ε = 0.0015 ξ 1 ξ 1 Sättigung 1 1e 5 1820 1819 ja 2 1e 7 1820 1813 ja 3 1e 9 1820 1517 nein 4 1e 12 1820 1460 nein Institut für Informatik / Universität Essen p.22/23
Zusammenfassung Für Time-Triggered Protokolle sind gut synchronisierte Uhren notwendig. Genaue Berechnung ist zur Parametrisierung des Protokolls notwendig. Mit n 3F + 1 Uhren können F fehlerhafte Uhren toleriert werden. Konvergenz kann für fehlerfreie Uhren garantiert werden. Unter Berücksichtigung der Beschleunigung kann die Genauigkeit der Berechnung weiter gesteigert werden. Institut für Informatik / Universität Essen p.23/23