CN104699625A - 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 - Google Patents
用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 Download PDFInfo
- Publication number
- CN104699625A CN104699625A CN201510140141.8A CN201510140141A CN104699625A CN 104699625 A CN104699625 A CN 104699625A CN 201510140141 A CN201510140141 A CN 201510140141A CN 104699625 A CN104699625 A CN 104699625A
- Authority
- CN
- China
- Prior art keywords
- virtual server
- synchronization module
- refuse collection
- computing machine
- code optimization
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory 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
本申请是申请日为2010年8月30日、申请号为201080041903.4,发明名称为“用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法”的发明专利申请的分案申请。
版权声明
此专利文献的说明书的一部分包含受版权保护的材料。版权所有者不反对任何人影印专利文献或专利说明书,因为它出现在专利局专利文件或记录中,但在别的方面却保留所有版权。
技术领域
本发明一般涉及应用服务器和虚拟机,特别涉及用于在虚拟机监视器(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,406到408。垃圾收集被可视化为矩形,而代码优化被可视化为椭圆。
在所示出的示例中,在日程表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 (15)
1.一种用于同步虚拟服务器之间的瞬时资源使用的系统,包括:
在云内提供的一台或多台计算机,其中所述一台或多台计算机中的每一台包括:
处理器;
多个虚拟服务器,其中所述多个虚拟服务器中的每一个包括预测垃圾收集、代码优化或其关联的虚拟服务器上的其他进程的时间的同步模块,
其中一个特定的同步模块被选择作为主同步模块操作,其中所述主同步模块:
从其他同步模块请求预测,并且
使用所述预测来更新垃圾收集、代码优化或其他进程的日程表,以及
促进所述多个虚拟服务器之间的通信的通信信道,
其中所述虚拟服务器使用其关联的同步模块和所述通信信道来同步所述多个虚拟服务器之间的瞬时资源使用,包括提前或推迟对运行在其上的垃圾收集、代码优化或其他进程的执行。
2.如权利要求1所述的系统,其中,每一虚拟服务器都运行一个或多个Java虚拟机JVM。
3.如权利要求1所述的系统,其中,所述虚拟服务器中的一个或多个具有被定制以仅运行单个JVM并降低所述单个JVM的易失性的操作系统。
4.如权利要求1所述的系统,其中,所述瞬时存储器是用于垃圾收集进程的存储器。
5.如权利要求1所述的系统,其中,所述瞬时存储器是用于代码优化进程的存储器。
6.如权利要求1所述的系统,其中,瞬时存储器用于垃圾收集进程,并且其中,所述同步模块提前垃圾收集以避免与其他垃圾收集重叠。
7.如权利要求1所述的系统,其中,瞬时存储器用于代码优化进程,并且其中,所述同步模块推迟代码优化以避免与垃圾收集及其他代码优化重叠。
8.如权利要求1所述的系统,其中,每一个同步模块使用所述通信信道来在所述多个虚拟服务器之间传递信息,并在所述虚拟服务器之间同步瞬时资源使用。
9.如权利要求1所述的系统,其中,每一个同步模块执行下列步骤:
等待来自虚拟服务器的通知,
从其他虚拟服务器请求垃圾收集预测,
通过根据需要将垃圾收集提前来检测和最小化垃圾收集重叠的数量,
通过根据需要将代码优化推迟来检测和最小化代码优化重叠的数量,以及
调度垃圾收集、代码优化或其他进程以在所述多个虚拟服务器之间同步瞬时资源使用。
10.如权利要求1所述的系统,其中,所述一台或多台计算机包括运行在其上的虚拟机监视器,用于执行所述一个或多个虚拟服务器。
11.如权利要求1所述的系统,其中,所述系统被用作用于控制虚拟服务器的云的易失性的组件,并且其中,所述系统还包括:
监测所述云内的计算机的易失性的云易失性管理器;
参与所述云的多个计算机,一台或多台计算机中的每一台都还包括具有测量的资源使用易失性的虚拟服务器,并被配置成在所述多个虚拟服务器之间同步瞬时资源使用;以及
其中,所述云易失性管理器能够将虚拟服务器从参与所述云的所述多个计算机中的第一计算机切换或移动到参与所述云的所述多个计算机中的第二计算机,以改善所述云中的易失性。
12.如权利要求1所述的系统,其中,所述特定的同步模块被随机选择作为主同步模块操作。
13.如权利要求1所述的系统,其中,所述主同步模块使用所述预测来将垃圾收集、代码优化或其他进程的日程表从原始日程表更新到经修改的日程表。
14.一种用于同步虚拟服务器之间的瞬时资源使用的方法,包括下列步骤:
提供在云内提供的一台或多台计算机,其中所述一台或多台计算机中的每一台包括:
处理器;
多个虚拟服务器,其中所述多个虚拟服务器中的每一个包括预测垃圾收集、代码优化或其关联的虚拟服务器上的其他进程的时间的同步模块,
其中一个特定的同步模块被选择作为主同步模块操作,其中所述主同步模块:
从其他同步模块请求预测,并且
使用所述预测来更新垃圾收集、代码优化或其他进程的日程表,以及
促进所述多个虚拟服务器之间的通信的通信信道,
其中所述虚拟服务器使用其关联的同步模块和所述通信信道来同步所述多个虚拟服务器之间的瞬时资源使用,包括提前或推迟对运行在其上的垃圾收集、代码优化或其他进程的执行。
15.一种非瞬态计算机可读介质,包括在其上存储并且当被一台或多台计算机读取和执行时使所述一台或多台计算机执行包括下列步骤的方法的指令:
提供在云内提供的一台或多台计算机,其中所述一台或多台计算机中的每一台包括:
处理器;
多个虚拟服务器,其中所述多个虚拟服务器中的每一个包括预测垃圾收集、代码优化或其关联的虚拟服务器上的其他进程的时间的同步模块,
其中一个特定的同步模块被选择作为主同步模块操作,其中所述主同步模块:
从其他同步模块请求预测,并且
使用所述预测来更新垃圾收集、代码优化或其他进程的日程表,以及
促进所述多个虚拟服务器之间的通信的通信信道,
其中所述虚拟服务器使用其关联的同步模块和所述通信信道来同步所述多个虚拟服务器之间的瞬时资源使用,包括提前或推迟对运行在其上的垃圾收集、代码优化或其他进程的执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
US12/563,440 | 2009-09-21 | ||
CN201080041903.4A CN102576331B (zh) | 2009-09-21 | 2010-08-30 | 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080041903.4A Division CN102576331B (zh) | 2009-09-21 | 2010-08-30 | 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699625A true CN104699625A (zh) | 2015-06-10 |
CN104699625B CN104699625B (zh) | 2018-04-10 |
Family
ID=43064426
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080041903.4A Active CN102576331B (zh) | 2009-09-21 | 2010-08-30 | 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 |
CN201510140141.8A Active CN104699625B (zh) | 2009-09-21 | 2010-08-30 | 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080041903.4A Active CN102576331B (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) | CN102576331B (zh) |
WO (1) | WO2011034717A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502310A (zh) * | 2018-05-18 | 2019-11-26 | 北京东土科技股份有限公司 | 一种虚拟机的时间同步方法及装置 |
Families Citing this family (29)
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 |
US9311236B2 (en) * | 2012-11-20 | 2016-04-12 | International Business Machines Corporation | Out-of-memory avoidance in dynamic virtual machine memory adjustment |
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 |
KR101770673B1 (ko) * | 2013-08-13 | 2017-08-23 | 인텔 코포레이션 | 작업부하 밀도를 증가시키고 또한 에너지 효율성을 개선하기 위한 전력 균형화 |
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 |
CN104503891B (zh) * | 2014-12-10 | 2018-10-02 | 北京京东尚科信息技术有限公司 | 对jvm线程进行在线监控的方法和装置 |
US9804962B2 (en) * | 2015-02-13 | 2017-10-31 | Microsoft Technology Licensing, Llc | Garbage collection control in managed code |
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 | オムロン株式会社 | コントローラ |
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004059503A1 (en) * | 2001-11-30 | 2004-07-15 | Protier Corporation | Virtual server cloud interfacing |
US20080307183A1 (en) * | 2007-06-11 | 2008-12-11 | Deval Gary J | Automatic memory management (amm) |
CN101512488A (zh) * | 2006-08-07 | 2009-08-19 | Bea系统公司 | 在虚拟机环境中提供硬件虚拟化的系统和方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7299468B2 (en) * | 2003-04-29 | 2007-11-20 | International Business Machines Corporation | Management of virtual machines to utilize shared resources |
US7320129B2 (en) * | 2003-05-14 | 2008-01-15 | Hewlett-Packard Development Company, L.P. | Native language verification system and method |
US8301809B2 (en) * | 2003-07-02 | 2012-10-30 | Infortrend Technology, Inc. | Storage virtualization computer system and external controller thereof |
US20070033240A1 (en) * | 2005-08-04 | 2007-02-08 | International Business Machines Corporation | Scheduling garbage collection |
CN100472452C (zh) * | 2006-06-23 | 2009-03-25 | 联想(北京)有限公司 | 一种虚拟机系统及其硬件设备的切换方法 |
US8156492B2 (en) * | 2007-09-07 | 2012-04-10 | Oracle International Corporation | System and method to improve memory usage in virtual machines running as hypervisor guests |
US8261264B2 (en) * | 2008-01-03 | 2012-09-04 | Dell Products L.P. | Accessing a network |
-
2009
- 2009-09-21 US US12/563,440 patent/US8261269B2/en active Active
-
2010
- 2010-08-30 EP EP10752673.3A patent/EP2480972B1/en active Active
- 2010-08-30 JP JP2012529783A patent/JP5627689B2/ja active Active
- 2010-08-30 CN CN201080041903.4A patent/CN102576331B/zh active Active
- 2010-08-30 CN CN201510140141.8A patent/CN104699625B/zh active Active
- 2010-08-30 WO PCT/US2010/047163 patent/WO2011034717A1/en active Application Filing
-
2012
- 2012-08-03 US US13/566,903 patent/US8566826B2/en active Active
-
2014
- 2014-05-14 JP JP2014100308A patent/JP5922703B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004059503A1 (en) * | 2001-11-30 | 2004-07-15 | Protier Corporation | Virtual server cloud interfacing |
CN101512488A (zh) * | 2006-08-07 | 2009-08-19 | Bea系统公司 | 在虚拟机环境中提供硬件虚拟化的系统和方法 |
US20080307183A1 (en) * | 2007-06-11 | 2008-12-11 | Deval Gary J | Automatic memory management (amm) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502310A (zh) * | 2018-05-18 | 2019-11-26 | 北京东土科技股份有限公司 | 一种虚拟机的时间同步方法及装置 |
CN110502310B (zh) * | 2018-05-18 | 2021-12-14 | 北京东土科技股份有限公司 | 一种虚拟机的时间同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2011034717A1 (en) | 2011-03-24 |
JP5922703B2 (ja) | 2016-05-24 |
CN104699625B (zh) | 2018-04-10 |
JP2013505498A (ja) | 2013-02-14 |
US20120304173A1 (en) | 2012-11-29 |
US20110072427A1 (en) | 2011-03-24 |
JP2014194801A (ja) | 2014-10-09 |
EP2480972B1 (en) | 2019-12-18 |
CN102576331A (zh) | 2012-07-11 |
JP5627689B2 (ja) | 2014-11-19 |
EP2480972A1 (en) | 2012-08-01 |
CN102576331B (zh) | 2015-05-13 |
US8566826B2 (en) | 2013-10-22 |
US8261269B2 (en) | 2012-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102576331B (zh) | 用于在虚拟机监视器环境中的虚拟机之间同步瞬时资源使用的系统和方法 | |
US9436516B2 (en) | Virtual machines management apparatus, virtual machines management method, and computer readable storage medium | |
CN103034554B (zh) | 一种纠错重启以及自动判断启动的etl调度系统及方法 | |
CN101971146B (zh) | 改进作为管理程序来宾而运行的虚拟机中内存使用情况的系统和方法 | |
US7930507B2 (en) | Method of providing to a processor an estimated completion time of a storage operation | |
CN100511156C (zh) | 强制性地终止输入/输出操作阻止的线程的设备和方法 | |
CN103729235A (zh) | Java虚拟机的编译方法和Java虚拟机 | |
CN1975696A (zh) | 用于管理存储器使用的方法和计算设备 | |
CN113051104B (zh) | 基于纠删码的磁盘间数据恢复方法及相关装置 | |
CN1256656C (zh) | 协调数据存储子系统中数据存储设备管理操作的系统、方法以及管理设备 | |
CN112948169A (zh) | 数据备份的方法、装置、设备和存储介质 | |
CN107861878A (zh) | Java应用程序性能问题定位的方法、装置和设备 | |
US10552318B2 (en) | Working set adjustment in a managed environment | |
JP4761229B2 (ja) | 運用管理装置、運用管理方法ならびにプログラム | |
CN105677481A (zh) | 一种数据处理方法、系统及电子设备 | |
CN109117277B (zh) | 异步环境中模拟同步阻塞的方法及装置、存储介质、服务器、终端 | |
CN111090627B (zh) | 基于池化的日志存储方法、装置、计算机设备及存储介质 | |
KR101449202B1 (ko) | 철강공정 미들웨어의 데이터 복사 및 복원 시스템 및 방법 | |
CN110109740B (zh) | 一种Crontab命令的执行方法及装置 | |
CN116578446B (zh) | 虚拟机备份方法、装置、系统、电子设备及存储介质 | |
CN103995731A (zh) | 一种管理中心部署方法和虚拟装置 | |
CN117950796A (zh) | 数据迁移方法及服务器 | |
CN115756948A (zh) | 一种数据备份方法、装置、设备、系统及存储介质 | |
CN117389729A (zh) | 一种内存资源的分配方法和装置 | |
CN118057337A (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 |