CN104011680A - 在物理处理单元中调度虚拟机的虚拟中央处理单元 - Google Patents

在物理处理单元中调度虚拟机的虚拟中央处理单元 Download PDF

Info

Publication number
CN104011680A
CN104011680A CN201180075895.XA CN201180075895A CN104011680A CN 104011680 A CN104011680 A CN 104011680A CN 201180075895 A CN201180075895 A CN 201180075895A CN 104011680 A CN104011680 A CN 104011680A
Authority
CN
China
Prior art keywords
processing unit
virtual machine
virtual
central processing
monitor
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.)
Granted
Application number
CN201180075895.XA
Other languages
English (en)
Other versions
CN104011680B (zh
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.)
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 CN104011680A publication Critical patent/CN104011680A/zh
Application granted granted Critical
Publication of CN104011680B publication Critical patent/CN104011680B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • 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/45562Creating, deleting, cloning 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)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本文说明的装置、计算机实现的方法、系统、以及计算机可读介质的实施例用于虚拟机监控器。虚拟机监控器可以被配置为判定是否在多个物理处理单元的第一物理处理单元上调度多个虚拟机中的一个的虚拟中央处理单元。每个虚拟机可以具有一个或多个虚拟中央处理单元。判定可以至少部分基于当操作虚拟中央处理单元时,虚拟中央处理单元的上下文是否暗示由第一物理处理单元在装置的一个或多个缓存单元上期望的缓存命中率。

Description

在物理处理单元中调度虚拟机的虚拟中央处理单元
技术领域
概括地讲,本发明的实施例涉及数据处理的技术领域,更具体而言,涉及在物理处理单元中调度虚拟机的虚拟中央处理单元。
背景技术
此处提供的背景说明是为了一般呈现本公开的上下文的目的。目前提到的发明人的工作(按照该背景技术部分中说明的程度),以及在申请时本说明中不得以其他方式有资格作为的已有技术的各方面,并没有明确地或隐含地承认作为对于本公开的已有技术。除非本文中明确表明,否则在该部分中说明的方法不是本公开中权利要求的已有技术,包含在该部分中不承认为已有技术。
现有的虚拟机监控器(有时被称为“管理程序”)可以在多个物理处理单元(例如处理器、处理器核、由超线程处理器执行的逻辑处理器、云计算机系统中的主机)中调度虚拟机的虚拟中央处理单元,并在其上将虚拟机实例化。
当今,虚拟机监控器趋向于使用粗糙级别上的实证启发法来在多个物理处理单元中调度虚拟中央处理单元。这些粗糙的启发式技术通常对大多数工作负荷具有最小的冲击、或者在一些特定方案中有性能提升。
附图说明
实施例通过结合附图的下面的具体说明变得容易理解。为了便于该说明,相似的参考标记指定相似的构成因素。在附图的图中以示例的方式,而非限制的方式示出了实施例。
图1依据各种实施例概要示出了与虚拟机监控器关联的部件可以如何交互,以在多个物理处理单元中调度虚拟机的虚拟中央处理单元的示例。
图2依据各种实施例概要描述了用于在多个物理处理单元的物理处理单元上调度虚拟机的虚拟中央处理单元的示例方法。
图3依据各种实施例概要描述了用于在多个物理处理单元中迁移和/或调度虚拟机的一个或多个虚拟中央处理单元的示例方法。
图4依据各种实施例概要描述了在其上可以实现各种公开的方法的示例系统。
具体实施方式
本文说明的装置、计算机实现的方法、系统、以及计算机可读介质的实施例针对虚拟机监控器。虚拟机监控器可以被配置为判定是否在多个物理处理单元的第一物理处理单元上调度多个虚拟机中的一个的虚拟中央处理单元。每个虚拟机可以具有一个或多个虚拟中央处理单元。所述判定可以至少部分基于当操作虚拟中央处理单元时,虚拟中央处理单元的上下文是否暗示由第一物理处理单元在装置的一个或多个缓存单元上期望的缓存命中率。
在下面的具体实施方式中,参考形成其一部分的附图,其中,相似的数字指定相似的部分,并且以可以实践的示出实施例的方式显示。应该理解的是,可以利用其他实施例,并且可以做出构造或者逻辑改变,而不脱离本公开的范围。因此,下面的具体实施方式不应理解为限制意义,并且实施例的范围被所附权利要求及其等同物定义。
以最有帮助理解权利要求的主题的方式,各种操作可以依次描述为多个离散动作或者操作。然而,描述的顺序不应解释为隐含这些操作一定是依赖顺序的。尤其是,这些操作可能不以呈现的顺序执行。说明的操作可以以不同于说明的实施例的顺序执行。可以执行各种额外的操作和/或说明的操作可以在额外的实施例中省略。
对于本公开的目的而言,词组“A和/或B”意味着(A)、(B)、或者(A和B)。对于本公开的目的而言,词组“A、B和/或C”意味着(A)、(B)、(C)、(A和B)、(A和C)、(B和C)、或者(A、B、以及C)。
说明可以使用词组“在实施例中”,这是指一个或多个相同的或者不同的实施例。此外,术语“包括”、“包含”、“具有”等,在本公开的实施例中使用时是同义的。
本文使用的术语“模块”可以指、是一部分、或者包含:特定应用集成电路(“ASIC”)、电子电路、执行一个或多个软件或者固件程序的处理器(共享的、专用的、或者组)和/或存储器(共享的、专用的、或者组)、组合逻辑电路、和/或提供说明的功能的其他适当部件。
本文使用的“缓存命中率”可以指缓存命中对缓存命中与缓存未命中的总和的比率(例如,缓存命中/(缓存未命中+缓存命中))。
本文使用的没有被“虚拟”更改的“物理处理单元”或者“处理单元”可以指具有被配置以执行指令的缓存存储器的任何装置,例如单个的处理器(处理器还可以称作中央处理单元、或者“CPU”)、合作动作的多个处理器、一个或多个处理器核、由超线程物理处理器执行的一个或多个逻辑处理器、合作动作的云计算机系统的一个或多个主机等。
图1依据各种实施例概要描述了可以实现为在多个物理处理单元102中调度虚拟机(未示出)的虚拟中央处理单元100的示例部件。每个物理处理单元102可以具有关联的缓存单元103。在各种实施例中,共享缓存单元103的多个处理器或者核,例如顶部的2个物理处理单元102可以称作“同胞(sibling)”。在各种实施例中,虚拟机和/或虚拟机的虚拟中央处理单元可以在分开的同胞上调度,而不会牺牲期望的缓存命中率。
虚拟机监控器104可以包含虚拟机监控器调度器106。在一些实施例中,虚拟机监控器调度器106可以是与虚拟机监控器104通信的分开的模块。虚拟机监控器调度器106可以包含调度器核108,调度器核108可以从各种源接收数据,并基于接收到的数据,在多个物理处理单元102中调度虚拟中央处理单元100,如箭头A(1)和A(2)所示,以通过物理处理单元102实现缓存单元103的期望的缓存命中率。可以使用软件、硬件、和/或两者的组合来实现这些部件中的每个。
一个或多个杂项输入过滤器110可以提供各种数据给调度器核108,例如图1中箭头B(1)-B(N)所表明的。一个示例可以是基于时间的采样器过滤器。该过滤器可以追踪由一个或多个物理处理单元102操作的虚拟中央处理单元100的消耗的计算周期。
在各种实施例中,内在缓存提示过滤器112可以被配置为接收和/或获得关于一个或多个虚拟中央处理单元(或更一般而言为虚拟机)的上下文的信息。虚拟中央处理单元上下文可以包含关于虚拟中央处理单元的各种信息,例如虚拟机从其启动的模板(例如Linux、)(其中虚拟中央处理单元是虚拟机的一部分)、当操作相同(或不同)的虚拟机的虚拟中央处理单元或者其他虚拟中央处理单元时由物理处理单元102访问的存储器页面等。在相同的物理处理单元上操作的虚拟中央处理单元之间的上下文类似性可以影响物理处理单元的性能。一般而言,由物理处理单元操作的虚拟中央处理单元之间的上下文类似性越高,在缓存单元上可以体验越高的缓存命中率,因此,对于物理处理单元可以实现改善的总体性能。
内在缓存提示过滤器112可以提供虚拟中央处理单元上下文信息(其可以称作“缓存提示”)给调度器核108,例如由箭头C所表明的。在各种实施例中,虚拟机监控器104和/或调度器核108可以调度和/或更改在多个物理处理单元102中虚拟中央处理单元100的调度,以及至少部分基于接收到的缓存提示将其上的虚拟机实例化。
内在缓存提示过滤器112可以从各种源接收和/或获得虚拟中央处理单元上下文信息。例如,内在缓存提示过滤器112可以从页面共享代理114(例如在箭头D处)接收关于存储器页面的信息,所述存储器页面可以在多个虚拟中央处理单元100中共享或者潜在共享。页面共享代理114可以被配置为对一个或多个虚拟中央处理单元100的页面共享统计进行编译。虚拟机监控器104和/或调度器核108可以被配置为至少部分基于由页面共享代理114编译的页面共享统计,来调度和/或更改在多个物理处理单元102中虚拟中央处理单元100的调度。在图1的实施例中,页面共享代理114与虚拟机监控器104分开但是可操作地耦合,但是在其他实施例中,页面共享代理可以实现为虚拟机监控器104和/或虚拟机监控器调度器106的一部分。
在各种实施例中,由页面共享代理114编译的页面共享统计可以包含两个或更多的虚拟中央处理单元或者它们各自的虚拟机的页面共享比率。例如,操作虚拟机A的虚拟中央处理单元的物理处理单元可以访问90%的与当它操作虚拟机B的虚拟中央处理单元时相同的存储器页面。因此,虚拟机A与虚拟机B之间的页面共享比率可以是90%。如果虚拟机A和虚拟机B的虚拟中央处理单元在相同的物理处理单元上调度,那么这样的高百分比可以暗示期望的缓存命中率,由于在执行时间由虚拟机A的虚拟中央处理单元装载的缓存内容可以被虚拟机B的虚拟中央处理单元重复使用。
在各种实施例中,内在缓存提示过滤器112可以从用户输入接收信息。例如,网络托管业务的管理员可以知晓哪些虚拟机从相同的模板供给、或者哪些虚拟机可能共享最多的存储器页面。该管理员可以使用用户界面来直接向内在缓存提示过滤器112指明缓存提示。
缓存提示剖析代理116可以被配置为:周期性或者响应于各种事件,利用各种剖析技术来测量物理处理单元102的缓存命中率。缓存提示剖析代理116可以提供这些结果给内在缓存提示过滤器112,例如在箭头E处。内在缓存提示过滤器112可以反过来基于那些结果,提供缓存命中率测量结果和/或缓存提示给调度器核108,例如在箭头C处。调度器核108和/或虚拟机监控器104可以至少部分基于如由缓存提示剖析代理116测量的物理处理单元102的缓存命中率,来调度和/或更改多个物理处理单元102中的虚拟中央处理单元100的调度。
作为缓存提示剖析代理116可以如何测量缓存命中率的示例,页面共享代理114可以提供页面共享统计或者其他页面共享信息(例如在箭头F处)给缓存提示剖析代理116。缓存提示剖析代理116可以反过来在箭头E处提供该信息或者基于其的缓存提示给内在缓存提示过滤器112。只使用该信息或者与其他信息一起使用该信息,内在缓存提示过滤器112可以产生缓存提示以发送给虚拟机监控器104和/或调度器核108。调度器核108和/或虚拟机监控器104可以使用这些缓存提示,以在多个物理处理单元102中调度和/或更改虚拟中央处理单元100的调度。
作为缓存提示剖析代理116可以如何测量缓存命中率的另一个示例,性能监控单元代理118(图1中记为“PMU代理”)可以被配置为与性能监控单元120交换信息,例如在箭头G处,并提供该信息给缓存提示剖析代理116,例如在图1中的箭头I处。性能监控单元120可以被配置为收集关于一个或多个物理处理单元和/或关联的存储器的操作的统计,例如在箭头H处。虚拟机监控器104和/或调度器核108可以基于由性能监控单元代理118提供的信息,调度和/或更改多个物理处理单元102中的虚拟中央处理单元100的调度。虽然图1示出单个的性能监控单元120,但应该理解的是可以包含任何数量的性能监控单元,例如每个物理处理单元102都有一个性能监控单元。
性能监控单元120和/或性能监控单元代理118的操作可能需要计算资源。因此,在各种实施例中,缓存提示剖析代理116和/或其他部件可以被配置为将性能监控单元代理118和/或性能监控单元120选择性激活和/或停止,例如在箭头I处。在各种实施例中,调度器核108可以使用通过性能监控单元120在选择的时间间隔期间采样的数据来引导其做出调度决策,其中所述时间间隔作为更长间隔的时间的代表。在一些实施例中,调度器核108或者另一个部件可以请求缓存提示剖析代理116激活/停止性能监控单元代理118,例如在箭头J处。
性能监控单元120和/或性能监控单元代理118可以基于各种因素被激活和/或停止。例如,在各种实施例中,当在预定的时间间隔期间,由虚拟机监控器104和/或调度器核108进行的虚拟机的虚拟中央处理单元的调度的动作的计数超过预定的阈值(例如100)时,性能监控单元代理118可以例如由调度器核108或者缓存提示剖析代理116激活。在该方案中,性能监控单元120和/或性能监控单元代理118可以被激活,以在调度的一个或多个那些动作期间从一个或多个物理处理单元采样数据。同样,在各种实施例中,当在预定的时间间隔期间,由虚拟机监控器104和/或调度器核108进行的调度的动作的计数降到预定的阈值以下时,性能监控单元或者性能监控单元代理118例如可以由调度器核108或者缓存提示剖析代理116停止。
额外地或替代地,虚拟机监控器104和/或调度器核108可以在预定的时间间隔期间周期性激活性能监控单元120和/或性能监控单元代理118。
在各种实施例中,对特定物理处理单元,性能监控单元或者性能监控单元代理118例如可以被虚拟机监控器104、调度器核108、和/或缓存提示剖析代理116激活。例如,假定有2个物理处理单元:CPU_0和CPU_1。虚拟机监控器104、调度器核108、和/或缓存提示剖析代理116可以激活与CPU_0相关联的性能监控单元,但是停止与CPU_1相关联的性能监控单元。
在一些实施例中,当性能监控单元代理118和/或性能监控单元120与虚拟机的特定虚拟中央处理单元同时启动时,当所述虚拟中央处理单元要被调度出时,虚拟机监控器104和/或调度器核108可以停止性能监控单元或者性能监控单元代理118。在这样的实施例中,缓存提示剖析代理116可以在要调度出虚拟中央处理单元的操作期间,计算缓存命中率CacheHitRatecurrent,并在调度接下来的虚拟中央处理单元时,利用其来计算要由调度器核108考虑的新的上下文类似性ContextSimilaritynew。例如,缓存提示剖析代理116可以利用例如如下的衰变算法来计算ContextSimilaritynew
ContextSimilaritynew=CacheHitRatecurrent×10%+ContextSimilarityprevious×80%
虽然此处使用了特定百分比,但应该理解的是可以使用其他更高或者更低的百分比。例如ContextSimilaritynew和ContextSimilarityprevious的上下文类似性可以以各种方式计算出。在没有页面共享代理的实施例中,性能监控单元可以为了计算缓存的命中率,被用于测量缓存命中或者缓存未命中。上下文类似性可以是计算的缓存命中率的函数(例如,ContextSimilarity=f(CacheHitRate))。在具有页面共享代理的实施例中,上下文类似性可以基于由页面共享代理提供的页面共享统计。
缓存提示可以包含各种信息。在一些实施例中,尤其是当页面共享代理提供页面共享统计时,缓存提示可以包含关于要被调度的虚拟中央处理单元的虚拟机的相对简单的信息,如下面的示例所示:
在各种实施例中,像这样的缓存提示可以基于由页面共享代理提供的页面统计。虚拟机监控器104和/或调度器核108可以调度在相同的物理处理单元上的组的虚拟机的虚拟中央处理单元。例如,组_1的虚拟机的虚拟中央处理单元可以在第一物理处理单元上调度,组_2的虚拟机的虚拟中央处理单元可以在第二物理处理单元上调度。这可以增加缓存命中率,因为虚拟中央处理单元可能利用很多相同的代码路径和/或存储器页面。在具有同胞物理处理单元、或者共享缓存的物理处理单元的实施例中,每个同胞可以操作来自同一组的虚拟机的虚拟中央处理单元,以重新使用来自该组的其他虚拟机的其他虚拟中央处理单元的执行的缓存。
应该理解的是虚拟机监控器104和/或调度器核108可以考虑除了组成员之外还有的其他因素,来选择性在物理处理单元中调度虚拟中央处理单元,例如虚拟机监控器的调度策略。其他因素可以包含但是不限于优先级、信用(在使用信用调度器的实施例中)等。
图2描述的示例方法200可以由例如虚拟机监控器104的虚拟机监控器执行,以判定是否在物理处理单元102上调度虚拟机的一个或多个虚拟中央处理单元100。在框202处,虚拟机监控器104和/或调度器核108可以请求内在缓存提示过滤器112识别虚拟机将/应属于的虚拟机的组。内在缓存提示过滤器112可以利用其从各种如上所述的源(例如用于启动虚拟机的模板)接收到的信息,来判定出虚拟机的适当的组。例如,内在缓存提示过滤器112可以判定虚拟机是使用Linux模板启动的。因此,内在缓存提示过滤器112可以给虚拟机分配借助特定操作系统(例如Linux、Windows等)的模板启动的虚拟机的组的组ID。如果没有这样的组,那么例如可以在204处通过虚拟机监控器104、调度器核108、或者内在缓存提示过滤器112,创建新的组并可以分配新的组ID给虚拟机。该新的组ID可以分配给后续的借助类似模板启动的虚拟机。
如果分配给虚拟机的组ID是已知的,那么在框206处,虚拟机监控器104和/或调度器核108可以将虚拟机的虚拟中央处理单元增加到已经绑定到该组ID的物理处理单元。
如果虚拟机的组ID是未知的,这可以表明当前没有物理处理单元102在借助与虚拟机类似的上下文来操作虚拟机的虚拟中央处理单元100。因此,在框208处,虚拟机监控器104和/或调度器核108可以判定是否有空闲的物理处理单元102。
如果有空闲的物理处理单元102,那么在框210处,例如可以由虚拟机监控器104或者调度器核108,在那个物理处理单元102上调度新的虚拟机的一个或多个虚拟中央处理单元。如果没有空闲的物理处理单元102,那么在框212处,虚拟机监控器104和/或调度器核108可以识别另一个适当的物理处理单元102,例如可抢占物理处理单元、操作适当低数量的虚拟中央处理单元100的物理处理单元(例如,操作最少虚拟中央处理单元100的多个物理处理单元的物理处理单元102)、或者由调度器策略所指示的另一个物理处理单元。在框210,虚拟机监控器104和/或调度器核108可以在空闲的/可抢占或者识别的物理处理单元102上调度新的虚拟机的一个或多个虚拟中央处理单元。
如在框210处显示的,在物理处理单元上调度虚拟机的虚拟中央处理单元可以包含各种操作。在框214处,识别出的物理处理单元例如可以通过虚拟机监控器104和/或调度器核108绑定至虚拟机的新的组ID。在一些实施例中,在框216处,物理处理单元的CPU掩码可以被设定为组ID的cpu掩码。在框218处,例如可以通过虚拟机监控器104和/或调度器核108,在通过组ID绑定的识别出的物理处理单元上调度虚拟机的一个或多个虚拟中央处理单元,并可以从组ID继承CPU掩码。与虚拟机有类似上下文的后续虚拟机可以分配相同的组ID。之后,在框206处,那些后续虚拟机的虚拟中央处理单元例如可以通过虚拟机监控器104和/或调度器核108增加在相同的物理处理单元上。
如上所述,虚拟机可以包含多个虚拟中央处理单元,并且虚拟机监控器或者调度器核可以独立地调度每个虚拟中央处理单元。当虚拟机仅使用一个虚拟中央处理单元时,调度虚拟中央处理单元可以类似于调度虚拟机其自身。然而,虚拟中央处理单元其本身可以在所谓的“同胞”物理处理单元(共享缓存的多个物理处理单元)中调度,而不减小缓存命中率。例如,假定第一虚拟机包含两个虚拟中央处理单元(VCPU_A和VCPU_B),而第二虚拟机包含两个虚拟中央处理单元(VCPU_C和VCPU_D)。由于VCPU_A和VCPU_B可以具有相同的存储器访问(第一虚拟机的整个存储器),所以VCPU_A和VCPU_B可以具有100%的上下文类似性。对于VCPU_C和VCPU_D可能是一样。
缓存提示可以包含更复杂的信息,例如每个虚拟机的类似性。这不仅可用于判定是否调度虚拟机,而且也可用于判定是否调度和/或迁移那些虚拟机的虚拟中央处理单元。例如,在CPU过量配置的环境中(即虚拟中央处理单元可能比物理处理单元更多),缓存提示可以包含每个虚拟机的阵列,如下面示例所示:
借助该更复杂的缓存提示,调度器核108可以详细考虑在物理处理单元中虚拟机的虚拟中央处理单元的有效迁移。如上所述,缓存提示可能不是唯一决定因素。其他因素可以包含但是不限于优先级、信用(在使用信用调度器的实施例中)等。
在图3中显示了例如可以通过虚拟机监控器104或者调度器核108在CPU过量配置的环境中实现的示例方法300。如上所述,每个虚拟机缓存提示可以是由虚拟机监控器104和/或调度器核108考虑的多个因素中的一个。
物理处理单元的缓存的内容可以主要由在物理处理单元的运行队列中的现有虚拟中央处理单元填充。在现有系统中,要调度出的最近操作的虚拟中央处理单元可以位于运行队列尾。然而,该最近操作的、本文中称为“VCPU-prev”的虚拟中央处理单元与在运行队列中的其他虚拟中央处理单元相比,可以更负责物理处理单元的缓存的内容。
因此,在框302处,当准备在多个物理处理单元中调度一个或多个虚拟机时,虚拟机监控器104、调度器核108、和/或内在缓存提示过滤器112可以首先判定是否将VCPU-prev迁移至另一个物理处理单元。例如可以由内在缓存提示过滤器112计算:在虚拟机(VCPU-prev是其一部分)与由当前物理处理单元操作的其他虚拟中央处理单元的虚拟机之间的平均上下文类似性。如果上下文类似性平均值大于预定的阈值,那么VCPU-prev可以保持在当前物理处理单元上,并且方法300可以前进至框304,其将在下面进行说明。然而,如果类似性平均值小于预定的阈值,那么虚拟机监控器104和/或调度器核108可以考虑是否将VCPU-prev迁移至另一个物理处理单元。
例如,在框306处,虚拟机监控器104和/或调度器核108可以判定是否有空闲的物理处理单元可用。如果是,那么在310处,虚拟机监控器104和/或调度器核108可以将VCPU-prev迁移至空闲的物理处理单元,并前进至框304。如果否,那么在框308处,虚拟机监控器104和/或调度器核108可以识别操作虚拟机的虚拟中央处理单元的另一个物理处理单元,所述虚拟机与由当前物理处理单元操作的那些相比,具有与VCPU-prev的虚拟机更类似的上下文。然后,在框310处,虚拟机监控器104和/或调度器核108可以将VCPU-prev迁移至识别出的物理处理单元,并前进至框304。
无论是否迁移VCPU-prev,在框304处,虚拟机监控器104和/或调度器核108可以从当前处理器的虚拟中央处理单元识别可以被首先调度的虚拟中央处理单元的子集。例如,在一些实施例中,可以识别具有最高优先级的一个或多个虚拟中央处理单元。在一些实施例中,可以识别准备要被执行但已被延迟(例如被其他虚拟中央处理单元抢占)的一个或多个虚拟中央处理单元。在一些实施例中,可以识别所有的一个或多个虚拟中央处理单元。
在框312处,可以识别在框304识别出的虚拟中央处理单元的子集的虚拟中央处理单元,其虚拟机具有与VCPU-prev的虚拟机最类似的上下文。在框314处,可以调度该子集的识别出的虚拟中央处理单元,以在与VCPU-prev相同的物理处理单元上操作。
本文说明的技术和装置可以在使用适当硬件和/或软件根据期望配置的的系统中实现。图4示出对于一个实施例的,耦合至具有缓存406的至少一个处理器404的示例系统控制逻辑408、耦合至系统控制逻辑408的系统存储器412、耦合至系统控制逻辑408的非易失性存储器(NVM)/存储416、以及耦合至系统控制逻辑408的一个或多个通信接口420。
一个实施例的系统控制逻辑408可以包含任何适当的接口控制器,以向至少一个处理器404和/或向与系统控制逻辑408通信的任何适当的设备或者部件提供任何适当的接口。
一个实施例的系统控制逻辑408可以包含一个或多个存储器控制器,以向系统存储器412提供接口。系统存储器412可以被用于例如对系统400加载并存储数据和/或指令。一个实施例的系统存储器412可以包含任何适当的易失性存储器,例如适当的动态随机存取存储器(“DRAM”)。
一个实施例的系统控制逻辑408可以包含一个或多个输入/输出(“I/O”)控制器,以向NVM/存储416和通信接口420提供接口。
NVM/存储416例如可以被用于存储数据和/或指令。NVM/存储416可以包含任何适当的非易失性存储器,例如闪存,和/或可以包含任何适当的非易失性存储设备,例如一个或多个硬盘驱动器(“HDD”)、一个或多个固态驱动器、一个或多个光盘(“CD”)驱动器、和/或一个或多个数字通用盘(“DVD”)驱动器。
NVM/存储416可以包含设备的存储资源物理部分(系统400安装在设备上),或者它可以但是不一定由设备的一部分访问。例如,NVM/存储416可以经由通信接口420在网络上访问。
系统存储器412和NVM/存储416可以分别包含尤其是虚拟机监控器424的临时和永久副本。虚拟机监控器424可以包含如下指令:当由至少一个处理器404执行时使得系统400在多个物理处理单元中调度虚拟机的虚拟中央处理单元,如上所述。在一些实施例中,虚拟机监控器424可以额外地/替代地位于系统控制逻辑408中。
通信接口420可以向系统400提供接口,以在一个或多个网络上和/或与任何其他适当的设备通信。通信接口420可以包含任何适当的硬件和/或固件,例如网络适配器。
对于一个实施例而言,至少一个处理器404可以与虚拟机监控器424封装在一起,或者系统控制逻辑408与虚拟机监控器424封装在一起。对于一个实施例而言,至少一个处理器404可以与虚拟机监控器424封装在一起,或者系统控制逻辑408与虚拟机监控器424封装在一起,以形成系统封装(“SiP”)。对于一个实施例而言,至少一个处理器404可以与虚拟机监控器424集成在相同的管芯上,或者系统控制逻辑408与虚拟机监控器424集成在相同的管芯上。对于一个实施例而言,至少一个处理器404可以与虚拟机监控器424集成在相同的管上芯上,或者系统控制逻辑408与虚拟机监控器424集成在相同的管芯上,以形成片上系统(“SoC”)。
系统400可以是桌面或者膝上型计算机、服务器计算机系统、移动电话、智能手机、平板、机顶盒、游戏主机、或者适于管理虚拟机的任何其他设备。在各种实施例中,系统400可以具有更多或更少的部件和/或不同的架构。例如,在图4中,系统400包含全球定位系统(“GPS”)模块438、键盘446、液晶显示器(“LCD”)450、图形处理器458、扬声器462、触摸屏466(一些情况下可以与LCD450相同)、以及照相机472,照相机472可以由处理器404操作以捕捉图像用于存储在NVM/存储416中。
尽管出于说明的目的,本文已示出并说明某些实施例,但多种多样的替代和/或等同实施例或者计算来实现相同的目的的实施方式可以替换已示出并说明的实施例,而不脱离本公开的范围。本申请旨在覆盖本文讨论的实施例的任何改编或者变化。因此,显然预期的是本文说明的实施例仅受权利要求及其等同物限制。

Claims (37)

1.至少一种计算机可读存储介质,其中存储有多个指令,所述多个指令被配置为提供具有虚拟机监控器的装置,作为对由所述装置执行所述指令的响应,其中所述虚拟机监控器被配置为判定是否在多个物理处理单元的第一物理处理单元上调度多个虚拟机中的一个的虚拟中央处理单元,其中每个虚拟机具有一个或多个虚拟中央处理单元,并且其中所述判定至少部分基于当操作所述虚拟中央处理单元时,所述虚拟中央处理单元的上下文是否暗示由所述第一物理处理单元在所述装置的一个或多个缓存单元上期望的缓存命中率。
2.如权利要求1所述的至少一种计算机可读存储介质,其中所述虚拟中央处理单元的上下文包含当操作所述虚拟中央处理单元时,由所述第一物理处理单元访问的一个或多个存储器页面。
3.如前述权利要求中任一项所述的至少一种计算机可读存储介质,其中所述虚拟中央处理单元的上下文包含用于启动所述多个虚拟机中的一个的模板。
4.如前述权利要求中任一项所述的至少一种计算机可读存储介质,其中所述虚拟机监控器还被配置为基于测量到的所述第一物理处理单元的的缓存命中率,来判定是否在所述第一物理处理单元上调度所述虚拟中央处理单元。
5.如权利要求4所述的至少一种计算机可读存储介质,其中所述虚拟机监控器还被配置为周期性测量由所述第一物理处理单元在所述装置的一个或多个缓存单元上的缓存命中率。
6.如前述权利要求中任一项所述的至少一种计算机可读存储介质,其中所述虚拟机监控器还被配置为基于所述多个虚拟机的页面共享统计,来判定是否在所述第一物理处理单元上调度所述虚拟中央处理单元。
7.如权利要求6所述的至少一种计算机可读存储介质,其中所述页面共享统计包含页面共享比率。
8.如前述权利要求中任一项所述的至少一种计算机可读存储介质,其中所述第一物理处理单元是云计算系统的主机。
9.如前述权利要求中任一项所述的至少一种计算机可读存储介质,其中所述第一物理处理单元包括共享缓存的一个或多个微处理器核。
10.如前述权利要求中任一项所述的至少一种计算机可读存储介质,其中所述第一物理处理单元包括超线程处理器的一个或多个逻辑处理器。
11.如权利要求1-10中任一项所述的至少一种计算机可读存储介质,其中所述虚拟机监控器还被配置为基于由性能监控单元提供的信息,来判定是否在所述第一物理处理单元上调度所述虚拟中央处理单元。
12.如权利要求11所述的至少一种计算机可读存储介质,其中所述虚拟机监控器还被配置为在预定的时间间隔周期性激活所述性能监控单元。
13.如权利要求11所述的至少一种计算机可读存储介质,其中所述虚拟机监控器还被配置为当在预定的时间间隔期间由所述虚拟机监控器进行的虚拟中央处理单元的调度的动作的计数超过预定的阈值时,激活所述性能监控单元。
14.如权利要求13所述的至少一种计算机可读存储介质,其中所述虚拟机监控器还被配置为当在预定的时间间隔期间由所述虚拟机监控器进行的虚拟中央处理单元的调度的动作的计数降到所述预定的阈值以下时,停止所述性能监控单元。
15.一种系统,包括:
多个物理处理单元;
一个或多个缓存单元;以及
虚拟机监控器,其由所述处理单元中的一个进行操作;
其中所述虚拟机监控器被配置为判定是否在多个物理处理单元的第一物理处理单元上调度多个虚拟机中的一个的虚拟中央处理单元,其中每个虚拟机具有一个或多个虚拟中央处理单元,并且其中所述判定至少部分基于当操作所述虚拟中央处理单元时,所述虚拟中央处理单元的上下文是否暗示由所述物理处理单元在所述系统的一个或多个缓存单元上期望的缓存命中率。
16.如权利要求15所述的系统,还包括由一个处理单元操作的内在缓存提示过滤器,其被配置为接收关于所述虚拟中央处理单元的上下文的信息,其中所述虚拟机监控器至少部分基于接收到的信息,来判定是否在所述第一物理处理单元上调度所述虚拟中央处理单元。
17.如权利要求16所述的系统,其中由所述内在缓存提示过滤器接收到的关于所述虚拟中央处理单元的上下文的信息包含用于启动所述多个虚拟机中的一个的模板。
18.如权利要求16或者17所述的系统,其中由所述内在缓存提示过滤器接收到的关于所述虚拟中央处理单元的上下文的信息包含:当操作所述虚拟中央处理单元时,由所述第一物理处理单元访问的一个或多个存储器页面。
19.如权利要求15-18中任一项所述的系统,其中所述虚拟机监控器还被配置为基于测量到的所述第一物理处理单元的缓存命中率,来判定是否在所述第一物理处理单元上调度所述虚拟中央处理单元。
20.如权利要求19所述的系统,还包括缓存提示剖析代理,其被配置为周期性地测量所述第一物理处理单元的缓存命中率。
21.如权利要求15-20中任一项所述的系统,还包括由一个处理单元操作的页面共享代理,其被配置为编译多个虚拟机的页面共享统计,其中所述虚拟机监控器还被配置为基于所编译的页面共享统计,来判定是否在所述第一物理处理单元上调度所述虚拟中央处理单元。
22.如权利要求21所述的系统,其中所编译的页面共享统计包含页面共享比率。
23.如权利要求15-22中任一项所述的系统,其中所述多个物理处理单元包括云计算系统的主机。
24.如权利要求15-22中任一项所述的系统,其中所述第一物理处理单元包括微处理器核。
25.如权利要求15-22中任一项所述的系统,其中所述第一物理处理单元包括被配置用于超线程的处理器的逻辑处理单元。
26.如权利要求15-25中任一项所述的系统,还包括性能监控单元,其中所述虚拟机监控器还被配置为基于由所述性能监控单元提供的信息,来判定是否在所述第一物理处理单元上调度所述虚拟中央处理单元。
27.如权利要求26所述的系统,其中所述虚拟机监控器还被配置为在预定的时间间隔周期性地激活所述性能监控单元。
28.如权利要求26所述的系统,其中所述虚拟机监控器还被配置为当在预定的时间间隔期间由所述虚拟机监控器进行的虚拟中央处理单元的调度的动作的计数超过预定的阈值时,激活所述性能监控单元。
29.如权利要求28所述的系统,其中所述虚拟机监控器还被配置为当在预定的时间间隔期间由所述虚拟机监控器进行的虚拟中央处理单元的调度的动作的计数降到所述预定的阈值以下时,停止所述性能监控单元。
30.如权利要求15-29中任一项所述的系统,还包括可由一个所述处理单元操作的照相机,以捕捉图像数据用于存储在存储器中。
31.一种方法,包括:
通过虚拟机监控器接收关于由多个物理处理单元操作的多个虚拟机的上下文信息;以及
通过所述虚拟机监控器判定是否在多个物理处理单元的第一物理处理单元上调度所述多个虚拟机中的一个的虚拟中央处理单元,其中每个虚拟机具有一个或多个虚拟中央处理单元,并且其中所述判定至少部分基于当操作所述虚拟中央处理单元时,接收到的上下文信息是否暗示由所述第一物理处理单元在一个或多个缓存单元上期望的缓存命中率。
32.如权利要求31所述的方法,其中接收到的上下文信息包含用于启动所述多个虚拟机中的一个的模板,或者所述多个虚拟机的页面共享统计。
33.如权利要求31或32所述的方法,还包括:
通过所述虚拟机监控器监控由所述第一物理处理单元在一个或多个缓存单元上的缓存命中率;以及
通过所述虚拟机监控器,至少部分基于所监控的缓存命中率,来判定是否调度所述虚拟中央处理单元给所述第一物理处理单元。
34.如权利要求31-33中任一项所述的方法,其中所述第一物理处理单元包括云计算系统的主机或者微处理器核。
35.如权利要求31-34中任一项所述的方法,还包括通过所述虚拟机监控器,至少部分基于由性能监控单元提供的信息,来判定是否在所述第一物理处理单元上调度所述虚拟中央处理单元。
36.如权利要求35所述的方法,还包括在预定的时间间隔,通过所述虚拟机监控器周期性地激活所述性能监控单元。
37.如权利要求36所述的方法,还包括:
当在预定的时间间隔期间由所述虚拟机监控器进行的虚拟中央处理单元的调度的动作的计数超过预定的阈值时,通过所述虚拟机监控器激活所述性能监控单元;以及
当在预定的时间间隔期间由所述虚拟机监控器进行的虚拟中央处理单元的调度的动作的所述计数降到所述预定的阈值以下时,通过所述虚拟机监控器停止所述性能监控单元。
CN201180075895.XA 2011-12-26 2011-12-26 在物理处理单元中调度虚拟机的虚拟中央处理单元 Expired - Fee Related CN104011680B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/084626 WO2013097068A1 (en) 2011-12-26 2011-12-26 Scheduling virtual central processing units of virtual machines among physical processing units

Publications (2)

Publication Number Publication Date
CN104011680A true CN104011680A (zh) 2014-08-27
CN104011680B CN104011680B (zh) 2017-03-01

Family

ID=48655869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180075895.XA Expired - Fee Related CN104011680B (zh) 2011-12-26 2011-12-26 在物理处理单元中调度虚拟机的虚拟中央处理单元

Country Status (4)

Country Link
US (1) US9098337B2 (zh)
EP (1) EP2798489A4 (zh)
CN (1) CN104011680B (zh)
WO (1) WO2013097068A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016206047A1 (en) * 2015-06-25 2016-12-29 Intel Corporation Techniques for reliable primary and secondary containers
CN108431777A (zh) * 2015-12-18 2018-08-21 瑞典爱立信有限公司 用于处理装置的利用的方法和装置
CN108701046A (zh) * 2015-12-23 2018-10-23 英特尔Ip公司 用于避免虚拟机之间的物理cpu争用的虚拟cpu合并

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621460B2 (en) * 2009-11-02 2013-12-31 International Business Machines Corporation Endpoint-hosted hypervisor management
US10187452B2 (en) 2012-08-23 2019-01-22 TidalScale, Inc. Hierarchical dynamic scheduling
CN103064746B (zh) * 2013-01-23 2015-08-12 上海交通大学 基于当前credit进行预测调度的处理器资源精确分配方法
WO2015034506A1 (en) * 2013-09-05 2015-03-12 TidalScale, Inc. Selective resource migration
WO2015099701A1 (en) 2013-12-24 2015-07-02 Intel Corporation Cloud compute scheduling using a heuristic contention model
WO2015139195A1 (en) * 2014-03-18 2015-09-24 Dalian University Of Technology Countering attacks on cache
CN106133691A (zh) * 2014-03-27 2016-11-16 日本电气株式会社 虚拟机系统及其控制方法和控制程序记录介质
US9632840B2 (en) * 2014-04-22 2017-04-25 International Business Machines Corporation Load balancing with granularly redistributable workloads
US10649796B2 (en) 2014-06-27 2020-05-12 Amazon Technologies, Inc. Rolling resource credits for scheduling of virtual computer resources
US10353736B2 (en) 2016-08-29 2019-07-16 TidalScale, Inc. Associating working sets and threads
US10095550B2 (en) * 2016-10-19 2018-10-09 International Business Machines Corporation Performance-based reallocating of logical processing units to sockets of a computer system
US10481936B2 (en) 2017-02-22 2019-11-19 Red Hat Israel, Ltd. Efficient virtual machine memory monitoring with hyper-threading
US11023135B2 (en) 2017-06-27 2021-06-01 TidalScale, Inc. Handling frequently accessed pages
US10817347B2 (en) 2017-08-31 2020-10-27 TidalScale, Inc. Entanglement of pages and guest threads
US11157561B2 (en) * 2017-12-10 2021-10-26 Scylla DB Ltd. Heat-based load balancing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1904839A (zh) * 2005-07-26 2007-01-31 国际商业机器公司 捕获虚拟机的中央处理单元利用的方法、系统及程序产品
CN101169731A (zh) * 2007-12-05 2008-04-30 华为技术有限公司 多路多核服务器及其cpu的虚拟化处理方法
CN101183315A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种并行多处理器虚拟机系统
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法
US20120226866A1 (en) * 2011-03-02 2012-09-06 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling
US20120254860A1 (en) * 2011-03-28 2012-10-04 International Business Machines Corporation Virtual machine placement to improve memory utilization

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343598B2 (en) * 2003-04-25 2008-03-11 Microsoft Corporation Cache-conscious coallocation of hot data streams
US8065441B2 (en) * 2005-08-19 2011-11-22 Intel Corporation Method and apparatus for supporting universal serial bus devices in a virtualized environment
US7802073B1 (en) * 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
US7865895B2 (en) * 2006-05-18 2011-01-04 International Business Machines Corporation Heuristic based affinity dispatching for shared processor partition dispatching
US8028286B2 (en) * 2006-11-30 2011-09-27 Oracle America, Inc. Methods and apparatus for scheduling threads on multicore processors under fair distribution of cache and other shared resources of the processors
US20090077550A1 (en) * 2007-09-13 2009-03-19 Scott Rhine Virtual machine schedular with memory access control
JP2009223842A (ja) * 2008-03-19 2009-10-01 Fujitsu Ltd 仮想計算機制御プログラム及び仮想計算機システム
US9135079B2 (en) * 2009-10-21 2015-09-15 International Business Machines Corporation Dynamically assigning a portion of physical computing resource to logical partitions based on characteristics of executing logical partitions
US8959217B2 (en) * 2010-01-15 2015-02-17 Joyent, Inc. Managing workloads and hardware resources in a cloud resource
US8443376B2 (en) * 2010-06-01 2013-05-14 Microsoft Corporation Hypervisor scheduler
US8898664B2 (en) * 2010-06-01 2014-11-25 Microsoft Corporation Exposure of virtual cache topology to a guest operating system
US8874823B2 (en) * 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1904839A (zh) * 2005-07-26 2007-01-31 国际商业机器公司 捕获虚拟机的中央处理单元利用的方法、系统及程序产品
CN101169731A (zh) * 2007-12-05 2008-04-30 华为技术有限公司 多路多核服务器及其cpu的虚拟化处理方法
CN101183315A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种并行多处理器虚拟机系统
US20120226866A1 (en) * 2011-03-02 2012-09-06 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling
US8478961B2 (en) * 2011-03-02 2013-07-02 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling
US20120254860A1 (en) * 2011-03-28 2012-10-04 International Business Machines Corporation Virtual machine placement to improve memory utilization
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016206047A1 (en) * 2015-06-25 2016-12-29 Intel Corporation Techniques for reliable primary and secondary containers
CN108431777A (zh) * 2015-12-18 2018-08-21 瑞典爱立信有限公司 用于处理装置的利用的方法和装置
CN108701046A (zh) * 2015-12-23 2018-10-23 英特尔Ip公司 用于避免虚拟机之间的物理cpu争用的虚拟cpu合并

Also Published As

Publication number Publication date
US9098337B2 (en) 2015-08-04
EP2798489A4 (en) 2016-06-22
WO2013097068A1 (en) 2013-07-04
CN104011680B (zh) 2017-03-01
US20130167146A1 (en) 2013-06-27
EP2798489A1 (en) 2014-11-05

Similar Documents

Publication Publication Date Title
CN104011680A (zh) 在物理处理单元中调度虚拟机的虚拟中央处理单元
US9727355B2 (en) Virtual Hadoop manager
CN102314377B (zh) 加速器及其实现支持虚拟机迁移的方法
US9665440B2 (en) Methods and systems for removing virtual machine snapshots
JP2019194914A (ja) 仮想コンピュータリソースのスケジューリングのためのローリングリソースクレジット
US10007525B2 (en) Freelist based global completion table having both thread-specific and global completion table identifiers
JP4768354B2 (ja) ジョブ管理装置、ジョブ管理方法、ジョブ管理プログラム
US9170840B2 (en) Duration sensitive scheduling in a computing environment
US20200159587A1 (en) Releasable resource based preemptive scheduling
KR101707601B1 (ko) 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
US9507636B2 (en) Resource management and allocation using history information stored in application's commit signature log
US20150378782A1 (en) Scheduling of tasks on idle processors without context switching
US11074134B2 (en) Space management for snapshots of execution images
US20190235902A1 (en) Bully vm detection in a hyperconverged system
Pongsakorn et al. Container rebalancing: Towards proactive linux containers placement optimization in a data center
CN105378668A (zh) 多处理器系统中的操作系统管理的中断引导
AU2015265595B2 (en) System and method for dynamic collection of system management data in a mainframe computing environment
US8868876B2 (en) Dedicated large page memory pools
US9612907B2 (en) Power efficient distribution and execution of tasks upon hardware fault with multiple processors
US9703614B2 (en) Managing a free list of resources to decrease control complexity and reduce power consumption
Kannan Enabling fairness in cloud computing infrastructures
US20090241111A1 (en) Recording medium having instruction log acquiring program recorded therein and virtual computer system
Liu et al. Sailfish: A Dependency-Aware and Resource Efficient Scheduling for Low Latency in Clouds
CN116225691A (zh) 基于容器的图形处理器虚拟化资源调度方法及其装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170301

Termination date: 20201226

CF01 Termination of patent right due to non-payment of annual fee