
e-Science 技术 TECHNOLOGY年 月科研信息化技术与应用 第2卷第6期 201111高性能计算集群运行时环境的配置改进曹宗雁中国科学院计算机网络信息中心超级计算中心,北京 100190摘 要: 本文关注怎样在高性能计算集群上提供良好的运行时环境的弊端,以促使并行应用程序获得更高的功耗。指出了高性能计算集群运行过程中运行时环境配置改进应该考虑到的内容,包括跨节点资源的分配与选择、节点内进程及线程对于软件资源的映射与绑定等两大类多方面因素,并探讨了他们对并行应用程序性能带给的妨碍。通过在多个系统对基准程序和应用程序的实际检测来验证运行时环境对并行程序性能的妨碍,结果证实不同的运行时环境配置才能对应用程序造成约20%的性能差距。最后对运行时环境优化所必须进一步完成的各项详细工作进行了深入的探讨。关键词:高性能计算;集群;运行时环境;性能改进;协同设计Runtime Environment Configurationand Optimization on High-performanceComputing ClustersCao ZongyanSupercomputing Center, Computer Network Information Center, Chinese Academy ofSciences, Beijing 100190, ChinaAbstract: In this paper, it is discussed that how to provide good runtime environment forparallel applications so thus to obtain better performance on high-performanceclusters. Some aspects within two categories are selected for analyzing theirinfluence to parallel application performance, including inter-node resourcesallocation and selection and intra-node processes/threads mapping or bindingwith system resources. Several benchmarks and applications testing results ondifferent platforms are given, which make it the evidence that runtime environmentmay cause ~20% performance variance to parallel applications. Advanceddiscussion of the detail work need to be further performed is demonstrated at last.Keywords: High-performance computing; Cluster; Runtime environment; Performanceoptimization; Co-design基金项目:中国科学院“十一五”信息化专项“超级计算环境建设与应用”(INFO-115-B01);国家863计划资助(2011AA01A205)52TECHNOLOGY e-Science 技术年 月 科研信息化技术与应用 第2卷第6期 201111 1. 引言design),还有很长的路要走。
实测结果来说明这种工作对应用图1用层次化的方式表述了高程序无法带给性能上的制约,并高性能计算应该将科学问性能计算演进中的一些探究方向探讨和展望了今后高性能计算发 题抽象成可推导的建模,使用高与科技内容,从高性能计算机系展过程中在这一方向上需要加强 效的算法和编程模型在稳定的高统的方向和视角来看,在硬件环和完善的工作。 性能计算机上运行,并取得最终境基本确认的状况下,改善应用 期望的结果。促使高性能计算不程序在平台中的运行时环境来拉2. 运行时环境配置改进内容 断前行的动力是寻找更快更高效近与应用程序之间的距离,使应 的完成必须求解的科学难题手用程序与软件平台两方面都取得高性能计算集群是多个结点 段和技术,包括建模、算法、相应的心得反馈,这样的工作是借助特定的高速网络联接,并通 硬件、程序等。高性能计算演进与协作设计的观念是一致的。运过特定并行环境如MPI来支撑相 的重要目标是使更复杂更行时环境的配置与改进主要关注应并行应用工具的运行。而在具 的计算任务以更高的功耗和具体在应用工具推动与软件系统配置体的并行支撑环境和应用程序之 性运行在更先进的软件系统上,都基本固定的状况下,软件程序间,通常还必须由资源作业管理 要超过这个目标,需要使硬件架以一种什么样的方法在高性能计系统来从整体上对集群资源进行 构和软件设计在不断的实践中逐算机上运行以获取更优的运行状统一的分配和管控,以满足系统 渐契合,共同发展[1]。
而不幸的态。本文提取了中科院超算中心在多用户多程序状况下有条不紊 是,国内长期高性能应用及计算在近年来工具应用研发和平台管的工作。对于并行程序在高性能 平台的实际状况都说明这两者之理优化方面的实际经验,对应用计算集群上运行时环境,可以通 间虽然并未协同发展出来,一方程序和系统平台之间的整合点即过两个层面来进行探讨讨论。 面出于对高性能计算机的阀值速运行时环境的配置和改进工作进 度的追求使得了几台千万亿级机行分析,整理出高性能计算机集2.1 跨节点的资源环境 器的发生,但另一方面并不能看群中在运行时环境优化方面应该1) 网络拓扑导致的延迟 到很多相应的有实际科学含义的关注的工作内容,用多个程序的在经典的LogP通信评价模型[3] 并行应用逐渐而生,应用发展的 水平显著落后于软件环境建设的实际应用需求 水平。从中国科学院(以下简称高性能计算实现 “中科院”)超算环境总中心深算法和物理建模 腾7000超级计算机的运行状况来编程模型自适应调整思路 通用求解器和变量接口 新软件支持 看,仅有不到20%的客户程序运代码改进 行在了1024处理器核心以上的规 模[2],相应的峰值计算能力仅为 12.3Tflops,这与深腾7000对外运行时环境优化 提供服务的总计算能力143Tflops配置和管控平台运行和支持 相距甚远。

要超过高性能计算软 件与硬件的协作发展,拉近软件底层系统 应用与软件环境之间的距离,使 二者相结合,实现协同设计(co-图1 高性能计算应用相关工作层次53 e-Science 技术 TECHNOLOGY年 月科研信息化技术与应用 第2卷第6期 201111中,通信延迟(Latency)是比较从点到点之间的模式也就是相对响到程序性能。甚至有研究证实,重要的一个因素。特别是基于消固定的,这样一来,当不同节点当总节点数和处理器核心数目不变息传递编程模型的应用程序,当间的通信因路由原因经过同一条交时,两个程序共享使用同一部分节[5]各个进程间消息交换速率高时,换链路时,就导致了通信冲突 ,点资源,每个并行程序都只使用单应用程序的性能都会对进程间通导致进程所获取的网络带宽相应个节点的一半的处理器核心有时会信延迟比较脆弱,这也导致了高增加。在[6-8]等文献中为此进在通信性能上比各自独占一批节点性能计算应用不同于传统分布式计行了必定的探究和探讨,提出了的全部处理器所取得的功耗略好一算,即对高速低延迟网络有很大的一些解决通信冲突的方法。但实些[11]。但是不能忽略的事实是,需求。
现今主流的高速互连网络如际上,在由作业平台管控的集群大部分用户不期望自己的应用程序Infiniband将集群内部的点到点通中,用户作业拿到的资源是相对与其他客户的程序或者是自己其他信降低到了微秒(us)级别,但在不固定的,同时因为其它客户作作业的进程共享同一节点资源,因较的集群中,由于交换芯片业的存在,网络中负载情况很难为担忧二者发生干扰,或是一个程的限制,集群中的节点往往都通预测,要按照现有网络情况进行序异常造成节点失效并且影响另一过网络交换芯片或交换机形成多资源的界定,将不同的队列、不个程序。因此,除特殊指定的情况级互连的拓扑,以确保网络的扩同的作业尽可能的划分到整个网下,节点资源选择一直维持着每个展性。这样的层次结构都会造成集络中的某一小部分子网中,一方节点使用全部核心进行计算,即使群中两点间的信息交换跳数不一面保证资源总量,另一方面尽可用户强行只使用部份核心,另一部致,而交换跳数越多,对应的结点能使通信局部化,不妨碍其他作分核心也会被尽可能的闲置,以免到节点间的提早也越高。在使用作业或是队列的运行。出现作业之间的干扰。业平台进行资源管控的集群中,通3) 多核节点资源选择常队列不会专门对网络拓扑进行设随着处理器由单核向多核发2.2 节点内硬件环境置来确保节点的网络分布情况,因展,目前主流的集群也大都是多核1) 对处理器核心的绑定此一个应用程序分配到的结点间的处理器集群。
对于作业或资源管控对于各类并行模型,其在多交换跳数相差较大是很正常的。系统,最常用的资源需求也都是对核集群的节点内最后就会呈现多2) 通信冲突对带宽的制约主要处理组件如CPU或GPU的申请。进程(MPI)或多线程(OpenMP)Infiniband无疑是现今高性节点资源选择的思路一般是根据基并且两者结合(MPI+OpenMP)的能计算集群结点间解耦网络的主于结点的某项负载状况来完成,如方法。不论是什么样的存在形流[4],其低延迟高帧率的功耗特性LSF[9]和Torque[10]里都可以设置按 式,节点内的进程或线程都是共及其公开的协议标准都使其得到照节点最近的整体负载高低来优先用节点内的处理器资源的,很多青睐。在运用Infiniband技术打造选取节点。通常状况下,为保证节时候,进程或线程之间还必须交的网络中,胖树结构又是最为普点利用率,对于多核节点的选择方换或共享数据,因此进程或线程遍的。即便是主流厂家制造的数式也是选择尽可能少的节点来满足间不可避免的会出现各类资源争百口的Infiniband交换机,其内并行程序的处理器需求。但这种的用状况,如处理器缓存、内存或部结构也有类似于胖树状的互连方法这些状况下并不如选取更多的总线等。

由于多核集群构架各结构。而因为Infiniband通信通节点能够令一部分节点中处理器资异,在操作系统中资源分配也不常是按目标寻径的路由方式高性能计算机 网络,这源空闲所获取的性能高,因为节点完全一致,各个进程或线程要想也就造成了在高性能集群越少,在出现通信时每个核获得的都发挥出性能,需要使各个线程中,各交换机的路由确定以后,平均网络带宽就相应增加,从而影对缓存、内存和总线等资源有很高54TECHNOLOGYe-Science 技术年 月 科研信息化技术与应用 第2卷第6期 201111 的使用方法,减少因资源争抢而序,多线程内存共享必将造成这架构建模和推动科技这种都已经完 导致的强度提高。通常首先要做样状况的发生,所以像这种架构成的成熟,而准确到应用工具和平 的一件事情是按照程序的特点,的服务器如何对其运行时环境调台的运行时改进上,系统平台和加 将不同的进程或线程与指定的处整是必须特别谨慎的。速卡尤其是多处理器多加速卡的多 理器核心进行绑定,使之一一对3) 对加快卡的运行环境优化节点集群平台内,系统存储和加快 应,这样可以避免因为进程或线程高性能计算机发展目前,基卡内存的数据交换的方式以及强度 使用处理同一核心导致的功耗降本加速处理器的计算系统即将慢慢就会显著的制约到加快处理器并行 低,也可以提高进程或线程进行切成为重要的技术。
全球Top500排名应用的性能体现。因此,在资源选 换时带给的额外费用。对于MPI程前5的机器中有三台都使用了GPU加取和程序加载时,如何更好的设置[4] 序,通常可以显示的将各个进程速设备成为其主要计算组件 ,在资源读取方案,保证加速处理器发 绑定在对应的处理器核心上;而这种的态势下,相应的各学科应用挥出更高效的实际功耗,是程序开 对于OpenMP程序,线程的绑定一般硬件升级还没有完全跟进,许多将发和平台运行时环境优化都应该 用环境变量指定为其分布模式,应用从CPU计算向GPU及众核计算上考虑到的难题。 如紧凑式(compact)或散布式转变的探究工作一直在不断探索和 (scatter)。如果进程或线程与尝试当中;基于加速处理器平台的3. 相关检测与结果预测 处理器核心间的绑定非常合理,则高性能计算机的最优架构,基于加 能够使应用表现出更高的功耗。速处理器的应用的短板制约如何缓本节将借助在不同平台上进2) 对存储资源的绑定解,CPU和混合处理的编程行的多项测试试验,来验证和分在多路服务器平台上,通常24 内存会借助多条不同的通道与不跨交换机8同交换机 同的处理器或芯片组相连接,这) 12su() 就导致了处理器访问较远端的内迟s延( 7间 存会有更大的推迟,甚至带宽也6时 会得到影响。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-122690-1.html
此人完了