Facebook 正在開源 開放計算項目 Time Appliance 項目( OCP TAP ),該項目以經濟高效的方式跨數據中心提供非常精確的計時和時間同步。該解決方案包括一個時間卡,它可以將幾乎任何商用現貨( COTS )服務器轉換為精確的時間設備,由 NVIDIA ConnectX-6 Dx 網卡( NIC )啟用,并具有精確計時協議,以便與數據中心的其他服務器共享精確的計時。
Facebook 的時間卡和 NVIDIA 的 NIC 相結合,為數據中心運營商提供了一個開源、安全、可靠和可擴展的現代化、價格合理的時間同步解決方案。
為什么準確的時間在數據中心很重要
隨著應用程序的擴展和 IT 運營遍布全球,保持數據中心內不同服務器之間的數據同步,或跨大陸的不同數據中心之間的數據同步,這變得更加重要和困難。如果數據庫是分布式的,它必須跟蹤事件的確切順序,以保持一致性并顯示因果關系。如果兩個人試圖購買同一只股票,公平性(和合規性)要求明確知道哪一張訂單先到。同樣,當成千上萬的人每小時發布內容,數百萬用戶喜歡/大笑/喜愛這些帖子時, Facebook 需要知道每個帖子、豎起大拇指、回復或表情符號的實際發生順序。
保持數據同步的一種方法是讓每個數據中心在每次事務完成后將其更新發送給其他數據中心,但這很快變得不可行,因為數據中心之間的延遲太高,無法支持每小時數百萬個事件。
更好的方法是讓每個服務器和數據中心同步到精確的時間,彼此之間的同步時間不超過一微秒。這使每個站點能夠跟蹤時間,并且當它們與其他數據中心共享事件時,每個事件的順序已經正確。
時間同步越精確,應用程序的性能就越快。最近的一項測試表明,使計時 80x 更精確(使任何時間差異減小 80x )使分布式數據庫的運行速度提高了 3 倍——在相同的服務器硬件上,這是一個令人難以置信的性能提升,只是因為保持了更準確、更可靠的時間。
NIC 和網絡在時間同步中的作用
OCP TAP 項目(以及 Facebook 的 博文 關于開源 Time Appliance )精確定義了時間卡如何接收和處理來自 GPS 衛星網絡的時間信號,即使衛星信號暫時不可用也保持準確的時間,并與時間服務器共享準確的時間。但是網絡——以及使用的網卡——也至關重要。
圖 1 。 OCP 時間卡保持準確的時間,并與支持 PPS 輸入/輸出的 NIC 共享,如 NVIDIA ConnectX-6 Dx (來源: Facebook 工程博客)。時間設備中的 NIC 必須具有每秒時間脈沖( PPS )端口才能連接到時間卡。這確保了每個時間服務器中的時間卡和 NIC 之間的精確時間同步,精確到幾納秒以內。 ConnectX-6 Dx 是第一個支持此功能的現代 25 / 50 / 100 / 200 Gb / s NIC 之一。它還過濾和檢查傳入的 PPS 信號,并使用其 ASIC 中的硬件在內部維護時間,以確保準確性和一致性。
時間設備中的網卡必須有一個用于連接Time Card的每秒時間脈沖(PPS)端口。這能確保每個時間服務器中Time Card和網卡之間的精確時間同步(精確到幾納秒之內)。ConnectX-6 Dx是首批支持此功能的現代25/50/100/200Gb/s網卡之一。它還能過濾和檢查傳入的PPS信號,并使用其ASIC中的硬件在內部維護時間,從而確保精確性和一致性。
計時精度達到次微秒級的時間裝置可以與數百個使用網絡時間協議(NTP)的普通服務器或數萬個使用精確時間協議(PTP)的服務器共享該計時。由于網絡會增加時間信號的延遲,因此NTP和PTP通過為數據包添加時間戳來測量兩個方向的傳輸時間、將抖動和延遲考慮在內并計算出每個服務器上的正確時間(PTP的精度更高,因此它開始取代NTP協議)。
圖 2 。 NVIDIA 將 X-6 Dx 與 PPS 輸入/輸出端口連接,以實現與時間卡的直接時間同步。它還對硬件中的數據包執行精確的硬件時間戳。
另一種方法是使用軟件解決方案來添加時間戳,但在由于擁堵或CPU的干擾,用軟件添加時間戳的誤差可能達到幾毫秒,因此以今天的軟件方案添加時間戳是過于難預測、不精確、甚至是不可行的。相反,ConnectX-6 Dx網卡和BlueField-2 DPU可以在高達100Gb/s的速度下,在接收的數據包到達后和發送的數據包進入網絡前,立即為它們添加硬件時間戳。ConnectX-6 Dx可以為每一個數據包添加時間戳,即使在網絡負載極大的情況下,時間戳的精度誤差也小于4納秒(4ns)。其他大多數具有時間功能的網卡只對部分數據包進行標記并且精度抖動很大,因此在網絡流量大的情況下,它們的時間精確性就會下降。
NVIDIA網絡解決方案為商用網卡提供最精確的延遲測量,從而在所有服務器上實現最精確的時間,應用層面的時間誤差通常低于一微秒(《1us)。網絡計時精度的提升意味著每臺服務器上的時間變得更加精確,這將為分布式應用帶來更快的性能(并且為每個人帶來更多的Facebook“點贊數”)。
圖 3 。使用 OCP 時間服務器和 NVIDIA NIC 或 DPU s 部署 NTP 或 PTP 可將極其準確的時間傳播到數據中心的所有服務器。
精確時間同步,人人皆可受益
OCP時間設備項目使任何組織都能獲得精準的計時功能。來自Facebook、NVIDIA和OCP的開源時間服務器和開源管理工具提供了一個讓每個人都可以像超大規模用戶一樣輕松使用這項功能的方法。
NVIDIA所提供的精確時間功能網卡和DPU(數據處理器)具有精確計時設備所需的超精確時間戳和網絡同步功能。當使用BlueField DPU時,就可以在其Arm核上運行PTP棧,從而將時間棧與其他服務器軟件隔離、持續驗證該服務器內的時間精確性并持續計算整個數據中心的最大時間誤差范圍。
為了發揮經過優化的時間服務器和時間同步所帶來的優勢,云服務和數據庫已經增加了基于時間的新命令和API。這些解決方案一同開啟了精確計時的新時代,提高了分布式應用的性能并為云和企業帶來新型解決方案。
關于作者
John Kim 是 NVIDIA 網絡事業部的存儲市場總監,致力于幫助客戶和供應商從高性能網絡連接、智能網卡卸載和遠程直接數據存取 (RDMA) 中獲益,尤其是在存儲、大數據和人工智能領域。
Elad Wind 目前擔任解決方案工程總監,推動 Hyperscaler 采用 NVIDIA 互連解決方案。在加入 NVIDIA 之前, Elad 曾在 Mellanox 擔任各種技術和銷售職務,包括產品銷售和項目管理。 Elad 也是 Mellanox 新加坡亞太區總部的創始成員。 ELAD 持有特拉維夫大學 MBA 和巴黎 ESSEC 商學院,并獲得了來自 Technion 、以色列的 Eel CTR 工程的理學學士學位。
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
4989瀏覽量
103093 -
服務器
+關注
關注
12文章
9176瀏覽量
85460 -
人工智能
+關注
關注
1791文章
47294瀏覽量
238578
發布評論請先 登錄
相關推薦
評論