《一种基于内存资源供给调度虚拟机数量的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于内存资源供给调度虚拟机数量的方法及系统.pdf(13页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103838634 A (43)申请公布日 2014.06.04 CN 103838634 A (21)申请号 201410100308.3 (22)申请日 2014.03.18 G06F 9/50(2006.01) G06F 9/455(2006.01) (71)申请人 上海电机学院 地址 200240 上海市闵行区江川路 690 号 (72)发明人 薛栋梁 程家林 张春强 汪鑫 (74)专利代理机构 上海思微知识产权代理事务 所 ( 普通合伙 ) 31237 代理人 郑玮 (54) 发明名称 一种基于内存资源供给调度虚拟机数量的方 法及系统 (57) 摘要 本发明。
2、提供一种基于内存资源供给调度虚拟 机数量的方法和系统, 包括 : 根据虚拟机创建请 求的到达率和系统创建虚拟机服务速率确定他们 之间的数量关系, 并确定系统允许创建的虚拟机 的最优数量 ; 修改宿主操作系统内存资源调度子 系统的伙伴算法参数, 将系统的可用内存划分为 k块 ; 宿主操作系统内存资源调度子系统调度k块 内存的某一块给当前虚拟机的客户操作系统内存 资源调度子系统 ; 宿主操作系统内存资源调度子 系统回收虚拟机客户操作系统内存资源调度子系 统的内存。本发明解决了在数据中心物理服务器 上宿主操作系统内存资源调度子系统和客户操作 系统内存资源调度子系统之间调度内存资源的方 法和系统, 有。
3、效地指导了在物理服务器上调度虚 拟机的数量。 (51)Int.Cl. 权利要求书 2 页 说明书 8 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书8页 附图2页 (10)申请公布号 CN 103838634 A CN 103838634 A 1/2 页 2 1. 一种基于内存资源供给调度虚拟机数量的系统, 其特征在于, 包括 : 宿主操作系统 内存资源调度子系统和客户操作系统内存资源调度子系统 ; 所述宿主操作系统内存资源调度子系统包括内存分配模块和内存回收模块, 其中, 所 述内存分配模块用于由所述宿主操作系统内存资源调度子系统分配内存。
4、块给所述客户操 作系统内存资源调度子系统, 所述内存回收模块用于所述宿主操作系统内存资源调度子系 统回收宕机后的客户操作系统内存资源调度子系统的内存 ; 所述客户操作系统内存资源调度子系统包括内存探测模块和内存释放模块, 其中, 所 述内存探测模块用于所述客户操作系统内存资源调度子系统在启动过程中探测到从所述 宿主操作系统内存资源调度子系统分派过来的内存块, 所述内存释放模块用于所述客户操 作系统内存资源调度子系统在宕机时刻将其占用的内存返回给宿主操作系统内存资源调 度子系统。 2. 一种基于内存资源供给调度虚拟机数量的方法, 使用如权利要求 1 所述的基于内存 资源供给调度虚拟机数量的系统,。
5、 其特征在于, 包括 : 获取虚拟机创建请求的到达率 ; 获取系统创建虚拟机服务速率 ; 根据虚拟机创建请求 的到达率和系统创建虚拟机服务速率确定他们之间的数量关系, 并确定系统允许创建的虚 拟机的最优数量 ; 修改宿主操作系统内存资源调度子系统的伙伴算法参数, 将系统的可用内存划分为 k 块 ; 宿主操作系统内存资源调度子系统调度 k 块内存的某一块给当前虚拟机的客户操作 系统内存资源调度子系统 ; 宿主操作系统内存资源调度子系统回收虚拟机客户操作系统内存资源调度子系统的 内存。 3. 如权利要求 2 所述的基于内存资源供给调度虚拟机数量的方法, 其特征在于, 所述 获取虚拟机创建请求的到达。
6、率通过以下公式获得 : 当 n- 时, 其中 Pm(t) 表示在时间间隔 t 时有 m 个虚拟机请求创建的概率, 表示虚拟机请求创建时, 新的虚拟机创建请求的到达率, n 表示在时间间隔 t 内, 将时间切分成 n 等分进行无穷小 化。 4. 如权利要求 3 所述的基于内存资源供给调度虚拟机数量的方法, 其特征在于, 所述 获取系统创建虚拟机服务速率通过以下公式获得 : PXt e-t其中, 表示虚拟机请求创建时, 系统创建虚拟机服务速率。 5. 如权利要求 4 所述的基于内存资源供给调度虚拟机数量的方法, 其特征在于, 所述 根据虚拟机创建请求的到达率和系统创建虚拟机服务速率确定他们之间的数。
7、量关系过以 权 利 要 求 书 CN 103838634 A 2 2/2 页 3 下公式获得 : k: 宿主操作系统内存资源调度子系统提供的内存块 m: 请求创建虚拟机的个数 pm: 请求创建 m 个虚拟机的概率。 6. 如权利要求 2 所述的基于内存资源供给调度虚拟机数量的方法, 其特征在于, 所述 的 k 块内存指内存的块之间连续或不连续, 块内是连续的。 7. 如权利要求 2 所述的基于内存资源供给调度虚拟机数量的方法, 其特征在于, 所述 修改宿主操作系统内存资源调度子系统的伙伴算法参数, 将系统的可用内存划分为 k 块的 步骤包括 : 在当前宿主操作系统内存资源调度子系统的伙伴系统中。
8、分配 k 块内存用于虚拟机的 客户操作系统内存资源调度子系统, 利用锁机制锁住所述 k 块内存 ; 在每个虚拟机的客户操作系统内存资源调度子系统的物理内存描述符区增加一项用 于描述当前用于此虚拟机创建的内存块信息。 8. 如权利要求 7 所述的基于内存资源供给调度虚拟机数量的方法, 其特征在于, 所述 宿主操作系统内存资源调度子系统调度 k 块内存的某一块给当前虚拟机的客户操作系统 内存资源调度子系统的步骤包括 : 宿主操作系统内存资源调度子系统顺序选择 k 块内存的某一块, 并标识这块内存的物 理页表的起始页帧号 ; 虚拟机的客户操作系统内存资源调度子系统加载某一块内存, 并读取该内存块信息。
9、, 同时更新当前客户操作系统内存资源调度子系统内存管理模块的物理页帧数量、 物理页表 的起始页帧号、 页表映射关系、 内存区域、 内存节点等数据结构, 更新完成后, 发送一个完成 消息给宿主操作系统内存资源调度子系统 ; 宿主操作系统内存资源调度子系统接收到完成的消息后, 将该块内存从宿主操作系统 内存资源调度子系统的内存管理池中清除出去。 9. 如权利要求 8 所述的基于内存资源供给调度虚拟机数量的方法, 其特征在于, 所述 宿主操作系统内存资源调度子系统回收虚拟机客户操作系统内存资源调度子系统的内存 的步骤包括 : 虚拟机的客户操作系统内存资源调度子系统收到宕机调度后, 将其已获得的物理页。
10、帧 数量、 物理页表的起始页帧号打包成一个消息 ; 虚拟机的客户操作系统内存资源调度子系统发送一个处理器之间的中断给宿主操作 系统内存资源调度子系统, 并将所述消息投递给宿主操作系统内存资源调度子系统 ; 宿主操作系统内存资源调度子系统接收到这个处理器之间的中断后, 执行一个预先定 义的处理器之间的中断处理函数, 这个函数的功能是解析所述投递给宿主操作系统内存资 源调度子系统的消息, 并根据这个消息将当前需要宕机的虚拟机客户操作系统内存资源调 度子系统的内存重新纳入宿主操作系统内存资源调度子系统的内存管理池中。 权 利 要 求 书 CN 103838634 A 3 1/8 页 4 一种基于内存。
11、资源供给调度虚拟机数量的方法及系统 技术领域 0001 本发明涉及操作系统领域, 特别涉及一种基于内存资源供给调度虚拟机数量的方 法及系统。 背景技术 0002 虚拟化技术是云计算的基石, 云服务商通过提供虚拟化的计算资源和存储资源使 得租户在众多的物理服务器上创建数以千计的虚拟机, 然后在这些虚拟机上创建多种类型 的操作系统, 从而不同操作系统的不同服务满足了各种类型租户的需求。 然而, 在众多的物 理服务器上创建数以千计的虚拟机需要解决很多难题, 从内存资源调度的角度当前存在的 难题主要有 : 0003 1) 在单一物理服务器内存容量既定的情况下, 如何定量去估算在该服务器上创建 虚拟机的。
12、个数 ; 0004 2) 在 1) 基础上, 从用户请求创建虚拟机的时间到获得内存资源开始创建虚拟机 的时间如何建模, 即用户请求速率和服务速率之间是否符合某种概率分布 ; 0005 3) 在 2) 基础上, 在采用宿主模型虚拟机架构下, 如何从宿主操作系统内存资源调 度子系统中分配内存资源给客户操作系统内存资源调度子系统, 客户操作系统内存资源调 度子系统如何释放内存资源给宿主操作系统内存资源调度子系统 ; 0006 当然, 在云数据中心中, 如何在众多物理服务器集中解决上述 3 个问题也是非常 棘手和复杂的。 发明内容 0007 本发明的目的在于提供一种基于内存资源供给调度虚拟机数量的方法。
13、及系统, 以 解决在物理服务器上创建虚拟机时内存资源提供和调度时存在的问题。 0008 为解决上述技术问题, 本发明提供一种基于内存资源供给调度虚拟机数量的系 统, 包括 : 宿主操作系统内存资源调度子系统和客户操作系统内存资源调度子系统 ; 0009 所述宿主操作系统内存资源调度子系统包括内存分配模块和内存回收模块, 其 中, 所述内存分配模块用于由所述宿主操作系统内存资源调度子系统分配内存块给所述客 户操作系统内存资源调度子系统, 所述内存回收模块用于所述宿主操作系统内存资源调度 子系统回收宕机后的客户操作系统内存资源调度子系统的内存 ; 0010 所述客户操作系统内存资源调度子系统包括内。
14、存探测模块和内存释放模块, 其 中, 所述内存探测模块用于所述客户操作系统内存资源调度子系统在启动过程中探测到从 所述宿主操作系统内存资源调度子系统分派过来的内存块, 所述内存释放模块用于所述客 户操作系统内存资源调度子系统在宕机时刻将其占用的内存返回给宿主操作系统内存资 源调度子系统。 0011 同时, 本发明还提供一种基于内存资源供给调度虚拟机数量的方法, 使用所述的 基于内存资源供给调度虚拟机数量的系统, 包括 : 说 明 书 CN 103838634 A 4 2/8 页 5 0012 获取虚拟机创建请求的到达率 ; 获取系统创建虚拟机服务速率 ; 根据虚拟机创建 请求的到达率和系统创建。
15、虚拟机服务速率确定他们之间的数量关系, 并确定系统允许创建 的虚拟机的最优数量 ; 0013 修改宿主操作系统内存资源调度子系统的伙伴算法参数, 将系统的可用内存划分 为 k 块 ; 0014 宿主操作系统内存资源调度子系统调度 k 块内存的某一块给当前虚拟机的客户 操作系统内存资源调度子系统 ; 0015 宿主操作系统内存资源调度子系统回收虚拟机客户操作系统内存资源调度子系 统的内存。 0016 进一步的, 在所述的基于内存资源供给调度虚拟机数量的方法中, 所述获取虚拟 机创建请求的到达率通过以下公式获得 : 0017 0018 当 n- 时, 0019 0020 其中 0021 Pm(t)。
16、 表示在时间间隔 t 时有 m 个虚拟机请求创建的概率, 表示虚拟机请求创 建时, 新的虚拟机创建请求的到达率, n 表示在时间间隔 t 内, 将时间切分成 n 等分进行无 穷小化。 0022 进一步的, 在所述的基于内存资源供给调度虚拟机数量的方法中, 所述获取系统 创建虚拟机服务速率通过以下公式获得 : 0023 PXt e-t其中, 表示虚拟机请求创建时, 系统创建虚拟机服务速率。 0024 进一步的, 在所述的基于内存资源供给调度虚拟机数量的方法中, 所述根据虚拟 机创建请求的到达率和系统创建虚拟机服务速率确定他们之间的数量关系过以下公式获 得 : 0025 0026 k: 宿主操作系。
17、统内存资源调度子系统提供的内存块 0027 m: 请求创建虚拟机的个数 0028 pm: 请求创建 m 个虚拟机的概率 0029 进一步的, 在所述的基于内存资源供给调度虚拟机数量的方法中, 所述的 k 块内 存指内存的块之间连续或不连续, 块内是连续的。 0030 进一步的, 在所述的基于内存资源供给调度虚拟机数量的方法中, 所述修改宿主 操作系统内存资源调度子系统的伙伴算法参数, 将系统的可用内存划分为 k 块的步骤包 括 : 说 明 书 CN 103838634 A 5 3/8 页 6 0031 在当前宿主操作系统内存资源调度子系统的伙伴系统中分配 k 块内存用于虚拟 机的客户操作系统内。
18、存资源调度子系统, 利用锁机制锁住所述 k 块内存 ; 0032 在每个虚拟机的客户操作系统内存资源调度子系统的物理内存描述区增加一项 用于描述当前用于此虚拟机创建的内存块信息。 0033 进一步的, 在所述的基于内存资源供给调度虚拟机数量的方法中, 所述宿主操作 系统内存资源调度子系统调度 k 块内存的某一块给当前虚拟机的客户操作系统内存资源 调度子系统的步骤包括 : 0034 宿主操作系统内存资源调度子系统顺序选择 k 块内存的某一块, 并标识这块内存 的物理页表的起始页帧号 ; 0035 虚拟机的客户操作系统内存资源调度子系统加载某一块内存, 并读取该内存块信 息, 同时更新当前客户操作。
19、系统内存资源调度子系统内存管理模块的物理页帧数量、 物理 页表的起始页帧号、 页表映射关系、 内存区域、 内存节点等数据结构, 更新完成后, 发送一个 完成消息给宿主操作系统内存资源调度子系统 ; 0036 宿主操作系统内存资源调度子系统接收到完成的消息后, 将该块内存从宿主操作 系统内存资源调度子系统的内存管理池中清除出去。 0037 进一步的, 在所述的基于内存资源供给调度虚拟机数量的方法中, 所述宿主操作 系统内存资源调度子系统回收虚拟机客户操作系统内存资源调度子系统的内存的步骤包 括 : 0038 虚拟机的客户操作系统内存资源调度子系统收到宕机调度后, 将其已获得的物理 页帧数量、 物。
20、理页表的起始页帧号打包成一个消息 ; 0039 虚拟机的客户操作系统内存资源调度子系统发送一个处理器之间的中断给宿主 操作系统内存资源调度子系统, 并将所述消息投递给宿主操作系统内存资源调度子系统 ; 0040 宿主操作系统内存资源调度子系统接收到这个处理器之间的中断后, 执行一个预 先定义的处理器之间的中断处理函数, 这个函数的功能是解析所述投递给宿主操作系统内 存资源调度子系统的消息, 并根据这个消息将当前需要宕机的虚拟机客户操作系统内存资 源调度子系统的内存重新纳入宿主操作系统内存资源调度子系统的内存管理池中。 0041 本发明提供的一种基于内存资源供给调度虚拟机数量的方法及系统, 具有。
21、以下有 益效果 : 解决了在数据中心物理服务器上宿主操作系统内存资源调度子系统和客户操作系 统内存资源调度子系统之间调度内存资源的方法和系统, 同时建立了虚拟机创建的请求速 率和系统的服务速率之间的关系, 有效地指导了在物理服务器上调度虚拟机的数量, 合理 地降低了物理服务器的能耗。 附图说明 0042 图 1 是本发明较佳实施例的基于内存资源供给调度虚拟机数量的系统示意图 ; 0043 图 2 是本发明较佳实施例的基于内存资源供给调度虚拟机数量的方法示意图 ; 0044 图 3 是是本发明较佳实施例的虚拟机创建请求的到达率分布曲线示意图。 具体实施方式 0045 以下结合附图和具体实施例对本。
22、发明提出的基于内存资源供给调度虚拟机数量 说 明 书 CN 103838634 A 6 4/8 页 7 的方法及系统作进一步详细说明。根据下面说明和权利要求书, 本发明的优点和特征将更 清楚。需说明的是, 附图均采用非常简化的形式且均使用非精准的比例, 仅用以方便、 明晰 地辅助说明本发明实施例的目的。 0046 请参考图 1, 其是本发明较佳实施例的基于内存资源供给调度虚拟机数量的 系统示意图。本实施例以 ubuntu-12.04.3LTS 为宿主操作系统内存资源调度子系统, ubuntu-12.04.3LTS 为客户操作系统内存资源调度子系统实现一个如图 1 所示的应用系 统, 本应用系统。
23、的内核版本号为 Linux-3.8.0, CPU 型号为 Intel(R)Xeon(R)E56202.4GHz。 该系统在宿主操作系统内存资源调度子系统的内存管理中主要增加了内存分配模块和内 存回收模块, 其中, 所述内存分配模块用于由宿主操作系统内存资源调度子系统分配内存 块给客户操作系统内存资源调度子系统, 所述内存回收模块用于宿主操作系统内存资源调 度子系统回收宕机后的客户操作系统内存资源调度子系统的内存 ; 该系统在客户操作系统 内存资源调度子系统的内存管理中主要增加了内存探测模块和内存释放模块, 其中, 所述 内存探测模块用于客户操作系统内存资源调度子系统在启动过程中探测到从宿主操作。
24、系 统内存资源调度子系统分派过来的内存块, 所述内存释放模块用于客户操作系统内存资源 调度子系统在宕机时刻将其占用的内存返回给宿主操作系统内存资源调度子系统。 0047 请参考图 2, 其是本发明较佳实施例的基于内存资源供给调度虚拟机数量的方法 示意图。如图 2 所示, 本发明提供一种基于内存资源供给调度虚拟机数量的方法, 包括以下 步骤 : 0048 A) 获取虚拟机创建请求的到达率、 获取系统创建虚拟机服务速率, 根据所述虚拟 机创建请求的到达率和系统创建虚拟机服务速率确定他们之间的数量关系, 并确定系统允 许创建的虚拟机的最优数量 k ; 0049 A1) 获取虚拟机创建请求的到达率 ;。
25、 0050 S : 单体物理服务器和其上创建的多个虚拟机组成的系统 ; 0051 N(t) : 在某个时刻 t, 用户请求创建虚拟机的个数, 其值也是此刻用户请求创建虚 拟机的队列长 ; 0052 Pm(t) : 在时间间隔 t 时有 m 个虚拟机请求创建的概率 ; 0053 m: S 中有 m 个虚拟机请求创建时, 新的虚拟机创建请求的到达率 ; 0054 m: S 中有 m 个虚拟机请求创建时, S 创建虚拟机的服务速率。 0055 在时间间隔t内, 将时间切分成n等分进行无穷小化, 设tt/n, 若在t时间 内, 其到达率为 , 则有一个虚拟机创建请求到达时可以标识为 *t, 没有虚拟机。
26、请求 创建的概率为 1-*t。由于用户请求创建的时刻相互独立, 即用户创建虚拟机的请求独 立的随机到达, 所以在有 n 个 t 的时间间隔 t 内, 有创建虚拟机的请求或者没有创建虚拟 机的请求可以认为是 n 次独立试验, 所以在 n 个 t 中有 m 个虚拟机创建请求的概率为 : 0056 0057 当 n- 时, 0058 0059 式 说 明 书 CN 103838634 A 7 5/8 页 8 0060 其中, Pm(t) 表示在时间间隔 t 时有 m 个虚拟机请求创建的概率, 表示虚拟机请 求创建时, 新的虚拟机创建请求的到达率, n 表示在时间间隔 t 内, 将时间切分成 n 等分。
27、进 行无穷小化。 0061 由式表明在时间间隔 t 内, 用户请求创建虚拟机的过程服从参数为 t 的泊松 过程。 0062 表 1 是如图 1 所示的系统中在某次试验时单位时间内 ( 以 30s 为一个单位时间 ) 虚拟机创建的请求数和出现频次的统计样本表。 0063 单位时间内虚拟机创建的请求数出现频次 052 143 223 3 及以上13 0064 0065 表 1 0066 由表 1 得到如附图 3 所示的虚拟机创建请求的到达率分布曲线, 该曲线反映了虚 拟机创建请求的到达率符合泊松过程, 对于泊松过程, 样本均值是参数 的极大似然估 计, 所以, 0067 0068 0069 007。
28、0 0071 A2) 获取系统创建虚拟机服务速率 ; 0072 由于在物理服务器上, 系统创建虚拟机服务时间的先后是没有记忆性的, 即在任 意点的 s, t 内, 系统创建虚拟机的服务时间没有相互影响, 若系统创建虚拟机的服务速率 为 , 根据概率论的有关知识, 则可以断定系统创建虚拟机的服务时间是一个服从参数为 的指数分布, 即有下列式成立 : 0073 对于 0074 说 明 书 CN 103838634 A 8 6/8 页 9 0075 0076 式 0077 表2是如图1所示的系统在某次试验时创建虚拟机的服务时间和出现频次的的统 计样本表。 0078 服务时间出现频次 0-3035 3。
29、0-6038 60-9044 90-1204 0079 0080 表 2 0081 由表 2 系统的服务速率为 : 0082 0083 A3) 根据所述虚拟机创建请求的到达率和系统创建虚拟机服务速率确定他们之间 的数量关系。 0084 设在物理服务器上有 k 个服务线可以接受用户请求创建虚拟机, 所述的 k 个服务 线是指系统 S 能够提供 k 块可用内存用于满足用户创建虚拟机的请求。 0085 若 m m, 则表明用户请求创建虚拟机的到达率超过了系统创建虚拟机的服务 速率, 这种情况累积下去必将导致系统S中有大量用户请求排队的情况发生, 即系统S提供 的可用内存块数是瓶颈 ; 若 m m, 。
30、则表明系统创建虚拟机的服务速率超过了用户请求 创建虚拟机的到达率, 这种情况累积下去必将导致系统 S 中有大量可用内存块闲置, 即系 统 S 发生了空转, 浪费了电能。所以, 为了避免上述两种情况发生, 应该有下列式成立 : 0086 0087 要使 pm存在, 则必须有 0088 当系统 S 提供 k 块可用内存时 :,m m 0 说 明 书 CN 103838634 A 9 7/8 页 10 0089 所以 : 0090 于是 : 0091 式 0092 A4) 确定系统允许创建的虚拟机的最优数量 k。 0093 由式很容易得出, 当用户请求创建虚拟机的个数 m 小于系统 S 提供的可用内。
31、存 块 k 时, 系统 S 的服务速率取决于 m, 当用户请求创建虚拟机的个数 m 大于系统 S 提供的可 用内存块 k 时, 系统 S 的服务速率取决于 k, 当用户请求创建虚拟机的个数 m 与系统 S 提供 的可用内存块 k 相等时, 单一物理服务器上运行的虚拟机个数达到了最优。 0094 由 A1) 和 A2) 和得到 , 即系统虚拟机创建请求的到达率大于系统的服务速 率, 系统允许创建的虚拟机的最优数量取决于当前进行试验的物理服务器的可用内存块 ( 进行试验的物理服务器的内存为 64GB, 可用内存块 30, 每个虚拟机的客户操作系统内存 资源调度子系统用 2GB 内存块 )。降低虚拟。
32、机创建请求的到达率, 使得 接近于 , 可以 确定系统允许创建的虚拟机的最优数量为 30。 0095 B) 修改宿主操作系统内存资源调度子系统的伙伴算法参数, 将系统的可用内存划 分为 k 块, 所述的 k 块内存指内存的块之间可以连续也可以不连续, 但块内是连续的。其实 现方法为 : 0096 B1) 在当前宿主操作系统内存资源调度子系统的伙伴系统中分配 k 块内存用于虚 拟机的客户操作系统内存资源调度子系统, 利用锁机制锁住这 k 块内存 ; 0097 该步骤实施时在宿主操作系统内存资源调度子系统的内核文件如 “include/ linux/mmzone.h” 等中调整 MAX_ORDER。
33、 等参数, 这样使得系统能够分配大块连续内存, 并利 用内存锁防止这些内存换出到外存。 0098 B2) 在每个虚拟机的客户操作系统内存资源调度子系统的物理内存描述符区增加 一项用于描述当前用于此虚拟机创建的内存块信息。 0099 为了使虚拟机的客户操作系统内存资源调度子系统在启动时能够探测到当前能 够提供的内存块的分布情况, 该步骤实施时在客户操作系统内存资源调度子系统的内核文 件如 “arch/x86/kernel/E820.C” 等文件中重新构造 e820map 等数据结构, 说明该虚拟机的 客户操作系统内存资源调度子系统可用的物理内存的起始地址, 最大页帧号等信息, 然后 进行构造页表。
34、, 初始化页目录等一系列操作。 0100 C) 宿主操作系统内存资源调度子系统调度 k 块内存的某一块给当前虚拟机的客 户操作系统内存资源调度子系统。其实现方法为 : 说 明 书 CN 103838634 A 10 8/8 页 11 0101 C1) 宿主操作系统内存资源调度子系统顺序选择 k 块内存的某一块, 并标识这块 内存的物理页表的起始页帧号 ; 0102 该步骤实施时在宿主操作系统内存资源调度子系统的内核文件如 “mm/page_ alloc.c” 等中修改, 从中分配一块可用内存。 0103 C2) 虚拟机的客户操作系统内存资源调度子系统在获得 C1 分配的某一块内存开 始加载, 。
35、在加载的检测内存阶段读取 B2 步骤中内存块的描述信息, 同时更新当前客户操作 系统内存资源调度子系统内存管理模块的物理页帧数量、 物理页表的起始页帧号、 页表映 射关系、 内存区域、 内存节点等数据结构, 更新完成后, 发送一个完成消息给宿主操作系统 内存资源调度子系统 ; 0104 C3) 宿主操作系统内存资源调度子系统接收到这个完成的消息后, 将 C1 分派出去 的某一块内存从宿主操作系统内存资源调度子系统的内存管理池中清除出去。 0105 上述 C2)、 C3) 中客户操作系统内存资源调度子系统发送给宿主操作系统内存资 源调度子系统的消息用处理器之间的中断 (IPI) 中断实现, 需要。
36、在宿主操作系统内存资源 调度子系统预先设置一个中断处理函数来处理这个消息。 0106 D) 宿主操作系统内存资源调度子系统回收虚拟机客户操作系统内存资源调度子 系统的内存。其实现方法为 : 0107 D1) 虚拟机的客户操作系统内存资源调度子系统收到宕机调度后, 将其已获得的 物理页帧数量、 物理页表的起始页帧号打包成一个消息 ; 0108 D2) 虚拟机的客户操作系统内存资源调度子系统发送一个处理器之间的中断 (IPI) 给宿主操作系统内存资源调度子系统, 并将 D1) 中的消息投递给宿主操作系统内存 资源调度子系统 ; 0109 D3) 宿主操作系统内存资源调度子系统接收到这个处理器之间的。
37、中断后, 执行一 个预先定义的处理器之间的中断处理函数, 这个函数的功能是解析 D2) 投递给宿主操作系 统内存资源调度子系统的消息, 并根据这个消息将当前需要宕机的虚拟机客户操作系统内 存资源调度子系统的内存重新纳入宿主操作系统内存资源调度子系统的内存管理池中。 0110 综上所述, 本发明解决了在数据中心物理服务器上宿主操作系统内存资源调度子 系统和客户操作系统内存资源调度子系统之间调度内存资源的方法和系统, 同时建立了虚 拟机创建的请求速率和系统的服务速率之间的关系, 有效地指导了在物理服务器上调度虚 拟机的数量合理地降低了物理服务器的能耗。 0111 上述描述仅是对本发明较佳实施例的描述, 并非对本发明范围的任何限定, 本发 明领域的普通技术人员根据上述揭示内容做的任何变更、 修饰, 均属于权利要求书的保护 范围。 说 明 书 CN 103838634 A 11 1/2 页 12 图 1 图 2 说 明 书 附 图 CN 103838634 A 12 2/2 页 13 图 3 说 明 书 附 图 CN 103838634 A 13 。