本文來自“專用數(shù)據(jù)處理器(DPU)性能基準評測方法與實現(xiàn)(2022)”介紹 DPU 性能測試系統(tǒng)框架與測試流程,包括測試系統(tǒng)、測試要求、測試活動三部分。具體的,測試系統(tǒng)定義了三種搭建 DPU 測試系統(tǒng)的方法,測試要求闡述了組建 DPU 測試系統(tǒng)時需要滿足的要求,測試活動定義了DPU Benchmark 的選擇策略、執(zhí)行前準備、執(zhí)行過程及測試結(jié)果報告。
DPU 測試系統(tǒng)(SUT)
DPU 測試系統(tǒng)(System Under Test,SUT)是測試 DPU 性能的平臺,其結(jié)構(gòu)在不同應(yīng)用場景中,主要分為三類:單端型測試系統(tǒng)(Single-End)、端到端型測試系統(tǒng)(End-to-End)和多端型測試系統(tǒng)(Multi-End)。
單端型(Single-End)測試系統(tǒng)是主機與 DPU 通過總線互聯(lián)構(gòu)成的封閉測試系統(tǒng),主要用于模擬無網(wǎng)絡(luò)連接情況下,DPU 作為專用加速器執(zhí)行主機端特定業(yè)務(wù)的過程。在這種系統(tǒng)中,計算與數(shù)據(jù)傳輸僅在主機與 DPU 之間進行,DPU 不與其他設(shè)備通信,僅執(zhí)行特定計算業(yè)務(wù)。單端型測試系統(tǒng)主要測試 DPU 對特定計算任務(wù)的性能提升。
端到端型(End-to-End)測試系統(tǒng)將兩個單端型測試系統(tǒng)通過簡單網(wǎng)絡(luò)相連(網(wǎng)線直連),其中一個為請求發(fā)起者(Initiator/Client),另一個為請求接受者(Target/Server)。
端到端型測試系統(tǒng)主要模擬 DPU 作為網(wǎng)絡(luò)加速器執(zhí)行雙端操作的場景。在這種系統(tǒng)中,計算與數(shù)據(jù)傳輸不僅在主機與 DPU 之間進行,還通過網(wǎng)絡(luò)傳輸?shù)狡渌到y(tǒng)。DPU 在Server 端接收主機端發(fā)起的網(wǎng)絡(luò)請求并通過網(wǎng)口轉(zhuǎn)發(fā),或者在 Client 端接收網(wǎng)絡(luò)的請求并向作出響應(yīng)。端到端型測試系統(tǒng)能夠屏蔽網(wǎng)絡(luò)性能(轉(zhuǎn)發(fā)次數(shù)、交換設(shè)備的性能、轉(zhuǎn)發(fā)設(shè)備的性能)對 DPU 性能的影響,主要測試 DPU 對網(wǎng)絡(luò)協(xié)議卸載、網(wǎng)絡(luò)數(shù)據(jù)包處理的峰值能力。
多端型(Multi-End)測試系統(tǒng)是多個單端型測試系統(tǒng)通過復(fù)雜的網(wǎng)絡(luò)拓撲相連的開放測試系統(tǒng)。該測試系統(tǒng)主要模擬 DPU 作為網(wǎng)絡(luò)加速器在復(fù)雜環(huán)境中處理網(wǎng)絡(luò)任務(wù)的場景。在這種系統(tǒng)中,網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò)拓撲)與資源分布(相同或者不同類型的 DPU 系統(tǒng))情況復(fù)雜,DPU 不僅承擔一對一的網(wǎng)絡(luò)任務(wù),還可能接收一/多個其他系統(tǒng)的請求(含背景流量甚至惡意攻擊)或響應(yīng)一/多個其他系統(tǒng)的請求。
單端型(Single-End)測試系統(tǒng)
主機與 DPU 通過總線(通常為 PCIe)直接相連形成的可獨立工作的系統(tǒng)為單端型測試系統(tǒng),系統(tǒng)包含支持 DPU 正常工作的軟件和硬件。在這種測試系統(tǒng)中,DPU 作為專用加速器執(zhí)行特點計算業(yè)務(wù)。
單端型測試系統(tǒng)模型的基本結(jié)構(gòu)如圖2.1(a) 所示。運行時環(huán)境(Run Time Environ-ment,RTE)代表運行中的 DPU 測試程序,交換設(shè)備(Switch)為 DPU 與主機系統(tǒng)(Host System)的互連結(jié)構(gòu)(通常為 PCIe)。在單端型測試系統(tǒng)中,DPU 作為專用加速器,主機使用 DPU 加速某些任務(wù)的處理,如數(shù)據(jù)庫查詢、AI 訓練等。任務(wù)數(shù)據(jù)首先從主機端搬運到 DPU,DPU 計算完成后,再將處理完的數(shù)據(jù)寫回主機。在這種工作模式中,DPU測試程序可以以數(shù)據(jù)處理時間、數(shù)據(jù)處理規(guī)模作為性能指標。
單端型測試系統(tǒng)具體由硬件和軟件兩部分構(gòu)成,硬件主要有 DPU、CPU 以及其他
保證系統(tǒng)正常進行的硬件(內(nèi)存、硬盤等),軟件主要有操作系統(tǒng)、DPU 驅(qū)動、開源工具、DPU Benchmark,結(jié)構(gòu)示意如圖。各部分組件要求如下:
1. DPU Benchmark,評測 DPU 系統(tǒng)性能的基準測試程序;
2. 開源工具(Open Source Tools),一些廣泛使用的性能測試工具,保證測試結(jié)果可重復(fù),在不同的用戶測試時可以獲得相近的結(jié)果;
3. DPU Benchmark 驅(qū)動(Benchmark Driver),基于內(nèi)核態(tài)的測試驅(qū)動或者基于用戶態(tài)的測試驅(qū)動;
4. DPU 驅(qū)動(DPU Driver),包括 DPU 最底層的抽象,也包括 DPU 所提供給用戶程序使用的接口;
5. 操作系統(tǒng)(Operating System),需要支持 DPU Benchmark 的版本,且相關(guān)信息需要在結(jié)果報告中明確寫出,如操作系統(tǒng)版本,內(nèi)核版本等;
6. 計算設(shè)備(Computing Device),通用 CPU,其上運行操作系統(tǒng);
7. 連接設(shè)備(Connected Device),根據(jù) DPU 板卡接口不同選擇不同,常見的有PCIe、CXL;
8. IO 硬件(I/O),鼠標、鍵盤等保證系統(tǒng)執(zhí)行所必須的硬件設(shè)備;
9. 被測 DPU 產(chǎn)品(DPU);
10. 其他硬件資源(Hardware Resources),如內(nèi)存、硬盤。
端到端型(End-to-End)測試系統(tǒng)
端到端型測試系統(tǒng)是由兩個單端型測試系統(tǒng)通過網(wǎng)線直連的方式組成的測試系統(tǒng)。在這種測試系統(tǒng)中,屏蔽了復(fù)雜的網(wǎng)絡(luò)拓撲與其他系統(tǒng)流量的影響,可以測試 DPU 網(wǎng)絡(luò)加速的峰值性能。
端到端型測試系統(tǒng)由兩個單端型測試模型直接相連(如圖所示),每個單端測試系統(tǒng)分別運行 DPU Benchmark 測試程序,一般其中一個運行發(fā)起者程序 (Initiator/-Client),另一個運行接收者程序 (Target/Server)。通過發(fā)起者發(fā)送請求,接收者響應(yīng)請求,測量基于網(wǎng)絡(luò)的端到端操作,例如 RDMA Send/Receive 操作,NVMe-oF 遠程訪問。在這種測試模型中,根據(jù)從一端 DPU 系統(tǒng)到另一端 DPU 系統(tǒng)的請求時間和流量等測試DPU 的延遲、吞吐量等性能。
端對端型測試系統(tǒng)在單端型測試系統(tǒng)的基礎(chǔ)上,增加網(wǎng)絡(luò)基礎(chǔ)設(shè)備(通常為網(wǎng)線)
用于直接連接兩個單端測試系統(tǒng),其結(jié)構(gòu)如圖2.3所示。根據(jù) DPU 所支持的網(wǎng)口速率不同,可采取不同的網(wǎng)絡(luò)連接設(shè)備,缺省值為 100Gbs 連接。
多端型(Multi-End)測試系統(tǒng)
多端型測試系統(tǒng)是由多個單端型測試系統(tǒng)經(jīng)由復(fù)雜網(wǎng)絡(luò)(復(fù)雜的網(wǎng)絡(luò)拓撲)連接形
成的測試系統(tǒng)。在這種測試系統(tǒng)中,可以模擬 DPU 所處的真實網(wǎng)絡(luò)環(huán)境,測試 DPU 網(wǎng)絡(luò)處理的實際性能。
多端型測試系統(tǒng)模型主要用于模擬基于 DPU 構(gòu)建的數(shù)據(jù)中心,通過復(fù)雜的網(wǎng)絡(luò)將
眾多 DPU 系統(tǒng) (功能相同或者不同) 互連起來,從而測試基于 DPU 系統(tǒng)實現(xiàn)的網(wǎng)絡(luò)、存儲或安全加速應(yīng)用的真實性能,如NVMe-oF 讀取不同結(jié)點存儲系統(tǒng)的存儲資源、RDMA訪問不同結(jié)點的資源。在這種測試模型中,根據(jù)請求與響應(yīng)時間、請求的數(shù)據(jù)量及并發(fā)的請求數(shù)等可以測試延時、吞吐量、連接能力等指標。
多端型測試系統(tǒng)在單端型測試系統(tǒng)的基礎(chǔ)上,需要增加更復(fù)雜的網(wǎng)絡(luò)基礎(chǔ)設(shè)備用于連接不同節(jié)點的 DPU 系統(tǒng)。這些網(wǎng)絡(luò)基礎(chǔ)設(shè)施包括但不限于集線器、交換機、路由器等。
在 DPU Benchmark 執(zhí)行時,為了保證測試結(jié)果的準確性與可重復(fù)性,對于同一種測試用例執(zhí)行兩輪(特殊的情況在具體的測試用例說明)。每一輪分為三個部分:預(yù)熱 (Warmup Run) 部分排除初始化干擾;負載執(zhí)行 (Measured Run) 部分為真正的指標測試;結(jié)果檢查 (Result Check) 部分檢查結(jié)果的正確性 (數(shù)據(jù)傳輸?shù)耐暾裕嬎憬Y(jié)果的正確性等)。每執(zhí)行完一輪需要恢復(fù)至初始狀態(tài) (Clear up)。在預(yù)熱部分與負載執(zhí)行之間不允許執(zhí)行其他任務(wù)。每一輪執(zhí)行的過程中,DPU 測試系統(tǒng)配置不可以發(fā)生變化。
在 DPU Benchmark 執(zhí)行過程中,DPU 測試系統(tǒng)不可以重啟或者重新開始。如果 DPU系統(tǒng)測試應(yīng)用、操作系統(tǒng)或者硬件發(fā)生不可恢復(fù)的錯誤時,這一輪的執(zhí)行應(yīng)作無效;如果 DPU 系統(tǒng)測試應(yīng)用、操作系統(tǒng)或者硬件檢測到可恢復(fù)的錯誤,并且錯誤糾正并恢復(fù)正常,那么這一輪的執(zhí)行應(yīng)作有效。在錯誤發(fā)生處理期間,測試者不能人工干預(yù),否則,這一輪執(zhí)行應(yīng)作無效。
測試報告中除了給出不同測試用例的性能指標,還需要給出測試過程中的全部配置信息,包括:配置參數(shù),包括服務(wù)器、存儲、網(wǎng)絡(luò)等其他硬件設(shè)施;安裝的操作系統(tǒng)、文件系統(tǒng)、測試工具等軟件版本;在測試過程中使用到的其他軟件程序;程序編譯優(yōu)化選項。在執(zhí)行 DPU Benchmark 時如果系統(tǒng)發(fā)送異常或者其他情況,需要在報告附錄中指出。
本文來自“專用數(shù)據(jù)處理器(DPU)性能基準評測方法與實現(xiàn)(2022)”介紹 DPU性能測試系統(tǒng)框架與測試流程,包括測試系統(tǒng)、測試要求、測試活動三部分。完整內(nèi)容請參看原報告。
審核編輯:湯梓紅
-
cpu
+關(guān)注
關(guān)注
68文章
11033瀏覽量
215976 -
測試系統(tǒng)
+關(guān)注
關(guān)注
6文章
854瀏覽量
62727 -
DPU
+關(guān)注
關(guān)注
0文章
390瀏覽量
24688 -
數(shù)據(jù)處理器
+關(guān)注
關(guān)注
0文章
26瀏覽量
8767
原文標題:DPU性能評測系統(tǒng)框架與測試流程
文章出處:【微信號:AI_Architect,微信公眾號:智能計算芯世界】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
《數(shù)據(jù)處理器:DPU編程入門》讀書筆記
《數(shù)據(jù)處理器:DPU編程入門》DPU計算入門書籍測評
IaaS+on+DPU(IoD)+下一代高性能算力底座技術(shù)白皮書
專?數(shù)據(jù)處理器 (DPU) 技術(shù)??書
【書籍評測活動NO.23】數(shù)據(jù)處理器:DPU編程入門
什么是DPU?
《數(shù)據(jù)處理器:DPU編程入門》+初步熟悉這本書的結(jié)構(gòu)和主要內(nèi)容
ServerScope集成性能評測系統(tǒng)框架

NVIDIA發(fā)布用于BlueField DPU的軟件框架DOCA 1.1
NVIDIA推出基于 NVIDIA BlueField DPU 的 DOCA 1.2 軟件框架
NVIDIA BlueField-2 DPU性能測試方法
被稱為數(shù)據(jù)中心“第三顆主力芯片”,DPU憑什么?

評論