시계 동기화
Clock synchronization시계 동기화는 컴퓨터 과학과 공학에서 다른 독립적인 시계를 조정하는 것을 목표로 하는 주제다. 처음에 정확하게 설정했을 때도, 실제 시계는 약간 다른 비율로 시간을 세는 것에 의해 야기되는 클럭 드리프트로 인해 어느 정도의 시간이 지나면 달라질 것이다. 시계율 차이와 몇 가지 해결책의 결과로 발생하는 몇 가지 문제들이 있는데, 어떤 문제들은 특정한 맥락에서 다른 문제들보다 더 적절하다.[1]
용어.
시리얼 통신에서 클럭 동기화는 전체 위상 동기화가 아니라 주파수 동기화를 달성하는 클럭 복구를 참조할 수 있다. 그러한 클럭 동기화는 통신에서의 동기화와 자동 보드 속도 감지에 사용된다.[2]
Plesiochynchronous 또는 등시 작동은 주파수 동기화와 위상 동기화에 대한 느슨한 제약을 가진 시스템을 말한다. 동기식 운영은 아마도 주파수 외에도 시간에 기반한 더 엄격한 동기화를 의미한다.
문제
소규모로 시간을 관리하는 데 어려움이 있기 때문에 여러 대의 컴퓨터가 동일한 글로벌 시간을 실현해야 하는 분산 컴퓨팅의 복잡성을 가중시키는 클록 스큐와 관련된 문제가 있다. 예를 들어, Unix 시스템에서 make 명령은 새 코드 또는 수정된 코드를 컴파일하는 데 사용되며 변경되지 않은 코드를 다시 컴파일하지 않도록 한다. make 명령은 실행 중인 시스템의 클럭을 사용하여 어떤 소스 파일을 다시 컴파일해야 하는지 결정한다. 소스가 별도의 파일 서버에 있고 두 대의 컴퓨터가 비동기화된 클럭을 가지고 있다면, make 프로그램은 정확한 결과를 내지 못할 수 있다.[3]
스트리밍 매체의 정확한 복제를 위해서는 동기화가 필요하다. 시계 동기화는 이더넷을 통한 오디오 시스템의 중요한 구성 요소다.
해결 방법
중앙 서버가 있는 시스템에서 동기화 솔루션은 사소한 것이며, 서버가 시스템 시간을 지시할 것이다. 크리스티안의 알고리즘과 버클리 알고리즘은 이 환경에서 시계 동기화 문제에 대한 잠재적인 해결책이다.
분산 컴퓨팅에서는 글로벌 시간을 쉽게 알 수 없기 때문에 문제가 더 복잡해진다. 인터넷에서 가장 많이 사용되는 클럭 동기화 솔루션은 사용자 데이터그램 프로토콜(UDP) 메시지 전달에 기반한 계층화된 클라이언트-서버 아키텍처인 NTP(Network Time Protocol)이다. 램포트 타임스탬프와 벡터 클럭은 분산 컴퓨팅에서 논리 클럭의 개념이다.
무선 네트워크에서는 무선 매체에서의 동기화 패킷의 충돌 가능성과 저비용 무선 장치에서의 클럭의 높은 드리프트율 때문에 문제가 더욱 어려워진다.[4][5]
버클리 알고리즘
버클리 알고리즘은 라디오 시계가 존재하지 않는 시스템에 적합하며, 이 시스템은 글로벌 평균 시간을 글로벌 시간으로 유지하는 것 외에는 실제 시간을 확인할 방법이 없다. 타임 서버는 모든 시간 클라이언트에서 정기적으로 시간을 가져오고, 결과를 평균한 다음 평균을 달성하기 위해 지역 시계에 조정이 필요한 사항을 다시 고객에게 보고한다. 이 알고리즘은 내부 시계가 포함된 시간뿐만 아니라 클럭 속도에서도 달라질 수 있다는 사실을 강조한다.
클럭 샘플링 상호 네트워크 동기화
클록 샘플링 상호 네트워크 동기화(CS-MNS)는 분산 및 모바일 애플리케이션에 적합하다. 간접적으로 연결된 비인접 노드를 포함하는 메쉬 네트워크를 통해 확장성이 입증되었으며 IEEE 802.11 및 이와 유사한 표준과 호환된다. 몇 마이크로초의 순서에 따라 정확할 수 있지만 인접 노드 사이의 링크에서 링크 지연(1마이크로초 미만)이 거의 없는 직접 물리적 무선 연결이 필요하므로 인접 노드 사이의 거리는 수백 미터로 제한된다.[6]
크리스티안 알고리즘
크리스티안의 알고리즘은 타임서버의 존재에 의존한다.[7] 타임 서버는 라디오 시계나 다른 정확한 시간 소스를 사용하여 시계를 유지하며, 그러면 시스템의 다른 모든 컴퓨터들은 그것과 동기화된다. 시간 클라이언트는 시간 서버에 프로시저를 호출하여 시계를 유지한다. 이 알고리즘의 변화는 네트워크 무선 전파 시간을 고려함으로써 더 정확한 시간 계산을 만든다.
위성위치확인시스템
항법에서 사용하는 것 외에도, 위성 위치 확인 시스템(GPS)을 시계 동기화에 사용할 수 있다. GPS 시간 신호의 정확도는 ±10나노초다.[8] 동기화를 위해 GPS를 사용하려면 GPS 수신기가 하늘의 방해받지 않는 시야를 가진 안테나에 연결되어야 한다.
Interrange Instrumentation Group 시간 코드
IRIG 타임코드는 타이밍 정보를 전송하기 위한 표준 형식이다. 정밀 타이밍을 위해 설계된 원자 주파수 표준과 GPS 수신기에는 IRIG 출력이 장착되는 경우가 많다. 이 표준은 범위 지휘관 협의회의 표준 기구인 미군간 범위 계측 그룹(IRIG)의 전기통신 작업 그룹에 의해 만들어졌다. 이러한 표준에 대한 작업은 1956년 10월에 시작되었고, 원래의 표준은 1960년에 받아들여졌다.[9]
네트워크 시간 프로토콜
NTP(Network Time Protocol)는 인터넷 전체에 광범위하게 배치되는 매우 강력한 프로토콜이다. 수년에 걸쳐 잘 테스트된, 신뢰할 수 없는 네트워크에 대한 분산 시간 동기화 프로토콜의 기술 상태로 일반적으로 간주된다. 그것은 동기화 오프셋을 공공 인터넷 상에서 몇 밀리초의 순서의 시간으로, 그리고 로컬 영역 네트워크에서 밀리초 미만의 수준으로 줄일 수 있다.
단순화된 버전의 NTP 프로토콜인 SNTP(Simple Network Time Protocol)도 순수 싱글샷 상태 비저장 1차/2차 동기화 프로토콜로 사용할 수 있지만 NTP의 정교한 기능이 부족하여 성능과 신뢰성 수준이 훨씬 낮다.
Precision Time Protocol(정밀 시간 프로토콜)
PTP(Precision Time Protocol)는 로컬 영역 네트워크를 통해 매우 정확한 시간을 전달하기 위한 마스터/슬레이브 프로토콜이다.
참조 브로드캐스트 동기화
RBS(Reference Broadcast Time Synchronization) 알고리즘은 무선 네트워크와 센서 네트워크에서 자주 사용된다. 이 방식에서, 개시자는 수신자에게 시계 조정을 촉구하기 위해 참조 메시지를 방송한다.
참조 브로드캐스트 인프라 동기화
RBIS(Reference Broadcast Infrastructure Syncryption)[10] 프로토콜은 수신기/수신기 동기화 패러다임에 기반한 RBS와 같은 마스터/슬레이브 동기화 프로토콜이다. 인프라 모드로 구성된 IEEE 802.11 무선 네트워크(즉, 액세스 포인트에 의해 조정됨)에서 사용하도록 특별히 맞춤화되었다. 프로토콜은 액세스 포인트에 대한 어떠한 수정도 요구하지 않는다.
동기식 이더넷
동기식 이더넷은 화이트 래빗 프로젝트의 경우 PTP와 같은 동기화 프로토콜과 결합하면 나노초 미만의 동기화 정확도를 얻을 수 있도록 이더넷을 동기식으로 사용한다.
무선 애드혹 네트워크
무선 애드혹 네트워크에서 동기화는 멀티홉 방식으로 동기화 메시지를 전송하고 각 노드는 동기화 메시지의 즉각적인 송신자인 노드와 점진적으로 동기화함으로써 달성된다. 예를 들어 FTSP([4]Flooding Time Syncryption)와 하모니아([5]Harmonia)는 마이크로초 단위로 정확하게 동기화를 달성할 수 있다.
참고 항목
참조
- ^ Tanenbaum, Andrew S.; van Steen, Maarten (2002), Distributed Systems : Principles and Paradigms, Prentice Hall, ISBN 0-13-088893-1
- ^ Norman Matloff (September 3, 2001), Transmission on a Serial Line (PDF), retrieved 2018-04-17
- ^ Marco Platania (2018-06-03). "Clock Synchronization" (PDF). p. 11.
- ^ Jump up to: a b Maróti, Miklós; Kusy, Branislav; Simon, Gyula; Lédeczi, Ákos (2004). "The Flooding Time Synchronization Protocol". Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems. SenSys '04. New York, NY, USA: ACM: 39–49. doi:10.1145/1031495.1031501. ISBN 1581138792. S2CID 9897231.
- ^ Jump up to: a b Koo, Jinkyu; Panta, Rajesh K.; Bagchi, Saurabh; Montestruque, Luis (2009). "A Tale of Two Synchronizing Clocks". Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems. SenSys '09. New York, NY, USA: ACM: 239–252. doi:10.1145/1644038.1644062. ISBN 9781605585192. S2CID 8242938.
- ^ Rentel, Carlos H.; Kunz, Thomas (March 2005), "A clock-sampling mutual network synchronization algorithm for wireless ad hoc networks", IEEE Wireless Communications and Networking Conference, IEEE Press, 1: 638–644, doi:10.1109/WCNC.2005.1424575, S2CID 1340072
- ^ Cristian, F. (1989), "Probabilistic clock synchronization", Distributed Computing, Springer, 3 (3): 146–158, doi:10.1007/BF01784024, S2CID 3170166
- ^ "Common View GPS Time Transfer". National Institute of Standards and Technology. Archived from the original on 2012-10-28.
- ^ Josh Matson (May 2013). "Choosing the correct Time Synchronization Protocol and incorporating the 1756-TIME module into your Application" (PDF). Rockwell Automation. Retrieved 2019-08-13.
- ^ Cena, G.; Scanzio, S.; Valenzano, A.; Zunino, C. (June 2015), "Implementation and Evaluation of the Reference Broadcast Infrastructure Synchronization Protocol", IEEE Transactions on Industrial Informatics, IEEE Press, 11 (3): 801–811, doi:10.1109/TII.2015.2396003, S2CID 17867070
추가 읽기
- Govindan Kannan, Pravein.; Joshi, Raj.; Chan, Mun Choon. (Apr 2019), "Precise Time-synchronization in the Data-Plane Using Programmable Switching ASICs", Proceedings of the 2019 ACM Symposium on SDN Research, ACM: 8–20, doi:10.1145/3314148.3314353, ISBN 9781450367103
- Exploiting a Natural Network Effect for Scalable, Fine-grained Clock Synchronization, retrieved 2021-10-19