NVIDIA ConnectX 網(wǎng)卡助力社交網(wǎng)絡(luò)關(guān)鍵任務(wù)的分布式應(yīng)用實現(xiàn)精確計時功能。
Facebook 正在開放其開源計算項目 —— 時間設(shè)備項目(OCP TAP)的源代碼,該項目以經(jīng)濟(jì)高效的方式提供高度精確的計時功能,以及跨數(shù)據(jù)中心時間同步功能。在 NVIDIA ConnectX-6 Dx 網(wǎng)卡(NIC)的支持下,這項解決方案中的 Time Card 通過精確計時協(xié)議,可以將幾乎所有商用現(xiàn)成的(COTS)服務(wù)器變成精確的計時設(shè)備,與整個數(shù)據(jù)中心內(nèi)的其他服務(wù)器共享精確計時。
Facebook Time Card 和 NVIDIA 網(wǎng)卡這對組合為數(shù)據(jù)中心運(yùn)營商提供了一個先進(jìn)和低成本的時間同步解決方案,并且該解決方案具有開源、安全、可靠和可擴(kuò)展等特點(diǎn)。
精確的時間為什么對于數(shù)據(jù)中心至關(guān)重要
隨著應(yīng)用的擴(kuò)展并且 IT 運(yùn)營遍布全球,保持?jǐn)?shù)據(jù)中心內(nèi)不同服務(wù)器,或位于各大洲不同數(shù)據(jù)中心的數(shù)據(jù)同步,變得更加重要和困難。
分布式數(shù)據(jù)庫必須追蹤事件的確切順序以保持一致性并顯示因果關(guān)系。如果有兩個人試圖購買同一只股票,那么根據(jù)公平性(和合規(guī)性)原則,就必須知道買單的先后順序。同樣,當(dāng)每小時有上千萬人發(fā)布內(nèi)容,數(shù)百萬用戶喜歡/稱贊/喜愛這些帖子時,F(xiàn)acebook 必須知道每個帖子、每次點(diǎn)贊、每條回復(fù)或每個表情符號的實際發(fā)生順序。
保持?jǐn)?shù)據(jù)同步的方法之一是讓每個數(shù)據(jù)中心在每件事務(wù)操作完成后向其他中心發(fā)送更新,但由于數(shù)據(jù)中心之間的延遲太高,以至于無法支持每小時數(shù)百萬個事件,這種做法很快就變得無法維持。
更好的方法是讓每個服務(wù)器和數(shù)據(jù)中心同步到精確的時間,使彼此之間的時間誤差不超過一微秒。這樣每個站點(diǎn)都能追蹤時間,并且當(dāng)它們與其他數(shù)據(jù)中心共享事件時,能夠正確排序每個事件。
時間同步越精確,應(yīng)用性能就越快。最近的一項測試表明,將計時精度提高 80 倍(將任何時間差異減小 80 倍)能夠使分布式數(shù)據(jù)庫的運(yùn)行速度提高 3 倍。在相同的服務(wù)器硬件上僅僅通過提高更精確和更可靠的時間就能實現(xiàn)顯著的性能提升。
網(wǎng)卡和網(wǎng)絡(luò)在時間同步中的作用
OCP TAP 項目(以及 Facebook 關(guān)于開源時間設(shè)備的博客文章)確切地定義了 Time Card 如何接收和處理來自 GPS 衛(wèi)星網(wǎng)絡(luò)的時間信號,即使在衛(wèi)星信號暫時不可用時,也能保持精確的時間并與時間服務(wù)器共享這一精確的時間。同時,網(wǎng)絡(luò)以及所使用的網(wǎng)卡也發(fā)揮著至關(guā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)部維護(hù)時間,從而確保精確性和一致性。
計時精度達(dá)到次微秒級的時間裝置可以與數(shù)百個使用網(wǎng)絡(luò)時間協(xié)議(NTP)的普通服務(wù)器或數(shù)萬個使用精確時間協(xié)議(PTP)的服務(wù)器共享該計時。由于網(wǎng)絡(luò)會增加時間信號的延遲,因此 NTP 和 PTP 通過為數(shù)據(jù)包添加時間戳來測量兩個方向的傳輸時間、將抖動和延遲考慮在內(nèi)并計算出每個服務(wù)器上的正確時間(PTP 的精度更高,因此它開始取代 NTP 協(xié)議)。
另一種方法是使用軟件解決方案來添加時間戳,但在由于擁堵或 CPU 的干擾,用軟件添加時間戳的誤差可能達(dá)到幾毫秒,因此以今天的軟件方案添加時間戳是過于難預(yù)測、不精確、甚至是不可行的。
相反,ConnectX-6 Dx 網(wǎng)卡和 BlueField-2 DPU 可以在高達(dá) 100Gb/s的速度下,在接收的數(shù)據(jù)包到達(dá)后和發(fā)送的數(shù)據(jù)包進(jìn)入網(wǎng)絡(luò)前,立即為它們添加硬件時間戳。ConnectX-6 Dx 可以為每一個數(shù)據(jù)包添加時間戳,即使在網(wǎng)絡(luò)負(fù)載極大的情況下,時間戳的精度誤差也小于 4 納秒(4ns)。
其他大多數(shù)具有時間功能的網(wǎng)卡只對部分?jǐn)?shù)據(jù)包進(jìn)行標(biāo)記并且精度抖動很大,因此在網(wǎng)絡(luò)流量大的情況下,它們的時間精確性就會下降。
NVIDIA 網(wǎng)絡(luò)解決方案為商用網(wǎng)卡提供最精確的延遲測量,從而在所有服務(wù)器上實現(xiàn)最精確的時間,應(yīng)用層面的時間誤差通常低于一微秒(《1us)。
網(wǎng)絡(luò)計時精度的提升意味著每臺服務(wù)器上的時間變得更加精確,這將為分布式應(yīng)用帶來更快的性能(并且為每個人帶來更多的 Facebook “點(diǎn)贊數(shù)”)。
精確時間同步,人人皆可受益
OCP 時間設(shè)備項目使任何組織都能獲得精準(zhǔn)的計時功能。來自 Facebook、NVIDIA 和 OCP 的開源時間服務(wù)器和開源管理工具提供了一個讓每個人都可以像超大規(guī)模用戶一樣輕松使用這項功能的方法。
NVIDIA 所提供的精確時間功能網(wǎng)卡和 DPU(數(shù)據(jù)處理器)具有精確計時設(shè)備所需的超精確時間戳和網(wǎng)絡(luò)同步功能。當(dāng)使用 BlueField DPU 時,就可以在其 Arm 核上運(yùn)行 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)于 OCP TAP 的技術(shù)規(guī)格、原理圖、機(jī)械原理、物料清單和源代碼等詳細(xì)信息,歡迎訪問:http://www.ocptap.com。
編輯:jq
-
NVIDIA
+關(guān)注
關(guān)注
14文章
4862瀏覽量
102722 -
網(wǎng)卡
+關(guān)注
關(guān)注
3文章
301瀏覽量
27314 -
源代碼
+關(guān)注
關(guān)注
96文章
2943瀏覽量
66623 -
OCP
+關(guān)注
關(guān)注
0文章
76瀏覽量
16373
原文標(biāo)題:NVIDIA 助力 Facebook 新一代計時系統(tǒng)實現(xiàn)精確計時
文章出處:【微信號:sekorm_info,微信公眾號:世強(qiáng)SEKORM】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論