CN108595249A - 一种虚拟机任务调度方法及电子设备 - Google Patents

一种虚拟机任务调度方法及电子设备 Download PDF

Info

Publication number
CN108595249A
CN108595249A CN201810409299.4A CN201810409299A CN108595249A CN 108595249 A CN108595249 A CN 108595249A CN 201810409299 A CN201810409299 A CN 201810409299A CN 108595249 A CN108595249 A CN 108595249A
Authority
CN
China
Prior art keywords
task
virtual machine
priority
vcpu
domain
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
CN201810409299.4A
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201810409299.4A priority Critical patent/CN108595249A/zh
Publication of CN108595249A publication Critical patent/CN108595249A/zh
Pending legal-status Critical Current

Links

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种虚拟机任务调度方法,应用于运行有虚拟机的主机,所述方法包括:获得任务调度请求;响应于所述任务调度请求,获取所述虚拟机的所有虚拟处理器VCPU所对应的任务优先级域,所述任务优先级域中记录所述VCPU所运行的虚拟机任务的优先级;基于所述任务优先级域,确定优先级最高的目标虚拟机任务;调度所述目标虚拟机任务到物理处理器CPU中运行。由此,在主机无法感知虚拟机内部各VCPU所运行的进程任务的优先级时,本申请中可以通过读取各VCPU中的任务优先级域来获得任务优先级来实现高优先级任务的优先响应,从而改善虚拟机内部高低优先级任务的相应延迟情况,满足电信级虚拟机的实时性需求。

Description

一种虚拟机任务调度方法及电子设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种虚拟机任务调度方法及电子设备。
背景技术
虚拟机实时性是电信级云解决方案NFV的关键技术指标,这种实时性不仅体现在虚拟机VM(Virtual Machine)的虚拟处理器VCPU(Virtual Central Processing Unit)的及时调度上,更体现在对虚拟机内各VCPU所运行的进程任务按其优先级调度的实时响应上。
目前,电信级虚拟机的VCPU所运行的进程任务均是通过现有的主机HOST内核调度器进行调度运行的,但是现有的HOST内核调度器无法感知虚拟机内部各VCPU所运行的进程任务的优先级。
在这种情况下,就可能会调度到低优先级的进程任务到物理机的处理器CPU(Central Processing Unit)运行,而高优先级的进程任务反而没有得到调度,从而导致虚拟机内部高低优先级任务响应被延迟,无法满足电信级虚拟机的实时性需求。
发明内容
有鉴于此,本发明提供一种虚拟机任务调度方法及电子设备,用以解决现有技术中虚拟机内部高低优先级任务响应延迟,无法满足电信级虚拟机的实时性需求的技术问题。
本发明提供了一种虚拟机任务调度方法,应用于运行有虚拟机的主机,所述方法包括:
获得任务调度请求;
响应于所述任务调度请求,获取所述虚拟机的所有虚拟处理器VCPU所对应的任务优先级域,所述任务优先级域中记录所述VCPU所运行的虚拟机任务的优先级;
基于所述任务优先级域,确定优先级最高的目标虚拟机任务;
调度所述目标虚拟机任务到物理处理器CPU中运行。
上述方法,优选地,在获取所述虚拟机的任务优先级域之前,所述方法还包括:
响应于所述任务调度请求,确定所述主机上优先级最高的目标任务;
判断所述目标任务属于主机任务还是虚拟机任务;
如果所述目标任务为主机任务,调度所述目标任务到所述物理CPU运行;
如果所述目标任务为虚拟机任务,执行所述获取所述虚拟机的所有VCPU所对应的任务优先级域,以调度所述虚拟机中优先级最高的目标虚拟机任务到所述物理CPU运行。
上述方法,优选地,判断所述目标任务属于主机任务还是虚拟机任务,包括:
读取所述目标任务在预设的任务类型域中的内容;
基于读取到的内容,判断所述目标任务为主机任务还是虚拟机任务。
上述方法,优选地,基于读取到的内容,判断所述目标任务为主机任务还是虚拟机任务,包括:
如果读取到的内容为空,确定所述目标任务为主机任务,否则,确定所述目标任务为虚拟机任务。
上述方法,优选地,获取所述虚拟机的所有VCPU所对应的任务优先级域,包括:
根据所述目标任务在预设的节点指向域中的内容,获取所述虚拟机的所有VCPU所对应的任务优先级域,其中,所述节点指向域中包含指向所述目标任务所在的VCPU相邻的VCPU的信息。
上述方法,优选地,基于所述任务优先级域,确定优先级最高的目标虚拟机任务,包括:
根据所述任务优先级域中的内容,确定优先级最高的任务所在的目标VCPU;
确定所述目标VCPU上所运行的虚拟机任务为目标虚拟机任务。
本申请还提供了一种虚拟机任务调度方法,应用于主机上运行的虚拟机,所述虚拟机中包括至少一个虚拟处理器VCPU,所述方法包括:
获取所述VCPU上所运行的虚拟机任务的优先级;
将所述虚拟机任务的优先级写入所述VCPU所对应的任务优先级域中,以提供给所述主机按照任务优先级的高低来调度虚拟机任务。
本申请还提供了一种电子设备,所述电子设备中运行有虚拟机,所述虚拟机中包括至少一个VCPU,所述电子设备包括:
控制器和处理器;
其中,所述控制器,用于获得任务调度请求,响应于所述任务调度请求,获取所述虚拟机的所有VCPU所对应的任务优先级域,所述任务优先级域中记录所述VCPU所运行的虚拟机任务的优先级,基于所述任务优先级域,确定优先级最高的目标虚拟机任务,调度所述目标虚拟机任务到所述处理器运行。
从上述技术方案可以看出,本申请公开的一种虚拟机任务调度方法及电子设备,通过在主机中设置能够表征虚拟机的各VCPU中所运行任务优先级的域,从而在接收到任务调度请求时,从虚拟机中各VCPU所对应的任务优先级域中来确定优先级最高的目标虚拟机任务,进而调度目标虚拟机任务到物理CPU中运行,实现高优先级的任务优先响应。由此,基于本申请中的实现方案,在主机无法感知虚拟机内部各VCPU所运行的进程任务的优先级时,本申请中可以通过读取各VCPU所对应的任务优先级域来获得任务优先级来实现高优先级任务的优先响应,从而改善虚拟机内部高低优先级任务的相应延迟情况,满足电信级虚拟机的实时性需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种虚拟机任务调度方法的流程图;
图2及图3分别为本申请实施例的应用示例图;
图4为本申请实施例二提供的一种虚拟机任务调度方法的流程图;
图5为本申请实施例三提供的一种虚拟机任务调度方法的流程图;
图6及图7分别为本申请实施例的另一应用示例图;
图8为本申请实施例四提供的一种电子设备的结构示意图;
图9、图10、图11及图12分别为本申请实施例的其他应用示例图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本申请实施例一公开的一种虚拟机任务调度方法的实现流程图,适用于主机上运行的虚拟机,如图2中所示,一台物理机上部署有主机,在主机上运行有至少一个虚拟机,每个虚拟机上部署有至少一个VCPU,每个VCPU运行一个虚拟机任务。
在本实施例中,该方法可以包括以下步骤:
步骤101:获取VCPU上所运行的虚拟机任务的优先级。
其中,本实施例中可以从虚拟机任务的任务属性中读取到虚拟机任务的优先级,等等。
步骤102:将虚拟机任务的优先级写入VCPU所对应的任务优先级域中,以提供给主机按照任务优先级的高低来调度虚拟机任务。
也就是说,VCPU在主机中对应的区域有预先设置的任务优先级域,如在主机中VCPU所对应的虚拟机控制结构VMCS(Virtual-Machine Control Structure)域中扩展出一个vpri域,作为任务优先级域,如图3中所示,用来存储该VCPU所运行的虚拟机任务的优先级,虚拟机在获取到VCPU上所运行的虚拟机任务的优先级后,将优先级写入到VCPU在主机中所对应的任务优先级域中。由此,主机在进行虚拟机任务调度时,可以根据各VCPU所对应的任务优先级域中虚拟机任务的优先级来选择相应的虚拟机任务调度到物理处理器中运行。
由上述方案可知,本申请实施例一公开的一种虚拟机任务调度方法,通过在主机中设置能够表征虚拟机的各VCPU所运行任务优先级的域,从而在接收到任务调度请求时,从虚拟机中各VCPU所对应的任务优先级域中来确定优先级最高的目标虚拟机任务,进而调度目标虚拟机任务到物理CPU中运行,实现高优先级的任务优先响应。由此,基于本申请中的实现方案,在主机无法感知虚拟机内部各VCPU所运行的进程任务的优先级时,本申请中可以通过读取各VCPU所对应的的任务优先级域来获得任务优先级来实现高优先级任务的优先响应,从而改善虚拟机内部高低优先级任务的相应延迟情况,满足电信级虚拟机的实时性需求。
参考图4,为本申请实施例二提供的一种虚拟机任务调度方法的实现流程图,适用于图2中所示的主机中,主机中运行有至少一个虚拟机,该虚拟机上部署有至少一个VCPU,每个VCPU上运行有一个虚拟机任务,其中,在每个VCPU中预先设置有任务优先级域,由虚拟机将VCPU所运行的虚拟机任务的优先级写入到该VCPU的任务优先级域中。
在本实施例中,该方法可以包括以下步骤:
步骤401:获得任务调度请求。
其中,该任务调度请求可以在物理机需要进行虚拟机任务调度时生成,该任务调度请求中可以包含调度需求,如优先调度优先级高的虚拟机任务。
步骤402:响应于任务调度请求,获取虚拟机的所有VCPU所对应的任务优先级域。
例如,本实施例中响应于任务调度请求,在主机中读取各虚拟机的各VCPU所对应的任务优先级域,该任务优先级域中记录其所在的VCPU所运行的虚拟机任务的优先级。
步骤403:基于任务优先级域,确定优先级最高的目标虚拟机任务。
其中,本实施例中可以通过对比任务优先级域中的数值,来确定哪个VCPU所运行的虚拟机任务的优先级最高,从而确定目标虚拟机任务。
步骤404:调度目标虚拟机任务到物理处理器中运行。
例如,本实施例中在确定目标虚拟机任务之后,加载确定的目标虚拟机任务到物理处理器,并运行物理处理器上的目标虚拟机任务。
由上述方案可知,本申请实施例二公开的一种虚拟机任务调度方法,通过在主机中设置能够表征虚拟机的各VCPU中所运行任务优先级的域,从而在接收到任务调度请求时,从虚拟机中各VCPU所对应的任务优先级域中来确定优先级最高的目标虚拟机任务,进而调度目标虚拟机任务到物理CPU中运行,实现高优先级的任务优先响应。由此,基于本实施例中的实现方案,在主机无法感知虚拟机内部各VCPU所运行的进程任务的优先级时,本申请中可以通过读取各VCPU所对应的任务优先级域来获得任务优先级来实现高优先级任务的优先响应,从而改善虚拟机内部高低优先级任务的相应延迟情况,满足电信级虚拟机的实时性需求。
参考图5,为本申请实施例三提供的一种虚拟机任务调度方法的实现流程图,适用于图2所示的主机中,主机中运行有至少一个虚拟机,该虚拟机上部署有至少一个VCPU,每个VCPU上运行有一个虚拟机任务,其中,在每个VCPU中预先设置有任务优先级域,由虚拟机将VCPU所运行的虚拟机任务的优先级写入到该VCPU的任务优先级域中。
在本实施例中,该方法可以包括以下步骤:
步骤501:获得任务调度请求。
其中,该任务调度请求可以在物理机(主机)需要进行虚拟机任务调度时生成,该任务调度请求中可以包含调度需求,如优先调度优先级高的虚拟机任务。
步骤502:响应于任务调度请求,确定主机上优先级最高的目标任务。
其中,由于物理机上所部署的主机特性,主机内核调度器可以在物理机层面的所有任务(包含主机任务和虚拟机任务)确定出最高优先级的目标任务,只是主机内核调度器并不能识别该最高优先级的目标任务是虚拟机任务还是主机任务。
在一种实现方式中,主机为了标识其任务的属性,可以在主机中VCPU所对应的vmcs中的任务进程结构体task_struct中进行扩展,设置vmcs_ptr域,即任务类型域,如图6中所示,来指向虚拟机的VCPU所对应的任务优先级域,因此,如果该任务类型域中为空null,则说明当前任务为主机任务,不是虚拟机任务。
步骤503:判断目标任务属于主机任务还是虚拟机任务,如果是主机任务,执行步骤504,如果是虚拟机任务,执行步骤505。
其中,本实施例在判断目标任务属于主机任务还是虚拟机任务时,可以通过读取在主机中预设的任务类型域来实现,例如,读取目标任务在其任务类型域中的内容,再基于读取到的内容,判断目标任务为主机任务还是虚拟机任务。如果读取到的内容为空,那么确定目标任务为主机任务,如果读取到的内容不为空,则说明目标任务为虚拟机任务,即为虚拟机任务的优先级高于主机任务。
步骤504:调度目标任务到物理处理器运行。
例如,本实施例中在确定目标任务主机任务之后,加载确定目标任务到物理处理器,并运行物理处理器上的目标任务。
步骤505:获取虚拟机的所有VCPU所对应的任务优先级域。
例如,本实施例中从主机中读取各虚拟机的各VCPU所对应的任务优先级域,该任务优先级域中记录其所在的VCPU所运行的虚拟机任务的优先级。
步骤506:基于任务优先级域,确定优先级最高的目标虚拟机任务。
其中,本实施例中可以通过对比任务优先级域中的数值,来确定哪个VCPU所运行的虚拟机任务的优先级最高,从而确定目标虚拟机任务。
步骤507:调度目标虚拟机任务到物理处理器中运行。
例如,本实施例中在确定目标虚拟机任务之后,加载确定的目标虚拟机任务到物理处理器,并运行物理处理器上的目标虚拟机任务。
由上述方案可知,本申请实施例三公开的一种虚拟机任务调度方法,通过首先确定物理机层面最高优先级的目标任务,再根据目标任务的所属位置来采用相应的任务调度方案,如最高优先级的任务为主机任务时,直接调度最高优先级的主机任务到物理处理器运行,而最高优先级的任务为虚拟机任务时,通过读取各VCPU所对应的任务优先级域来获得任务优先级来实现高优先级任务的优先响应,从而改善虚拟机内部高低优先级任务的相应延迟情况,满足电信级虚拟机的实时性需求。
在一种实现方式中,图4中的步骤505可以通过以下方式实现:
首先,获得目标任务在预设的节点指向域中的内容,其中,节点指向域是预先主机的任务进程结构体task_struct中扩展的域,该节点指向域中包含指向目标任务所在的VCPU相连的VCPU的信息,在之后,再获取虚拟机所有VCPU所对应的任务优先级域。
也就是说,如图7中所示,本实施例中在主机中VCPU所对应的vmcs中(task_struct中)扩展出任务类型域和节点指向域,任务类型域中的内容指向虚拟机中VCPU所对应的vmcs中的任务优先级域vpri,任务类型域是否为空决定了当前任务是否为虚拟机任务,而节点指向域则将虚拟机中的各VCPU挂载在一个链表上,当主机选中其中某一个VCPU时,就可以遍历该节点指向域所形成的链表,从而找到相应的VCPU。
由此,本实施例中在根据目标任务在主机的任务类型域中的内容来确定目标任务为虚拟机任务时,利用目标任务在主机的节点指向域中所对应的内容就可以遍历虚拟机中的所有VCPU,从而获取到所有VCPU所对应的任务优先级域,进而找到优先级最高的任务所在的VCPU,并将该VCPU上所运行的虚拟机任务加载到物理处理器上进行运行。
参考图8,为本申请实施例四提供的一种电子设备结构示意图,该电子设备作为物理机其上可以部署有主机,主机上运行有至少一个虚拟机,该虚拟机上部署有至少一个VCPU,每个VCPU上运行有一个虚拟机任务,其中,在每个VCPU中预先设置有任务优先级域,由虚拟机将VCPU所运行的虚拟机任务的优先级写入到该VCPU的任务优先级域中。
在本实施例中,电子设备可以包括有控制器801和处理器802,其中:
控制器801,用于获得任务调度请求,响应于所述任务调度请求,获取所述虚拟机的所有VCPU所对应的任务优先级域,所述任务优先级域中记录所述VCPU所运行的虚拟机任务的优先级,基于所述任务优先级域,确定优先级最高的目标虚拟机任务,调度所述目标虚拟机任务到处理器802运行。
具体的,控制器801在获得任务调度请求之后,首先确定主机上优先级最高的目标任务(主机只能识别物理机层面的任务优先级),如果目标任务为主机任务,则直接调度目标任务到处理器802运行,如果目标任务为虚拟机任务,那么通过获取虚拟机的所有VCPU所对应的任务优先级域来确定优先级最高的目标虚拟机任务,进而调度目标虚拟机任务到处理器802运行。
以下对本实施例的具体实现进行举例说明:
如图9中所示,在电子设备中部署有主机HOST和虚拟机VM,VM中有两个虚拟机任务task0和task1,优先级pri分别为1(高优先级)和99(低优先级),两个虚拟机任务分别运行在VCPU0和VCPU1上。
其中,在HOST中VCPU所对应的vmcs域中扩展有vpri域(任务优先级域),用以记录当前VCPU所运行的虚拟机任务的优先级;在HOST中VCPU对应的vmcs中的task_struct域中扩展有vmcs_ptr域和node域,其中,vmcs_ptr域用(任务类型域)以指向VCPU所对应的vmcs域,记录vmcs域地址,如果vmcs_ptr域为空,则说明对应的任务为HOST自己的进程任务,如果vmcs_ptr域部位空,则说明对应的任务是一个VCPU线程,即虚拟机任务,node域(节点指向域)将所有本虚拟机内的VCPU线程挂载到一个链表tasklist中,当HOST内核调度器(运行在主机中)选中其中某个VCPU时,就可以遍历链表vcpulist,从而找到虚拟机内运行着最高优先级任务的VCPU。
如图10及图11中所示,虚拟机内核调度器(虚拟机)与电子设备中的物理机内核调度器(控制器801)调度最高优先级的任务到物理CPU(处理器802):
1、虚拟机内核调度器(VM调度器)选择虚拟机内部任务运行到VCPU上;
2、虚拟机内核调度器将选择到的虚拟机内部任务的优先级同步到VCPU对应的vmcs的vpri域上;
3、物理机内核调度器(HOST调度器)从物理机所有的任务中选择一个物理机层面最高优先级的任务;
4、如果该任务的task_struct结构的vmcs_ptr域为空,说明是物理机系统任务,跳转到下述步骤6,否则,说明是否虚拟机的VCPU任务,进入5;
5、遍历该VCPU任务所对应的VCPU链表,读取每个VCPU的vmcs的vpri域的值,选择出一个vpri域记录优先级最高的VCPU任务,作为最终被选择调度运行的任务;
6、加载被选择的任务到物理CPU,并运行该任务。
由以上方案可知,通过在VCPU的vmcs中扩展出vpri域来记录VCPU的虚拟机任务优先级,从而使得HOST内核调度器能够感知到虚拟机内部任务的优先级,如图12中使用以上方案后的效果变化所示,确保调度到运行着高优先级任务的VCPU任务运行,使得虚拟机内高优先级任务得到及时响应,满足电信级虚拟机实时需求。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种虚拟机任务调度方法,应用于运行有虚拟机的主机,所述方法包括:
获得任务调度请求;
响应于所述任务调度请求,获取所述虚拟机的所有虚拟处理器VCPU所对应的任务优先级域,所述任务优先级域中记录所述VCPU所运行的虚拟机任务的优先级;
基于所述任务优先级域,确定优先级最高的目标虚拟机任务;
调度所述目标虚拟机任务到物理处理器CPU中运行。
2.根据权利要求1所述的方法,其特征在于,在获取所述虚拟机的任务优先级域之前,所述方法还包括:
响应于所述任务调度请求,确定所述主机上优先级最高的目标任务;
判断所述目标任务属于主机任务还是虚拟机任务;
如果所述目标任务为主机任务,调度所述目标任务到所述物理CPU运行;
如果所述目标任务为虚拟机任务,执行所述获取所述虚拟机的所有VCPU所对应的任务优先级域,以调度所述虚拟机中优先级最高的目标虚拟机任务到所述物理CPU运行。
3.根据权利要求2所述的方法,其特征在于,判断所述目标任务属于主机任务还是虚拟机任务,包括:
读取所述目标任务在预设的任务类型域中的内容;
基于读取到的内容,判断所述目标任务为主机任务还是虚拟机任务。
4.根据权利要求3所述的方法,其特征在于,基于读取到的内容,判断所述目标任务为主机任务还是虚拟机任务,包括:
如果读取到的内容为空,确定所述目标任务为主机任务,否则,确定所述目标任务为虚拟机任务。
5.根据权利要求2所述的方法,其特征在于,获取所述虚拟机的所有VCPU所对应的任务优先级域,包括:
根据所述目标任务在预设的节点指向域中的内容,获取所述虚拟机的所有VCPU所对应的任务优先级域,其中,所述节点指向域中包含指向所述目标任务所在的VCPU相邻的VCPU的信息。
6.根据权利要求1或2所述的方法,其特征在于,基于所述任务优先级域,确定优先级最高的目标虚拟机任务,包括:
根据所述任务优先级域中的内容,确定优先级最高的任务所在的目标VCPU;
确定所述目标VCPU上所运行的虚拟机任务为目标虚拟机任务。
7.一种虚拟机任务调度方法,应用于主机上运行的虚拟机,所述虚拟机中包括至少一个虚拟处理器VCPU,所述方法包括:
获取所述VCPU上所运行的虚拟机任务的优先级;
将所述虚拟机任务的优先级写入所述VCPU所对应的任务优先级域中,以提供给所述主机按照任务优先级的高低来调度虚拟机任务。
8.一种电子设备,所述电子设备中运行有虚拟机,所述虚拟机中包括至少一个VCPU,所述电子设备包括:
控制器和处理器;
其中,所述控制器,用于获得任务调度请求,响应于所述任务调度请求,获取所述虚拟机的所有VCPU所对应的任务优先级域,所述任务优先级域中记录所述VCPU所运行的虚拟机任务的优先级,基于所述任务优先级域,确定优先级最高的目标虚拟机任务,调度所述目标虚拟机任务到所述处理器运行。
CN201810409299.4A 2018-05-02 2018-05-02 一种虚拟机任务调度方法及电子设备 Pending CN108595249A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810409299.4A CN108595249A (zh) 2018-05-02 2018-05-02 一种虚拟机任务调度方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810409299.4A CN108595249A (zh) 2018-05-02 2018-05-02 一种虚拟机任务调度方法及电子设备

Publications (1)

Publication Number Publication Date
CN108595249A true CN108595249A (zh) 2018-09-28

Family

ID=63620445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810409299.4A Pending CN108595249A (zh) 2018-05-02 2018-05-02 一种虚拟机任务调度方法及电子设备

Country Status (1)

Country Link
CN (1) CN108595249A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022068697A1 (zh) * 2020-09-29 2022-04-07 华为技术有限公司 任务调度方法及装置
CN116893893A (zh) * 2023-09-08 2023-10-17 北京翼辉信息技术有限公司 一种虚拟机调度方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110119422A1 (en) * 2009-11-16 2011-05-19 Virtuallogix Sa Scheduling system
CN102193853A (zh) * 2010-03-12 2011-09-21 三星电子株式会社 虚拟机监控器及其调度方法
CN103677990A (zh) * 2013-12-13 2014-03-26 清华大学 虚拟机实时任务的调度方法、装置和虚拟机
WO2016078178A1 (zh) * 2014-11-23 2016-05-26 华中科技大学 一种虚拟cpu调度方法
CN106775948A (zh) * 2016-12-23 2017-05-31 安徽师范大学 一种基于优先级的云任务调度方法及装置
WO2017167025A1 (zh) * 2016-03-28 2017-10-05 中兴通讯股份有限公司 一种实现任务调度的方法、装置及计算机存储介质
CN107391243A (zh) * 2017-06-30 2017-11-24 广东神马搜索科技有限公司 线程任务处理设备、装置及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110119422A1 (en) * 2009-11-16 2011-05-19 Virtuallogix Sa Scheduling system
CN102193853A (zh) * 2010-03-12 2011-09-21 三星电子株式会社 虚拟机监控器及其调度方法
CN103677990A (zh) * 2013-12-13 2014-03-26 清华大学 虚拟机实时任务的调度方法、装置和虚拟机
WO2016078178A1 (zh) * 2014-11-23 2016-05-26 华中科技大学 一种虚拟cpu调度方法
WO2017167025A1 (zh) * 2016-03-28 2017-10-05 中兴通讯股份有限公司 一种实现任务调度的方法、装置及计算机存储介质
CN106775948A (zh) * 2016-12-23 2017-05-31 安徽师范大学 一种基于优先级的云任务调度方法及装置
CN107391243A (zh) * 2017-06-30 2017-11-24 广东神马搜索科技有限公司 线程任务处理设备、装置及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022068697A1 (zh) * 2020-09-29 2022-04-07 华为技术有限公司 任务调度方法及装置
CN116893893A (zh) * 2023-09-08 2023-10-17 北京翼辉信息技术有限公司 一种虚拟机调度方法、装置、电子设备及存储介质
CN116893893B (zh) * 2023-09-08 2024-03-22 北京翼辉信息技术有限公司 一种虚拟机调度方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US9430388B2 (en) Scheduler, multi-core processor system, and scheduling method
CN109144710A (zh) 资源调度方法、装置及计算机可读存储介质
US7971205B2 (en) Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status
JP2010532034A (ja) 仮想マシンのメモリを管理するためのシステム、方法、及びコンピュータ・プログラム
JP2007512632A (ja) アクティビティ情報を用いての仮想マシンの管理
KR101356033B1 (ko) 하이브리드 주메모리 시스템 및 이를 위한 태스크 스케줄링 방법
US9086911B2 (en) Multiprocessing transaction recovery manager
CN104008013A (zh) 一种核资源分配方法、装置及众核系统
CN109992366B (zh) 任务调度方法及调度装置
US11366689B2 (en) Hardware for supporting OS driven observation and anticipation based on more granular, variable sized observation units
WO2021180092A1 (zh) 任务调度方法和装置
CN106155794B (zh) 一种应用于多线程系统中的事件分配方法及装置
CN108595249A (zh) 一种虚拟机任务调度方法及电子设备
CN107977275B (zh) 基于消息队列的任务处理方法及相关设备
US20090320022A1 (en) File System Object Node Management
US8443369B1 (en) Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy
CN111953503B (zh) Nfv资源部署编排方法和网络功能虚拟化编排器
CN110019083A (zh) 分布式文件系统的存储方法、装置、电子设备及存储介质
CN114327881A (zh) 任务调度方法及装置
CN114116197A (zh) 可编程逻辑器件及其内存管理系统
EP3702911B1 (en) Hardware for supporting os driven load anticipation based on variable sized load units
CN108228332B (zh) 对象池访问方法及装置
CN113760499A (zh) 调度计算单元的方法、装置、计算设备及介质
CN116578416A (zh) 一种基于gpu虚拟化的信号级仿真加速方法
JP5776813B2 (ja) マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法および制御プログラム

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