中小型规模高性能计算集群的搭建与维护

来源 :现代信息科技 | 被引量 : 0次 | 上传用户:leolee19820604
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要:高性能计算在近几年得到了充分的发展,越来越多的高校、科研院所开始搭建适合自己需求的高性能计算集群,搭建的过程除了硬件、软件、运行环境这些必要的条件以外,后期的维护也是需要重点关注的领域。本文分析了高性能计算集群的特征、搭建需求、整体思路以及后期维护需要注意的问题,并且通过实用的算例测试了集群并行效率,希望为该领域的科研用户以及管理人员提供借鉴。
  关键词:高性能计算;集群;搭建;维护;并行效率
  中图分类号:TP393        文献标识码:A 文章编号:2096-4706(2019)05-0020-05
  Abstract:High-performance computing has been fully developed in recent years. More and more universities and research institutes have begun to build high-performance computing clusters that suit their needs. The construction process is in addition to the necessary conditions of hardware,software and operating environment,later maintenance should also be the area of focus. This paper analyzes the characteristics of the high-performance computing cluster,the requirements of the construction,the overall idea and the problems that need to be paid attention to in the later maintenance,and tests the parallel efficiency of the cluster with practical examples,which provides a reference for the technicians who use and maintain the high-performance computing cluster.
  Keywords:high performance computing;cluster;build;maintain;parallel efficiency
  0  引  言
  过去的20年中,我国各行业对计算资源的旺盛需求拉动了高性能计算基础设施的迅猛发展,目前已实现由17个高性能计算中心构成的中国国家高性能计算服务环境,资源能力位居世界前列。这些发展成果得益于我国“863计划”与“重点研发计划”项目的实施,期间国际与国内科研和工业的发展对整个行业也产生了巨大的影响。美国研究世界最尖端、最前沿的高性能计算集群部署在国家实验室、大学以及研究机构,与之相比,截至2017年,中国科技部批准建立的国家超级计算中心共有六家。其中,2016年荣获世界超级计算排行榜“TOP500”第一的“神威太湖之光”部署在国家超算无锡中心,;连续在世界超级计算排行榜“TOP500”中7次占据第一的“天河二号”超级计算机运行于中山大学校园内的国家超算广州中心,依托湖南大学运维的“天河一号”属于国家超级计算长沙中心[1]。这说明国家级的超算中心依托于国内大学和科研机构在科研领域获得了较好的成果,国家也在加大对这方面的投资。通过近几年教育、研究和产业各个领域的合作,高性能计算的发展已经具备了良好的创新生态环境,2013年举办中国高性能计算学术年会开始以来,参会人员从300多人增加到如今的2000多人[2]。相对应地,中国的大学和科研机构也在不断地搭建适应各自研发需求的高性能计算集群,但是高性能计算机的寿命通常只有4~5年,后期运行维护复杂集群系统的费用非常高。如果以每台10万元人民币的价格购买5台高性能计算刀片服务器,需投资50万元人民币作为设备费。后期运行维护所需的人力成本、设备维修、硬件损坏更换、电费和制冷费等,每年至少需要5万元,以配套该刀片服务器,使这个集群正常运行[3]。一般大规模高性能计算集群都有专业的机房和运营团队进行管理,但一些高校和科研机构自主搭建的中小规模高性能计算集群系统一般缺少这方面的经验,硬件设备在实际的运作中由于管理人员维护不当和有限的机房环境条件造成计算刀片温度过高、设备提前老化,大大减少了计算机设备的使用寿命,造成固定资产浪费和资源流失等后果[3]。因此,在中小规模高性能计算系统设施数量不断增长、计算性能不断提高的情况下,高性能计算集群的需求、硬件安装、配置调试、运行维护等是需要关注的问题。只有对硬件和软件,以及后期使用过程中的关键环节进行专业协调,才能最大程度地发挥其价值和作用。
  1  高性能计算集群
  1.1  高性能计算集群的概念
  高性能计算机是在近几年发展迅速,并且计算能力超强的计算机,逐渐成为计算机科学发展的一个分支[4]。将先进的高可用技术与高性能计算机有机结合起来的系统称之为高性能计算集群,应用在越来越多的科学领域,例如能源短缺、环境污染、全球气候变化、航空工业和高速铁路等。
  1.2  高性能计算集群的原理
  使用高性能计算集群的目的是完成超大、超高和超复杂的计算任务,显然这样的任务是单台计算机无法实现的,需要由N(N≥3)台计算机齐心协力完成整个系统承担的工作负载[5]。其工作原理示意图如图1所示,需要一个性能较好的管理节点对所有的计算节点,即nodes,进行统一管理,每一子节点相当于一台计算机,上面运行自己独立的操作系统,各节点间通过内部局域网进行互相连接。当管理节点接收到用户提交的任务以后,通过作业管理系统将任务分发给各个节点,各个节点通过安装在它们系统中的高性能组件来完成计算任务。各个子节点在计算完成之后,将计算结果通过网络返回给管理节点,最终用户通过外部网络下載计算结果。   1.3  高性能计算集群的特征
  高性能计算系统拥有超强的运算能力,能够解决大规模的计算问题,更容易实现性能扩充,还可以根据计算能力的要求逐步扩充[6]。每一个节点是独立运行的,如果其中某一个节点发生故障,它所运行的程序与之相连的服务器自动接管,这样整个集群不会受到故障节点的影响,仍然可以提供服务,这样就提高了设备的利用率。这种技术避免了整个系统出现瘫痪的情况,减少了操作系统和应用层的故障。集群系统的用户可以通过网络使用任何子节点,而且减少与既定停机有关的停机时间,这对于一个科研团队或者用户来说有着非常重要的意义。
  另外,高性能计算集群所使用的硬件在同类型产品中价格较为低廉,而且构建整个软件系统常用的工具,如Linux操作系统、MPICH编程环境、Intel编译器、MKL数学库等都可以从网上免费下载,因此软件方面的成本减少了许多,这样科研人员可以不用花费太多经费即可建立自己的高性能计算集群,从而将经费投入到更需要的研究中。
  2  高性能计算集群的搭建
  2.1  集群搭建的思路
  在搭建任何一个高性能计算集群系统之前,首要的任务是确定该集群的应用类型,因为这些将对该系统计算节点的配置选型、节点间网络通讯的类型以及采用哪种集群控制系统和操作系统起到决定性的作用。从应用的层面可以分为三个方面来确定集群的类型,即应用的粒度、应用的计算特性和应用的时效性[7]。例如,应用粒度较大的计算,节点间通讯较少,而小粒度的应用计算需要大量的节点间通讯;应用的计算特性主要分为多媒体运算、科学计算、数据库应用,其中科学计算主要使用浮点计算功能,这也是目前高性能计算系统的最主要应用领域;应用的时效性主要取决于完成计算任务的时间,如天气预报模拟就需要非常快速的计算得出结果,否则就失去了意义。
  在确定高性能计算集群的应用类型后,就可以确定系统的硬件参数、软件等内容。高性能计算集群系统的应用示意图如图2所示,用户在客户端可以选择适合自己的登陆方式,例如安装SSH、Putty、WinSCP、VNC等远程登录软件来登陆集群。登陆集群之后可以进行具体的建模过程,建立完成后,将计算的模型用命令行来提交作业。登陆节点的任务是接收作业任务,而后通过作业管理软件对任务进行分配。当用户检测到作业任务完成之后,通过登录软件下载结果数据,最后对计算结果进行处理后得出计算结论[8]。其中客户端的安装、作业提交、集群管理属于集群的软件系统,而登陆节点、计算节点、存储系统则属于集群的硬件系统,最终共同通过网络连接成一个统一的整体进行运营。
  下面以甘肃省计算中心进行集群扩容升级为例,分析高性能计算集群系统搭建的整个过程。按照甘肃省计算中心提供计算的用户分类可知,用户主要为科学计算与工程计算,大部分用户来自甘肃省高校、科研院所与企业等,通过统计分析,这些用户大多数应用粒度大、应用时效性要求较低,用于基础科研的较多。下面将从集群硬件、集群软件和集群配置方面进行简单的介绍。
  2.1.1  集群硬件
  该高性能计算集群硬件为中科曙光CX50-G20,其硬件体系架构如图3所示,分别由20台两路计算刀片服务器、1台登录节点、1台管理节点以及存储系统组成。所有计算节点通过56GB InfiniBand网络互连,其中一台千兆交换机与登录节点和管理节点连接,该交换机接入外网,集群用户通过该交换机连接高性能计算集群提交作业任务。
  2.1.2  集群软件
  通用集群系统的软件系统一般由以下几个软件部分组成,操作系统、并行化应用程序、作业管理、系统管理和开发环境等[9]。Linux操作系统依然是高性能计算集群操作系统的最佳选择,其可扩展性、可靠性、灵活性和易用性在集群管理中起到了非常重要的作用。本次扩容升级的集群系统软件层次结构图如图4所示,系统构建底层平台是CentOS6.2,安装了MPICH3.2、Intel编译器、MKL数学库等运行环境,通过曙光的Gridview集群管理软件监控集群的状态、性能,还可以进行作业管理等工作。
  编译器与数学库在基于Linux的高性能计算集群系统中的作用非常重要,因为在许多科学计算的应用中,一些软件是开放源码程序,这些源码程序由C++语言编写,编译器的作用就是将这些“C++”翻译为“机器语言”的程序[10]。源程序经过编译器的编译才能转化成可执行的程序。以下是编译器的主要工作流程:源代码(source code)→预处理器(preprocessor)→编译器(compiler)→目标代码(object code)→链接器(linker)→可执行程序(executables)[11]。该高性能集群在集群根目录下安装了Intel编译器,供所有使用集群的用户使用,其下载安装包为parallel_studio_xe_ 2019_update1_cluster_edition.tgz。
  利用编译器编译完成的可执行程序在运行时还需要调用大量的数学库进行各种计算,现已有一些比较成熟的标准化数学库,如线性代数方面的BLAS、LAPACK、ScaLAPACK和FFTW等等。通常情况下推荐使用具有更高性能的AMD官方ACML数学库(AMD Core Math5-Library),该库为PGI-7.0版本编译器所匹配的数学库[12]。由于该集群安装了Intel编译器,所以使用相关的MKL,即Intel?Math Kernel Library for Linux数学库安装包相匹配。数学库与函数库在集群安装初期配置中并不是必须的,一些集成度高的商用计算软件在集群上运行计算任务时,需要在脚本文件中写入调用编译器与数学库的路径,用户也可以根据自己实际应用的情况进行下載安装配置。   2.1.3  集群配置
  在完成了高性能计算集群系统的硬件与软件的准备工作之后,要将集群运行起来还必须进行相关的配置工作[13]。最初的配置操作应该在管理节点上进行,其他子节点的配置过程与主节点类似,主节点配置完成后许多配置文件或者操作可以复制在子节点上。高性能计算集群基本配置过程如图5所示。
  首先,为了避免用户在节点数量多的情况下重复输入用户名和密码,需要为集群配置无密码访问的操作。下面以rsh远程通信协议为例介绍实现集群无密码访问的功能,需要安装rsh-server软件包,然后配置/etc/hosts、/etc/hosts.equiv及/root/.rhosts文件,添加需要无密码访问的节点,并且所有节点都要操作。编辑/etc/xinetd.d/rsh和/etc/xinetd.d/rlogin文件,將disable=yes更改为disable=no,并将rexec、rlogin、rsh加入到/etc/securetty中,然后重启xinetd进程。到此,可以通过rsh命令访问不同的服务器,如果不需要密码,则说明服务器之间可以无密码访问[14]。
  其次,需要进行登陆节点的网络配置。在确保所有节点计算机都已安装TCIP/IP协议的情况下,为所有节点统一分配IP地址,所有节点的IP地址尽量在一个域中,以方便管理[15]。在某一个节点的配置文件/etc/hosts中,输入集群内全部节点的IP、名称、别名等网络配置信息,每一个子节点的网络配置信息是一样的,接着使用单一系统通过远程操作,复制/etc/hosts中的网络配置文件到所有子节点。
  最后,进行并行环境配置。以MPICH3.2的安装为例,简单介绍一些重要的安装步骤:
  (1)从网站http://www.mpich.org/dowllloads/下载mpich-3.2.tar.gz安装包;
  (2)#tar zxvf mpich-3.2.tar.gz,解压缩到磁盘阵列;
  (3)#cd/root/mpich,进入解压后的目录;
  (4)配置configure文件,#./configure--prefix=/publicl/home/user/user001/mpich3.2,--prefix为软件所安装的目录;
  (5)#make
  (6)#make install
  3  集群搭建后的管理与维护
  3.1  集群作业管理系统
  曙光Gridview高性能计算的综合管理系统基于TOR-QUE(Tera-scale Open-source Resource and Queue manager)来实现对集群的安装部署、配置、状态监控、告警、报表分析等运行维护管理工作,以及对高性能计算资源的调度分配、作业提交、作业管理、状态监控和统计记账等功能[16]。以作业提交为例,Girdview有两种作业提交方式,一种为脚本方式,可选择已经写完整的脚本文件所在的绝对目录进行提交;另外一种方式为命令行方式,用户需在命令行输入界面输入运行作业相关的命令行。以下是作业提交中非常常见的简单实用型脚本:
  #!/bin/bash
  #PBS–N testjob   //指定作业名称
  #PBS–l node=2:ppn=28   //作业所需要节点数以及每个节点运行core数
  #PBS–q queue_name   //指定作业提交到哪个队列
  mpirun–np作业总core数–machinefile $PBS_NODEFILE./cpi   //真正执行作业的指令,其中总cores=no des×ppn。
  3.2  集群环境监控与维护
  鉴于高性能计算集群的高可用性,一般用户要求7×24小时×365天不间断运行。大量的计算任务提交到计算节点上,各个节点都处于高速运转的状态,计算刀片以及周边设备发热量骤增,服务器排风口的温度基本都在40℃左右。因此,良好的机房环境、制冷系统是保障该系统运行的必要条件。科学合理的机房气流组织也是建立集群时必须考虑的问题之一,遵循“冷道在柜前、热道在柜后”的原则,将冷热通道区分开有利于空调快速带走热量,降低空调制冷系统能耗[17]。
  如上所述,该集群要进行长期、稳定的运行需要机房空调设施来保持机房标准温度,同时离不开不间断的UPS电源保护,这些工作除了由集群监控软件完成一部分以外,还需要有经验、管理能力较强的技术人员去解决各个环节出现的问题。具体的措施如下:
  (1)对经常出现故障的、容易老化的设备硬件做好记录,并定期排查,出现问题及时进行更换或维修处理;
  (2)密切监控集群使用情况,若出现节点宕机、登陆节点死机、IO节点故障等要及时处理,以免造成用户数据丢失;
  (3)制定合理的机房运维制度、执行制度和管理制度,提升集群管理人员技术水平,应对日常问题和突发问题。
  4  集群并行效率测试
  通过作业提交软件Gridview提交测试计算作业,最大并行规模为140核,跨节点计算时,每个节点用满28核。作业正常结束后,根据Gridview作业统计信息,得到完成该作业所运行的机时(Run Time),根据统计结果计算出加速比以及并行效率。加速比即同一个任务在单处理器系统和N个并行处理器系统中运行消耗时间的比率。
  4.1  测试环境
  测试集群计算节点的系统环境如表1所示。
  4.2  测试算例   用VASP对含有62个原子的Ni孪晶模型进行单点能计算,计算过程中采用的计算参数与模型完全相同。采用不同计算资源时的CPU性能分析,即运行时间对比如表2所示。其中加速比=1166.551/不同节点CPU运行时间,并行效率=加速比/节点数。
  测试结果如图6所示,随着并行核数的增加,加速比在28核与56核时线性加速非常明显,随着计算核数继续增加,计算耗时不断回落,加速比数据一直呈小幅攀升趋势。当并行测试规模扩大至140核,也就是单节点28核的5倍时,可以看到计算时间从单节点28核的1165.551秒缩短至492.118秒,也就是计算时长缩短了近1/2,計算时长并没有缩短到理论的1/5,此时的加速比倍数为2.37,并且并行效率维持在47%的水平。因此,在使用VASP求解此类计算问题时,需要及时注意计算资源的变化趋势情况,根据求解问题类型和模型类型特点选用合理的区域分解方案和多核并行加速策略,以实现计算资源的优化配置和最佳使用状态。
  5  结  论
  我国高性能计算应用的发展已经到了上升的关键时期,在国家大力的投入与支持下,将持续朝着良好的态势发展。高性能计算集群不只是简单地将一些硬件搭建在一起就能投入使用,而是需要详尽的规划来进行建设。在集群数量持续上涨的同时,许多维护的困扰也相应出现,在整个系统设计的初期应该具有长远的眼光,谨慎地考虑问题。在搭建后使用的阶段,更应该根据实际运行情况,不断调整整个机器的资源调度策略和队列设置等,以适应用户的需求。
  参考文献:
  [1] 郑晓欢,陈明奇,唐川,等.全球高性能计算发展态势分析 [J].世界科技研究与发展,2018,40(3):249-260.
  [2] 袁国兴,姚继锋.2017年中国高性能计算机发展现状分析 [J].计算机工程与科学,2017,39(12):2161-2166.
  [3] 邓宾.高性能计算集群的建立及管理 [J].自动化与仪器仪表,2014(2):149-151.
  [4] 王涛,李强.全球未来计算竞争态势及对我国的启示 [J].电信技术,2018(6):43-46.
  [5] 钱德沛.我国高性能计算的回顾与展望 [J].民主与科学,2017(4):20-23.
  [6] 孟玲玲.高性能计算集群系统建设与运行管理研究 [J].软件导刊,2017,16(3):138-140.
  [7] 迟学斌.高性能计算环境与应用 [J].国防科技工业,2018(5):21-22.
  [8] 钟泽秀,詹晓东,裴春梅.低成本的高性能计算环境的搭建 [J].芜湖职业技术学院学报,2016,18(4):33-36.
  [9] 陈晓霞,孙婧.中国气象局的高性能计算机系统 [J].科研信息化技术与应用,2012,3(5):83-90.
  [10] 黄建强,孟永伟,曹腾飞,等.青海大学三江源数据分析中心高性能计算集群的构建与设备管理[J].实验技术与管理,2014,31(12):237-240.
  [11] 高永国,邓津.甘肃省地震局高性能计算系统 [J].地震地磁观测与研究,2018,39(1):149-153.
  [12] 游伟倩,盛乐标,张予倩.南京大学大型高性能计算集群平台建设研究 [J].科技创新导报,2018,15(4):126-127.
  [13] 郭宇,葛佳斌.高性能计算集群运维自动化研究 [J].网络安全技术与应用,2017(6):59-61.
  [14] 金能智,者建武,李唐艳,等.基于Linux的高性能计算集群MPI并行环境配置研究 [J].科技创新导报,2017,14(3):116-117.
  [15] 朱宏武,尹新怀,罗丹,等.湖南省气象局远程高性能计算环境的设计与实现 [J].南京信息工程大学学报(自然科学版),2016,8(3):259-266.
  [16] 中科曙光.Gridview3.2普通用户用户手册 [Z].曙光信息产业股份有限公司,2013.
  [17] 李博.通信机房的运行维护工作探究 [J].信息系统工程,2018(9):101.
  作者简介:文洮(1987-),女,汉族,甘肃人,助理研究员,研究生,研究方向:高性能计算、数值模拟等。
其他文献
惠州位于广东南部,地处大亚湾畔,与广州、深圳在地里位置上呈三角状。由于紧临香港,东江与西枝江纵贯其中,海运、铁路、机场、高速公路四通八达。该市总面积1.12万平方公里,
智能卡,又称IC卡,是指一张装有磁条或芯片的塑料卡片,与计算机终端相联接,用以记录、传递信息,进行各种商务交易、信息交换的操作系统.从技术性能看,智能卡有磁条卡、存储卡
在当下的中国,民营银行是橘是枳,还难以决断。人们对民营银行寄予了太多的期望,甚至在其身上寄托改写金融版图的梦想……
企龙展览服务有限公司最近与荷兰皇家展览公司及美国FMI签订合作协议。从1999年9月27日至30日,第五届中国(上海)零售业博览会将在上海国际展览中心举行。届时展览面积将超过1
高职院校公寓管理工作历来是学生管理的重要组成部分。在现有校园网信息平台上建立一套基于一卡通系统的学生公寓门禁系统,不仅技术可行,而且可以节省大量资源。结合高职院校
理赔成了一条难走的“取经路”。其实,这里边除了个别保险代理人的因素外,投保人是否也应该从自身找找原因呢?  时下,保险已经成为人们生活的一部分,可以说,对于保险人们已经从陌生到熟悉,从一味抵触到慢慢接受,不再像过去那样“谈险色变”。在平时人们谈起保险来,也能说上个一二三四。但是到了真遇到险事需要理赔的时候,却又不是那么顺风顺水,而是麻烦多多。因为理赔而闹纠纷的事件也不时见诸于媒体,保险公司提出的理
近日,平安养老湖南分公司正式推出拥有百万医疗保障的“平安家庭健康无忧卡”,该卡的主要特点是“一张卡保全家”,被保险人包括投保人本人、配偶(20-45岁)及0岁(出生满30天且健康出院)-17周岁(含)的子女1人,住院医疗保100万元/人/年,且投保人不受职业类别限制,报销不限医保目录,不限药品种类,全国通赔,价格仅1000元/份,低于市场同类产品,是医保补充的首选。  据悉,一直以来,平安养老险立
商品流通日新月异商品市场潜力巨大访国内贸易部总经济师丁俊发︽香港商报︾记者贾铁燕改革开放以来,中国流通体制发生了巨大变化长期以来,中国实行的是计划经济体制,受前苏联“无流