DOCA 是用于在 BlueField DPU 上開發應用程序的軟件框架。借助 DOCA,您可以從主機 CPU 中卸載基礎設施工作負載,并通過 BlueField DPU 加速這些工作負載。這樣可以實現軟件定義且硬件加速的基礎設施,更大限度地提高數據中心的性能和靈活性。
DOCA 現已推出!
NVIDIA 于 2020 年 10 月首次推出 DOCA。NVIDIA BlueField-2 DPU 現已正式推出,DOCA 也已進入早期提供階段,這樣一來,您便可以輕松開發和增強您的方案,利用 BlueField 的功能卸載、加速和隔離基礎設施工作負載(包括網絡、安全、存儲和管理)。在本文中,我們將詳細討論 DOCA 包含什么,以及開發者和 ISV 如何借此創建基于 DPU 的解決方案。
首先,簡要概述BlueField DPU的含義和功能。它包含了一個強大的智能網卡,可支持高速以太網或 InfiniBand 兩種接口、一組 Arm 核、DRAM 和 PCIe 交換機,通過高速Mesh網絡連接在一起。嵌入式 ConnectX 智能網卡包含許多加速器(網絡、云、存儲、加密、流媒體、時間同步等), BlueField 更是增加了面向安全、存儲虛擬化、硬件隔離和遠程管理的加速器和功能。
圖 1.BlueField DPU 和 DOCA 框架允許將基礎設施服務轉移到 DPU,從而卸載和加速這些服務。DOCA 支持在應用層和基礎架構服務層進行開發
使用 DOCA 的益處
BlueField 的許多功能和加速器均可通過特定 API、開源 SDK 或現有驅動進行訪問,因此您可能會問為何應使用 DOCA。使用 DOCA 的主要益處是簡化使用 DPU 的基礎設施應用程序和功能的開發和部署流程。這樣可以加快應用和其它BlueField的功能進入市場的速度:
統一訪問所有 DPU 功能 – 讓您不必學習和使用多種不同的工具。
在 DPU 的底層 API上提供一個抽象層給上層的庫, – 您可以更快速、更輕松地進行開發,實現和上層業務的集成,并經優化而提供出色的性能;或者和底層接口合作達到更精細的控制。
向前/向后兼容性 – 使用 DOCA 進行開發意味著您的應用可以在未來版本的 BlueField DPU 上無縫運行,且得到了更高的性能和可擴展性。
基于容器化服務的 DPU 調配和部署 – DOCA 包含用于簡化 DPU 設置、配置和服務編排的工具。
開發者的 DOCA 1.0 使用歷程
DOCA 包含 SDK 軟件開發套件和 DPU 運行時平臺。SDK 包含 API、開發庫、開發者工具和參考應用代碼,其運行時包含服務、參考應用程序可執行文件和運行時工具。驅動支持 DOCA 庫,DOCA庫已經支持 DOCA 1.0包含的參考應用。此外,還有 DOCA 服務,如發送經過濾的遙測數據、DPU 和 SDK 管理工具,以及數據平面(在此版本中通過 DPDK 加速)或控制平面上軟件定義網絡 (SDN) 的編程接口。
選擇您想在在 DPU 上運行的應用或與 DPU 集成的應用,開啟您的 DOCA 使用歷程。然后,定義您的應用應該在主機 CPU運行、或是在DPU 上運行,還是需要運行在兩者之上。主機上運行的應用程序必須面向主機 CPU(通常為 X86)進行編譯,而 DPU 上運行的應用程序必須面向 Arm 進行編譯。無論采用哪種方式,應用程序都可以通過 DOCA 訪問 DPU 的卸載和加速引擎,您可以選擇用于開發的 DOCA 應用示例、庫和 API。如果主應用程序仍然需要運行在主機 CPU 上,您可以在 DPU 的 Arm 核上創建一個小型代理來激活 BlueField 的 硬件卸載功能,而無需對現有應用程序進行大的修改。
圖 2.開發者的 DOCA 使用歷程 – 從開發到部署。
DOCA 編程選項
當您對 DPU 進行編程時,在許多情況下,可以直接訪問驅動。這通常需要底層編程和詳細的驅動知識。在大多數情況下,對 DOCA 庫進行編程會更加輕松,這些庫為驅動提供了上層的抽象層。它的優勢就是已經針對每個用例進行了調優,可獲得更出色的加速性能。參考應用提供了實際工作代碼以及 DOCA 庫的使用示例。在某些情況下,可以使用這些參考應用作為基礎, 然后通過修改它們來滿足運行在DPU上的不同應用和方案。
例如您想構建一個可加速的負載均衡器,或者集成一個分布式防火墻的代理到DPU,您就可以選擇DOCA中關于深度數據包檢測 (DPI)庫的相關參考應用。這些庫又運行在 DPDK 庫上,利用 DPU 內的有狀態連接跟蹤和正則表達式 (regex) 匹配引擎進行加速。
表 1.三個例子來解釋 DOCA 是如何運行在底層 API/Lib和DPU上,以及如何來訪問底層API/Lib和DPU件功能的。
在大多數情況下,您可以對底層 API/Lib進行編程,而不是對DOCA 庫進行編程, 但是如果可以對DOCA 庫直接進行編的話, 其實會更簡單,甚至還可以修改 DOCA 參考應用程序。對另一些 DOCA 庫,如SPDK等,盡管目前尚未提供 DOCA 參考應用程序,但您還是使用 DOCA 1.0的庫。關于存儲的相關參考應用程序稍后將被添加到 DOCA中。關于時間同步或 IPSec 加密功能等這些應用,它們的API 和功能實現已經可以在最新的 BlueField 操作系統獲得。功能實現將在未來版本的 DOCA 庫中提供。
從兩方面來看DOCA 工具
從開發者的角度來看,DOCA 可劃分為兩大領域:
SDK 組件,幫助您構建在 DPU 上運行或使用 DPU 的應用程序。
DOCA 運行時集,包含在 DPU 上運行應用程序所需的組件。
其中的SDK 又包含開發庫、驅動和工具包,以及參考應用相關的文檔和參考代碼源。
運行時包含二進制庫、運行時二進制文件、編譯工具、安裝工具、基準測試程序以及各種 DOCA 服務代理。借助這些,您可以使用不同的 DPU API 和功能,設置 DPU 卡、安裝合適的操作系統,以及在 DPU 上運行您的軟件。運行時還包括各種管理工具,用于配置和支撐服務器中和網絡中的 DPU卡,同時支持編排容器化操作與各種加速服務。
DOCA 中包含的參考應用程序
DOCA 1.0 包括了使用DPI 的加速負載均衡器參考應用程序,以及使用 DPI 和 regex 模型匹配的下一代防火墻代理參考應用程序。他們都充分利用了 DOCA庫和DPU 上的加速功能的優勢。它們包含源文件,無需在 DPU 上進行編程。但是,它們可以提供 DPU API 和庫的使用示例,從而簡化應用程序的開發和集成。未來的 DOCA 版本中可能會添加更多的參考應用程序。
DPU 管理工具和其他功能
SDK 管理器 – 幫助您在運行 DPU 的機器上安裝和更新 BlueField SDK。它會在主機上安裝 DOCA SDK 和運行時,并在主機上安裝用于更新 BlueField 的操作系統和 DOCA 的開發容器。
配置工具 – 旨在簡化管理和自動化部署數據中心中的大量 DPU 卡,可以通過腳本和管理工具來實現。DOCA 1.0 中目前不包含這些工具,但很快會添加到 DOCA中。
遙測 – 可以在DPU上選擇性地捕獲和共享網絡和服務器的關鍵遙測數據,然后分享和收集這些數據給日志管理工具、數據分析工具或網絡安全工具等。
有一些 BlueField DPU 功能在DOCA 1.0 SDK 中不支持,但是 DOCA 運行時對此提供了支持。以下功能目前可以從 BlueField DPU 軟件包或 Mellanox OFED 庫中獲得,并將被添加到未來版本的 DOCA SDK中:
網絡流量加密(使用 IPSec 或 TLS)
面向時間同步數據中心的超級準確的精度時間協議 (PTP)
關于 NVIDIA GPUDirect Storage (GDS) 的支持
等等……
同樣,通過 DPU 將遠端網絡存儲虛擬為本地 NVMe SSD 或 virtio-blk(虛擬IO-塊存儲)設備的BlueField SNAP 技術。DOCA 運行時現在包含的 SNAP 功能,可支持通過 SPDK 庫訪問上層開發者 SDK,更多的SNAP功能將會逐漸添加到 DOCA SDK。
DOCA 愿景
DOCA 的路線圖包括了支持使用 DOCA 訪問 BlueField DPU 的幾乎所有功能。圖 3 是 DOCA 軟件棧的計劃,包括了對于運行在各種 DOCA 服務、庫和驅動上的不同類型的上層應用。
圖 3.隨著DOCA 不斷發展,將為幾乎所有的 BlueField DPU 功能提供全面支持。
NVIDIA 希望您能輕松使用 DPU 的各種功能,并簡化以下流程:在 DPU 上創建新應用程序,或者將現有應用程序與 BlueField DPU 集成。隨著 新DOCA系列版本的發布, 將不斷擴展 DOCA 中的驅動、庫、服務和應用示例等。您將能夠使用 NVIDIA DPU 創建更先進、更高效的解決方案,加速基礎設施服務。使用 DOCA 提高數據中心的性能、效率、安全性和可管理性。
關于作者
John Kim 是 NVIDIA 網絡事業部的存儲市場總監,致力于幫助客戶和供應商從高性能網絡連接、智能網卡卸載和遠程直接數據存取 (RDMA) 中獲益,尤其是在存儲、大數據和人工智能領域。John 是非常活躍的博主、會議演講嘉賓和網絡直播節目主持人,也是存儲網絡行業協會網絡存儲論壇 (SNIA NSF) 的主席。John的高科技生涯從 IT 支持人員和網絡管理員開始,先后在NetApp 和 EMC等企業級軟件公司以及存儲供應商從事解決方案市場、產品管理和生態聯盟工作。他于 2013 年加入 Mellanox,之后于 2020 年加入 NVIDIA。
Ariel Kit 是 NVIDIA 網絡產品營銷總監。 Ariel 負責管理 NVIDIA BlueField DPU 軟件組合和網絡安全的戰略和交付。 Ariel 在網絡安全和嵌入式片上系統領域擁有 6 年以上的產品開發經驗,并擁有 12 年以上的研發管理經驗。他有學士學位。通信系統工程和工商管理碩士。
審核編輯:郭婷
-
嵌入式
+關注
關注
5082文章
19111瀏覽量
304847 -
NVIDIA
+關注
關注
14文章
4981瀏覽量
102997
發布評論請先 登錄
相關推薦
評論