【技术实现步骤摘要】
本专利技术属于计算机虚拟化领域,具体涉及,用于支持设备直接分配方式的虚拟机平台,对单根输入输出虚拟化标准(SR-1OV)的网卡所提供的虚拟功能进行动态调度。
技术介绍
随着科技的进步,虚拟化技术应用范围越来越广。虚拟化技术可以分为CPU虚拟化、内存虚拟化和I/o虚拟化。目前,CPU虚拟化和内存虚拟化技术已经比较成熟,而I/O虚拟化的性能有待提闻。虚拟机使用的I/O设备分为两类,软件模拟的I/O设备和通过设备直接分配方式分配的I/o设备。软件模拟的I/O设备包括泛虚拟化方式模拟的设备和完全虚拟化方式模拟的设备。设备直接分配方式分配的I/o设备包括物理设备和支持单根输入输出虚拟化标准的设备的虚拟功能。软件模拟I/O设备方式具有扩展性好的优点,但是该方式下所有的I/O操作需要被虚拟机监控器捕获再执行,增加了虚拟机切换次数,频繁的上下文切换以及I/o路径的增长,使得这种方式I/o性能较差。使用设备直接分配方式分配物理设备是将硬件平台的物理设备分配给某一个虚拟机独占使用,而其他的虚拟机不能够使用。这种方式虽然性能较好,但是可扩展性差,资源的利用率较低。互连外围设备专业组( ...
【技术保护点】
一种虚拟功能的动态调度方法,包括下述步骤:(1)初始化步骤,顺序包括下述子步骤:(1.1)用户创建配置文件,在配置文件中输入要保证带宽的各虚拟机名称和带宽值,其中带宽值为要求保证的虚拟机带宽值;(1.2)用户启用物理网卡的单根输入输出虚拟化功能,创建物理网卡的虚拟功能;(2)创建队列步骤,顺序包括下述子步骤:(2.1)分别创建第一队列、第二队列和第三队列用于保存虚拟机信息,各队列由节点组成,每个节点包含虚拟机名称、I/O优先级值、带宽值、虚拟功能数,其中I/O优先级值为对应虚拟机名称的虚拟机的I/O优先级;带宽值在第一队列的各节点中为对应虚拟机名称的虚拟机所要保证的带宽,在 ...
【技术特征摘要】
1.一种虚拟功能的动态调度方法,包括下述步骤 (1)初始化步骤,顺序包括下述子步骤 (1.1)用户创建配置文件,在配置文件中输入要保证带宽的各虚拟机名称和带宽值,其中带宽值为要求保证的虚拟机带宽值; (1. 2)用户启用物理网卡的单根输入输出虚拟化功能,创建物理网卡的虚拟功能; (2)创建队列步骤,顺序包括下述子步骤 (2.1)分别创建第一队列、第二队列和第三队列用于保存虚拟机信息,各队列由节点组成,每个节点包含虚拟机名称、I/O优先级值、带宽值、虚拟功能数,其中I/O优先级值为对应虚拟机名称的虚拟机的I/O优先级;带宽值在第一队列的各节点中为对应虚拟机名称的虚拟机所要保证的带宽,在第二队列和第三队列中,各节点带宽值均为O ;虚拟功能数在第一队列的各节点中为对应虚拟机名称的虚拟机所需要的虚拟功能数目,在第二队列的各节点中为1,在第三队列的各节点中为O ;第一队列按照虚拟机加入顺序保存具有带宽保证的虚拟机,第二队列按照虚拟机的I/O优先级值从大到小的顺序保存没有带宽保证但已使用虚拟功能的虚拟机,第三队列按照虚拟机的I/O优先级值从大到小的顺序保存没有带宽保证且未使用虚拟功能的虚拟机; (2. 2)创建虚拟功能队列用于保存虚拟功能信息,该队列由节点组成,每个节点包括编号、使用情况、虚拟机名称,其中编号为虚拟功能编号,使用情况为该编号虚拟功能使用情况,虚拟机名称为使用该编号虚拟功能的虚拟机名称; 将各虚拟功能按编号值从小到大的顺序保存到虚拟功能队列各节点中,同时将各节点中的使用情况设置成未使用,虚拟机名称为空; (2. 3)将变量E设置为总虚拟功能数,将变量B设置为O ;变量E为未使用的虚拟功能数目,变量B为第一队列中所有虚拟机已经使用的虚拟功能总数; (3)虚拟机分类步骤,顺序包括下述子步骤(3.1)判断虚拟机监控器中是否存在虚拟机,是则进行子步骤(3. 2),否则转步骤(9);(3. 2)将虚拟机监控器中所有的虚拟机按其在虚拟机监控器中的顺序依次加入到第三队列的各节点中,并初始化节点,将各节点的I/O优先级值、带宽值、虚拟功能数设置为O ; (3. 3)获取配置文件中所有虚拟机名称,使用每一个虚拟机名称查找第三队列,将与该虚拟机名称相同的节点从第三队列移除,依次加入第一队列,同时修改相应节点带宽值和虚拟功能数,将带宽值修改为配置文件中该虚拟机的带宽值,将虚拟功能数按照下式计算并修改 虚拟功能数=带宽值X虚拟功能总数/物理网卡带宽; (3. 4)启动定时器,将其时间长度设置为6 12小时; (4)分配虚拟功能步骤,顺序包括下述子步骤 (4.1)判断第一队列是否为空,是则转子步骤(4. 6),否则获取第一队列中的第一个节点,进行子步骤(4.2); (4. 2)判断是否(B+C) > A,是则转子步骤(4. 5),否则进行子步骤(4. 3); 其中,变量A =虚拟功能总数/4,变量C为当前节点的虚拟功能数; (4. 3)顺序将虚拟功能队列中C个使用情况为未使用的节点所对应的虚拟功能分配给第一队列当前节点对应的虚拟机,将虚拟功能队列中对应这C个节点的虚拟机名称修改为第一队列当前节点的虚拟机名称,对应这C个节点的使用情况设置为已使用,置E = E-C,置B = B+C ; (4. 4)判断是否为第一队列最后一个节点,是则转子步骤(4. 6),否则获取第一队列下一个节点,转子步骤(4.2); (4. 5)将第一队列中当前节点以及其后的节点对应的虚拟机关闭,并将这些虚拟机从第一队列和配置文件中移除; (4. 6)计算第二队列中、第三队列中各节点的I/O优先级值并排序 从虚拟机监控器中获取第二队列中、第三队列中各节点对应的虚拟机的I/O中断次数、睡眠时间;按照下式计算第二队列中、第三队列中所有节点的I/O优先级值 I/o优先级值=I/O中断次数XP+睡眠时间X (1-P),P为40% 60% ; 将结果保存到第二队列、第三队列相应节点的I/O优先级值中,按照I/O优先级值从大到小的顺序对第二队列、第三队列排序; (4. 7)判断是否第三队列为空,是则转步骤(9),否则获取第三队列第一个节点,进行子步骤(4. 8); (4. 8)判断是否E > A,是则进行子步骤(4. 9),否则转步骤(9); (4. 9)将该节点从第三队列移除,并按照从大到小的顺序根据其I/O优先级值将其加入第二队列,将虚拟功能队列中第一个使用情况为未使用的节点所对应的虚拟功能分配给第二队列中加入节点对应的虚拟机,将虚拟功能队列中相应节点的虚拟机名称修改为第二队列中加入节点的虚拟机名称,将虚拟功能队列中相应节点的使用情况设置为已使用,置E=E-1,转子步骤(4. 7); (5)判断唤醒步骤判断是否有唤醒信号,是则进行子步骤(5.1);否则转步骤(9),所述唤醒信号为虚拟机增加信号、虚拟机减少信号、定时完成信号之一;唤醒信号包含类型和虚拟机名称,虚拟机增加信号类型为增加虚拟机、虚拟机...
【专利技术属性】
技术研发人员:童薇,冯丹,刘景宁,李宇,张炬,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。