[发明专利]一种利用内存带宽的内存应用方法、装置与计算设备在审
申请号: | 202111537586.1 | 申请日: | 2021-12-15 |
公开(公告)号: | CN114398171A | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 叶中玉;周鹏;胡翔;余昇锦 | 申请(专利权)人: | 西安统信软件技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京瀚方律师事务所 11774 | 代理人: | 周红力 |
地址: | 710000 陕西省西安市高新区软件*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 内存 带宽 应用 方法 装置 计算 设备 | ||
本发明公开了一种利用内存带宽的内存应用方法、装置与计算设备。上述方法包括步骤:在NUMA架构的多内存节点系统中,当用户态程序待使用的内存数据的大小大于或者等于预设阈值时,将所述用户态程序待使用的内存数据划分为多个支持并行处理的数据块;至少基于与所述用户态程序待使用的内存数据所对应的内存节点的距离确定一个或者多个目标内存节点;将一个或者多个数据块保留在所述用户态程序所对应的内存节点,将剩余数据块分配至所述一个或者多个目标内存节点。本发明一并公开了相应的装置和计算设备。
技术领域
本发明涉及进程调度技术领域,尤其是一种利用内存带宽的内存应用方法、装置与计算设备。
背景技术
在内存带宽有限的场景,单进程的大数据量操作受限于内存访问速度,此时性能表现较差。在NUMA(非一致内存访问)架构的服务器上,NUMA系统节点(NODE)是由一组CPU以及本地内存组成,每个NODE都有自己的本地内存,每个NODE访问本地内存的延迟要低于访问其他NODE的远端内存。因此在linux系统上,进程倾向于在本地NODE上申请内存使用,此时虽然访问本地数据较快,但是当需求大量数据访问(如大数组运算)时,同一NODE上的内存带宽反而限制了性能。
如图1所示,在多NODE系统里,进程都是就近申请内存,因此当进程运行在NODE 0对应的CPU上,此时申请的大数组内存也都在NODE 0上,如果进行数组拷贝,此时主要的操作就是NODE 0上的内存访问,此时运算性能受内存带宽的影响,带宽越高,性能越好。在一些带宽有限的服务器设备上,此时性能表现较差,计算耗时较长。
发明内容
为此,本发明提供了一种利用内存带宽的内存应用方法、装置与计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种利用内存带宽的内存应用方法,包括步骤:在NUMA架构的多内存节点系统中,当用户态程序待使用的内存数据的大小大于或者等于预设阈值时,将所述用户态程序待使用的内存数据划分为多个支持并行处理的数据块;至少基于与所述用户态程序待使用的内存数据所对应的内存节点的距离确定一个或者多个目标内存节点;将一个或者多个数据块保留在所述用户态程序所对应的内存节点,将剩余数据块分配至所述一个或者多个目标内存节点。
可选地,在根据本发明的应用方法中,所述将所述用户态程序待使用的内存数据划分为多个支持并行处理的数据块的步骤包括:将所述用户态程序待使用的内存数据按照数组名或者指针名划分为多个支持并行处理的数据块。
可选地,在根据本发明的应用方法中,所述至少基于与所述用户态程序待使用的内存数据所对应的内存节点的距离确定一个或者多个目标内存节点的步骤包括:在所述全部内存节点中,确定与所述用户态程序所对应的内存节点的距离小于或者等于距离阈值的内存节点作为候选节点,从所述候选节点中确定与划分的所述数据块数量相应的目标内存节点。
可选地,在根据本发明的应用方法中,从所述候选节点中确定与划分的所述数据块数量相应的目标内存节点的步骤包括:在所述候选节点中,将其中内存容量大于或者等于预设容量阈值的一个或者多个确定为目标内存节点。
可选地,在根据本发明的应用方法中,将将一个或者多个数据块保留在所述用户态程序所对应的内存节点的步骤包括:将所述用户态程序最先使用的和/或等待使用的一个或者多个数据块保留在所述内存数据所在的内存节点;或者,将先保存在所述用户态程序待使用的内存数据的一个或者多个数据块保留在用户态程序所对应的内存节点。
根据本发明的另一方面,还提供了一种利用内存带宽的内存应用装置,包括:划分模块,适于在NUMA架构的多内存节点系统中,当用户态程序待使用的内存数据的大小大于或者等于预设阈值时,将所述用户态程序待使用的内存数据划分为多个支持并行处理的数据块;选择模块,适于至少基于与所述用户态程序待使用的内存数据所对应的内存节点的距离确定一个或者多个目标内存节点;分配模块,适于将一个或者多个数据块保留在所述用户态程序所对应的内存节点,将剩余数据块分配至所述一个或者多个目标内存节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安统信软件技术有限公司,未经西安统信软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111537586.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种妇产科产检支撑设备
- 下一篇:一种潜污泵设备的预判维护方法