使用 NVIDIA DOCA SDK 設計整個資料中心基礎架構

作者 NVIDIA Developer

執行長黃仁勳在 NVIDIA GTC 主題演講中,介紹了一款新型處理器:BlueField-2 資料處理單元(data processing unit,DPU)、強大與全新的 DPU 軟體開發套件:DOCA,以及 DPU 和 AI 創新的三年藍圖。NVIDIA BlueField-2 DPU 是全球第一款資料中心基礎架構單晶片,旨在最佳化現在企業資料中心。DOCA 是讓 DPU 可以卸載、加快及隔離資料中心服務,將企業和 AI 應用程式之效能、安全性和可靠性,推向全新境界的關鍵。確切而言,DOCA 讓您可以在 BlueField DPU 上執行各種加速軟體定義的網路、儲存、安全性和管理服務。

在 DPU 上執行之資料中心基礎架構應用程式下的 DOCA 分層。
圖 1:在 DPU 上執行之資料中心基礎架構應用程式下的 DOCA 分層。

NVIDIA 同時發表了 BlueField-2X,為全球首見的 AI 驅動 DPU,結合了 BlueField-2 的所有功能與 NVIDIA Ampere GPU 技術。DOCA 增加了對 BlueField-2X 的支援,讓您可以建構由 AI 驅動的最佳化基礎架構管理和網路安全應用程式。欲深入瞭解 DPU 如何提高資料中心安全性和效率,請參閱什麼是 DPU?NVIDIA DPU 官方網頁

NVIDIA透過 DOCA 及其 BlueField DPU 系列, 重新塑造企業資料中心堆疊,使您可以建立安全與經過加速的基礎架構服務。DOCA 對 DPU的意義,如同 CUDA 對 GPU的意義。如同 CUDA 讓您可以設計加速運算應用程式一樣,DOCA 可以設計加速資料處理,將資料移入或移出伺服器、VM 和容器。DOCA 與 CUDA 並行,在安全、經過加速的資料中心,利用各種 NVIDIA AI 應用程式。

DOCA 適用於特定的早期試用合作夥伴。如果您有興趣,則可以在 DOCA 開發人員專區頁面註冊,以掌握未來資訊。現在,BlueField-2 已經開始送樣,並提供驅動程式、工具、加速函式庫,可以支援多種作業系統發行版。

本文章探索了 DOCA 的效益,並深入探討了提供從資料中心,到邊緣提升伺服器效能、效率和安全性等強大之開發工具的 API。

解決軟體定義了一切挑戰

2011 年 Marc Andreessen 在著名刊物中表示:「軟體正在吞噬世界。」快轉到現在,控制企業資料中心大約 15 年的硬體設備,已轉變成虛擬化、按需求付費的軟體設備在每一個伺服器中。現代企業資料中心是由軟體定義、完全可程式化,且為雲端、核心和邊緣環境中的高度分散式應用程式工作負載服務。

此軟體定義資料中心可以提供類似雲端的靈活性和敏捷性,但是會消耗許多核心。軟體定義「效能稅」會將 CPU 核心抽離商務應用程式或租用戶,且有時候會嚴重降低伺服器和資料中心的效率。

DOCA 讓應用程式開發人員和 NVIDIA 技術合作夥伴可以提供在各個資料中心節點內部之 DPU 上執行的服務,使 DPU 成為隔離與安全的服務領域(或隔區),可以運用於網路、安全性、儲存和基礎架構管理。DPU 加快了所有關鍵的資料中心基礎架構服務,並在 DPU 上執行控制軟體,例如可程式化 Arm 核心上的軟體定義網路(software-defined networking,SDN)控制器、分散式儲存軟體,或次世代防火牆代理程式。

DOCA 將在隔離和安全之服務領域中的 DPU 上執行之基礎架構(網路、儲存、安全性和管理)應用程式,與 CPU 上的應用程式領域分離。
圖 2:DOCA 將在隔離和安全之服務領域中的 DPU 上執行之基礎架構(網路、儲存、安全性和管理)應用程式,與 CPU 上的應用程式領域分離。

加快上市時間,並適用於基礎架構服務

DOCA SDK 匯集了 API、驅動程式、函式庫、範例程式碼、文件和預先封裝容器,可以啟用 BlueField-2 DPU 的加速、安全性和虛擬化功能。DOCA 提供統一的可靠工具集,可用來開發在 DPU 上執行的關鍵資料中心服務,以處理多種類型的資料處理。其中包括引導網路流量與加速、虛擬化和壓縮儲存空間,以及加密和解密資料、掃描安全性威脅、與遠端管理工具整合、在 Arm 核心上執行控制應用程式。您可以將這些卸載和加速器程式化,以分開或搭配使用,並將它們與適用於 GPU 的 NVIDIA AI 平台整合。

DOCA 讓應用程式開發人員、設備供應商、研究人員以及 NVIDIA 軟體合作夥伴可以從單一 SDK,將所有 DPU 功能程式化。在低階 API 以及透過高階程式設計語言,提供許多功能的介面。這些在 DPU 上執行的服務已超越軟體定義和硬體加速,變成可支援 AI,且易於程式化。

未來的 BlueField DPU 世代,將透過新的強化加速器提供更多運算能力。DOCA 保證 DPU可以與延伸 API 向前相容,以提供新功能。NVIDIA 致力於透過架構流程技術和軟體創新提升效能。我們不斷提高雲端、核心和邊緣環境,以及應用程式工作負載的效能和能力。

簡化在 BlueField DPU 上建立服務

以下將詳細探討 DOCA 如何處理四個關鍵資料中心功能:網路、儲存、安全性和管理。

網路

在網路方面,DPU 可以加快最先進的資料中心 SDN 和網路功能虛擬化(network function virtualization,NFV):開放虛擬交換(open virtual switching,OVS)、覆蓋網路(例如 VXLAN)、網路位址轉譯(network address translation,NAT)、自主負載平衡、細粒度流量管理,以及內容分配網路。

DOCA 讓您可以透過 rte_flow 函式庫等標準 DPDK API,將服務應用程式掛勾至 DPU 加速引擎,該函式庫支援不同的流程操作,包括覆蓋封裝、標頭重寫、髮夾式回傳,以及針對各種虛擬化網路功能的計量。

為了進一步提高效能和主機 CPU 效率,DOCA 也包含原生 OVS 和 OVS-over-DPDK 應用程式,可透過以 BlueField DPU 硬體為基礎的加速交換和封包處理(ASAP2)技術,提供無縫加速。當 DPU 硬體加快運行在 DOCA 程式化平台上的 OVS 應用程式定義之主機網路的速度時,資料中心 SDN 控制器會進行所有的協調,並透過 DPU 頻外管理連接埠建立連線。

P4 是另一種可以利用 BlueField DPU 靈活、可程式化之資料路徑加速器的語言。DOCA 同時可支援 P4 元件,可以提供支援在外來使用 P4 元件開發 VNF 應用。此支援是與已具有豐富之 VNF 產品生態系統的其他 API 整合。此架構允許同時執行為核心、RoCE、DPDK、SPDK、P4 及 P4.runtime 介面編寫,可以無縫共存,並利用 DPU 資料路徑加速的程式。

儲存

在儲存方面,DPU 可支援加快軟體定義彈性儲存、NVMe over Fabrics (NVMe-oF)、RoCE、靜態資料加密、重複資料刪除、分散式錯誤修正,以及資料壓縮的速度。BlueField DPU NVMe SNAP 技術可以如同近端 NVMe 區塊儲存體或具有低延遲、高傳輸量和高 IOPS 的 VirtIO blk 裝置,提供彈性區塊儲存功能,並呈現給主機遠端區塊儲存體。

DOCA 完全支援 SPDK 開放原始碼框架,讓您可以建立自己的儲存解決方案。服務 NVMe PCIe 可以存取提供服務及建置任何自訂邏輯,以使用許多有價值的加速 BlueField DPU 功能,利用透明化方式,將模擬儲存體託管至主機應用程式。其中包括加密、ECC 分散式錯誤修正、壓縮、重複資料刪除和惡意程式掃描。如果透過 DOCA 進行程式設計,可以立即輕鬆地調用這些功能,以儲存資料,而無須針對個別引擎進行顯式程式設計。

安全性

DPU 也可以卸載、加快及隔離所有的關鍵資料中心安全性服務。其中包括支援新一代防火牆、微分割、以透明 IPSec 和 TLS 進行動態資料內嵌加密,以及入侵防護。DPU 具有專用的安全性引擎集合,包括任何安全性解決方案的所有構件。

DOCA 包含開發安全性應用程式的標準化 API 集合。任何安全性服務都是從封包擷取、解密、連線狀態追蹤,以及深入第 7 層的封包檢查開始。其會將應用程式流量分類為受信任或惡意的。最終會將定義的安全性原則,轉換成一連串的操作,例如封包允許、捨棄、重寫或重新導向。程式設計是透過標準 DPDK API 進行,例如:

  • rte_security 適用於加密和解密
  • rte_sft 函式庫適用於連線感知
  • rte_regex 函式庫適用於正規表示式模式比對
  • rte_dpi 函式庫適用於針對所有管道加速功能進行深度封包檢查

DOCA 也包括適用於 IPSec、TLS 和儲存體 AES-XTS 加密,且經過 DPU 內嵌加速,可輕易地與以 OpenSSL 或 OVS-IPSec 為基礎之應用程式搭配使用的原生核心密碼編譯。讓 DPU 可以在主機未察覺的情況下,以透明化方式,針對所有流量進行加密和解密。其中包括由 DPU 在安全隔區內執行的金鑰管理。

DOCA 是以 RDMA 函式庫為基礎,利用快速的主機記憶體存取,讓您可以建立嚴密的主機自我檢查解決方案。自主惡意程式掃描,將情況可見性從 DPU 延伸到主機。如果發現惡意活動時,可以設計以 DPU 硬體為基礎的加速引擎,以線路速率執行原則實施。

基礎架構管理

在每一個伺服器上皆是以傳統的管理執行代理程式。但是,這些代理程式會消耗原本可運用於商務應用程式的 CPU 週期。代理程式通常對於伺服器上之 VM 與容器間的網路流量缺乏可見性。如果它們執行封包篩選或流量遙測等功能,則會消耗更多 CPU 週期。如果伺服器嚴重故障時,以 VM 或容器為基礎的管理代理程式,不太可能會報告狀態或重新啟動伺服器。

DOCA 允許隔離、以 DPU 為基礎的代理程式執行頻內或頻外管理,而不會加重伺服器 CPU 的負擔。如果伺服器需要重設,或甚至租用戶或商務應用程式需要沒有代理程式的裸機伺服器時,DOCA 程式化 DPU 仍可傳送遙測、執行遠端重設或允許伺服器安全啟動,而無須在伺服器 CPU 上執行代理程式。

BlueField 與 DOCA:相輔相成

搭載 DOCA 的 BlueField DPU 提供了獨特的機會,可以將通常無法同時部署的資料中心基礎架構服務結合。例如,由 CPU 或另外的後備加密卡進行之動態資料加密,無法與 RoCE、壓縮、雜湊或覆蓋網路結合。事實上,在進行此類加密時,會停用這些卸載及許多其他網路卸載。因為先加密的資料會導致網路裝置無法檢視封包內容,所以無法執行巧妙的封包重新路由、篩選、壅塞管理等操作。但是,將 BlueField DPU 與 DOCA 搭配使用,即可結合 RoCE、VXLAN、雜湊計算、壓縮,以及許多其他與加密和彼此結合的卸載。

DOCA 將針對所有功能的存取,匯集成單一 SDK,讓您可以使用具有相同之開放 API 的加速函式庫,立即擷取 DPU 值。您也可以使用 DOCA,以透明化方式,將關鍵控制平面應用程式或代理程式,從 X86 領域移植到 DPU Arm 核心,進而改善伺服器效能、效率以及工作負載和安全性隔離。

設計資料處理加速和 AI

最重要的是,DOCA 進一步實現了最先進的 GPU 加速 AI 工作負載,可以做為完全整合及經過測試的元件,構成更大的 NVIDIA NGC 加速運算軟體平台。

在傳統的企業應用程式,DOCA 可以在包含 BlueField DPU 的系統中,加快資料中心基礎架構服務。但是在加速 AI 和資料分析工作負載方面,同時包含 DPU 和 GPU 的系統,擁有極大的優勢。DOCA 已整合至 NGC 認證計畫。它利用龐大的開發、整合及測試投資,使我們可以使用各種 AI 應用程式框架(NVIDIA Jarvis、NVIDIA Merlin、NVIDIA Metropolis、NVIDIA Clara、NVIDIA Aerial 等等)。DOCA 與 NGC 平台的整合,同時解放了所有第三方軟體基礎架構和應用程式的能力。

您可以將 DOCA 與 CUDA 搭配使用,利用 GPU 和 DPU 分別加快運算和資料中心服務。您也可以使用 DOCA 啟用 GPUDirect,並加快網路上 GPU 之間的通訊。

使用 DPU 簡化資料中心的加速和效率

DOCA 是一種統一程式設計閘道,可以讓 NVIDIA 開發人員社群、合作夥伴及客戶在 DPU 上進行開發,並受益於加速網路、儲存、安全性和簡化管理。在 BlueField DPU 上執行的 DOCA 開發程式可以為資料中心的每個伺服器和儲存節點,卸載、加快及隔離端對端資料中心服務。因此,企業和私有雲端可以獲得軟體定義服務的靈活性和擴充性,以及硬體加速 DPU 的效能和效率。

資料中心基礎架構可以透過 DPU 進行軟體定義和硬體加速,讓您在所有伺服器上,皆能享受更快的效能、更高的效率和更完善的安全性。您可以建立新的架構,使資料中心成為新的運算單元。NVIDIA DPU 能在單一晶片上提供資料中心基礎架構的功能,DOCA 則可輕易實現更高的資料中心擴充性、效能和威脅防護。

立即試用 DOCA

您可以透過 BlueField DPU 軟體套件,立即體驗 DOCA,該套件包含用於網路、儲存和安全性的 DOCA 執行階段加速函式庫。此函式庫可以協助您設計在 DPU 上執行的資料中心基礎架構。

現在,DOCA 程式已可提供給特定的早期試用合作夥伴。想要接收與 DOCA 有關的新聞和最新消息,或成為早期試用合作夥伴,請參閱 DOCA 頁面。