[发明专利]调度虚拟机的垃圾收集的方法、装置和集群系统有效
申请号: | 200810179723.7 | 申请日: | 2008-11-28 |
公开(公告)号: | CN101751335A | 公开(公告)日: | 2010-06-23 |
发明(设计)人: | 田瑞雄;吴海珊;赵邑新;李立 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F12/00 | 分类号: | G06F12/00 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 李镇江 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调度 虚拟机 垃圾 收集 方法 装置 集群 系统 | ||
技术领域
本发明总体上涉及协调集群环境中多个应用之间的垃圾收集的 方法和装置,更具体地涉及主动调度集群环境中多个应用内的垃圾收 集时间的方法和装置。
背景技术
垃圾收集(Garbage Collection,GC)机制是诸如Java、C#、 Python、Eiffel、Roby等的新一代语言共有的特征。通过这种垃圾收 集机制,可以自动管理对内存的回收,而无需程序员通过调用函数来 释放内存,因而减轻了程序员的编程负担。
目前,在诸如电信业务的大型应用中广泛地采用集群架构的应用 服务器,如基于Java、C#的应用服务器等。例如,Java语言具有易 于学习和编写、独立于操作系统等优点,当前大部分应用服务器是以 基于Java的架构来支持基于Java的业务,诸如IBM公司的 Websphere Application Server。
对诸如电信业务的实时应用的开发最重要的要求就是良好的实 时处理性能,因而对部分运行时行为强加了时间限制。此类限制通常 是对应用程序的某些部分实施的,比如中断处理程序,其响应中断的 代码必须在给定的时间范围内完成工作。应用服务器中间件运行在设 置有GC机制的虚拟机上。GC机制虽然简化了开发,但同时也带来 了一定量的系统开销。虚拟机在进行垃圾收集时,会暂停一切运算处 理,这种现象也被称为“世界暂停(Stop The World,STW)”,而且 这种“世界暂停”的频率和时长都不确定。这种现象会导致对用户请求 的响应时间增长,对于电信应用等的实时性要求高的应用来说,有时 会是无法接受的。
为了解决这种“世界暂停”的问题,David F.Bacon、Perry Cheng、 和V.T.Rajan提出了针对Java应用的Metronome算法(“A Real-time Garbage Collector with Low Overhead and Consistent Utilization”, Conference Record of the Thirtieth ACM Symposium on Principles of Programming Languages(New Orleans,Louisiana,January 2003),pp. 285-298)。在Metronome算法中,将一次GC处理细分为在多个不 连续的小时间段内执行,从而缩短了每次“世界暂停”的时间。然而, 这种GC方法降低了内存利用率和服务器的服务能力。
如上所述,现在的电信应用基本上都采用集群架构,其中包括多 个虚拟机。在集群环境中,解决“世界暂停”问题的一种方法是将正在 进行GC的虚拟机的业务请求切换到集群中未发生GC的虚拟机。
以由Java虚拟机(Java Virtual Machine,JVM)构成的集群环 境为例,发明人发现,这种集群环境中的虚拟机的配置往往近似,因 而会出现集群内的多个虚拟机趋于几乎同步地发生GC处理的情形。 这种情形可由图1例示。
图1例示了在总共有4台Java虚拟机的Java虚拟机集群系统示 例中,每台Java虚拟机的内存使用情况随时间的变化。由图1可见, 集群系统中的4台Java虚拟机随着时间的推进而趋于同步地进行 GC。当集群内所有Java虚拟机几乎同步发生GC时,会导致无法处 理普通的业务请求,我们称这种情形为“无处可逃(no place to hide)”。 一旦出现“无处可逃”,就会严重影响整个集群系统的实时性能。可以 构想,这种同步GC的现象会出现在所有基于具有GC机制的应用所 构成的集群环境中,例如,支持大型应用的C#集群环境。本发明人 相信,随着新一代具有垃圾收集机制的语言在集群环境中的广泛应 用,上述同步垃圾收集的问题将会变得日益突出。
因此,希望提供一种能够调度集群环境中多个虚拟机之间的垃圾 收集的方法和装置。
发明内容
本发明的一个目的在于提供一种能够调度虚拟机的垃圾收集的 方法、装置和集群系统,其有效地解决了上述同步GC的问题。
本发明通过主动控制集群环境中各个虚拟机发生GC的时机来 协调这些虚拟机的GC时刻,从而避免在被动GC情况下出现的上述 同步GC问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810179723.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:金属-玻璃套装集热管集热模块
- 下一篇:自动太阳能玻璃镀膜设备