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