T-CESA 1228.1-2022 人工智能計算設(shè)備調(diào)度與協(xié)同 第1部分:虛擬化與調(diào)度系統(tǒng)技術(shù)規(guī)范_第1頁
T-CESA 1228.1-2022 人工智能計算設(shè)備調(diào)度與協(xié)同 第1部分:虛擬化與調(diào)度系統(tǒng)技術(shù)規(guī)范_第2頁
T-CESA 1228.1-2022 人工智能計算設(shè)備調(diào)度與協(xié)同 第1部分:虛擬化與調(diào)度系統(tǒng)技術(shù)規(guī)范_第3頁
T-CESA 1228.1-2022 人工智能計算設(shè)備調(diào)度與協(xié)同 第1部分:虛擬化與調(diào)度系統(tǒng)技術(shù)規(guī)范_第4頁
T-CESA 1228.1-2022 人工智能計算設(shè)備調(diào)度與協(xié)同 第1部分:虛擬化與調(diào)度系統(tǒng)技術(shù)規(guī)范_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

CCSL70團(tuán)體標(biāo)準(zhǔn)Artificialintelligence—ComputationschedulingandcooperatiPart1:Technicalspe中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會發(fā)布T/CESA1228.1-2022前言 III 2規(guī)范性引用文件 3術(shù)語和定義 4縮略語 5人工智能計算虛擬化與調(diào)度系統(tǒng)架構(gòu) 46虛擬化技術(shù)要求 6.1概述 6.2基本要求 6.3資源抽象 6.4CPU虛擬化 6.5GPU虛擬化 6.6NPU虛擬化 6.7FPGA虛擬化 6.8虛擬化接口 7計算資源調(diào)度技術(shù)要求 7.1概述 7.2資源調(diào)度技術(shù)要求 8運(yùn)維監(jiān)控 9測試方法 9.1虛擬化測試 9.2集群調(diào)度測試 附錄A(資料性) 參考文獻(xiàn) T/CESA1228.1-2022本文件按照GB/T1.1-2020《標(biāo)準(zhǔn)化工作導(dǎo)則第1部分:標(biāo)準(zhǔn)化文件的結(jié)構(gòu)和起草規(guī)則》的規(guī)定起本文件是T/CESA1228—2022《人工智能計算設(shè)備調(diào)度與協(xié)同》的第1部分。T/CESA1228—2022已經(jīng)發(fā)布了以下部分:——第1部分:虛擬化與調(diào)度系統(tǒng)技術(shù)規(guī)范;——第2部分:分布式計算技術(shù)要求。請注意本文件的某些內(nèi)容可能涉及專利。本文件的發(fā)布機(jī)構(gòu)不承擔(dān)識別專利的責(zé)任。本文件由中國電子技術(shù)標(biāo)準(zhǔn)化研究院提出。本文件由中國電子技術(shù)標(biāo)準(zhǔn)化研究院、中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會歸口。本文件起草單位:中國電子技術(shù)標(biāo)準(zhǔn)化研究院、華為技術(shù)有限公司、上海依圖網(wǎng)絡(luò)科技有限公司、上海天數(shù)智芯半導(dǎo)體有限公司、北京航空航天大學(xué)、中國醫(yī)學(xué)科學(xué)院生物醫(yī)學(xué)工程研究所、上海商湯阡誓科技有限公司、達(dá)闥機(jī)器人股份有限公司、昆侖芯(北京)科技有限公司、深圳市矽赫科技有限公司、深圳云天勵飛技術(shù)股份有限公司、上海燧原科技有限公司、南通大學(xué)、上海計算機(jī)軟件技術(shù)開發(fā)中心。本文件主要起草人:董建、鮑薇、舒馳、趙春昊、徐洋、李小娟、馬騁昊、余雪松、欒鐘治、曹曉琦、許源、蒲江波、金古、張站朝、李艷華、洪鵬達(dá)、王志芳、姚建國、嵇天博、陳文捷。T/CESA1228.1-2022引言本文件是T/CESA1228—2022《人工智能計算設(shè)備調(diào)度與協(xié)同》的第1部分。T/CESA1228—2022已經(jīng)發(fā)布了以下部分:——第1部分:虛擬化與調(diào)度系統(tǒng)技術(shù)規(guī)范。目的在于確立人工智能計算設(shè)備虛擬化與調(diào)度系統(tǒng)的架構(gòu),規(guī)定技術(shù)要求,描述了對應(yīng)的測試方法?!?部分:分布式計算技術(shù)要求。目的在于確立人工智能計算設(shè)備分布式計算的參考架構(gòu),規(guī)定軟硬件系統(tǒng)的功能和性能技術(shù)要求。T/CESA1228.1-20221人工智能計算設(shè)備調(diào)度與協(xié)同第1部分:虛擬化與調(diào)度系統(tǒng)技術(shù)規(guī)范本文件確立了人工智能計算設(shè)備虛擬化與調(diào)度系統(tǒng)的架構(gòu),規(guī)定了技術(shù)要求,描述了對應(yīng)的測試方法。本文件適用于指導(dǎo)人工智能計算設(shè)備虛擬化與調(diào)度系統(tǒng)的設(shè)計、研發(fā)、測試。2規(guī)范性引用文件下列文件中的內(nèi)容通過文中的規(guī)范性引用而構(gòu)成本文件必不可少的條款。其中,注日期的引用文件,僅該日期對應(yīng)的版本適用于本文件;不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。T/CESA1169—2021信息技術(shù)人工智能服務(wù)器系統(tǒng)性能測試規(guī)范3術(shù)語和定義下列術(shù)語和定義適用于本文件。3.1[人工智能]計算單元[artificialintelligence]computingunit[AI]計算單元執(zhí)行AI計算任務(wù)所必要的部件的最小集合。3.2[人工智能]加速卡[artificialintelligence]acceleratingcard[AI]加速卡專為人工智能計算設(shè)計、符合人工智能服務(wù)器硬件接口的擴(kuò)展加速設(shè)備。3.3[人工智能]計算實(shí)例[artificialintelligence]computinginstance[AI]計算實(shí)例執(zhí)行AI計算任務(wù)的虛擬化對象。3.4T/CESA1228.1-20222一種將不同架構(gòu)、不同實(shí)現(xiàn)方式的人工智能計算資源組織起來,自動按需滿足不同計算需求的統(tǒng)一調(diào)度軟件集合。注1:異構(gòu)資源池提供一種可伸縮計算架構(gòu),有利于合理分配計算資源,為不同運(yùn)行環(huán)境(例如云、集群、移動設(shè)),輯門陣列(FPGA),數(shù)字信號處理器(3.5計算能力computingcapability產(chǎn)品或系統(tǒng)參數(shù)能夠滿足計算需求的最大程度。3.6神經(jīng)網(wǎng)絡(luò)處理器neural-networkprocessingunit一種專門針對神經(jīng)網(wǎng)絡(luò)計算進(jìn)行特殊優(yōu)化設(shè)計的集成電路元件。3.7人工智能[計算]任務(wù)artificialintelligencecomputingtaskAI任務(wù)為取得特定人工智能計算目標(biāo)所需的活動。[來源:ISO/IEC25062—2006,4.9,有修改]3.8性能performance人工智能加速卡在運(yùn)行計算任務(wù)時,可被測量的特性,在評估AI任務(wù)的性能時,一般采用吞吐率特注2:性能基于一個或多個參數(shù)(如能耗、流量[來源:ISO/IEC20000.10—2018,3.1.16,有修改]3.9人工智能集群artificialintelligencecluster遵循統(tǒng)一控制的,人工智能計算功能單元的集合。3.10節(jié)點(diǎn)node由網(wǎng)絡(luò)連接的,能完成特定人工智能計算任務(wù)的物理或邏輯AI計算設(shè)備。T/CESA1228.1-20223[來源:ISO/IEC14575—2000,3.2.27,有修改]3.11虛擬化virtualization一種資源表示形式,表示與潛在的物理資源解耦。[來源:ISO/IEC17826—2022,3.55]3.12調(diào)度scheduling控制特定任務(wù)整體或部分的執(zhí)行場所和時間的過程。[來源:ISO/IEC10164.15—2002,3.7.4,有修改]3.13協(xié)同collaboration一種過程或方法,特意安排多個實(shí)體共同工作,以完成事先商定的同一個任務(wù)(目標(biāo))。[來源:ISO30401—2018,3.23,有修改]4縮略語下列縮略語適用于本文件。AI人工智能(ArtificialIntelligence)BAR基址寄存器(BaseAddressRegister)CPU中央處理器(CenterProcessingUnits)DDR雙倍速率傳輸率(DoubleDataRate)DMA直接存儲器訪問(DirectMemoryAccess)FPGA現(xiàn)場可編程邏輯門陣列(FieldProgrammableGateArray)GDDR圖形雙倍速率傳輸存儲器(GraphicsDDRSDRAM)GPU圖形處理器(GraphicsProcessingUnits)HBM高帶寬存儲器(HighBandwidthMemory)NPU神經(jīng)網(wǎng)絡(luò)處理器(Neural-networkProcessingUnits)PCIE外設(shè)部件互聯(lián)高速通道(PeripheralComponentInterconnectExpress)QEMU快速模擬器(QuickEMUlator)QoS服務(wù)質(zhì)量(QualityofService)USB通用串行總線(UniversalSerialBus)VFIO虛擬功能輸入/輸出(VirtualFunctionInputOutput)VM虛擬機(jī)(VirtualMachine)VMX虛擬機(jī)擴(kuò)展(VirtualMachineExtension)VMM虛擬機(jī)監(jiān)視器(VirtualMachineMonitor)T/CESA1228.1-202245人工智能計算虛擬化與調(diào)度系統(tǒng)架構(gòu)AI計算虛擬化(見第6章為AI物理計算資源提供特定的表示形式。在此基礎(chǔ)上形成異構(gòu)資源池,以一致的方式使用AI計算物理資源。圖1中,1個AI應(yīng)用可被分解為若干個AI計算任務(wù),下發(fā)給調(diào)度系統(tǒng)(見第7章)。系統(tǒng)根據(jù)任務(wù)和資源池的情況,選擇若干虛擬化的AI計算實(shí)例,分配并執(zhí)行特定任務(wù)。虛擬化方案包含對基于CPU,GPU,NPU,F(xiàn)PGA的物理AI加速卡的虛擬化。運(yùn)維監(jiān)控(第8章)是系統(tǒng)對計算實(shí)例、物理計算資源(AI加速卡)、AI任務(wù)及其狀態(tài)的監(jiān)測與控制。圖1人工智能計算資源虛擬化參考架構(gòu)6虛擬化技術(shù)要求6.1概述AI系統(tǒng)的虛擬化技術(shù)是一種計算資源管理的方法,切分、調(diào)配或整合含有各類型加速器的不同AI加速卡,使其執(zhí)行AI計算任務(wù),以提高計算資源利用率。6.2基本要求6.2.1AI加速卡的虛擬化,應(yīng)符合以下要求:a)能實(shí)現(xiàn)單個AI加速卡虛擬化為多個AI計算實(shí)例;b)能實(shí)現(xiàn)多個AI加速卡虛擬化為單個AI計算實(shí)例;c)AI計算實(shí)例,能在虛擬機(jī)和容器中執(zhí)行計算任務(wù);d)支持AI加速卡的切分與隔離;e)能基于PCIE或USB連接部署。6.2.2虛擬化組件或系統(tǒng),宜實(shí)現(xiàn)下列對AI計算實(shí)例的監(jiān)控功能,包括:a)資源(含計算資源)利用率監(jiān)測;T/CESA1228.1-20225b)算子執(zhí)行時延統(tǒng)計;c)虛擬計算實(shí)例帶寬監(jiān)測;d)計算實(shí)例的性能波動(見)監(jiān)測;e)虛擬化后,AI加速卡的計算能力損耗計量。6.2.3虛擬化組件或系統(tǒng)應(yīng)實(shí)現(xiàn)資源復(fù)用機(jī)制(如分時復(fù)用或分區(qū)復(fù)用符合AI任務(wù)動態(tài)負(fù)載特性或資源可變特性要求。6.2.4虛擬化組件或系統(tǒng)應(yīng)符合下列關(guān)于隔離的要求:a)實(shí)現(xiàn)AI計算實(shí)例隔離,保障用戶數(shù)據(jù)和硬件設(shè)備的安全;b)故障隔離,符合以下要求:1)實(shí)現(xiàn)計算實(shí)例的業(yè)務(wù)故障隔離,計算實(shí)例內(nèi)的單點(diǎn)故障只上報其所屬的虛擬機(jī);2)多個計算實(shí)例的運(yùn)行,互不干擾;3)提供調(diào)用,返回特定計算實(shí)例的業(yè)務(wù)故障;4)實(shí)現(xiàn)PCIE故障、DDR故障、內(nèi)存總線掛死等設(shè)備故障隔離;5)提供機(jī)制,使計算實(shí)例獲知其所依賴物理設(shè)備的單點(diǎn)故障;c)性能隔離,特定用戶使用計算資源的性能,不被并發(fā)執(zhí)行的其他用戶的任務(wù)影響,而出現(xiàn)下降的情況;d)安全隔離,實(shí)現(xiàn)下列功能,包含但不限于:1)防止仿冒;2)防止篡改;3)防止信息泄露;4)防止拒絕服務(wù)攻擊;5)防止權(quán)限提升;6)防止抵賴。6.2.5虛擬化組件或系統(tǒng),實(shí)現(xiàn)在多用戶和動態(tài)任務(wù)情況下的計算資源重配置,以提高系統(tǒng)整體性能,符合以下要求:a)應(yīng)為單個AI任務(wù)的獨(dú)立運(yùn)行,實(shí)現(xiàn)QoS機(jī)制;b)應(yīng)為多個任務(wù)的同時運(yùn)行,實(shí)現(xiàn)資源獲得公平性機(jī)制;c)宜能與下列機(jī)制或過程配合使用,包含但不限于:1)高可用集群;2)負(fù)載均衡;3)內(nèi)存復(fù)用,方式包括內(nèi)存氣泡、內(nèi)存置換、內(nèi)存共享等;4)CPU、內(nèi)存、AI加速處理器等的擴(kuò)容。6.3資源抽象6.3.1虛擬化過程形成資源抽象,為調(diào)度提供必要屬性及狀態(tài)信息,符合以下要求:a)1個AI計算實(shí)例可對應(yīng)全部物理資源或部分物理資源;f)AI計算實(shí)例應(yīng)至少能執(zhí)行以下關(guān)于神經(jīng)網(wǎng)絡(luò)的計算:1)完整的卷積計算;2)完整的向量計算;T/CESA1228.1-202263)完整的標(biāo)量計算;4)數(shù)據(jù)傳輸和交換;g)AI計算實(shí)例應(yīng)包含以下部件并作為調(diào)度依據(jù):1)計算部件;2)緩存部件;3)寄存器;4)存儲器;5)數(shù)據(jù)通信部件;h)AI計算實(shí)例應(yīng)包含以下狀態(tài):1)空閑可使用;3)損壞;i)AI計算實(shí)例的規(guī)格,包含計算能力、內(nèi)存空間、數(shù)據(jù)傳輸率等;j)AI計算實(shí)例的拓?fù)湫畔ⅲ幌抻冢?)AI計算實(shí)例所屬的AI加速卡;2)AI加速卡所屬的服務(wù)器及其在服務(wù)器中的位置;3)服務(wù)器所屬的集群,及其在集群中的位置。6.3.2AI計算圖是對AI任務(wù)的抽象,應(yīng)包含:a)數(shù)據(jù)流圖:1)用有向圖表示,1個有向圖由點(diǎn)和邊構(gòu)成,表示神經(jīng)網(wǎng)絡(luò)的計算流程,是一種邏輯流圖,在硬件上轉(zhuǎn)換為物理流圖;2)有向圖中的點(diǎn)表示計算;3)有向圖中的邊表示數(shù)據(jù)依賴;4)數(shù)據(jù)流連接線以外出箭頭表示將數(shù)據(jù)寫入數(shù)據(jù)存儲;5)數(shù)據(jù)流連接線以輸入箭頭表示從數(shù)據(jù)存儲中讀取數(shù)據(jù);k)用于執(zhí)行數(shù)據(jù)流圖的虛擬設(shè)備;l)計算流是數(shù)據(jù)流圖中能被并行處理的任務(wù)或切分后的子圖,計算流是任務(wù)的集合:1)計算流的同步,即一個計算流中的任務(wù)依賴于另一個計算流中的任務(wù);2)計算流可并行處理,受硬件資源約束;m)任務(wù)包括算子執(zhí)行、數(shù)據(jù)同步、數(shù)據(jù)遷移等;n)事件用于標(biāo)記計算流,用于計算流的同步,操控設(shè)備的運(yùn)行步調(diào);o)標(biāo)識,用于表示任務(wù)同步,用于實(shí)現(xiàn)集合通信時不同設(shè)備間的任務(wù)同步;p)核心,如二進(jìn)制指令的注冊,內(nèi)核函數(shù)的注冊、啟動等;q)任務(wù)上下文,包括缺省計算流、若干用戶流、屬性(如調(diào)度策略)等;r)任務(wù)、事件、標(biāo)識及相關(guān)機(jī)制,可用硬件或軟件實(shí)現(xiàn)。6.3.3單AI加速卡所含的硬件資源應(yīng)能被映射為多個AI加速卡,包含對處理器和內(nèi)存等資源的切分,映射為不同的設(shè)備,并受硬件資源總數(shù)的限制。6.3.4事件、標(biāo)識和任務(wù)及相關(guān)機(jī)制以軟件實(shí)現(xiàn)時,則不受硬件資源總數(shù)的限制。6.4CPU虛擬化6.4.1概述T/CESA1228.1-20227CPU虛擬化分為基于軟件的虛擬化和硬件輔助的虛擬化。CPU一般用于推理任務(wù)。虛擬機(jī)(guestVM)可使用多個CPU計算實(shí)例(vCPU這些計算實(shí)例可源于同一個物理CPU或多個物理CPU的虛擬化。CPU虛擬化的參考架構(gòu)見A.2。6.4.2CPU計算實(shí)例CPU虛擬化系統(tǒng)或組件,應(yīng)符合以下要求:a)CPU計算實(shí)例能完成機(jī)器學(xué)習(xí)推理任務(wù);b)能避免宿主機(jī)上CPU資源的浪費(fèi);c)支持CPU計算實(shí)例熱插拔,為虛擬機(jī)添加CPU計算實(shí)例;d)支持vCPU親和性配置;e)CPU計算實(shí)例的規(guī)格,應(yīng)使用以下指標(biāo)衡量:1)處理器內(nèi)核數(shù);2)每個內(nèi)核的線程數(shù);3)CPU劃分的比例;4)內(nèi)存容量;5)緩存容量。6.5GPU虛擬化6.5.1概述GPU的虛擬化能保證計算能力按需使用,提高利用率。一般通過分時復(fù)用或空分復(fù)用的方式得到GPU計算實(shí)例。GPU提供向量計算,能用于游戲渲染、媒體編解碼、深度學(xué)習(xí)計算、加解密等場景。6.5.2GPU計算實(shí)例GPU虛擬化系統(tǒng)或組件,應(yīng)符合以下要求:a)支持其非虛擬化版本能執(zhí)行的機(jī)器學(xué)習(xí)算法;b)6.2的要求;c)通過時分復(fù)用或空分復(fù)用的方式得到計算實(shí)例;d)GPU計算實(shí)例,包含以下部件:1)計算部件:執(zhí)行計算的單元,即流處理器,完成整形和浮點(diǎn)型計算;2)視頻編解碼部件;3)內(nèi)存(包括DDR、GDDR和HBM等容量單位是MB或GB,帶寬單位是GB/s4)各級緩存(容量單位是MB或GB,帶寬單位是GB/s);5)共享存儲;e)支持負(fù)載均衡;f)支持本地硬盤直通;g)支持網(wǎng)絡(luò)接口卡直通;h)GPU計算實(shí)例的規(guī)格,應(yīng)使用以下指標(biāo)衡量:1)計算能力(單位:GOPS或GFOPS);2)視頻編解碼能力(單位:1路1080P,30FPS);3)內(nèi)存/顯存容量(單位:GB);4)緩存容量(單位:MB);5)網(wǎng)絡(luò)寬帶和收發(fā)包吞吐率(GPU間)。T/CESA1228.1-202286.6NPU虛擬化6.6.1通則NPU的虛擬化架構(gòu)見圖2,參考方案見A.1。NPU的虛擬化組件或系統(tǒng),應(yīng)符合以下要求:a)能根據(jù)計算任務(wù)需要,對1個或多個NPU組成的計算單元,實(shí)施時間和空間切片,再將這些NPU時間片或空間片分配給虛擬機(jī);b)符合6.2的要求;c)實(shí)現(xiàn)NPU計算QoS控制機(jī)制;d)要虛擬化的NPU計算單元,符合以下要求:1)支持獨(dú)立完成完整的神經(jīng)網(wǎng)絡(luò)計算;2)具備AI核心:執(zhí)行張量計算;3)具備向量核心:執(zhí)行向量計算;4)具備協(xié)處理CPU:流水線調(diào)度及邏輯、標(biāo)量運(yùn)算執(zhí)行;5)具備宿主機(jī)5)具備宿主機(jī)CPU:NPU設(shè)備所掛載主機(jī)的CPU,執(zhí)行訓(xùn)練過程中模型和數(shù)據(jù)的讀寫;e)NPU的屬性包括功耗和計算能力;f)能按AI計算任務(wù)量,動態(tài)分配計算實(shí)例規(guī)格,實(shí)現(xiàn)加速卡的虛擬化。圖2NPU虛擬化架構(gòu)圖6.6.2NPU計算實(shí)例NPU計算實(shí)例(vNPU),應(yīng)符合以下要求:a)提供矩陣乘的計算部件,執(zhí)行卷積與全連接的計算:b)提供向量運(yùn)算的部件,以執(zhí)行池化、激活函數(shù)以及批正則化等運(yùn)算:c)提供控制和標(biāo)量運(yùn)算的計算部件,包含:T/CESA1228.1-202293)專用寄存器;d)提供數(shù)據(jù)的存儲部件;e)提供數(shù)據(jù)通路部件,保證計算部件與存儲部件之間的數(shù)據(jù)供應(yīng);f)NPU計算實(shí)例能執(zhí)行并完成AI推理和訓(xùn)練任務(wù);g)NPU計算實(shí)例的規(guī)格,用以下指標(biāo)衡量:1)計算能力;2)吞吐量;4)緩存;5)剩余帶寬。6.7FPGA虛擬化6.7.1通則FPGA虛擬化是在時間和空間維度上,對多個FPGA的各類資源的調(diào)度與使用。FPGA的虛擬化,應(yīng)符合以下要求:a)符合6.2的要求;b)支持深度學(xué)習(xí)加速,并具備性能隔離特性;c)支持多路計算;d)支持FPGAOverlay,在FPGA硬件之上,形成虛擬可編程架構(gòu),支持上層使用;e)支持部分可重構(gòu),將FPGA劃分為多個vFPGA;f)支持FPGA動態(tài)重構(gòu)和配置。6.7.2FPGA計算實(shí)例FPGA計算實(shí)例(vFPGA),應(yīng)符合以下要求:a)支持其非虛擬化版本能執(zhí)行的機(jī)器學(xué)習(xí)任務(wù);b)為一個或多個動態(tài)重構(gòu)的FPGA區(qū)域;c)對特定vFPGA實(shí)施動態(tài)重構(gòu)時,其他vFPGA的運(yùn)行不受影響;d)提供可重構(gòu)區(qū)域的劃分機(jī)制,避免FPGA資源的空置和浪費(fèi);e)FPGA計算實(shí)例規(guī)格,由以下指標(biāo)衡量:1)計算能力;2)吞吐量;3)延遲;4)功耗;5)靈活度。6.8虛擬化接口6.8.1概述虛擬化接口包括:a)調(diào)度系統(tǒng)與CPU,GPU,F(xiàn)PGA,NPU等計算資源之間的接口;b)調(diào)度系統(tǒng)與AI應(yīng)用中深度學(xué)習(xí)框架的接口。6.8.2計算實(shí)例的發(fā)現(xiàn)T/CESA1228.1-2022AI計算設(shè)備虛擬化系統(tǒng)或組件提供接口,提供以下功能,包含但不限于:a)對單個物理AI加速卡,獲得以下信息:1)AI加速卡虛擬后可用計算實(shí)例的最大數(shù)量;2)已在執(zhí)行計算任務(wù)的計算實(shí)例數(shù)量;3)卡的占用情況,含執(zhí)行任務(wù)的計算實(shí)例資源占比和剩余可虛擬化的資源占比;b)獲得計算實(shí)例的規(guī)格信息,應(yīng)符合6.4.2e),6.5.2h),6.6.2g)或6.7.2e)的要求;c)獲得計算實(shí)例的狀態(tài),包含但不限于:1)已使用:當(dāng)前的計算實(shí)例正在執(zhí)行相關(guān)的計算任務(wù);2)未使用:當(dāng)前的計算實(shí)例應(yīng)處于空閑狀態(tài);3)損壞:當(dāng)前的計算實(shí)例已經(jīng)被損壞,無法執(zhí)行相關(guān)的計算任務(wù);d)資源池在以下情況時更新:1)加入新的計算實(shí)例;2)計算實(shí)例被釋放;3)空閑計算實(shí)例被占用;4)計算實(shí)例進(jìn)入等待隊(duì)列;5)計算實(shí)例被損壞;6)損壞的計算實(shí)例修復(fù);e)對單個AI加速卡的虛擬化,宜能實(shí)現(xiàn)以下功能接口:1)創(chuàng)建的AI虛擬計算資源,關(guān)聯(lián)其歸屬的父設(shè)備(AI虛擬計算資源所在的物理AI加速器并提供相關(guān)的查詢,包括但不限于:Python編程接口,sysfs接口,或命令;2)對計算實(shí)例的操作、控制接口;3)提供可寫接口,用于填入創(chuàng)建虛擬化節(jié)點(diǎn)的必要信息;4)設(shè)備描述信息獲取接口;5)虛擬化計算節(jié)點(diǎn)的驅(qū)動接口信息(驅(qū)動API);6)指向每個虛擬化計算節(jié)點(diǎn)的軟鏈接。6.8.3計算實(shí)例的刪除計算實(shí)例的刪除接口應(yīng)支持虛擬計算資源的刪除與恢復(fù),符合以下要求:a)計算資源的非物理刪除;b)恢復(fù)已刪除的資源(如計算資源的重新發(fā)現(xiàn))。6.8.4計算實(shí)例的監(jiān)控計算實(shí)例的監(jiān)控接口,應(yīng)能獲取以下信息:a)計算實(shí)例狀態(tài)信息,包含已使用、未使用、損壞和等待等;b)計算能力的監(jiān)控和統(tǒng)計信息(如資源調(diào)度層所管理的物理計算能力的總和);c)計算實(shí)例所在的AI加速卡信息;d)計算實(shí)例的規(guī)格信息,包括內(nèi)存、可觀測帶寬等;e)計算實(shí)例的工作頻率、溫度、功率以及電壓信息;f)計算實(shí)例的算子時延剖析、時延統(tǒng)計信息。6.8.5計算資源的分配計算資源的分配接口,應(yīng)提供以下功能:a)單AI加速器的分配;T/CESA1228.1-2022b)多AI加速器的整體原子性分配(全部分配成功,或全部都分配失?。?。6.8.6計算實(shí)例的回收在特定情況下(如對超出計算實(shí)例使用期限、完成特定應(yīng)用的數(shù)據(jù)所占資源的釋放計算實(shí)例應(yīng)能被回收,回收接口應(yīng)提供以下功能:a)一次回收單個計算實(shí)例;b)一次回收多個計算實(shí)例,且保證操作的原子性。6.8.7接口的形式為資源調(diào)度提供的接口的形式,應(yīng)是API或命令。7計算資源調(diào)度技術(shù)要求7.1概述7.1.1任務(wù)流程框架計算資源調(diào)度的任務(wù)流程見圖3,包含以下步驟:a)用戶提出訓(xùn)練或推理請求,作為AI任務(wù)放入任務(wù)池;b)調(diào)度器從AI任務(wù)池中取任務(wù),根據(jù)任務(wù)的規(guī)格(所需計算能力、內(nèi)存等)和可用AI加速卡,申請符合AI任務(wù)要求的計算實(shí)例;c)調(diào)度器對所有的異構(gòu)計算資源和AI計算實(shí)例實(shí)施監(jiān)控,完成任務(wù)的調(diào)度。圖3AI計算任務(wù)調(diào)度流程框架7.1.2訓(xùn)練場景訓(xùn)練場景中,任務(wù)池中含有訓(xùn)練任務(wù)請求。訓(xùn)練任務(wù)的吞吐量較大時,對單AI加速卡的資源利用效率較高。單訓(xùn)練任務(wù)對AI加速卡資源的占用情況包括以下情形:a)在單AI加速卡上運(yùn)行,該卡資源被全部占用,見圖4;圖4訓(xùn)練任務(wù)占滿一塊卡T/CESA1228.1-2022b)在單AI加速卡上運(yùn)行,該卡資源未被全部占用,見圖5;圖5訓(xùn)練任務(wù)占用一塊卡,有空閑c)在多AI加速卡上運(yùn)行,全部加速卡存在空閑資源,見圖6;圖6圖6訓(xùn)練任務(wù)占用多塊卡d)在多AI加速卡上運(yùn)行,部分加速卡資源均被占用,見圖7;圖7訓(xùn)練任務(wù)占滿多塊卡7.1.3推理場景推理任務(wù)對AI計算單元的占用,包含如下情形:a)模型體量較小,能容納于單卡或單片內(nèi)存時:1)推理需要異構(gòu)的AI計算資源,但大多數(shù)場景吞吐量較小,資源使用率較低;2)計算資源的調(diào)度需細(xì)粒度劃分(如以單卡中的塊或片為調(diào)度單位,使多推理任務(wù)共用特定計算資源,即單芯片多任務(wù)模式);T/CESA1228.1-20223)部署時根據(jù)計算任務(wù)申請所需計算資源,優(yōu)先在單芯片上安排推理任務(wù),使單芯片滿載。一種單芯片上的任務(wù)劃分情況示例見圖8。圖8單芯片上的推理任務(wù)劃分示意圖b)模型體量較大,不能容納于單卡或單片內(nèi)存時:1)規(guī)模所含計算層數(shù)多(如1000層以上),任務(wù)吞吐量大,拆分為多個子模型;2)數(shù)據(jù)搬運(yùn)在單芯片內(nèi)數(shù)據(jù)搬運(yùn)速度最快,跨卡調(diào)度影響計算速度;3)多芯片單任務(wù),但不會拆分子模型;4)計算資源的調(diào)度以卡為單位分配;5)調(diào)度器將推理任務(wù)按照模型體量實(shí)施拆分;6)在單AI加速卡上優(yōu)先安排同一子模型,計算完成后則分配剩余子模型給卡計算。一種多芯片上的推理任務(wù)劃分情況實(shí)例見圖9。圖9多芯片上的推理任務(wù)劃分示意圖7.2資源調(diào)度技術(shù)要求7.2.1調(diào)度器應(yīng)實(shí)現(xiàn)下列功能:a)對整AI加速卡(處理器)的調(diào)度;b)對池化的多AI加速卡的調(diào)度;c)對單AI加速卡上計算單元的調(diào)度;d)對單AI加速卡虛擬化所得的多計算實(shí)例的調(diào)度;e)對多AI加速卡中的多個計算單元的調(diào)度。7.2.2對多個計算單元或多個AI加速卡的調(diào)度,調(diào)度器應(yīng)保證調(diào)度操作的原子性。7.2.3調(diào)度器應(yīng)實(shí)現(xiàn)任務(wù)拆分,當(dāng)同一任務(wù)包含的多個模型時,能將不同模型分配給不同計算實(shí)例,保證全局資源利用率最高。7.2.4調(diào)度器應(yīng)實(shí)現(xiàn)模型切換,在同一計算實(shí)例上,在某神經(jīng)網(wǎng)絡(luò)運(yùn)行完成時,能換入另一個神經(jīng)網(wǎng)絡(luò)并運(yùn)行。T/CESA1228.1-20227.2.5調(diào)度器應(yīng)實(shí)現(xiàn)負(fù)載均衡,在有剩余計算節(jié)點(diǎn)時,能分配任務(wù),避免單卡、單片或單塊的負(fù)載過7.2.6調(diào)度器應(yīng)能采集、分析和匯總性能數(shù)據(jù),涵蓋以下設(shè)備,包含但不限于:控制CPU、調(diào)度CPU、AI芯片(如NPU中的AI計算單元)、外圍設(shè)備、內(nèi)存等。7.2.7對多卡的虛擬化和調(diào)度,調(diào)度器宜能在調(diào)度過程中參考集合通信組件的屬性和狀態(tài)。7.2.8調(diào)度器宜提供AI任務(wù)在異構(gòu)計算設(shè)備上的系統(tǒng)性能分析工具,工具宜提供系統(tǒng)狀態(tài)預(yù)測或監(jiān)控信息,包括但不限于以下形式:a)時序信息圖方式,以時間線的形式展示AI任務(wù)相關(guān)性能信息:1)計算圖信息:計算圖執(zhí)行時間、推理時間、圖像等數(shù)據(jù)的預(yù)處理時間;2)算子的執(zhí)行時間:單算子執(zhí)行起止時間、單算子耗時;3)每個線程運(yùn)行時API的時序信息;4)4)AI計算單元上內(nèi)核函數(shù)的運(yùn)行時序信息;5)任務(wù)調(diào)度的任務(wù)運(yùn)行時序信息。b)硬件視圖方式,展示數(shù)據(jù)傳輸?shù)膸捫畔?,可幫助用戶或調(diào)度器找出數(shù)據(jù)處理和傳輸?shù)钠款i,如讀寫帶寬過低可能是算子編寫的數(shù)據(jù)搬運(yùn)過程有問題。c)AI處理器函數(shù)和CPU函數(shù)視圖:1)采集各形式處理器上的熱點(diǎn)函數(shù)(執(zhí)行頻率較高的函數(shù));2)展示的信息應(yīng)包含但不限于:模塊名、函數(shù)名、調(diào)用堆棧、指令數(shù)、指令數(shù)耗時占比、對應(yīng)子項(xiàng)的循環(huán)次數(shù)等。d)概括性視圖,匯總采集的信息并展示,包含但不限于:1)性能數(shù)據(jù)采集起止時間及耗時;2)服務(wù)器性能基本信息,包括操作系統(tǒng)和CPU信息;3)加速設(shè)備信息(包含GPU、NPU或FPGA),如協(xié)處理CPU的核數(shù)、AI計算單元數(shù)量等;4)內(nèi)存及高級緩存信息,即整個采集過程中內(nèi)存讀寫帶寬的平均值;5)CPU的利用率;6)系統(tǒng)信息,包含但不限于:系統(tǒng)總內(nèi)存、空閑空間、內(nèi)存緩沖區(qū)大小、高速緩沖存儲器使用量、共享內(nèi)存、虛擬內(nèi)存限值等;7)控制CPU的信息,包括但不限于:運(yùn)行的函數(shù)名稱、此函數(shù)關(guān)聯(lián)的模塊、此函數(shù)運(yùn)行的時鐘周期數(shù)、虛擬環(huán)境中操作系統(tǒng)消耗占比、內(nèi)核態(tài)進(jìn)程時長占比、空閑狀態(tài)時長占比等;8)AI計算單元的信息;9)算子統(tǒng)計信息,包括但不限于:算子的個數(shù)、名稱、耗時、對應(yīng)的起止調(diào)度時間、輸入輸出張量的內(nèi)存大小、權(quán)重大小等;10)圖像視頻任務(wù)相關(guān)信息,包括但不限于:任務(wù)的時間、任務(wù)的幀數(shù)等;11)模型的數(shù)據(jù)輸入、AI計算任務(wù)(推理或訓(xùn)練)、數(shù)據(jù)輸出的耗時。7.2.9對調(diào)度策略,宜考慮如下的因素:a)使全局資源的平均利用率最高;b)調(diào)度的計算資源涉及多個AI加速器時,根據(jù)卡的拓?fù)鋪碇贫ㄕ{(diào)度策略(如親和性調(diào)度)。T/CESA1228.1-20228運(yùn)維監(jiān)控8.1運(yùn)維監(jiān)控的對象包括對計算實(shí)例、AI加速卡、AI任務(wù)、日志的收集與處理等的監(jiān)控。8.2對計算實(shí)例的監(jiān)控,應(yīng)符合以下要求:a)支持對計算實(shí)例狀態(tài)的監(jiān)控(見6.8.4);b)支持對計算實(shí)例的異常檢測,并對用戶開放定制化的檢測項(xiàng);c)支持計算實(shí)例的異常警告,并支持用戶自定義警告的閾值和警告的方式;d)支對計算實(shí)例的日志收集、分析和可視化展示的功能。8.3對AI加速卡的監(jiān)控,應(yīng)符合以下要求:8.3.1應(yīng)能監(jiān)控AI加速卡的下列屬性:a)計算能力;b)帶寬;8.3.2應(yīng)能監(jiān)控并返回AI計算實(shí)例的下列統(tǒng)計信息:a)計算實(shí)例的總數(shù);b)可用的計算實(shí)例數(shù);c)占用的計算實(shí)例數(shù)。8.3.3應(yīng)能監(jiān)控單AI加速卡上各計算實(shí)例的性能偏移的情況;注:對單AI加速卡,虛擬化N(N是正整數(shù))個相同規(guī)格的計算實(shí)例時,每個實(shí)例的參考性能是1/N,實(shí)際性能與參8.3.4應(yīng)能監(jiān)控返回AI加速卡的狀態(tài):a)資源占用比例;b)可用比例;c)是否損壞。8.3.5應(yīng)能監(jiān)控返回以下關(guān)于AI任務(wù)的信息:a)訓(xùn)練任務(wù)或推理任務(wù)的吞吐量;b)訓(xùn)練任務(wù)或推理任務(wù)占用的計算實(shí)例信息,以及計算實(shí)例所處的AI加速卡。8.3.6對于日志的收集與處理,應(yīng)符合以下要求:a)支持加速設(shè)備的管理,如新增、刪除、修改等;b)對用戶,提供日志的查詢,按關(guān)鍵字搜索日志內(nèi)容;c)提供清除顯示的功能;d)提供和日志下載和保存的功能。8.3.7應(yīng)能提供以下級別的日志:a)提供一般級別錯誤的日志(ERROR):T/CESA1228.1-20221)非預(yù)期的數(shù)據(jù)或事件;2)影響面較大但是內(nèi)部模塊可處理的錯誤;3)限制在模塊內(nèi)的錯誤;4)對其他模塊有影響但較輕微的錯誤,如統(tǒng)計任務(wù)創(chuàng)建失??;5)引起調(diào)用失敗的錯誤。b)提供警告級別的日志(WARNING),如設(shè)備狀態(tài)與預(yù)期不一致,但不影響系統(tǒng)的運(yùn)行。c)提供正常級別的日志(INFO),設(shè)備正常運(yùn)行的信息;d)提供調(diào)式級別日志(DEBUG),記錄調(diào)式信息,協(xié)助開發(fā)維護(hù)人員定位問題;e)提供關(guān)鍵事件的日志(EVENT),如:1)整網(wǎng)運(yùn)算啟動、完成和異常終止;2)內(nèi)存耗盡;3)設(shè)備溫度超出正常閾值。8.3.8日志的記錄,應(yīng)包含以下信息:a)日志的級別;b)產(chǎn)生日志的模塊名稱;c)進(jìn)程標(biāo)識符;d)進(jìn)程名稱;e)日志打印的時間;f)各模塊日志內(nèi)容。9測試方法9.1虛擬化測試9.1.1性能隔離測試性能隔離測試應(yīng)計量性能偏差,即實(shí)際性能與理論性能之差的絕對值,性能指標(biāo)為吞吐率。示例:單用戶或任務(wù)獨(dú)占單AI加速卡時,訓(xùn)練或推理的性能是p。當(dāng)給計上應(yīng)該為1/4p。虛擬化方案應(yīng)盡可能使計算實(shí)例的實(shí)際計算能力接近理論值。偏差(小于理離效果越差。用實(shí)際值p^'理論值p的偏差來注:單AI加速卡通過虛擬化切分為多計算實(shí)例時,各實(shí)例應(yīng)能分配給多個用戶使用性能隔離測試應(yīng)按以下規(guī)則實(shí)施:a)選取特定AI任務(wù),實(shí)施測試;b)測得基準(zhǔn)性能作為理論值(見a));c)對特定AI任務(wù),分配單AI加速卡一定比例(見b)~e))的計算資源;注:比例數(shù)值在具體測試時確定,但對同一測試批次中不同AI加速卡的虛擬化測試,應(yīng)保持一致。d)設(shè)定單AI加速器上所執(zhí)行的最大任務(wù)數(shù)量n(n為正整數(shù)對該任務(wù)使用已分配的計算資源,為剩余(n-1)個任務(wù)分配剩余的計算資源;e)按計算性能偏差;f)性能隔離測試,按下列因素排列組合,確定模式:T/CESA1228.1-20221)訓(xùn)練或推理;2)單一模型或多模型負(fù)載;3)是否滿載。性能隔離測試負(fù)載包含:a)基準(zhǔn)性能:單模型負(fù)載獨(dú)占單AI加速卡(無虛擬化),測得基準(zhǔn)性能(見圖10),負(fù)載見表圖10基準(zhǔn)性能測試表1基準(zhǔn)負(fù)載測試1MobileNet234b)單模型滿載:將單AI加速卡按比例虛擬化獲得多個AI計算實(shí)例,每個計算實(shí)例運(yùn)行相同的AI任務(wù)見圖11負(fù)載見表2;圖11單模型滿載測試表2單模型滿載訓(xùn)練1224324452647284c)多模型滿載:將單AI加速卡按比例虛擬化獲得多個AI計算實(shí)例,每個計算實(shí)例運(yùn)行不同的模型(見圖12),負(fù)載見表3;圖12單一模型滿載測試T/CESA1228.1-2022表3多模型滿載訓(xùn)練123d)多模型非滿載:將單AI加速卡按比例虛擬化獲得多個AI計算實(shí)例,但留有空余,每個計算實(shí)例運(yùn)行不同的模型(見圖13),負(fù)載見表3;圖13多模型非滿載測試e)單模型非滿載測試:將單AI加速卡按比例虛擬化獲得多個AI計算實(shí)例,但留有空余,每個計算實(shí)例運(yùn)行相同的模型(見圖14),負(fù)載見表4。圖14單模型非滿載測試表4單模型非滿載訓(xùn)練12233243526472849.1.2任務(wù)動態(tài)擴(kuò)展測試實(shí)際應(yīng)用場景中任務(wù)可能動態(tài)添加(任務(wù)到達(dá))或刪除(任務(wù)執(zhí)行完畢或取消),應(yīng)測試任務(wù)數(shù)量的動態(tài)變化(見圖15)對性能的影響。隨任務(wù)數(shù)增大,整體性能波動(見)宜盡可能小。T/CESA1228.1-2022圖15任務(wù)動態(tài)擴(kuò)展測試任務(wù)動態(tài)擴(kuò)展測試應(yīng)按以下規(guī)則實(shí)施:a)對相同的訓(xùn)練或推理任務(wù),實(shí)施擴(kuò)展測試,每個任務(wù)應(yīng)完全一致,包括模型、數(shù)據(jù)集、訓(xùn)練方法或推理模式(如離線模型壓縮、部署方式)等;b)任務(wù)數(shù)取值為1,2,4,8,16;c)記錄不同任務(wù)量下的吞吐量。任務(wù)動態(tài)擴(kuò)展測試的負(fù)載見表5。表5基準(zhǔn)負(fù)載測試12349.1.3性能損耗測試對單AI加速卡,性能損耗是非虛擬化使用時的滿載性能與虛擬化后滿載性能的差值。性能損耗測試應(yīng)按以下規(guī)則實(shí)施:a)被測AI加速卡的計算實(shí)例數(shù)應(yīng)不小于3;b)性能損耗測試,按下列因素排列組合,確定模式:1)多計算實(shí)例相同負(fù)載;2)多計算實(shí)例不同負(fù)載。測試負(fù)載見9.1.13)a)~c)。9.1.4測試指標(biāo)吞吐率:定義及計算方法見T/CESA1169—2021中6.3.3(訓(xùn)練)和7.3.3(推理)。性能偏差:虛擬化后所得AI計算資源的理論性能與實(shí)際性能之差的絕對值,按公式(1)計T/CESA1228.1-2022式中:——單AI加速卡虛擬化后的性能偏差;n——AI計算實(shí)例的個數(shù);P——理論性能(基準(zhǔn)性能);——每個計算實(shí)例分配的資源占整卡的比例,取值可為:12.5%,25%,50%,75%;——每個AI計算實(shí)例的實(shí)際性能。性能損耗:非虛擬化使用時的滿載性能與虛擬化后滿載性能的差值,按公式(2)計算:式中:cios——性能損耗;T,——AI任務(wù)在計算實(shí)例上的執(zhí)行時長;TP——相同AI任務(wù)在未虛擬化的物理機(jī)上的執(zhí)行時長;COTEP——是物理機(jī)的計算單元數(shù);core,——虛擬化后計算實(shí)例的計算單元數(shù)。性能波動:單物理加速卡上虛擬化得到多個規(guī)格相同的計算實(shí)例,同時運(yùn)行相同的AI任務(wù)時,所有計算實(shí)例中最大的執(zhí)行時長均值與最小時長均值的比,按公式(3)計算:式中:n——第n個計算實(shí)例;N——計算實(shí)例總數(shù);T——運(yùn)行特定計算任務(wù)的時間長度,按T/CESA1169-2021中6.3.1(訓(xùn)練)和7.3.1(推性能波動值=所有計算實(shí)例中最大的執(zhí)行時長平均/最小執(zhí)行時長平均。9.2集群調(diào)度測試9.2.1集群調(diào)度測試范圍包含:a)集群利用率:所有AI加速卡(含已經(jīng)故障下線的AI加速卡)的使用情況。越接近1.0越好;b)資源調(diào)度成功率:特定周期內(nèi)調(diào)度成功次數(shù)與資源請求總次數(shù)的比例;注:前提要求實(shí)際物理資源與請求的資源是匹配的,請求的資源量沒有T/CESA1228.1-2022c)任務(wù)資源利用率:實(shí)際分配給單AI任務(wù)使用的計算資源的使用情況。9.2.2集群調(diào)度測試按以下規(guī)則實(shí)施:a)集群調(diào)度的測試應(yīng)規(guī)定具體的測試時間段,如7自然天,15自然天或30自然天等;b)對比測試時,測試負(fù)載模型、數(shù)據(jù)集、優(yōu)化方法等應(yīng)保持一致;c)任務(wù)負(fù)載按下列因素排列組合,確定模式:1)數(shù)據(jù)量;2)計算量,按負(fù)載模型體量劃分;3)場景,按模型功能覆蓋劃分(如resnet系列、MobileNet系列等);4)任務(wù)(訓(xùn)練或推理)到達(dá)的模式,包括:離線、時分均勻、泊松到達(dá)等。d)集群利用率的檢測周期為1個月,如對特定單AI加速卡,在周期內(nèi)以固定頻率(如1s)檢測,記錄每次的利用率。9.2.3集群調(diào)度測試使用以下負(fù)載:a)單一負(fù)載,包含:1)視覺負(fù)載,包括圖片、視頻任務(wù);2)自然語言處理負(fù)載;3)普通機(jī)器學(xué)習(xí)負(fù)載(可選);b)混合負(fù)載,即3種單負(fù)載,按特定比例組合,實(shí)施測試。9.2.4測試指標(biāo)集群利用率,按公式(4)計算:式中:Q——集群利用率;k——集群中AI加速卡的數(shù)量;——單AI加速卡的利用率。單AI加速卡的利用率,按公式(5)計算:式中:——統(tǒng)計周期內(nèi),特定AI加速卡的利用率;N,——該AI加速卡被占用的次數(shù);qu——是抽樣時的瞬時利用率(在無法檢測瞬時利用率的系統(tǒng)中,占用時利用率為1.0)。T/CESA1228.1-20任務(wù)資源利用率,按公式(6)計算。其中,k為分配給特定任務(wù)的AI加速卡的數(shù)量。對動態(tài)任務(wù)(任務(wù)執(zhí)行中釋放資源或申請新的資源),則分段計量,以時長求加權(quán)平均。式中:qx——某個時間段內(nèi)(期間,該分配給該任務(wù)的資源數(shù)恒定),單AI加速卡的利用率,計算方法見;T——該任務(wù)的執(zhí)行總時長;j——執(zhí)行該任務(wù)的第j個時間段(期間,分配給該任務(wù)的資源數(shù)恒定);kk——在第j個時間段內(nèi),分配給該任務(wù)的AI加速卡的數(shù)量;——第j個時間段的長度。T/CESA1228.1-2022典型處理器的虛擬化參考架構(gòu)A.1NPU虛擬化參考架構(gòu)NPU的虛擬化包含但不限于以下方案:通過VFIO-mdev框架創(chuàng)建出虛擬NPU設(shè)備,并經(jīng)過Qemu設(shè)備模擬層將vNPU設(shè)備模擬成標(biāo)準(zhǔn)的PCIE設(shè)備給GuestOS的設(shè)備驅(qū)動或虛擬機(jī)使用,使用方式與NPU設(shè)備直通虛擬化一致。PCIE設(shè)備的配置空間如下,設(shè)備模擬整體方案見圖A.1:圖A.1圖A.1QEMU-NPU設(shè)備模擬方案PCIE配置模擬:根據(jù)PCIE協(xié)議模擬PCIE設(shè)備的VendorID、DeviceID等,呈現(xiàn)出一個跟物理設(shè)備相同功能的虛擬設(shè)備給GuestOS驅(qū)動。BAR空間:Host驅(qū)動和Guest驅(qū)動共享數(shù)據(jù)的通道,用以收發(fā)消息等。中斷通知機(jī)制:Guest發(fā)送消息通知Host,Host通過中斷通知Guest。DMA內(nèi)存訪問機(jī)制:數(shù)據(jù)拷貝流程將GPA地址轉(zhuǎn)換成發(fā)起DMA訪問使用的IOVA地址。b)方案二,軟硬協(xié)同SR-IOV虛擬化:SR-IOV是一種IO虛擬化的技術(shù)標(biāo)準(zhǔn),它是由PCI-SIG組織制定,它是一種基于硬件輔助的虛擬化技術(shù),SR-IOV允許在虛擬機(jī)之間高效共享PCIE設(shè)備,由于它是基于硬件實(shí)現(xiàn),因此可以獲得與真實(shí)硬件性能接近的I/O性能。SR-IOV架構(gòu)設(shè)備允許一個物理設(shè)備支持多個虛擬功能,它更多的關(guān)注減少每個附加功能的硬件成本。SR-IOV引入了兩個新的功能類型:物理功能(PF,PhysicalFunction)和虛擬功能(VF,VirtualFunction)。具有SR-IOV功能的設(shè)備通過設(shè)置可以在配置空間出現(xiàn)多個功能,其支持的獨(dú)立VF數(shù)量是可以配置的,每個功能擁有自己的配置空間包括BARs。VMM通過配置空間匹配可以為一個VM指定一個或多個VF,其基本原理圖見圖A.2:T/CESA1228.1-2022圖A.2圖A.2SRIOV虛擬化方案采用VFIO用戶態(tài)驅(qū)動框架,物理NPU設(shè)備通過VFIO框架向用戶態(tài)提供設(shè)備

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論