隨著5G商用的漸近,通信行業(yè)也迎來了5G的機(jī)遇與挑戰(zhàn)。大規(guī)模機(jī)器類通信、超可靠、低延遲通信需求場(chǎng)景(智能家居、智慧城市、增強(qiáng)現(xiàn)實(shí)、工業(yè)自動(dòng)化、自動(dòng)駕駛等)的興起,對(duì)未來網(wǎng)絡(luò)的計(jì)算和流量轉(zhuǎn)發(fā)能力提出了更高的要求。通用CPU設(shè)備已經(jīng)無法滿足處理海量數(shù)據(jù)、圖片、流量的需求。
根據(jù)不同業(yè)務(wù)場(chǎng)景和自身優(yōu)勢(shì),通訊廠商引入GPU、FPGA等進(jìn)行加速,推出了各種加速硬件方案。對(duì)于異構(gòu)加速硬件,要運(yùn)行在各種CloudOS上,再被上層廠家的VNF調(diào)用,假如沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)來管理這些加速卡,沒有統(tǒng)一的接口來讓上層網(wǎng)元調(diào)用,將會(huì)造成比較嚴(yán)重的問題。
為了實(shí)現(xiàn)NFV異構(gòu)加速硬件的統(tǒng)一管理, ETSI制定了NFV加速硬件統(tǒng)一管理軟件框架標(biāo)準(zhǔn)。此后,該標(biāo)準(zhǔn)被拓展至更多場(chǎng)景,并在OpenStack孵化出了Cyborg項(xiàng)目。
Cyborg,目前唯一的開源硬件加速管理軟件項(xiàng)目
Cyborg的主要功能包括硬件資源的發(fā)現(xiàn)、上報(bào)、掛載\卸載等資源管理。用戶可以通過Cyborg列出計(jì)算節(jié)點(diǎn)上已經(jīng)被發(fā)現(xiàn)和上報(bào)的加速器、并創(chuàng)建帶加速器的實(shí)例。對(duì)于一些特殊硬件的特殊功能或配置(如:FPGA的編程),也將在cyborg實(shí)現(xiàn)。
Cyborg采用經(jīng)典架構(gòu),由cyborg-api、cyborg-conductor、cyborg-agent、 cyborg-db幾個(gè)模塊組成。其中Cyborg-agent位于計(jì)算節(jié)點(diǎn),用于監(jiān)控加速器;cyborg-conductor位于控制節(jié)點(diǎn),管理整個(gè)系統(tǒng)和操作數(shù)據(jù)庫。cyborg-api和cyborg-db分別為接口和數(shù)據(jù)庫,均位于控制節(jié)點(diǎn)。
下面通過Cyborg的兩個(gè)流程來介紹其主要功能:資源發(fā)現(xiàn)和上報(bào)流程、創(chuàng)建帶加速硬件的實(shí)例流程。
加速資源發(fā)現(xiàn)和上報(bào)流程:
1. 各設(shè)備的driver為加速設(shè)備構(gòu)造Cyborg中用于描述設(shè)備的數(shù)據(jù)結(jié)構(gòu),等待cyborg-agent輪詢?nèi)∽咴O(shè)備數(shù)據(jù);
2. cyborg-agent周期性掃描計(jì)算節(jié)點(diǎn)enabled的driver;
3. cyborg-agent獲取到driver上報(bào)來的數(shù)據(jù)信息后,通過cyborg-conductor將資源信息寫入placement(更新Resource Provider(RP), Resource Class(RC),traits)和cyborg-db(更新devices, deployables, attach_handles, attributes, controlpath_ids)
創(chuàng)建帶加速硬件的實(shí)例流程:
1. User在cyborg創(chuàng)建一個(gè)加速資源模板device_profile(類似于nova flavor);
2. User創(chuàng)建flavor,并在extra-spec屬性中設(shè)置device_profile的name;
3. User 使用已創(chuàng)建的flavor 發(fā)送boot虛機(jī)請(qǐng)求;
4. Nova-api接受到請(qǐng)求以后, 向cyborg發(fā)起請(qǐng)求獲取device_profile信息,并將device_profile信息合入request_spec,用于調(diào)度;
5. 調(diào)度過程中nova-scheduler向placement請(qǐng)求獲取符合request_spec中要求的硬件加速資源,placement返回滿足要求的主機(jī)列表,之后主機(jī)列表再通過nova-scheduler其他Filter的過濾,排序后選定某個(gè)主機(jī);
6. Nova-compute在選定的主機(jī)上部署實(shí)例,并向cyborg請(qǐng)求加速資源的掛載操作:
Nova-compute根據(jù)device_profile向cyborg請(qǐng)求創(chuàng)建加速器請(qǐng)求(Accelerator Request, ARQ),并為每個(gè)ARQ匹配硬件資源Resource Provider(RP)。 需要說明的是:ARQ包含instance_uuid、 resource_provider_id、host_name、 device_profile_id等字段信息。一個(gè)ARQ對(duì)應(yīng)一個(gè)device_profile_group, 一個(gè)device_profile_group對(duì)應(yīng)request spec中的一個(gè)request group。
Nova-compute向cyborg發(fā)送綁定設(shè)備(bind_ARQ)的請(qǐng)求。Cyborg根據(jù)ARQ信息綁定instance、host、device,綁定結(jié)束后更新ARQ的狀態(tài),并通知nova當(dāng)前ARQ綁定操作是否成功;
Nova-compute接到ARQ綁定操作結(jié)束的通知后,從ARQ獲取設(shè)備信息,并將設(shè)備BDF信息寫入instance的XML文件。
責(zé)任編輯:gt
-
智能家居
+關(guān)注
關(guān)注
1934文章
9803瀏覽量
190515 -
開源硬件
+關(guān)注
關(guān)注
8文章
217瀏覽量
30611 -
增強(qiáng)現(xiàn)實(shí)
+關(guān)注
關(guān)注
1文章
724瀏覽量
45509
發(fā)布評(píng)論請(qǐng)先 登錄
直流負(fù)載箱的主要功能有哪些?
Abaqus軟件介紹:主要功能及模塊、優(yōu)勢(shì)與特點(diǎn)等
港口人員定位管理系統(tǒng)的主要功能及其作用
畫面分割器的主要功能
負(fù)載管理器的主要功能
數(shù)字化智能工廠的主要功能組成

漏洞掃描的主要功能是什么
直流負(fù)載箱的主要功能有哪些?
電子地圖的主要功能與應(yīng)用

評(píng)論