CN102646060A - 高性能计算机系统中不满足计算精度要求的结点检测方法 - Google Patents
高性能计算机系统中不满足计算精度要求的结点检测方法 Download PDFInfo
- 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
- node
- computer system
- calculation
- result
- calculating
- 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
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计算资源。
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)
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)
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 | 国际商业机器公司 | 基于关系模型分析系统性能采样数据的方法、设备和系统 |
-
2012
- 2012-02-23 CN CN201210041912.4A patent/CN102646060B/zh active Active
Patent Citations (3)
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)
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 |
---|---|---|
CN108363599B (zh) | 用户界面显示识别方法及终端设备 | |
Kun et al. | Inversion model of water distribution systems for nodal demand calibration | |
CN102646060B (zh) | 高性能计算机系统中不满足计算精度要求的结点检测方法 | |
CN102495930B (zh) | 电缆桥架自动生成方法 | |
CN112149227B (zh) | 船舶管路敏捷设计方法、装置、终端及介质 | |
CN104142861A (zh) | 服务器资源的配置处理方法与装置 | |
Monsef et al. | Deficiency of reliability indicators in water distribution networks | |
CN110309918A (zh) | 神经网络在线模型的验证方法、装置和计算机设备 | |
CN107563080B (zh) | 基于gpu的两相介质随机模型并行生成方法、电子设备 | |
Czyzowicz et al. | Gathering in the plane of location-aware robots in the presence of spies | |
CN109103897A (zh) | 一种确定动态无功补偿设备的配置区域方法与装置 | |
CN110110406A (zh) | 一种基于Excel计算平台实现LS-SVM模型的边坡稳定性预测方法 | |
CN104299170B (zh) | 间歇性能源海量数据处理方法 | |
CN107609234B (zh) | 基于不确定性的稳健性分析方法及系统 | |
CN103455417A (zh) | 一种基于马尔可夫模型的软件错误定位系统及错误定位方法 | |
US10387578B1 (en) | Utilization limiting for nested object queries | |
Srivastava et al. | Investigating the robustness of adaptive dynamic loop scheduling on heterogeneous computing systems | |
Gorev et al. | Evolutionary testing of hydraulic simulator functionality | |
CN112149213A (zh) | 核岛结构有限元模型网格数据传递方法、装置、设备 | |
CN104536938A (zh) | 一种地震叠前时间偏移的计算方法及系统 | |
CN114812576A (zh) | 地图匹配方法、装置及电子设备 | |
CN109696614A (zh) | 电路测试优化方法及装置 | |
CN113469337A (zh) | 用于优化神经网络模型的编译方法及其相关产品 | |
CN117709129B (zh) | 多尺度仿真方法、装置、设备及存储介质 | |
CN113051145B (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 |