您的当前位置:首页正文

高性能计算系统设计方案

2023-02-14 来源:步旅网


高性能计算系统

方案设计

第1章 需求分析

1.1 高性能计算的和大规模数据处理的应用

高性能计算作为一种先进的科研手段,在国内的应用发展很快,得到了普遍的重视,近年来国家投入逐年加大。

高性能计算的应用条件已经成熟,表现在:

 价格相对低廉的高性能机群系统为高性能计算应用提供了物质基础;  高性能计算应用的技术门槛逐渐降低;

 国家鼓励相关单位做高性能计算的研究,相关投入不断加大;  很多高校的科研人员使用高性能计算手段,取得了很好的成果。

1.1.1 计算机架构

由于各学科高性能计算应用软件种类繁多,各种软件的应用特点也各不相同,对计算资源的需求存在差别,方案的设计需要充分考虑到实际应用的特点。

作为高性能计算基础设施的核心,现代高性能计算机的发展从20世纪70年代的向量计算机开始,也已经有了30年的发展历程。先后出现了向量机、多处理器并行向量机、MPP大规模并行处理机、SMP对称多处理机、DSM分布式共享存储计算机、Constellation星群系统、Cluster集群系统、混和系统等多种主体的架构,并分别在不同的时期占据着应用的主流。

开放的Cluster集群系统具有较多的优势,已经占据了目前高性能计算机的主流位置,在TOP500中占据了约80%的份额,在中小规模的高性能计算系统中更是占据统治地位。

1.1.2 软件的并行特点

按照应用程序是否为并行程序,可以分为如下几类:  串行程序

程序运行中只有一个进程或线程。串行程序不能利用高性能计算机多个处理器的并行特点,但可以同时运行程序的多个任务或算例。  共享内存并行程序

程序运行中可以有多个进程或多个线程,可以使用多个处理器进行并行计算。但这种并行程序不能在分布式内存的机群系统上运行。  消息传递并行程序

消息传递式并行程序可以在所有架构的计算机上运行,可以同时使用数目很多的处理器,以加速程序的运行。

在高性能集群系统上,各种程序都可以运行,可以使用集群系统的一个CPU,一个节点或多个节点。

2

1.1.3 互连网络

高性能计算系统的互连网络包括计算网络,数据IO网络,管理监控网络等。 对于并行程序来说,进程之间的通信量也有着显著差别。对于进程间通信量较小的程序来说,使用高性价比的千兆以太网就可以满足需求。

对于通信密集型的并行程序,多个进程之间数据交换频繁,对互连网络的性能要求很高,要求具有较高的带宽和很低的延迟,千兆以太网就不能很好满足要求,需要使用高速网络,如Infiniband,其单向带宽达到20Gb,延迟小于2微秒。

从2010 TOP500 排行榜中我们可以看到,千兆以太网和Infiniband网成为高性能计算机网络互联的主流,尤其从性能份额上来说,Infiniband网更是占据了绝大部分的份额,所以在国际主流的较大系统中,Infiniband计算网逐渐成为主流。 高性能网络的基本性能如下

3

Pingpong 带宽4000带宽(MB/s)3000200010000112.3771.921046.651467.14871.092697.152329.021Gb-eth(tcp)10Gb-eth(t10cpGb)-eth(iwarpDD)R-IB(rdmaDD)R-IB(IpoIB)QDR-IB(rdmaQD)R-IB(IpoIB) Pingpong 延时6047.5718.957.681.641.323.43延时(us)4020011.991Gb-eth(tcp)10Gb-eth(t10cpGb)-eth(iwarpDD)R-IB(rdmaDD)R-IB(IpoIB)QDR-IB(rdmaQD)R-IB(IpoIB) 我们可以看到,对于千兆以太网,带宽达到112MB/s,延时非常高,达到47.57us。而使用万兆以太网,虽然带宽和延时均有显著提高,但是与Infiniband网相比,还是有较大差距。万兆以太网使用TCP/IP协议,带宽达到770MB,延时约为12us,使用Iwarp的RDMA协议,性能有一定提升,带宽达到1046MB/s,延时达到7.68us。

对于Infiniband网,DDR和QDR的带宽有较大差距,但是延时比较接近,分别为1.6us 和1.3us。值得注意的是,QDR的IP over IB的性能有了大幅的提升。

1.1.4 操作系统

高性能计算的操作系统由最初的Unix操作系统为主,目前随着集群架构的逐渐广泛和Linux操作系统的逐渐成熟,Linux操作系统逐渐成为高性能计算机的主流,占到80%以上的市场份额。

4

为了使得集群系统有较好的兼容性,可以配置多种操作系统,如Linux(Redhat,Suse),Windows HPC server等.

第2章系统方案设计

2.1 方案总体设计

2.1.1 系统配置表

序号 1 1.1 名称 技术规格 硬件部分 计算子系统 标准19英寸5U机架式刀片机箱、可以支持14个计算刀刀片平台 TC4600 片; 台 5 1*管理模块,集成远程KVM和远程虚拟媒体; 2*千兆网络交换模块,提供6个RJ45千兆接口; 4*冗余热插拔散热模块; 4*2000W电源(3+1冗余热拔插); 2*Intel Xeon E5-2660 八核处器 (2.2GHz); CB60-G15计算刀片 带FDR计算刀片 8*8GB DDR3 1333MHz; 1*300G 2.5寸10000转SAS硬盘; 1*56Gb Infiniband 接口; 2*1000M以太网接口; 片 63 单位 数量

5

2U机架式; 2×Intel Xeon E5-2660 八核处器 (2.2GHz); 8×4GB DDR3 1333MHz; 管理/登录节点 曙光I620r-G10 1×300G 2.5寸10000转SAS硬盘; 1×56Gb Infiniband 接口; 2×1000M以太网接口; 1*冗余电源; 1*超薄DVD-RW; 1*上架导轨; 1.2 曙光存储系统 DS600-G10双控FC 1.3 存储子系统 3U ,16盘位,双控制器,4个8Gb/s FC+8个1Gb ISCSI主机通道,双锂电池,2*2GB Cache;冗余电源;含4个SFP(8Gb);Cache容量可升级为2*16GB;600G 15000转 6Gb SAS硬盘*16块 网络子系统 IB 交换机 FDR Infiniband交换机,36 端口 计算网络 Infiniband线缆 管理网络 MX MC2207310-005 56GB QSFP FDR 5M IB光缆 台 根 台 2 65 2 套 1 台 2 千兆交换机 48端口交换机,10/100/1000baseT铜接口 TLFW-1000T 龙芯防火墙标配6个千兆电口,1U机架。防火墙 集群安全模块 并发连接数120万,吞吐量1G,支持SSL VPN隧道数300配合Nikey智能密钥*10:曙光精心打造的USB Key解决方案,内置8位国产安全芯片,自主开发COS。硬件实现数字签名,私钥永不出Key。 台 1 1.4 曙光天潮标准机柜 机柜系统 曙光天潮标准电源箱 曙光智能机监控系统 柜监控系统 曙光集群监控中心 控制台 视频切换系统 2 操作系统 Linux 曙光集群控制台 SKVM CIM 机柜子系统 标配2个PDU、双侧门,无电源箱,无监控液晶触摸一体机 个 3 380V无监控电源箱 个 1 支持四台机柜温湿度远程监控 监控液晶触摸一体机,含LCD、触摸屏、监控主机各1套,安装在机柜前面板门上 1U手动伸缩控制台(曙光17”液晶显示器、鼠标、键盘、8口切换器等) SKVM IV Over IP(包含键盘鼠标) KVM节点控制模块 软件部分 SuSE Linux 企业版 套 1 套 1 套 台 个 1 1 7 套 1

6

GridView HPC版,支持系统部署、系统监控、集群管理、数据报表、统一告警、作业调度。 集群管理系统 曙光GridView 2.5 basic portal,包含serial 和 mpi,支持互动作业,作业故障自动切换重启,文件传输,查看修改文件操作。 Gridview ClusQuota 集群配额系统,可支持用户机时配额管理,充值计费管理,用户信用管理等功能。(可选) 曙光应用门户系统 Gridview Clusportal 系统 编译器 应用开发环境 数学库 MPI并行环境 GNU 编译器,支持C/C++ Fortran77/90 Intel 编译器,支持C/C++ Fortran MKL,BLAS、LAPACK、ScaLAPACK、FFTW OpenMPI(支持Infiniband和以太网的MPI环境) MPICH2(支持千兆以太网的MPI环境) 套 套 套 套 1 1 1 1 包含Fluent软件作业调度 套 1 套 1 套 65

2.1.2 系统拓扑图

7

2.1.3 系统方案说明

 计算系统CPU整体峰值性能达到17.7万亿次,可以扩展到500万亿次;  主要产品都采用了冗余设计(电源、风扇等),存储系统采用冗余设计,系统的可

靠性有较高保证;

 系统功耗(不含空调制冷系统)不超过为,150千瓦,电费可按此核算;  曙光公司将为用户提供完善的服务,包括安装调试、系统优化、用户培训等,这些都不单独收费,用户不必考虑这些方面的费用;

 曙光公司提供5年免费上门服务,极大降低了用户的运行维护费用;  曙光公司是领先的专业高性能机算机及方案提供商,拥有较多的成功案例,包括百万亿次超级机算机的成功案例,产品的可靠性和稳定性得到了充分验证。

2.1.4 需求相应分析

 先进性

本系统中,我们使用的刀片集群架构,为目前高性能发展的先进趋势。使用的最新一代Intel E5-2600处理器,为目前性能最高的X86处理器。使用的FDR网络,也为目前最为先进的网络技术。同时,系统中使用的并行文件系统、自动功耗管理系统和HPC应用WEB potal,均代表着HPC的先进的发展方向。  高可靠、高可用需求

系统采用刀片服务器,冗余电源,双控制器存储系统、高级别RAID系统,以及关键节点的HA双机,同时,高效管理监控系统也是保证系统高可靠、高可用的保证。  适合用户应用软件需求

用户应用软件众多,用户众多,对计算需求大,系统共配置101TFLOPS的计算能力。针对部分应用对节点间网络需求高,配置了高带宽,低延时的FDR Infiniband网。带宽达到56Gbps,延时小于1us。同时,海量计算时的IO并发读写量巨大,对存储的容量和性能需求惊人,系统配置了并行存储系统,能够实现所有存储的统一地址和并发读写。

 易使用需求

系统配置了HPC WEB Portal,可以有效降低用户使用难度。同时,针对系统和应用的专业培训,也能提高使用人员的使用水平。针对应用软件的安装调试也大大降低了

8

用户的使用难度。  可扩展性需求

集群的架构可以保证计算系统的良好扩展,同时,并行存储的架构也实现对存储系统的扩展。

 易管理维护需求

配置高效管理系统,支持监控、告警、管理、报表等多项功能,解决管理员的后顾之忧,同时,对管理员的培训和对系统的运维支持,也能有效提高系统的管理水平。  节能环保需求

配置了刀片系统和高效节能系统,支持空载节点的自动待机,能够有效降低能耗,帮助用户节省运维成本。

2.2 计算系统

2.2.1 刀片集群

系统共配置63个双路8核刀片服务器,主频2.2Ghz,双精度峰值接近17万亿次。

目前,开放的集群(Cluster)系统具有较多的优势,已经占据了目前高性能计算机的主流位置,在TOP500中占据了80%以上的份额,在中小规模的高性能计算系统中更是占据统治地位。刀片式集群系统在计算密度、功耗散热、运营成本、维护成本、可靠性等方面,都明显优于其它系统,且为系统的扩容升级提供了良好的基础,刀片系统的优势主要体现在以下几个方面。  计算密度更高

提高计算密度是刀片服务器发展的主要动力之一。对于大规模并行计算机来说,提高计算密度尤其重要,刀片式集群系统有效提高了计算密度。  机房要求降低

大规模高性能计算机将对机房空间提出较高的要求,并且要为系统的扩容升级留下空间。刀片式集群系统实现了较高的计算密度,并且有效降低了系统功耗,对系统空调等散热系统的要求也相对降低。  功耗散热降低

刀片服务器的功耗部件较少。刀片柜中的电源将由多个刀片共享,所以会使用高效率电

9

源,减小了系统功耗,同时产生的热量减少,减少了冷却系统的耗电量。

节能的设计体现在曙光刀片服务器的各个层面:

1)根据实时功耗确定工作电源个数,使电源工作在最佳效率曲线上。 2)修改计算刀片操作系统内核,实现节能 3)多计算刀片任务调整调度  布线简单

在机架式服务器构成的集群系统中,系统布线是一个很大的问题。系统的线缆可能包括高性能计算网络(Infiniband,以太网等)、数据网络、管理网络、监控网络、电源网络、KVM网络等,这些线缆需要连接到每一个计算单元。尤其是在高密度、计算单元数目又比较多的情况下,系统布线是令设计人员头疼的问题。

刀片式集群系统可以大大减少系统布线的数量。多个刀片服务器可以共用冗余电源,内置的交换机将高速网络(Infiniband等)、数据网络、管理网络、KVM网络集成在一起,只需要对刀片柜进行布线,刀片柜内部的计算刀片通过背板连接,无需布线。

根据计算,使用刀片式集群,可以节省85%以上的系统布线。  可靠性提高

曙光刀片服务器采用无源背板进行系统互连,与传统的线缆连接方式相比,把可靠性提高到了一个数量级以上。刀片系统采取模块化、冗余、热插拔设计,进一步提高了系统的可靠性。  管理方便

曙光刀片服务器管理监控高度集成:通过统一的监控界面,监控所有刀片资源,包括机箱电源、风扇、计算刀片、背板、交换机。管理系统整合目前两大监控技术,即IPMI以及KVM (Over IP),真正实现监视控制一体化。同时,为实现方便快捷的刀片服务器管理,通过优化的管理软硬件设计,改善可管理性,增强部署和可服务性,这些将降低总的所有权成本。

2.2.2 Intel E5-2600处理器性能优势

2012年3月,Intel Xeon 处理器E5-2600发布,E5-2600处理器相比上代双路服务器Xeon5600系列处理器在处理器架构上进行了重大调整,从而带来最高达到77%的性能提升。E5-2600相比上代5600处理器,在处理器核心数、流水线长度、内存带宽等多个方面都对做出了重大提升,所以导致了性能的巨大飞跃。

10

对于最能衡量高性能计算处理能力的spec cpu2006 fp性能,相比上一代处理器,最多高达77%的性能提升。

对于众多高性能计算应用,相比上代处理器,基本都超过50%以上的性能提升。

11

通过调整流水线的长度和增加CPU核心数,相比上代处理器,linpack性能最多超过100%的性能提升。

2.2.3 GPGPU计算节点

系统共配置4台GPGPU节点,该GPGPU节点配置4块NVDIA C2075 GPU卡,共提供单精度峰值16TFLOPS,双精度峰值8TFLOPS。

GPGPU计算是指利用图形卡来进行一般意义上的计算,而不是传统意义上的图形绘制。时至今日,GPU已发展成为一种高度并行化、多线程、多核的处理器,具有杰出的计算功率和极高的存储器带宽,如图所示。

12

CPU 和GPU的每秒浮点运算次数和存储器带宽

CPU 和GPU之间浮点功能之所以存在这样的差异,原因就在于GPU专为计算密集型、高度并行化的计算而设计,上图显示的正是这种情况,因而,GPU的设计能使更多晶体管用于数据处理,而非数据缓存和流控制,如图所示。

GPU中的更多晶体管用于数据处理

目前,已经有非常多的高性能应用完成了在GPU系统上的移植。

2.3网络系统

本方案的网络系统的设计从性能和可靠两个原则出发,采用2套网络。网络配置都考虑

13

了扩展余量,以便系统扩充。

网络方案设计充分考虑到了计算节点、存储节点、网络交换机的性能参数,在保证了系统稳定的前提下,使每台设备都能得到最大限度的利用。

2.3.1 千兆管理网络

配置1台高端千兆交换机,配合刀片机箱的管理模块,连成千兆管理网络。该交换机1U高,48个千兆端口,实现系统中所有节点的联通。千兆管理网络用于系统管理控制、系统监控、作业的递交、作业监控管理等方面的数据通讯。

2.3.2 Infiniband高速网

系统配置2台36端口 Infiniband FDR交换机,共同组成56GbpsFDR全线速网络。 单向56Gb的FDR Infiniband 网络相比,相比上代单向40Gb的QDR Infiniband 网络,性能得到了非常大的提升。这得益于三方面:

1 FDR 网络传输性能的提高,传输性能从QDR 的40Gb增加到FDR的56Gb。 2 FDR 网络编码效率的提升,编码效率从QDR 的 8/10 提高到 FDR 的 64/66。 3 PCI-E 3.0 编码效率的提升,编码效率从 PCI-E 2.0的 8/10 提高到 PCI-E 3.0的 128/130。

综合起来,QDR

网络由于编码效率的影响,带宽仅能达到

Bandwidth(QDR)=40Gbps*0.8*0.8/8=3.2GBps 而FDR的带宽可达到

Bandwidth(QDR)=56Gbps*(64/66)*(128/130)/8=6.6GBps 实际达到一倍以上的性能提升

14

对于网络密集型的高性能应用,FDR网络带来的性能提升也是非常明显,如下图所示的分子动力学应用NAMD,网络设备升级成FDR后,性能和扩展性都得到大幅提升。

15

2.4 存储系统

2.4.1高性能集群存储的需求特点

高性能计算集群在多个节点进行大规模并行计算的同时,需要进行大量文件及数据访问,对于系统的存储性能也提出非常高的要求,系统对存储要求主要归结为以下几点。

 全局文件的统一印象;

高性能集群相比其它应用而言,一个显著的特点为保证参与计算的所有节点具有统一的文件印象,也就是说,在任何一个节点、对某一个文件的读写、修改都会在其它节点生效,实现这一个功能,往往需要通过网络文件系统来实现,较为传统的为nfs系统,当前,由于集群规模的增大和访问性能的要求逐渐提高,并行文件系统在中大规模的高性能集群中使用越来越广泛。  全局文件的高速访问;

对于某些规模较大集群,或者某些高IO应用集群,由于对存储的访问量很大,对共享存储的访问性能也提出了较高要求。通常,我们需要通过提高磁盘阵列的性能、存储介质的性能、磁盘阵列访问接口的性能和IO节点的网络性能来提高存储的访问性能。对于更高IO需求的系统,可以通过并行存储系统来实现海量文件的并发读写。  存储系统的大容量;

由于高性能集群的规模巨大、数据处理能力惊人,高性能集群集中存储的容量也往往非常惊人,动辄达到数十TB,在某些对海量存储需求的系统中,存储往往达到上百

16

TB,甚至PB量级。  存储系统的高可靠性;

高性能集群承担着重要的科研任务,用户的数据具有极高的价值,同时,存储为全局系统,一旦出现故障,将导致整个系统的不可用。所以在存储系统中,无论IO节点、存储交换机、还是存储磁盘阵列,存储介质,每个环节都要尽可能的保证高可靠性和高可用性。可以通过冗余电源、高级别raid、双机热备、数据备份等各种手段保证存储系统的高可靠性。

2.4.2Parastor200并行存储系统

系统配置曙光Parastor200并行存储系统,裸容量达到192TB,可用容量96T。 曙光parastor200并行存储系统采用多副本、全冗余技术,支持单一存储命名空间、支持容量海量扩展,性能线性扩展,能够满足高性能计算中心海量文件并发读写需求。

 Parastor200并行存储技术特点

1. 集群化并行存储架构,数据分布存储,并发读写

2. 容量、性能线性增长,资源配额和性能质量保证,统一调度分配存储空间 3. 全局目录、单一系统映像,虚拟存储池,精简配置

4. 资产生命周期管理、带宽分配管理、记账计费,存储空间租赁与管理 5. 多企业、个人用户,多访问协议:CTDB、CIFS、FTP、RESP、SOAP

17

6. 多副本、全冗余架构,保证系统的可靠性与可用性  Parastor200 系统组成 1. 管理控制器

- 提供命令行和图形界面两种接口

- 内嵌并行存储管理系统,对软硬件进行一体化监控管理 2. 索引控制器

- 管理存储系统中所有元数据和命名空间 - 支持多副本,Active-Active运行方式 3. 数据控制器

- 提供数据存储空间,48TB裸容量 - 支持多副本容错,自动处理磁盘失效 4. 应用服务器

- 向上应用提供数据访问接口 - 支持多种Linux内核  Parastor 200体系架构

 Parastor200 统一管理界面

18

2.4.3DBstor 备份系统

系统配置DBstor 备份系统 20TB,保证系统关键数据的安全。DBstor 支持重复数据删除的SmartDisk技术,能有效备份数据的同时,大大节省存储空间。

曙光DBstor 备份系统具有如下特点:

1) 为关键数据提供高速、基于备份时间点的恢复

DBstor利用全线速的双千兆数据传输链路、高速磁盘控制器组并行接收/发送应用服务器的备份/恢复数据,保障数据备份/恢复的高效;在备份时,DBstor锁定应用服务器特定时间点的数据影像,并对影像做数据一致性对比校验,保证备份集的绝对可用性,从而最终保证DBstor基于时间点恢复的可靠性

2) 高速、高效、大容量的虚拟磁带库(VTL)功能

DBstor采用独特的磁盘介质管理方式,在文件系统之上创建虚拟磁带库(VTL),保证备份数据在逻辑上保持连续,避免频繁磁盘寻道带来的时间损耗,最大限度的利用磁盘组的并行读写能力,从而提高备份与恢复速度;为充分利用DBstor的硬件性能,用户可以根据实际情况定义虚拟磁带库的控制器数据、槽位、容量等,为支持更多客户端并行的备份提供策略保障;DBstor支持10TB和20TB两种VTL备份容量、满足绝大部分关键数据备份场合的空间需求

3) SmartDisk技术与重复数据删除技术的有机结合

DBstor支持VTL的同时,提供另外一种性价比更高的介质管理技术-SmartDisk,SmartDisk不等同于文件系统的磁盘管理技术,SmartDisk以网络服务的形式为DBstor提供

19

磁盘存储空间,并带有高效的去重功能,可以实现高达数倍的存储空间压缩比;这样既发挥磁盘存储的高性能和高可用,又充分利用了存储空间,可以大大节省客户的投资

4) 备份策略的自动化管理

备份自动化:用户可以根据自身的实际情况,定义自动执行的备份策略和日程表,备份策略一旦制定,就可以按照规定动作在无人职守的情况化,自动完成备份任务;

5) 报表生成自动化

每天的备份任务执行情况,DBstor会自动形成报表,详细描述所有备份任务的招待情况,系统管理员可以选择合适的方式进行通知,比如经由Windows信使, SNMP,自动发送至管理人员的邮箱等

6) 全面的Vmware集成

主机的虚拟化使用日益广泛,DBstor对典型的虚拟化环境Vmware提供了全方位的支持,用户既可以通过DBstor对应的client调用VCB来对虚拟机进行备份,也可以直接在虚拟机上对应用数据进行备份,给虚拟机的备份提供灵活的选择

7) 配置管理易用性

统一用户图形管理界面; 数据库备份不需要编辑脚本,纯图形操作;在做设备检测时,会自动发现和配置存储设备,并集中管理所有业务服务器进行全自动备份

8) 完善的介质控制功能

当备份数据过期时,备份介质会自动回收以释放存储空间;对全备份及增量备份会自动合并,以产生新的全备份,并可以按照策略对数据格式转换和加密

9) 独特的备份管理方式

可以根据备份任务多少灵活配置驱动器数及磁带数,DBstor支持自动数据库数据导出并自动进行备份;对备份介质和其中内容进行自动分组管理;根据需要对所备份的数据进行自动恢复,且可以实现对不同时间的备份内容有选择的进行恢复

10) 多应用及异构操作系统支持

DBstor支持多种操作系统客户端,对操作系统可以做到一键式的备份与恢复,支持Windows,linux,AIX等多平台客户端;对常见的数据库,如ORACLE,SYBASE,SQL SERVER等可实现在线的数据库备份,配合日志的备份,可以将数据库恢复到最新时间点

11) 优异的硬件性能

高性能的处理器和缓存以及RAID控制器,对于光纤SAN网络,单台服务器的备份效率可以达到200GB/小时;数据库RAC在线备份效率可以达到200GB/小时

20

2.5管理调度系统

2.5.1 管理/登陆节点

系统配置2台曙光天阔I620R-G双路服务器,作为管理/登陆节点,实现双机互备。 管理节点主要用于运行集群管理软件,Infiniband opensm服务,作业调度服务、时间同步服务器等系统级服务进程,管理节点对性能要求不高,但对可靠性要求很高。

登录节点主要用于用户程序编译、算例准备,文件上传下载,作业提交控制等用户交互作业。登录节点的负载根据用户的数量和操作有较大变化。由于登录节点可能存在用户的非法操作而导致系统宕机,所以只要预算允许的前提下,登录节点和管理节点分开的方案能提高整个系统的可靠性。

2.5.2 KVM系统

KVM系统用于视频切换,可以通过一套视频输出设备(显示器,键盘,鼠标)实现对集群中所有的节点的视频切换和键盘鼠标输入操作。

曙光SKVM over IP(Super Key Video Mouse)系统是大型机群管理、部署、维护和监控不可或缺的设备,与传统的集线器式的8口或16口的KVM切换器相比,基于CIM/USTS的曙光SKVM系统有着不可替代的优点。

SKVM采用普通网线传输,采用菊花链式连接,由CIM和USTS组成,每个USTS可以扩展999个节点,由于采用了信号转换技术管理员可以在300m外进行KVM信号的切换,极大的方便了管理员的工作,并且在这距离上无需专门的传输线,采用普通的网线即可。

为实现机群设备的监控管理,曙光SKVM系统, 可从单一控制台(键盘/屏幕/鼠标)操作管理多台服务器。单个USTS使用独创的通信技术, 控制多达999台服务器, 不需传统的KVM切换器及难以管理的电缆线,支持所有服务器管理高挑战性的需求。

21

2.5.3 GridView集群管理调度系统

构建一套大规模高性能集群系统涉及到三个层面的内容:最底层的是硬件平台,它是完成任务的最基础设施;其次是OS平台,包括节点机的操作系统以及集群操作系统;最后是应用环境平台,包括并行开发环境以及编译环境。高效率的集群系统需要几个层面的紧密耦合、协调工作。曙光TC4000的注重效率的设计思路贯穿到每一个细节,在每个层面上都做到性能最优。尤其是OS平台以及应用环境平台。

曙光GridView大型机监控管理系统继承曙光DCMM2、DCAS等监控管理产品的主要功能和技术特色,并增加多项优秀功能开发而成的机群监控管理系统产品。GridView提供统一的集中式监控平台,具备可扩展性、集成性、可靠性和易用性,提供对各种商用、自己研发的管理工具的集成接口,从而满足同时对各不同厂家大型机的环境、硬件、软件等各方面进行监控的需求。 集群监控功能列表 状态监测

 对服务器、网络设备、存储设备等各种设备的运行状态进行实时监测;

图 1.1 系统整体实时统计信息

 对各种应用程序的运行状态进行监测;

 对运行大型机的机房环境及设备运行环境进行实时监测;

22

图 1.2实时状态监测

拓扑显示

 支持机柜方式的物理拓扑方式,按设备实际位置和相应尺寸显示,使管理员对整个

图 1.3物理机柜视图

告警管理

 实时告警图形显示及列表查询;  历

23

图 1.4告警查询

 通

图 1.5告警分析

报表分析

Gridview有丰富的报表功能,这在很多同类的监控产品中是不多见的。  支持小时报、日报、月报、年报等多个时间段的报表生成;

 关联报表,可以把多个设备的指标在一个报表中生成并进行多设备对比分析;也可

以把一个设备的多个指标在一个报表中生成,从而进行多指标之间的关联分析;  报表可以导出成

Pdf

Exel

文件,方便用户查看。

24

图 1.6报表

接口规范

 采用标准接口,易于多套异构系统的整合和统一监控; 集群管理功能列表

 管理授权 — 负责管理过程的授权控制,只有将管理节点的公钥部署到被管理节

点,才能执行各种集群管理操作。

 用户管理 — 负责管理集群系统中的用户与组群,允许集群系统管理员查看集群系

统中用户与组的配置,并且可以完成对集群系统的用户和组的增加,删除,修改等功能。

 进程管理 — 显示集群中运行的进程信息,在选定的节点组上运行特定进程,以及

杀死特定进程,保存当前运行的进程信息等。

 服务管理 — 显示集群中运行的服务信息,在选定的节点组上启动、停止、禁用指

定的系统服务

 文件管理 — 集群由少到几个节点多到上百个节点组成,而管理集群中的文件则变

成相当复杂的任务。DCMS的集群文件浏览器Spreader是用于集群文件管理的工具,界面风格犹如微机Windows下Explorer,操作方便、直观。

 网络配置 —支持集群网络管理中最常见的几种工作:维护系统hosts表,以及设

置网络设备的IP地址。

 并行终端 — 可在多节点并发执行命令,并提供SSH终端对直接登陆至被管理节点

执行各种操作。

25

 关机管理 — 快速的对选定节点或整个集群进行关机/重启/开进操作。 集群用户和组管理

集群用户组管理器(User and Group Manager)是管理集群系统中的用户与组群的一个工具,负责完成集群系统的用户和组的管理工作,集群系统管理员可以通过它查看集群系统中用户与组的配置,以及完成对集群系统中的用户和组的增加,删除,修改等操作。

图2.1集群用户管理界面组成

进程管理

 显示所选服务节点上的进程信息,包括进程名,运行参数,进程依赖关系,CPU使

用率,运行时间,虚拟内存大小等重要参数,并且支持中文信息的显示。

 终止若干个节点上(可以是运行Linux或Windows 2000 系列操作系统的节点)的

某个进程。对于运行Linux操作系统的节点,还可以向进程发送特定的信号,包括Terminate, Hangup, Interrupt等常见的信号。

26

图 2.2进程列表 集群系统hosts表

hosts表最初的作用是提供从域名到IP地址的转换,其作用类似现在的DNS系统。它出现于internet发展的初期,当时连到internet上的机器并不多,每台机器都维护一个hosts文件以提供域名到IP地址的转换。随着internet的发展,联网机器的数目增多,域名IP的变化也越来越频繁,每台联网机器都维护一个hosts数据表的做法越来越不实际,于是就出现了DNS系统。

虽然在功能上DNS已经完全取代了hosts表,但hosts表仍然被广泛的使用,因为它提供一种方便的名称到IP的转换。如读者对hosts表的历史信息感兴趣可参考RFC952。

Linux及Unix系统和Windows系统都提供hosts表功能,虽然在单机上手工直接修改系统的hosts表并不麻烦,但是在集群环境中,特别是大型集群或异构集群,逐一修改维护集群中所有节点的hosts表是一件很繁重的工作。使用DCMS集群管理系统的hosts表管理模块可以很轻松的维护管理整个集群的hosts表。

27

图 2.3 Hosts表管理

IP管理

IP管理模块提供设置修改节点网络设备IP地址及其它参数的功能, IP管理模块的大部分功能都同时支持Linux(Unix)系统及Windows系统。通过IP管理模块,系统管理员能够很方便的修改集群系统中各个Linux节点的IP地址信息。

图 2.4 IP管理

集群文件浏览器

28

集群由少到几个节点多到上百个节点组成,而浏览集群中的文件则变成相当复杂的任务。集群文件浏览器是用于集群文件浏览的工具,它可在集群内完成文件目录的浏览,新建,修改文件目录名,删除以及编辑文本文件等功能。

集群并行命令

集群并行命令终端可同时对多个被管理节点执行相同的命令,并整理各节点执行结果返回至客户端,方便管理员对多个节点的并发管理,另外本系统还整合了通过SSH来登录被管理节点的客户端工具,管理员可直接登录至被管理节点,执行各种操作。

29

系统部署

集群系统的安装主要是指在各个结点上安装操作系统、文件系统、并行程序运行库、作业管理软件和系统管理软件等。它是集群系统投入应用的前提,所以集群系统的安装是一件非常重要的任务。

系统主要功能特色:

 采用P2P技术对多节点同时快速部署,极大提高工作效率;

 支持样板机模式,针对不同的节点分发不同的系统镜像,在一个机群内支持部署多种不

同的系统软件;

 采用B/S架构,安装后节点信息直接存储在管理系统的数据库中,方便管理配置。  安装过程中很少需要手动干预,唯一的干预是在部署的初始阶段根据提示为节点输入节

点名称。

 安装完成的系统最终的ip地址和主机名为用户安装时指定,能自动适应更大硬盘,各

节点的软硬件配置不必完全相同。

 支持多种Linux系统,如Redhat Linux, Turbo Linux, Debian GNU/Linux,SUSE等.  同时支持64位和32位cpu和操作系统

图3.1 集群部署

2.5.4 Gridview Clusportal 应用门户模块 ➢ 高性能集群用户的烦恼

1 作业脚本很难写,Linux命令很难学。

30

大部分的使用计算机的用户均习惯windows的封闭提问操作和图形界面的操作,对于基于Linux命令行操作和基于命令行操作的作业调度系统,往往难以习惯,导致用户常常感觉自己无法适应高性能计算作业的工作模式,需要长时间的培训和摸索才能逐渐掌握这一过程。

2为什么我的作业等了3天了,还在排队,别人的作业都算了好几回了?

由于用户往往无法正确的了解现有系统资源,自己可访问的权限和资源;而基于命令行的作业调度系统开放式操作又常常让用户无法准确的去根据自己可访问的资源去申请资源,导致用户在申请资源时常常申请错误,这样用户的作业就长时间处于排队状态了。 3为什么我的作业等了2天才开始算,可是只用10几秒就错误退出了?

由于命令行操作的开放式操作,导致用户往往在撰写作业脚本或者算例文件时,很容易出现一些细微的错误,导致很不容易排到开始计算,往往一开始就错误退出了。

➢ Clusportal 主要功能

 错误检查功能

 对所有的申请的资源会设置最大值,并检查配额,队列设置,用户设置等资

源限制

 对应用的输入文件进行检查  自动转化输入文件UNIX格式

31

 功能齐全,与其它产品无缝融合

 支持文件上传下载  可视化作业  文件格式转化  自动checkpoint/restart

.文件上传下载功能

可视化互动作业

32

 通用性高、操作简单

 一个portal页面开放接口众多,达到30个,可以满足用户的各种作业需求。  默认值设置合理,90%的作业,用户只需修改5个以内的选项。  Portal种类多,超过30个,几乎包含所有高性能应用,同时可定制。  具有2个基础版portal,可以适用于所有串行程序,多线程程序、MPI程序。  根据用户输入记忆,提高工作效率

 性能更高

 开启了进程绑定、共享内存通信等运行优化选项,提高作业运行效率。

 Clusportal 主要种类

 basic(基础) portal

包含serial 和 mpi,支持互动作业,作业故障自动切换重启,文件传输,查看修改文件操作。  CAE portal

包含Ansys,Fluent,Abiqus,CFX,Nastran,Fecko,James,Comsol共7个Portal。

 Qchem(量子化学) Portal

包含vasp,Gaussian,siesta,CPMD,abinit,PWSCF共5个Portal。

 MD(分子动力学) Portal

包含Namd,Gromacs,lammps,charmm,amber共5个portal。

 BIO(生命科学)Portal

包含mpiblast,dock共2个portal.

2.5.5 Gridview Clusquota 集群配额模块

产品概述

Sugon ClusQuota 1.2.0 集群计费业务系统,可实现计算资源的量化计费和用户配额制,对各种计算资源(CPU、内存、商业软件License等)进行有效的统筹、分析和调度。

Sugon ClusQuota 1.2.0 通过预充值和实时计费方式,集群管理员可及时掌握用户对计算资源的使用情况,并为外部计费和内部核算提供有力保证。

33

产品特色

➢ 灵活的用户配额制度

传统高性能集群的资源的分配方式比较粗放,用户缺乏合理的引导、约束机制,导致计算资源的分配不均衡。

ClusQuota 1.2.0采用统一的量化手段描述资源的数量,在高性能集群中引入配额策略,对用户的可用资源进行预分配和实时计费,并可灵活控制用户配额的有效期限,精确地记录和控制用户资源使用量,从而实现精细粒度的资源记账和配额统筹。 ➢ 直观的资源配额查询

ClusQuota 1.2.0的“余额查询”功能为集群用户提供了直观的配额信息,包括每个用户当前可用的机时配额,以及目前由于正运行的作业而冻结的配额数量。

ClusQuota 1.2.0可实现先充值、后使用(机时)的功能,在用户提交作业时即从计费系统中做预授权,作业结束后根据实际使用情况结算,有效避免超额占用机时。 ➢ 完善的账号管理功能

ClusQuota 1.2.0可以将多套集群都纳入进来作为一个整体管理,提供全局统一的用户配额策略。

ClusQuota 1.2.0提供完善的计费账号管理功能,可根据需要,自由设定每个计费账号所对应的集群用户,以及相应可访问的集群资源。

ClusQuota 1.2.0既可以实现一个集群用户对应一个计费账号,专项专用,也可以实现多个集群用户共同使用一个计费账号,适于多个研究组共享计算资源。 ➢ 详尽的作业统计功能

ClusQuota 1.2.0提供了详细的作业统计列表,包括每个作业的用户、所属集群、所属

34

队列、节点类型、并行规模、实际消费机时等信息。

集群管理员根据作业记录,可以对计算资源的使用情况实现全局的、综合的、动态的、精细粒度的统计,并通过分析找出影响系统性能的资源瓶颈。 ➢ 详细的充值明细记录

ClusQuota 1.2.0针对每个计费账号提供了详细的充值明细记录,任何一次充值操作均有据可查,方便集群管理员随时核对记录。 ➢ 详细的支出明细记录

ClusQuota 1.2.0针对每个计费账号提供了详细的支出明细记录,每一次作业计费均记录在案,为配额计费和内部核算提供有力保证。

ClusQuota 1.2.0使集群管理员对系统的整体运行状态一目了然,能够实时动态地跟踪、反映用户对高性能计算机资源的使用情况,并能及时实施资源使用控制策略。 ➢ 灵活多样的自定义费率

ClusQuota 1.2.0可灵活设置费率,针对不同的计算资源(节点、队列、CPU速度等)实现区别计费。

2.6 集群基础软件环境

2.6.1 编译环境

➢ GNU C/C++、GNU Fortran编译器

GNU CC(GNU Compiler Collection)是一个编译器套件,是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬件平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。它不仅能够编译C、Objective C和C++程序,而且还能编译Fortran、Pascal等语言写的程序。单就编译器而言,它是目前公认编译最快、效率最高的编译器。

➢ Intel编译器

Intel 编译器(Intel Compiler)是由美国Intel公司开发,包括C/C++编译器和Fortran编译器适用于 Linux、Microsoft Windows 和 Mac OS X 操作系统。

Intel 编译器的C语言编译器为icc,C++编译器为icpc,Fortran编译器为ifort,支持Fortran 77,Fortran90/95标准.

35

Intel 编译器支持 IA-32、Intel 64、Itanium 2、Intel Atom 处理器和某些非 Intel 的兼容处理器(例如某些 AMD 处理器),开发人员应当检查系统需求。适用于 IA-32 和 Intel 64 的 Intel C++ 编译器的主要特点是自动向量化器,它能够生成 SSE、SSE2 和 SSE3 的 SIMD 指令及其适用于 Intel 无线 MMX 和 MMX 2 的嵌入式变种。

Intel 编译器 进一步支持 OpenMP 3.0 和适用于对称多处理的自动并行化。借助于 Cluster OpenMP 的附加能力,编译器还可为分布存储多处理根据 OpenMP 指示自动生成消息传递接口调用。

Intel 编译器可以对程序进行众多编译优化,最大限度地利用Intel处理器及其它一些处理器的优化指令,使得程序性能获得巨大的性能提升,随着处理器的不断更新,Intel编译器也不断的加入一些新的优化指令,目前Intel编译器的最新版本为12.

➢ PGI编译器

PGI 编译器(PGI Compiler)是由波兰PGI公司开发,包括C/C++编译器和Fortran编译器适用于 Linux和Microsoft Windows。

PGI 编译器的C语言编译器为pgcc,C++编译器为pgCC,Fortran77编译器为pgf77,Fortran90编译器为pgf90.

PGI 编译器支持 AMD处理器和Intel处理器,可程序可以进行各种级别的编译器优化,包括内联函数、循环展开、向量化以及SSE2、SSE3等指令优化。

PGI 编译器 进一步支持 OpenMP 3.0 和适用于对称多处理的自动并行化,支持按照OPENMP标准编写的程序的编译,满足单节点内程序的并行移植。

PGI编译器能够有效简化GPGPU程序的开发难度,其特有的accelerate模块能够使得GPGPU的程序的编写类似于OPENMP,大大简化GPGPU程序的移植难度。

➢ 图形开发环境GTK+和QT

Gtk+(GIMP ToolKit,GIMP工具包) Gtk+最初用于开发GIMP,是一个用于创造图形用户接口的图形库。Gtk+是基于LGPL授权的,因此可以用Gtk+开发开放源码软件的自由软件或商业的非自由的软件。Gtk+是在Gdk(GIMP Drawing Kit,GIMP绘图包)的基础上创建的。Gdk是对Xlib函数的包装。一般用GTK代表软件包和共享库,用Gtk+代表GTK的图形构件集。

Gtk+图形库使用一些称为“构件”的对象来创建GUI应用程序。它提供了窗口、按钮、框架、列表框、组合框、树、状态条等很多构件,可以构造丰富的用户界面。在Gtk+图形库构件基础上,又开发了一些新构件,这些构件都是Gtk+构件库的补充,它们提供了许多

36

Gtk+构件没有的功能。一般把这些构件称为Gnome构件。使用Gnome构件可以使开发界面一致 的应用程序变得更加容易。Gnome的应用程序开发结构核心是一套库,是由C语言编写的,对很多语言都提供了Gnome API接口,包括Ada、Scheme、Python、Perl、Tom、Eiffel、Dylan等。

Qt是一个完整的C++商业化图形程序开发框架 ,包含类库和跨平台国际化开发工具。Qt API和开发工具对所有支持平台都是一致的,从而可以进行独立于平台的程序开发和配置。它使得跨平台软件编程直观、简易和方便。QT被用在 KDE桌面这一包含大量自由软件集合的开发项目中。

2.6.2 并行环境

➢ MPI并行程序设计标准

MPI(Massage Passing Interface 消息传递接口):是由MPI论坛开发的消息传递函数库的标准规范,支持Fortran和C语言。MPI是目前应用最广泛的并行程序开发环境,具有移植性好、功能强大、效率高、实用性强等优点。它得到了几乎所有并行计算机厂商的支持,目前已成为并行计算编程事实上的标准。

 MPI一种新的库描述,不是一种语言。共有上百个函数调用接口,在Fortran和C

语言中可以直对这些函数进行调用。

 MPI是一种标准或规范的代表,而不是特指某一个对它的具体实现。  MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准。 目前MPI已在所有主流的并行机、IBM PC机、所有主要的Unix工作站、MS Windows得到实现。使用MPI作消息传递的C或Fortran并行程序可不加改变地运行在IBM PC、MS Windows、Unix工作站、以及各种并行机上。它是高性能大规模并行计算最可信赖平台,大量科研和工程软件(气象、石油、地震、空气动力学、核等)已移植到MPI平台。

MPI相对于PVM,具有功能强大、性能高、适应面广、使用方便、可扩展性好等优点。 MPI得到广泛的应用,目前最为流行的MPI的为mpich2,mvapich2,openmpi,intelmpi,lsfmpi,以及仅仅支持windows的msmpi等等。

1) OPENMPI

OpenMPI是一个开源的、免费的MPI实现,兼容MPI-1和MPI-2标准。OpenMPI由开源社区开发维护,支持大多数类型的HPC平台,并具有很高的性能。

OpenMPI的官方网站:http://www.open-mpi.org/

37

2) MPICH2

MPICH2是一个高性能、易移植的MPI标准的实现,由美国阿贡国家实验室(Argonne National Laboratory)开发。MPICH2支持MPI-1和MPI-2标准,为免费开源软件,最新版本为MPICH2-1.4.1p1。

官方网站:www.mcs.anl.gov/mpi/mpich

MPICH2不支持Infiniband设备RDMA协议通信,如用IB网络请参考MVAPICH2。 3) MVAPICH2

MVAPICH2是基于MPICH2的一个MPI拓展实现,提供了对IB,iWARP,PSM,uDAPL等新型通信设备和协议的支持。MVAPICH2由美国俄亥俄大学开发,官方网站为:http://mvapich.cse.ohio-state.edu/overview/mvapich2/

MVAPICH2最新版本为MVAPICH2 1.7RC1,基于MPICH2-1.4,支持IB通信和TCP/IP通信。

4) INTELMPI

IntelMPI是由Intel公司开发的MPI-2实现程序,基于MPICH2和MVAPICH2,主要特点在于对多种通信网络的支持,对Intel架构的处理器进行了专门的优化,具有很高的使用性能。

IntelMPI是商业软件,最新版本是Intel MPI 4.0,集成在Intel Cluster Studio及Intel Cluster Toolkit中。官方网站:http://www.intel.com/go/mpi

➢ OPENMP并行程序标准

OpenMp是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性注释(Compiler Directive)。

OpenMP支持的编程语言包括C语言、C++和Fortran;目前,主流的编译器,包括Sun Compiler,GNU Compiler、Intel Compiler和PGI Compiler及Microsoft的Visual studio等均支持OPENMP编程标准。

OpenMp提供了对并行算法的高层的抽象描述,程序员通过在源代码中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMp时,程序又可退化为通常的程序(一般为串行),代码仍然可以正常运作,只是不能利用多线程来加速程序执行。

OpenMp提供的这种对于并行描述的高层抽象降低了并行编程的难度和复杂度,这样程序员可以把更多的精力投入到并行算法本身,而非其具体实现细节。对基于数据分集的多线

38

程程序设计,OpenMP是一个很好的选择。同时,使用OpenMP也提供了更强的灵活性,可以较容易的适应不同的并行系统配置。线程粒度和负载平衡等是传统多线程程序设计中的难题,但在OpenMp中,OpenMp库从程序员手中接管了部分这两方面的工作。

但是,作为高层抽象,OpenMp并不适合需要复杂的线程间同步和互斥的场合。OpenMp的另一个缺点是不能在非共享内存系统(如计算机集群)上使用。在这样的系统上,MPI使用较多。

2.6.3 数学库

➢ BLAS

BLAS库,基本线性代数库(Basic Linear Algebra Subroutines),提供最基本的线性代数函数接口。BLAS分为三级:BLAS 1(Level 1)向量与向量操作、BLAS 2(Level 2):矩阵与向量操作、BLAS 3(Level 3):矩阵与矩阵操作。

➢ GOTO和ATLAS

GOTO和ATLAS都是针对特定平台性能调优的高性能BLAS库。

GOTO库是目前性能最优的BLAS库,支持Opteron、Xeon、Itanium、Power、Alpha等平台。

ATLAS库是自动优化线性代数库,它给用户提供源代码,通过编译自动性能调优。ATLAS库包括全部BLAS函数和一部分LAPACK函数,提供C和Fortran 77语言函数接口。

➢ LAPACK

LAPACK,即线性代数计算子程序包(Linear Algebra Package),它是建立在BLAS 1、BLAS 2和BLAS 3基础之上,使用Fortran 77语言开发,使用了线性代数中最新、最精确的算法,同时采用了将大型矩阵分解成小块矩阵的方法从而可以有效的使用存储空间。

➢ ScaLAPACK

ScaLAPACK,即可扩展线性代数库(Scalable LAPACK),是LAPACK的增强版本。是美国能源部ODE2000支持开发的20多个ACTS工具箱之一,由Oak Ridge国家实验室、加州大学Berkeley分校和Illinois大学等联合开发。它是分布式存储环境运行的线性代数库,主要为可扩放的、分布存储的并行计算机而设计的,支持稠密和带状矩阵的各类操作,如:乘法、转置、分解等等。

➢ FFTW

FFTW,即(the Fastest Fourier Transform in the West)库,是由MIT的Matteo Frigo

39

和Steven G. Johnson开发的,用于一维和多维实数或复数的离散傅里叶变换,可以针对各种不同的平台作高效率的FFT运算。

➢ MKL

MKL(Math Kernel Libary)由Intel公司开发,包含常用的各种数学库,提供统一的函数接口,这些数学库在高性能计算中有着非常广泛的应用。MKL主要包含如下优化的函数库。

BLAS库,基本线性代数库(Basic Linear Algebra Subroutines),提供最基本的线性代数函数接口。BLAS分为三级:BLAS 1(Level 1)向量与向量操作、BLAS 2(Level 2):矩阵与向量操作、BLAS 3(Level 3):矩阵与矩阵操作。

LAPACK,即线性代数计算子程序包(Linear Algebra Package),它是建立在BLAS 1、BLAS 2和BLAS 3基础之上,使用Fortran 77语言开发,使用了线性代数中最新、最精确的算法,同时采用了将大型矩阵分解成小块矩阵的方法从而可以有效的使用存储空间。

ScaLAPACK,即可扩展线性代数库(Scalable LAPACK),是LAPACK的增强版本。是美国能源部ODE2000支持开发的20多个ACTS工具箱之一,由Oak Ridge国家实验室、加州大学Berkeley分校和Illinois大学等联合开发。它是分布式存储环境运行的线性代数库,主要为可扩放的、分布存储的并行计算机而设计的,支持稠密和带状矩阵的各类操作,如:乘法、转置、分解等等。

FFTW库,即(the Fastest Fourier Transform in the West)库,是由MIT的Matteo Frigo和Steven G. Johnson开发的,用于一维和多维实数或复数的离散傅里叶变换,可以针对各种不同的平台作高效率的FFT运算。

MKL库针对各种处理器、尤其Intel处理器做了众多的优化,大量的基本函数通过汇编语言来实现,大幅提高库函数的执行效率,MKL的blas库的性能往往超过原始blas库性能的30%-100%。

MKL一般包含在Intel编译器的发行包里面,可以在安装Intel编译器的时候一起安装。 ➢ ACML

ACML,即AMD核心数学库(AMD Core Math Library),是由AMD公司与英国Numerical Algorithms Group(NAG)共同开发。ACML基于AMD Opteron和ALthon 64处理器,支持32bit和64bit的Windows平台、 32bit和64bit的Linux平台,提供一级、二级、三级BLAS以及LAPACK、FFT等函数,通过PGI编译器同时支持面向Linux开发的OpenMP和非OpenMP。ACML已经为现有的软件公司做了最大的预料的扩充和升级空间,而且并最优化了这个运算

40

数据库。开发者可以通过ACML完成最佳的处理器代码的编写,保证在X86架构下可以获得最大化的速度和最快的执行效能。

ACML这个高级的核心工具将进一步允许开发更大的存储空间,也可以使得现在有的为X86-64平台制作的软件在参考新的数学运算数据库算法后得到更强的性能提高。

41

因篇幅问题不能全部显示,请点此查看更多更全内容