加速器虛擬化的方法、裝置及集中資源管理器的制造方法
【技術領域】
[0001] 本發明涉及互聯網領域,特別涉及一種加速器虛擬化的方法、裝置及集中資源管 理器。
【背景技術】
[0002] 虛擬化技術可以實現互聯網資源的動態分配、靈活調度和跨域共享,可以提高IT 資源利用率,因此成為互聯網發展的新趨勢。
[0003] 加速器是互聯網資源的一種,是將CPU完成的部分功能轉移至加速器自身處理, 以降低CPU負載的功能單元,目前廣泛使用的加速器包括圖形加速器、加解密加速器、視 頻編解碼加速器、壓縮加速器等。但目前單一的加速器已經越來越難以滿足CPU的負載轉 移的需求,為了提高加速器的性能,迫切需要將加速器和互聯網資源虛擬化技術相結合。 VirtIO的方案中,虛擬機監控器為每個虛擬加速資源創建一對收發隊列,該收發隊列基于 共享內存實現。虛擬加速資源通過收發隊列實現對物理加速資源的訪問,虛擬機監控器調 度每個虛擬加速資源的收發隊列,并且轉換成對物理加速資源的訪問。
[0004] 現有技術中,將互聯網資源虛擬化通常有兩種方法,第一種是VirtIO方案,另一 種是 SRIOV(Single_Root IO Virtuliaztion,單根 IO 虛擬化)方案。在 VirtIO 方案中, 虛擬機監控器(Virtual Machine Monitor,也稱虛擬機管理器Virtual Machine Manager, 或者管理程序hypervisor)為每個虛擬資源創建一對收發隊列,虛擬資源通過收發隊列和 虛擬機監控器的調度實現對物理資源的訪問。SRIOV方案是基于PCIe總線的IO虛擬化技 術,物理資源通過PCIe總線與CPU互聯。在SRIOV方案中,用軟件將收發隊列集成到硬件 中,允許在虛擬機中直接訪問硬件,從而提尚性能。
[0005] 通過虛擬化技術,可以將物理資源虛擬成多個虛擬資源,多個虛擬資源組合起來 構成虛擬機,在虛擬機上,可以部署業務處理單元完成不同的業務功能。一個典型的虛擬化 系統如圖1所示,包括集中資源管理器101,虛擬機監控器102,虛擬機103、104。其中,集中 資源管理器和虛擬機監控器可以是基于物理CUP的軟件實現,在軟件層面,可以是操作系 統的一部分功能模塊,也可以是相對獨立的一部分功能軟件,具體形式并不限定。集中資源 管理器101用于完成對各種物理資源107的管理,具體的產品代表如開源軟件openstack, VMware公司的vCenter以及Huawei的FusionSphere等;虛擬機監控器102用于實現虛擬 資源的管理。如圖1所示,虛擬機103上部署有業務處理單元105,虛擬機104上部署有業 務處理單元106。業務處理單元105和106上分別運行有工作負載。每個業務處理單元上 運行的業務負載可以有多個。虛擬機上的虛擬資源按照屬性區分可以分為虛擬計算資源、 虛擬存儲資源、虛擬網卡資源等,同樣物理資源也可以分為物理計算資源、物理存儲資源、 物理網卡資源。虛擬機通過虛擬資源訪問對應的物理資源,將工作負載轉移至對應的物理 資源。
[0006] 但現有的虛擬化技術無法實現加速器的虛擬化,因此也無法創建含有虛擬加速器 的虛擬機,從而無法在虛擬機中使用加速器。
【發明內容】
[0007] 本發明實施例中提供了一種加速虛擬化的方法、裝置及集中資源管理器,能解決 現有技術中無法實現加速器虛擬化的問題。
[0008] 為了解決上述技術問題,本發明實施例公開了如下技術方案:
[0009] -方面,提供了一種加速器虛擬化的方法,應用于主機,所述主機上運行有集中資 源管理器和虛擬機監控器,所述方法包括:
[0010] 所述集中資源管理器接收虛擬機資源配置命令,所述虛擬機資源配置命令中包含 待創建虛擬加速器信息;
[0011] 所述集中資源管理器根據所述虛擬機資源配置命令中的待創建虛擬加速器信息, 從物理加速器資源池中選擇相匹配的物理加速器作為匹配物理加速器;
[0012] 所述集中資源管理器生成用于描述匹配物理加速器的描述信息;
[0013] 所述集中資源管理器向虛擬機監控器發送第一虛擬機創建命令,所述第一虛擬機 創建命令包括所述描述信息,使得所述虛擬機監控器收到所述第一虛擬機創建命令后,創 建包含有所述匹配物理加速器對應的第一虛擬加速器的第一虛擬機,其中,所述第一虛擬 加速器通過所述描述信息生成,或者,所述集中資源管理器向所述虛擬機監控器發送第二 虛擬機創建命令,所述第二虛擬機創建命令包括描述信息獲取標識,使得所述虛擬機監控 器收到所述第二虛擬機創建命令后創建第二虛擬機,并使得所述第二虛擬機根據所述描述 ?目息獲取標識獲取所述描述?目息后生成第二虛擬加速器。
[0014] 結合第一方面,在第一方面的第一種可能實現方式中,所述在集中資源管理器接 收虛擬機資源配置命令之前,所述方法還包括:
[0015] 所述集中資源管理器獲取物理加速器的信息,所述物理加速器至少包括本地物理 加速器或遠端物理加速器;
[0016] 所述集中資源管理器根據所述物理加速器的信息,生成物理加速器信息文件以生 成物理加速器資源池;
[0017] 所述集中資源管理器根據所述虛擬機資源配置命令中的待創建虛擬加速器信息, 從物理加速器資源池中選擇相匹配的物理加速器作為匹配物理加速器,包括:
[0018] 所述集中資源管理器根據所述待創建虛擬加速器信息,從所述物理加速器信息文 件中選擇相匹配的物理加速器的信息,將相匹配的物理加速器的信息對應的物理加速器作 為匹配物理加速器。
[0019] 結合第一方面的第一種可能實現方式,在第一方面的第二種可能實現方式中,所 述集中資源管理器從所述物理加速器資源池中選擇相匹配的物理加速器作為匹配物理加 速器,包括:
[0020] 所述集中資源管理器根據所述物理位置從所述物理加速器資源池中選擇相匹配 的匹配物理加速器;和/或
[0021] 所述集中資源管理器根據物理加速器負荷從所述物理加速器資源池中選擇相匹 配的匹配物理加速器。
[0022] 結合第一方面至第一方面的第二種可能實現方式中的任一種實現方式,在第一方 面的第三種可能實現方式中,所述匹配物理加速器不在所述主機上,所述虛擬機監控器創 建所述第一虛擬機或第二虛擬機之后,所述方法還包括:
[0023] 所述虛擬機監控器發送通訊地址和匹配物理加速器標識至所述匹配物理加速器 所在節點上的遠端加速器管理單元,以使所述虛擬機監控器通過所述通訊地址與所述遠端 加速器管理單元進行通訊,且使所述遠端加速器管理單元通過所述匹配物理加速器標識與 對應的匹配物理加速器通訊。
[0024] 結合第一方面至第一方面的第三種可能實現方式中的任一種實現方式,在第一方 面的第四種可能實現方式中,所述在集中資源管理器創建第一虛擬機或第二虛擬機之后, 所述方法還包括:
[0025] 所述虛擬加速器將所述虛擬機上的業務單元發送的加速請求轉移至所述匹配物 理加速器進行處理,并將所述匹配物理加速器處理后的結果返回至所述業務單元,其中,所 述虛擬加速器為第一虛擬加速器或第二虛擬加速器。
[0026] 結合第一方面第四種可能實現方式,在第一方面的第五種可能實現方式中,所述 匹配物理加速器不在主機上,則所述第一虛擬加速器將所述虛擬機上的業務單元發送的加 速請求轉移至所述匹配物理加速器進行處理,并將所述匹配物理加速器處理后的結果返回 至所述業務單元,包括:
[0027] 所述虛擬加速器向所述遠端加速器管理單元發送基于握手協議的握手請求,并接 收所述加速器管理單元反饋的握手成功響應;
[0028] 所述虛擬加速器發送所述加速請求至所述遠端加速器管理單元,以使所述遠端加 速器管理單元將所述加速請求發送至對應的匹配物理加速器進行處理;
[0029] 所述虛擬加速器接收所述遠端加速器管理單元發送的加速請求響應,所述加速請 求響應是所述匹配物理加速器處理所述加速請求后向所述遠端加速器管理單元返回的處 理結果;
[0030] 所述虛擬加速器將所述加速請求響應發送至所述業務單元;
[0031 ] 其中,所述虛擬加速器為第一虛擬加速器或第二虛擬加速器。
[0032] 第二方面,提供了一種加速器虛擬化的裝置,應用于主機,所述裝置包括集中資源 管理器和虛擬機監控器,所述集中資源管理器包括:
[0033] 接收單元,用于接收虛擬機資源配置命令,所述虛擬機資源配置命令中包含待創 建虛擬加速器信息;
[0034] 匹配物理加速器選擇單元,用于根據所述接受單元接收的虛擬機資源配置命令中 的待創建虛擬加速器信息,從物理加速器資源池中選擇相匹配的物理加速器作為匹配物理 加速器;
[0035] 生成單元,用于生成用于描述匹配物理加速器的描述信息;
[0036] 發送單元,用于向虛擬機監控器發送第一虛擬機創建命令,所述第一虛擬機創建 命令包括所述描述信息,使得所述虛擬機監控器收到所述第一虛擬機創建命令后,創建包 含有所述匹配物理加速器對應的第一虛擬加速器的第一虛擬機,其中,所述第一虛擬加速 器通過所述描述信息生成,或者,所述發送單元用于向所述虛擬機監控器發送第二虛擬機 創建命令,所述第二虛擬機創建命令包括描述信息獲取標識,使得所述虛擬機監控器收到 所述第二虛擬機創建命令后創建第二虛擬機,并使得所述第二虛擬機根據所述描述信息獲 取標識獲取所述描述信息后生成第二虛擬加速器。
[0037] 結合第二方面,在第二方面的第一種可能實現方式中,所述集中資源管理器還包 括:
[0038] 物理加速器信息獲取單元,用于獲取物理加速器的信息,所述物理加速器至少包 括本地物理加速器或遠端物理加速器;
[0039] 物理加速器資源池生成單元,用于根據所述物理加速器的信息,生成物理加速器 信息文件以生成物理加速器資源池;
[0040] 所述匹配物理加速器選擇單元還用于根據所述待創建虛擬加速器信息,從所述物 理加速器信息文件中選擇相匹配的物理加速器的信息,將相匹配的物理加速器的信息對應 的物理加速器作為匹配物理加速器。
[0041] 結合第二方面的第一種可能實現方式,在第二方面的第二種可能實現方式中,所 述匹配物理加速器選擇單元還用于根據所述物理位置從所述物理加速器資源池中選擇相 匹配的匹配物理加速器;和/或