一种面向虚拟化云计算平台的内存优化的方法技术

技术编号:14760427 阅读:88 留言:0更新日期:2017-03-03 10:47
本发明专利技术公开了一种面向虚拟化云计算平台的内存优化的方法,所述方法通过双层地址空间映射构成的分布式内存池来调节内存在各个虚拟机内的分配:低负载压力的虚拟机释放空闲内存进入空闲内存池,高负载压力的虚拟机从空闲内存池中申请内存来降低其内存压力;双层地址空间由两个逻辑部分和一个映射组件构成,其中:全局扩展地址空间用于管理所有映射到本地扩展地址空间的远程空闲内存;逻辑扩展地址空间用于扩展本地物理地址空间;映射组件完成从全局扩展地址空间到逻辑扩展地址空间的映射。本发明专利技术方法能够很好地优化云平台中内存资源配置,提升整个平台的资源利用率,并对关键任务的执行有显著的加速作用。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种面向虚拟化云计算平台的内存优化的方法
技术介绍
据统计,在当前的数据中心中,CPU资源的利用率平均在5%~20%之间,而内存资源的利用率也不超过60%。很明显,当前的资源分配模式具有很高的资源浪费度,增加了用户的总体拥有成本(TCO)。而以平均负载为基准来静态分配资源则会使得在峰值负载的情况下服务质量下降,并最终影响云用户的潜在利润。虚拟化技术的引入带来了如下几个方面的好处:更细粒度的资源共享、安全隔离、高可靠性等。但是,现在的虚拟化技术主要关注在一台物理服务器内的资源优化,通过资源的复用技术来提高单台服务器的资源利用率。而对于全局资源优化来说,由于缺乏访问远程资源的虚拟化支撑技术,全局优化的研究更多地从操作系统的角度进行相关研究。这些工作都需要修改操作系统的源代码或插入对应的驱动来利用远程资源,对于部署多种操作系统平台的云数据中心来说增加了部署的成本。分布在各个物理平台中的虚拟机(VM)由于其负载的动态变化,其内存利用率在一定的时间内会随负载变化产生波动。所以,每台物理服务器内部及不同物理机之间内存的利用率就呈现不均衡性,并且这种不均衡性随时间而动态变化。这种不均衡性使得平台上的应用性能受到一定的限制。
技术实现思路
本专利技术要解决的技术问题是:(1)如何构建更有弹性的、可靠的全局资源空间,并建立资源流动框架,实现跨越物理机边界的资源优化;(2)如何动态地识别闲置资源,为资源优化提供可以流动的资源空间。本专利技术针对以上问题,提供一种面向虚拟化云计算平台的内存优化的方法。本专利技术所采用的技术方案为:一种面向虚拟化云计算平台的内存优化的方法,所述方法通过双层地址空间映射构成的分布式内存池来调节内存在各个虚拟机内的分配:低负载压力的虚拟机释放空闲内存进入空闲内存池,高负载压力的虚拟机从空闲内存池中申请内存来降低其内存压力;双层地址空间由两个逻辑部分和一个映射组件构成,其中:全局扩展地址空间用于管理所有映射到本地扩展地址空间的远程空闲内存;逻辑扩展地址空间用于扩展本地物理地址空间;映射组件完成从全局扩展地址空间到逻辑扩展地址空间的映射。系统中的服务器根据其内存的使用情况分为内存服务器和内存客户端,其中,内存服务器向外提供基于空闲内存的存储服务,而内存客户端则利用远程内存调节其内部内存分配以加速关键应用。所述全局扩展地址空间用来管理所有被本地虚拟机监控器所使用的远程内存空间,由〈服务器ID,地址段〉来标示其地址构成。所述逻辑扩展地址空间位于虚拟机监控器中,由一个从零开始的独立地址空间和一个标识其空间的全局唯一标识符构成,通过〈地址,标识符〉对来对空间进行寻址,并在地址映射组件的翻译下最终确定要访问的远程内存页面;逻辑扩展地址空间的申请和回收都是由虚拟机监控器来控制。所述地址映射组件的核心功能是提供全局扩展地址空间和逻辑扩展地址空间之间的双向映射,通过维护相关的映射关系来提供高效可靠的远程内存存储抽象。地址映射组件采用数据同步方法来迁移数据,以支持远程空间的退出,保证数据的有效性;远程服务器的空闲内存通过地址映射组件被映射到逻辑扩展空间,通过多个服务器空间映射到一个空间,实现数据的冗余存储,提高远程内存的可靠性。每个远程内存服务器包含多个地址段,能够根据空闲内存变化动态地调整可共享的地址空间。系统引入如下接口来操作全局扩展地址空间:(1)Gsmaddrspaceadd,添加一段远程内存到全局扩展地址空间,返回该内存段在地址空间中的起始地址;(2)Gsmaddrspacedel,删除一段全局地址空间;(3)Gsmaddrspacemap,影射一段全局地址空间到逻辑扩展地址空间,返回其在逻辑扩展地址空间中的起始地址;(4)Gsmaddrspaceunmap,释放从逻辑扩展地址空间中startaddr开始size大小的空间映射。所述方法在Xen平台上实现,基于Xen-3.3.1系统开发,通过扩展Xen虚拟机监控器来完成两个核心功能:(1)引入逻辑扩展地址空间以支持远程内存访问;(2)对不在本地内存的页面提供透明寻址支持;通过修改Xen虚拟机监控器中从虚假物理地址到机器地址的映射p2m机制部分,增加新的地址类型来标示逻辑扩展地址空间,以支持逻辑扩展地址空间。当虚拟机访问逻辑扩展地址空间时,会触发一次缺页异常或触发逻辑扩展地址空间寻址机制;通过缺页异常处理和指令运行回滚运行时,虚拟机被暂停执行以等待页面重新被装入本地内存;当页面被重新装入内存时,p2m被重新设置以指向新装入的内存页面;如果是半虚拟化情况,缺页异常的处理流程会继续;在全虚拟化时,异常重播机制将发挥作用以重新调度虚拟机执行,恢复异常的处理过程;指令运行回滚运行时系统截取在指令模拟执行过程中对逻辑扩展地址空间的访问,触发逻辑扩展地址空间访问异常并逐级往上层函数传递,直到执行逻辑到达虚拟机陷入到Xen的入口点;在Xen的入口点,虚拟机被暂停,对逻辑扩展地址空间的操作命令通过共享内存空间传递给Domain-0;当数据返回后,指令模拟操作或异常处理操作被继续执行,虚拟机重新被调度;对远程内存进行读写的命令通过Xen和Domain-0之间的共享缓冲区由Xen发出,Domain-0中的Swap守护进程负责具体处理。所述地址映射组件支持两类基本的数据操作:数据存取和数据同步,其中,数据存取是基本的远程内存操作,实现对于远程数据的读取和写入;数据同步操作为远程内存服务的退出提供支持,通过从退出服务器到其它备份服务器同步数据,实现数据存储的高可靠性。本专利技术的有益效果为:本专利技术方法能够很好地优化云平台中内存资源配置,提升整个平台的资源利用率,并对关键任务的执行有显著的加速作用。附图说明图1为本专利技术所提供双层空间映射图;图2为本专利技术所提供全局扩展地址与逻辑地址映射及寻址。具体实施方式下面根据说明书附图,结合具体实施方式对本专利技术进一步说明:实施例1如图1所示,一种面向虚拟化云计算平台的内存优化的方法,所述方法通过双层地址空间映射构成的分布式内存池来调节内存在各个虚拟机内的分配:低负载压力的虚拟机释放空闲内存进入空闲内存池,高负载压力的虚拟机从空闲内存池中申请内存来降低其内存压力;双层地址空间由两个逻辑部分和一个映射组件构成,其中:如图2所示,全局扩展地址空间用于管理所有映射到本地扩展地址空间的远程空闲内存;逻辑扩展地址空间用于扩展本地物理地址空间;映射组件完成从全局扩展地址空间到逻辑扩展地址空间的映射。考虑到分布式平台的特性,能够利用分布在整个平台各个物理服务器上的空闲内存资源,双层地址空间的构建兼顾了效率和可靠性,提供最大程度的内存资源抽象。实施例2在实施例1的基础上,本实施例系统中的服务器根据其内存的使用情况分为内存服务器和内存客户端,其中,内存服务器向外提供基于空闲内存的存储服务,而内存客户端则利用远程内存调节其内部内存分配以加速关键应用。实施例3在实施例1或2的基础上,本实施例所述全局扩展地址空间用来管理所有被本地虚拟机监控器所使用的远程内存空间,由〈服务器ID,地址段〉来标示其地址构成。实施例4在实施例3的基础上,本实施例所述逻辑扩展地址空间位于虚拟机监控器中,由一个从零开始的独立地址空间和一个标识其空间的全局唯一标识符构成,本文档来自技高网...
一种面向虚拟化云计算平台的内存优化的方法

【技术保护点】
一种面向虚拟化云计算平台的内存优化的方法,其特征在于,所述方法通过双层地址空间映射构成的分布式内存池来调节内存在各个虚拟机内的分配:低负载压力的虚拟机释放空闲内存进入空闲内存池,高负载压力的虚拟机从空闲内存池中申请内存来降低其内存压力;双层地址空间由两个逻辑部分和一个映射组件构成,其中:全局扩展地址空间用于管理所有映射到本地扩展地址空间的远程空闲内存;逻辑扩展地址空间用于扩展本地物理地址空间;映射组件完成从全局扩展地址空间到逻辑扩展地址空间的映射。

【技术特征摘要】
1.一种面向虚拟化云计算平台的内存优化的方法,其特征在于,所述方法通过双层地址空间映射构成的分布式内存池来调节内存在各个虚拟机内的分配:低负载压力的虚拟机释放空闲内存进入空闲内存池,高负载压力的虚拟机从空闲内存池中申请内存来降低其内存压力;双层地址空间由两个逻辑部分和一个映射组件构成,其中:全局扩展地址空间用于管理所有映射到本地扩展地址空间的远程空闲内存;逻辑扩展地址空间用于扩展本地物理地址空间;映射组件完成从全局扩展地址空间到逻辑扩展地址空间的映射。2.根据权利要求1所述的一种面向虚拟化云计算平台的内存优化的方法,其特征在于,系统中的服务器根据其内存的使用情况分为内存服务器和内存客户端,其中,内存服务器向外提供基于空闲内存的存储服务,而内存客户端则利用远程内存调节其内部内存分配以加速关键应用。3.根据权利要求1或2所述的一种面向虚拟化云计算平台的内存优化的方法,其特征在于,所述全局扩展地址空间用来管理所有被本地虚拟机监控器所使用的远程内存空间,由〈服务器ID,地址段〉来标示其地址构成。4.根据权利要求3所述的一种面向虚拟化云计算平台的内存优化的方法,其特征在于,所述逻辑扩展地址空间位于虚拟机监控器中,由一个从零开始的独立地址空间和一个标识其空间的全局唯一标识符构成,通过〈地址,标识符〉对来对空间进行寻址,并在地址映射组件的翻译下最终确定要访问的远程内存页面;逻辑扩展地址空间的申请和回收都是由虚拟机监控器来控制。5.根据权利要求4所述的一种面向虚拟化云计算平台的内存优化的方法,其特征在于,所述地址映射组件的核心功能是提供全局扩展地址空间和逻辑扩展地址空间之间的双向映射,通过维护相关的映射关系来提供高效可靠的远程内存存储抽象;地址映射组件采用数据同步方法来迁移数据,以支持远程空间的退出,保证数据的有效性;远程服务器的空闲内存通过地址映射组件被映射到逻辑扩展空间,通过多个服务器空间映射到一个空间,实现数据的冗余存储,提高远程内存的可靠性。6.根据权利要求5所述的一种面向虚拟化云计算平台的内存优化的方法,其特征在于,每个远程内存服务器包含多个地址段,能够根据空闲内存变化动态地调整可共享的地址空间。7.根据权利要求6所述的一种面向虚拟化云计算平台的内存优化的方法,其特征在于,系统引入如下接口来操作全局扩展地址空间:(1)Gsmaddrspaceadd,添加...

【专利技术属性】
技术研发人员:陈阳
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1