CN102646060A - 高性能计算机系统中不满足计算精度要求的结点检测方法 - Google Patents

高性能计算机系统中不满足计算精度要求的结点检测方法 Download PDF

Info

Publication number
CN102646060A
CN102646060A CN2012100419124A CN201210041912A CN102646060A CN 102646060 A CN102646060 A CN 102646060A CN 2012100419124 A CN2012100419124 A CN 2012100419124A CN 201210041912 A CN201210041912 A CN 201210041912A CN 102646060 A CN102646060 A CN 102646060A
Authority
CN
China
Prior art keywords
calculation
node
nodes
computer system
result
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.)
Granted
Application number
CN2012100419124A
Other languages
English (en)
Other versions
CN102646060B (zh
Inventor
刘杰
迟利华
胡庆丰
徐涵
晏益慧
龚春叶
杨博
赵文闻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201210041912.4A priority Critical patent/CN102646060B/zh
Publication of CN102646060A publication Critical patent/CN102646060A/zh
Application granted granted Critical
Publication of CN102646060B publication Critical patent/CN102646060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种高性能计算机系统中不满足计算精度要求的问题结点检测方法。技术方案是先选择基准测试程序并在高性能计算机全系统2n个计算结点上运行,如果计算精度达不到预定的要求,将高性能计算系统分成两个部分,分别加载基准测试程序,如果计算结点数目减半的并行程序计算结果仍不满足计算精度要求,则再将计算结点的数目减半,直到均满足计算精度要求,或者每个部分只剩下一个计算结点。若计算结点数为1但仍不满足计算精度要求,则说明已经找到不满足计算精度要求的计算结点。采用本发明可以对计算精度不满足要求的计算结点实现自动检测,定位问题结点,保证大规模高性能计算机系统的可用性。

Description

高性能计算机系统中不满足计算精度要求的结点检测方法
技术领域
本发明涉及一种高性能计算机系统中不满足计算精度要求的问题结点检测方法,尤指基于并行程序的加载运行,能够快速定位不能满足用户计算精度问题要求的计算结点的检测方法。
背景技术
高性能计算机系统计算精度问题指用户并行应用程序在高性能计算机系统上的计算精度不能满足用户需求的问题,是由于少数计算结点的计算精度错误或结点间的连接引起的问题。
高性能计算机系统结构复杂,计算精度涉及用户程序运行结果的可信度,是用户首先关心的问题。计算精度既涉及单机运算,也涉及多机协同计算;既和计算结点相关,也和通信网络相关;既需要MPI(Message Passing Interface)并行环境,也需要OpenMP共享计算环境或CUDA(Compute Unified Device Architecture)等其他并行计算环境;既要考虑串行编译器的影响,又要考虑MPI、OpenMP和CUDA等并行编译的影响;既涉及本地多级存储结构,又涉及远地存储结构。计算结果的精度对高性能计算机系统是否具有可用性至关重要。
目前对计算精度的研究主要集中在提高计算精度的方法,如顶层设计提高计算精度方法,为避免舍入误差造成模拟计算的不可靠性,从应用软件角度必须研究高精度偏微分离散格式和求解方法,尽量减少截断误差,并从程序设计角度对算术运算精度要求敏感的核心部分考虑采用高于64位的浮点运算,从系统研制角度则必须考虑对超64位字长的算术运算的支持。从应用和系统设计着手提高计算精度,如果系统出现互连网络等系统级错误时,得到错误的计算结果,无法定位出现错误的计算结点。
对高性能计算机系统的精度是否满足用户要求,主要采用计算精度对比法和国际基准程序测试法:
(1)计算精度对比法。使用基于用户需求研制的核心算法并行程序、测试程序和典型应用程序在国内国外已投入运行的高性能计算机系统上运行,保存计算结果,在被测试的系统上使用同等规模的问题进行计算,然后进行计算结果比对,具有相同的有效数字,就认为计算结果正确。目前要测试的高性能计算机系统可能远大于已投入运行的系统,所计算的问题可能在已投入运行的机器上无法运行,得不到可供参考的计算结果。
(2)国际基准程序测试法。选择国际上的基准测试程序对高性能计算机系统的计算精度进行测试,基准测试程序中有标准的计算结果,测试完成后会自动报告是否成功,如果成功说明计算结果正确。该方法可以知道计算结果的正确性,但不知道哪些计算结点造成计算结果不正确,无法定位出错误的计算结点。
上述方法只能告诉用户高性能计算机系统是否满足用户的需求,不能实现自动检测功能,目前国际上还缺乏将计算精度有问题的计算结点自动检测出来的方法。如何能够既告诉用户高性能计算机系统的精度是否满足用户的要求,又对计算精度不满足要求的计算结点进行自动检测是本领域技术人员极为关注的技术问题。
发明内容
本发明要解决的技术问题在于:提出一种高性能计算机系统中不满足计算精度要求的结点检测方法,使用并行程序加载运行,自动定位不能满足计算精度要求的少数计算结点。
为了解决上述技术问题,本发明的技术方案为:根据高性能计算机系统的并行计算环境,采用覆盖MPI、OpenMP和加速器的基准测试程序,加载运行基准测试程序,自动检测计算精度问题,定位不满足计算精度要求的计算结点。
假设高性能计算机系统计算结点的总数目为2n,n为正整数,在高性能计算机系统2n个计算结点上加载基准测试程序,如果计算精度达不到预定的要求,将高性能计算系统分成两个部分,每个部分结点数目均为2n-1,分别加载基准测试程序,如果计算结点数目减半的并行程序计算结果仍不满足计算精度要求,则再将计算结点的数目减半,直到均满足计算精度要求,或者每个部分只剩下一个计算结点。若计算结点数为1但仍不满足计算精度要求,则说明已经找到不满足计算精度要求的计算结点。将不满足计算精度要求的结点集合(结点数大于等于2,小于等于2n-1)分成两个部分,对于这两个部分均满足计算精度要求的情况,当结点数为2n-1时,在两个部分结点集合中随机选择数目相等的结点进行互换,在两个结点集合上分别加载基准测试程序,直到有一个部分结点集合不满足计算精度要求为止,并将此时满足精度要求的结点集合标记为正常结点;当结点数2m小于2n-1时,从标记为正常的计算结点中任取2m个结点,分别在正常结点和部分结点组成的结点集合上加载程序,如果满足计算精度要求,则将参与计算的部分结点标记为正常结点,对不满足计算精度要求的部分结点一分为二,重复上述过程。
具体技术方案为:
第一步:选择基准测试程序,要求基准测试程序覆盖MPI、OpenMP和CUDA计算资源,有标准计算结果,初始化结点集合H为空集。
第二步:高性能计算机系统提供MPI、OpenMP和CUDA计算资源环境,有2n个计算结点,在高性能计算机全系统2n个计算结点上运行基准测试程序,n为正整数。将在高性能计算机系统上运行的计算结果和标准计算结果进行对比,若计算结果和标准结果一致,则满足计算精度要求,所有计算结点标记为正常,转第八步。否则说明计算精度达不到预定要求,将达不到预定要求的高性能计算系统结点放到结点集合H中,转第三步。
第三步:将计算精度达不到预定要求的高性能计算系统结点集合H一分为二,分别记为集合H1和H2,H1和H2的计算结点数相等,转第四步。
第四步:在H1和H2组成的计算机系统上分别加载基准测试程序,分为以下几种情况处理:
4.1若并行程序在H1和H2组成的计算机系统上的计算结果均和标准结果一致,转第五步;
4.2当并行程序在H1组成的计算机系统上的计算结果和标准结果一致时,将H1标记为正常结点,转第八步;当并行程序在H1组成的计算机系统上的计算结果和标准结果不一致时,若H1结点数目不为1,转第三步,若H1结点数为1,将H1中的计算结点标记为问题结点,转第八步;
4.3当并行程序在H2组成的计算机系统上的计算结果和标准结果一致时,将H2标记为正常结点,转第八步;当并行程序在H2组成的计算机系统上的计算结果和标准结果不一致时,若H2结点数目不为1,转第三步,若H2结点数为1,将H2中的计算结点标记为问题结点,转第八步;
第五步:将H1和H2的计算结点数记为2m,1≤m≤n-1,分为两种情况处理:
5.1当结点数2m等于2n-1时,分别在H1和H2随机选择数目相等的结点进行互换,转第四步;
5.2当结点数2m不等于2n-1时,从标记为正常的计算结点中任取2m个结点组成集合H3。H1和H3相合并构成测试集合H13,H2和H3相合并构成测试集合H23。在H13和H23组成的计算机系统上分别加载基准测试程序,如果H1和H2的结点数2m大于1,转第六步,如果H1和H2的结点数2m等于1,转第七步;
第六步:分为以下四种情况处理:
6.1并行程序在H13组成的计算机系统上计算结果和标准结果一致,将H1中的计算结点标记为正常结点,转第八步;
6.2并行程序在H13组成的计算机系统上计算结果和标准结果不一致,将H1一分为二,两个部分还分别记为H1和H2,H1和H2的计算结点数相等,转第5.2步;
6.3并行程序在H23组成的计算机系统上计算结果和标准结果一致,将H2中的计算结点标记为正常结点,转第八步;
6.4并行程序在H23组成的计算机系统上计算结果和标准结果不一致,将H2一分为二,两个部分还分别记为H1和H2,H1和H2的计算结点数相等,转第5.2步;
第七步:分为以下两种情况处理:
7.1并行程序在H13组成的计算机系统上计算结果和标准结果一致,将H1中的计算结点标记为正常结点,转第八步;并行程序在H13组成的计算机系统上计算结果和标准结果不一致,将H1中的计算结点标记为问题结点,转第八步;
7.2并行程序在H23组成的计算机系统上计算结果和标准结果一致,将H2中的计算结点标记为正常结点,转第八步;并行程序在H23组成的计算机系统上计算结果和标准结果不一致,将H2中的计算结点标记为问题结点,转第八步;
第八步:将问题结点和正常结点输出,结束。
与现有技术相比,采用本发明可达到以下技术效果:对于大规模高性能计算机系统的计算结点问题,采用本发明可以对计算精度不满足要求的计算结点实现自动检测,能够定位问题结点,保证大规模高性能计算机系统的可用性。
附图说明
图1为本发明的总流程图。
具体实施方式
图1是本发明的总流程图。
具体实施方式为:
第一步:选择基准测试程序,要求基准测试程序覆盖MPI、OpenMP和CUDA计算资源,有标准计算结果,初始化结点集合H为空集。
第二步:在高性能计算机全系统2n个计算结点上运行基准测试程序,n为正整数。将在高性能计算机系统上运行的计算结果和标准计算结果进行对比,若计算结果和标准结果一致,则满足计算精度要求,所有计算结点标记为正常,转第八步。否则说明计算精度达不到预定要求,将达不到预定要求的高性能计算系统结点放到结点集合H中,转第三步。
第三步:将计算精度达不到预定要求的高性能计算系统结点集合H一分为二,分别记为集合H1和H2,H1和H2的计算结点数相等,转第四步。
第四步:在H1和H2组成的计算机系统上分别加载基准测试程序,分为以下几种情况处理:
4.1若并行程序在H1和H2组成的计算机系统上的计算结果均和标准结果一致,转第五步;
4.2当并行程序在H1组成的计算机系统上的计算结果和标准结果一致时,将H1标记为正常结点,转第八步;当并行程序在H1组成的计算机系统上的计算结果和标准结果不一致时,若H1结点数目不为1,转第三步,若H1结点数为1,将H1中的计算结点标记为问题结点,转第八步;
4.3当并行程序在H2组成的计算机系统上的计算结果和标准结果一致时,将H2标记为正常结点,转第八步;当并行程序在H2组成的计算机系统上的计算结果和标准结果不一致时,若H2结点数目不为1,转第三步,若H2结点数为1,将H2中的计算结点标记为问题结点,转第八步;
第五步:将H1和H2的计算结点数记为2m,1≤m≤n-1,分为两种情况处理:
5.1当结点数2m等于2n-1时,分别在H1和H2随机选择数目相等的结点进行互换,转第四步;
5.2当结点数2m不等于2n-1时,从标记为正常的计算结点中任取2m个结点组成集合H3。H1和H3相合并构成测试集合H13,H2和H3相合并构成测试集合H23。在H13和H23组成的计算机系统上分别加载基准测试程序,如果H1和H2的结点数2m大于1,转第六步,如果H1和H2的结点数2m等于1,转第七步;
第六步:分为以下四种情况处理:
6.1并行程序在H13组成的计算机系统上计算结果和标准结果一致,将H1中的计算结点标记为正常结点,转第八步;
6.2并行程序在H13组成的计算机系统上计算结果和标准结果不一致,将H1一分为二,两个部分还分别记为H1和H2,H1和H2的计算结点数相等,转第5.2步;
6.3并行程序在H23组成的计算机系统上计算结果和标准结果一致,将H2中的计算结点标记为正常结点,转第八步;
6.4并行程序在H23组成的计算机系统上计算结果和标准结果不一致,将H2一分为二,两个部分还分别记为H1和H2,H1和H2的计算结点数相等,转第5.2步;
第七步:分为以下两种情况处理:
7.1并行程序在H13组成的计算机系统上计算结果和标准结果一致,将H1中的计算结点标记为正常结点,转第八步;并行程序在H13组成的计算机系统上计算结果和标准结果不一致,将H1中的计算结点标记为问题结点,转第八步;
7.2并行程序在H23组成的计算机系统上计算结果和标准结果一致,将H2中的计算结点标记为正常结点,转第八步;并行程序在H23组成的计算机系统上计算结果和标准结果不一致,将H2中的计算结点标记为问题结点,转第八步;
第八步:将问题结点和正常结点输出,结束。

Claims (2)

1.一种高性能计算机系统中不满足计算精度要求的结点检测方法,其特征在于包括以下步骤:
第一步:选择基准测试程序,要求基准测试程序有标准计算结果,初始化结点集合H为空集;
第二步:在高性能计算机全系统2n个计算结点上运行基准测试程序,n为正整数,将在高性能计算机系统上运行的计算结果和标准计算结果进行对比,若计算结果和标准结果一致,则满足计算精度要求,所有计算结点标记为正常,转第八步;否则说明计算精度达不到预定要求,将达不到预定要求的高性能计算系统结点放到结点集合H中,转第三步;
第三步:将计算精度达不到预定要求的高性能计算系统结点集合H一分为二,分别记为集合H1和H2,H1和H2的计算结点数相等,转第四步;
第四步:在H1和H2组成的计算机系统上分别加载基准测试程序,分为以下几种情况处理:
4.1若并行程序在H1和H2组成的计算机系统上的计算结果均和标准结果一致,转第五步;
4.2当并行程序在H1组成的计算机系统上的计算结果和标准结果一致时,将H1标记为正常结点,转第八步;当并行程序在H1组成的计算机系统上的计算结果和标准结果不一致时,若H1结点数目不为1,转第三步,若H1结点数为1,将H1中的计算结点标记为问题结点,转第八步;
4.3当并行程序在H2组成的计算机系统上的计算结果和标准结果一致时,将H2标记为正常结点,转第八步;当并行程序在H2组成的计算机系统上的计算结果和标准结果不一致时,若H2结点数目不为1,转第三步,若H2结点数为1,将H2中的计算结点标记为问题结点,转第八步;
第五步:将H1和H2的计算结点数记为2m,1≤m≤n-1,分为两种情况处理:
5.1当结点数2m等于2n-1时,分别在H1和H2随机选择数目相等的结点进行互换,转第四步;
5.2当结点数2m不等于2n-1时,从标记为正常的计算结点中任取2m个结点组成集合H3;H1和H3相合并构成测试集合H13,H2和H3相合并构成测试集合H23;在H13和H23组成的计算机系统上分别加载基准测试程序,如果H1和H2的结点数2m大于1,转第六步,如果H1和H2的结点数2m等于1,转第七步;
第六步:分为以下四种情况处理:
6.1并行程序在H13组成的计算机系统上计算结果和标准结果一致,将H1中的计算结点标记为正常结点,转第八步;
6.2并行程序在H13组成的计算机系统上计算结果和标准结果不一致,将H1一分为二,两个部分还分别记为H1和H2,H1和H2的计算结点数相等,转第5.2步;
6.3并行程序在H23组成的计算机系统上计算结果和标准结果一致,将H2中的计算结点标记为正常结点,转第八步;
6.4并行程序在H23组成的计算机系统上计算结果和标准结果不一致,将H2一分为二,两个部分还分别记为H1和H2,H1和H2的计算结点数相等,转第5.2步;
第七步:分为以下两种情况处理:
7.1并行程序在H13组成的计算机系统上计算结果和标准结果一致,将H1中的计算结点标记为正常结点,转第八步;并行程序在H13组成的计算机系统上计算结果和标准结果不一致,将H1中的计算结点标记为问题结点,转第八步;
7.2并行程序在H23组成的计算机系统上计算结果和标准结果一致,将H2中的计算结点标记为正常结点,转第八步;并行程序在H23组成的计算机系统上计算结果和标准结果不一致,将H2中的计算结点标记为问题结点,转第八步;
第八步:将问题结点和正常结点输出,结束。
2.如权利要求1所述的高性能计算机系统中不满足计算精度要求的结点检测方法,其特征在于所述基准测试程序需覆盖MPI、OpenMP和CUDA计算资源。
CN201210041912.4A 2012-02-23 2012-02-23 高性能计算机系统中不满足计算精度要求的结点检测方法 Active CN102646060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210041912.4A CN102646060B (zh) 2012-02-23 2012-02-23 高性能计算机系统中不满足计算精度要求的结点检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210041912.4A CN102646060B (zh) 2012-02-23 2012-02-23 高性能计算机系统中不满足计算精度要求的结点检测方法

Publications (2)

Publication Number Publication Date
CN102646060A true CN102646060A (zh) 2012-08-22
CN102646060B CN102646060B (zh) 2014-04-09

Family

ID=46658889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210041912.4A Active CN102646060B (zh) 2012-02-23 2012-02-23 高性能计算机系统中不满足计算精度要求的结点检测方法

Country Status (1)

Country Link
CN (1) CN102646060B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049304A (zh) * 2013-01-21 2013-04-17 中国人民解放军国防科学技术大学 一种通过死代码移除来加快gpu运行速度的方法
CN103257923A (zh) * 2013-04-16 2013-08-21 中国科学院计算技术研究所 数据中心数据分析类基准测试程序的应用选取方法及系统
CN109814834A (zh) * 2019-01-14 2019-05-28 中国人民解放军国防科技大学 一种基于条件数指导的浮点程序精度缺陷检测方法
CN111858332A (zh) * 2020-07-17 2020-10-30 苏州浪潮智能科技有限公司 一种分布式系统的计算资源弹性测试方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457100B1 (en) * 1999-09-15 2002-09-24 International Business Machines Corporation Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls
CN1975676A (zh) * 2005-11-30 2007-06-06 国际商业机器公司 多节点计算机系统和用于监视其性能的方法
CN101162437A (zh) * 2006-10-10 2008-04-16 国际商业机器公司 基于关系模型分析系统性能采样数据的方法、设备和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457100B1 (en) * 1999-09-15 2002-09-24 International Business Machines Corporation Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls
CN1975676A (zh) * 2005-11-30 2007-06-06 国际商业机器公司 多节点计算机系统和用于监视其性能的方法
CN101162437A (zh) * 2006-10-10 2008-04-16 国际商业机器公司 基于关系模型分析系统性能采样数据的方法、设备和系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049304A (zh) * 2013-01-21 2013-04-17 中国人民解放军国防科学技术大学 一种通过死代码移除来加快gpu运行速度的方法
CN103049304B (zh) * 2013-01-21 2015-09-16 中国人民解放军国防科学技术大学 一种通过死代码移除来加快gpu运行速度的方法
CN103257923A (zh) * 2013-04-16 2013-08-21 中国科学院计算技术研究所 数据中心数据分析类基准测试程序的应用选取方法及系统
CN103257923B (zh) * 2013-04-16 2016-12-28 中国科学院计算技术研究所 数据中心数据分析类基准测试程序的应用选取方法及系统
CN109814834A (zh) * 2019-01-14 2019-05-28 中国人民解放军国防科技大学 一种基于条件数指导的浮点程序精度缺陷检测方法
CN109814834B (zh) * 2019-01-14 2021-04-20 中国人民解放军国防科技大学 一种基于条件数指导的浮点程序精度缺陷检测方法
CN111858332A (zh) * 2020-07-17 2020-10-30 苏州浪潮智能科技有限公司 一种分布式系统的计算资源弹性测试方法和装置
CN111858332B (zh) * 2020-07-17 2022-08-05 苏州浪潮智能科技有限公司 一种分布式系统的计算资源弹性测试方法和装置

Also Published As

Publication number Publication date
CN102646060B (zh) 2014-04-09

Similar Documents

Publication Publication Date Title
Di et al. Adaptive impact-driven detection of silent data corruption for HPC applications
Barker et al. Using performance modeling to design large-scale systems
Laguna et al. Evaluating user-level fault tolerance for MPI applications
CN102968370B (zh) 一种测试数据生成方法及装置
WO2010104997A1 (en) Apparatus & associated methodology of generating a multi-core communications topology
Courtieu et al. Certified universal gathering in for oblivious mobile robots
Ma et al. LAMP: data provenance for graph based machine learning algorithms through derivative computation
US9471383B2 (en) Task allocation in a computing environment
Bland User level failure mitigation in MPI
CN102646060B (zh) 高性能计算机系统中不满足计算精度要求的结点检测方法
US20150269062A1 (en) Defining test bed requirements
CN104142861A (zh) 服务器资源的配置处理方法与装置
CN111245676B (zh) 通信协议可信性验证装置
DeRose et al. Relative debugging for a highly parallel hybrid computer system
CN110032407A (zh) 提升cpu并行性能的方法及装置和电子设备
CN109933948B (zh) 一种形式验证方法、装置、形式验证平台及可读存储介质
US9818078B1 (en) Converting a non-workflow program to a workflow program using workflow inferencing
CN104699881A (zh) 一种用于惯导系统的imu数字滤波设计方法
Barnes et al. Checking process-oriented operating system behaviour using CSP and refinement
CN109992892B (zh) 一种参考模型校验方法、装置、电子设备及可读存储介质
Shanmugavelu et al. Impacts of floating-point non-associativity on reproducibility for HPC and deep learning applications
CN118335267B (zh) 一种基于化学表面处理的橡胶塑形强度优化方法及装置
Eder et al. Whole Systems Energy Transparency
CN111224985B (zh) 通信协议可信性验证方法
CN111124907A (zh) 一种手机游戏测试方法、装置和服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant