一种内存管理方法和内存管理装置的制造方法

文档序号:8430595阅读:591来源:国知局
一种内存管理方法和内存管理装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及一种内存管理方法和内存管理装置。
【背景技术】
[0002] 内存(Memory)是计算机中重要的部件之一,计算机中所有程序的运行都是在内存 中进行的,因此内存的性能对计算机的影响非常大。内存也被称为内存储器,其作用是用于 暂时存放中央处理器(Central Processing Unit, CPU)中的运算数据,以及与硬盘等外部 存储器交换的数据。计算机在运行中,CPU把需要运算的数据调到内存中进行运算,当运算 完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。
[0003] 新兴的数据中心系统与传统的桌面系统有着截然不同的特征,在新兴的数据中心 系统中,对内存分配的要求更高,例如要求更高的带宽利用率以及减少不必要的功耗浪费。
[0004] 现有技术中存在一种基于分块实现的内存分配方法,即将内存资源均分成若干 块,当需要内存资源时,获取一个资源块,使用完毕之后再将资源块释放,归还给内存。由于 当前的数据中心系统中服务器的访存特点与以往的计算机截然不同,如果按照现有技术的 内存分配方法来分配内存,则在数据中心系统中服务器上会存在如何确定资源块大小的问 题,如果资源块过大,则利用率下降,如果资源块过小,则无法满足分配的需求,如果数据中 心系统中服务器沿用以往的内存分配策略会导致数据中心系统的内存利用效率低下。截至 目前,还没有针对数据中心系统中服务器的内存分配策略。

【发明内容】

[0005] 本发明实施例提供了 一种内存管理方法和内存管理装置,用于提高数据中心系统 的内存利用效率。
[0006] 为解决上述技术问题,本发明实施例提供以下技术方案:
[0007] 第一方面,本发明实施例提供一种内存管理方法,包括:
[0008] 接收数据中心系统中的虚拟机发送的内存请求信息,所述内存请求信息包括:在 所述虚拟机上运行的应用程序对内存的需求信息;
[0009] 根据所述应用程序对内存的需求信息获取所述虚拟机的访存属性,其中,针对不 同访存属性的虚拟机使用不同位宽的虚拟内存通道,所述不同位宽的虚拟内存通道中各个 虚拟内存通道映射的物理内存的地址空间容量不同;
[0010] 根据虚拟内存通道和物理内存之间的映射关系向所述应用程序分配与所述虚拟 机的访存属性相对应的物理内存。
[0011] 结合第一方面,在第一方面的第一种可能的实现方式中,所述接收虚拟机发送的 内存请求信息之前,还包括:
[0012] 获取所述数据中心系统中创建的多个虚拟机;
[0013] 对创建的多个虚拟机的访存属性进行归类,得到N种访存属性的虚拟机,其中,所 述数据中心系统中虚拟机的访存属性可分为N种类型,所述N为大于1的自然数;
[0014] 为所述N种访存属性的虚拟机分配N种位宽的虚拟内存通道,其中,每种访存属性 的虚拟机分配的虚拟内存通道的位宽不同;
[0015] 分别建立每种位宽的虚拟内存通道与所述数据中心系统中的物理内存之间的映 射关系,其中,位宽越宽的虚拟内存通道映射到的物理内存的地址空间也越大。
[0016] 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,所述分别建立每种位宽的虚拟内存通道与所述数据中心系统中的物理内存之间的映射 关系,包括:
[0017] 将所述数据中心系统中的物理内存划分为M个内存颗粒,其中每个内存颗粒对应 的地址空间容量相同,所述M为大于所述N的自然数;
[0018] 分别建立每种位宽的虚拟内存通道与所述M个内存颗粒中的至少一个内存颗粒 之间的映射关系,其中,位宽越宽的虚拟内存通道映射到的内存颗粒个数也越多。
[0019] 结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式 中,所述分别建立每种位宽的虚拟内存通道与所述数据中心系统中的物理内存之间的映射 关系,包括:
[0020] 获取所述数据中心系统中的N种访存属性的虚拟机的历史内存分配信息,所述历 史内存分配信息包括:所述N种访存属性的虚拟机在历史时间段内运行各自的应用程序时 分配的物理内存的地址空间容量;
[0021] 根据所述N种访存属性的虚拟机的历史内存分配信息分别获取所述N种访存属性 的虚拟机在所述历史时间段内使用的虚拟内存通道映射到的物理内存的地址空间容量;
[0022] 根据所述N种访存属性的虚拟机在所述历史时间段内使用的虚拟内存通道映射 到的物理内存的地址空间容量,分别建立每种位宽的虚拟内存通道与所述数据中心系统中 的物理内存的地址空间容量之间的映射关系。
[0023] 结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式 中,所述分别建立每种位宽的虚拟内存通道与所述数据中心系统中的物理内存之间的映射 关系,包括:
[0024] 计算所述N种位宽的虚拟内存通道中每种位宽的虚拟内存通道之间的位宽比例;
[0025] 按照所述位宽比例分别建立每种位宽的虚拟内存通道与所述数据中心系统中的 物理内存的地址空间容量之间的映射关系,其中,每种位宽的虚拟内存通道分别映射的物 理内存的地址空间容量之间的容量比例和所述位宽比例相同或正相关。
[0026] 结合第一方面或第一方面的第一种或第二种或第三种或第四种可能的实现方式, 在第一方面的第五种可能的实现方式中,所述根据虚拟内存通道和物理内存之间的映射关 系向所述应用程序分配与所述虚拟机的访存属性相对应的物理内存之后,还包括:
[0027] 根据所述虚拟机使用分配给所述应用程序的物理内存运行所述应用程序的运行 情况,对所述数据中心系统中虚拟内存通道和物理内存之间的映射关系进行修正。
[0028] 结合第一方面或第一方面的第一种或第二种或第三种或第四种可能的实现方式, 在第一方面的第六种可能的实现方式中,所述根据虚拟内存通道和物理内存之间的映射关 系向所述应用程序分配与所述虚拟机的访存属性相对应的物理内存之后,还包括:
[0029] 当在所述虚拟机上运行应用程序时,通过所述虚拟机使用的虚拟内存通道响应所 述虚拟机的读写请求。
[0030] 结合第一方面,在第一方面的第七种可能的实现方式中,
[0031] 所述数据中心系统中的虚拟机的访存属性为以下属性中的一种:访存要求为高带 宽、访存要求为低带宽;
[0032] 或,所述数据中心系统中的虚拟机的访存属性为以下属性中的一种:访存要求为 延迟敏感、访存要求为延迟不敏感;
[0033] 或,所述数据中心系统中的虚拟机的访存属性为以下属性中的一种:访存要求为 高带宽且延迟敏感、访存要求为高带宽且延迟不敏感、访问要求为低带宽且延迟敏感、访问 要求为低带宽且延迟不敏感。
[0034] 结合第一方面,在第一方面的第八种可能的实现方式中,
[0035] 所述数据中心系统中的虚拟机的访存属性为以下属性中的一种:访存要求为高带 宽、访存要求为中带宽、访存要求为低带宽;
[0036] 或,所述数据中心系统中的虚拟机的访存属性为以下属性中的一种:访存要求为 延迟敏感、访存要求为延迟较敏感、访存要求为延迟不敏感;
[0037] 或,所述数据中心系统中的虚拟机的访存属性为以下属性中的一种:第一属性、第 二属性、第三属性、第四属性、第五属性,其中,
[0038] 所述第一属性包括:访存要求为高带宽且延迟敏感;
[0039] 所述第二属性包括:访存要求为高带宽且延迟较敏感,或中带宽且延迟敏;
[0040] 所述第三属性包括:访存要求为中带宽且延迟较敏感,或低带宽且延迟敏感,或高 带宽且延迟不敏感;
[0041] 所述第四属性包括:访存要求为中带宽且延迟不敏感,或低带宽且延迟较敏感;
[0042] 所述第五属性包括:访存要求为低带宽且延迟不敏感。
[0043] 第二方面,本发明实施例还提供一种内存管理装置,包括:
[0044] 信息接收模块,用于接收数据中心系统中的虚拟机发送的内存请求信息,所述内 存请求信息包括:在所述虚拟机上运行的应用程序对内存的需求信息;
[0045]属性获取模块,用于根据所述信息接收模块接收到的所述应用程序对内存的需求 信息获取所述虚拟机的访存属性,其中,针对不同访存属性的虚拟机使用不同位宽的虚拟 内存通道,所述不同位宽的虚拟内存通道中各个虚拟内存通道映射的物理内存的地址空间 容量不同;
[0046] 内存分配模块,用于根据虚拟内存通道和物理内存之间的映射关系向所述应用程 序分配与所述属性获取模块获取到的所述虚拟机的访存属性相对应的物理内存。
[0047] 结合第二方面,在第二方面的第一种可能的实现方式中,所述内存管理装置,还包 括:
[0048] 虚拟机获取模块,用于在所述信息接收模块接收虚拟机发送的内存请求信息之 前,获取所述数据中心系统中创建的多个虚拟机;
[0049]属性归类模块,用于对所述虚拟机获取模块获取到的所述数据中心系统中创建的 多个虚拟机的访存属性进行归类,得到N种访存属性的虚拟机,其中,所述数据中心系统中 虚拟机的访存属性可分为N种类型,所述N为大于1的自然数;
[0050] 通道分配模块,用于为所述属性归类模块归类出的N种访存属性的虚拟机分配N 种位宽的虚拟内存通道,其中,每种访存属性的虚拟机分配的虚拟内存通道的位宽不同;
[0051] 映射建立模块,用于分别建立每种位宽的虚拟内存通道与所述数据中心系统中的 物理内存之间的映射关系,其中,位宽越宽的虚拟内存通道映射到的物理内存的地址空间 也越大。
[0052] 结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式 中,所述映射建立模块,包括:
[0053]内存划分子模块,用于将所述数据中心系统中的物理内存划分为M个内存颗粒, 其中每个内存颗粒对应的地址空间容量相同,所述M为大于所述N的自然数;
[0054]第一映射建立子模块,用于分别建立每种位宽的虚拟内存通道与所述M个内存颗 粒中的至少一个内存颗粒之间的映射关系,其中,位宽越宽的虚拟内存通道映射到的内存
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1