CN115269118A - 一种虚拟机的调度方法、装置及设备 - Google Patents

一种虚拟机的调度方法、装置及设备 Download PDF

Info

Publication number
CN115269118A
CN115269118A CN202210903230.3A CN202210903230A CN115269118A CN 115269118 A CN115269118 A CN 115269118A CN 202210903230 A CN202210903230 A CN 202210903230A CN 115269118 A CN115269118 A CN 115269118A
Authority
CN
China
Prior art keywords
virtual machine
numa node
page memory
numa
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210903230.3A
Other languages
English (en)
Inventor
陈俊
刘宽
夏勇
黄景平
段江南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202210903230.3A priority Critical patent/CN115269118A/zh
Publication of CN115269118A publication Critical patent/CN115269118A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种虚拟机的调度方法、装置及设备,包括:获取虚拟机调度请求,虚拟机调度请求包括非统一内存访问NUMA节点需求数量和各NUMA节点需求大页内存容量;若各候选主机中没有满足NUMA节点需求数量和各NUMA节点需求大页内存容量的候选主机,则基于调整规则对NUMA节点需求数量和各NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于候选主机的NUMA节点数量,调整后的各NUMA节点需求大页内存容量之和等于大页内存需求量;基于调整后的虚拟机调度请求和各候选主机的内存信息,确定目标主机,并将虚拟机调度至目标主机运行,通过上述方法可以调整使用大页内存的虚拟机的配置要求解决虚拟机调度成功率低的问题。

Description

一种虚拟机的调度方法、装置及设备
技术领域
本发明涉及计算机虚拟化平台技术领域,特别涉及一种虚拟机的调度方法、装置及设备。
背景技术
大页内存广泛应用于提高虚拟机承载内存密集型应用的性能,在实际应用中,大页内存资源按照主机非统一内存访问(Non Uniform Memory Access,NUMA)节点进行配置,调度维度更细致,且主机的NUMA节点数存在差异,各个NUMA节点的大页内存的配置数量也存在差异,因此面临许多调度问题。比如现有的云平台,对于使用大页内存的虚拟机,一般在调度前即确定虚拟机的NUMA节点数以及所需的大页内存在各NUMA节点的分配。在主机配置差异较大或资源预留不当的情况下,此方式容易出现主机NUMA节点数或单个NUMA节点大页内存剩余资源无法匹配虚拟机需求的情况,导致调度失败概率增加,造成大页内存资源利用率较低。因此,亟待对使用大页内存的虚拟机的调度方法进行优化以提高调度成功率。
发明内容
本发明提供一种虚拟机的调度方法、装置及设备,用以解决现有技术中存在的使用大页内存的虚拟机调度成功率低的问题。
第一方面,本发明实施例提供了一种虚拟机的调度方法,该方法包括:
响应用户操作指令,获取虚拟机调度请求,其中,所述虚拟机调度请求包括虚拟机的非统一内存访问NUMA节点需求数量和所述虚拟机的各个NUMA节点需求大页内存容量;
若各个候选主机中没有满足所述NUMA节点需求数量和所述各个NUMA节点需求大页内存容量的候选主机,则基于所述用户操作指令对应的调整规则,对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于所述候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于所述虚拟机的大页内存需求量;
基于调整后的虚拟机调度请求和各个所述候选主机的内存信息,从所述候选主机中确定目标主机,并将所述虚拟机调度至所述目标主机中运行。
在一种可能的实施方式中,所述基于所述用户操作指令对应的调整规则,对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,包括:
若所述调整规则是数量优先规则,则调整所述NUMA节点需求数量为所述用户设置的预设需求数量,并根据所述候选主机的各个NUMA节点大页内存容量、所述虚拟机的大页内存需求量和所述预设需求数量对所述各个NUMA节点需求大页内存容量进行调整,以使调整后的各个NUMA节点需求大页内存容量之和等于所述虚拟机的大页内存需求量。
在一种可能的实施方式中,所述基于所述用户操作指令对应的调整规则,对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,包括:
若所述调整规则是任意规则,则对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整。
在一种可能的实施方式中,所述基于调整后的虚拟机调度请求和各个所述候选主机的内存信息,从所述候选主机中确定目标主机,包括:
基于各个所述候选主机的NUMA节点数量和NUMA节点大页内存容量,确定满足所述调整后的虚拟机调度请求的候选主机;
若满足所述调整后的虚拟机调度请求的候选主机是多个,则基于所述内存信息对各个满足所述调整后的虚拟机调度请求的候选主机的综合权重进行计算,确定所述综合权重最高的候选主机为所述目标主机。
在一种可能的实施方式中,所述内存信息包括下列中的部分或全部:
剩余普通内存、剩余磁盘内存、主机负载、所述NUMA节点数量和所述NUMA节点大页内存容量。
第二方面,本发明实施例提供了一种虚拟机的调度装置,该装置包括:
获取模块,用于响应用户操作指令,获取虚拟机调度请求,其中,所述虚拟机调度请求包括虚拟机的NUMA节点需求数量和所述虚拟机的各个NUMA节点需求大页内存容量;
调整模块,用于若各个候选主机中没有满足所述NUMA节点需求数量和所述各个NUMA节点需求大页内存容量的候选主机,则基于所述用户操作指令对应的调整规则,对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于所述候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于所述虚拟机的大页内存需求量;
调度模块,用于基于调整后的虚拟机调度请求和各个所述候选主机的内存信息,从所述候选主机中确定目标主机,并将所述虚拟机调度至所述目标主机中运行。
在一种可能的实施方式中,所述调整模块具体用于:
若所述调整规则是任意规则,则对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整。
在一种可能的实施方式中,所述调整模块具体用于:
基于各个所述候选主机的NUMA节点数量和NUMA节点大页内存容量,确定满足所述调整后的虚拟机调度请求的候选主机;
若满足所述调整后的虚拟机调度请求的候选主机是多个,则基于所述内存信息对各个满足所述调整后的虚拟机调度请求的候选主机的综合权重进行计算,确定所述综合权重最高的候选主机为所述目标主机。
第三方面,本发明实施例提供了一种计算机设备,该设备包括处理器和用于存储所述处理器可执行指令的存储器,其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的虚拟机的调度方法。
第四方面,本发明实施例提供了一种计算机存储介质,当所述计算机存储介质中的指令由处理器执行时,使得能够执行如第一方面中任一项所述的虚拟机的调度方法。
本发明有益效果如下:
本发明公开了一种虚拟机的调度方法、装置及设备,该方法包括:响应用户操作指令,获取虚拟机调度请求,其中,虚拟机调度请求包括虚拟机的非统一内存访问NUMA节点需求数量和虚拟机的各个NUMA节点需求大页内存容量;若各个候选主机中没有满足NUMA节点需求数量和各个NUMA节点需求大页内存容量的候选主机,则基于用户操作指令对应的调整规则,对虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于虚拟机的大页内存需求量;基于调整后的虚拟机调度请求和各个候选主机的内存信息,从候选主机中确定目标主机,并将虚拟机调度至目标主机中运行,通过上述方法,可以使得使用大页内存的虚拟机适配更多配置的主机以及不同的云计算环境,从而提高虚拟机调度的成功率,进而提高资源利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟机的调度方法的流程示意图;
图2为本发明实施例提供的一种虚拟机的调度方法的具体流程示意图;
图3为本发明实施例提供的一种虚拟机的调度装置的结构示意图;
图4为本发明实施例提供的一种虚拟机的调度设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
一般情况下,内存均作为普通内存使用,若使用大页内存,则需在主机进行额外配置。在云计算资源池中,主机一般有多个物理CPU,且使用NUMA架构,存在多个NUMA节点,大页内存需按NUMA节点进行设置。从调度层面看,大页内存与普通内存相比,由于涉及了NUMA节点,调度规则更加细致,面临的限制条件更多。比如,用户需要配置虚拟机的规格为2个NUMA节点,且每个NUMA节点大页内存容量为8G,此时所有主机各NUMA节点的剩余可用大页内存都无法完全满足此需求,则该虚拟机调度失败。因此,对于使用大页内存的虚拟机要达到好的调度效果,相比使用普通内存的虚拟机难度更大,调度方法亟待革新。
基于上述问题,本发明实施例提供一种虚拟机的调度方法、装置及设备,用以解决现有技术中使用大页内存的虚拟机调度成功率低的问题。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的虚拟机的调度方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
如图1所示,为本发明实施例提供的一种虚拟机的调度方法的流程示意图,该方法包括:
步骤101,响应用户操作指令,获取虚拟机调度请求。
需要说明的是,虚拟机调度请求包括虚拟机的非统一内存访问NUMA节点需求数量和虚拟机的各个NUMA节点需求大页内存容量。
步骤102,若各个候选主机中没有满足NUMA节点需求数量和各个NUMA节点需求大页内存容量的候选主机,则基于用户操作指令对应的调整规则,对虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于虚拟机的大页内存需求量。
步骤103,基于调整后的虚拟机调度请求和各个候选主机的内存信息,从候选主机中确定目标主机,并将虚拟机调度至目标主机中运行。
本发明公开了一种虚拟机的调度方法,该方法包括:响应用户操作指令,获取虚拟机调度请求,其中,虚拟机调度请求包括虚拟机的非统一内存访问NUMA节点需求数量和虚拟机的各个NUMA节点需求大页内存容量;若各个候选主机中没有满足NUMA节点需求数量和各个NUMA节点需求大页内存容量的候选主机,则基于用户操作指令对应的调整规则,对虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于虚拟机的大页内存需求量;基于调整后的虚拟机调度请求和各个候选主机的内存信息,从候选主机中确定目标主机,并将虚拟机调度至目标主机中运行,通过上述方法,可以调整使用大页内存的虚拟机的配置要求,以使虚拟机适配更多不同配置的主机,从而提高虚拟机调度的成功率,进而提高存储资源利用率。
下面结合具体实施例对上述方法进行说明:
如图2所示,为本发明实施例提供的一种虚拟机的调度方法的具体流程示意图,该方法包括:
步骤201,开放虚拟机调度请求适应性调整的权限。
具体的,上述调度请求适应性调整是指针对NUMA架构的调整,即对虚拟机的NUMA节点需求数量和虚拟机的各个NUMA节点需求大页内存容量的调整。
步骤202,响应用户操作指令,获取虚拟机调度请求。
具体的,可能存在主机中的NUMA架构满足上述虚拟机调度请求,也可能不存在主机中的NUMA架构满足上述虚拟机调度请求,本申请的调度方法主要应用在主机的NUMA架构无法完全满足用户的虚拟机调度请求的情况中,用户需要配置虚拟机的规格为2个NUMA节点,且每个NUMA节点大页内存容量为8G,此时所有主机各NUMA节点的剩余可用大页内存都无法完全满足此需求。
步骤203,若各个候选主机中没有满足NUMA节点需求数量和各个NUMA节点需求大页内存容量的候选主机,则基于用户操作指令对应的调整规则,对虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于虚拟机的大页内存需求量。
在一种可能的实施例中,若调整规则是数量优先规则,则调整NUMA节点需求数量为用户设置的预设需求数量,并根据候选主机的各个NUMA节点大页内存容量、虚拟机的大页内存需求量和预设需求数量对各个NUMA节点需求大页内存容量进行调整,以使调整后的各个NUMA节点需求大页内存容量之和等于虚拟机的大页内存需求量,比如,结合上例,用户设置的预设需求数量为4,则调整NUMA节点需求数量为4,在保证调整后的各个NUMA节点需求大页内存容量之和等于虚拟机的大页内存需求量的情况下,调整各个NUMA节点需求大页内存容量,比如,在调整NUMA节点需求数量为4的情况下,调整各个NUMA节点需求大页内存容量为4G,基于同样的构思,也可以不通过预设具体的需求数量,而是通过设定调整倾向性:比如允许调整为更多(或更少)的NUMA节点数量。
在一种可能的实施例中,若调整规则是任意规则,则对虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整。
需要说明的是,上述任一调整规则,对于各个NUMA节点需求大页内存容量的分配不一定是平均分配的,是结合候选主机本身的NUMA节点大页内存容量进行调整的,比如,接步骤202中示例,在调整NUMA节点需求数量为3的情况下,调整第一个NUMA节点需求大页内存容量为8G,第二个NUMA节点需求大页内存容量为4G、第三个NUMA节点需求大页内存容量为4G。
步骤204,基于各个候选主机的NUMA节点数量和NUMA节点大页内存容量,确定满足调整后的虚拟机调度请求的候选主机。
步骤205,确定调整后的虚拟机调度请求的候选主机是否为多个,若是,则执行步骤206,否则,执行步骤207。
步骤206,基于内存信息对各个满足调整后的虚拟机调度请求的候选主机的综合权重进行计算,确定综合权重最高的候选主机为目标主机,执行步骤207。
具体的,可以根据候选主机的NUMA节点数量、候选主机的NUMA节点大页内存容量、候选主机的剩余普通内存、候选主机剩余磁盘内存、候选主机的负载等信息进行权重分配,比如,NUMA节点数量越多,权重越高,候选主机的NUMA节点大页内存容量越多,权重越高,剩余普通内存越多,权重越高,剩余磁盘内存越多,权重越高,负载越低,权重越高等。将各项权重值加权相加得到综合权重值,确定权重值最高的候选主机为目标主机,因此可以在保证调度成功的情况下,进一步提高资源利用率。
步骤207,将虚拟机调度至目标主机中运行。
具体的,本发明对不满足预设规格配置的虚拟机,根据最小变动原则进行实质的NUMA架构及大页内存分配适应性调整,记录调整后的虚拟机NUMA拓扑,在主机中孵化虚拟机,即将虚拟机调度至目标主机中运行。
需要说明的是,上述方法用于针对多个候选主机,选出单个符合调整后的虚拟机调度请求的候选主机则确定该虚拟机为目标主机,或选出多个符合调整后的虚拟机调度请求的候选主机则通过权重计算合适的目标主机,并调整虚拟机调度请求调度至目标主机,基于相同的发明构思,也可以针对一个主机,通过调整虚拟机调度请求使虚拟机适配该主机,进而将虚拟机调度至该主机,在此不再赘述。
基于相同的发明构思,本发明实施例还提供一种虚拟机的调度装置,该装置的设计可以参考上述虚拟机的调度方法,重复之处不再赘述。如图3所示,为本发明实施例提供的一种虚拟机的调度装置的结构示意图,该装置包括获取模块301、调整模块302和调度模块303:
获取模块301,用于响应用户操作指令,获取虚拟机调度请求,其中,所述虚拟机调度请求包括虚拟机的NUMA节点需求数量和所述虚拟机的各个NUMA节点需求大页内存容量;
调整模块302,用于若各个候选主机中没有满足所述NUMA节点需求数量和所述各个NUMA节点需求大页内存容量的候选主机,则基于所述用户操作指令对应的调整规则,对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于所述候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于所述虚拟机的大页内存需求量;
调度模块303,用于基于调整后的虚拟机调度请求和各个所述候选主机的内存信息,从所述候选主机中确定目标主机,并将所述虚拟机调度至所述目标主机中运行。
可选的,调整模块302具体用于:
若所述调整规则是数量优先规则,则调整所述NUMA节点需求数量为所述用户设置的预设需求数量,并根据所述候选主机的各个NUMA节点大页内存容量、所述虚拟机的大页内存需求量和所述预设需求数量对所述各个NUMA节点需求大页内存容量进行调整,以使调整后的各个NUMA节点需求大页内存容量之和等于所述虚拟机的大页内存需求量。
可选的,调整模块302具体用于:
若所述调整规则是任意规则,则对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整。
可选的,调度模块303具体用于:
基于各个所述候选主机的NUMA节点数量和NUMA节点大页内存容量,确定满足所述调整后的虚拟机调度请求的候选主机;
若满足所述调整后的虚拟机调度请求的候选主机是多个,则基于所述内存信息对各个满足所述调整后的虚拟机调度请求的候选主机的综合权重进行计算,确定所述综合权重最高的候选主机为所述目标主机;
其中,所述内存信息包括下列中的部分或全部:
剩余普通内存、剩余磁盘内存、主机负载、所述NUMA节点数量和所述NUMA节点大页内存容量。
基于相同的发明构思,本发明实施例还提供一种虚拟机的调度设备,该设备的设计可以参考上述虚拟机的调度方法,重复之处不再赘述。如图4所示,为本发明实施例提供的一种虚拟机的调度设备的结构示意图,该设备包括处理器401和用于存储处理器401可执行指令的存储器402,其中,处理器401被配置为执行指令,以实现如任一项虚拟机的调度方法。
本申请还提供了一种包括指令的计算机可读存储介质,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器401执行时实现如本申请提供的虚拟机的调度方法。
本发明公开了一种虚拟机的调度方法、装置及设备,该方法包括:开放虚拟机调度请求适应性调整的权限,响应用户操作指令,获取虚拟机调度请求,其中,虚拟机调度请求包括虚拟机的非统一内存访问NUMA节点需求数量和虚拟机的各个NUMA节点需求大页内存容量;若各个候选主机中没有满足NUMA节点需求数量和各个NUMA节点需求大页内存容量的候选主机,则基于用户操作指令对应的调整规则,对虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于虚拟机的大页内存需求量;基于调整后的虚拟机调度请求和各个候选主机的内存信息,若调整后的虚拟机调度请求的候选主机是单个,则确定目标主机并将虚拟机调度至目标主机中运行,若调整后的虚拟机调度请求的候选主机是多个,则基于内存信息对各个满足调整后的虚拟机调度请求的候选主机的综合权重进行计算,确定综合权重最高的候选主机为目标主机并将虚拟机调度至目标主机中运行,通过上述方法,可以调整使用大页内存的虚拟机的配置要求,以使虚拟机适配更多不同配置的主机,从而提高虚拟机调度的成功率,进而提高存储资源利用率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种虚拟机的调度方法,其特征在于,该方法包括:
响应用户操作指令,获取虚拟机调度请求,其中,所述虚拟机调度请求包括虚拟机的非统一内存访问NUMA节点需求数量和所述虚拟机的各个NUMA节点需求大页内存容量;
若各个候选主机中没有满足所述NUMA节点需求数量和所述各个NUMA节点需求大页内存容量的候选主机,则基于所述用户操作指令对应的调整规则,对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于所述候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于所述虚拟机的大页内存需求量;
基于调整后的虚拟机调度请求和各个所述候选主机的内存信息,从所述候选主机中确定目标主机,并将所述虚拟机调度至所述目标主机中运行。
2.如权利要求1所述的方法,其特征在于,所述基于所述用户操作指令对应的调整规则,对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,包括:
若所述调整规则是数量优先规则,则调整所述NUMA节点需求数量为所述用户设置的预设需求数量,并根据所述候选主机的各个NUMA节点大页内存容量、所述虚拟机的大页内存需求量和所述预设需求数量对所述各个NUMA节点需求大页内存容量进行调整,以使调整后的各个NUMA节点需求大页内存容量之和等于所述虚拟机的大页内存需求量。
3.如权利要求1所述的方法,其特征在于,所述基于所述用户操作指令对应的调整规则,对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,包括:
若所述调整规则是任意规则,则对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整。
4.如权利要求1所述的方法,其特征在于,所述基于调整后的虚拟机调度请求和各个所述候选主机的内存信息,从所述候选主机中确定目标主机,包括:
基于各个所述候选主机的NUMA节点数量和NUMA节点大页内存容量,确定满足所述调整后的虚拟机调度请求的候选主机;
若满足所述调整后的虚拟机调度请求的候选主机是多个,则基于所述内存信息对各个满足所述调整后的虚拟机调度请求的候选主机的综合权重进行计算,确定所述综合权重最高的候选主机为所述目标主机。
5.如权利要求1~4任一所述的方法,其特征在于,所述内存信息包括下列中的部分或全部:
剩余普通内存、剩余磁盘内存、主机负载、所述NUMA节点数量和所述NUMA节点大页内存容量。
6.一种虚拟机的调度装置,其特征在于,该装置包括:
获取模块,用于响应用户操作指令,获取虚拟机调度请求,其中,所述虚拟机调度请求包括虚拟机的NUMA节点需求数量和所述虚拟机的各个NUMA节点需求大页内存容量;
调整模块,用于若各个候选主机中没有满足所述NUMA节点需求数量和所述各个NUMA节点需求大页内存容量的候选主机,则基于所述用户操作指令对应的调整规则,对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整,以使调整后的NUMA节点需求数量小于等于所述候选主机的NUMA节点数量,调整后的各个NUMA节点需求大页内存容量之和等于所述虚拟机的大页内存需求量;
调度模块,用于基于调整后的虚拟机调度请求和各个所述候选主机的内存信息,从所述候选主机中确定目标主机,并将所述虚拟机调度至所述目标主机中运行。
7.如权利要求6所述的装置,其特征在于,所述调整模块具体用于:
若所述调整规则是任意规则,则对所述虚拟机的NUMA节点需求数量和各个NUMA节点需求大页内存容量进行调整。
8.如权利要求6所述的装置,其特征在于,所述调整模块具体用于:
基于各个所述候选主机的NUMA节点数量和NUMA节点大页内存容量,确定满足所述调整后的虚拟机调度请求的候选主机;
若满足所述调整后的虚拟机调度请求的候选主机是多个,则基于所述内存信息对各个满足所述调整后的虚拟机调度请求的候选主机的综合权重进行计算,确定所述综合权重最高的候选主机为所述目标主机。
9.一种计算机设备,其特征在于,该设备包括处理器和用于存储所述处理器可执行指令的存储器,其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的虚拟机的调度方法。
10.一种计算机存储介质,其特征在于,当所述计算机存储介质中的指令由处理器执行时,使得能够执行如权利要求1至5中任一项所述的虚拟机的调度方法。
CN202210903230.3A 2022-07-29 2022-07-29 一种虚拟机的调度方法、装置及设备 Pending CN115269118A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210903230.3A CN115269118A (zh) 2022-07-29 2022-07-29 一种虚拟机的调度方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210903230.3A CN115269118A (zh) 2022-07-29 2022-07-29 一种虚拟机的调度方法、装置及设备

Publications (1)

Publication Number Publication Date
CN115269118A true CN115269118A (zh) 2022-11-01

Family

ID=83769987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210903230.3A Pending CN115269118A (zh) 2022-07-29 2022-07-29 一种虚拟机的调度方法、装置及设备

Country Status (1)

Country Link
CN (1) CN115269118A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794305A (zh) * 2023-01-09 2023-03-14 苏州浪潮智能科技有限公司 虚拟机内存的调整方法和装置、存储介质及电子装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794305A (zh) * 2023-01-09 2023-03-14 苏州浪潮智能科技有限公司 虚拟机内存的调整方法和装置、存储介质及电子装置

Similar Documents

Publication Publication Date Title
WO2015157068A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
CN110413412B (zh) 一种基于gpu集群资源分配的方法和装置
US10884667B2 (en) Storage controller and IO request processing method
CN104461673B (zh) 一种虚拟机迁移判定方法及装置
US20230305880A1 (en) Cluster distributed resource scheduling method, apparatus and device, and storage medium
US20170357537A1 (en) Virtual machine dispatching method, apparatus, and system
CN115237580B (zh) 面向智能计算的流水并行训练自适应调整系统、方法
US20120054762A1 (en) Scheduling apparatus and method for a multicore device
JP2022539955A (ja) タスクスケジューリング方法及び装置
WO2016202154A1 (zh) 一种gpu资源的分配方法及系统
CN114386560A (zh) 数据处理方法和设备
CN115269118A (zh) 一种虚拟机的调度方法、装置及设备
CN110493317B (zh) 处理云平台资源碎片的方法及相关设备
CN116382880A (zh) 任务执行方法、装置、处理器、电子设备及存储介质
US9740530B2 (en) Decreasing the priority of a user based on an allocation ratio
CN112805683A (zh) 使用流借用的流分配
CN111338803B (zh) 一种线程处理方法和装置
CN107423114B (zh) 一种基于服务分类的虚拟机动态迁移方法
CN112817722A (zh) 一种基于优先级的分时调度方法、终端及存储介质
US20170351525A1 (en) Method and Apparatus for Allocating Hardware Acceleration Instruction to Memory Controller
CN111143063A (zh) 任务的资源预约方法及装置
CN116302327A (zh) 资源调度方法及相关设备
CN112286623A (zh) 一种信息处理方法及装置、存储介质
CN112805684A (zh) 使用恢复借用的资源分配
CN114116187B (zh) 容器资源动态扩容方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination