CN102576331A - 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 - Google Patents

用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 Download PDF

Info

Publication number
CN102576331A
CN102576331A CN2010800419034A CN201080041903A CN102576331A CN 102576331 A CN102576331 A CN 102576331A CN 2010800419034 A CN2010800419034 A CN 2010800419034A CN 201080041903 A CN201080041903 A CN 201080041903A CN 102576331 A CN102576331 A CN 102576331A
Authority
CN
China
Prior art keywords
virtual
virtual server
cloud
refuse collection
volatibility
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
CN2010800419034A
Other languages
English (en)
Other versions
CN102576331B (zh
Inventor
S·加尔马克
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.)
Oracle International Corp
Original Assignee
Oracle International 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 Oracle International Corp filed Critical Oracle International Corp
Priority to CN201510140141.8A priority Critical patent/CN104699625B/zh
Publication of CN102576331A publication Critical patent/CN102576331A/zh
Application granted granted Critical
Publication of CN102576331B publication Critical patent/CN102576331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced 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/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/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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

用于在虚拟机监视器内运行的虚拟机(例如,Java虚拟机(JVM))之间同步瞬时资源使用的系统和方法。根据一个实施例,该系统允许同步垃圾收集和代码优化以降低瞬时处理器(cpu)和存储器使用。根据一个实施例,该系统包括计算机;用于执行运行JVM的虚拟服务器的虚拟机监视器;虚拟服务器之间的通信信道;其中,每一虚拟服务器都还包括非瞬时和瞬时存储器和同步模块。根据一个实施例,同步模块调度垃圾收集和代码优化以最小化重叠,从而降低峰值瞬时存储器和cpu使用,以及所产生的计算机内的瞬时资源使用的易失性。根据另一实施例,云管理器能够在计算机之间移动虚拟服务器,以优化云内的计算机易失性。

Description

用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法
版权声明
此专利文献的说明书的一部分包含受版权保护的材料。版权所有者不反对任何人影印专利文献或专利说明书,因为它出现在专利局专利文件或记录中,但在别的方面却保留所有版权。
技术领域
本发明一般涉及应用服务器和虚拟机,特别涉及用于在虚拟机监视器(hypervisor)内运行的虚拟机(例如,JVM)之间同步瞬时资源使用情况的系统和方法。
背景技术
使用虚拟机监视器的服务器虚拟化是降低服务器的操作成本以及改善能量效率的有价值的技术。带有标准操作系统和不同的服务器应用的标准服务器很少一直被完全使用。由于当软件空闲时当前服务器硬件不会显著降低能量消耗,这将导致能量浪费。服务器虚拟化可使许多虚拟服务器在单个物理服务器上运行,因此,以前浪费的处理器(cpu)周期和存储器可以供另一个虚拟服务器使用。使此成为可能的软件此处被称为虚拟机监视器。
当操作系统和服务器应用被虚拟化到物理硬件上时,必须提供安全裕量,以处理当服务器应用的cpu周期使用和/或存储器使用中有突发浪涌时的那些情况。取决于服务器应用资源使用的易失性如何,此裕量可以是很小的或大的。如果在虚拟机监视器内运行的所有虚拟服务器的总的易失性低,那么,裕量可以保持得小些,这将一般提供较高的节省量,因为更多虚拟服务器可以可靠地在同一个物理硬件上运行。
许多服务器应用当前是以高级语言Java编写的。这样的应用与Java虚拟机(JVM)一起运行。令人遗憾的是,JVM的cpu周期和存储器使用十分易失,并独立于服务器应用本身。这是由于这一事实:JVM必须对Java堆进行垃圾收集,以及优化被检测为热点的代码。这些资源使用是瞬时的并且是显著的。
由于此,虚拟化的Java应用需要比其他服务器应用更大的安全裕量,这意味着虚拟化的Java服务器应用的虚拟化节省量小于其他类型的服务器应用的虚拟化节省量。这是本发明的各实施例旨在解决的方面。
发明内容
此处公开了用于在虚拟机监视器内运行的虚拟机(例如,Java虚拟机(JVM))之间同步瞬时资源使用的系统和方法。根据一个实施例,系统允许同步垃圾收集和代码优化,以降低瞬时处理器(cpu)和存储器使用。根据一个实施例,系统包括计算机;用于执行各自运行JVM的虚拟服务器的虚拟机监视器;虚拟服务器之间的通信信道;其中,每一虚拟服务器进一步包括非瞬时和瞬时存储器和同步模块。根据一个实施例,同步模块调度垃圾收集和代码优化以最小化重叠,从而降低峰值瞬时存储器和cpu使用,以及所产生的计算机内的瞬时资源使用的易失性。根据另一实施例,云管理器可以在计算机之间移动虚拟服务器,以优化云内的计算机易失性。
附图说明
图1示出了根据一个实施例的用于同步瞬时资源使用的系统的图示。
图2示出了根据一个实施例的示出了如何提前垃圾回收的图。
图3示出了根据一个实施例的如何使用轮询的方案来防止单独的JVM中的并行代码优化的图示。
图4示出了根据一个实施例的如何通过提前垃圾收集和推迟代码优化来在三个JVM之间实现同步的图示。
图5示出了根据一个实施例以不同规模实现的同步和低易失性的图示。
图6示出了根据一个实施例的同步瞬时资源使用的方法的流程图。
图7示出了根据一个实施例的提前垃圾收集以避免重叠的方法的流程图。
图8示出了根据一个实施例的云管理器如何控制计算机的云以降低计算机易失性的图示。
图9示出了根据一个实施例的云管理器如何控制计算机的云以减少计算机资源使用的图示。
具体实施方式
此处描述了用于在虚拟机(例如,在虚拟机监视器内运行的JVM)之间同步瞬时资源使用的系统和方法。如此处所描述的,需要降低每一虚拟服务器的资源使用易失性,以允许更多虚拟服务器在同一个虚拟机监视器内安全地运行。令人遗憾的是,JVM对于可以消耗大量的存储器和处理器(cpu)资源的垃圾收集和代码优化具有相当高的易失性。
根据一个实施例,提供了通过提前或推迟不同的JVM中的进程的执行而允许瞬时资源使用被同步从而避免瞬时资源使用中的峰值的系统和方法;如此,降低易失性并允许更多虚拟服务器在单个虚拟机监视器内以相同安全裕量运行。这是可能的,因为垃圾收集和代码优化是这样的进程:其中,前者可以被提前,而后者可以被推迟,而不会显著影响正在运行的系统的性能。
避免重叠的进程并不总是可能的。固定时间段内的重叠的瞬时进程的数量是计算机的总的易失性的指标。根据一个实施例,此数量可以被用来评估计算机是否具有好的安全裕量。根据另一实施例,虚拟服务器可以在云内的计算机之间移动,以降低具有高易失性的服务器的易失性,并增大具有无效力地低的易失性的服务器的易失性。根据另一实施例,只能运行单个JVM的定制的操作系统可以降低虚拟服务器的易失性,因为没有其他可能的进程争夺资源。
图1示出了根据一个实施例的系统的图示。如图1所示,系统的实施例一般包括具有在其上面运行了多个虚拟服务器104,105,107的虚拟机监视器102的计算机100。
每一虚拟服务器都运行需要内部存储器106,109,111才能运转的JVM。每一虚拟服务器进一步包括执行应用服务器代码所需的Java堆108,113,115。内部存储器和堆两者都被视为缓慢地改变大小的非瞬时存储器110(如果是的话)。
诸如垃圾收集之类的短寿命的进程要求存储器112执行。短命的进程的其他示例是代码优化,以及它执行所需的存储器114。这些短命的进程所需的存储器被视为瞬时存储器116。
每一虚拟服务器包含同步模块118,119,120。随机地选择这些同步模块中的一个为主同步模块120。主同步模块使用通信信道122来同步在虚拟机监视器内运行的所有虚拟服务器的瞬时资源使用。这可以用于例如防止并行运行不同虚拟服务器中的垃圾收集和码生成,并且从而降低瞬时存储器和cpu循环的峰值使用情况。
图2示出了根据一个实施例的示出了如何提前垃圾回收的图。如图2所示,图200示出了Java堆的已使用的存储器202如何随着时间的推移而增大的示例。
已使用的存储器中的每一小的下降204都是非常快速的并要求少量的cpu和存储器使用的幼儿园(nursery)垃圾收集的结果。
已使用的存储器206中的比较大的下降是可以要求大量的cpu和存储器使用的整个堆垃圾收集的结果。当在时间208用完所有Java堆时,将迫使整个堆垃圾收集。根据一个实施例,可以利用Java堆使用图的斜率的线性近似,并延长此线,直到它达到Java堆大小210,来预测此时间。可以预测垃圾的结束时间是开始时间加同一个JVM中的前一垃圾收集的长度。
垃圾收集可以在208之前任何时候启动,即,它被提前到其天然的执行时间(这是Java堆已满时)之前。在时间212,主同步模块需要将预测的垃圾收集从时间208提前到时间214。根据一个实施例,这是通过使用通信信道122来发送开始GC令牌216以及合适的期限来实现的,以确保GC在时间214之前发生。
图3示出了根据一个实施例的如何使用由主同步模块控制的轮询方案来防止各个JVM中发生并行代码优化的图示。如图3所示,提供了三个优化队列300,301,303,一个队列用于多个JVM中的每一个,其中,每一队列都包含需要对于该JVM被优化的方法的列表。已优化的代码通常不在不同的JVM之间共享,因为优化有时取决于在JVM之间可能不同的运行时行为。不在不同的JVM之间共享已优化的代码的另一原因是,已优化的代码还编码对只在该特定JVM内有效的固定地址的多个运行时引用。如果已优化的代码将在不同的JVMs之间移动,这些引用必须被重新链接。如此示例所示,在第一JVM已经优化了方法Buyer.toString 302之后,同步模块将优化令牌304传输到第二JVM。在至多由优化令牌所指定的某一时间(在本实例中是1s)内,优化令牌给予该JVM优化方法的权利。一旦方法被优化,就可以将优化令牌提供到另一JVM,并且进程以循环(striping)方式跨多个JVM地继续。
有效地,JVM处的每个优化被推迟,直到JVM接收到优化令牌。如果JVM未能在分配的时间内完成优化,则它必须中止优化,在此实例中示出为已中止的优化306,稍后,当JVM稍后被给予新优化令牌时,重新启动优化。将失败报告到同步模块,该同步模块可以将经修改的优化令牌308发送到JVM,该JVM使原始时隙的长度翻倍(在本实例中是2s)。如此,MusicPurchase.sample的优化可以随后被重新启动310,并具有较高的完成可能性。
图4示出了根据一个实施例的如何通过提前垃圾收集和推迟代码优化来在三个JVM之间实现同步的图示。如图4所示,垃圾收集和代码优化的日程表连续地发展,从日程表的不同实例400,402,404,406408。垃圾收集被可视化为矩形,而代码优化被可视化为椭圆。
在所示出的示例中,在日程表400的第一实例中,在时间412,主同步模块从JVM1接收了预测的垃圾收集414,从时间412开始,在时间416终止。它还调度了代码优化418。JVM 3预测了垃圾收集420;而JVM 2预测了收集422。
在时间424,主同步模块从JVM请求新预测,并将日程表从其原始实例400更新到经修改的实例402。在此示例中,对于JVM 1,用新预测的垃圾收集426,更新日程表。主同步模块还检测到垃圾收集422的预测的开始时间移动到428,因此与当前预测的垃圾收集420重叠。
为解决此,主同步模块更新日程表404,并将垃圾收集420提前到足够避免重叠的新时间430。它通过将合适的开始GC令牌发送到JVM 3来这样做。令人遗憾的是,调度的优化418必须被推迟,因为以前的优化统计信息示出了它将不能在缩短的时间帧内完成,所以它不能被开始。因此,它被移动到时间432。
在时间434,主同步模块再次从JVM获取最新的预测,并且因此可以更新日程表406,408,并调度新优化436。
图5示出了根据一个实施例的以不同规模实现的同步和低易失性的图示。如图5所示,日程表500示出了反映现实世界值(在此示例中为20秒)的规模502的实际垃圾收集和代码优化。垃圾收集再次被可视化为矩形504,代码优化被可视化为椭圆506。在所示出的示例中,大部分垃圾收集和代码优化是不相重叠的,两个垃圾收集被调度为同时发生的情况508和一个垃圾收集和一个代码优化同时发生的情况510除外。值得注意的是,没有两个代码优化被调度为同时发生。因此,重叠的数量是2,这是在20秒的时间段内计算机的易失性。
图6示出了根据一个实施例的同步瞬时资源使用的方法的流程图。如图6所示,在步骤600中,主同步模块将等待来自任何JVM的、垃圾收集或代码优化已经开始或结束的通知。JVM也可以通知主同步模块,以前报告的预测的垃圾收集时间已经改变。在步骤602中,主同步模块从在虚拟机监视器内运行的所有JVM请求垃圾收集的开始和结束时间的预测。它相应地更新日程表。在步骤604中,主同步模块通过将预测的垃圾收集的开始时间提前,来检测垃圾收集重叠并且最小化重叠。如果迫使JVM早于预测的进行垃圾收集或如果垃圾收集不能被提前,则仍可以有重叠。如果应用行为突然变化,则这会发生。在步骤606中,主同步模块检测代码优化和垃圾收集之间的重叠,如果它发现重叠,则代码优化被延迟以避免重叠。如果迫使JVM早于预测的进行垃圾收集,则仍可能有重叠。在步骤608中,主同步模块使用轮询机制来调度新代码优化。在步骤610中,主同步模块再次进入等待状态。
图7示出了根据一个实施例的提前垃圾收集以避免重叠的方法的流程图。如图7所示,在步骤700中,主同步模块在每一垃圾收集的时间在每一开始和结束点重复。在每一时间点,它计数在该特定时间点,有多少其他垃圾收集是活动的。它存储最大数量的并行活动的垃圾收集。在步骤702中,检查存储的数量是否是零,因为如果是零,那么没有重叠的垃圾收集,且方法将结束704。如果有重叠的垃圾收集706,那么,在步骤708中,方法对于重叠任何其他垃圾收集的每一个垃圾收集计算必须将该垃圾收集提前多少,直到减少了并行重叠的垃圾收集的最大数量。不管被提前多少都不能减少并行垃圾收集的最大数量的垃圾收集是不可提前的。如果所有垃圾收集都是不可提前的712,则方法结束。如果有可提前的垃圾收集714,那么系统挑选要求最小的提前量的一个716,并提前此垃圾收集。然后,该方法在步骤700处重新开始。
如图7所示的方法必然最终结束,因为在每次重复时,它将减少并行垃圾收集的最大数量(步骤716)。如果它不能减少并行垃圾收集的数量,它将结束在没有重叠垃圾收集时的步骤702中,或无法作出改进时的步骤710中。
图8示出了根据一个实施例的云管理器如何控制计算机的云以降低计算机易失性的图示。如图8所示,计算机800的云包括单个计算机802,804,806,每一计算机都执行多个执行一个或多个JVM 808的虚拟服务器。每一单个计算机内的JVM都与该计算机上的主同步模块810,812,814相关联。根据一个实施例,主同步模块受云易失性管理器816控制,云易失性管理器816可以与一般被提供这样的云环境的其它管理工具818一起工作。如果第一计算机802具有高总易失性,即,在此计算机上运行的虚拟服务器之间,在垃圾收集和代码优化之间有许多冲突,并且第二计算机804具有低总易失性,那么,云易失性管理器816可以决定切换或改变虚拟服务器820和822的计算机主机824。如果计算机802的总易失性的减少没有超过804增大的总的易失性,那么,切换将恢复。根据一个实施例,切换之前可以检查虚拟服务器820具有比虚拟服务器822更不可预测的行为。这可以例如通过垃圾收集之间的距离的标准偏差来测量。
图9示出了根据一个实施例的云管理器如何控制计算机的云以减少计算机资源使用的图示。如图9所示,计算机900的云包括单个计算机902,904,906,每一计算机都执行多个执行一个或多个JVM的虚拟服务器。每一JVM都具有非瞬时存储器使用908和瞬时存储器使用910。为实现最大的存储器和cpu使用节省,云易失性管理器定位同一个计算机上的带有相同瞬时存储器和cpu使用的虚拟服务器也很重要。因此,云900是次优的,因为所有计算机902,904和906都要求相同的大量的瞬时存储器。通过将虚拟服务器重新定位到新云配置911中,服务器912的最大瞬时存储器使用几乎相当于原始配置902。然而,与它们的原始配置904和906相比,对于914和916,最大瞬时存储器使用显著降低。根据一个实施例,这样的重新定位基于虚拟服务器的瞬时存储器使用的平均值和标准偏差。由于减少了瞬时存储器使用,因此,可以在计算机914和916上托管更多虚拟服务器。
可以通过使用根据本发明的原理编程的一个或多个常规的通用或专用数字计算机、计算设备、机器或微处理器来方便地实现本发明。对于那些精通软件技术的人来说显而易见的是,可以由熟练的程序员基于本发明的原理轻松地编制适当的软件代码。
在某些实施例中,本发明包括计算机程序产品,该产品是其中存储了指令的存储介质或计算机可读介质,这些指令可以用来对计算机进行编程,以执行本发明的任何一个进程。存储介质可以包括,但不仅限于,任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微驱动,以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、FLASH存储器设备、磁卡或光卡,纳米系统(包括分子存储器IC),适于存储指令和/或数据的任何类型的介质或设备。
前面的对本发明的描述只是为了说明和描述。它不是详尽的说明或将本发明限于所公开的准确的形式。那些精通本技术的专业人员将认识到,可以进行许多修改。所选择和描述的实施例只是为了最好地说明本发明的原理以及其实际应用,并使精通本技术的其他人懂得,带有适合于特定用途的各种修改的各实施例的本发明也是可以接受的。本发明的范围由下面的权利要求以及它们的等效内容进行定义。

Claims (19)

1.一种用于同步虚拟机监视器环境中的虚拟服务器之间的瞬时资源使用的系统,包括:
计算机,所述计算机包括:
在其上运行的用于执行虚拟服务器的虚拟机监视器,以及
能够在所述虚拟服务器之间进行同步的通信信道;
在所述虚拟机监视器上执行的多个虚拟服务器,每一个虚拟服务器都包括
用于存储和执行寿命相对长的进程的非瞬时存储器空间或堆;
用于存储和执行寿命相对短的进程的瞬时存储器空间或堆;以及
其中,所述虚拟服务器能够提前或推迟利用所述瞬时存储器空间或堆的那些进程的执行,以在所述多个虚拟服务器之间同步瞬时资源使用。
2.如权利要求1所述的系统,其中,每一虚拟服务器都运行一个或多个Java虚拟机JVM。
3.如权利要求1所述的系统,其中,所述虚拟服务器中的一个或多个具有被定制以仅运行单个JVM并降低所述单个JVM的易失性的操作系统。
4.如权利要求1所述的系统,其中,所述非瞬时存储器包括内部JVM存储器和Java堆存储器。
5.如权利要求1所述的系统,其中,所述瞬时存储器是用于垃圾回收进程的存储器。
6.如权利要求1所述的系统,其中,所述瞬时存储器是用于代码优化进程的存储器。
7.如权利要求1所述的系统,其中,所述多个虚拟服务器中的每一个还包括同步模块,所述同步模块确定垃圾收集、代码优化,或该虚拟服务器上的其他进程的时间的预测。
8.如权利要求7所述的系统,其中,所述瞬时存储器是用于垃圾回收进程的存储器,并且其中,所述同步模块提前垃圾收集以避免与其他垃圾收集重叠。
9.如权利要求7所述的系统,其中,所述瞬时存储器是用于代码优化进程的存储器,并且其中,所述同步模块推迟代码优化以避免与垃圾收集及其他代码优化重叠。
10.如权利要求1所述的系统,其中,使用实际重叠的数量来确定计算机是否能够托管更多虚拟服务器。
11.如权利要求7所述的系统,其中,所述多个虚拟服务器中的每一个进一步包括同步模块,并且其中,所述同步模块中的一个被选为所述主同步模块,其中,所述主同步模块从其他虚拟服务器中的所述同步模块请求新预测,并使用所述预测来将垃圾收集、代码优化或其他进程的日程表从原始日程表更新到经修改的日程表。
12.如权利要求7所述的系统,其中,所述同步模块使用所述通信信道来在所述多个虚拟服务器之间传递信息,并在所述虚拟服务器之间同步瞬时资源使用。
13.如权利要求1所述的系统,其中,所述通信信道是作为所述虚拟机监视器的一部分来提供的。
14.如权利要求7所述的系统,其中,所述同步模块中的每一个都执行下列步骤:
等待来自虚拟服务器的通知,
从所有其他虚拟服务器请求垃圾收集预测,
通过根据需要将垃圾收集提前,检测和最小化垃圾收集重叠的数量,
通过根据需要将代码优化推迟,检测和最小化代码优化重叠的数量,以及
调度垃圾收集、代码优化或其他进程以在所述多个虚拟服务器之间同步瞬时资源使用。
15.如权利要求1所述的系统,其中,所述系统被用作用于控制虚拟服务器的云的易失性的组件,并且其中,所述系统还包括:
监测所述云内的计算机的易失性的云易失性管理器;
参与所述云的多个计算机,一台或多台计算机中的每一台都还包括
具有测量的资源使用易失性、并被配置成在所述多个虚拟服务器之间同步瞬时资源使用的虚拟服务器;以及
其中,所述云易失性管理器能够将虚拟服务器从参与所述云的所述多个计算机中的第一计算机切换或移动到参与所述云的所述多个计算机中的第二计算机,以改善所述云中的易失性。
16.一种用于同步虚拟机监视器环境中的虚拟服务器之间的瞬时资源使用的方法,包括下列步骤:
提供包括下列各项的计算机
在其上运行的用于执行虚拟服务器的虚拟机监视器,以及
能够在所述虚拟服务器之间进行同步的通信信道;
提供在所述虚拟机监视器上执行的多个虚拟服务器,每一个虚拟服务器都包括
用于存储和执行寿命相对长的进程的非瞬时存储器空间或堆;
用于存储和执行寿命相对短的进程的瞬时存储器空间或堆;以及
其中,所述虚拟服务器能够提前或推迟利用所述瞬时存储器空间或堆的那些进程的执行,以在所述多个虚拟服务器之间同步瞬时资源使用。
17.如权利要求1所述的方法,其中,所述多个虚拟服务器中的每一个还包括同步模块,所述同步模块确定垃圾收集、代码优化,或该虚拟服务器上的其他进程的时间的预测,并且其中,所述同步模块中的每一个都执行下列步骤:
等待来自虚拟服务器的通知,
从所有其他虚拟服务器请求垃圾收集预测,通过根据需要将垃圾收集提前,检测和最小化垃圾收集重叠的数量,
通过根据需要将代码优化推迟,检测和最小化代码优化重叠的数量,以及
调度垃圾收集、代码优化或其他进程以在所述多个虚拟服务器之间同步瞬时资源使用。
18.如权利要求1所述的方法,其中,所述方法被用作用于控制虚拟服务器的云的易失性的组件,并且其中,所述方法还包括:
提供监测所述云内的计算机的易失性的云易失性管理器;
提供参与所述云的多个计算机,一台或多台计算机中的每一台进一步包括具有测量的资源使用易失性、并被配置成在所述多个虚拟服务器之间同步瞬时资源使用的虚拟服务器;以及
其中,所述云易失性管理器能够将虚拟服务器从参与所述云的所述多个计算机中的第一计算机切换或移动到参与所述云的所述多个计算机中的第二计算机,以改善所述云中的易失性。
19.一种计算机可读介质,包括在其上存储了当被一台或多台计算机读取和执行时使所述一台或多台计算机执行包括下列步骤的所述方法的指令:
提供包括下列各项的计算机
在其上运行的用于执行虚拟服务器的虚拟机监视器,以及
能够在所述虚拟服务器之间进行同步的通信信道;
提供在所述虚拟机监视器上执行的多个虚拟服务器,每一个虚拟服务器包括
用于存储和执行寿命相对长的进程的非瞬时存储器空间或堆;
用于存储和执行寿命相对短的进程的瞬时存储器空间或堆;以及
其中,所述虚拟服务器能够提前或推迟利用所述瞬时存储器空间或堆的那些进程的执行,以在所述多个虚拟服务器之间同步瞬时资源使用。
CN201080041903.4A 2009-09-21 2010-08-30 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 Active CN102576331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510140141.8A CN104699625B (zh) 2009-09-21 2010-08-30 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/563,440 2009-09-21
US12/563,440 US8261269B2 (en) 2009-09-21 2009-09-21 System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment
PCT/US2010/047163 WO2011034717A1 (en) 2009-09-21 2010-08-30 System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510140141.8A Division CN104699625B (zh) 2009-09-21 2010-08-30 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法

Publications (2)

Publication Number Publication Date
CN102576331A true CN102576331A (zh) 2012-07-11
CN102576331B CN102576331B (zh) 2015-05-13

Family

ID=43064426

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510140141.8A Active CN104699625B (zh) 2009-09-21 2010-08-30 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法
CN201080041903.4A Active CN102576331B (zh) 2009-09-21 2010-08-30 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201510140141.8A Active CN104699625B (zh) 2009-09-21 2010-08-30 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法

Country Status (5)

Country Link
US (2) US8261269B2 (zh)
EP (1) EP2480972B1 (zh)
JP (2) JP5627689B2 (zh)
CN (2) CN104699625B (zh)
WO (1) WO2011034717A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838633A (zh) * 2012-11-20 2014-06-04 国际商业机器公司 在动态虚拟机存储器调整中避免内存不足
CN104503891A (zh) * 2014-12-10 2015-04-08 北京京东尚科信息技术有限公司 对jvm线程进行在线监控的方法和装置
CN107257959A (zh) * 2015-02-13 2017-10-17 微软技术许可有限责任公司 托管代码中的垃圾收集控制
CN111522652A (zh) * 2013-08-13 2020-08-11 英特尔公司 用于增加负荷密度和改进能效的功率平衡

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8800055B2 (en) * 2010-10-20 2014-08-05 International Business Machines Corporation Node controller for an endpoint in a cloud computing environment
US8934483B2 (en) 2011-01-20 2015-01-13 Broadcom Corporation Data center switch
US8650300B2 (en) 2011-06-07 2014-02-11 International Business Machines Corporation Transparent heterogenous link pairing
US8521890B2 (en) 2011-06-07 2013-08-27 International Business Machines Corporation Virtual network configuration and management
US8914515B2 (en) * 2011-10-28 2014-12-16 International Business Machines Corporation Cloud optimization using workload analysis
US9110892B2 (en) 2012-03-13 2015-08-18 Microsoft Technology Licensing, Llc Synchronizing local and remote data
US8881149B2 (en) * 2012-04-11 2014-11-04 International Business Machines Corporation Control of java resource runtime usage
US9535749B2 (en) 2012-05-11 2017-01-03 Infosys Limited Methods for managing work load bursts and devices thereof
US9612853B2 (en) 2012-09-07 2017-04-04 International Business Machines Corporation Virtual machine monitoring in cloud infrastructures
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
US9256469B2 (en) 2013-01-10 2016-02-09 International Business Machines Corporation System and method for improving memory usage in virtual machines
WO2015094187A1 (en) * 2013-12-17 2015-06-25 Hewlett-Packard Development Company, L.P. Synchronizing a cloud service template with an infrastructure template
CN104052803A (zh) * 2014-06-09 2014-09-17 国家超级计算深圳中心(深圳云计算中心) 一种去中心化的分布式渲染方法及渲染系统
US10642663B2 (en) * 2014-09-10 2020-05-05 Oracle International Corporation Coordinated garbage collection in distributed systems
US9971683B1 (en) 2014-10-20 2018-05-15 Sprint Communications Company L.P. Automatic computer memory management coordination across a group of servers
US20160350214A1 (en) * 2015-05-29 2016-12-01 Google Inc. Idle time software garbage collection
US10438253B2 (en) 2015-11-29 2019-10-08 International Business Machines Corporation Reuse of computing resources for cloud managed services
US10417125B2 (en) 2016-02-11 2019-09-17 Oracle International Corporation Feedback-based selection of regions for abortable garbage collection
JP7013934B2 (ja) * 2018-02-26 2022-02-01 オムロン株式会社 コントローラ
CN110502310B (zh) * 2018-05-18 2021-12-14 北京东土科技股份有限公司 一种虚拟机的时间同步方法及装置
US10884641B2 (en) 2019-04-16 2021-01-05 Paypal, Inc. Low latency gateway for an asynchronous orchestration engine using direct memory
CN111309645B (zh) * 2020-03-12 2023-06-27 上海交通大学 基于非易失性内存的新型混合内存垃圾回收方法及系统
CN113449292B (zh) * 2020-03-27 2022-07-29 支付宝(杭州)信息技术有限公司 一种可信应用的运行方法、装置及设备
CN111507650B (zh) * 2020-07-02 2021-01-05 深圳微品致远信息科技有限公司 一种边缘计算平台算力分配调度方法及系统
US11436000B2 (en) 2020-10-19 2022-09-06 Oracle International Corporation Prioritized non-active memory device update
US11809839B2 (en) 2022-01-18 2023-11-07 Robert Lyden Computer language and code for application development and electronic and optical communication

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230949A1 (en) * 2003-05-14 2004-11-18 Vanish Talwar Native language verification system and method
US20050005044A1 (en) * 2003-07-02 2005-01-06 Ling-Yi Liu Storage virtualization computer system and external controller therefor
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
CN101093448A (zh) * 2006-06-23 2007-12-26 联想(北京)有限公司 一种虚拟机系统及其硬件设备的切换方法
US20080034365A1 (en) * 2006-08-07 2008-02-07 Bea Systems, Inc. System and method for providing hardware virtualization in a virtual machine environment
US20080307183A1 (en) * 2007-06-11 2008-12-11 Deval Gary J Automatic memory management (amm)
US20090070776A1 (en) * 2007-09-07 2009-03-12 Oracle International Corporation System and method to improve memory usage in virtual machines running as hypervisor guests
US7574496B2 (en) * 2001-11-30 2009-08-11 Surgient, Inc. Virtual server cloud interfacing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070033240A1 (en) * 2005-08-04 2007-02-08 International Business Machines Corporation Scheduling garbage collection
US8261264B2 (en) * 2008-01-03 2012-09-04 Dell Products L.P. Accessing a network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574496B2 (en) * 2001-11-30 2009-08-11 Surgient, Inc. Virtual server cloud interfacing
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US20040230949A1 (en) * 2003-05-14 2004-11-18 Vanish Talwar Native language verification system and method
US20050005044A1 (en) * 2003-07-02 2005-01-06 Ling-Yi Liu Storage virtualization computer system and external controller therefor
CN101093448A (zh) * 2006-06-23 2007-12-26 联想(北京)有限公司 一种虚拟机系统及其硬件设备的切换方法
US20080034365A1 (en) * 2006-08-07 2008-02-07 Bea Systems, Inc. System and method for providing hardware virtualization in a virtual machine environment
US20080307183A1 (en) * 2007-06-11 2008-12-11 Deval Gary J Automatic memory management (amm)
US20090070776A1 (en) * 2007-09-07 2009-03-12 Oracle International Corporation System and method to improve memory usage in virtual machines running as hypervisor guests

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838633A (zh) * 2012-11-20 2014-06-04 国际商业机器公司 在动态虚拟机存储器调整中避免内存不足
CN103838633B (zh) * 2012-11-20 2017-06-13 国际商业机器公司 调整虚拟机存储器的方法和系统
CN111522652A (zh) * 2013-08-13 2020-08-11 英特尔公司 用于增加负荷密度和改进能效的功率平衡
CN111522652B (zh) * 2013-08-13 2024-02-13 英特尔公司 用于增加负荷密度和改进能效的功率平衡
CN104503891A (zh) * 2014-12-10 2015-04-08 北京京东尚科信息技术有限公司 对jvm线程进行在线监控的方法和装置
CN107257959A (zh) * 2015-02-13 2017-10-17 微软技术许可有限责任公司 托管代码中的垃圾收集控制
CN107257959B (zh) * 2015-02-13 2020-08-28 微软技术许可有限责任公司 用于托管代码中的垃圾收集控制的系统和方法

Also Published As

Publication number Publication date
EP2480972B1 (en) 2019-12-18
CN104699625A (zh) 2015-06-10
CN104699625B (zh) 2018-04-10
CN102576331B (zh) 2015-05-13
US8566826B2 (en) 2013-10-22
US20120304173A1 (en) 2012-11-29
JP2013505498A (ja) 2013-02-14
JP5627689B2 (ja) 2014-11-19
WO2011034717A1 (en) 2011-03-24
US8261269B2 (en) 2012-09-04
JP5922703B2 (ja) 2016-05-24
US20110072427A1 (en) 2011-03-24
EP2480972A1 (en) 2012-08-01
JP2014194801A (ja) 2014-10-09

Similar Documents

Publication Publication Date Title
CN102576331A (zh) 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法
CN103034554B (zh) 一种纠错重启以及自动判断启动的etl调度系统及方法
CN102341790B (zh) 数据处理系统及其使用的方法
US7930507B2 (en) Method of providing to a processor an estimated completion time of a storage operation
CN108255582B (zh) java虚拟机垃圾回收的方法、系统、设备及存储介质
CN1975696A (zh) 用于管理存储器使用的方法和计算设备
CN101504626B (zh) 一种调试控制实现方法及系统
CN104335175A (zh) 基于系统性能度量在系统节点之间标识和迁移线程的方法和系统
CN102279766B (zh) 并行模拟多个处理器的方法及系统、调度器
CN1648865A (zh) 为记录事件提供前置与后置处理程序的方法与装置
CN101278265A (zh) 使用用户级控制机制进行剖析
CN102103516A (zh) 基于虚拟cpu的频率和电压调节
CN101976217A (zh) 网络处理器异常检测方法及系统
CN105320567A (zh) 用于有效资源回收的延迟损毁
CN101154185A (zh) 软件运行时执行恢复与重放方法
CN102081555A (zh) 调整时钟中断周期的方法和装置
CN1256656C (zh) 协调数据存储子系统中数据存储设备管理操作的系统、方法以及管理设备
CN101727342B (zh) 信息处理装置以及内存管理方法
CN101894049A (zh) 一种自适应回收垃圾对象的系统及方法
CN102165426B (zh) 选择性地使用缓解来减少错误的存储器管理技术
EP1652072A4 (en) METHOD AND APPARATUS FOR PROCESSING PARALLEL ACTIONS
CN101957746A (zh) 一种任务管理系统及方法
US20120221821A1 (en) Method of managing memory in computer system, computer system and memory managing program
CN115471215B (zh) 一种业务流程处理方法及装置
KR101635816B1 (ko) 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant