没有合适的资源?快使用搜索试试~ 我知道了~
可在www.sciencedirect.com在线获取理论计算机科学电子笔记340(2018)55-65www.elsevier.com/locate/entcs理解HPCG中的通信模式迪恩·G Chester,1Steven A.作者:Stephen A. 贾维斯华威大学计算机科学系英国科尔切斯特摘要共轭梯度(CG)算法构成了许多HPC应用的很大一部分,例如生物信息学和天气应用。这些算法允许复杂的线性系统的数值解。 了解这些算法的分布式实现如何使用网络互连,将使系统设计人员能够更深入地了解他们对现有和未来应用程序的严格要求。这篇简短的论文记录了我们对高性能共轭梯度(HPCG)基准测试中存在的通信模式的初步调查。通过我们的分析,我们确定的模式和功能,可能需要进一步调查,以提高CG算法的性能和应用,使广泛使用它们。 在本文中,我们从运行中捕获通信痕迹的HPCG基准测试,然后检查这些数据以确定潜在的性能瓶颈。初步结果表明,有一个下降的吞吐量的网络时,更多的进程相互通信,由于网络竞争。保留字:HPCG,MPI,通信模式,性能1引言了解高性能计算(HPC)中的通信是一个持续的研究领域,因为网络设计可能对系统的性能产生巨大影响。Rajovic等人表明,网络互连可以影响系统的整体性能[19]。在HPC系统的设计阶段,不应忽视网络互连;需要了解当前和未来的Bergman等人提出,要最大化互连的关键指标是:当前带宽、信令速率、峰值和可持续数据带宽[3]。1电子邮件:warwick.ac.ukhttps://doi.org/10.1016/j.entcs.2018.09.0051571-0661/© 2018由Elsevier B. V.这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。56丹吉Chester等人/理论计算机科学电子笔记340(2018)55线性求解器算法用于从生物信息学到环境/天气应用的各种HPC应用中[4,16]。共轭梯度(CG)算法是一种允许对线性系统进行数值求解的线性求解器算法,它构成了许多HPC应用的很大一部分。深入了解这些算法如何使用网络互连将使系统设计人员深入了解他们对现有和未来应用的严格要求值得注意的例子包括CG求解器,用于在不可压缩的湍流求解器[1]中找到压力-泊松方程的解。基准系统允许查看比较,以便系统设计人员可以设计和构建最适合其应用的系统。有各种基准可用于确定整个系统及其子系统的性能当系统设计人员希望更深入地了解子系统时,对子系统进行基准测试会很有帮助;例如,MPI基准测试包括SKaMPI和Intel MPI基准测试。SKaMPI是使用卡尔斯鲁厄大学开发的消息传递接口(MPI)测试inconnect的基准[20]。英特尔MPI基准测试提供了一组针对不同消息大小的点对点和全局通信操作的测试[11]。在本文中,我们试图发现是否有任何模式,可以使用进一步研究与CG求解器如何使用网络互连相关的任何性能问题。具体而言,本文做出了以下贡献:• 我们以多种配置执行高性能共轭梯度(HPCG)微型应用程序,并使用英特尔跟踪分析器和收集器收集与MPI通信例程性能相关的数据;• 我们提供了对收集到的数据的分析,突出显示了消息大小如何在不同规模的运行中变化;消息如何影响网络吞吐量;以及HPCG微型应用程序花费多少时间执行不同的操作。本文的其余部分组织如下:第2节提供了相关工作的概述;第3节解释了HPCG基准;第4节描述了实验装置;第5节概述了结果和讨论;最后,第6节总结了结论并讨论了未来的工作。2相关工作在决定采购什么硬件或决定采用哪种算法时,基准测试至关重要通过基准测试,可以确定系统或子系统的性能,并识别潜在的瓶颈这反过来又有助于确定当前和未来的要求[22]。为了测量并行机的计算性能,通常使用LINPACK。LINPACK报告计算元素每秒可以执行的浮点运算数(FLOP/s)[9]。这是通过求解联立线性代数方程组来实现的高性能LINPACK丹吉Chester等人/理论计算机科学电子笔记340(2018)5557(HPL)被认为是基准测试的黄金标准,并用于计算Top500超级计算列表[9]。STREAM是一个内存基准测试,它允许通过在RAM中移动和存储数据来对系统中的内存进行基准测试[15]。这是通过对太大而无法放入缓存的数据执行四个长向量操作来完成的,并对代码进行结构化,以便不可能重用数据[14]。SKaMPI通过对网络互连的集体和点对点操作(乒乓)进行压力测试来工作[20]。这为MPI提供了一个很好英特尔在“多模式乒乓”中克服了这个问题2.1微型应用为了提供对系统性能的更准确的指示,通常使用广泛代表HPC中心科学工作负载的微型应用程序。本文研究的一个这样的例子是HPCG微型应用程序。该基准解决线性方程组,并被设计为HPL的替代品,HPL仅对系统中的计算元素进行基准测试,而不考虑不规则和递归计算[6]。 HPL在计算结果时不考虑通信模式,这意味着系统设计人员不会意识到他们在网络互连中的瓶颈系统的性能不仅仅来自计算元素,它需要与系统的本地内存的使用紧密耦合。 因此,CG算法的使用更接近于当前使用的现代应用[7]。NASA高级超级计算(NAS)并行基准(NPB)也包含一个共轭梯度求解器,名为CG。CG基准使用矩阵向量乘法评估不规则长距离数据通信;这与HPCG基准类似[2]。Dongarra等人提出了进一步的迭代求解器基准测试工具,重点关注用于解决HPC应用空间中常见问题的各种迭代方法[5]。之所以选择这一点,是因为各种可变变量(问题大小、计算机算法、数据结构、系统架构)不容易进行基准测试。这允许用户为他们的问题选择有代表性的求解器,从而更好地了解机器将如何执行他们的特定要求。2.2互连性能分析MPI标准提供了一种将跟踪合并到应用程序中的机制[10]。这涉及到拦截MPI函数调用并提供可以捕获所需数据的包装器。特定于供应商的实施更容易58丹吉Chester等人/理论计算机科学电子笔记340(2018)55使用跟踪功能;例如,英特尔并行工作室包含英特尔跟踪分析器和收集器,它提供了一个用于捕获MPI活动的接口,从而可以获得通信模式[12]。这些工具库的其他实现存在于OpenMPI中,例如VampirTrace [17]。当在应用程序中查找底层性能问题时,分析MPI通信的性能是一个重要的问题。Pjesivac-Grbovi′cet al. 通 过 验 证 现 有 的 点 对 点 和 集 体 MPI 模 型 ( 如 Hockney 和PLogP),对点对点和集体MPI操作进行了性能分析;然后将结果与他们从研究机器中收集的真实数据进行比较[18]。作者证明,对于点对点MPI操作,模型不是预测性能的可靠方法,而对于集体操作,模型是准确的。3HPCG在本文中,我们专注于HPCG。之所以选择它,是因为它广泛代表了许多使用线性求解器的实际应用。它也是共轭梯度算法的一个容易获得的参考实现。HPCG使用具有局部对称Gauss-Seidel预条件子的预条件CG方法。在典型的执行过程中,HPCG具有以下阶段:(i)问题设置;(ii) 验证和确认测试;(iii)参考稀疏矩阵向量(MV)和高斯-赛德尔定时;(iv)参考CG定时和残差减少;以及(v)优化CG设置和结果报告[8]。(i) 问题设置基于输入参数构造几何形状,为过程交互设置晕圈,并执行优化。这些包括优化更好的内存访问模式;(ii) 验证和确认测试验证了对问题的正确优化。这包括执行频谱和对称性测试,以确保问题是可解决的;(iii) 参考稀疏MV和Gauss-Seidel相位乘以参考实现。这些时间随后在最终报告中输出(iv) 然后,该算法被执行50次迭代,这些迭代被定时,并且在参考CG定时和残差减少阶段期间,减少残差被记录为基线;(v) 然后进行CG设置的优化,然后运行优化的CG求解器,直到它达到与基线相同的残差减少。最后,结果会输出至可上载至HPCG网站的文件算法1描述了预处理CG算法。这个预条件的al-租m解出了b−Ap0=ri。计算第一个残差约简(r0),然后在每次迭代中更新,直到收敛。解为xi。预处理器是应用于残差约简的矩阵M-1[21]。丹吉Chester等人/理论计算机科学电子笔记340(2018)5559−−算法1. 预条件共轭梯度算法r0:=bAx0z0:=M−1r0p0:=zo对于i= 1, 2,.直到收敛αi:=ri·zixi+1阿皮·皮=xi+αi piri+1:=riαiApizi+1:=M−1ri+1βi:=ri+1·zi+1p:ri·zii+1=zi +1+βipi端联想NeXtScale nx360 M5节点架构2个14核Intel Xeon E5-2680 v4(Broadwell)2.4 GHz每个节点内存128 GB互连英特尔Omni-Path X16 100 Gb/s操作系统CentOS 7配置文件和配置文件标签英特尔配置文件icc版本17.0.2-O3-qopenmp表1Orac规格HPCG基准测试的问题设置对于确保问题收敛至关重要,如算法1所示,可以看出,如果问题不收敛,则它可能永远运行,因为可能永远找不到解决方案4实验装置为了理解HPCG基准测试应用程序中的通信模式,我们使用英特尔跟踪分析器和跟踪收集器,使用英特尔自己的MPI实现捕获跟踪对结果进行了整理和分析。所收集的跟踪可用于获得与每个运行的进程之间的点对点通信相关的HPCG版本3使用2017年英特尔编译器构建,利用OpenMP并行化基准测试工具中的一些操作。实验是在一个84节点的研究集群Orac上进行的每个节点包含两个Intel Xeon E5-2680 v4,128 GB RAM,节点通过In-tel Omni-Path X16 100 Gb/s互连连接。其他规格见表1。在本文中,HPCG的每次运行被赋予相同的问题大小(104× 104× 104)。5结果和讨论HPCG包含点对点和集体操作的混合。点对点的操作是由于晕交换;在这个过程中,附近的进程:60丹吉Chester等人/理论计算机科学电子笔记340(2018)55图1.一、集合、点对点和计算操作的总时间百分比交换更新的边界数据。所观察到的集体通信是在约简操作中,例如在每个时间步之后计算残差图1显示了执行点到点、集体MPI操作和计算所花费的时间百分比。对于数量较少的进程,大部分执行时间都花在计算元素上,而不是通信上。随着进程数的增加,花在通信上的时间比花在计算上的时间要多。图1还显示了执行集体操作的时间与点对点操作的时间大致相同;在28个进程的情况下,集体操作占29个。7%的运行时间,而点对点操作需要20. 7%的比例。两个进程的通信总时间仅为0。4%的运行时间,而对于392个进程,总比例为72。百分之零。这相当于35。9%的运行时执行点对点通信,相比之下,1%的运行时执行集体操作。图2显示了28、56、112和392个进程运行中每个进程的总点对点通信时间。在所有情况下,仅有的点对点通信是在近邻之间,这表明这是晕交换。对于更大的执行,每个进程有7到26个近邻可以与之通信。图3显示了进程数的总消息计数。HPCG微型应用的观测消息大小为8、104、208、416、832、1352、5408、21632和86528。这些被分组为以下组:小于100字节(); 100-1000字节(); 1000-10000字节();以及大于10000字节()。从图3中可以看出,在较小的进程数(2和28个进程)下,大消息占主导地位。当消息较大时,网络互连通常执行得更由于应用程序的规模很大,因此在大规模下,每个进程都处理一个较小的本地问题,从而减少了所需的通信大小,从而减少了观察到的消息大小。图3还显示,即使问题大小保持不变,消息的数量也会增加这种更多但更小的消息组合导致整体网络性能显著降低。此外,由于问题是强缩放的,每个过程执行较少的计算工作,丹吉Chester等人/理论计算机科学电子笔记340(2018)5561图二. 点对点通信时间(秒)消息大小传输速度(kbps)小于100字节416491.42100-1000字节5865413.331000-10000字节28215160.00大于10000字节70963500.00表2Orac的基准传输速度通信时间成为瓶颈。图4显示了对于给定大小的消息,网络传输速度如何根据处理元件的数量而变化。从图4中可以清楚地看出,较大规模运行中使用的较小消息的性能明显低于较小规模运行中使用的较大消息为了更好地了解所实现的性能,我们还使用英特尔MPI Benchmark套件对两个节点上的点对点消息的网络吞吐量进行了基准测试。这些结果见表2。这为我们提供了一个可实现的最大性能,我们可以预期,并允许我们突出任何潜在的偏差。HPCG的两个进程运行实现的平均传输速度仅0.26 Gbps;显著低于通过互连可以实现的70. 96 Gbps。由于Orac是一个共享系统,来自系统上运行的其他应用程序的网络传输然而,这并不能解释我们观察到的性能上的巨大差异我们的最终实验集中在通信/计算平衡如何随问题大小而变化图5显示,对于392个内核,62丹吉Chester等人/理论计算机科学电子笔记340(2018)55图3.第三章。消息大小与消息计数在给定数量的核上,集体操作保持接近应用程序运行时间的25%。尽管问题大小不断变化,但这是一致的,因为所有集体操作都使用4.44 Kb的固定消息大小。与我们的结果一致,我们还看到执行点对点操作所花费的时间大约等于执行集体操作所花费的时间6结论本文记录了我们对HPCG应用中存在的通信的早期调查。具体来说,我们展示了执行通信的程序执行比例如何随着问题的扩展而增长,最终在392个核心上占据主导地位我们还表明,在这种情况下,丹吉Chester等人/理论计算机科学电子笔记340(2018)5563图四、消息大小与平均传输速度图五、在392个核心上执行集合、点对点和计算操作的总时间部分大量的进程,它花费几乎相同的时间执行点对点和集体MPI操作。此外,已经表明,当强缩放问题时,消息大小随着进程数量的增加而减小,这对网络有影响64丹吉Chester等人/理论计算机科学电子笔记340(2018)55工作吞吐量,因为有更多的进程试图相互通信。网络吞吐量的下降对系统的性能具有总体负面影响。当问题大小在给定的机器大小上改变时,已经表明执行集体和点对点MPI操作所花费的时间比例相对于运行时保持大致相同,因为相同数量的节点需要相互通信6.1进一步工作在本文工作的基础上,我们的目标是使用桑迪亚国家实验室的结构模拟工具包(SST)来模拟不同系统上的线性求解器。使用仿真,我们可以快速测试不同的拓扑结构,网络结构,路由算法和传输调度算法,以找到CG类应用的最佳配置。我们还可以研究通信避免技术,以确定如何最好地优化大规模系统上线性求解的性能引用[1] Aubry,R., F. 穆特河 Lohner和J. R. Cebral,De Zeroat edP recondition edConjugate GradientSolversFor the Pressure-Poisson Equation,Journal of Computational Physics 227(2008),pp. 10196-10208[2] Bailey , D. H 、 E. J. T. 巴 尔 什 茨 Barton , D. S. 布 朗 宁 河 L. 卡 特 湖 达 古 姆 河 A. Fatoohi , P. O.Frederickson ,T.A. 拉辛斯基河S. Schreiber等人,NAS并行基准测试,国际超级计算应用杂志5(1991),pp。63比73[3] Bergman,K.,S. Borkar,D.Campbell,W.Carlson,W.饰M.丹诺山口Franzon,W.哈罗德,K. Hill,J. Hiller等人,Exascale Computing Study:Technology Challenges in Achieving ExascaleSystems,美国国防部高级研究计划局信息处理技术办公室(DARPA IPTO),Tech。Rep15(2008).[4] 格罗宁根大学生物物理化学系,GROMACS,http://www.gromacs.org(2017年10月18日访问)(2017年)。[5] Dongarra,J.J.,诉Eijkhout和H.诉D. Vorst,迭代求解器基准,科学编程9(2001),pp. 223-231。[6] Dongarra,J. J.和M. A. Heroux,Toward a New Metric for Ranking High Performance ComputingSystems,Sandia Report,SAND2013-4744312(2013),p.一百五十[7] Dongarra,J. J.,M. A. Heroux和P. Luszczek,HPCG Benchmark:一个新的指标,用于排名高性能计算系统,电气工程和计算机科学系,技术报告UT-EECS-15-736(2015)。[8] Dongarra,J. J.和P. Luszczek,HPCG技术规范,Sandia报告SAND 2013 -8752(2013)。[9] Dongarra,J. J.,P. Luszczek和A. Petitet,The LINPACK Benchmark:Past,Present andFuture,Concurrency and Computation:Practice and Experience15(2003),pp.803-820[10] Forum,M.,MPI:消息传递接口标准3.1版,技术报告,MPI论坛(2015)。[11]Intel,入门与互联网MPIBenchmarks2018,https://software.intel.com/en-us/articles/intel-mpi-benchmarks(2017年10月18日访问)(2017年)。[12] Intel,Intel Parllel Studio XE 2017,https://software.intel.com/parallel-studio-xe(accessedOctober 18,2017).丹吉Chester等人/理论计算机科学电子笔记340(2018)5565[13] 英特尔,英特尔跟踪分析器和收集器,https://software.intel.com/en-us/intel-trace-analyzer(2017年10月18日访问)(2017年)。[14] John D. McCalpin,STREAM:Sustainable Memory Bandwidth in High PerformanceComputers,Technical report,University of Virginia,Charlottesville,Virginia(1991-2007).[15] McCalpin , J.D 、 Memory Bandwidth and Machine Balance in Current High PerformanceComputers , IEEE Computer Society Technical Committee on Computer Architecture ( TCCA )Newsletter(1995)。十九比二十五[16] Mesoscale and Microcale Meteorology Division,NCAR,MM5,http://www2.mmm.ucar.edu/mm5/mm5-home.html(accessed October 18,2017).[17] Müller,M. 美国,A.K nupfer,M. 尤伦茨,M.Lie ber,H. Brunst,H.混合和W。E. Nagel,DevelopingScalable Applications with Vampir , VampirServer and VampirTrace , in : Proceedings of theInternational Conference in Parallel Computing : Architectures , Algorithms and Applications(ParCo2007),115,RWTH Aachen University,Aachen,Germany,2007,pp.637-644[18] Pj eesi vac-Gr bovi'c,J.,T. Angskun,G. 博西尔卡湾E. Fagg,E. Gabriel和J. J. Dongarra,MPI集体操作的性能分析,集群计算10(2007),pp. 127-143[19] Rajovic,N.,P. M.卡彭特岛Gelado,N. Puzovic,A. Ramirez和M.超级计算与商用CPU:移动SoC为HPC做好准备了吗?高性能计算、网络、存储和分析国际会议论文集,ACM,2013,p.40岁。[20] Reussner,R., P. 桑德斯湖,澳-地 Pre chelt和M. Müller,SKaMPI:ADetail ed,AcurerateMPIBenchmark,Lecture Notes in Computer Science(LNCS)1497(1998),pp. 52比59[21] Saad,Y.,[22] Xie,G.和Y.- H. Xiao,How to Benchmark Supercomputers,in:2015 14th International Symposiumon Distributed Computing and Applications for Business Engineering and Science ( DCABES ) ,IEEE,2015,pp. 364-367.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功