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