一种云计算内存资源分配方法

文档序号:10686914阅读:1982来源:国知局
一种云计算内存资源分配方法
【专利摘要】本发明公开一种云计算内存资源分配方法,云主机和集群环境的虚拟机在运行过程中,通过Domain0判断内存状态,如果Domain0内存资源足够且集群中各虚拟机的内存资源充足,则进行内存自发调节;如果Domain0内存资源不足,则从其他Domain U中回收内存资源,再进行内存竞价调节;如果集群中虚拟机处于内存资源紧缺,则进行内存竞价调节。
【专利说明】
一种云计算内存资源分配方法
技术领域
[0001] 本发明涉及云计算虚拟机技术领域,尤其涉及云计算内存资源分配方法。
【背景技术】
[0002] 云计算主要分为三种服务服务层次:(1)基础设施即服务(IaaS); (2)平台即服务 (PaaS);(3)软件即服务(SaaShlaaS主要采用系统虚拟化技术,通过虚拟化技术,将一个或 多个数据中心的硬件资源虚拟化并形成一个高效灵活的资源池,从而降低基础设施的成 本、延缓数据中心扩建的时间,以便于提升整个集群环境的性能。
[0003] 虚拟技术的引入改变了传统计算机的架构,计算机架构不再是通过系统来分配硬 件资源,而是通过虚拟机监控器即Hypervisor来分配硬件资源。虚拟机监控器运行在硬件 资源的上一层,它主要包括了对内存、CPU以及I/O设备等资源的虚拟化。从虚拟机监控器角 度来看,集群环境中的虚拟机类似于传统计算机架构中的应用程序,而虚拟机监控器像0S 一样,为虚拟机分配资源。
[0004] 云用户可以按需分配和调度资源,从而提高资源的利用率,提升服务质量,并降低 云用户的总体拥有成本。但由于物理服务器的资源边界限制了资源的全局优化能力,尤其 是内存资源的大小,总是容易成为物理服务器资源的瓶颈,限制云计算的大规模发展。
[0005] 目前,Xen、VMware、KVM等虽然提供了气球驱动、页面交换和内存共享等机制来动 态调整虚拟机的内存,但缺乏对云计算内存资源的实时监测,缺乏从全局角度进行多虚拟 机之间的内存协同管理,容易造成过多的性能损失。

【发明内容】

[0006] 为了解决上述问题,本发明提供一种云计算内存资源分配方法,采用Xen中的气球 驱动机制作为内存调节机制,使用XenStore完成各部分间的数据交互。
[0007] -种云计算内存资源分配方法,包括
[0008] S1、首先分配内存给DomainO,在DomainO内存足够的前提下,再分配内存给其他 Domain U;
[0009] S2、若DomainO内存资源足够且集群中各虚拟机的内存资源充足,则进行内存自发 调节;若运行过程中,DomainO对内存的需求增多,贝1J从其他Domain U中回收内存资源,再进 行内存竞价调节;若集群环境中内存处于紧缺状态,即总内存无法满足所有虚拟机对内存 的需求,则进行内存竞价调节。
[0010] 所述内存自发调节具体是指,
[0011] all、假设Domain 0统计集群环境中虚拟机的数量为N;
[0012] al2、将集群环境中的空闲内存Mfree平均分为N+2份,每台虚拟机得到Mfree/(N+2); [0013] al3、将剩下的空闲内存Mfree/(N+2)内存分配给Domain 0〇
[0014]所述内存竞价调节是指,
[0015] a21、Domain0标记集群环境中虚拟机序列为:K = 1,2,3,4,5,6."n;
[0016] &22、0〇11^;[110分配给每台虚拟机的内存大小为也=1]11,1]12,1]13,1114,11^"1]111;
[0017] a23、集群环境中仍待分配的内存记为Sk;
[0018] a24、DomainO获取Pk(Mk),Pk(Mk)表示分配Mk内存给虚拟机VMk获得的性能收益;
[0022]则有使得 PKMO+PKMd+Ps (M3)+"_+Pn(Mn)达到最大。
[0023]本发明提出了一种云环境下的内存资源分配方法,该方法能够快速响应云环境中 的虚拟机对内存需求的动态变化,并且针对不同的内存状态信息,能够采取相应的内存分 配方法。通过本发明,内存资源能够被充分的分配给虚拟机,进而提高整个云环境中的性 能。
【附图说明】
[0024] 图1为本发明实施例云计算内存资源分配方法流程图。
【具体实施方式】
[0025] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0026]本实施例部署在Xen环境中,云系统中包括了虚拟机监测模块、物理机监测模块以 及消息组织模块和内存分配模块。
[0027] Domain 0主要负责虚拟机的创建、管理和配置工作,并完成设备驱动,相对于其他 Domain U更加重要。因此,无论是内存紧缺情况还是内存充裕的情况下,都需要优先分配内 存给Domain 0。在满足Domain 0内存需要的前提下,再考虑其他Domain U对内存的需求。
[0028]虚拟机监测模块:部署在虚拟机中,用于监视虚拟机中内存的占用情况,及虚拟机 的性能信息,并预估下一阶段将需要占用多大内存以及占用所得内存带来的性能收益值。 [0029]物理机监测模块:部署Domain 0上,用来监测物理机主机中的总内存值和空闲内 存值,以及运行的所有客户操作系统的最大内存信息。
[0030]消息组织模块:主要将监视模块获得的信息组织成预定义格式的消息,再将消息 发送给DomainO。
[0031]内存分配模块:部署在Domain 0上,针对不同内存状态信息,调用不同的内存分配 方法。当Domain 0内存需求无法满足时,从其他Domain U中回收内存,并进行全局竞价调 节;当Domain 0满足后,若内存处于紧缺状态,Domain 0采取全局竞价调节方法;当Domain 0满足内存需求后,若内存处于充裕状态,则采取自发调节方法。
[0032] 如图1所示,云主机和集群中的虚拟机在运行过程中,通过DomainO获取集群环境 中的信息如虚拟机数量、总内存大小及已占用的内存大小,虚拟机监视器和物理机监视器 读取本地内存信息和虚拟机性能信息,消息组织模块将监视器获得的信息按照预定义的格 式发送给DomainO JornainO判断内存状态,如果DomainO内存资源足够且集群中各虚拟机的 内存资源充足,则进行内存自发调节;如果DomainO内存资源不足,则从其他Domain U中回 收内存资源,再进行内存竞价调节;如果集群中虚拟机处于内存资源紧缺,则进行内存竞价 调节。分配好内存资源后,程序得以继续运行。
[0033] 内存自发调节的过程为:假设Domain 0统计集群环境中虚拟机的数量为N;将集群 环境中的空闲内存Mfree平均分为N+2份,每台虚拟机得至ljMfree/(N+2)内存;将剩下的空闲内 存Mf ree/(N+2)内存分配给Domain 0〇
[0034] 内存竞价调节的过程为:DomainO标记集群环境中虚拟机序列为:K= 1,2,3,4,5, 6,"n;、DomainO分配给每台虚拟机的内存大小为:Mk = mi,m2,m3,m4,m5,"mn;DomianO获取仍 待分配的内存Sk;DomainO获取Pk(Mk),Pk(Mk)表示分配Mk内存给虚拟机VMk获得的性能收益; 设 乂沉為卜+ ,则有 //(民-)= max{似民-,MA-=叉; /: (&) = max $ (Mt) + /二(& - )},则有 fn (Sn) = max [ Pn (Mn) ],fn-i (Sn-i) = Pn-i (Mn-i) +fn (Sn),使得 PKMO+PKMd+PXM3)-…+Pn(Mn)达到最大。
[0035] 本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括 由以上技术特征任意组合所组成的技术方案。
【主权项】
1. 一种云计算内存资源分配方法,其特征在于,包括 51、 首先分配内存给DomainO,在DomainO内存足够的前提下,再分配内存给其他 DomainU; 52、 若DomainO内存资源足够且集群中各虚拟机的内存资源充足,则进行内存自发调 节;若运行过程中,DomainO对内存的需求增多,贝1J从其他DomainU中回收内存资源,再进行 内存竞价调节;若集群环境中内存处于紧缺状态,即总内存无法满足所有虚拟机对内存的 需求,则进行内存竞价调节。2. 根据权利要求1所述的云计算内存资源分配方法,其特征在于:所述内存自发调节具 体是指, all、假设Domain 0统计集群环境中虚拟机的数量为N; al 2、将集群环境中的空闲内存Mfree平均分为N+2份,每台虚拟机得到Mfree/ ( N+2 ); al3、将剩余空闲内存2*Mfree/(N+2)分配给Domain 0〇3. 根据权利要求1所述的云计算内存资源分配方法,其特征在于:所述内存竞价调节是 指, a21、DomainO标记集群环境中虚拟机序列为:K=l,2,3,4,5,6'"n; 已22、0〇11^;[110分配给每台虚拟机的内存大小为也=1]11,1]12,1]13,1114,1]15,"1]111; a23、集群环境中仍待分配的内存记为Sk; a24、DomainO获取Pk(Mk),Pk(Mk)表示分配Mk内存给虚拟机VMk获得的性能收益; a2 5、设 A (乂―,叫)=4 (M ) + max 丨乙;"+乃风.)!,则有./:: (&)=細以 a26 n ,/t (Sl:) = max {P, (Mk) + /,,, (5, - Mk) j- 则有fn (Sn) = max [ Pn (Mn) ],fn-i (Sn-i) = Pn-i (Mn-i) +fn(Sn),使得Pi (Mi) +P2 (M2) +P3 (M3)+… +Pn(Mn)达到最大。
【文档编号】G06F9/455GK106055410SQ201610397591
【公开日】2016年10月26日
【申请日】2016年6月7日
【发明人】徐鹤, 丁晔, 李鹏, 王汝传, 朱枫, 丁杰, 钱聪
【申请人】南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1