一种基于内存资源供给调度虚拟机数量的方法及系统的制作方法

文档序号:6540925阅读:178来源:国知局
一种基于内存资源供给调度虚拟机数量的方法及系统的制作方法
【专利摘要】本发明提供一种基于内存资源供给调度虚拟机数量的方法和系统,包括:根据虚拟机创建请求的到达率和系统创建虚拟机服务速率确定他们之间的数量关系,并确定系统允许创建的虚拟机的最优数量;修改宿主操作系统内存资源调度子系统的伙伴算法参数,将系统的可用内存划分为k块;宿主操作系统内存资源调度子系统调度k块内存的某一块给当前虚拟机的客户操作系统内存资源调度子系统;宿主操作系统内存资源调度子系统回收虚拟机客户操作系统内存资源调度子系统的内存。本发明解决了在数据中心物理服务器上宿主操作系统内存资源调度子系统和客户操作系统内存资源调度子系统之间调度内存资源的方法和系统,有效地指导了在物理服务器上调度虚拟机的数量。
【专利说明】一种基于内存资源供给调度虚拟机数量的方法及系统
【技术领域】
[0001]本发明涉及操作系统领域,特别涉及一种基于内存资源供给调度虚拟机数量的方法及系统。
【背景技术】
[0002]虚拟化技术是云计算的基石,云服务商通过提供虚拟化的计算资源和存储资源使得租户在众多的物理服务器上创建数以千计的虚拟机,然后在这些虚拟机上创建多种类型的操作系统,从而不同操作系统的不同服务满足了各种类型租户的需求。然而,在众多的物理服务器上创建数以千计的虚拟机需要解决很多难题,从内存资源调度的角度当前存在的难题主要有:
[0003]I)在单一物理服务器内存容量既定的情况下,如何定量去估算在该服务器上创建虚拟机的个数;
[0004]2)在I)基础上,从用户请求创建虚拟机的时间到获得内存资源开始创建虚拟机的时间如何建模,即用户请求速率和服务速率之间是否符合某种概率分布;
[0005]3)在2)基础上,在采用宿主模型虚拟机架构下,如何从宿主操作系统内存资源调度子系统中分配内存资源给客户操作系统内存资源调度子系统,客户操作系统内存资源调度子系统如何释放内存资源给宿主操作系统内存资源调度子系统;
[0006]当然,在云数据中心中,如何在众多物理服务器集中解决上述3个问题也是非常棘手和复杂的。

【发明内容】

[0007]本发明的目的在于提供一种基于内存资源供给调度虚拟机数量的方法及系统,以解决在物理服务器上创建虚拟机时内存资源提供和调度时存在的问题。
[0008]为解决上述技术问题,本发明提供一种基于内存资源供给调度虚拟机数量的系统,包括:宿主操作系统内存资源调度子系统和客户操作系统内存资源调度子系统;
[0009]所述宿主操作系统内存资源调度子系统包括内存分配模块和内存回收模块,其中,所述内存分配模块用于由所述宿主操作系统内存资源调度子系统分配内存块给所述客户操作系统内存资源调度子系统,所述内存回收模块用于所述宿主操作系统内存资源调度子系统回收宕机后的客户操作系统内存资源调度子系统的内存;
[0010]所述客户操作系统内存资源调度子系统包括内存探测模块和内存释放模块,其中,所述内存探测模块用于所述客户操作系统内存资源调度子系统在启动过程中探测到从所述宿主操作系统内存资源调度子系统分派过来的内存块,所述内存释放模块用于所述客户操作系统内存资源调度子系统在宕机时刻将其占用的内存返回给宿主操作系统内存资源调度子系统。
[0011]同时,本发明还提供一种基于内存资源供给调度虚拟机数量的方法,使用所述的基于内存资源供给调度虚拟机数量的系统,包括:[0012]获取虚拟机创建请求的到达率;获取系统创建虚拟机服务速率;根据虚拟机创建请求的到达率和系统创建虚拟机服务速率确定他们之间的数量关系,并确定系统允许创建的虚拟机的最优数量;
[0013]修改宿主操作系统内存资源调度子系统的伙伴算法参数,将系统的可用内存划分为k块;
[0014]宿主操作系统内存资源调度子系统调度k块内存的某一块给当前虚拟机的客户操作系统内存资源调度子系统;
[0015]宿主操作系统内存资源调度子系统回收虚拟机客户操作系统内存资源调度子系统的内存。
[0016]进一步的,在所述的基于内存资源供给调度虚拟机数量的方法中,所述获取虚拟机创建请求的到达率通过以下公式获得:
【权利要求】
1.一种基于内存资源供给调度虚拟机数量的系统,其特征在于,包括:宿主操作系统内存资源调度子系统和客户操作系统内存资源调度子系统; 所述宿主操作系统内存资源调度子系统包括内存分配模块和内存回收模块,其中,所述内存分配模块用于由所述宿主操作系统内存资源调度子系统分配内存块给所述客户操作系统内存资源调度子系统,所述内存回收模块用于所述宿主操作系统内存资源调度子系统回收宕机后的客户操作系统内存资源调度子系统的内存; 所述客户操作系统内存资源调度子系统包括内存探测模块和内存释放模块,其中,所述内存探测模块用于所述客户操作系统内存资源调度子系统在启动过程中探测到从所述宿主操作系统内存资源调度子系统分派过来的内存块,所述内存释放模块用于所述客户操作系统内存资源调度子系统在宕机时刻将其占用的内存返回给宿主操作系统内存资源调度子系统。
2.一种基于内存资源供给调度虚拟机数量的方法,使用如权利要求1所述的基于内存资源供给调度虚拟机数量的系统,其特征在于,包括: 获取虚拟机创建请求的到达率;获取系统创建虚拟机服务速率;根据虚拟机创建请求的到达率和系统创建虚拟机服务速率确定他们之间的数量关系,并确定系统允许创建的虚拟机的最优数量; 修改宿主操作系统内存资源调度子系统的伙伴算法参数,将系统的可用内存划分为k块; 宿主操作系统内存资源调度子系统调度k块内存的某一块给当前虚拟机的客户操作系统内存资源调度子系统; 宿主操作系统内存资源调度子系统回收虚拟机客户操作系统内存资源调度子系统的内存。
3.如权利要求2所述的基于内存资源供给调度虚拟机数量的方法,其特征在于,所述获取虚拟机创建请求的到达率通过以下公式获得:
4.如权利要求3所述的基于内存资源供给调度虚拟机数量的方法,其特征在于,所述获取系统创建虚拟机服务速率通过以下公式获得: P{X>t} =fut其中,μ表示虚拟机请求创建时,系统创建虚拟机服务速率。
5.如权利要求4所述的基于内存资源供给调度虚拟机数量的方法,其特征在于,所述根据虚拟机创建请求的到达率和系统创建虚拟机服务速率确定他们之间的数量关系过以下公式获得:

6.如权利要求2所述的基于内存资源供给调度虚拟机数量的方法,其特征在于,所述的k块内存指内存的块之间连续或不连续,块内是连续的。
7.如权利要求2所述的基于内存资源供给调度虚拟机数量的方法,其特征在于,所述修改宿主操作系统内存资源调度子系统的伙伴算法参数,将系统的可用内存划分为k块的步骤包括: 在当前宿主操作系统内存资源调度子系统的伙伴系统中分配k块内存用于虚拟机的客户操作系统内存资源调度子系统,利用锁机制锁住所述k块内存; 在每个虚拟机的客户操作系统内存资源调度子系统的物理内存描述符区增加一项用于描述当前用于此虚拟机创建的内存块信息。
8.如权利要求7所述的基于内存资源供给调度虚拟机数量的方法,其特征在于,所述宿主操作系统内存资源调度子系统调度k块内存的某一块给当前虚拟机的客户操作系统内存资源调度子系统的步骤包括: 宿主操作系统内存资源调度子系统顺序选择k块内存的某一块,并标识这块内存的物理页表的起始页帧号; 虚拟机的客户操作系统内存资源调度子系统加载某一块内存,并读取该内存块信息,同时更新当前客户操作系统内存资源调度子系统内存管理模块的物理页帧数量、物理页表的起始页帧号、页表映射关系、内存区域、内存节点等数据结构,更新完成后,发送一个完成消息给宿主操作系统内存资源调度子系统; 宿主操作系统内存资源调度子系统接收到完成的消息后,将该块内存从宿主操作系统内存资源调度子系统的内存管理池中清除出去。
9.如权利要求8所述的基于内存资源供给调度虚拟机数量的方法,其特征在于,所述宿主操作系统内存资源调度子系统回收虚拟机客户操作系统内存资源调度子系统的内存的步骤包括: 虚拟机的客户操作系统内存资源调度子系统收到宕机调度后,将其已获得的物理页帧数量、物理页表的起始页帧号打包成一个消息; 虚拟机的客户操作系统内存资源调度子系统发送一个处理器之间的中断给宿主操作系统内存资源调度子系统,并将所述消息投递给宿主操作系统内存资源调度子系统; 宿主操作系统内存资源调度子系统接收到这个处理器之间的中断后,执行一个预先定义的处理器之间的中断处理函数,这个函数的功能是解析所述投递给宿主操作系统内存资源调度子系统的消息,并根据这个消息将当前需要宕机的虚拟机客户操作系统内存资源调度子系统的内存重新纳入宿主操作系统内存资源调度子系统的内存管理池中。
【文档编号】G06F9/50GK103838634SQ201410100308
【公开日】2014年6月4日 申请日期:2014年3月18日 优先权日:2014年3月18日
【发明者】薛栋梁, 程家林, 张春强, 汪鑫 申请人:上海电机学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1