Precision Time Protocol이 Meta에 배포되는 방식

블로그

홈페이지홈페이지 / 블로그 / Precision Time Protocol이 Meta에 배포되는 방식

Sep 29, 2023

Precision Time Protocol이 Meta에 배포되는 방식

Meta에서 PTP(Precision Time Protocol)를 구현하면

Meta에서 PTP(Precision Time Protocol)를 구현하면 제품과 서비스를 나노초 정밀도까지 구동하는 시스템을 동기화할 수 있습니다. PTP의 전신인 NTP(Network Time Protocol)는 밀리초 단위의 정밀도를 제공했지만 차세대 컴퓨팅 플랫폼인 메타버스와 AI를 구축하는 과정에서 더욱 발전된 시스템으로 확장함에 따라 서버가 다음과 같은 시간을 유지하도록 해야 합니다. 최대한 정확하고 정확하게. PTP를 사용하면 시간대와 전 세계 모든 사람을 위해 통신 및 생산성부터 엔터테인먼트, 개인 정보 보호 및 보안에 이르기까지 Meta의 기술과 프로그램을 향상시킬 수 있습니다.

PTP를 향한 여정은 수년이 걸렸습니다. 시간 기록 하드웨어와 소프트웨어가 서버와 데이터 센터 내에서 어떻게 작동하는지 다시 생각해야 했기 때문입니다.

우리는 PTP 마이그레이션과 이를 가능하게 한 혁신에 대한 심층적인 기술 분석을 공유하고 있습니다.

PTP 아키텍처에 대해 자세히 알아보기 전에 설명을 위해 매우 정확한 타이밍을 위한 간단한 사용 사례를 살펴보겠습니다.

클라이언트가 데이터를 쓰고 즉시 읽으려고 시도하는 상황을 상상해 보세요. 대규모 분산 시스템에서는 쓰기와 읽기가 서로 다른 백엔드 노드에 실행될 가능성이 높습니다.

읽기가 아직 최신 업데이트가 없는 원격 복제본에 도달하는 경우 사용자가 자신의 쓰기를 보지 못할 가능성이 있습니다.

이는 최소한 짜증나는 일이지만, 더 중요한 것은 단일 서버와 동일한 방식으로 분산 시스템과의 상호 작용을 허용하는 선형성 보장을 위반한다는 것입니다.

이 문제를 해결하는 일반적인 방법은 서로 다른 복제본에 대해 여러 읽기를 실행하고 쿼럼 결정을 기다리는 것입니다. 이는 추가 리소스를 소비할 뿐만 아니라 긴 네트워크 왕복 지연으로 인해 읽기가 크게 지연됩니다.

백엔드와 복제본에 정확하고 신뢰할 수 있는 타임스탬프를 추가하면 복제본이 읽기 타임스탬프를 따라잡을 때까지 기다릴 수 있습니다.

이렇게 하면 읽기 속도가 빨라질 뿐만 아니라 엄청난 양의 컴퓨팅 성능도 절약됩니다.

이 디자인이 작동하기 위한 매우 중요한 조건은 모든 시계가 동기화되어 있거나 시계와 시간 소스 간의 오프셋이 알려져 있다는 것입니다. 그러나 오프셋은 지속적인 수정, 표류 또는 단순한 온도 변화로 인해 변경됩니다. 이를 위해 우리는 오프셋이 어디에 있는지 높은 확률로 말할 수 있는 WOU(Window of Uncertainty) 개념을 사용합니다. 이 특정 예에서는 읽기 타임스탬프에 WOU를 더할 때까지 읽기가 차단되어야 합니다.

이를 위해서는 실제로 PTP가 필요하지 않다고 주장할 수도 있습니다. NTP는 괜찮을 것입니다. 글쎄, 우리도 그렇게 생각했어요. 그러나 최첨단 NTP 구현과 PTP의 초기 버전을 비교한 실험에서는 대략 100배의 성능 차이가 나타났습니다.

이벤트 추적, 캐시 무효화, 개인 정보 보호 위반 감지 개선, 메타버스의 대기 시간 보상, AI의 동시 실행 등 몇 가지 추가 사용 사례가 있으며, 그 중 다수는 하드웨어 용량 요구 사항을 크게 줄여줍니다. 이것은 앞으로 몇 년 동안 우리를 바쁘게 만들 것입니다.

이제 동일한 페이지에 있으므로 메타 규모로 PTP를 배포하는 방법을 살펴보겠습니다.

여러 차례의 신뢰성 및 운영 검토를 거쳐 우리는 PTP 랙, 네트워크, 클라이언트라는 세 가지 주요 구성 요소로 분할할 수 있는 설계를 결정했습니다.

버클을 채우세요. 우리는 심층 분석을 시작할 것입니다.

여기에는 클라이언트에게 시간을 제공하는 하드웨어와 소프트웨어가 들어 있습니다. 랙은 여러 개의 중요한 구성 요소로 구성되어 있으며 각 구성 요소는 신중하게 선택되고 테스트되었습니다.

GNSS 안테나는 가장 평가가 낮은 구성 요소 중 하나입니다. 그러나 적어도 지구에서는 이곳이 시간이 시작되는 곳이다.

우리는 나노초의 정확성을 위해 노력하고 있습니다. 그리고 GNSS 수신기가 위치를 정확하게 판단할 수 없으면 시간을 계산할 수 없습니다. 우리는 신호 대 잡음비(SNR)를 강력하게 고려해야 합니다. 품질이 낮은 안테나나 하늘을 가로막는 장애물로 인해 높은 3D 위치 표준 편차 오류가 발생할 수 있습니다. 시간을 매우 정확하게 결정하려면 GNSS 수신기가 소위 시간 모드로 들어가야 하며, 일반적으로 10m 미만의 3D 오류가 필요합니다.