330 likes | 447 Views
低成本高性能计算的实现与测试. 昆明理工大学 云南省计算机技术应用重点实验室 谭伟良 2008-11-27. 实验室介绍. 昆明理工大学云南省计算机技术应用重点实验室是云南省在信息技术方向唯一的一所省级重点实验室。目前拥有教授级研究人员 19 人 , 中职 21 人 , 普通计算机人员 80 多名。多年来,在社会各界的大力支持下,云南省计算机技术应用重点实验室在承担、完成科研项目方面及实验室的开放运行、队伍建设、培养人才、实验室管理等方面,都取得了不少成绩,其科研的规模和水平均已具备较强的实力。
E N D
低成本高性能计算的实现与测试 昆明理工大学 云南省计算机技术应用重点实验室 谭伟良 2008-11-27
实验室介绍 • 昆明理工大学云南省计算机技术应用重点实验室是云南省在信息技术方向唯一的一所省级重点实验室。目前拥有教授级研究人员19人,中职21人,普通计算机人员80多名。多年来,在社会各界的大力支持下,云南省计算机技术应用重点实验室在承担、完成科研项目方面及实验室的开放运行、队伍建设、培养人才、实验室管理等方面,都取得了不少成绩,其科研的规模和水平均已具备较强的实力。 • 研究所拥有一个由21台曙光服务器构成的理论峰值每秒超过1万亿次浮点运算能力的高性能计算集群,2台Sun的小型机,4台Sun服务器,4台Dell的服务器,6台HP服务器,7台IBM服务器,台机40台,笔记本15台,拥有四个网络出口:校园网1G,网通150M,电信150M,联通150M。
概要 • 相关介绍 • 环境搭建 • 性能测试 • 心得体会
相关介绍 • 目前,HPC的应用范围越来越广,除了一些特殊的应用需要高性能计算外,一些如:数据挖掘应用、图像处理业务、基因测序比对处理等领域也越来越需要高性能计算。 • 科学计算领域 • 更快的速度 • 更高的精度 • 更大的范围 • 信息服务领域 • 更好地整合、提高可管理性 • 更高的吞吐率 • 更高的可靠性
面临的问题 • 但是,想要得到一个高性能解决方案,往往意味着要投入大量的金钱。 • 国内: 曙光4000A(10万亿次运算能力),市场价格约为1亿人民币。 曙光5000A (200万亿次运算能力),市场价格约为2亿人民币。 • 国外能达到相同计算规模的超级计算机,价格大约是国内的5~6倍。 • 一个小规模的高性能解决方案,也需要花上百万乃至上千万的成本投入。
低成本高性能计算的产生 • 一方面是有限的成本投入,一方面是对高性能计算的迫切需要。怎样在这两者之间取得一个平衡点? • 因此,构建一个低成本、高性能的解决方案由此产生。
环境搭建 • 硬件环境搭建 • 软件环境搭建 低成本考虑: 1)从硬件上降低成本 2)从软件上降低成本 3)从日常维护费用上降低成本 高性能考虑: 1)使用高频、多核CPU 2)使用优化的数学库 3)优化网络环境
硬件环境搭建 • 硬件选购: 1)计算节点: 对大量集群环境配置的经验性研究显示小型SMP平台最适合构建HPC集群,并且现在的多核技术已经达到平民化的程度,因此使用多路处理器的节点成为首选。
选用AMD处理器 • 在很多领域中,需要对大量的数据进行处理。 这种模式对每个节点上的性能及I/O吞吐量提出了很高要求。AMD皓龙处理器的直连架构和超传输总线(HyperTransport)技术,保证了低内存延时和缓存的一致性,避免了系统扩展带来的性能瓶颈,可实现处理器核心之间的高速数据交换,提升节点性能,满足了应用的需求。以及其相对低廉的价格,是搭建一个低成本解决方案的重要因素。(更适合多核单节点的情况)
2)网络一般在大中型集群中,往往会使用InfiniBand,Myrinet等高速网络。但是他们的价格都不菲,针对于小型的集群搭建,使用千兆网络已经能够满足小型集群的网络通讯的需要。2)网络一般在大中型集群中,往往会使用InfiniBand,Myrinet等高速网络。但是他们的价格都不菲,针对于小型的集群搭建,使用千兆网络已经能够满足小型集群的网络通讯的需要。
硬件材料清单 • 21台曙光A620r-F服务器 每台服务器的主要参数: 2个AMD Opteron 2352 2.1G CPU 4G内存 250G SATA2硬盘 600W 2U单电源 曙光A系列双路主板 • 一台华为千兆交换机 • 若干千兆网线
与同配置的其它服务器对比 • 与HP、SUN的服务器相比,使用曙光服务器更具有价格优势。 • 比曙光服务器高至少一倍的价格。
软件环境基本搭建(尽可能使用开源软件) 操作系统:RHEL4 U5 并行环境:MPI 1.2.7 作业管理:OpenPBS 2.3.16 监控软件:Ganglia 3.0.6 数学库:GotoBLAS、Atlas、ACML
考虑因素 • 考虑到成本与实际环境的因素,我们使用开源软件对我们这个集群进行管理和相关的应用。 • 因为开源软件自身的局限性,不可能提供很好的集群管理机制。因此在较大规模集群方案中,如果还是使用开源的软件去对集群进行管理,日常的维护工作量就会明显增多。(建议使用专门的集群管理软件:CSM(Linux)、 SUN Cluster 3.0、 DCMM系统监控DCMS集群管理 )
软件 • 系统配置有标准的C、C++、Fortran和Java等主流编译器,将来还要在这基础上安装其它的并行编程环境,如PVM、HPF、OpenMP、串行程序自动并行化工具、并行调试器、并行程序监控工具和并行数学库函数。还可以安装一些针对与某些领域的应用软件,如Accelrys Material Studio材料计算软件等。
开发模式 • 支持串行程序、消息传递程序、SMP多线程程序、HPF数据并行程序、分布式共享虚存等多种编程模型。 • 根据所提供的编程环境,能够很快的进行并行程序的开发。
适用于VO的函数库以及软件 • 数学库:MKL、ACML、GotoBLAS、Atlas、BLAS、FFTW、IMSL 、Lapack 等 • 编程环境:MPICH(MPI)/PVM ,C、C++、Fortran77、Fortran90、 Fortran99等程序的编译器 • 可用软件:MM5大规模天气数值预报模拟软件等 • 其它:Matlab在多核及集群计算机上的并行计算工具箱3.3:Parallel Computing Toolbox 3.3
性能测试 • 测试软件:Linpack(hpl 1.0a) • 测试数学库:GotoBLAS 1.26、Atlas 3.6.0、MKL 10、ACML 4.0。
测试结果 • 根据曙光工程师曹振南先生在《如何做Linpack测试及性能优化》所提供的思路,进行了相关的测试。分别对单节点,双节点,四节点,八节点,全部节点进行了测试。 在单节点上,能达到75%的运算效率,但在多节点上,就达不到这个效率(如:网络因素)。 优化前:总体运算速度达到3000亿次,效率约为22%。 进一步优化:预计总体运算速度会达到7000亿次,效率约为50%
工作效率的提高 • 使用一台普通的计算机要进行40个小时的运算,理论上在本集群环境内可以缩短至1个小时。
测试结果(续) • 不同数学库:GotoBLAS>MKL>acml>Atlas • 不同的MPI:MPI 1 > MPI 2
因为我们是使用核心是Barceiona的AMD 四核处理器,在使用GotoBLAS数学库时,必须使用最新的1.26版本。 使用GotoBLAS数学库测试,在单节点上配置运行测试参数时,只需要配置如下:mpirun –np 1 xhpl。则会同时调用8个核心进行计算。而使用其它数学库,要让8核同时进行计算,则需要明确配置8进程,如: mpirun –np 8 xhpl 。 测试注意问题
相关数据对比 • 以单位成本上所能获取的运算速度作对比。 • 曙光4000A: 0.001亿次/秒/元 • 曙光5000A: 0.01亿次/秒/元 • 优化前:0.01亿次/秒/元 • 优化后:0.02亿次/秒/元
优点 1.建设成本低廉,运算速度能达到中型计算的规模。 2.建设周期短。 3.结构易于变化,容易适应需求的改动。因此很容易通过扩展,升级,获得更好的性能。 4.目前通过Web进行监控,预计会通过web进行远程管理等工作。 5.维护工作量少,运行成本低。
心得 1.经过以上的对比,怎样去选择一个合理的方案去搭建一个低价格高性能的集群需要多方面的考虑。 2.如果确实需要达到比较大的运算速度,采用更好的网络环境,更多的运算节点和更快的cpu是最直接的方式。
3.单台内集成更多的运算核心会得到更好的效果,但是瓶颈在于CPU访问内存的带宽并不能随着CPU个数的增加而有效增长,所以怎样在价格和性能上做一个很好的平衡,将是必须考虑的问题。3.单台内集成更多的运算核心会得到更好的效果,但是瓶颈在于CPU访问内存的带宽并不能随着CPU个数的增加而有效增长,所以怎样在价格和性能上做一个很好的平衡,将是必须考虑的问题。 4.针对于一些高吞吐量的运算来说,I/O瓶颈的也是一个必须面对的问题。
5.尤其在VO领域中,在数据的分析、存储、图像的处理等工作上对计算提出了很高的要求,因此这样的集群计算环境更适用于这种研究的需要。5.尤其在VO领域中,在数据的分析、存储、图像的处理等工作上对计算提出了很高的要求,因此这样的集群计算环境更适用于这种研究的需要。 6.虽然有些方面还存在不足,但我们在短时间内,使用不到40万的情况下,能达到一个中型HPC系统的运算能力,已实现了预期的目标。