高性能集群性能评测课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《高性能集群性能评测课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 性能 集群 评测 课件
- 资源描述:
-
1、 高性能集群性能评价曙光信息产业股份有限公司解决方案中心目录n1高性能集群性能评价概述n2集群性能评价 2.1计算性能测试linpack 2.2 NPB(NASA Parallel Benchmarks)测试 2.3 SPEC测试套件 2.64可靠性测试HPCC包n3集群网络性能评价n4IO性能测试n5内存带宽性能测试n6其它测试1高性能集群性能评价概述高性能计算架构变化高性能计算网络发展高性能集群操作系统份额千兆交换机千兆交换机局域网局域网InternetInternet路由器路由器防火墙防火墙远程控制远程控制内网内网外网外网以太网以太网交换机交换机控制台控制台本地本地KVMKVM以太网光纤
2、网Infiniband网KVM管理网登陆登陆/管理节点管理节点机房环境机房环境并行存储系统并行存储系统高速高速InifinibandInifiniband交换机交换机 刀片集群刀片集群GPGPUGPGPU节点节点 SMPSMP胖节点胖节点算例上传算例上传作业提交作业提交本地建模本地建模本地建模本地建模 作业运行作业运行 数据访问与存储数据访问与存储 系统管理与用户管理系统管理与用户管理高性能计算作业的工作流程系统软件层系统软件层基础设施层基础设施层ITIT核心硬件层核心硬件层存储系统计算系统网络系统操作系统作业调度软件、管理系统并行环境编译器、数学库、MPI网络网络PC机笔记本平板电脑瘦客户端
3、工作站应用软件层应用软件层生命科学CAE仿真功能节点空调系统物理化学气象海洋配电系统防雷系统机房装修机柜及KVM石油勘探动漫渲染高性能计算机系统架构高性能计算机系统架构高性能计算机中的关键技术高性能集群三要素无密码访问配通统一的系统印象统一的文件印象对于普通用户来说,所有节点看到的某一个文件都是相同的文件。通过nfs或者并行文件系统实现。通过NIS或同步用户信息来实现。网络全通 rsh或ssh无密码访问配通 CAE(CFD)石油勘探石油勘探气象环境气象环境海洋海洋图像渲染图像渲染物质的物理化物质的物理化学材料属性的学材料属性的科研工作中科研工作中基因科学、蛋基因科学、蛋白质科学的研白质科学的研
4、究以及新药的究以及新药的研发研发地震资料处理,地震资料处理,用于油气勘探用于油气勘探气象环境海洋气象环境海洋的数值预报的数值预报动画、电影、图像的高动画、电影、图像的高逼真效果制作逼真效果制作物理化学物理化学材料材料生命科学生命科学高性能计算在国内的六大应用领域计算机辅助工程,广计算机辅助工程,广泛应用于工业生产中泛应用于工业生产中其它:卫星图像处理、金融计算等其它:卫星图像处理、金融计算等物理化学材料:计算物理材料:vasp,cpmd,Material Studio。计算化学:gaussian、gamess,ADF。CAE领域:结构计算:ansys、abaques,nastran 流体计算:
5、fluent,CFX 电磁仿真:Fecko生命科学:生物信息学:MPIBLAST,BWA等 分子动力学:Namd,gromacs,lammps。药物设计:dock,autodock,DiscoveryStudio。主流高性能应用介绍n 气象海洋环境科学p 气象预报:WRF,MM5,Graphesp 海洋科学:romsn 石油勘探n Omega,cgg等n 动漫渲染n 3dmax,Maya等主流高性能应用介绍高性能应用典型特征串行程序串行程序 大多数用户的自编大多数用户的自编程序,但是由于无法程序,但是由于无法并行,无法利用多核并行,无法利用多核多节点的优势,所以多节点的优势,所以无法实现海量计
6、算。无法实现海量计算。多线程程序多线程程序 可以实现单节点内可以实现单节点内的并行,支持的并行,支持openmp,编程较为,编程较为简单,核心数太多效简单,核心数太多效率降低,同时无法实率降低,同时无法实现多节点大规模并行现多节点大规模并行消息传递并行程序消息传递并行程序MPI并行程序(目前并行程序(目前主流的高性能应用普主流的高性能应用普遍采用的并行方式,遍采用的并行方式,效率高,性能好)效率高,性能好)PVM并行程序并行程序任务级并行程序任务级并行程序高性能应用软件的编程模型衡量高性能系统性能的评价指标 -理论峰值(FLOPS)FLOPS(浮点运算每秒)1、如何计算理论峰值:峰值主频(GH
7、z)*总核心数*4(4代表每个时钟周期做4次浮点运算)例如:10个AMD双路12核刀片(CPU6174,主频2.2)总核心数10212240 峰值2.224042112GFLOPS2.1TFLOPS=2.1万亿次。GPU峰值:每C2050卡 双精度峰值0.515TFLOPS 单精度峰值1.03TFOPS 双精度峰值0.515*GPGPU卡数目(TFLOPS)单精度峰值1.03*GPGPU卡数目(TFLOPS)衡量高性能系统性能的评价指标 -实测峰值(FLOPS)HPL(Linpach)测试-对系统进行整体计算能力的评价Linapck测试:采用主元高斯消去法求解双精度稠密线性代数方 程组,结果按
8、每秒浮点运算次数(flops)表示。HPL:针对大规模并行计算系统的测试,其名称为High Performance Linpack(HPL),是第一个标准的公开版本并行Linpack测试软件包。用于TOP500与国内TOP100排名依据。使用者可以改变问题规模。有相当大的优化空间。衡量高性能系统性能的评价指标 -系统效率 系统效率=实测峰值/理论峰值 如何提高效率:(1)通过优化网络 (2)通过优化测试程序的编译与设置 (3)通过优化内存的配置与容量 (4)通过优化运行参数及系统参数!目前:一套通过Infiniband网络互连的集群,效率一般在70%以上。加速比定律 在并行计算系统,并行算法(
9、并行程序)的执行速度相对于串行算法(串行程序)加快的倍数,就是该并行算法(并行程序)的加速比;加速比是衡量“并行收益”的重要指标;Amdahl定律适用于固定计算规模的加速比性能描述,Gustafson定律适用于可扩展问题。Amdahl定律S=(WS+WP)/(WS+WP/p)=1/(1/p+f(1-1/p)显然,当p时,S=1/f,即对于固定规模的问题,并行系统所能达到的加速上限为1/f 一度引发了并行界部分人士的悲观情绪Gustafson定律S=(WS+pwp)/(WS+WP)=p-f(p-1)=f+p(1-f)并行计算是为了解决大规模并行问题,可并行部分的比例是可扩大的 加速比与处理器数成
10、斜率为(1-f)的线性关系 这样串行比例f就不再是程序扩展性的瓶颈,当然,f越低,斜率会越大,加速性能越好。1定量测试系统的性能指标2验证整个系统配置的正确性3给系统加压,考量系统的可靠性高性能集群性能评测的目的高性能集群综合性能测评1Linpack测试测试2NPB测试测试3SPEC测试测试4可靠性测试可靠性测试HPCC包包综合性能测评指标 HPL(Linpach)测试-对系统进行整体计算能力的评价Linapck测试:采用主元高斯消去法求解双精度稠密线性代数方 程组,结果按每秒浮点运算次数(flops)表示。HPL:针对大规模并行计算系统的测试,其名称为High Performance Lin
11、pack(HPL),是第一个标准的公开版本并行Linpack测试软件包,用于TOP500与国内TOP100排名依据。使用者可以改变问题规模。有相当大的优化空间。Linpack测试n 1 依赖环境:编译安装标准MPI程序,openmpi、intelmpi、mvapich2或mpich2均可 编译安装优化的blas库,一般建议对于Intel平台,使用MKL,对于AMD平台,使用Gotoblas。2 下载hpl-2.0.tar.gz源码包。3 编译linpack程序。a)tar-zxf hpl-2.0.tar.gz n b)cd hpl-2.0n c)cp setup/Make.Linux_ATHL
12、ON_FBLASMake.gcc_openmpi (gcc_openmpi只是一个名字,可以随便取)基于CPU的Linpack测试步骤n d)编辑Make.gcc_openmpin 修改第64行为ARCH=gcc_openmpi (和Make.icc_openmpi保持一致)n 修改第70行为TOPdir=/public/sourcecode/hpl-2.0 (此处目录为hpl-2.0所在的目录,根据具体情况修改)n 修改第84行为MPdir =(或者注释此行)n 修改第85行为MPinc =(或者注释此行)n 修改第86行为MPlib =(或者注释此行)n 修改第95行为LAdir =(或者
13、注释此行)n 如果blas选用MKL库,可以参考http:/ 修改第97行为LAlib =-Wl,-start-group$(MKLROOT)/lib/intel64/libmkl_intel_lp64.a$(MKLROOT)/lib/intel64/libmkl_sequential.a$(MKLROOT)/lib/intel64/libmkl_core.a-Wl,-end-group-lpthreadn 如果选用gotoblas库n 修改第97行为LAlib =/public/software/mathlib/goto2/libgoto2.an 修改第169行为CC=mpicc(如果选用i
14、ntelmpi,此处需要更改为mpiicc)基于CPU的Linpack测试步骤n intel编译器修改第171行为CCFLAGS=-O3-xHost-ip-funroll-loops n gnu 编译器修改第171行为CCFLAGS=-pipe-O3-fomit-frame-pointer-march=native-funroll-loops-ffast-mathn pgi编译器修改第171行为CCFLAGS=-Bstatic-V-fastsse-Munroll=n:4-Mipa=fast,inlinen 修改第174行为LINKER=mpicc,intelmpi修改为mpiiccn e)载入
15、环境变量,确认自己使用的编译器环境以及MPIn source/public/software/mpi/openmpi-1.4.3-gnu.shn f)make arch=gcc_openmpin g)cd bin/gcc_openmpin 此目录中的xhpl为编译成功的可执行程序,HPL.dat为数据文件基于CPU的Linpack测试步骤n 修改HPL.dat,一般需要修改3处n 1.问题规模的组数及大小,一般为1组:p 1#of problems sizes(N)p 40000 Nsp 占用内存=N*N*8字节,一般占用所有测试节点物理内存总和的75%左右性能较优p 比如N=40000,占用
16、物理内存=40000*40000*8 Byte=12800000000 Byte=11.92GBn 2.NB值,即矩阵分块大小,这个是经验值,一般设置为128、192、232p 2#of NBsp 128 192 NBsp这里表示运行2组,NB值分别为128和192运行linpackn 3、P和Q的设置(进程数目的设置),P和Q设置一般为1组p 1#of process grids(P x Q)p 4 Psp 4 Qsp 要求:p PQ进程数p P=1)p 1#of panels in recursionp 2 NDIVsp 1#of recursive panel fact.p 0 1 RF
17、ACTs(0=left,1=Crout,2=Right)这些值对最终的结果影响较小,但是也有少量的影响,但是这些结果对测试的时间(数据组)有较大的影响。运行linpackn 载入环境变量,确认你要用的mpin source/public/software/mpi/openmpi1.4.3-gnu.shn 考虑到可能测试时间比较长,使用nohup 到后台运行n mpirun-np 16-machinefile ma ./xhpl&out.log&n ma的格式为:n node1 slots=8n node2 slots=8n 详细运行方法参见4.3,运行OpenMPI程序。测试结果在out.lo
18、g 里查看运行HPLn 版本:1.4.3n tar zxvf openmpi-1.4.3.tar.gz n cd openmpi-1.4.3/n./configure-prefix=/public/software/mpi/openmpi1.4.3-gnu-without-psm-enable-mpirun-prefix-by-defaultn n make-j 8n make installn make distcleann n 添加环境变量脚本n vim/public/software/mpi/openmpi1.4.3-gnu.shn MPI_HOME=/public/software/m
19、pi/openmpi1.4.3-gnun export PATH=$MPI_HOME/bin:$PATHn export LD_LIBRARY_PATH=$MPI_HOME/lib:$LD_LIBRARY_PATHn export MANPATH=$MPI_HOME/share/man:$MANPATH附录:如何编译openmpin 版本:1.13n GotoBLAS2为优化的BLAS数学库,在版本2以后,可以将LAPACK库也集成其中,编译好的Gotoblas2包含了BLAS和LAPACK数学库,在LINPACK和常用物理化学软件中使用n tar xvzf GotoBLAS2-1.13.ta
20、r.gz n cp lapack-3.1.1.tgz GotoBLAS2/n cd GotoBLAS2n 修改Makefile.rule文件:n 第17行,CC=gccn 20行 FC=ifortn 27行 BINARY=64n 34行 USE_THREAD=0n maken mkdir-p/public/software/mathlib/goto2n cp libgoto2*.a /public/software/mathlib/goto2/附录:如何编译gotoblas库n 安装基本需求:p 1)Nvidia CUDA环境 搭建Nvidia CUDA运行环境,需要安装以下两个包:Nvidi
21、a GPU驱动;CUDA开发工具包cudaToolkit。可通过下载安装。p 2)编译器 系统必须安装了支持C语言和Fortran编译器。推荐采用在Intel编译器11.0版本及以上。p 3)并行环境 并行环境是指MPI。可采用Openmpi,Intelmpi,mvapich等,推荐使用openmpi,编译时采用intel编译器编译。p 4)BLAS库 BLAS库及基本线性代数库,采用BLAS库的性能对最终测得的Linpack性能有密切的关系。目前Nvidia GPU Linpack支持Intel MKL,其中MKL可采用intel 编译器中自带的MKL。基于GPU的Linpack测试n 编译
22、cuda HPLn CUDA版本的HPL可在dawning服务器下载。相比较于CPU版本HPL,CUDA HPL主要是把HPL程序中主dgemm(double-precision generic matrix-matrix muliplication)划分为两部分,分别交给CPU、GPU协同完成,这样就可以把整个计算系统的计算能力充分利用起来。n 在cuda HPl编译时主要修改两个Makefile文件:p 修改 Make.CUDA_pinned文件p 修改$hpl/src/cuda/Makefile基于GPU的Linpack测试n 在CUDA HPL文件夹中,提供了Makefile模板“Ma
23、ke.CUDA_pinned”,通过修改Make.CUDA_pinned文件可以指定linpack所使用编译器、库函数、编译选项等。n 主要修改的变量有:n ARCH:必须与文件名Make.中的一致n TOPDIR:当前所在的路径n MPdir:指明MPI所在目录n MPinc:指明MPI头文件目录n MPlib:指明MPI库文件目录n LAdir:BLAS库所在的目录n LAinc、LAlib:BLAS库头文件、库文件n CUDAinc:CUDA头文件目录n CUDAlib:CUDA库文件目录n CC:C语言编译器n CCFLAGS:C编译选项基于GPU的Linpack测试n 2)修改$hp
24、l/src/cuda/Makefilen 此文件中主要修改n MPInc 指定mpi头文件目录n MPICC 指定mpicc目录n 如下表所示:n n MPInc=/public/software/ompi142-intel/includen MPICC=/public/software/ompi142-intel/bin/mpiccn 基于GPU的Linpack测试n 编译n 在CUDA hpl目录下执行 make arch=CUDA_pinnedn 编译后在$cuda_hpl目录/bin/CUDA_pinned 下生成可执行文件xhpl编译n 修改HPL.dat 与基于CPU的linpac
25、k修改方法相同,主要修改N值(问题规模)、NB值(分块大小)、P和Q的值等。基于GPU的Linpack测试-运行n 在cuda linpack程序中每个GPU device对应一个CPU进程,所以在每个节点的进程数应该与GPU device相等,为了充分利用计算节点的计算能力,可以在每个CPU进程设置多个线程。n 在$cuda_hpl目录下修改run脚本,指定每个节点执行的进程数;在run_linpack中修改每个进程所包含的线程数。/public/software/ompi142-intel/bin/mpirun -mca btl tcp,self,sm-np 2-machinefile./
展开阅读全文