版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 HPC高性能计算架构设计HPC基础介绍 在过去15年的时间里,HPC一直是增长最快的IT市场之一,其增长速度有时超过了在线游戏、平板的年增长率。HPC高性能计算市场空间有多大? 在2016年的全年,我们报告说,HPC服务器市场的全球工厂收入从2015年的107亿美元上升到创纪录的112亿美元,比2003年的57亿美元增长了近两倍(其他市场分析,请参看“ HYPERLINK /s?_biz=MzAxNzU3NjcxOA=&mid=2650717317&idx=1&sn=6ccbe4c92f482e88ba7b2678a3eeb2e6&chksm=83e97ae4b49ef3f2ad28e48f
2、adbbf856a1e2272dbe87b5ebc5c8bcc0667898805dd67749a273&scene=21 l wechat_redirect t _blank 解读 Intersect360分析预测: 由AI和Cloud驱动,未来HPC市场达439亿”),研究预测,HPC服务器市场将在2021年增长到148亿美元,而整个HPC生态系统的市场在那一年将会超过300亿美元的市场。什么是高性能计算,涉及哪些技术和知识呢? 高性能计算(High performance computing)指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计算资源操作
3、)的计算系统和环境。高性能集群上运行的应用程序一般使用并行算法,把一个大的普通问题根据一定的规则分为许多小的子问题,在集群内的不同节点上进行计算,而这些小问题的处理结果,经过处理可合并为原问题的最终结果。由于这些小问题的计算一般是可以并行完成的,从而可以缩短问题的处理时间。 高性能集群在计算过程中,各节点是协同工作的,它们分别处理大问题的一部分,并在处理中根据需要进行数据交换,各节点的处理结果都是最终结果的一部分。高性能集群的处理能力与集群的规模成正比,是集群内各节点处理能力之和,但这种集群一般没有高可用性。高性能计算的分类方法很多。这里从并行任务间的关系角度来对高性能计算分类。一、高吞吐计算
4、(High-throughput Computing) 有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。因为这种类型应用的一个共同特征是在海量数据上搜索某些特定模式,所以把这类计算称为高吞吐计算。所谓的Internet计算都属于这一类。按照Flynn的分类,高吞吐计算属于SIMDSingle Instruction/Multiple Data,单指令流-多数据流)的范畴。二、分布计算(Distributed Computing) 另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的
5、分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data,多指令流-多数据流)的范畴。 有许多类型的HPC系统,其范围从标准计算机的大型集群,到高度专用的硬件。大多数基于集群的HPC系统使用高性能网络互连,基本的网络拓扑和组织可以使用一个简单的总线拓扑。HPC系统由计算、存储、网络、集群软件四部分组成。高性能计算HPC系统技术特点是什么? HPC系统目前主流处理器是X86处理器,操作系统是linux系统(包括Intel、AMD、NEC、Power、PowerPC、Sparc等)、构建方式采用刀片系统,互联网络使用IB和10GE。 高性能计算HP
6、C集群中计算节点一般分3种: MPI节点、胖节点、GPU加速节点。双路节点称为瘦节点(MPI节点),双路以上称为胖节点;胖节点配置大容量内存;集群中胖节点的数量要根据实际应用需求而定。 GPU英文全称Graphic Processing Unit,中文翻译为图形处理器。在浮点运算、并行计算等部分计算方面,GPU可以提供数十倍乃至于上百倍于CPU的性能。目前GPU厂家只有三家NVIDIAGPU、AMD GPU和Intel Xeon PHI。可选择的GPU种类比较少。NVIDIA的GPU卡分图形卡和计算卡,图形卡有NVIDA K2000与K4000,计算卡K20X/K40M/K80。Intel的G
7、PU是Intel Xeon Phi系列,属于计算卡,主要产品有Phi 5110P、Phi 3210P、Phi 7120P、Phi 31S1P。AMD的GPU是图形和计算合一,主要产品有W5000、W9100、S7000、S9000、S10000。高性能计算的性能指标怎样衡量? CPU的性能计算公式: 单节点性能=处理器主频*核数*单节点CPU数量*单周期指令数。单周期指令数=8(E5-2600/E5-2600 v2/E7-4800 v2)或16(E5-2600 v3);节点数量=峰值浮点性能需求/单节点性能。 时延(内存和磁盘访问延时)是计算的另一个性能衡量指标,在HPC系统中,一般时延要求如
8、下:一个MFlops等于每秒一佰万(=106)次的浮点运算;一个GFlops等于每秒拾亿(=109)次的浮点运算;一个TFlops等于每秒一万亿(=1012)次的浮点运算,(1太拉);一个PFlops等于每秒一千万亿(=1015)次的浮点运算;一个EFlops等于每秒一佰京(=1018)次的浮点运算。测试工具Linpack HPC是什么? Linpack HPC是性能测试工具。LINPACK是线性系统软件包(Linear system package)的缩写,主要开始于1974年4月,美国Argonne国家实验室应用数学所主任Jim Pool,在一系列非正式的讨论会中评估,建立一套专门解线性系
9、统问题之数学软件的可能性。 业界还有其他多种测试基准,有的是基于实际的应用种类如TPC-C,有的是测试系统的某一部分的性能,如测试硬盘吞吐能力的IOmeter,测试内存带宽的stream。 至目前为止,Linpack还是广泛地应用于解各种数学和工程问题。也由于它高效率的运算,使得其它几种数学软件例如IMSL、MatLab纷纷加以引用来处理矩阵问题,所以足见其在科学计算上有举足轻重的地位。 Linpack现在在国际上已经成为最流行的用于测试高性能计算机系统浮点性能的Benchmark。通过利用高性能计算机,用高斯消元法求解N元一次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。双列直插式内
10、存(DIMM)有几种类型? 双列直插式内存(DIMM)包括UDIMM内存、RDIMM内存和LRDIMM内存三种DIMM内存可用类型。在处理较大型工作负载时,无缓冲DIMM( UDIMM )速度快、廉价但不稳定。寄存器式DIMM( RDIMM )内存稳定、扩展性好、昂贵,而且对内存控制器的电气压力小。它们同样在许多传统服务器上使用。降载DIMM( LRDIMM )内存是寄存器式内存( RDIMM )的替代品,它们能提供高内存速度,降低服务器内存总线的负载,而且功耗更低。LRDIMM内存成本比RDIMM内存高非常多,但在高性能计算架构中十分常见。非易失双列直插式内存NVDIMM是什么? NVDIM
11、M由BBU(Battery Backed Up)DIMM演变而来。BBU采用后备电池以维持普通挥发性内存中的内容几小时之久。但是,电池含有重金属,废弃处置和对环境的污染,不符合绿色能源的要求。由超级电容作为动力源的NVDIMM应运而生。并且NVDIMM使用非挥发性的Flash存储介质来保存数据,数据能够保存的时间更长。主流高性能计算网络类型有哪些? InfiniBand架构是一种支持多并发链接的“转换线缆”技术,InfiniBand技术不是用于一般网络连接的,它的主要设计目的是针对服务器端的连接问题的。因此,InfiniBand技术将会被应用于服务器与服务器(比如复制,分布式工作等),服务器和
12、存储设备(比如SAN和直接存储附件)以及服务器和网络之间(比如LAN,WANs和互联网)的通信。高性能计算HPC系统为什么要使用IB互联?主要原因是IB协议栈简单,处理效率高,管理简单,对RDMA支持好,功耗低,时延低。 目前只有Mexllaon、Intel、Qlogic提供IB产品,Mexllaon是主要玩家,处于主导地位, IB目前支持FDR和QDR、EDR。 Host Channel Adapters (HCA)是IB连接的设备终结点,提供传输功能和Verb接口;Target Channel Adapters (TCA)是HCA的子集,基本上用于存储。 RDMA(Remote Direc
13、t Memory Access)技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把数据直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,实现Zero Copy。高性能计算的灵魂并行文件系统 TOP500 HPC系统中存储主要使用分布式文件系统,分布式文件系统(Distributed File System)可以有效解决数据的存储和管理难题: 将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时
14、,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。 分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。当前主流的分布式文件系统包括:Lustre、Hadoop、MogileFS、FreeNAS、FastDFS、NFS、OpenAFS、MooseFS、pNFS、以及GoogleFS等,其中Lustre、GPFS是HPC最主流的行业发展趋势。HPC计算架构演进 HPC系统实际上就是一个并行计算系统,很多初学者刚接触并行计算的时候会对MPI、OpenMPI和OpenMP产生非常大的疑惑,主要原
15、因是对这几个概念本身理解的不清晰以及这几个缩写的字母确实是如此的近似。下面先通过一张图来看看MPI、OpenMPI和OpenMP的区别。 MPI(Message Passing Interface)是信息传递接口,是独立于语言的通信协议(标准),是一个库。MPI的实现有MPICH、MPI-1、MPI-2、OpenMPI、IntelMPI、platformMPI等等,OpenMPI(open Message Passing Interface)是MPI的一种实现,也是一种库项目。 OpenMP(Open Multiprocessing)是一种应用程序界面(即Application Program
16、 Interface),是一种并行的实现和方法,也可以认为是共享存储结构上的一种编程模型。 在当前的并行计算系统中,OpenMP和OpenMPI都是需要的(从上面的各自概念可以看出),OpenMP用于本地的并行计算(共享内存内存架构),支持目前所有平台上的程序共享内存式并行计算,它相当于是给出了一个让并行编程更加容易实现的模型,而OpenMPI则是用于机器之间的通信(分布式内存架构)。 从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构SMP(SymmetricMulti-Processor),非一致存储访问结构NUMA(Non-Uniform MemoryAccess),以
17、及海量并行处理结构MPP(Massive ParallelProcessing)。 它们的特征分别是共享存储型多处理机有两种模型,即均匀存储器存取(Uniform-Memory-Access,简称UMA)模型和非均匀存储器存取(Nonuniform-Memory-Access,简称NUMA)模型。而COMA和ccNUMA都是NUMA结构的改进。SMP (SymmetricMulti-Processor) SMP对称多处理系统内有许多紧耦合多处理器,在这样的系统中,所有的CPU共享全部资源,如总线,内存和I/O系统等,操作系统或管理数据库的复本只有一个,这种系统有一个最大的特点就是共享所有资源。
18、多个CPU之间没有区别,平等地访问内存、外设、一个操作系统。操作系统管理着一个队列,每个处理器依次处理队列中的进程。如果两个处理器同时请求访问一个资源(例如同一段内存地址),由硬件、软件的锁机制去解决资源争用问题,SMP服务器CPU利用率状态如下。 所谓对称多处理器结构,是指服务器中多个CPU对称工作,无主次或从属关系。各CPU共享相同的物理内存,每个CPU访问内存中的任何地址所需时间是相同的,因此SMP也被称为一致存储器访问结构(UMA:Uniform Memory Access)。对SMP服务器进行扩展的方式包括增加内存、使用更快的CPU、增加CPU、扩充I/O(槽口数与总线数)以及添加更
19、多的外部设备(通常是磁盘存储)。 SMP服务器的主要特征是共享,系统中所有资源(CPU、内存、I/O等)都是共享的。也正是由于这种特征,导致了SMP服务器的主要问题,那就是它的扩展能力非常有限。对于SMP服务器而言,每一个共享的环节都可能造成SMP服务器扩展时的瓶颈,而最受限制的则是内存。由于每个CPU必须通过相同的内存总线访问相同的内存资源,因此随着CPU数量的增加,内存访问冲突将迅速增加,最终会造成CPU资源的浪费。实验证明,SMP服务器CPU利用率最好的情况是2至4个CPU。NUMA(Non-UniformMemory Access) NUMA技术可以把几十个CPU(甚至上百个CPU)组
20、合在一个服务器内,弥补了SMP在扩展能力上的限制,NUMA服务器CPU模块结构如下。 NUMA服务器的基本特征是具有多个CPU模块,每个CPU模块由多个CPU(如4个)组成,并且具有独立的本地内存、I/O槽口等。由于其节点之间可以通过互联模块(如称为Crossbar Switch)进行连接和信息交互,因此每个CPU可以访问整个系统的内存(这是NUMA系统与MPP系统的重要差别)。显然,访问本地内存的速度将远远高于访问远地内存(系统内其它节点的内存)的速度,这也是非一致存储访问NUMA的由来。由于这个特点,为了更好地发挥系统性能,开发应用程序时需要尽量减少不同CPU模块之间的信息交互。 利用NU
21、MA技术,可以较好地解决原来SMP系统的扩展问题,在一个物理服务器内可以支持上百个CPU。 但NUMA技术同样有一定缺陷,由于访问远地内存的延时远远超过本地内存,因此当CPU数量增加时,系统性能无法线性增加。如HP公司发布Superdome服务器时,曾公布了它与HP其它UNIX服务器的相对性能值,结果发现,64路CPU的Superdome (NUMA结构)的相对性能值是20,而8路N4000(共享的SMP结构)的相对性能值是6.3。从这个结果可以看到,8倍数量的CPU换来的只是3倍性能的提升。MPP(MassiveParallel Processing) MPP和NUMA有所不同,MPP提供了
22、另外一种进行系统扩展的方式,它由多个SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户的角度来看是一个服务器系统。其基本特征是由多个SMP服务器(每个SMP服务器称节点)通过节点互联网络连接而成,每个节点只访问自己的本地资源(内存、存储等),是一种完全无共享(Share Nothing)结构,因而扩展能力最好,理论上其扩展无限制,目前的技术可实现512个节点互联,数千个CPU。 在MPP系统中,每个SMP节点也可以运行自己的操作系统、数据库等。但和NUMA不同的是,它不存在异地内存访问的问题。换言之,每个节点内的CPU不能访问另一个节点的内存。节点之间的信息交互是通过
23、节点互联网络实现的,这个过程一般称为数据重分配(Data Redistribution)。 但是MPP服务器需要一种复杂的机制来调度和平衡各个节点的负载和并行处理过程。目前一些基于MPP技术的服务器往往通过系统级软件(如数据库)来屏蔽这种复杂性。举例来说,Teradata就是基于MPP技术的一个关系数据库软件,基于此数据库来开发应用时,不管后台服务器由多少个节点组成,开发人员所面对的都是同一个数据库系统,而不需要考虑如何调度其中某几个节点的负载。 MPP大规模并行处理系统是由许多松耦合的处理单元组成的,要注意的是这里指的是处理单元而不是处理器。每个单元内的CPU都有自己私有的资源,如总线,内存
24、,硬盘等。在每个单元内都有操作系统和管理数据库的实例复本。这种结构最大的特点在于不共享资源。NUMA、MPP和SMP之间性能的区别NUMA的节点互联机制是在同一个物理服务器内部实现的,当某个CPU需要进行远地内存访问时,它必须等待,这也是NUMA服务器无法实现CPU增加时性能线性扩展。MPP的节点互联机制是在不同的SMP服务器外部通过I/O实现的,每个节点只访问本地内存和存储,节点之间的信息交互与节点本身的处理是并行进行的。因此MPP在增加节点时性能基本上可以实现线性扩展。SMP所有的CPU资源是共享的,因此完全实现线性扩展。MPP、SMP和NUMA应用的区别 NUMA架构可以在一个物理服务器
25、内集成许多CPU,使系统具有较高的事务处理能力,由于远地内存访问时延远长于本地内存访问,因此需要尽量减少不同CPU模块之间的数据交互。显然,NUMA架构更适用于OLTP事务处理环境,当用于数据仓库环境时,由于大量复杂的数据处理必然导致大量的数据交互,将使CPU的利用率降低。 MPP系统不共享资源,因此对它而言,资源比SMP要多,当需要处理的事务达到一定规模时,MPP的效率要比SMP好。 由于MPP系统因为要在不同处理单元之间传送信息,在通讯时间少的时候,那MPP系统可以充分发挥资源的优势,达到高效率。也就是说: 操作相互之间没有什么关系,处理单元之间需要进行的通信比较少,那采用MPP系统就要好
26、。因此,MPP系统在决策支持和数据挖掘方面显示了优势。 MPP系统因为要在不同处理单元之间传送信息,所以它的效率要比SMP要差一点。在通讯时间多的时候,那MPP系统可以充分发挥资源的优势。因此当前使用的OTLP程序中,用户访问一个中心数据库,如果采用SMP系统结构,它的效率要比采用MPP结构要快得多。HPC主要应用场景和软件 高性能计算集群应用主要按应用类型分为科学计算型集群、负载均衡型集群、高可用型集群、并行数据库型集群四类;按照应用需求对应的应用领域分为:计算密集型应用(Computing-intensive): 大型科学工程计算,数值模拟等。其应用领域为石油、气象、CAE、核能、制药、环
27、境监测分析、系统仿真等。数据密集型应用(Data-intensive): 数字图书馆,数据仓库,数据挖掘,计算可视化等;其应用领域:图书馆、银行、证券、税务、决策支持系统等。通信密集型应用(Network-intensive): 协同工作,网格计算,遥控和远程诊断等;其应用领域:网站、信息中心、搜索引擎、电信、流媒体等。 HPC高能能计算常用种应用领域主要分为:CAE仿真、动漫渲染、物理化学、石油勘探、生命科学、气象环境。CAE仿真软件主要有哪些? CAE(ComputerAided Engineering)用计算机辅助求解分析复杂工程和产品的结构力学性能,以及优化结构性能等。主要应用于航空航天、汽车、船舶、机械、建筑、电子等领域。 CAE主要处理流程大致为: 几何建模、划分网格、指定荷载和边界条件,提交给服务器进行分析,显示结果,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《密封件基础知识》课件
- 2024年贵州建设职业技术学院单招职业技能测试题库标准卷
- 单位管理制度集合大全人事管理十篇
- 单位管理制度汇编大全人事管理
- 单位管理制度合并汇编【人员管理】
- 单位管理制度呈现汇编职工管理篇十篇
- 单位管理制度呈现大全人员管理
- 《矿山劳动卫生》课件
- 《生活中的问题》课件
- 《安全防护栏标准》课件
- 外研版四年级英语下册(一年级起点)全册完整课件
- MF47万用表组装与检测教学教案
- 防止电力生产事故的-二十五项重点要求(2023版)
- 教研室主任岗位申请书
- 职业培训师的8堂私房课:修订升级版
- 改扩建工程施工图设计说明
- 壮族文化的灵魂广西花山岩画
- 概算实施方案
- 单片机英文资料+英文文献
- 中国古典文献学(全套)
- 内燃机车常见故障分析及处理1733
评论
0/150
提交评论