HPC高性能计算解决方案

HPC行业简介

什么是HPC

HPC是高性能计算(High Performance Computing)
使用很多的处理器或者是某一集群中的几台计算机的硬件资源、计算系统和环境,将大规模的运算任务拆分成很多的小任务分发到各个服务器上并行计算,再将计算结果汇总成最终的一个结果。
HPC高性能计算解决方案
这是一个关于华为云HPC解决方案的介绍:https://bbs.huaweicloud.com/videos/100690

在算力方面,如果说通用计算是家用小轿车,那么高性能计算就是方程式赛车。在算力上是高出通用计算很多的。
第二个是应用场景,比如*投资的超算中心,企业的CAD、CAE,医疗上的基因测序等,还有石油地质勘探等方方面面都是HPC的应用场景。
HPC+大数据 = HPDA,像大数据能够提供体量巨大的数据集,那么对大体量的数据进行处理的时候就需要用到非常强大的算力,这也是HPC所能提供的。
HPC高性能计算解决方案
HPC涵盖了3个方面:
计算:提供超强算力,可以使用除了一般的计算,还有英伟达p系列,FPGA等进行配合的异构计算加速。

存储:例如视频中提到的Lustre,这是一个开源的并行的分布式文件系统。

网络:由于高性能计算通常是组建集群的形式,在集群当中有多个节点,每个节点之间的任务调度、分配都会对网络提出一定的要求,例如高带宽、低时延。例如IB网络(无线带宽网络技术,现在快的有400GB/s,延迟在微秒级别)

HPC关键技术

HPC高性能计算解决方案
上图是HPC TOP500的统计情况

可以看到在系统架构层面,88.40%是Cluster这种集群的形式,另外的11.60%是MMP的形式。
MPP—是比较紧耦合的,比如说它一台服务器,它可以通过借助其他的CPU来做并行处理。节点数一般大于100以上
Cluster—比较松耦合,比如说这种架构的每个节点都有自己独立的CPU、内存、硬盘等等。节点数一般100以下

然后看处理器这块,在HPC场景下,主流的还是x86架构,当然像华为的KunPeng也是支持HPC相应的软件,不过份额比较少,处于3.4%这块。1%是SPARC,4.6%是Power。

操作系统部分,可以看到Linux占了全部,而没有Windows。因为我们说Linux的稳定性更强,而服务器的稳定性至关重要。

计算加速部分,传统情况下,CPU算力不足以应对复杂场景,所以我们可以通过CPU+GPU或者FPGA的一些方式来增强算力。图中72.4%是CPU,27.6%则是CPU+GPU,借助图形处理器来提升算力。

网络部分,由于每个节点之间需要相互通信,任务的协同处理,所以离不开网络设备,并且对网络的时延、带宽提出了很高的要求。目前50.4%是以太网,27%是IB网络,剩下还有一些其他的网络技术。

通过上图我们可以了解到当前HPC它涉及到哪些关键的技术。

HPC发展趋势

HPC高性能计算解决方案
前面有讲到华为云HPC解决方案,所以HPC支持私有云、公有云还有混合云的部署
HPC云化主要有这几个特点:
1.弹性伸缩,可以根据业务需求进行灵活扩充减少。
2.按需付费,可以对资源进行灵活调度,客户根据当前经济条件、业务需求来购买,降低门槛、投资成本。

E级计算:指的是每秒可以达到的运算次数百亿亿次,图中所展示的是我国的神威太湖之光,它之前蝉联了3届HPC的TOP1。(当时它由48个机柜组成每个机柜有1024个CPU,每天耗电费用达到20万人民币。)

HPC主要应用场景的需求分布

主要从五个维度去看:浮点运算、内存带宽、网络带宽、网络时延、IO
HPC高性能计算解决方案
图中可以看到不同场景下对HPC的五个维度的指标也是不尽相同

由此可以分为内存约束型(大内存、高带宽)、计算密集型(高速CPU)、网络密集型怕(高速网络互联)、IO密集型(高带宽、大容量存储)

挑战和解决方案

HPC面临的行业挑战

  1. 计算需求持续增长:每个人产生的数据逐渐增多,那么业务分析、计算任务就逐渐增多,所以计算的需求也是持续增长的状态。
  2. 使用、部署和管理的门槛高:从上面讲的“太湖之光”也可以了解到,HPC是比较烧钱的,同样管理也需要专门的技术,培养管理人才也是一笔不菲的费用。
  3. 应用多元化:比如上面的图,在气象预测、石油天然气勘探、动画渲染等,他们对HPC各个维度的要求都是不相同的。
  4. 能耗费用持续增长:还是那个“太湖之光”例子,它每天的耗电量达到20万人民币,可以看出HPC的能耗费用是非常巨大的。

HPC解决方案架构

HPC高性能计算解决方案
整个架构一共可以看作是四层

第一层是一些基础设施,比如模块化的数据中心,方便快速组装。还有像液冷,我们通常机房当中用的都是风冷。在HPC场景下由于服务器的功耗很大,产热也多,通过液冷来散热可以降低功耗,降低了功耗就降低了费用,从而降低了运营成本。

第二层是HPC实现的基础:计算、存储、网络。后面我们的解决方案也是围绕这三点展开。比如计算有哪些节点,存储有哪些类型,网络需要有哪些网络平面、它们之间如何互相组网。

第三层在底层基础设备、系统搭好的基础上,涉及到集群管理、作业调度。在操作系统之上,需要有消息传递的通信,各种运算的库,还有编译器等等。

第四层是偏向于行业的各种业务所需要使用的应用,这就我们前面有提到的能源勘探、CAD仿真,基因测序、气象预测等等。

总结:那我们主要关注的是在L2层,计算网络存储怎么去设计。

华为HPC解决方案能力

HPC高性能计算解决方案

首先看底层平台
计算这一块,像ARM处理器也就是鲲鹏920,单个处理器可以提供8通道的内存,所以它的优势相比于x86在于大内存,以及缓存一致性互联技术。

存储这块,它支持Burst Buffer这种向量NAS文件系统。
(解释一下Burst Buffer,例如HDD存储容量大,但是性能差。SSD性能高,但是全用SSD部署成本很高。Burst Buffer,在计算过程当中我们使用性能较高的硬盘(SSD)组成一个缓冲层,那么计算都在都在这种高性能缓冲层当中进行。当计算得到最终结果,再将数据落盘到性能较差、容量较大的硬盘当中(HDD)。)

网络这块,需要低时延就会用到像RoCE、IB(无限带宽技术)等这些技术
(RoCE—允许通过以太网使用远程直接内存访问(RDMA)的网络协议)

同时也支持公有云、私有云、混合云的部署方案

然后第二层中间件
在这一层,华为有自己的MPI和作业调度器。在Taishan服务器上也支持其他一些开源的通用的工具,还有编译器、数学库这些。

第三层就是一些业务应用,涉及到气象预测、工业制造、生命科学这些。

总结:华为HPC的解决能力主要体现在L1和L2当中,L3层是和商业合作伙伴相关的。

比如在计算这边,就可以售卖华为泰山X6000这些高密服务器或者是RH系列的服务器。
目前HPC解决方案大部分是基于x86架构的,那么华为的泰山服务器是支持和x86混合部署的,业务一样可以正常运行、互相兼容。

存储这边,华为有自己的Oceanstore系列企业级的存储。

网络这块,华为也有自己的交换机,例如CE系列交换机、S系列交换机。

还没完,明天继续补,有点小多