图片
导航菜单
自定内容

深圳市湾博科技有限公司

Shenzhen Baybo Technology Co., Ltd.

 
技术中心
当前位置
自定内容

HPC超级计算机主要组成模块及构建HPC需要考虑的因素


 

一、HPC超级计算机主要组成模块

超级计算机技术有三个层次:基础层、中间层和应用层。其中,基础层主要是超级计算机的基本原理与方法,应用层涉及超级计算机使用场景,而中间层则包含了数据存储、计算、管理等多重技术支持,正是有了中间层的链接,超级计算机原理才能落实到应用问题解决之中。

1、基础层:以异构并行为基础的超级计算机组成

(1) 基本原理

超级计算的基本原理是并行计算,其优点是可以节省时间、处理大型问题、提高准确度。在这种方法中,整个求解问题被分成 n 份,然后每个部分各由一个处理机\并行计算,理论上,求解问题可以以 1/n 时间完成,但实际情况中,求解的问题通常不能很好地划分为各个独立部分,各个部分之间必须进行交互,包括计算中的数据传送和同步。因此,超级计算的性能优化之一是提高并行可扩展性。目前来看,硬件层面并行化的实现手段为:多重执行单元、连接结构、多核处理等。

(2)架构分类

按照并行计算方式是单指令多数据流(SIMD)还是多指令多数据流(MIMD),存储器是共享还是分布,可以将超级计算机系统的架构作如下划分:

早期的超级计算机系统以 SIMD 方式工作。由于系统中的各个处理器按阵列方式排列, 所以又称为阵列处理机。阵列处理机中的存储器可以是共享式的(SM-SIMD),也可以是分 布式的(DM-SDMD)。阵列处理机的专用性较强,一般只适合于求解某类算法,工作效率往往很高。单向量机系统中只有一套向量部件,但存储器为向量部件、标量浮点部件和标量整数率往往和部件所共享,因此属于 SM-SIMD 类型。它有较强的通用性,特别是在求解向量应用问题时,有很高的效率。

当今的超级计算机系统大多以 MIMD 方式工作。多向量机(multi vector processorMVP)系统中有多套向量部件,但存储器是共享的,因此属于 SM-MIMD 类型。对称多处理器(symmetric multiprocessorSMP)系统也属于这一类型。MVP SMP 又称为 UMAuniform memory access)系统,因为系统中所有处理器对任何存储单元有相同的访问时间。与 UMA 系统相对的系统称为 NUMA 系统,在 NUMA 系统中,存储器是分布的,各访问时间和处理器对同一存储单元的访问时间可能是不同的,依赖于处理器在系统中所处的具体物理位置。NUMA 系统属于 DM-MIMD 类型。需要注意的是,NUMA 系统中的处理器可对远程存储器(即非本地存储器)以 load- store 指令形式进行直接访问,因此该系统有一个统一的存储器逻辑地址空间。NUMA 并行机系统按是否对 Cache 一致性提供硬件支持可进一步分为CC-NUMAcache-coherent)和 NCC-NUMAnon-cache-coherent)。当存储器全由 Cache 组成时就变为 COMAcache only memory architecture)系统。

如果并行计算机系统中的处理器必须以消息传递的方式访问远程存储器,就称为NORMAno remote memory access)系统,它也是 DM-MMD 类型。与 NUMA 系统不同, 它有多个存储器地址空间,且系统中的每个处理器是一个独立的计算机。NORMA 系统按计算机间的互连紧密程度,又分为紧耦合和松耦合两种。集群(cluster)系统是松耦合的典型代表,而 MPP 系统则是紧耦合的典型代表。MPP 系统使用大量的商品化处理节点,用定制的高带宽、低时延互连网络将它们连接起来,存储器在物理上是分布的,必须通过消息传递实现进程间的相互通信,是紧耦合的并行机系统,具有良好的可扩展性。Cray T3E IBM Blue/Gene 系统是它的典型代表。

集群系统中每个节点是一个完整的计算机,可能没有某些外设,节点也可以是一台 SMP 或个人计算机(personal computerPC)等。它采用商品化的互连网设备,节点机通过 I/O 总线与网络接口相连。每个节点机上留驻有一个完整的操作系统,并有一个附加的中间件以支持单一系统映像和高可用性。

(3) 最新发展

1996 年以来,由于挑战性应用问题的急切需求,以及超大规模集成电路技术和网络技术的迅速发展,加快了计算机系统结构的演变和发展进程。虽然开发指令级并行性的超标量技术日臻完善,动态预测执行、显性并行指令计算(explicitly parallel instruction computingEPIC)等方法也已成功应用到商品化产品中,但随之而来的超标量处理器的设计越来越复杂,以至于进一步开发指令级并行性已变得相当困难。另一方面,为了提高性能,微处理器芯片的时钟频率越来越高,导致功耗的急剧增加和组件装配密度的下降。显然,单纯依赖提升单处理器时钟频率和一味开发指令级并行性以提高计算机性能的方法已不再经济有效, 必须加强对线程级和数据级并行性的开发才能大幅提高计算机性能。

进入 21 世纪之后,多线程、多核技术应运而生,将异构并行计算架构引入超级计算机中,采用专用处理器或者附属加速处理器的方式加以实现。异构并行技术,需要有效开发计算任务的并行性,与机器不同部件支持的计算类型最佳匹配,以充分利用各种计算机资源, 神威·太湖之光、天河二号与天河 2A等顶尖超级计算机都采取异构并行的处理器架构。

异构并行计算的基本工作原理是,首先析取求解任务的并行性类型,其次将具有相同类型的代码段划分到同一个子任务中,然后根据不同的并行性类型将各子任务分配到最适合执行它的计算资源上加以执行,达到使计算任务总的执行时间为最小的目的。一个异构计算系统通常由以下三部分组成:①一组异构机器,如向量机、MIMD 机、集群、图形处理机等;将各种异构机互连起来的高速网,可以是商品化网络,也可以是用户定制的网络;相应的异构计算的支撑软件。

2、中间层:六类设备+三大网络

当前 HPC 的主要架构包括 Cluster 集群和 MPP(大规模并行处理)两种,2018 6 月发布的 TOP500 437 个超级计算机系统为集群架构、占比 87.4%,其余 63 个均为 MPP 架构。典型的 HPC 集群系统主要由五类计算(或网络)设备和三类网络组成。五类设备主要是指管理节点及登录节点、计算节点、交换设备、I/O 设备和存储设备。当前有很多高性能服务器都采用 CPU+加速处理器异构的方式,因此有些集群系统还包括加速节点。

(1)六类设备:

登录节点,相当于用户访问集群系统的网关,用户通常登录到这个节点上编译并提交作业,是外部访问的唯一入口,需要保证用户节点的高可用性和数据安全性,但是对计算性能要求不高。

管理节点,是集群系统各种管理措施的控制节点,负责监控各个节点和网络运行状况, 运行相应的管理软件。管理节点需要有硬件冗余保护,但是对计算性能要求不高。

计算节点,用于执行计算,一般可以分为瘦节点和胖节点,前者主要用于执行并行运算, 成本相对较低,还可以节约能耗、节省空间,刀片服务器已成为主流;后者用于数据划分困难或者内容需求特别大的特殊应用运算等,价格较高。

异构节点,即加速节点,目前的异构节点通常同时使用 CPU 以及加速器设备(GPU

MIC 等),或者直接采用异构处理器,以此提升并行运算效率。异构节点也可以是计算节点。

交换设备,集群节点之间需要通过网络连接在一起,节点之间的信息和数据的交换需要使用交换设备,大型集群中,计算网络的交换设备往往采用大型交换机。

I/O 设备和存储设备,为了使任务并行执行,每台执行任务的计算节点必须能够访问同样的数据,同时计算产生的大量数据需要有较大的存储空间,用来确保数据访问的同步;另外,高性能计算机的存储系统还起到提高读写带宽的作用。

(2) 三类网络:

管理网络,用于管理节点和各个计算节点、I/O 节点的互联,管理网络连接的机器就是集群内部的本地机器,所以高带宽和低延迟都不需要,同时可以容忍一定的过预定率。

计算网络,用于各计算节点之间的互联,是并行任务执行时进程间通信的专用网络,并行计算机的核心就是它和集群内的其他节点交换信息的能力,通常称为 IPCInter- process Communication)。它需要高性能的网络来进行快速交换,才能够发挥出单节点的最大性能;此外,它还决定了系统架构、性能和适合的应用等。计算网络一般采用千兆或万兆以太网、InfiniBand 网络等。

存储网络,需要向高性能计算机的节点提供数据访问服务。

高性能计算机节点规模庞大、硬件设备繁多,软件配置复杂。随着用户数量和作业数量的增加、作业队列数目和长度的增加,有必要对高性能计算机进行更加专业系统的管理和维护以充分发挥其性能。

超级计算涉及的关键技术非常多,包括适用于超级计算的多/众核处理器技术、高速大容量的数据缓存技术、能够处理大量并发请求的低延迟高带宽的互联网络技术、低能耗的降温散热技术、任务调度技术、大规模并行文件访问技术等等。

二、构建HPC超算系统需要考虑的因素

1、确定合适的测试应用和负载

这个步骤主要由用户完成,毕竟最后的应用肯定用户最了解,举例现在一般在选择应用作为测试的石油行业应用时,通常会选择地震资料处理软件GeoEastGeodepthGeoCluster等作为测试对象,主要的应用是地震资料解释、油藏模拟,而选择的原则是真实、有代表性、可重复。

2、收集现有平台CPU/内存/Disk/网络的主要特征指标

CPU只是里面的一个环节,在系统级应当要计算CPU应用计算时间以及系统开销时间;Memory层面,选择内存使用率/SWAP使用率指标,因为一旦SWAP被使用就变相说明内存不够用了,这也说明了应用需要的真实的内存容量;Disk方面,测试磁盘读写;Network,网络收发,在网络层面,性能主要由这两个指标决定,因此可以不用去考虑太多指标。

而在微架构级,需要考虑代码效率,CPI;浮点指令是个很重要的指标,举例石油绝大多数都是浮点运算;向量化,fVEC,这两个指标可以告诉以后新的处理器出现能够预测新处理器能带来多少提高。另外还有两个指标就是向量访问,Memory Bandwidth,这被用来测试每秒钟从内存中取数据的速度量。

3、分析新平台与老平台的差异

对关键特征指标做POC验证,验证这些指标哪些是对应用运行最为关键,如果很清楚两个平台之间的差异以及新平台的性能指标,再综合老平台的指标,就可以预测新平台会达到的性能。

4、综合考虑性能/价格/功率,设计最优化机群系统方案

HPC的选择绝非硬件的单纯增加,在如果要更换平台的话一定要将软件代码以及软件优化、代码移植的成本和日后应用考虑进去。

 

 

全屏背景
自定内容
COPYRIGHT 2008-2014 WWW.XXXXXX.COM.CN ALL RIGHTS RESERVED 

深圳市湾博科技有限公司   粤ICP备2021109207号  版权所有

海洋网络提供网站建设




自定内容

深圳市湾博科技有限公司

Shenzhen Baybo Technology Co., Ltd.


地址:深圳市湾博科技有限公司

电话:0755-23771565 

传真:0755-23771565 

邮箱:support@szwanbokeji.com

QQ:1209874877

自定内容
------------------------------------------------------------------------------------------------------------------------------------------------------
给我留言
反馈主题: *
联 系 人:
联系电话: *
电子邮件:
验 证 码:
看不清?更换一张
 
自定内容
CONTACT US
联系我们