크리스티안 알고리즘

Cristian's algorithm

크리스티안의 알고리즘(1989년 플라비우 크리스티안이 도입)[1]은 분산형 컴퓨터 과학의 많은 분야에서 사용될 수 있는 클록 동기화의 방법이지만 주로 낮은 대기 시간 인트라넷에서 사용된다.크리스티앙은 이 단순한 알고리즘이 요청의 왕복 시간(RT)이 필요한 정확도에 비해 짧은 경우에만 동기화를 달성한다는 점에서 확률적이라고 보았다.그것은 또한 단일 서버를 사용하는 구현에 어려움을 겪으며, 중복성이 중요한 많은 배포 애플리케이션에는 적합하지 않다.

설명

크리스티안의 알고리즘은 프로세스 P와 타임 레퍼런스 소스에 연결된 타임 서버 S 사이에서 작동한다.간단히 말해:

  1. P는 시간 t에서0 S로부터 시간을 요청한다.
  2. P로부터 요청을 받은 S는 응답을 준비하고 자신의 시계에서 T 시간을 추가한다.
  3. P는 시간 t에서1 응답을 수신한 후 시간을 T + RTT/2로 설정하며 여기서 RTT=t-t10.

RTT가 실제로 요청과 응답 사이에 균등하게 분할된 경우, 동기화는 오류 없는 것이다.그러나 예측할 수 없는 영향 때문에, 이러한 가정은 정기적으로 사실이 아니다.더 긴 RTT는 일반적으로 비대칭인 간섭을 나타낸다.따라서 다수의 요청/응답 쌍 집합에서 적절한 RTT를 선택하여 동기화의 오프셋 및 지터를 최소화한다.주어진 시간에 RTT를 받아들일 수 있는지 여부는 시계의 표류 및 RTT의 통계에 따라 달라진다.이러한 수량은 동기화 과정에서 측정할 수 있으며, 이 수량은 방법 자체를 최적화한다.

참고 항목

참조

  1. ^ Cristian, Flaviu (1989), "Probabilistic clock synchronization" (PDF), Distributed Computing, Springer, 3 (3): 146–158, doi:10.1007/BF01784024