在數(shù)據(jù)中心及云場(chǎng)景下,摩爾定律失效,通用處理單元 CPU 算力增長(zhǎng)速率放緩,而網(wǎng)絡(luò) IO 類(lèi)速率及性能不斷攀升,二者增長(zhǎng)速率差異形成剪刀差,即當(dāng)前通用處理器的處理能力無(wú)法跟上網(wǎng)絡(luò)、磁盤(pán)等 IO 處理的需求。傳統(tǒng)數(shù)據(jù)中心下越來(lái)越多的通用 CPU 算力被 IO 及管理面等處理占用,這部分資源損耗稱(chēng)之為數(shù)據(jù)中心稅(Datacenter Tax)。據(jù) AWS 和 Google Cloud 統(tǒng)計(jì),數(shù)據(jù)中心稅可能占據(jù)數(shù)據(jù)中心算力的 30% 以上,部分場(chǎng)景下甚至可能更多[1][2]。
DPU (Data Processing Unit) 的出現(xiàn)就是為了將這部分算力資源從主機(jī) CPU上解放出來(lái),通過(guò)將管理面、網(wǎng)絡(luò)、存儲(chǔ)、安全等能力卸載到專(zhuān)有的處理器芯片上進(jìn)行處理加速,達(dá)成降本增效的結(jié)果。目前主流云廠商如 AWS 、阿里云、華為云都通過(guò)自研芯片完成管理面及相關(guān)數(shù)據(jù)面的卸載,實(shí)現(xiàn)數(shù)據(jù)中心計(jì)算資源 100% 售賣(mài)給客戶(hù)。
DPU 發(fā)展非?;馃?。云廠商及大數(shù)據(jù)在相關(guān)場(chǎng)景下對(duì) DPU 存在較強(qiáng)烈的需求,國(guó)內(nèi)也有很多 DPU 初創(chuàng)公司推出不同的 DPU 產(chǎn)品。在這一背景下,云和大數(shù)據(jù)等廠商需要考慮如何整合使用不同 DPU 產(chǎn)品,而 DPU 廠商也面臨對(duì)不同客戶(hù)交付時(shí)設(shè)備驅(qū)動(dòng)適配客戶(hù)指定操作系統(tǒng)的問(wèn)題。
openEuler 作為國(guó)內(nèi)領(lǐng)先的開(kāi)源開(kāi)放操作系統(tǒng),通過(guò)基于 openEuler 構(gòu)建的 DPU-OS ,解決 DPU 廠商及客戶(hù)之間的適配問(wèn)題。除此之外, DPU 上 OS 用于承載部分業(yè)務(wù)加速的需求,需要對(duì) DPU-OS 進(jìn)行性能優(yōu)化加速,可以基于 openEuler 構(gòu)建 DPU 相關(guān)加速能力,內(nèi)置在 DPU-OS 中,構(gòu)建 DPU 相關(guān)軟件生態(tài)。
DPU現(xiàn)狀
DPU 普遍具有以下特點(diǎn)及問(wèn)題:
1. DPU 通用處理能力資源受限
當(dāng)前 DPU 仍處在發(fā)展早期階段,硬件上仍在不斷演進(jìn),而且由于 DPU 供電限制,當(dāng)前硬件規(guī)格普遍較低。主流 DPU 中通用處理器 CPU 核數(shù)較少,約 8-24 CPU ,且單核處理能力弱。內(nèi)存大小受限,普遍在 16-32GB 。DPU 本地存儲(chǔ)空間為幾十到幾百 GB 不等。運(yùn)行于 DPU 之上的操作系統(tǒng)也需要考慮這些限制。
2.DPU-OS 安裝方式多樣
當(dāng)前 DPU 廠商及產(chǎn)品多種多樣,對(duì)應(yīng)操作系統(tǒng)的安裝部署方式也不盡相同,包括 PXE 網(wǎng)絡(luò)安裝、U盤(pán)安裝或其他自定義安裝方式(由 HOST 下發(fā)安裝鏡像)。
3.DPU 性能需求
DPU 的應(yīng)用場(chǎng)景決定其對(duì)性能有強(qiáng)烈需求。相比于通用服務(wù)器操作系統(tǒng),DPU-OS 可能對(duì)內(nèi)核特性或功能組件有特殊要求,比如用于設(shè)備直通熱遷移的 vDPA 特性、廠商特定驅(qū)動(dòng)適配支持、DPU 進(jìn)程的無(wú)感卸載特性、定制優(yōu)化的用戶(hù)態(tài)數(shù)據(jù)面加速工具如 DPDK/SPDK/OVS、DPU 管理監(jiān)控相關(guān)的工具類(lèi)組件。
DPU-OS 需求
針對(duì)以上 DPU 現(xiàn)狀,提出對(duì) DPU-OS 的需求如下:
1.極致輕量的 DPU-OS 安裝包
通過(guò)裁剪 openEuler 系統(tǒng)鏡像,減少非必要安裝包的空間占用;通過(guò)優(yōu)化系統(tǒng)服務(wù),減少資源底噪開(kāi)銷(xiāo)。
2.裁剪配置及工具支持
提供裁剪配置及裁剪工具支持,客戶(hù)或 DPU 廠商可根據(jù)各自需求進(jìn)行定制;openEuler 提供 ISO 參考實(shí)現(xiàn)。
3.定制化內(nèi)核及系統(tǒng),提供極致性能
通過(guò)定制內(nèi)核及相關(guān)驅(qū)動(dòng),提供 DPU 競(jìng)爭(zhēng)力內(nèi)核特性;定制化加速類(lèi)組件,使能 DPU 硬件加速能力;優(yōu)化系統(tǒng)配置提供更優(yōu)性能;通過(guò) DPU 相關(guān)管理控制工具,方便用戶(hù)統(tǒng)一管理。
DPU-OS設(shè)計(jì)
圖1 DPU-OS 整體設(shè)計(jì)
如圖所示,DPU-OS 分為五層設(shè)計(jì):
內(nèi)核層:通過(guò)定制內(nèi)核 config ,裁剪非必需內(nèi)核特性及模塊,達(dá)成內(nèi)核輕量級(jí)效果;使能特定內(nèi)核特性提供高性能 DPU 內(nèi)核能力。
驅(qū)動(dòng)層:對(duì) openEuler 原生驅(qū)動(dòng)進(jìn)行裁剪定制,選擇最小集合;DPU 廠商相關(guān)底層驅(qū)動(dòng)集成,原生支持部分 DPU 硬件產(chǎn)品。
系統(tǒng)配置層:通過(guò)對(duì)系統(tǒng) sysctl 、proc 進(jìn)行配置,為 DPU 相關(guān)業(yè)務(wù)提供最優(yōu)性能。
外圍包層:對(duì) openEuler 外圍包進(jìn)行裁剪定制,選擇最小集合;提供 DPU 相關(guān)的定制工具集合。
系統(tǒng)服務(wù)層:通過(guò)優(yōu)化系統(tǒng)原生服務(wù)啟動(dòng)項(xiàng),減少非必要系統(tǒng)服務(wù)運(yùn)行,保證系統(tǒng)運(yùn)行時(shí)底噪最小化。
通過(guò)上述五層設(shè)計(jì)達(dá)成輕量化、極致性能 DPU-OS 的目標(biāo)。該方案為相對(duì)長(zhǎng)期設(shè)計(jì),且對(duì) DPU 相關(guān)軟硬件生態(tài)有較強(qiáng)的依賴(lài)。
當(dāng)前對(duì) DPU-OS 的實(shí)現(xiàn)還處于第一階段,專(zhuān)注于通過(guò) openEuler imageTailor 工具進(jìn)行進(jìn)項(xiàng)裁剪,提供最小化的 DPU-OS 實(shí)現(xiàn)。后續(xù)規(guī)劃通過(guò)對(duì)內(nèi)核及 DPU 相關(guān)組件的定制化修改、配置提供專(zhuān)用 DPU-OS 能力,提供高性能 DPU-OS 。
說(shuō)明:
1. 當(dāng)前階段的 DPU-OS 先基于 openEuler 現(xiàn)有內(nèi)核及外圍包,使用鏡像裁剪工具 imageTailor 進(jìn)行裁剪,提供輕量化 OS 安裝鏡像。后續(xù)可根據(jù)實(shí)際訴求,進(jìn)行相關(guān)內(nèi)核及外圍包特性的開(kāi)發(fā)及集成。
2. DPU-OS 的裁剪步驟可參考社區(qū)文檔 DPU-OS 裁剪指導(dǎo)[3],驗(yàn)證與部署可參考 DPU-OS 部署驗(yàn)證[4]。
客戶(hù)案例
天翼云
作為 openEuler 的重要合作伙伴,天翼云自身的 CTyunOS 系統(tǒng)脫胎于 openEuler,CTyunOS 目前在 DPU-OS 方面也進(jìn)行了一些前期的構(gòu)建與試驗(yàn)工作。包括:
1. 基于 CTyunOS3 系統(tǒng)和 sig-DPU 發(fā)布的 DPU-OS 組件,構(gòu)建 x86_64 和 aarch64 架構(gòu)的 DPU-OS 鏡像。
2. 針對(duì) kernel 包根據(jù) DPU 實(shí)際要求進(jìn)行定制(剔除 builtin 的 virtio-pci、virtio-ring 模塊等)。
3. 鏡像中增加定制外圍包,如 bash 命令補(bǔ)全、自定義工具、DPU 驅(qū)動(dòng)包等。
4. DPU-OS 配置相關(guān)組件及服務(wù),聯(lián)網(wǎng)情況下支持 yum 方式進(jìn)行包更新升級(jí)。
天翼云 DPU 團(tuán)隊(duì)在后續(xù)的 DPU 2.0 規(guī)劃里,將全面采用自身的 CTyunOS 系統(tǒng),主推使用基于 CTyunOS3 構(gòu)建的 DPU-OS 。相關(guān)需求與特性反饋給社區(qū),與 openEuler 協(xié)作共建 DPU 軟件生態(tài)。
中科馭數(shù)
openEuler 為 DPU 應(yīng)用發(fā)展落地提供良好的土壤,DPU 作為新生事物快速發(fā)展。DPU 往往會(huì)包含通用 CPU 架構(gòu)的芯片來(lái)處理復(fù)雜的控制面邏輯。例如在虛擬化網(wǎng)絡(luò)體系中,需要 CPU 來(lái)運(yùn)行復(fù)雜的網(wǎng)絡(luò)控制面程序;在網(wǎng)絡(luò)安全領(lǐng)域,眾多不同的安全框架也依賴(lài) CPU 提供基礎(chǔ)算力。
而在 CPU 的具體選型上,DPU 產(chǎn)品面臨在不同應(yīng)用場(chǎng)景、不同算力需求下的選擇問(wèn)題。如 x86 可以提供強(qiáng)勁的性能,但是無(wú)法和 DPU 芯片做到較好融合;ARM 可以解決上述難題,但是在重應(yīng)用卸載的場(chǎng)景存在性能問(wèn)題;RISC-V 在成本與靈活性上能提供最優(yōu)方案,但是代價(jià)是應(yīng)用場(chǎng)景的適配性不高??傊?CPU 的選型上目前還沒(méi)有最優(yōu)解。在這種背景下,操作系統(tǒng)的選型至關(guān)重要。DPU 廠商在自己的操作系統(tǒng)選型中,往往會(huì)優(yōu)先考慮下面幾個(gè)問(wèn)題:
* 穩(wěn)定與安全性
* 對(duì)底層不同架構(gòu)的適配性
* 可裁剪與靈活性
經(jīng)過(guò)充分的調(diào)研論證與測(cè)試,中科馭數(shù)為自己的 DPU 產(chǎn)品選擇 openEuler 作為底層基礎(chǔ)操作系統(tǒng)。首先 openEuler 操作系統(tǒng)已經(jīng)過(guò)充分的落地實(shí)踐考驗(yàn),在系統(tǒng)穩(wěn)定性上具有明顯優(yōu)勢(shì)。其次 openEuler 可以提供完善的工具鏈支撐,不管是進(jìn)行業(yè)務(wù)開(kāi)發(fā)還是系統(tǒng)裁剪,都可以快速高效地完成。最后 openEuler 系統(tǒng)設(shè)計(jì)之初便考慮到對(duì)多樣性設(shè)備的支持,能夠與現(xiàn)有硬件生態(tài)緊密融合,極大降低了 DPU 廠家的研發(fā)成本。
得益于 openEuler 系統(tǒng)的出色的工具鏈支持,中科馭數(shù)已經(jīng)完成第一代 DPU-OS 的裁剪定制開(kāi)發(fā)并在眾多客戶(hù)業(yè)務(wù)中落地應(yīng)用。后面中科馭數(shù)也將繼續(xù)深入探索 openEuler 系統(tǒng),一方面繼續(xù)深化定制,打造最符合 DPU 應(yīng)用場(chǎng)景的操作系統(tǒng)。另一方面也將持續(xù)為 openEuler 社區(qū)貢獻(xiàn)自身的力量,助力整個(gè) openEuler 社區(qū)繁榮發(fā)展。
加入我們
sig-DPU 致力于以 openEuler 生態(tài)作為底座,打造輕量化、極致性能的 DPU-OS,助力客戶(hù)及 DPU廠商解決不同板卡與服務(wù)之間的兼容性問(wèn)題。sig-DPU 依托 openEuler 生態(tài),統(tǒng)一 DPU 與 HOST 操作系統(tǒng)底座,提供 DPU 場(chǎng)景定制化特性及組件,打造 DPU 軟件生態(tài),更好地發(fā)揮其硬件卸載加速能力,進(jìn)一步釋放 DPU 的商業(yè)價(jià)值。openEuler DPU-OS 已經(jīng)聯(lián)合包括天翼云及中科馭數(shù)在內(nèi)多家企業(yè)進(jìn)行驗(yàn)證。
審核編輯:彭菁
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9176瀏覽量
85460 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6829瀏覽量
123339 -
DPU
+關(guān)注
關(guān)注
0文章
358瀏覽量
24189 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8892瀏覽量
137456 -
openEuler
+關(guān)注
關(guān)注
2文章
316瀏覽量
5889
原文標(biāo)題:基于 openEuler 構(gòu)建輕量、極致性能的 DPU-OS ,打造 DPU 軟件生態(tài)底座
文章出處:【微信號(hào):openEulercommunity,微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論