CN107624181B - 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备 - Google Patents

包括虚拟处理器的闲置和调度的虚拟机管理方法和装备 Download PDF

Info

Publication number
CN107624181B
CN107624181B CN201680028627.5A CN201680028627A CN107624181B CN 107624181 B CN107624181 B CN 107624181B CN 201680028627 A CN201680028627 A CN 201680028627A CN 107624181 B CN107624181 B CN 107624181B
Authority
CN
China
Prior art keywords
virtual
processor
logical processor
processors
logical
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.)
Active
Application number
CN201680028627.5A
Other languages
English (en)
Other versions
CN107624181A (zh
Inventor
V·丹拉杰
A·R·卡虎
G·肯纳
R·J·芬格
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN107624181A publication Critical patent/CN107624181A/zh
Application granted granted Critical
Publication of CN107624181B publication Critical patent/CN107624181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

与管理虚拟机的操作相关联的装备、方法和存储介质包括本文所描述的逻辑处理器上的虚拟处理器的动态闲置和调度。在各实施例中,装备可包括:具有一个或多个物理处理器的物理计算平台,用于管理多个虚拟机的操作的虚拟机管理器,每一虚拟机具有一个优先级水平并具有在所述一个或多个物理处理器的逻辑处理器实例上操作的一个或多个虚拟处理器,其中所述虚拟机管理器跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动,并且至少鉴于在所述共享逻辑处理器实例上操作的虚拟处理器的活动以及与所述一个或多个虚拟处理器相关联的虚拟机的优先级来选择性地闲置和调度一个或多个虚拟处理器。

Description

包括虚拟处理器的闲置和调度的虚拟机管理方法和装备
相关申请
本申请要求2015年6月17日提交的题为“VIRTUAL MACHINE MANAGEMENT METHODAND APPARATUS INCLUDING IDLING AND SCHEDULING OF VIRTUAL PROCESSORS(包括虚拟处理器的闲置和调度的虚拟机管理方法和装备)”的美国专利申请14/741,782的优先权。
技术领域
本公开涉及计算领域。更具体地,本公开涉及一种用于包括闲置和调度虚拟处理器的虚拟机管理方法和装备。
背景
本文中所提供的背景描述用于总地呈现本公开的上下文的目的。除非在本文中另有指示,本部分中描述的材料不是本申请中的权利要求的现有技术,并且不因为包含在本部分中而被承认为现有技术。
操作虚拟化环境的计算机平台将有多个虚拟机在运行,每一虚拟机都有一个或多个虚拟处理器。计算机平台将在一个或多个物理处理器的一个或多个逻辑处理器上操作该虚拟化环境。当多个虚拟处理器被分配在一个逻辑处理器上运行时,可能会出现性能和延迟问题,特别是在具有不同优先级的虚拟机竞争共享的逻辑处理器的情况下。具体地,与较低优先级的虚拟机相关联的虚拟处理器可能会被剥夺逻辑处理器资源,导致其可能无法检测的较低优先级的虚拟机的性能问题。
附图简述
本公开的虚拟机管理技术的实施例可克服此限制。通过下列具体实施方式结合附图,将容易理解技术。为了便于该描述,相同的附图标记指示相同的结构元件。在附图中,通过示例而非限制地说明实施例。
图1是根据各种实施例的结合本公开的虚拟机管理技术的计算平台的框图。
图2是例示根据各种实施例的用于管理虚拟机包括闲置和调度虚拟处理器在内的操作的方法的流程图。
图3是例示根据各种实施例的用于确定是否将闲置的虚拟处理器调度到逻辑处理器上的方法的流程图。
图4是例示根据各种实施例的用于基于与闲置的虚拟处理器相关联的虚拟机的优先级来确定是否调度该闲置的虚拟处理器的方法的流程图。
图5是例示根据各种实施例的用于确定是否闲置在逻辑处理器上运行的虚拟处理器的方法的流程图。
图6是例示根据各种实施例的用于基于与闲置虚拟处理器相关联的虚拟机的优先级来确定是否闲置该虚拟处理器的方法的流程图。
图7是例示根据各种实施例的用于管理虚拟处理器的闲置和调度的方法的流程图。
图8例示根据各实施例的具有用于实施参考图2-7所述的方法的指令的存储介质。
详细描述
本文描述了与管理虚拟机操作相关联的装备、方法和存储介质。在各实施例中,装备可包括具有一个或多个物理处理器的物理计算平台,以及用于管理各虚拟机的操作的虚拟机管理器,每一虚拟机都具有一个优先级水平并具有在所述一个或多个物理处理器的逻辑处理器实例上操作的一个或多个虚拟处理器,其中所述虚拟机管理器将跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动,并且至少鉴于在共享逻辑处理器实例上操作的虚拟处理器的活动以及与所述一个或多个虚拟处理器相关联的虚拟机的优先级来选择性地闲置和调度一个或多个虚拟处理器。
在以下详细描述中,参考形成本文一部分的附图,其中相同的标记指示全文中相同的部分,并且其中通过说明示出了可以实现的实施例。应理解,可利用其它实施例并作出结构或逻辑改变而不背离本公开的范围。因此,以下详细描述不旨在作为限制,并且实施例的范围由所附权利要求及其等效方案来限定。
所附说明书公开了公开的方面。可以设计本公开的替代实施例及其等效物而不背离本公开的精神或范围。应当注意,下文公开的相同的元件由附图中相同的附图标记指示。
可以按在理解要求保护的主题中最有帮助的方式轮流将各操作描述为多个分立动作或操作。然而,不应将描述的顺序解释为意味着这些操作必然取决于顺序。具体而言,可以不按照呈现的顺序执行这些操作。可以以不同于描述的实施例的顺序执行描述的操作。在附加的实施例中,可以执行各种附加操作和/或可以省略描述的操作。
对于本公开的目的,短语“A和/或B”意思是(A)、(B)或(A和B)。对于本公开的目的,短语“A、B和/或C”意思是(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
说明书可使用短语在“一个实施例中”或“在多个实施例中”,其每一个可指代相同或不同实施例中的一个或多个。此外,相对于本公开的实施例使用的术语“包含”、“包括”、“具有”等同义。
如本文中所使用的那样,术语“模块”可以指执行提供所描述功能的一个或多个软件或固件程序、组合逻辑电路和/或其他合适的组件的专用集成电路(ASIC)、片上***(SoC)、电子电路、处理器(共享的、专用的或成组的)和/或存储器(共享的、专用的或成组的),或可以是上述各项的部分,或可包括上述各项。
除了本公开的教导之外,计算平台102可以是本领域已知的多个计算设备中的任何一个,例如片上***(SoC)、可穿戴设备、智能电话、计算平板、笔记本计算机、膝上型计算机、台式计算机、服务器、机顶盒、游戏控制台、相机等等。
现在参考图1,其中示出了根据各种实施例的结合本公开的虚拟机管理技术的计算平台的框图。如图所示,计算平台102可包括一个或多个物理处理器110,在各实施例中为第一物理处理器110a和/或第二物理处理器110b。物理处理器110a/110b可包含一个或多个可被用于执行基于计算机的指令的逻辑处理器112、114、116、118。计算平台102还可包括可包含固件模块的基本输入/输出***(BIOS)112,例如高级配置和电源接口(ACPI)模块112。在各实施例中,ACPI模块112可提供关于一个或多个逻辑处理器112、114、116、118的操作的信息或以其它方式促进一个或多个逻辑处理器112、114、116、118的操作。计算平台102可包括存储器130,存储器130可存储可表示虚拟化环境134的数据和/或一个或多个可执行模块。
虚拟化环境134可包括可由虚拟存储器管理器VMM 180管理的一个或多个虚拟机140、160、170。在图1中,虚拟机B 160和虚拟机C 170可具有与虚拟机A 140的组件相类似的组件。虚拟机A 140可包括优先级142,该优先级可包括一个虚拟机相对于另一个虚拟机的优先级的指示。在各实施例中,优先级可包括实时(如在虚拟机B 160的优先级162中示出的)或非实时(如在虚拟机A 140的优先级142中示出的)中的一者。在各实施例中,虚拟机优先级可以是数字值。
在各实施例中,虚拟机A 140还可具有可执行一个或多个应用(未示出)的一个或多个虚拟处理器144、146、148、150。调度器158可调度对应用的执行。此外,在各实施例中,调度器158可促成闲置和调度虚拟处理器144、146、148、150的操作。在各实施例中,闲置虚拟处理器可涉及使该虚拟处理器进入空闲状态以防止其执行基于计算机的指令。调度虚拟处理器可涉及使该虚拟处理器退出空闲状态,使得该虚拟处理器可开始执行基于计算机的指令。
在各实施例中,一个或多个经调度的虚拟处理器144、146、148、150可被映射到可在物理处理器110a、110b上运行的逻辑处理器112、114、116、118。在各实施例中,当一个或多个虚拟处理器144、146、148、150被闲置时,虚拟处理器可能不再被映射到逻辑处理器112、114、116、118。
虚拟机140还可具有操作***直接配置和电源管理(OSPM)模块152,其可与VMM180和/或调度器158交互以促成虚拟处理器144、146、148、150的闲置和调度。VMM 180可提供用于为一个或多个虚拟机140、160、170提供调度和/或操作支持服务的多个模块。VMM180可包括核调度控制模块182,其可促成对虚拟机活动(特别是在逻辑处理器112、114、116、118上执行的虚拟处理器144、146、148、150的活动)的监视。在各实施例中,VMM 180可访问各个逻辑处理器112、114、116、118的性能统计。
现在参考图2,其中例示了示出根据各种实施例的用于管理虚拟机包括闲置和调度虚拟处理器在内的操作的方法200的流程图。方法200可由先前描述的VMM 180执行。如图所示,方法200可在框202开始。
在框204,可管理一个或多个虚拟机的操作。一个或多个虚拟机可具有优先级并且可具有一个或多个虚拟处理器。一个或多个虚拟处理器可被映射到一个或多个物理处理器的一个或多个逻辑处理器实例。
在框206,可跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动。在各实施例中,在虚拟化环境134中运行的虚拟机140、160、170的虚拟处理器的活动可由VMM 180跟踪,这些虚拟处理器在共享逻辑处理器112、114、116、118上运行。这些活动可包括当前和历史资源利用。这些活动的测量示例可能包括(但不限于):处理器计算时间与处理器空闲时间的比率;中断率;和其他活动度量。可为共享逻辑处理器和映射到此共享逻辑处理器的一个或多个虚拟处理器两者跟踪这些活动。在各实施例中,该活动可基于计时来进行跟踪,例如至少每100毫秒一次。
在框208处,可至少鉴于在共享逻辑处理器实例上操作的虚拟处理器的活动来选择性地闲置和调度一个或多个虚拟处理器。在各实施例中,可进一步鉴于与一个或多个虚拟处理器相关联的虚拟机的优先级来选择性地闲置和调度一个或多个虚拟处理器。如前所述,虚拟机140可具有相关联的优先级142。在各实施例中,较高优先级虚拟机的虚拟处理器可以在逻辑处理器上接收超过较低优先级虚拟机的虚拟处理器的执行优先级。例如,在SoC架构中,作为虚拟机内的软件模块执行的诸如调制解调器、Wi-Fi处理等等实时通信处理可能具有实时优先级。即使VMM 180可在与实时优先级虚拟处理器相同的逻辑处理器上调度非实时虚拟机的虚拟处理器,结果可能是具有实时处理的虚拟机的虚拟处理器可能会接收大部分逻辑处理器资源,而具有非实时处理的虚拟机的虚拟处理器可能会接收小部分逻辑处理器资源。然而,取决于共享逻辑处理器和被映射到该共享逻辑处理器的虚拟处理器的活动,可存在通过闲置具有非实时处理的虚拟机的虚拟处理器一段时间来实现的进一步性能改进。这些性能改进可通过一个或多个虚拟机的更高的性能测量,和/或保持虚拟机之间的性能平衡(parity)来看到。
在框210,当虚拟机的操作结束时,方法200可返回到框204并从其继续,或者可在框212结束。
现在参考图3,其中例示了示出根据各种实施例的用于确定是否要将闲置的虚拟处理器调度到逻辑处理器上的方法的流程图300。方法300可以是图2所示的框208的示例实施例。方法300可由先前描述的VMM 180执行。如图所示,方法300可在框302开始。
在框304,可确定表示每一逻辑处理器实例的活动的相应分数。在各实施例中,表示活动的分数可被表示为标量值,或者可被表示为表示各种活动的值的矢量。在各实施例中,所确定的分数可包括评估和表示在框208捕捉的共享逻辑处理器的活动。这些活动可被VMM 180跟踪,并且可包括处理器利用、中断率、和/或其他活动度量。在各实施例中,逻辑处理器实例的分数可能不包括将被调度到逻辑处理器上的虚拟处理器的活动。
在框306,可以将经确定的分数与第一阈值进行比较。在各实施例中,第一阈值可以是标量或矢量。在各实施例中,所述第一阈值可以是可配置的。
在框308,可确定第一逻辑处理器的分数是否小于或等于第一阈值。如果分数小于或等于该第一阈值,则在框310,经闲置的虚拟处理器可以被调度到第一逻辑处理器上。在各实施例中,小于或等于第一阈值的第一逻辑处理器的分数可指示第一逻辑处理器未被充分利用,并且第一逻辑处理器的资源可用于支持经调度的虚拟处理器。如果分数大于该第一阈值,则方法300可前进到框312。
方法300可在框312结束。
现在参考图4,其中例示了示出根据各种实施例的用于基于与经闲置的虚拟处理器相关联的虚拟机的优先级来确定是否调度该经闲置的虚拟处理器的方法的流程图400。方法可以是图3的框310的示例实施例。方法400可由VMM 180执行。如图所示,方法400可在框402开始。
在框404,可标识经闲置的虚拟处理器。在各实施例中,这可通过由VMM 180存储或可由VMM 180以其他方式获得的数据来实现。
在框406,可确定与所标识的经闲置的虚拟处理器相关联的虚拟机的优先级。在各实施例中,优先级可以是实时或非实时中的一个。
在框408,可确定与经闲置的虚拟处理器相关联的虚拟机的优先级是否低于或等于与在第一逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级。如果与经调度的虚拟处理器相关联的虚拟机的优先级低于或等于与在第一逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级,则在框410,经闲置的虚拟处理器可被调度到第一逻辑处理器上。在各实施例中,调度含有具有低于或等于在逻辑处理器上运行的任何其他虚拟处理器的虚拟机的优先级的相关联虚拟机的虚拟处理器可被用于调度具有非实时优先级的虚拟处理器以在逻辑处理器上执行。这可能是较低的逻辑处理器利用的结果,因为在逻辑处理器上运行的实时虚拟处理器的活动已经减少。因此,非实时虚拟处理器被调度到逻辑处理器上并开始运行,使得非实时虚拟机的性能可能增加,并且虚拟机性能平衡可被维持。
否则,如果与经闲置的虚拟处理器相关联的虚拟机的优先级大于与在第一逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级,则方法400可前进到框412。
方法400可在框412结束。
现在参考图5,其中例示了示出根据各种实施例的用于确定是否闲置在逻辑处理器上运行的虚拟处理器的方法的流程图500。方法500可以是图2所示的框208的示例实施例。方法500可由VMM 180执行。如图所示,方法500可在框502开始。
在框504,可确定表示每一逻辑处理器实例的活动的相应分数。在各实施例中,经确定的分数可以是标量或矢量。在各实施例中,逻辑处理器实例的分数可能不包括将被闲置的虚拟处理器的活动。
在框506,可以将经确定的分数与第二阈值进行比较。在各实施例中,该第二阈值可以是标量或矢量。
在框508,可确定第二逻辑处理器的分数是否大于该第二阈值。如果该分数大于第二阈值,则在框510,可闲置在第二逻辑处理器上运行的第二虚拟处理器。在各实施例中,大于第二阈值的第二逻辑处理器的分数可指示该第二逻辑处理器是资源受限的,并且可闲置在该第二逻辑处理器上运行的虚拟处理器以给予在该第二逻辑处理器上运行的其他更高优先级的虚拟处理器附加的资源。
如果该分数小于或等于第二阈值,则方法500可前进到框512。
方法500可在框512结束。
现在参考图6,其中例示了示出根据各种实施例的用于基于与虚拟处理器相关联的虚拟机的优先级来确定是否闲置该虚拟处理器的方法的流程图600。方法可以是图5的框510的示例实施例。方法600可由VMM 180执行。如图所示,方法600可在框602开始。
在框604,可确定与所述第二虚拟处理器相关联的虚拟机的优先级。在各实施例中,该优先级可以是实时或非实时中的一个。
在框606,可确定与第二虚拟处理器相关联的虚拟机的优先级是否低于或等于与在第二逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级。如果与第二虚拟处理器相关联的虚拟机的优先级低于或等于与在第二逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级,则在框608,可闲置在第二逻辑处理器上运行的第二虚拟处理器。
在各实施例中,停放含有具有低于或等于在逻辑处理器上运行的任何其他虚拟处理器的虚拟机的优先级的关联虚拟机的虚拟处理器可被用于停放具有非实时优先级的虚拟处理器以供在逻辑处理器上执行。这可能是因为逻辑处理器的利用已被增加,使得在逻辑处理器上执行的实时虚拟处理器的性能可能实质地损害非实时虚拟处理器的性能。闲置非实时虚拟处理器使得与经闲置的虚拟处理器相关联的虚拟机将知道在一个或多个逻辑处理器上可能存在资源限制。
否则,如果与第二虚拟处理器相关联的虚拟机的优先级大于与在第二逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级,则方法400可继续到框610。
方法600可在框610结束。
现在参考图7,其中例示了示出根据各种实施例的用于管理虚拟处理器的闲置和调度的方法的流程图700。方法700可由VMM 180执行。如图所示,方法700可在框702开始。
在框704,在虚拟化环境中运行的虚拟机的虚拟处理器的活动可被标识。在各实施例中,此操作可由在VMM 180内运行的核调度控制模块182执行。在各实施例中,核调度控制模块182可与OSPM模块152交互以发起对虚拟处理器的闲置。在各实施例中,核调度控制模块182可与VMM 180内的其他数据和/或模块进行交互,以获得在虚拟化环境134中运行的一些或全部虚拟处理器的信息和/或活动信息。
在框706,可以确定是否需要虚拟处理器闲置或调度改变。在各实施例中,该确定是根据虚拟处理器的活动(包括虚拟处理器可在其上运行的一个或多个逻辑处理器的活动)以及虚拟处理器的基于运行该虚拟处理器的虚拟机的优先级的优先级来作出的。各实施例可在图2-7中被描述。如果确定需要虚拟处理器闲置或调度改变,则方法700可前进到框708。如果确定不需要虚拟处理器闲置或调度改变,则方法700可前进到框704。
在框708,可将作出虚拟处理器闲置或调度改变的请求发送到虚拟机。在各实施例中,此请求可被发送到虚拟机140内的OSPM模块152。更具体地,此请求可被发送到OSPM驱动器156。
在框710,可从虚拟机接收指示将对其其应用闲置或调度改变的虚拟处理器和/或逻辑处理器的请求。在各实施例中,可从虚拟机140内的OSPM模块152接收此请求。更具体地,可从OSPM驱动器156接收此请求。
在框712,将具有该指示的对虚拟机的回复发送到该虚拟机。在各实施例中,虚拟机可实现闲置或调度改变,例如将所指示的虚拟处理器调度到所指示的逻辑处理器上,或闲置在所指示的逻辑处理器上运行的所指示的虚拟处理器。
方法700可在框714结束。
图8例示根据各实施例的具有用于实施参考图2-7所述的方法的指令的存储介质。
如本领域技术人员将理解的那样,本公开可以具体化为方法或计算机程序产品。相应地,除了如先前所述被具体化在硬件中之外,本公开还可采取完全软件的实施例(包括固件、驻留软件、微代码等)或组合全部可被统称为“电路”、“模块”或“***”的软件和硬件方面的实施例的形式。此外,本公开可采取计算机程序产品的形式,该计算机程序产品具体化在表达的任何有形的或非暂态介质中,该表达具有具体化在该介质中的计算机可用的程序代码。图6例示示例计算机可读的非暂态存储介质,其适用于存储指令,响应于由装备对这些指令的执行,这些指令使该装备实施本公开的所选择的多个方面。如所示出的那样,非暂态计算机可读存储介质802可包括多条编程指令802。编程指令804可使设备(例如,计算平台102)能够响应于这些编程指令的执行而执行与BIOS 120、ACPI模块122、虚拟机140,160,180、调度器158、OSPM 152、VMM 180和/或核调度控制182相关联的操作。在替代实施例中,相反可将这些编程指令804设置在多个计算机可读非暂态存储介质802上。在替代实施例中,可将编程指令804设置在诸如信号之类的计算机可读暂态存储介质802上。
可以利用一个或多个计算机可用或计算机可读介质的任意组合。计算机可用或计算机可读介质例如可以是但不限于,电子、磁、光、电磁、红外或半导体***、装备、设备或传播介质。计算机可读介质的更加具体的示例(非排他性列表)将包括下述项:具有一条或多条线的电连接件、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储设备、诸如支持因特网或内联网的传输介质的传输介质或磁存储设备。注意,计算机可用或计算机可读介质甚至可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而被电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。在本文档的上下文中,计算机可用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行***、装备或设备使用或结合指令执行***、装备或设备一起使用的任何介质。计算机可用介质可包括被传播的数据信号,随其体现在基带中或作为载波的一部分的计算机可用程序代码。可使用任何合适的介质来传送该计算机可用程序代码,包括但不限于无线、有线、光纤缆线、RF等。
用于执行本公开的操作的计算机程序代码可以一种或多种编程语言的任意组合来编写,包括面向对象编程语言(例如Java、Smalltalk、C++等等)以及常规程序化编程语言(诸如“C”编程语言或类似的编程语言)。该程序代码可作为部分地在用户的计算机上并且部分地在远程计算机上或完全地在远程计算机或服务器上的独立的软件包完全地在用户的计算机上、部分地在用户的计算机上执行。在后一场景中,可通过任意类型的网络(包括局域网(LAN)或广域网(WAN))将远程计算机连接至用户的计算机,或可作出至外部计算机的该连接(例如,通过使用因特网服务提供商的因特网)。
参照根据本公开的各实施例的流程图说明和/或方法、装备(***)和计算机程序产品的框图描述了本公开。将会理解,可由计算机程序指令来实现流程图说明和/或框图的每一个框以及流程图说明和/或框图中的框的组合。可将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装备的处理器来生产机器,使得经由计算机或其他可编程数据处理装备的处理器执行的这些指令创建用于实现流程图和/或框图的一个或多个框中所指定的功能/动作的装备。
也可将这些计算机程序指令存储在可指示计算机或其他可编程数据处理装备按特定方式运作的计算机可读介质中,使得存储在该计算机可读介质中的这些指令生产制品,该制品包括实现流程图和/或框图的一个或多个框中所指定的功能/动作的指令装备。
也可将这些计算机程序指令加载到计算机或其他可编程数据处理装备上以使一系列操作步骤在该计算机或其他可编程装备上执行来产生计算机实现的进程,使得在该计算机或其他可编程装备上执行的这些指令提供用于实现流程图和/或框图的一个或多个框中所指定的功能/动作的进程。
多个图中的流程图和框图例示根据本公开的各实施例的***、方法和计算机程序产品的可能的实现的架构、功能和操作。就这一点而言,流程图或框图中的每一个框可表示包括用于实现所指定的逻辑功能的一条或多条可执行指令的代码模块、代码段或代码部分。还应当注意,在一些替代实现中,框中所标注的多个功能可不按图中所标注的顺序发生。例如,取决于所涉及的功能,实际上可基本上同时执行连续地示出的两个框,或者有时可按相反的顺序来执行这些框。也将注意,可由执行所指定功能或动作的基于专用硬件的的***或专用硬件和计算机指令的多种组合来实现框图和/或流程图说明中的每一个框和框图和/或流程图说明中的多个框的组合。
本文中所使用的术语仅用于描述特定实施例,并且并不旨在限制本公开。如本文中所使用的那样,单数形式的“一个”(“a”、“an”)和“该”(“the”)旨在也包括复数形式,除非上下文另外清楚地指示。还将理解,当在本说明书中使用术语“包括”(“comprise”和/或“comprising”)时,其指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除除此之外的一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组的存在。
可将多个实施例实现为诸如计算机可读介质的计算机程序产品之类的计算机进程、计算***或制品。计算机程序产品可以是可由计算机***读取的计算机存储介质以及用于执行计算机进程的编码计算机程序指令。
所附权利要求书中的所有装置或步骤以及功能元件的对应的结构、材料、动作及等效物旨在包括用于结合明确要求其权利的其他要求保护的元件来执行功能的任何结构、材料或动作。已出于说明和描述的目的呈现了本公开的描述,但是该描述不旨在是穷举性的,也不限于按所公开形式的本公开。许多修改和变型对本领域普通技术人员将是显而易见的,而不背离本公开的范围和精神。选择并描述实施例是为了最好地解释本公开的原理和实际应用,并且使其他本领域普通技术人员能够理解对具有各种修改的实施例的公开适用于所构想的特定使用。
因此,已描述了本公开的各种示例实施例,它们包括但不限于:
示例1可以是一种用于计算的装备,包括:具有一个或多个物理处理器的物理计算平台;以及用于管理多个虚拟机的操作的虚拟机管理器VMM,每一虚拟机都具有一个优先级并具有在所述一个或多个物理处理器的逻辑处理器实例上操作的一个或多个虚拟处理器,其中所述VMM将跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动,并且至少鉴于在所述共享逻辑处理器实例上操作的虚拟处理器的活动以及与所述一个或多个虚拟处理器相关联的虚拟机的优先级水平来选择性地闲置和调度一个或多个虚拟处理器。
示例2可以是示例1,其中每一虚拟机的优先级水平是实时和非实时中选定的一个,并且其中所述实时优先级水平高于所述非实时优先级水平。
示例3可以是示例1,其中为了跟踪操作逻辑处理器实例的所述虚拟处理器的活动,所述VMM将跟踪所述逻辑处理器实例的利用、中断率和/或其他活动度量。
示例4可以是示例1-3中的任一者,其中为了选择性地调度所述一个或多个虚拟处理器实例,所述VMM将:确定表示每一逻辑处理器实例的活动的相应分数;将经确定的分数与第一阈值进行比较;只有当逻辑处理器的经确定的分数低于所述第一阈值时,才将经闲置的虚拟处理器调度到该逻辑处理器上。
示例4可以是示例5,其中将经闲置的虚拟处理器调度到逻辑处理器上进一步包括只有当与经闲置的虚拟处理器相关联的虚拟机的优先级水平低于或等于与在逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级水平时,才将所述经闲置的虚拟处理器调度到该逻辑处理器上。
示例6可以是示例1-3中的任一者,其中为了选择性地闲置所述一个或多个虚拟处理器实例,所述VMM将:确定表示每一逻辑处理器实例的活动的相应分数;将经确定的分数与第二阈值进行比较;只有当逻辑处理器的所述经确定的分数大于所述第二阈值时,才闲置在该逻辑处理器上运行的第一虚拟处理器,其中与所述第一虚拟处理器相关联的虚拟机的优先级水平低于与在所述逻辑处理器上运行的第二虚拟处理器相关联的虚拟机的优先级水平。
示例7可以是一种基于计算机的方法,包括:由虚拟机监视器VMM管理多个虚拟机的操作,每一虚拟机具有一个优先级水平并具有在一个或多个物理处理器的逻辑处理器实例上操作的一个或多个虚拟处理器,由所述VMM跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动;并且由所述VMM至少鉴于在所述共享逻辑处理器实例上操作的虚拟处理器的活动以及与所述一个或多个虚拟处理器相关联的虚拟机的优先级水平来选择性地闲置和调度一个或多个虚拟处理器。
示例8可以是示例7,其中选择性地调度所述一个或多个虚拟处理器进一步包括:由所述VMM确定表示每一逻辑处理器实例的活动的相应分数;由所述VMM将所述经确定的分数与第一阈值进行比较;只有当第一逻辑处理器的所述经确定的分数低于或等于所述第一阈值时,才由所述VMM将经闲置的虚拟处理器调度到该第一逻辑处理器上。
示例9可以是示例8,其中将经闲置的虚拟处理器调度到第一逻辑处理器上进一步包括只有当与经闲置的虚拟处理器相关联的虚拟机的优先级水平低于或等于与在第一逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级水平时,才将所述经闲置的虚拟处理器调度到该第一逻辑处理器上。
示例10可以是示例7,其中选择性地闲置所述一个或多个虚拟处理器进一步包括:由所述VMM确定表示每一逻辑处理器实例的活动的相应分数;由所述VMM将所述经确定的分数与第二阈值进行比较的装置;只有当第二逻辑处理器的所述经确定的分数大于所述第二阈值时,才由所述VMM闲置在该第二逻辑处理器上运行的第二虚拟处理器。
示例11可以是示例10,其中闲置在第二逻辑处理器上运行的第二虚拟处理器进一步包括只有当与在第二逻辑处理器上运行的第二虚拟处理器相关联的虚拟机的优先级水平低于或等于与在所述第二逻辑处理器上运行的任何虚拟处理器相关联的任何虚拟机的优先级水平时,才闲置该第二虚拟处理器。
示例12可以是示例8-11中的任一者,其中确定表示每一逻辑处理器实例的活动的相应分数至少根据该逻辑处理器实例的利用、中断率和/或其他活动度量。
示例13可以是示例7-11中的任一者,其中虚拟机的优先级水平是实时和非实时中选定的一个,并且实时具有比非实时更高的优先级。
示例14可以是包括指令的一个或多个计算机可读介质,响应于通过计算设备执行所述指令,使得计算设备:由虚拟机监视器VMM管理多个虚拟机的操作,每一虚拟机具有一个优先级水平并具有在一个或多个物理处理器的逻辑处理器实例上操作的一个或多个虚拟处理器,由所述VMM跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动;并且由所述VMM至少鉴于在共享逻辑处理器实例上操作的虚拟处理器的活动以及与所述一个或多个虚拟处理器相关联的虚拟机的优先级水平来选择性地闲置和调度一个或多个虚拟处理器。
示例15可以是示例14,其中选择性地调度所述一个或多个虚拟处理器进一步包括:由所述VMM确定表示每一逻辑处理器实例的活动的相应分数;由所述VMM将所述经确定的分数与第一阈值进行比较;只有当第一逻辑处理器的所述经确定的分数低于或等于所述第一阈值时,才由所述VMM将经闲置的虚拟处理器调度到该第一逻辑处理器上。
示例16可以是示例15,其中将经闲置的虚拟处理器调度到第一逻辑处理器上进一步包括只有当与经闲置的虚拟处理器相关联的虚拟机的优先级水平低于或等于与在第一逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级水平时,才将所述经闲置的虚拟处理器调度到该第一逻辑处理器上。
示例17可以是示例14,其中选择性地闲置所述一个或多个虚拟处理器进一步包括:由所述VMM确定表示每一逻辑处理器实例的活动的相应分数;由所述VMM将所述经确定的分数与第二阈值进行比较;只有当第二逻辑处理器的所述经确定的分数大于所述第二阈值时,才由所述VMM闲置在该第二逻辑处理器上运行的第二虚拟处理器。
示例18可以是示例17,其中闲置在第二逻辑处理器上运行的第二虚拟处理器进一步包括只有当与在第二逻辑处理器上运行的第二虚拟处理器相关联的虚拟机的优先级水平低于或等于与在第二逻辑处理器上运行的任何虚拟处理器相关联的任何虚拟机的优先级水平时,才闲置该第二虚拟处理器。
示例19可以是示例15-18中的任一者,其中确定表示每一逻辑处理器实例的活动的相应分数至少根据该逻辑处理器实例的利用、中断率和/或其他活动度量。
示例20可以是示例14-18中的任一者,其中虚拟机的优先级水平是实时和非实时中选定的一个,并且实时具有比非实时更高的优先级。
示例21可以是一种计算设备,包括:用于管理多个虚拟机的操作的装置,每一虚拟机具有一个优先级并具有在一个或多个物理处理器的逻辑处理器实例上操作的一个或多个虚拟处理器;用于跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动的装置;以及用于至少鉴于在共享逻辑处理器实例上操作的虚拟处理器的活动以及与所述一个或多个虚拟处理器相关联的虚拟机的优先级水平来选择性地闲置和调度一个或多个虚拟处理器的装置。
示例22可以是示例21,其中选择性地调度所述一个或多个虚拟处理器包括:用于确定表示每一逻辑处理器实例的活动的相应分数的装置,用于将所述经确定的分数与第一阈值进行比较的装置,以及用于只有当第一逻辑处理器的所述经确定的分数低于或等于所述第一阈值时,才将经闲置的虚拟处理器调度到该第一逻辑处理器上的装置。
示例23可以是示例22,其中用于将经停放的虚拟处理器调度到第一逻辑处理器上的装置进一步包括用于只有当与所述经闲置的虚拟处理器相关联的虚拟机的优先级水平低于或等于与在第一逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级水平时,才将所述经闲置的虚拟处理器调度到该第一逻辑处理器上的装置。
示例24可以是示例21,其中用于选择性地闲置所述一个或多个虚拟处理器的装置包括:用于确定表示每一逻辑处理器实例的活动的相应分数的装置,用于将所述经确定的分数与第二阈值进行比较的装置,以及用于只有当第二逻辑处理器的经确定的分数大于所述第二阈值时,才闲置在该第二逻辑处理器上运行的第二虚拟处理器的装置。
示例25可以是示例24,其中用于闲置在第二逻辑处理器上运行的第二虚拟处理器的装置进一步包括只有当与在第二逻辑处理器上运行的第二虚拟处理器相关联的虚拟机的优先级水平低于或等于与在所述第二逻辑处理器上运行的任何虚拟处理器相关联的任何虚拟机的优先级水平时,才闲置该第二虚拟处理器。
示例26可以是示例21-25中的任一者,其中用于确定表示每一逻辑处理器实例的活动的相应分数的装置至少根据该逻辑处理器实例的利用、中断率和/或其他活动度量。
对于本领域技术人员将是显而易见的是,可在所公开的设备和相关联的方法的所公开的实施例中作出各种修改和变型,而不背离本公开的精神和范围。因此,如果修改和变型落入任何权利要求及其等效方案的范围之内,则本公开旨在涵盖以上所公开的多个实施例的修改和变型。

Claims (13)

1.一种用于计算的装备,包括:
具有一个或多个物理处理器的物理计算平台;以及
用于管理多个虚拟机的操作的虚拟机管理器VMM,每一虚拟机具有一个优先级水平并具有在所述一个或多个物理处理器的逻辑处理器实例上操作的一个或多个虚拟处理器,其中所述VMM将:
跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动,并且至少鉴于在所述共享逻辑处理器实例上操作的虚拟处理器的活动以及与所述一个或多个虚拟处理器相关联的虚拟机的优先级水平来选择性地闲置和调度一个或多个虚拟处理器;
其中,为了选择性地调度所述一个或多个虚拟处理器示例,所述VMM将:
确定表示每一逻辑处理器实例的活动的相应分数;
将经确定的分数与第一阈值进行比较;
只有当逻辑处理器的经确定的分数低于所述第一阈值时,才将闲置的虚拟处理器调度到所述逻辑处理器上,其中,将经闲置的虚拟处理器调度到逻辑处理器上进一步包括:只有当与经闲置的虚拟处理器相关联的虚拟机的优先级水平低于或等于与在逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级水平时,才将所述经闲置的虚拟处理器调度到所述逻辑处理器上。
2.如权利要求1所述的装备,其特征在于,每一虚拟机的优先级水平是实时优先级和非实时优先级中选定的一个,并且其中所述实时优先级高于所述非实时优先级。
3.如权利要求1所述的装备,其特征在于,为了跟踪操作逻辑处理器实例的所述虚拟处理器的活动,所述VMM将跟踪所述逻辑处理器实例的利用、中断率和/或其他活动度量。
4.如权利要求1-3中的任一项所述的装备,其特征在于,为了选择性地闲置所述一个或多个虚拟处理器实例,所述VMM将:
确定表示每一逻辑处理器实例的活动的相应分数;
将所述经确定的分数与第二阈值进行比较;
只有当逻辑处理器的所述经确定的分数大于所述第二阈值时才闲置在所述逻辑处理器上运行的第一虚拟处理器,其中与所述第一虚拟处理器相关联的虚拟机的优先级水平低于与在所述逻辑处理器上运行的第二虚拟处理器相关联的虚拟机的优先级水平。
5.一种基于计算机的方法,包括:
由虚拟机监视器VMM管理多个虚拟机的操作,每一虚拟机具有一个优先级水平并具有在一个或多个物理处理器的逻辑处理器实例上操作的一个或多个虚拟处理器;
由所述VMM跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动;以及
由所述VMM至少鉴于在共享逻辑处理器实例上操作的虚拟处理器的活动以及与一个或多个虚拟处理器相关联的虚拟机的优先级水平来选择性地闲置和调度所述一个或多个虚拟处理器,其中,选择性地调度所述一个或多个虚拟处理器进一步包括:
由所述VMM确定表示每一逻辑处理器实例的活动的相应分数;
由所述VMM将所述经确定的分数与第一阈值进行比较;
只有当第一逻辑处理器的所述经确定的分数低于或等于所述第一阈值时,才由所述VMM将经闲置的虚拟处理器调度到所述第一逻辑处理器上,其中,将所述经闲置的虚拟处理器调度到第一逻辑处理器上进一步包括:只有当与经闲置的虚拟处理器相关联的虚拟机的优先级水平低于或等于与在第一逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级水平时,才将所述经闲置的虚拟处理器调度到所述第一逻辑处理器上。
6.如权利要求5所述的基于计算机的方法,其特征在于,选择性地闲置所述一个或多个虚拟处理器进一步包括:
由所述VMM确定表示每一逻辑处理器实例的活动的相应分数;
由所述VMM将所述经确定的分数与第二阈值进行比较;
只有当第二逻辑处理器的经确定的分数大于所述第二阈值时,才由所述VMM闲置在所述第二逻辑处理器上运行的第二虚拟处理器。
7.如权利要求6所述的基于计算机的方法,其特征在于,闲置在第二逻辑处理器上运行的第二虚拟处理器进一步包括:只有当与在第二逻辑处理器上运行的第二虚拟处理器相关联的虚拟机的优先级水平低于或等于与在所述第二逻辑处理器上运行的任何虚拟处理器相关联的任何虚拟机的优先级水平时,才闲置在所述第二虚拟处理器。
8.如权利要求5所述的基于计算机的方法,其特征在于,确定表示每一逻辑处理器实例的活动的相应分数至少根据所述逻辑处理器实例的利用、中断率和/或其他活动度量。
9.如权利要求5所述的基于计算机的方法,其特征在于,虚拟机的优先级水平是实时和非实时中选定的一个,并且实时具有比非实时更高的优先级。
10.一种计算设备,包括:
用于管理多个虚拟机的操作的装置,每一虚拟机具有一个优先级水平并具有在一个或多个物理处理器的逻辑处理器实例上操作的一个或多个虚拟处理器;
用于跟踪在共享逻辑处理器实例上操作的虚拟处理器的活动的装置;以及
用于至少鉴于在所述共享逻辑处理器实例上操作的虚拟处理器的活动以及与一个或多个虚拟处理器相关联的虚拟机的优先级水平来选择性地闲置和调度所述一个或多个虚拟处理器的装置,其中,选择性地调度所述一个或多个虚拟处理器包括:
用于确定表示每一逻辑处理器实例的活动的相应分数的装置;
用于将所述经确定的分数与第一阈值进行比较的装置;以及
用于只有当第一逻辑处理器的所述经确定的分数低于或等于所述第一阈值时,才将经闲置的虚拟处理器调度到所述第一逻辑处理器上的装置,其中,用于将经停放的虚拟处理器调度到第一逻辑处理器上的装置进一步包括:用于只有当与所述经闲置的虚拟处理器相关联的虚拟机的优先级水平低于或等于与在第一逻辑处理器上运行的虚拟处理器相关联的任何虚拟机的优先级时,才将所述经闲置的虚拟处理器调度到所述第一逻辑处理器上的装置。
11.如权利要求10所述的计算设备,其特征在于,用于选择性地闲置所述一个或多个虚拟处理器的装置包括:用于确定表示每一逻辑处理器实例的活动的相应分数的装置,用于将所述经确定的分数与第二阈值进行比较的装置,以及用于只有当第二逻辑处理器的经确定的分数大于所述第二阈值时,才闲置在所述第二逻辑处理器上运行的第二虚拟处理器的装置。
12.如权利要求11所述的计算设备,其特征在于,用于闲置在第二逻辑处理器上运行的第二虚拟处理器的装置进一步包括:只有当与在第二逻辑处理器上运行的第二虚拟处理器相关联的虚拟机的优先级水平低于或等于与在所述第二逻辑处理器上运行的任何虚拟处理器相关联的任何虚拟机的优先级水平时,才闲置所述第二虚拟处理器。
13.如权利要求10-12中任一项所述的计算设备,其特征在于,用于确定表示每一逻辑处理器实例的活动的相应分数的装置至少根据所述逻辑处理器实例的利用、中断率和/或其他活动度量。
CN201680028627.5A 2015-06-17 2016-05-04 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备 Active CN107624181B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/741,782 US20160371118A1 (en) 2015-06-17 2015-06-17 Virtual machine management method and apparatus including idling and scheduling of virtual processors
US14/741,782 2015-06-17
PCT/US2016/030801 WO2016204876A1 (en) 2015-06-17 2016-05-04 Virtual machine management method and apparatus including idling and scheduling of virtual processors

Publications (2)

Publication Number Publication Date
CN107624181A CN107624181A (zh) 2018-01-23
CN107624181B true CN107624181B (zh) 2021-11-23

Family

ID=57546330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680028627.5A Active CN107624181B (zh) 2015-06-17 2016-05-04 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备

Country Status (4)

Country Link
US (1) US20160371118A1 (zh)
EP (1) EP3311270A4 (zh)
CN (1) CN107624181B (zh)
WO (1) WO2016204876A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10942757B2 (en) * 2017-02-27 2021-03-09 Red Hat, Inc. Virtual machine security through guest-side emulation
US10956193B2 (en) * 2017-03-31 2021-03-23 Microsoft Technology Licensing, Llc Hypervisor virtual processor execution with extra-hypervisor scheduling
CN108984267B (zh) 2018-07-09 2020-11-13 北京东土科技股份有限公司 工业服务器的微内核架构控制***及工业服务器
CN112667318A (zh) * 2020-12-31 2021-04-16 京信网络***股份有限公司 逻辑核的绑定方法、装置、设备及存储介质
CN116893893B (zh) * 2023-09-08 2024-03-22 北京翼辉信息技术有限公司 一种虚拟机调度方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452406A (zh) * 2008-12-23 2009-06-10 北京航空航天大学 一种对操作***透明的机群负载平衡方法
CN102253857A (zh) * 2011-06-24 2011-11-23 华中科技大学 一种多核环境下的Xen虚拟机调度控制方法
CN102662763A (zh) * 2012-04-11 2012-09-12 华中科技大学 基于服务质量的虚拟机资源调度方法
CN103064746A (zh) * 2013-01-23 2013-04-24 上海交通大学 基于当前credit进行预测调度的处理器资源精确分配方法
US8918784B1 (en) * 2010-12-21 2014-12-23 Amazon Technologies, Inc. Providing service quality levels through CPU scheduling

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757897B1 (en) * 2000-02-29 2004-06-29 Cisco Technology, Inc. Apparatus and methods for scheduling and performing tasks
US7765543B1 (en) * 2003-12-17 2010-07-27 Vmware, Inc. Selective descheduling of idling guests running on a host computer system
US8667500B1 (en) * 2006-10-17 2014-03-04 Vmware, Inc. Use of dynamic entitlement and adaptive threshold for cluster process balancing
US9424094B2 (en) * 2009-06-01 2016-08-23 International Business Machines Corporation Server consolidation using virtual machine resource tradeoffs
US9086922B2 (en) * 2009-10-26 2015-07-21 Microsoft Technology Licensing, Llc Opportunistically scheduling and adjusting time slices
US9081621B2 (en) * 2009-11-25 2015-07-14 Microsoft Technology Licensing, Llc Efficient input/output-aware multi-processor virtual machine scheduling
US8341628B2 (en) * 2009-12-23 2012-12-25 International Business Machines Corporation Controlling depth and latency of exit of a virtual processor's idle state in a power management environment
US9183030B2 (en) * 2011-04-27 2015-11-10 Microsoft Technology Licensing, Llc Virtual processor allocation techniques
US9176787B2 (en) 2011-08-18 2015-11-03 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Preserving, from resource management adjustment, portions of an overcommitted resource managed by a hypervisor
US9075789B2 (en) * 2012-12-11 2015-07-07 General Dynamics C4 Systems, Inc. Methods and apparatus for interleaving priorities of a plurality of virtual processors
US9530174B2 (en) * 2014-05-30 2016-12-27 Apple Inc. Selective GPU throttling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452406A (zh) * 2008-12-23 2009-06-10 北京航空航天大学 一种对操作***透明的机群负载平衡方法
US8918784B1 (en) * 2010-12-21 2014-12-23 Amazon Technologies, Inc. Providing service quality levels through CPU scheduling
CN102253857A (zh) * 2011-06-24 2011-11-23 华中科技大学 一种多核环境下的Xen虚拟机调度控制方法
CN102662763A (zh) * 2012-04-11 2012-09-12 华中科技大学 基于服务质量的虚拟机资源调度方法
CN103064746A (zh) * 2013-01-23 2013-04-24 上海交通大学 基于当前credit进行预测调度的处理器资源精确分配方法

Also Published As

Publication number Publication date
WO2016204876A1 (en) 2016-12-22
EP3311270A4 (en) 2019-02-27
EP3311270A1 (en) 2018-04-25
CN107624181A (zh) 2018-01-23
US20160371118A1 (en) 2016-12-22

Similar Documents

Publication Publication Date Title
CN107624181B (zh) 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备
EP3129880B1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
US8489904B2 (en) Allocating computing system power levels responsive to service level agreements
US10372493B2 (en) Thread and/or virtual machine scheduling for cores with diverse capabilities
US11157302B2 (en) Idle processor management in virtualized systems via paravirtualization
US8312195B2 (en) Managing interrupts using a preferred binding between a device generating interrupts and a CPU
WO2017080273A1 (zh) 任务管理方法和***、计算机存储介质
US20150199216A1 (en) Scheduling and execution of tasks
CN106557369A (zh) 一种多线程的管理方法及***
US10467054B2 (en) Resource management method and system, and computer storage medium
CN104598426A (zh) 用于异构多核处理器***的任务调度方法
US9798582B2 (en) Low latency scheduling on simultaneous multi-threading cores
US9471387B2 (en) Scheduling in job execution
US20180157557A1 (en) Determining reboot time after system update
US10613606B2 (en) Wireless component state based power management
US20140229956A1 (en) Method and System for Deterministic Multicore Execution
US20140259022A1 (en) Apparatus and method for managing heterogeneous multi-core processor system
US9038084B2 (en) Managing utilization of physical processors of a shared processor pool in a virtualized processor environment
US9983908B1 (en) Adjusting allocation of selected resources for capped and uncapped virtual machines
US9983911B2 (en) Analysis controller, analysis control method and computer-readable medium
US9652298B2 (en) Power-aware scheduling
Kamga et al. Extended scheduler for efficient frequency scaling in virtualized systems
CN116893893B (zh) 一种虚拟机调度方法、装置、电子设备及存储介质
US10915268B2 (en) Event based runtime scheduling
CN117539595A (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
GR01 Patent grant
GR01 Patent grant