Ugrás a tartalomhoz

Berkeley algorithm

A Wikiszótárból, a nyitott szótárból


Főnév

Berkeley algorithm (tsz. Berkeley algorithms)

  1. (informatika) A Berkeley-algoritmus egy óraszinkronizálási módszer az elosztott számítástechnikában, amely feltételezi, hogy egyetlen gép sem rendelkezik pontos időforrással. Gusella és Zatti fejlesztette ki 1989-ben a Kaliforniai Egyetemen, Berkeleyben.[1] Cristian algoritmusához hasonlóan intraneten belüli használatra készült. Az algoritmus Cristian algoritmusától eltérően a Berkeley-algoritmusban a vezetőnek nevezett szerverfolyamat időszakonként lekérdezi a többi követő folyamatot. Általánosságban elmondható, hogy az algoritmus a következő: A vezetőt egy választási folyamaton keresztül választják ki, mint például Chang és Roberts algoritmusa. A vezető megkérdezi azokat a követőket, akik Cristian algoritmusához hasonló módon válaszolnak az idejükkel. A vezető figyeli az üzenetek oda-vissza idejét (RTT), és megbecsüli az egyes követők idejét és a sajátját. A vezető ezután átlagolja az óraidőket, figyelmen kívül hagyva az általa kapott értékeket, amelyek messze kívül esnek a többiek értékein. Ahelyett, hogy a frissített aktuális időt visszaküldené a másik folyamatnak, a vezető kiküldi azt az összeget (pozitív vagy negatív), amelyet minden követőnek be kell állítania az óráján. Ezzel elkerülhető az RTT miatti további bizonytalanság a követő folyamatoknál. Ezzel a módszerrel az átlag kioltja az egyes óraeltolódási tendenciákat. Gusella és Zatti 15 számítógépre vonatkozó eredményeket közölt, amelyek óráit körülbelül 20-25 ezredmásodpercenként szinkronizálták a protokolljuk segítségével. A számítógépes rendszerek általában elkerülik az órájuk visszatekerését, ha negatív óramódosítást kapnak a vezetőtől. Ez megtörné a monoton idő tulajdonságát, amely alapvető feltételezés bizonyos algoritmusokban magában a rendszerben vagy olyan programokban, mint például a make. A probléma egyszerű megoldása az óra leállítása a vezető által megadott időtartamra, de ez a leegyszerűsített megoldás is okozhat problémákat, bár azok kevésbé súlyosak. Kisebb korrekciók esetén a legtöbb rendszer lelassítja az órát, és hosszabb ideig alkalmazza a korrekciót. Az eredmények átlagolásakor gyakran figyelmen kívül hagyják azokat az ügyfeleket, akiknek az órája egy adott tűréshatáron kívüli értékkel tér el. Ez megakadályozza, hogy a teljes rendszeridő drasztikusan torzuljon egy hibás óra miatt.