C7 Flashcards
De ce sincronizarea timpului este o provocare în sistemele distribuite?
Deoarece întârzierile de comunicare sunt finite, dar imprevizibile, iar ceasurile locale au rate de derivă (drifting rate) diferite.
Ce este relația de cauzalitate într-un sistem distribuit?
Relația care stabilește ordinea evenimentelor bazată pe dependențele cauzale dintre ele.
De ce ceasurile fizice nu sunt suficiente pentru captarea relațiilor cauzale?
Datorită întârzierilor de rețea și derivei (clock drift) ceasurilor, nu pot reflecta exact ordinea cauzală a evenimentelor.
Ce metode de sincronizare a ceasurilor există în sistemele distribuite?
Protocolul Cristian, algoritmul Berkeley și Protocolul de Timp în Rețea (NTP).
Cum funcționează protocolul Cristian pentru sincronizarea ceasurilor?
Estimează întârzierea folosind timpul dus-întors (RTT), fiind precis doar în rețele locale.
Ce este protocolul NTP și cum funcționează?
Service is provided by a network of servers located across the Internet. Variable drift rate, from 1 ms up to more than 10 ms.
Berkeley algorithm
Compute delay based on averaged RTTs between a master node and the
followers (or slaves). Can achieve a clock drift of 20-25 ms.
Ce sunt ceasurile logice într-un sistem distribuit?
Un mecanism care atribuie timestamp-uri evenimentelor pentru a respecta relația de precedență cauzală.
Care sunt proprietățile ceasurilor logice?
Dacă un eveniment precede altul cauzal, timestamp-ul primului este mai mic decât al celui de-al doilea.
Ce reguli asigură consistența ceasurilor logice?
Regula R1 (actualizare la fiecare eveniment local) și R2 (actualizare la primirea unui mesaj).
Cum poate fi implementat un sistem de ceasuri logice?
Prin structuri de date care mențin ceasuri locale și globale pentru a asigura o vedere consistentă a timpului.
Ce diferență există între concurența logică și cea fizică?
Concurența logică înseamnă că evenimentele nu se influențează reciproc, chiar dacă au loc la momente diferite.
Care sunt tipurile de timp logic utilizate în sistemele distribuite?
Timp scalar (Scalar Time), timp vectorial (Vector Time), timp matricial (Matrix Time), timp virtual (Virtual Time).
Ce reprezintă ceasurile scalare propuse de Lamport?
O metodă de ordonare totală a evenimentelor într-un sistem distribuit folosind un singur număr întreg pentru fiecare proces.
Ce reguli se aplică pentru actualizarea ceasurilor scalare?
R1: Incrementarea ceasului local înainte de orice eveniment.
R2: La recepționarea unui mesaj, ceasul local devine maxim între valoarea sa actuală și timestamp-ul mesajului.
Care sunt limitările ceasurilor scalare?
Nu sunt capabile să captureze complet relațiile de cauzalitate între evenimente.
Cum abordează ceasurile vectoriale problema cauzalității?
Fiecare proces menține un vector de valori care indică starea locală și cunoștințele despre celelalte procese.
Ce reguli guvernează actualizarea ceasurilor vectoriale?
R1: Incrementarea valorii proprii în vector la fiecare eveniment local.
R2: La primirea unui mesaj, vectorul local este actualizat prin valoarea maximă dintre cele două vectori.
Care sunt aplicațiile ceasurilor vectoriale în sistemele distribuite?
Depanare distribuită, ordonarea cauzală a mesajelor, detectarea blocajelor distribuite.
Ce problemă ridică utilizarea ceasurilor vectoriale în sisteme mari?
Supradimensionarea mesajelor datorită vectorilor de dimensiuni mari, necesitând tehnici eficiente pentru optimizare.
Ce este tehnica diferențială Singhal-Kshemkalyani (SKDT) în ceasurile vectoriale?
Reduce dimensiunea mesajelor prin trimiterea doar a componentelor modificate ale vectorului.
Care sunt avantajele tehnicii diferențiale SKDT?
Reduce cerințele de lățime de bandă și spațiu de stocare a mesajelor.
Ce aplicații practice au ceasurile logice în sistemele distribuite?
Memorie partajată distribuită, detectarea blocajelor, asigurarea excluderii reciproce.