CN102053886A - 非统一存储器存取环境下的存储器检测方法 - Google Patents
非统一存储器存取环境下的存储器检测方法 Download PDFInfo
- Publication number
- CN102053886A CN102053886A CN2009102077524A CN200910207752A CN102053886A CN 102053886 A CN102053886 A CN 102053886A CN 2009102077524 A CN2009102077524 A CN 2009102077524A CN 200910207752 A CN200910207752 A CN 200910207752A CN 102053886 A CN102053886 A CN 102053886A
- Authority
- CN
- China
- Prior art keywords
- test
- cpu
- execution thread
- storer
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
一种非统一存储器存取环境下的存储器检测方法,包含以下步骤:获得NUMA环境下系统的节点个数;根据节点个数,将存储器测试程序的执行线程复制多份;将每一执行线程分别绑定到不同的CPU上加以执行;以及利用各执行线程并行地测试各CPU专属的存储器。此方法可使测试所需时间大幅降低,同时提高测试效率及测试压力。
Description
技术领域
本发明是关于一种存储器检测方法,尤其是关于一种非统一存储器存取(NUMA)环境下的存储器检测方法。
背景技术
现今,非统一存储器存取(Non Uniform Memory Access,以下简称NUMA)技术可以使众多服务器像单一系统那样运转,同时保留小系统便于编程和管理的优点。在含有许多中央处理单元(Central Processing Unit,以下简称CPU)的电脑上,NUMA硬件可将专用存储器与CPU配对,进而大幅改善效能。
目前,硬件的趋势已走向可提供多个系统总线,而每一个总线都可服务一小组处理器。每一组处理器都有自己的存储器,可能的话,也会有自己的输入/输出(I/O)通道。不过,每个CPU都可存取与使用相同方法设计的其他群组相关联的存储器。每一个群组就称为NUMA节点(node)。NUMA节点内的CPU数目取决于硬件供应商。存取本机存储器会比存取与其他NUMA节点相关联的存储器更快。
在NUMA硬件上,有些存储器区域实际上是位于其他区域的不同总线上。因为NUMA使用本机和外部存储器,所以存取某些存储器区域的时间有时会比存取其他区域更久。“本机存储器”和“外部存储器”通常是用来参考目前执行的执行线程。本机存储器是与目前执行的执行线程的CPU位于相同节点上的存储器。不属于目前执行的执行线程节点的存储器,就是外部存储器。外部存储器也称为“远端存储器”。
NUMA的主要优点是延展性。NUMA架构是为了超越对称性多重处理(Symmetric Multiprocessing,简称SMP)架构的延展性限制而设计的。使用SMP时,所有存储器存取都会公佈到相同共用存储器总线。这适合只有少数几个CPU的时候使用,当有几十个甚至几百个CPU争相存取共用存储数目,并利用高速互连的方式来连接不同的节点。
已知的NUMA环境下的存储器检测方法只是简单的通过驱动程序实现了分配实体存储器对其进行检测的功能。并没有能够利用NUMA系统本身所固有的硬件环境特点来进行更加优化的存储器检测处理,因此通过优化现有的测试方法,测试压力及测试效率还有进一步提升的空间。
请参考图1,此图为现有技术的NUMA环境下的存储器检测方法所运行的系统方块图。如图所示,现有技术的NUMA环境下的存储器检测方法在具有多个CPU及其专属存储器的NUMA硬件架构的环境中仅仅通过一个存储器测试执行线程10来遍历测试所有的实体存储器,现有技术的这种检测方法存有诸多缺陷或限制,特别是:
1、没有能够利用多CPU的硬件环境来尽可能地并行作业以提升系统的测试压力。
2、存储器测试执行线程始终绑定在一个固定的CPU上,这样当测试远端存储器(属于其他CPU的专属存储器)的时候,访问及存取速度会大幅降低,进而严重影响测试效率及测试压力。
发明内容
为了解决上述现有技术中的问题与缺陷,本发明的目的在于提供一种可减少测试用时并可大幅提升测试压力的NUMA环境下的存储器检测方法。
本发明所提供的一种NUMA环境下的存储器检测方法,包含以下步骤:
获得NUMA环境下系统的节点个数;
根据节点个数,将存储器测试程序的执行线程复制多份;
将每一执行线程分别绑定到不同的CPU上加以执行;以及
利用各执行线程并行地测试各CPU专属的存储器。
其中,上述本发明所提供的一种NUMA环境下的存储器检测方法中,利用各执行线程并行地测试各CPU专属的存储器可进一步包含如下步骤:
当各执行线程运行之后,分别在各自的节点中利用驱动程序分配实体存储器;
将实体存储器映射到用户进程空间;以及
应用针对各种不同目的的演算法对各存储器进行读写验证,当全部的读写验证结果均一致时,则测试通过,否则报错并退出测试。
此外,上述本发明的方法中,各执行线程以CPU间规格书上的相互间的访问延迟时间较短的单方向访问和测试存储器,或者在某两个CPU空闲时单方向互测存储器。
综上所述,本发明所提供的一种NUMA环境下的存储器检测方法,由于通过复制多份存储器测试程序的执行线程,并将每一个执行线程分别绑定到不同的CPU上面去并行的测试各CPU专属的存储器,因而相对于现有技术具有如下的优点:
1、由于利用NUMA架构的硬件特性而使得存储器测试的并行度大幅提高,进而因测试并行度的提升使系统的测试压力得到提升。
2、由于每一份独立的存储器测试执行线程都不会去访问远端存储器,因而可使测试所需时间大幅降低,同时提高了测试效率及测试压力。
附图说明
图1为现有技术的NUMA环境下的存储器检测方法所运行的系统方块图;
图2为本发明一实施例的NUMA环境下的存储器检测方法的整体步骤流程图;
图3为图2中步骤104的分解步骤流程图;以及
图4为本发明一实施例的NUMA环境下的存储器检测方法所运行的系统方块图。
附图标记说明
10 存储器测试执行线程
具体实施方式
有关本发明的特征与实作,兹配合图示作较佳实施例详细说明如下。
请参考图2,此图为本发明一实施例的NUMA环境下的存储器检测方法的整体步骤流程图,如图所示,本发明的一种NUMA环境下的存储器检测方法,包含以下步骤:
获得NUMA环境下系统的节点个数(步骤101);
根据节点个数,将存储器测试程序的执行线程复制多份(步骤102);
将每一执行线程分别绑定到不同的CPU的上加以执行(步骤103);以及
利用各执行线程并行地测试各CPU专属的存储器(步骤104)。
其中,如图3所示,上述本发明一实施例的一种NUMA环境下的存储器检测方法中的步骤104可进一步包含如下步骤:
当各执行线程运行之后,分别在各自的节点中利用驱动程序分配实体存储器(步骤1041);
将实体存储器映射到用户进程空间(步骤1042);
应用针对各种不同目的的演算法对各存储器进行读写验证(步骤1043);
判断读写验证结果是否均一致(步骤1044);以及
当全部的读写验证结果均一致时,则测试通过(步骤1045),否则报错并退出测试(步骤1046)。
此外,上述本发明一实施例的NUMA环境下的存储器检测方法中,各执行线程以CPU间规格书上的相互间的访问延迟时间较短的单方向访问和测试存储器,或者在某两个CPU空闲时单方向互测存储器。
现在请参考图4,此图为本发明一实施例的NUMA环境下的存储器检测方法所运行的系统方块图,如图所示,应用本发明的存储器检测方法,在具体测试的时候首先会获得系统的节点(CPU与本地存储器的集合称为节点)个数,随后根据节点的个数派生出多个存储器测试执行线程10,然后分别将各执行线程10绑定到每个CPU上面去执行,当存储器测试执行线程10运行起来之后,首先会分别在各自的节点中利用驱动程序(driver)分配实体存储器,随后将它们映射到用户进程空间,接下来就应用针对各种不同目的的演算法来对存储器进行读写验证,当所有的读写验证结果都一致时,则测试通过。当在上述测试过程中出现读写验证不一致的情况时,就说明系统存储器存有相应的品质缺陷,进而使问题被检测出来。因此,採用如上所述的本发明的NUMA环境下的存储器检测方法将会很好地解决现有技术的NUMA环境下的存储器检测方法所存在的诸多问题。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的普通技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.一种非统一存储器存取环境下的存储器检测方法,包含以下步骤:
获得非统一存储器存取环境下系统的一节点个数;
根据该节点个数,将一存储器测试程序的一执行线程复制多份;
将每一该执行线程分别绑定到不同的一CPU上加以执行;以及
利用所述各该执行线程并行地测试所述各该CPU专属的一存储器。
2.根据权利要求1所述的存储器检测方法,其中利用所述各执行线程并行地测试所述各该CPU专属的该存储器进一步包含如下步骤:
当所述各该执行线程运行之后,分别在各自的一节点中利用驱动程序分配一实体存储器;
将该实体存储器映射到用户进程空间;以及
应用针对各种不同目的的演算法对所述各该存储器进行一读写验证,当全部的该读写验证结果均一致时,则测试通过,否则报错并退出测试。
3.根据权利要求2所述的存储器检测方法,其中所述各该执行线程以该CPU间规格书上的相互间的访问延迟时间较短的单方向访问和测试所述该存储器。
4.根据权利要求2所述的存储器检测方法,其中所述各该执行线程在某两个该CPU空闲时单方向互测该存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102077524A CN102053886A (zh) | 2009-10-30 | 2009-10-30 | 非统一存储器存取环境下的存储器检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102077524A CN102053886A (zh) | 2009-10-30 | 2009-10-30 | 非统一存储器存取环境下的存储器检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102053886A true CN102053886A (zh) | 2011-05-11 |
Family
ID=43958237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102077524A Pending CN102053886A (zh) | 2009-10-30 | 2009-10-30 | 非统一存储器存取环境下的存储器检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102053886A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841836A (zh) * | 2012-08-28 | 2012-12-26 | 华为技术有限公司 | 测试方法以及可编程处理器 |
CN104679615A (zh) * | 2013-11-26 | 2015-06-03 | 英业达科技有限公司 | 总线压力测试系统及其方法 |
CN104681101A (zh) * | 2013-11-28 | 2015-06-03 | 英业达科技有限公司 | 基于非统一存储器访问架构的存储器检测系统及其方法 |
CN105027092A (zh) * | 2013-03-27 | 2015-11-04 | 株式会社日立制作所 | 具有sdram接口的dram、混合闪存存储器模块 |
CN107885598A (zh) * | 2017-09-26 | 2018-04-06 | 东软集团股份有限公司 | 存储设备检测方法、装置及计算机 |
CN108132860A (zh) * | 2016-12-01 | 2018-06-08 | 英业达科技有限公司 | 依存储器模块的物理地址范围测试存储器的系统及方法 |
CN109144419A (zh) * | 2018-08-20 | 2019-01-04 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘内存读写方法及系统 |
CN111262753A (zh) * | 2020-01-13 | 2020-06-09 | 苏州浪潮智能科技有限公司 | 一种numa节点个数自动配置方法方法、系统、终端及存储介质 |
CN114528075A (zh) * | 2021-12-28 | 2022-05-24 | 飞腾信息技术有限公司 | Numa系统的性能调优方法、装置及计算机设备 |
-
2009
- 2009-10-30 CN CN2009102077524A patent/CN102053886A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841836A (zh) * | 2012-08-28 | 2012-12-26 | 华为技术有限公司 | 测试方法以及可编程处理器 |
CN102841836B (zh) * | 2012-08-28 | 2016-06-08 | 华为技术有限公司 | 测试方法以及可编程处理器 |
CN105027092A (zh) * | 2013-03-27 | 2015-11-04 | 株式会社日立制作所 | 具有sdram接口的dram、混合闪存存储器模块 |
CN105027092B (zh) * | 2013-03-27 | 2018-01-30 | 株式会社日立制作所 | 具有sdram接口的dram、混合闪存存储器模块 |
CN104679615A (zh) * | 2013-11-26 | 2015-06-03 | 英业达科技有限公司 | 总线压力测试系统及其方法 |
CN104681101A (zh) * | 2013-11-28 | 2015-06-03 | 英业达科技有限公司 | 基于非统一存储器访问架构的存储器检测系统及其方法 |
CN108132860A (zh) * | 2016-12-01 | 2018-06-08 | 英业达科技有限公司 | 依存储器模块的物理地址范围测试存储器的系统及方法 |
CN107885598A (zh) * | 2017-09-26 | 2018-04-06 | 东软集团股份有限公司 | 存储设备检测方法、装置及计算机 |
CN109144419A (zh) * | 2018-08-20 | 2019-01-04 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘内存读写方法及系统 |
CN111262753A (zh) * | 2020-01-13 | 2020-06-09 | 苏州浪潮智能科技有限公司 | 一种numa节点个数自动配置方法方法、系统、终端及存储介质 |
CN111262753B (zh) * | 2020-01-13 | 2021-11-05 | 苏州浪潮智能科技有限公司 | 一种numa节点个数自动配置方法方法、系统、终端及存储介质 |
CN114528075A (zh) * | 2021-12-28 | 2022-05-24 | 飞腾信息技术有限公司 | Numa系统的性能调优方法、装置及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102053886A (zh) | 非统一存储器存取环境下的存储器检测方法 | |
US9619430B2 (en) | Active non-volatile memory post-processing | |
US8533681B2 (en) | Atomicity violation detection using access interleaving invariants | |
CN104685474B (zh) | 用于处理不可纠正的内存错误的方法及非瞬态处理器可读介质 | |
CN103109276B (zh) | 系统测试方法 | |
US7624312B2 (en) | System, apparatus, computer program product for performing operational validation with limited CPU use of a communications network | |
CN104252419B (zh) | 一种内存分配的方法及装置 | |
CN101044461A (zh) | 数据处理系统和用于监控处理单元的高速缓冲存储器一致性的方法 | |
CN105359109A (zh) | 基于次计算机中的存储器错误移动主计算机中的对象 | |
CN105243004A (zh) | 一种故障资源检测方法及装置 | |
CN103914363A (zh) | 一种内存监控方法及相关装置 | |
CN112231403B (zh) | 数据同步的一致性校验方法、装置、设备和存储介质 | |
CN101783755A (zh) | 一种同步测试集群并行文件系统性能的方法及装置 | |
US9563719B2 (en) | Self-monitoring object-oriented applications | |
CN102053868A (zh) | 一种内存泄露检测方法和装置 | |
CN102591763B (zh) | 一种基于确定性重放的处理器整体故障检测系统与方法 | |
CN114550791B (zh) | 备用电路修补位置确定方法及装置、集成电路修补方法 | |
JP6175958B2 (ja) | メモリダンプ方法及びプログラム、並びに、情報処理装置 | |
WO2020238348A1 (zh) | 区块的验证方法、装置及设备 | |
CN105302679A (zh) | 一种智能终端存储稳定性的检测方法及系统 | |
CN102841836B (zh) | 测试方法以及可编程处理器 | |
CN102339305A (zh) | 基于偏序关系日志的数据库集群故障恢复方法 | |
CN102339238A (zh) | 具备回写式高速缓存的信息处理装置及主存储器诊断方法 | |
CN101430650A (zh) | 用于事务内存的方法和设备 | |
CN114138195A (zh) | 磁盘阵列管理方法、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110511 |