内存带宽测试方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:37385434 阅读:21 留言:0更新日期:2023-04-27 07:25
本发明专利技术公开了一种内存带宽测试方法、装置、设备及计算机可读存储介质,所述内存带宽测试方法包括:获取系统中CPU节点的总节点数;根据所述总节点数对所述测试数组进行分割,得到分片数组;将所述分片数组存储至所述CPU节点对应的近端内存区,其中,所述CPU节点根据所述近端内存区的分片数组执行内存带宽测试线程对应的读写操作。本发明专利技术提高了测试NUMA架构下内存带宽的准确性。下内存带宽的准确性。下内存带宽的准确性。

【技术实现步骤摘要】
内存带宽测试方法、装置、设备及计算机可读存储介质


[0001]本专利技术涉及内存测试
,尤其涉及一种内存带宽测试方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]现有技术中,Stream测试工具,在NUMA(Non Uniform Memory Access Architecture,非统一内存访问架构)架构下,需要不断通过CPU(Central Processing Unit,中央处理器)节点间的Noc(network

on

chip,片上网络)接口访问远端内存区,性能会受到限制,测试结果无法反映NUMA架构下国产服务器内存带宽的真实情况。

技术实现思路

[0003]本专利技术的主要目的在于提供一种内存带宽测试方法、装置、设备及计算机可读存储介质,旨在提高测试NUMA架构下的内存带宽的准确性。
[0004]为实现上述目的,本专利技术提供一种内存带宽测试方法,所述内存带宽测试方法包括以下步骤:
[0005]获取系统中CPU节点的总节点数;
[0006]根据所述总节点数对所述测试数组进行分割,得到分片数组;
[0007]将所述分片数组存储至所述CPU节点对应的近端内存区,其中,所述CPU节点根据所述近端内存区的分片数组执行内存带宽测试线程对应的读写操作。
[0008]可选地,所述获取系统中CPU节点的总节点数的步骤之前包括:
[0009]若系统中的CPU结构为NUMA架构,则读取系统中的系统空余内存值;
[0010]判断所述系统空余内存值是否满足预设的测试需求;
[0011]若所述系统空余内存值满足所述测试需求,则执行所述获取系统中CPU节点的总节点数的步骤。
[0012]可选地,所述根据所述总节点数对所述测试数组进行分割,得到分片数组的步骤包括:
[0013]根据所述系统空余内存值确定测试数组的数组数量值;
[0014]根据所述数组数量值和所述总节点数,对所述测试数组进行分割,得到分片数组。
[0015]可选地,所述判断所述系统空余内存值是否满足预设的测试需求的步骤之后,还包括:
[0016]若所述系统空余内存值不满足所述测试需求,则检测系统中是否存在运行的应用进程;
[0017]若系统中存在所述应用进程,则终止所述应用进程的运行,并返回执行所述读取系统中的系统空余内存值的步骤。
[0018]可选地,所述判断所述系统空余内存值是否满足预设的测试需求的步骤包括:
[0019]获取系统中的CPU数量、CPU节点的总节点数,以及CPU节点对应的三级缓存容量
值;
[0020]将所述CPU数量、所述总节点数和所述三级缓存容量值输入至预设的校验公式进行计算,得到校验结果;
[0021]基于所述校验结果确定所述系统空余内存值是否满足预设的测试需求。
[0022]可选地,所述校验公式包括:
[0023][0024]其中,FreeMen为系统空余内存值,SocketNum为CPU数量,NodeNum为CPU节点的总节点数,NodeL3Size
(n)
为第n个CPU节点的三级缓存容量值。
[0025]可选地,所述将所述分片数组存储至所述CPU节点对应的近端内存区的步骤之后包括:
[0026]将预设的内存带宽测试项目绑定至所述CPU节点,得到所述CPU节点对应的内存带宽测试线程。
[0027]此外,为实现上述目的,本专利技术还提供一种内存带宽测试装置,包括:
[0028]参数获取模块,用于获取系统中CPU节点的总节点数;
[0029]数组分割模块,用于根据所述总节点数对所述测试数组进行分割,得到分片数组;
[0030]数组绑定模块,用于将所述分片数组存储至所述CPU节点对应的近端内存区,其中,所述CPU节点根据所述近端内存区的分片数组执行内存带宽测试线程对应的读写操作。
[0031]此外,为实现上述目的,本专利技术还提供一种内存带宽测试设备,内存带宽测试设备包括存储器、处理器及存储在存储器上并可在处理器上运行的内存带宽测试程序,内存带宽测试程序被处理器执行时实现如上述的内存带宽测试方法的步骤。
[0032]此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,计算机可读存储介质上存储有内存带宽测试程序,内存带宽测试程序被处理器执行时实现如上述的内存带宽测试方法的步骤。
[0033]本专利技术通过获取系统中CPU节点的总节点数;根据所述总节点数对所述测试数组进行分割,得到分片数组的步骤,从而实现对其测试数组按CPU节点数进行分片,并通过将所述分片数组存储至所述CPU节点对应的近端内存区的步骤,从而把分片后的测试数组分别存储到每个CPU节点对应的近端内存区里,最后通过CPU节点根据所述近端内存区的分片数组执行内存带宽测试线程对应的读写操作的步骤,从而实现采用多线程的方式,使各CPU节点分别负责各自近端内存区中分片数组的读写计算,这样使得原本需要各CPU节点多次通过Noc接口访问远端内存区的过程,变成只用就近访问就好,符合NUMA架构的特性。这样的测试结果才能真实反映NUMA架构下国产服务器内存带宽情况,进而提高了测试NUMA架构下内存带宽的准确性。
附图说明
[0034]图1是本专利技术实施例方案涉及的硬件运行环境的终端\设备结构示意图;
[0035]图2为一实施例中SMP架构下Copy测试项的读写操作示意图;
[0036]图3为一实施例中SMP架构下Scale测试项的读写操作示意图;
[0037]图4为一实施例中SMP架构下Add测试项的读写操作示意图;
[0038]图5为一实施例中SMP架构下Triad测试项的读写操作示意图;
[0039]图6为一实施例中优化前的NUMA架构下Copy测试项的读写操作示意图;
[0040]图7为一实施例中优化前的NUMA架构下Scale测试项的读写操作示意图;
[0041]图8为一实施例中优化前的NUMA架构下Add测试项的读写操作示意图;
[0042]图9为一实施例中优化前的NUMA架构下Triad测试项的读写操作示意图;
[0043]图10为本专利技术内存带宽测试方法第一实施例的流程示意图;
[0044]图11为本专利技术实施例优化后的NUMA架构下Copy测试项的读写操作示意图;
[0045]图12为本专利技术实施例优化后的NUMA架构下Scale测试项的读写操作示意图;
[0046]图13为本专利技术实施例优化后的NUMA架构下Add测试项的读写操作示意图;
[0047]图14为本专利技术实施例优化后的NUMA架构下Triad测试项的读写操作示意图;
[0048]图15为本专利技术内存带宽测试方法第二实施例的流程示意图;
[0049]图16为本专利技术内存带宽测试方法第三实施例中步骤S200的细化流程示意图;
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存带宽测试方法,其特征在于,所述内存带宽测试方法包括以下步骤:获取系统中CPU节点的总节点数;根据所述总节点数对所述测试数组进行分割,得到分片数组;将所述分片数组存储至所述CPU节点对应的近端内存区,其中,所述CPU节点根据所述近端内存区的分片数组执行内存带宽测试线程对应的读写操作。2.如权利要求1所述的内存带宽测试方法,其特征在于,所述获取系统中CPU节点的总节点数的步骤之前包括:若系统中的CPU结构为NUMA架构,则读取系统中的系统空余内存值;判断所述系统空余内存值是否满足预设的测试需求;若所述系统空余内存值满足所述测试需求,则执行所述获取系统中CPU节点的总节点数的步骤。3.如权利要求2所述的内存带宽测试方法,其特征在于,所述根据所述总节点数对所述测试数组进行分割,得到分片数组的步骤包括:根据所述系统空余内存值确定测试数组的数组数量值;根据所述数组数量值和所述总节点数,对所述测试数组进行分割,得到分片数组。4.如权利要求2所述的内存带宽测试方法,其特征在于,所述判断所述系统空余内存值是否满足预设的测试需求的步骤之后,还包括:若所述系统空余内存值不满足所述测试需求,则检测系统中是否存在运行的应用进程;若系统中存在所述应用进程,则终止所述应用进程的运行,并返回执行所述读取系统中的系统空余内存值的步骤。5.如权利要求2所述的内存带宽测试方法,其特征在于,所述判断所述系统空余内存值是否满足预设的测试需求的步骤包括:获取系统中的CPU数量、CPU节点的总节点数,以及CPU节点对应的三级缓存容量值;将所述CPU数量、所述总节点数和所述三级缓存容量...

【专利技术属性】
技术研发人员:丁强吴杰许乐静李志勇丁家如陈豪
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1