跳到内容

办公室研究的副总裁

  • 横幅图像

对改善ADCIRC风暴潮建模软件的性能

作者
尼克·怀德&蒂姆施迪

教师的导师
Jijun唐

文摘

准确预测风暴和飓风是挽救生命,减少经济损失的关键。因此,有必要使用最有效的软件和硬件技术来提高性能和忠诚这些预测数学模型。十多年来,计算水力学实验室(背影)巴黎圣母院大学参与了开发高分辨率先进循环(ADCIRC)风暴潮模型来预测在沿海地区风暴潮。工作报告的目的是小说改编的平行ADCIRC代码移植到最先进的Intel Xeonφ协同处理器系统(踩踏)得克萨斯高级计算中心(TACC)和理想的展示加速一组基准计算。移植过程是通过识别细粒度并行性和vectorizable计算密集型循环,可以卸载61 -核心Xeonφ协同处理器而利用他们的512位宽矢量单位。由于传输延迟,把过多的代码可以减少使用至强的有效性φ协同处理器最初描述的代码以识别主机处理器的代码热点花了大部分的时间。这一分析使我们专注的工作OpenMP最昂贵和Xeon-Phi卸载例程。这些例程被修改利用完整的16个线程可用主机处理器,并将最终允许我们将努力增加Xeon-Phis合作或线程数量。

介绍

飓风是灾难性的所有世界各地的沿海地区。他们尤其危险如果暴风雨很大,和准备风暴很小。由于这个原因,重要的是预测这些风暴发生之前的行动,并评估以前的风暴所造成的损失仍然为了准备的。风暴潮建模仿真的推广目标是更好地准备个人、政府和风暴disaster-relieve机构为了挽救生命,减少财产损失[1 - 5]。例如,飓风桑迪,测量直径820英里,新泽西州2012年10月,导致失去了商业活动,估计为250亿美元,810万户家庭断电[6]。是很重要的居民、机构、直辖市为风暴准备自己减少损失和负面影响沿海地区。执行适当的计算需要大量的计算能力和时间。模型是有效的和返回及时、准确的结果,他们需要利用并行计算能力的超级计算机。

高分辨率,先进的循环(ADCIRC)风暴潮模型开发的协同计算水力学实验室(背影)在圣母大学的一个很好的例子是高度并行处理的代码运行在高性能计算机[4 - 5]。ADCIRC模型已经并将继续成为标准的沿海模型利用美国陆军工程兵团(USACE)和联邦应急管理局(FEMA) [7]。它已经被使用,例如,帮助重建堤坝在新奥尔良卡特里娜飓风后防止未来的灾难级[7,8]。最近的改进ADCIRC代码改变底层的数值方法计算结果[4]这个新的数值方法应该提供更准确的结果,性能稳定。然而,这增加了保真度可能会以牺牲计算速度如果新代码不利用固有的并行性在这个新的数值方法。

工作报告的目的是港口新平行ADCIRC风暴潮代码(将这里称为DGSWEM)先进的Intel Xeonφ协同处理器系统(踩踏)得克萨斯高级计算中心(TACC)的目标显示一组基准计算,提高了性能。最初描述的代码以识别代码热点,这允许我们重点协同处理器卸载区域,利用Xeon-Phi协处理器的并行特性,因此带来最大的好处。

背景

并行处理是至关重要的高性能计算系统的演化在过去四十年。最初,并行处理涉及多个处理器共享一个内存池,[9]。问题协调和扩展多个处理器在一个内存地址空间导致分布式内存系统的出现,每个处理器都有自己的本地内存。这大大提高了性能,但导致了个体之间的沟通挑战processor-memory对。最近,混合架构开发,每个节点都是一个多核共享内存的计算机与消息传递的高速网络。该配置的一个示意图如图1所示,其中每个节点是一个多核共享内存的计算机之间的通信节点。这种体系结构的一个缺点是每个核心只能看到自己的记忆与远程内存数据访问节点要求特定的节点之间的消息传递,它引入了巨大的通信延迟和带宽开销计算。一个解决方案的缺点是利用当地的加速器和协同处理器硬件将高度并行工作负载,避免昂贵的网络通信。英特尔最近发布了麦克风(许多集成核心)协同处理器架构(参见图1 b),这可以大大提高计算性能[10]。

虽然有许多进步的各种形式的并行处理,这仍然是一个困难的任务,分割处理任务和交流他们之间引入了额外的开销,如果这一次超过了CPU加速,然后没有墙上时钟加速[11]。此外,如果处理器之间的仿真任务划分但一个处理器不能开始它的任务到另一个处理器完成,然后在墙上时钟速度没有净加速实现。因此我们的目标是确定项目任务,多个进程可以独立运行,同时最小化过程花费的时间交流。正确完成后,生成的代码运行所需的时钟时间并行处理机器上可以减少数量级。即编写并行程序应该会在强大的扩展,意义有加速实现在多处理器系统上不增加的大小问题。加速器和协同处理器可以并行处理,以进一步提供了许多核心架构,可以管理数百或数千个线程同时执行。

正在实施的新的数值方法DGSWEM代码提供了更准确的结果和性能稳定。然而,这增加了保真度可能会以牺牲计算速度如果新代码不利用固有的并行性在这个新的数值方法。分割区域的代码被模拟成一个网格的用户定义的细胞。它使用一个消息传递接口(MPI)这些细胞,每个细胞之间交流是给定一个处理器的计算。每个单元的模拟方程独立完成每个处理器和MPI任何必要的通信数据在需要的时候周边细胞。这就是为什么大规模并行计算是非常重要的在这样的模拟。

大型风暴潮模拟通常的主机处理器上运行大TACC系统发生踩踏事件。踩踏事件是6400计算节点系统中,每个节点有两个英特尔Sandy Bridge处理器搭配两个英特尔Xeon-Phi协同处理器。每个节点都配置了32 gb的内存和一个额外的8 gb的内存每个Xeon-Phi [10]。机器运行在Linux内核和我们所有的发展使用英特尔执行编译器第十四节。

结果与讨论

由于源代码的规模是如此之大,有必要缩小从加快例程将受益最多,和这段有足够小的执行时间仍像他们一直运行。分析允许我们评估执行时间有多少花在每个例程。分析了使用俄勒冈大学的调优和分析工具(τ)[12],和服务两个主要目的。首先我们计算在每个源程序所花费的时间,对于一组基准运行,以确定哪些程序整体运行时的贡献最大。其次我们分析测试运行在不同的处理器数量,以确保这些热点仍然显著增加了处理器数。如果不是这种情况,那么我们要重新评估,关注我们的改进,因为大多数现实的模拟执行高处理器数量(通常是2000 - 16000核)。所有这些主机处理器上运行单独进行,只有墙上时钟倍计算。

图2显示了一个128的核心运行DGSWEM代码并显示单个墙上时钟时间每个例程在每个核心。我们看到有一些例程程序中采取明显比别人长时间运行。识别的例程最长运行时间可以看到图2更容易被调整为三套芯(128、256和512核),如图3所示。

五个时间最长的例程在模拟INTERNAL_EDGE_HYDRO (1) INTERNAL_EDGE_LDG_HYDRO (2), MPI_Waitsome (3), RHS_DG_HYDRO(4),和RHS_LDG_HYDRO (5)。MPI_Waitsome(常规3)实际上是一个指定处理程序之间的MPI处理器。虽然改进可以在这个领域,这是本研究的范围之外。因此,我们把努力集中在另4例程。从图3中我们也看到,每个例程的相对速度是常数随着核心数量的增加。例如,4例程(1、2、4和5)占大约70%的总运行时间在128年,256年和512年的核心。因此,加快这些例程应该加快产生重大影响的整体运行。这个数字还演示了代码的可伸缩性。我们可以看到,核心数翻倍似乎把时间花在整个运行近一半。这展示了多么好的代码已经为普通主机处理器运行和优化是多么重要维持这种可扩展性随着DGSWEM。

图4进一步展示了现有代码的可伸缩性,并且它需要持续多远。我们可以看到,增加核心数的有效性不脱落,直到大约一万核(两大EC2001网格,x 4)。

选择与我们的例程,我们开始实施OpenMP和卸载指定的部分。OpenMP是由指定的数据值在每个例程实现共享或私人单独的线程。这意味着每个单独的分类变量用于每个例程。我们前面提到的,分割任务代码向量化效果最好。问题是,Internal_Edge_Hydro(常规1),我们最大的常规,没有完全矢量化。因为这个例程包含共享数据值从多个线程,读/写语句添加到代码,以防止不同的线程拥有相同的值。

图5显示了运行时的结果实现的代码与OpenMP的线程数量。在128个处理器原非OpenMP DGSWEM跑得比一个快OpenMP DGSWEM只有一个线程执行。这是由于原子语句的开销。然而,这种开销是克服一旦我们有至少2线程实现,和由16个线程DGSWEM运行4倍DGSWEM没有OpenMP(即。相比,1899秒到7892秒)。这仍低于老ADCIRC更少

准确的数值方法,但我们可以把限制16个主机处理器线程利用额外的Xeon-Phis合作。因此下一个步骤是实现Xeon-Phi卸载利用额外的线程。

结论

的ADCIRC风暴潮计算机代码开发的协同计算水力学实验室(背影)在圣母大学的最初移植到最先进的英特尔Xeon-Phi协同处理器系统(踩踏)得克萨斯高级计算中心(TACC)。移植是企图通过识别和vectorizing计算密集型循环卸载到61 -核心Xeon-Phi协同处理器。把过多的代码可以减少使用至强的有效性φ协同处理器的代码最初异形为了识别主机处理器的代码部分花了大部分的时间。这一分析使我们专注的工作OpenMP最昂贵和Xeon-Phi卸载例程。我们确定了四个calculation-heavy例程和实现OpenMP指令代码。为了克服向量化的问题,引入了额外的开销与原子语句。这个开销是克服虽然一旦OpenMP实现完整和至少2线程使用。使用16个线程,新代码在主机处理器快跑大约4倍比没有OpenMP。这并不匹配原始ADCIRC代码的性能方面的速度,但通过使用Xeon-Phi卸载新更准确DGSWEM代码将利用额外的线程上可用Xeon-Phi达到更快的运行时间,更准确的和健壮的数值方法。

确认

我们要感谢圣母大学的研究计算中心举办本科生项目研究经验,以及美国国家科学基金会资助项目。我们还想感谢圣母计算液压实验室允许我们使用自己的代码和与项目时需要提供援助。最后,我们要感谢在南卡罗莱纳大学的本科研究办公室通过麦哲伦学徒计划提供资金。bob官方体育登陆


关于作者

尼克·怀德尼克·怀德

我的名字是尼克·怀德,我来自哥伦比亚,SC,大二学生,我主修计算机科学和数学在南卡罗莱纳大学的。bob官方体育登陆我是威尔逊学者在计算顶点的学者。我打算参加研究生院计算机科学,虽然我仍在试图确定一个专业化的领域。出于这个原因,我参加了大学生(活)项目研究经验的圣母大学的2013年夏天,由美国国家科学基金会(NSF)。10周期间在巴黎圣母院,我曾在Tim施迪博士的指导下研究中心的计算。我的研究目标是将一个复杂的风暴潮模型在计算水力学实验室在过去的20年里,和提高运行时性能使用高度并行的超级计算机在德州的超级计算机设备。这个项目给了我了解领域的高性能计算(HPC),以及工作的机会与其他研究生和教师做的非常重要的和有趣的研究。我计划继续这个项目的指导下Jijun唐博士在南加州大学计算机科学与工程系施迪博士的意见。我要感谢NSF,圣母院大学研究中心计算,施迪博士和巴黎圣母院的成员计算水力学实验室。这项工作提出了作为海报在8月2日美国圣母研究研讨会,2013。

引用

  1. Westerink, J·J。,R. A. Luettich, A. M. Baptista, N. W. Scheffner, P. Farrar, “Tide and Storm-Surge Predictions Using Finite-Element Model,”水利工程,118 (10),1373 - 1390 (1992)。
  2. 预示,L。,and T. A. Hardy, “Progress and Recent Development in Storm Surge Modeling,”水利工程,123 (4),315 - 331 (1994)。
  3. 哈伯特,g D。,and K. L. McInnes, “A Storm Surge Inundation Model for Coastal Planning and Impact Studies,”沿海的研究,15 (1),168 - 185 (1999)。
  4. 道森,C。,E. J. Kubatko, J. J. Westerink, C. Tranhan, C. Mirabito, C. Michoski, N. Panda, “Discontinuous Galerkin Methods for Modeling Hurricane Storm Surge,”水资源的进步DOI 10.1016 / j.advwatres.2010.11.004,34,1165 - 1176 (2011)。
  5. 田中,S。,S. Bunya, J. J. Westerink, C. Dawson, R. A. Luettich, “Scalability of an Unstructured Grid Continuous Galerkin Based Hurricane Storm Surge Model,”科学计算,46,329 - 358 (2011)。
  6. Webley, K。,“Hurricane Sandy By the Number: A Superstorm’s Statistics, One Month Later,” (November 26, 2012), Retrieved from:http://nation.time.com/2012/11/26/hurricane-sandy-one-month-later/。
  7. “洪水保险的研究:东南部的教区,路易斯安那州,中间提交2:海洋水位和波浪,“联邦应急管理局,美国陆军工程兵团,新奥尔良区,2008年7月24日。
  8. 链接,l·E。,J. J. Jaeger, J. Stevenson, W. Stroupe, R. L. Mosher, D. Martin, J. K. Garster, D. B. Zilkoski, B. A. Ebersole, J. J. Westerink, D. T. Resio, R.G. Dean, M. K. Sharp, R.S. Steedman, J. M. Duncan, B. L. Moentenich, B. Howard, J. Harris, S. Fitzgerald, D. Moser, P. Canning, J. Foster, B. Muller, “Performance Evaluation of the New Orleans and Southeast Louisiana Hurricane Protection System,” Volume I – Executive Summary and Overview, Draft Final Report of the Interagency Performance Task Force, U.S. Army Corps of Engineers, Washington, D.C., June 2008.
  9. 帕特森,d . A。,and J. L. Hennessy, “Computer Organization and Design,” Fourth Edition, Elsevier, 2012.
  10. 德克萨斯州高级计算机中心,检索:http://www.tacc.utexas.edu/stampede/
  11. 詹姆斯,D。,“Introduction to Parallel Computing,” Texas Advanced Computer Center, (September, 2013) Retrieved from:http://www.tacc.utexas.edu/user-services/training/course-materials
  12. Shende年代。,and A. D. Malony, “The TAU Parallel Performance System,”Int。j .高执行。C。,20 (2),287 - 331 (2006)。

传统的挑战。创建例外。没有限制。

©
Baidu