加速器虚拟化的方法、装置及集中资源管理器的制造方法_3

文档序号:8942912阅读:来源:国知局
r>[0078] 步骤204,集中资源管理器向虚拟机监控器发送第一虚拟机创建命令,第一虚拟机 创建命令包括描述信息,使得虚拟机监控器收到第一虚拟机创建命令后,创建包含有匹配 物理加速器对应的第一虚拟加速器的第一虚拟机,其中,第一虚拟加速器通过描述信息生 成。
[0079] 或者,步骤204可以是,集中资源管理器向虚拟机监控器发送第二虚拟机创建命 令,第二虚拟机创建命令包括描述信息获取标识,使得虚拟机监控器收到第二虚拟机创建 命令后创建第二虚拟机,并使得第二虚拟机根据描述信息获取标识获取描述信息后生成第 二虚拟加速器。步骤204的第二种实施方式在图2中用虚线框示出,相应的标号也用虚线 框示出。
[0080] 本步骤中,虚拟机创建命令是指现有技术中用于创建虚拟机的命令,例如,基于 Linux系统时,可以使用下面所示的命令:
[0081] ./x86_64-softmmu/qemu-system-x86_64 -hda /home/image/VM_KVM_MSGO. img-cpu host-m 2048-smp 4-net nic,model = virtio-net tap, script = /etc/ qemu-ifup-nographic-vnc:22
[0082] 本实施例中,第一虚拟机创建命令以及第二虚拟机创建命令都为基于虚拟机创建 命令的命令。为了使得虚拟机监控器可以根据描述信息创建包含有虚拟加速器的第一虚拟 机,本实施例中,第一虚拟机创建命令在原有的虚拟机创建命令的基础上进行一些小的修 改,增加能够指示创建虚拟加速器的字段,例如,修改后的命令可以如下所示:
[0083] ./x86_64-softmmu/qemu-system-x86_64 -hda /home/image/VM_KVM_MSGO. img-cpu host-m 2048-smp 4-net nic, model = virtio-net tap, script = /etc/qemu-if up-nographic-vnc: 22-device ivshmem, shm = 〃sa vfl〃,size = Im
[0084] 上述命令中,有下划线标识的部分为新增的参数,表示通过读取〃sa_VH〃这个文 件(该文件保存了要生成的虚拟加速器的描述信息)来生成虚拟加速器,当然,这种实现方 法只是一种示例,本领域技术人员也可以通过不使用文件而直接传递描述信息的方式来让 虚拟机监控器获取描述信息,并根据该描述信息生成包含有该描述信息对应的虚拟加速器 的第一虚拟机。
[0085] 第二虚拟机创建命令对现有的虚拟机创建命令的修改是增加一个描述信息获取 标识,该标识并不指示虚拟机监控器在生成虚拟机时就生成虚拟加速器,而是指示虚拟机 监控器在生成第二虚拟机后,让第二虚拟机根据获取描述信息并生成虚拟加速器。第二虚 拟机通过该标识知道还需要生成虚拟加速器,然后可以去一个默认的位置(或者也可以通 过与集中资源管理器交互后获取该位置)获取描述信息。例如,从某个磁盘路径下获取保 存了描述信息的文件。
[0086] 本发明的实施例中,在步骤201之前,在集中资源管理器接收虚拟机资源配置命 令之前,方法还可以包括:
[0087] 集中资源管理器获取物理加速器的信息,物理加速器至少包括本地物理加速器或 远端物理加速器;
[0088] 集中资源管理器根据物理加速器的信息,生成物理加速器信息文件以生成物理加 速器资源池;
[0089] 集中资源管理器根据虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加 速器资源池中选择相匹配的物理加速器作为匹配物理加速器,包括:
[0090] 集中资源管理器根据待创建虚拟加速器信息,从物理加速器信息文件中选择相匹 配的物理加速器的信息,将相匹配的物理加速器的信息对应的物理加速器作为匹配物理加 速器。
[0091] 物理加速器的信息包括但不限于以下信息:物理资源名称、物理资源所在节点地 址、功能、属性、能力、空闲状态。各节点会收集本节点的物理加速器信息上报至集中资源管 理器。在物理加速器变化时,各节点也可以主动上报集中资源管理器,集中资源管理器更新 物理加速器资源池。
[0092] 本实施例通过集中资源管理器来获取物理加速器信息,能够对物理加速器进行统 一的管理、调度。
[0093] 本发明实施例中,物理加速器资源池实际上相当于一个数据库,其内部数据可以 是一个或多个物理加速器信息文件。物理加速器资源池的存储方式可以采用任一数据库的 存储方式,一个实施例的物理加速器资源池的管理结构可以如表1所示:
[0094] 表 1
[0095]
[0096] 表1所示的物理加速器资源池以列表的形式来示意,表1中仅示例性的列出了一 行。列表的每一行可以对应于一个物理加速器信息文件,每个物理加速器信息文件对应于 一个物理加速器;或者,整个列表对应于与一个物理加速器信息文件,列表中的每一行对应 于一个物理加速器。
[0097] 本发明实施例采用物理加速器资源池来管理系统中的物理加速器,便于对物理加 速器进行统一管理,也可以提高匹配物理资源的选择效率。
[0098] 在选择匹配物理加速器时,还可以通过以下方法来实现:
[0099] 集中资源管理器根据物理位置从物理加速器资源池中选择相匹配的匹配物理加 速器;和/或
[0100] 集中资源管理器根据物理加速器负荷从物理加速器资源池中选择相匹配的匹配 物理加速器。
[0101] 物理加速器根据物理位置可以分为本地物理加速器和远端物理加速器。本地物理 加速器位于本地节点,即本地物理加速器位于主机所在的节点;远端物理加速器位于位于 非主机的节点,即远端物理加速器位于远端节点。
[0102] 通常情况下,集中资源管理器与本地物理加速器的通讯时延较短,负荷较低的物 理加速器的响应速度较快,因此可以优先选择本地物理加速器,或优先选择负荷较低的物 理加速器,还可以综合物理位置以及负荷来选择。
[0103] 本发明实施例的加速器虚拟化的方法,本发明实施例的方法可以实现加速器的虚 拟化,同时,由于本发明实施例中实现加速器虚拟化基于集中资源管理器和虚拟机监控器 来实现,对软件改动少,易于实现。
[0104] 实施例二
[0105] 基于实施例一,本实施例公开了一种加速器虚拟化方法。在实施例一中,并不限定 匹配物理加速器的位置,例如,匹配物理加速器可以位于本地节点,或可以位于远端节点。 当匹配物理加速器位于本地节点时,可以采用实施例一种公开的加速器虚拟化的方法。本 实施例中,重点针对匹配物理加速器在远端节点上的情况进行描述,具体的,在这种情况 下,虚拟机监控器创建第一虚拟机或第二虚拟机之后,方法还包括:
[0106] 虚拟机监控器发送通讯地址和匹配物理加速器标识至匹配物理加速器所在节点 上的远端加速器管理单元,以使虚拟机监控器通过通讯地址与远端加速器管理单元进行通 讯,且使远端加速器管理单元通过匹配物理加速器标识与对应的匹配物理加速器通讯。其 中,远端加速器管理单元可以指位于远端节点的,在集中资源管理器的控制下,可以对远端 节点上的物理加速器进行管理的功能单元,可以是单独的软件模块,或可以是远端节点操 作系统中的一个软件子模块。物理加速器管理单元例如物理加速引擎。
[0107] 在很多应用场景中,对于操作系统来说,本地的加速器资源非常有限,因此,加速 器虚拟化对非本地的远端加速器资源有较高的需求。本发明实施例中,如果匹配物理加速 器不在主机上,也可以与匹配物理加速器进行通讯,即本发明实施例在物理加速器位于远 端时仍能实现加速器的虚拟化,提高了资源的共享度。
[0108] 实施例三
[0109] 基于上述各实施例,本发明实施例公开了一种加速器虚拟化方法,用于对基于上 述方法如何进行业务处理进行描述。具体的,本实施例提供的方法在集中资源管理器创建 第一虚拟机或第二虚拟机之后,还包括:
[0110] 虚拟加速器将虚拟机上的业务单元发送的加速请求转移至匹配物理加速器进行 处理,并将匹配物理加速器处理后的结果返回至业务单元。
[0111] 本实施例中的虚拟加速器为第一虚拟加速器,或可以是第二虚拟加速器,需要与 上述实施例步骤204中创建的虚拟加速器保持一致,即,若创建的是第一虚拟加速器,则由 第一虚拟加速器将业务单元发送的加速请求转移至物理匹配加速器进行处理,若创建的是 第二虚拟加速器,则由第二虚拟加速器将业务单元发送的加速请求转移至匹配物理加速器 进行处理。
[0112] 将虚拟机上的业务单元发送的加速请求转移至匹配物理加速器进行处理,相当于 将虚拟机上的加速负载转移至匹配物理加速器进行处理,可以提高物理资源的共享度,同 时减轻虚拟机以及主机上的负载压力。
[0113] 通过前面实施例所述,匹配物理加速器可以位于本地节点,也可以位于远端节点。 当匹配物理加速器位于本地节点时,虚拟加速器从业务单元接收加速请求,并发送加速请 求至本地加速器管理单元;本地加速器管理单元将加速请求发送至对应的匹配物理加速器 进行处理;位于本地节点的匹配物理加速器处理完加速请求后,将处理结果通过本地加速 器管理单元反馈至虚拟加速器;虚拟加速器将处理结果发送给业务单元。
[0114] 当匹配物理加速器位于远端节点时,由于涉及本地节点与远端节点的交互,情况 相对复杂一些,下面详细说明匹配物理加速器不在主机时,如何实现负载转移。
[0115] 图3所示为本发明实施例的负载转移的方法的流程图,该实施例中,匹配物理加 速器不在本地节点,而是在远端节点上,虚拟加速器将虚拟机上的业务单元发送的加速请 求转移至匹配物理加速器进行处理,并将匹配物理加速器处理后的结果返回至业务单元的 方法具体如图3所示,包括:
[0116] 步骤301,虚拟加速器向远端加速器管理单元发送基于握手协议的握手请求,并接 收远端加速器管理单元反馈的握手成功响应。
[0117] 本实施例中,发送、接收基于握手协议的握手请求用于建立虚拟加速器和远端加 速器管理单元之间的连接,其【具体实施方式】与现有技术中相同,例如,可以是基于TCP握手 协议的握手请求以建立连接,此不在赘述。
[0118] 步骤302,虚拟加速器发送加速请求至远端加速器管理单元,以使远端加速器管理 单元将加
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1