演讲实录| 如何构建一套完整的高性能计算集群架构
2022-05-26

 

 

前言

一套完整的高性能计算集群需要具备海量容量及高扩展性存储系统,存储是集群建设的重中之重。

联科集团资深HPC方案工程师马晓辉受希捷邀约,在线分享《如何构建一套完整的高性能计算集群架构》,解读联科集团与希捷在HPC集群建设联合解决方案中的独特优势。

现梳理本次直播的演讲实录供大家参考学习,以下为分享原文:

 

大家好,我是来自联科的工程师马晓辉,很高兴能够与大家分享联科集团在高性能计算领域的一些经验和感受。

下面开始我的分享。

 

高性能计算能做什么

在介绍之前,先列几个高性能计算的一些应用。

比较典型的应用,如气象预报系统,气象局进行预报时不可能用一台或两台计算机就能把气象数据计算出来,预测未来一个小时的气象天气,那结果再准确也没有意义。需要在10分钟或者20分钟之内预测未来两个小时的天气,这才是有意义的。

包括像制造企业用户的气动分析、汽车制造企业的汽车设计,如果用小量的计算力,可能需要几天,采用集群的方式1-2天就可以得出相应的这个结果。

同样的,在生物信息领域,包括现在新冠病毒的肆虐,在基因检测分析以及蛋白质预测等相关领域都会用到机器学习、GPU卡异构计算加速等,都是基于高性能计算体系架构下的应用。

还有包括传统科研领域的分子动力学、材料领域的模拟,都会用到高性能计算。

所以高性能计算集群解决的就是如何快速、准确获得大规模计算结果的问题。

 

联科集团在高性能计算领域做什么业务

简单来说,联科集团专注高性能计算二十多年,以应用为核心,深度贴合用户的业务逻辑,提供从系统层到应用层的解决方案,帮助用户解决买好和用好集群的问题。

联科集团可以为用户提供高性能计算集群的搭建、应用软件和平台整体调优服务,提供高性能计算集群平台管理软件,其实就是向用户提供一整套软件、硬件结合起来的HPC集群建设整体解决方案。

一个完整的集群,不仅需要强大的硬件配置系统,比如CPU、内存、磁盘和网络,还需要一套非常完善的软件平台来对集群进行整合、支撑、监控,以及对集群资源的管理,然后在这个集群之上运行用户相应的应用软件,最终完成计算,来实现高性能计算的最终目标。

高性能计算集群是一个比较专业、小众的领域,联科集团除了进行高性能计算调度软件的开发和实施工作外,还负责高性能计算集群平台的整体交付,包括从操作系统的部署到集群平台的管理,从用户应用软件的调优到整个集群的运维,给用户提交“一揽子交钥匙”的HPC服务。

 

如何真正建立一套高性能计算集群?

高性能计算集群从网络上来讲,要求性能最高。在高性能计算架构里,网络基本上分为管理、存储和计算网络,这个网络一般在高性能计算里会采用Infiniband或者高速以太网络,一般不会选用1G或者10G,因为带宽和延迟无法满足需求。

高性能计算的计算力资源就是需要在集群内有相应的管理服务器、登录服务器以及计算服务器。计算服务器包含CPU计算服务器、GPU异构计算服务器、图形图像化处理节点,以及胖节点,就是所谓的大内存,四路、八路CPU核心等多种节点。不同的节点针对用户的不同应用做不同的配置。

高性能计算集群的存储系统一般会采用分布式存储构建方案。希捷提供的存储方案就具有满足HPC集群要求的很大优势,性能好、稳定性高、数据安全性高、性价比高。

在整个HPC架构里,用户最关心、最重视的就是应用软件性能,所有软件、硬件都要为应用服务,整套集群也要以提升应用效率为目的。

所以,高性能计算集群用户应用的特点决定了集群系统的选型,例如:

如果是CPU密集型,到底是选择高主频核少的还是选择主频一般但核多的,对于CPU来说,单核主频以及单颗CPU的核数基于不同等级、代次的 TTP功耗来区分高低档。所以不同类型用户的应用系统,对于CPU的选型是有要求的。

在网络层面上,一般会选择大带宽或低延迟网络,来满足用户不同特性的应用需求。

在存储层面,刚才已经说到,针对不同存储类型会推荐不同的存储配置方案,来实现大文件序列或是海量小文件用户应用的使用场景,包括内存都要考虑到整个高性能计算集群里来。

高性能计算集群用户的预算是一定的,在这种情况下,就必须根据用户的应用特点有合适的搭配,去搭配CPU、内存、网络和存储。

不同用户的应用类型会导致选择的CPU略有差距。例如:

如果用户属于单核或者单机内并行,但是它的多核并行效率不高,这个时候我们就会选择核少主频高的单机来满足用户的任务级并行,存储层、网络层都是需要在预算一定的情况下做好规划,否则就容易出现以下这样的情况。

举个例子,如果用户属于IO比较大的任务,存储花费比较小,关注了很多计算力层面的配置,CPU配的很好,最后任务提交量一大就会引起IO风暴,然后就会导致CPU用不满,整个集群的任务效率降低。这个时候会发现,可能用6台机器加上1个很好的存储,会比12台机器加1个很差的存储要跑得快得多得多,效率要好得多得多。

所以对于HPC的整体架构,搭建一套非常好用的集群其实还有很多要考虑的地方。

针对节点类型,联科集团高性能计算解决方案可以支持英特尔、AMD的CPU,也可以支持ARM国产的MIX架构的CPU,也跟国内外的操作系统做了相应的适配。

同时联科集群软件管理平台可以把所有的设备都统一管理起来,保证集群资源的可用性和未来的可扩展性。

在网络类型上,一般会建议用户最低采用25GB的以太网络来做支撑,因为10GB的以太网从现阶段来看,或者从经验来看,已经很难支持现在的运算量了。

但在几年前建设的集群,还有一部分是使用10GB的以太网来进行连接的。实际上运行现在的大网格、高精度计算的时候,数据之间的传输量很大,带宽就会成为瓶颈,也会导致CPU跑不满。

存储也是集群之中的重中之重,刚才说完了CPU、网络,现在来谈一下存储。

针对于我们的高性能计算集群平台和希捷的硬件平台,也做了相应的兼容性和适配性的测试。在存储层面,我们可以选用性价比比较高或存储密度比较高的型号来实现我们的集群存储:

如果是小规模集群,可以采用希捷2U12或2U14存储平台,大概能达到几百K的存储容量,一般可以满足用户10几个到20几个节点NFS或者分布式存储的读写性能要求。

中等规模集群,可以选用2个或4个5U84的希捷存储平台,来实现分布式文件系统的数据段存储,当然2U12也可以满足原数据的数据存储。

海量高密度存储需求,中间密度一般是几个P、几百T到300T的容量都是可以满足要求的。更高密度情况下,可以推荐给用户采用4U106来满足超大容量的分布式文件系统需求。因为4U106一组基本上能达到一个P的可用容量,跟5U84一样,我们采用2对或者4对基本上能达到3个P、4个P的海量存储需求。

存储软件部分是现在的HPC集群建设的重要一步,除了刚才说到了比较简单的NFS能够承载十几个到二十几个节点之外,大的高性能计算集群一般都会采用分布式文件系统。

分布式文件系统目前在HPC领域用得最多的就是开源Lustre和商业的BeeGFS以及GPFS文件系统。

分享一个我们之前做过的架构测试。

采用希捷5U84搭配标准服务器,以及采用100个G的Ifiniband网络互联来配置Lustre分布式文件系统。

希捷5U84满配的情况下具有写性能5.53GB、读性能7GB吞吐量,当时测的是满配12TB的硬盘,总容量约1.3P。

采用2U24和2台5U84来实现Lustre分布式文件系统,读性能达到了10GB吞吐,写性能10GB,可以看到存储的带宽吞吐性能很好。

这样级别的存储,适合 CPU密集型、内存带宽敏感型或者IO密集型、lO延迟密集型、敏感型、混合型计算任务。经验来看,这样组合的一套存储基本上能够承载50台-80台的高性能计算集群。

刚才说了硬件部分,下面介绍一下软件部分

刚才讲到了,联科从系统层开始到集群层、容器层、工具层到应用层往上,都会协助用户把高性能计算集群平台搭好。

如果只是把硬件机械地堆砌起来,把软件平台部署上去就交付给客户,是不能满足用户需求的,用户还需要有很多软件调优、软件编译、作业提交等业务。

对用户来说,不了解硬件底层和软件平台架构等是很正常的,毕竟术业有专攻,把这些工作都交给客户不现实、也不合理。

所以联科作为一家软件产品的研发、开发和售卖厂商,可以提供从系统层到软件集群层的功能部署,完善用户应用与CHSS集群平台的结合,优化用户应用层部署,帮助用户解决整套集群搭建的难题,用一套交钥匙方案来满足用户所有需求。

CHESS产品web端界面

CHESS是基于B\S架构的HPC高性能计算集群管理平台,主要用于对下管理所有的硬件设备及云计算资源,对上集成用户的各种应用程序,帮助用户协调整个高性能计算集群的算力,同时帮助用户进行作业管理、账户管理,并提供报表、计时、计费管理和监控功能。

通过Web Portal登录首页面,可以进行数据上传、应用提交,像Tensorflow、Flunt等各种各样高性能计算的应用,都可以在这个界面进行作业提交。而且图标和应用程序都是可以进行定制化,定制化也不需要进行二次开发。

高性能计算集群或超算中心几百、上千个节点,一般都是多用户的管理模式,所以CHESS支持用户的细粒度管理,包括增、删、改、查;也支持作业调度系统的部署和配置,支持多种作业调度系统,让用户把作业能够以最快、最合理的方式调度到集群上来进行运算;可以定制和发布用户所需要的应用软件,比如生信领域、流体力学碰撞领域、石油勘探、气象领域等应用软件都可以通过发布到CHESS平台上来。

某些用户有可视化需求,CHESS可以在服务器上运行相应的绘图和计算的后处理程序,把最终结果可视化地展现给最终用户;可以进行数据上传和数据安全的管理,也可以对平台上所有的计算资源、节点状态、资源使用情况进行汇总监控,对整个集群平台的硬件、设备的资源使用情况、负载进行监控。

除了解决高性能计算的基本需求之外,还有一些锦上添花的功能:

比如对于整个集群的报表和计时计费,可以按照不同用户、不同部门生成定期的报表,汇报工作负载和使用的情况;可以支持作业流程管理,现在很多用户的作业其实是一环套一环,第一个作业运行完如果失败,那要怎么做?如果成功,下一步怎么做?我们也支持这种作业的流程化管理方式。CHESS也可以支持人工智能的很多类型应用。

在制造业、科研、气象、生物、国防军工等领域,联科集团有很多成功案例,积累了很多不同应用场景的实施及交付经验。

联科集团可以给不同应用场景、不同需求的用户提供HPC建设整套解决方案,给最终用户解决高性能计算应用的难题。

 

今天我的分享就到这,谢谢大家。