논리시계

Logical clock

논리시계분산형 시스템에서 연대기적, 인과적 관계를 포착하기 위한 메커니즘이다. 분산형 시스템에는 물리적으로 동기식 글로벌 시계가 없을 수 있다. 많은 애플리케이션(예: 분산 GNU 제작)에서 두 프로세스가 상호작용을 하지 않는 경우 동기화 부족은 관찰할 수 없으며 이러한 애플리케이션에서는 프로세스가 월 클럭 시간이 아닌 이벤트 순서(즉, 논리 시계)에 합의하기에 충분하다.[1] 최초의 논리 시계 구현인 램포트 타임스탬프는 1978년 레슬리 램포트에 의해 제안되었다(2013년 튜링 어워드).

로컬 시간 대 글로벌 시간

논리 시계 시스템에서 각 프로세스는 논리적 로컬 시간논리적 글로벌 시간이라는 두 가지 데이터 구조를 가진다. 논리적 로컬 시간은 프로세스에서 자체 이벤트를 표시하기 위해 사용되며, 논리적 글로벌 시간은 글로벌 시간에 대한 로컬 정보다. 각 로컬 이벤트 후 논리적 로컬 시간, 프로세스가 데이터를 교환할 때 논리적 글로벌 시간을 업데이트하는 데 특수 프로토콜이 사용된다.[2]

적용들

논리 시계는 계산 분석, 분산 알고리즘 설계, 개별 이벤트 추적 및 계산 진행률 탐색에 유용하다.

알고리즘

주목할 만한 논리 시계 알고리즘은 다음과 같다.

참조

  1. ^ "Distributed Systems 3rd edition (2017)". DISTRIBUTED-SYSTEMS.NET. Retrieved 2021-03-20.
  2. ^ 제3장: 논리적 시간 // Ajay Kshemkalyani 및 Mukesh Singhal, 분산 컴퓨팅: 원리, 알고리즘 및 시스템, 캠브리지 대학교 출판부, 2008

외부 링크