[发明专利]一种简便的测试内存带宽的方法在审
申请号: | 201410552569.9 | 申请日: | 2014-10-17 |
公开(公告)号: | CN104268050A | 公开(公告)日: | 2015-01-07 |
发明(设计)人: | 唐湘华 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F11/26 | 分类号: | G06F11/26 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 简便 测试 内存 带宽 方法 | ||
技术领域
本发明具体地说是一种简便的测试内存带宽的方法。
背景技术
随着高端服务器行业的快速发展,越来越多的客户开始偏向于购买高端服务器作为自己的核心应用。所以除了对高端服务器的稳定性、可靠性提出高的要求之外,对机器的性能也提出了更高的要求。内存带宽测试是性能测试重要的组成部分,业界普遍使用的内存带宽测试工具是stream测试程序。Stream 测试程序是一个用C语言编写的程序文件,每次调优测试时,都需要进入文件内修改测试参数N值,修改完成后再逐个线程进行编译;测试完一组N值后,还需再次更换几组N值参数,重新逐个线程编译,运行测试;测试完成之后,需对测试结果进行统计分析,统计得出最优测试结果,及在各线程下内存带宽的变化曲线,对于8路高端服务器或者其他多线程的多路服务器,内存带宽测试费时,费力,并且测试结果数据庞大,不易统计。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种简便的测试内存带宽的方法。有效克服stream 测试时的弊端,测试内存带宽时,只需运行辅助测试测试程序,就可以免去了参数修改、多线程编译、结果处理等一系列繁复的测试工作,大大提升测试效率。
本发明的技术方案是按以下方式实现的,操作如下:
(1)系统参数获取:
获取系统的cpu信息——包括物理cpu数量及总线程数量;获取线程编号与物理cpu编号的对应关系,方便后续的debug;获取内存的总大小,以及LLC(三级缓存)的总大小;通过awk命令及grep命令抓取/proc/cpuinfo 及/proc/meminfo中的关键字的方法,来获取想要的信息;
(2)参数修改:
修改stream程序中的N值的大小,通过awk语言中的NR参数,定位到需要修改的N值所在的具体的行,然后,将设定的值赋给N值;
(3)信息输出:
Output函数实现,打印出当前的系统信息,包括物理cpu的个数、一个物理cpu的物理core个数,逻辑core个数,HT 是否打开,cpu node与core ID的map关系,LLC大小、总内存大小、N值大小,N值与LLC的倍数关系;使用awk语言获取想要的系统信息——已经在预定义模块获取;cpu信息输出只需要要使用命令echo就行,map 对应关系获取使用了一个简单的算法实现;
(4)开始:
start()函数,开始对stream.c代码进行并行化编译,并开始一个循环,按照参数设定的粒度大小逐次增加线程运行编译好的stream程序,并将结果输出到result-$i中;之后会对结果进行初步处理,将Triald与Copy值取出存入Triald-$Threads中;
(5)参数选择:
这一部分通过一个case循环来获取命令行中的参数,并将参数运用到各函数中去,实现通过参数来控制程序运行的方法;可使用的参数有:-N xxx需要设置的N值大小;-m 选择是否输出node id与core id的对应关系;-i xxx设置线程的粒度大小;
(6)结果处理:
对start中得出的结果进行进一步归纳处理:
(7)环境清理:
清除程序运行过程中的临时文件,如stream_omp、stream_omp.c、result-*等文件。
本发明的优点是:
本发明的一种简便的测试内存带宽的方法和现有技术相比,该程序操作简便,具有较好的易用性;附带的node id与core id map关系的输出,为问题的debug提供了直观的参考依据;程序中各模块之间结构清晰,便于维护;无需冗杂的结果处理,大大节省了测试时间,提高了测试效率。
具体实施方式
下面对本发明的一种简便的测试内存带宽的方法作以下详细说明。
本发明的一种简便的测试内存带宽的方法,操作如下:
(1)系统参数获取:
获取系统的cpu信息——包括物理cpu数量及总线程数量;获取线程编号与物理cpu编号的对应关系,方便后续的debug;获取内存的总大小,以及LLC(三级缓存)的总大小;通过awk命令及grep命令抓取/proc/cpuinfo 及/proc/meminfo中的关键字的方法,来获取想要的信息;
(2)参数修改:
修改stream程序中的N值的大小,通过awk语言中的NR参数,定位到需要修改的N值所在的具体的行,然后,将设定的值赋给N值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410552569.9/2.html,转载请声明来源钻瓜专利网。