高性能计算集群

2024-10-02

高性能计算集群(精选8篇)

高性能计算集群 篇1

摘要:目前高性能计算机集群的作业提交和运行状况反馈大多是基于linux系统的命令行方式,该种操作需要操作人员对Linux系统和高性能计算机集群命令有一定的了解。对非计算机专业人员而说,使用高性能计算机集群非常不方便。基于这一现状设计了一个基于Web提交的高性能计算机集群作业调度系统,系统主要有作业提交、作业查询、用户信息修改查询和记录操作等功能。Web前端通过Http协议将用户请求和数据传输到后台服务器,后台服务器通过过滤器拦截提取分析用户请求,根据用户请求通过ssh安全协议将文件提交到作业调度系统,执行命令。实现了用户通过图形界面友好方便地使用作业调度系统。

关键词:计算机集群,java web,作业调度系统,ssh协议,界面功能

1 背景

高性能计算技术目前已越来越广泛的用于科学计算、金融分析、气象预测等多个领域。人们对于大规模计算的需求急剧增加。由于高性能计算机的操作要求较高,需要用户对linux系统和作业调度系统有一定的了解,并熟练掌握作业调度系统的命令。这对于非计算机专业的使用人员来说并不友好:第一,他们需要的是对高性能计算机集群的操作,对学习linux系统和集群命令并不感兴趣;第二,使用命令行来进行操作十分复杂,需要使用者对集群的架构十分清楚。

基于以上原因,本工作本着操作简化的原则,研制了一个基于WEB提交查询作业的作业调度系统,通过WEB界面上的图形组件直接与安装在集群上的作业调度系统进行通信。

2 关键技术

本工作使用动态网页技术标准JSP,涉及JAVA编程语言、ssh传输协议、SQL数据库,以及TORQUE高性能集群作业管理系统和Linux操作系统。

3 系统结构功能分析

3.1 系统的结构

系统用户分为普通用户和管理员两类:普通用户实现作业提交、作业查询、用户信息查询修改和操作记录查询功能;管理员在普通用户功能的基础上增加了控制用户和控制计算作业的功能。

系统结构图如图1。

4 模块分析

4.1 作业提交模块

Web前端通过html的file标签获取本地要提交的作业,通过http协议提交到服务器中,在获取本地文件的同时,还需在网页上填写或选择脚本信息,数据提交到web后台处理,在服务器本地中生成脚本文件。然后通过ssh协议,将获取到的作业和生成的脚本文件提交到远程作业调度系统中,再通过ssh协议向作业调度系统发出提交作业的命令,实现向作业调度系统提交作业的功能。如果脚本文件是windows/Dos环境下生成的,还需要传输格式转换命令,将脚本文件转换为unix格式。作业提交模块流程如图2所示。



4.2 作业查询模块

Web前端的作业查询是对数据库进行查询。用户要执行作业查询操作时,web后台向作业调度系统传输查询作业命令,并将查询结果重定向输入到一个文本文件中。将记录作业状态的文本文件下载到服务器中,后台对文本文件进行分析处理,提取出信息依次存入或更新到数据库中,最后在数据库中提取信息显示到jsp页面中。作业查询模块流程如图3所示。

4.3 登录注册模块

用户在前端输入登录信息提交,拦截器拦截分类提取信息,提交到aciton类中,action类连接数据库进行对比,核对成功则进入相应主界面,不成功则返回登录界面并反馈错误信息。本模块流程如图4。

4.4 其他模块

其他模块主要是对数据库进行操作,如图5所示。用户进入不同的页面,向后台发出相应请求。后台接收到请求后连接数据库,根据请求不同,生成不同的sql语句并执行,若有返回结果集,则显示到前台,若没有结果集,返回相应提示信息。为了提高性能,本工作采取了数据库连接池的技术。

5 实验环境及功能实现

5.1 实验环境

本实验环境在windows下通过myeclipse编写,数据库采用mySql,并用安装在centos7上的torque系统进行实验测试。

5.2 实验测试

1)作业提交

可实现提交作业并返回作业号,方便用户查询

2)作业查询

可查询到集群上的作业状态,可实现删除作业功能。

3)登录注册功能

验证登录注册如图8扎示。

4)其他功能

查询和修改数据库记录功能如图9。

5.3 实验总结及改进

本工作通过Java与远程作业调度系统进行交互,实现了高性能计算集群的作业提交、作业查询、删除作业功能。除了以上核心功能,还实现了系统基本的登录注册,修改查询等功能,满足用户的使用。

网站性能方面尚有所欠缺,缺少必要的安全性方面的保障。在后续阶段中逐步对系统进行优化修改。

6 结束语

调度系统在高性能计算中必不可少,由于现有的调度系统都是使用命令行来对集群进行操作,使得工作量大大的增加,也让许多非专业人士望而却步,导致高性能计算无法普遍的使用。本着简化操作的原则,我们在网页上做出了图形界面,实现了可视化操作,用户只需要登录网站就能直观的对集群进行操作,不用再像传统的调度系统输入命令行。这一调度系统的实现,大大减少了用户的工作量,最重要的是简化了用户的操作。经过软件测试,该调度系统能够实现作业的提交、删除与收回,能够动态可视的检测集群的使用情况。对于用户来说,这些基本功能已经能够满足他们的需求,用户不需要了解集群的架构也不需要学习专门的命令行,只需要能够使用计算即可。就用户需求来说,该调度系统已经实现了简洁可视化的操作。针对用户中的专业人士对于高性能计算的专业需求,在未来的工作中,我们将对系统进一步完善,满足多种用户的需求,广泛地应用于高性能计算中。

参考文献

[1]陈意云.编程语言JAVA介绍[D].合肥:中国科学技术大学网络与系统研究所,2010.

[2]张洋.高性能集群作业管理系统torque分析与应用实现[J].计算机工程与科学,2007,29(10):132-134.

[3]郭真.jsp程序设计教程[M].北京:人民邮电出版社,2008.

[4]Michael Bowers.精通HTML与CSS设计模式[M].北京:人民邮电出版社,2008.

[5]陈冈.ANT和open SSH在Java Web数据安全传输中的应用[J].电脑开发与应用,2014(8):47-49.

[6]陈明.基于Open SSH实现安全传输的解决方案[J].计算机光盘软件与应用,2014(22):173-174.

[7]李洋.使用SSH实现Linux下的安全数据传输[D].北京:中科院计算所,2005.

[8]余永洪.用SSH技术远程管理Linux服务器[J].计算机与现代化,2007(7).

[9]李仕金.基于Linux环境下torque集群作业管理平台的研究和应用[J].云南大学学报:自然科学版,2011(S2).

粒子物理计算集群的搭建 篇2

关键词:高性能计算集群;PBS

集群(cluster)技术是指通过互联网络将计算机集合在一起,通过并行处理技术,根据一定规则把一个大的问题分解为小的子问题,在集群不同节点上共同完成计算,从而大大降低计算时间。集群可以分为3类:高可用性集群,负载均衡集群,高性能计算集群。高性能计算集群主要用于处理复杂的科学计算问题,应用在需要大规模科学计算的环境中。高能物理计算、生物计算等,性能集群上运行的应用程序一般使用并行算法,把一个大的普通问题根据一定的规则分解成许多小的子问题,集群内的不同节点上并行计算,从而大大提高计算速度。高能物理实验中,会产生大量的数据需要处理,非常依赖高性能计算集群的帮助。我们结合山东大学粒子物理的实验需要,组建了包含320核CPU和80TB存储能力计算集群。依靠PBS(Portable Batch System)经过测试,能够很好地满足现有粒子物理实验的需要。高性能计算集群的组成包含硬件系统、软件系统和网络环境三大部分。下面我们将分别介绍三大系统的搭建策略。

1 硬件系统的搭建

在本计算机集群中,每个节点(服务器)的作用不是完全一样的,按功能可以分为六类:分别是用户登录节点(Gateway Node)、核心管理节点(Center Management Node)、作业调度节点(PBS server Node)、作业提交节点(User Node)、计算节点(Compute Node)和存储节点(Storage Node)。如图所示:

用户登录节点(hostname:lxplus01):是集群的网关、计算集群的入口。外网用户首先远程登录Gateway Node,再由它登录到其他节点,这样能在物理层将外网和内网分隔开,保证集群系统的安全性;核心管理节点(hostname:CS):为计算机群提供基本的网络服务和管理功能,如DNS、NFS、NTP、DHCP、LDAP等等。本集群的核心节点同时提供安装集群的各种软件。包括操作系统、应用软件和管理脚本。核心管理节点是集群系统最关键的节点,所以我们对其做了硬盘冗余设置;作业调度节点(hostname:pbssrv):作业管理系统PBS(Portable Batch System)就安装在本节点上,通过PBS作业调度管理,可以对集群系统的资源进行有效的分配、监测和控制;登陆节点(hostname:sl01-sl03):是用户登录计算集群并提交作业的节点。用户远程登录slxx, 会被随机分配到sl01-sl03节点。这样可以提高用户提交作业的效率,也便于以后扩展计算资源;计算节点(hostname:cu101-cu116):是整个集群的计算节点,他的功能就是执行计算。存储节点(hostname:hepgdata/d1-d6):它是集群系统的数据存储器和数据服务器。存储节点的功能主要是存储并行程序中所需要的大量数据。本集群磁盘阵列在做完raid05之后,存储能力可以达到80TB。

以上对集群节点的划分并不是一成不变的。根据实际的需要,有时可以将管理节点、登录节点、调度节点放到同一个服务器上。一般而言,单台服务器承担的负载越多效率会越低,而服务器过多又会造成对资源的浪费。所以应该在搭建集群系统前,对所需的计算资源做好科学的规划。

2 软件系统的搭建

2.1 操作系统:操作系统的功能是对计算机硬件资源的管理、向用户提供编程接口和交互操作界面的软件、控制输入和输出设备、管理内存和配置文件系统等,同时操作系统支持多种高级语言和各种类型的应用程序。linux操作系统依靠其强大的功能和稳定性,在计算集群操作系统中占据着主导地位。本集群使用的是由费米国家加速器实验室和欧洲核子中心(CERN)等共同开发的scientific linux6.3操作系统。Scientific linux系统被广泛的应用于高能物理的科研和教育领域,能够很好兼容和支持高能物理常用的应用软件。在CS核心服务器安装系统和网络配置完成之后,利用CS服务器上NFS服务器功能,建立共享目录 /hep/sl-repo/6.3/x86_64/ ,linux安装程序就保存在此共享目录之下。其他所有服务器就可以通过NFS server提供的共享目录来安装系统。只需要制作一个USB Flash drive,并在安装时输入正确的安装路径boot: linux repo=nfs:172.16.52.252:/hep/sl-repo/6.3/x86_64/,其他方法与磁盘安装相同。此方法最大的好处在于能够同时批量的安装系统。

2.2 CS管理系统:CS核心服务器上配置有DNS、DHCP、LDAP、NTP服务器。他们共同承担着集群的管理和服务功能。CS服务器至少应配置两个网卡,一个接外网,实现DNS和NTP功能。另一个连接内网地址,通过局域网实现对集群的管理。

DNS(Domain Name System)服务器的查询流程:需要解析服务的Client先查看本机的 /etc/hosts;若无结果,则client查看本地的DNS缓存服务器。对于内网的节点,只需要在 /etc/hosts下添加IP和对应域名即可解析,对于需要连接外网的服务器需要在DNS /var/named 修改相应的A记录映射信息。

NTP(Network Time Protocol)服务器为集群提供时间同步服务。如果计算刀片间时间不同步,在实践中会出现丢失作业等错误。NTP server的配置文件是/etc/ntp.conf。用server参数设定上级时间服务器,语法为:server? IP地址或域名 [prefer] ;IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。我们将NTP server与210.72.145.44 中国国家授时中心服务器和1.cn.pool.ntp.org连接,提供NTP server的同步服务。而其他节点,通过内网定期与NTP server进行时间同步即可。

基于LDAP的用户管理:LDAP是轻量目录访问协议,英文全稱是Lightweight Directory Access Protocol。LDAP是实现被称为目录服务的信息服务,这种目录可以将储存在 /etc 下的group、passwd和shadow文件的信息存储到相关文件下。他就像一个电话簿一样存储用户的密码、用户组等信息。集群中有多台Linux服务器,如果每台服务器都有自己独立的用户名和密码,那么记忆和维护这些信息就非常困难。于是,我们通过利用LDAP,统一为所有的用户提供密码验证服务来解决这个问题。LDAP服务器的配置成功之后,可以实现在集群中任一节点登录,统一认证,统一管理。这种单点登录,统一认证的方式,减轻了工作量,同时也极大地保证了系统的安全性。

NFS(NetWork File System):在集群系统中,一些相同的软件需要安装在所有节点上,由于节点之间是协同工作的,节点间存在大量的数据共享,没有必要在每一个节点上重复安装这些相同的软件。此外,在执行并行作业的时候,要求每一个节点都能访问到相应的可执行文件,对这些可执行文件也需要做一个备份。NFS,即网络文件系统,是集群系统中解决上述问题的一个很有效方法。NFS 是一种在Linux 环境下通过网络共享文件的标准方式,这种机制是经过网络将远程主机上的分区以及目录挂载到本地系统,实现在网络平台上与其他人共享文件及目录。5在本集群中,CS核心管理节点作为NFS服务器,其他节点作为NFS的客户端挂载文件系统。比如我们将 /hep/home 挂载到每个节点的 /hep/home 目录下,这样每台节点都可以使用 /hep/home目录下的ROOT V5.3和GEANT等软件。在客户端配置NFS的时候,可以执行如下命令:vim /etc/fstab 并在/etc/fstab 文件中输入以下内容:IP:/hep /hep nfs bg,hard,intr,retry=600 0 0这样可以实现在启动时自动挂载NFS目录。

2.3 作业系统的构建:PBS最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。PBS目前包括OpenPBS, PBS Pro和Torque三个主要分支。本集群使用的是Torque。PBS组成分为:PBS_server服务器,PBS_sched调度器,PBS_mom执行器。6在管理节点(pbssrv)上安装pbs_server,所有节点上安装pbs_mom,所有计算节点(cu101-cu116)和提交节点(slxx)上安装PBS cleint。Server端配置成功之后,启动pbs_server; pbs_sched; pbs_mom,并把其写到/etc/rc.local里使其能开机自启动。PBS要正常工作,还需要通过qmgr命令创建队列等设置。最后在计算节点启动pbs_mom ,把pbs_mom写入/etc/rc.local。PBS作业系统的使用方法是通过将作业脚本提交到PBS服务器和适当的队列,由计算节点执行并返回结果。

3 网络系统的搭建

集群系统是多节点互联工作,所以必须通过互联网将节点连接在一起。粒子物理计算集群的网络建设是基于万兆核心交换机和千兆网线互联。计算刀片之间是通过机箱内部交换模块实现万兆互联。节点的网络配置,是通过DHCP服务器自动获取IP和DNS信息。DHCP服务器安装在CS上,可以在配置文件 /etc/dhcp/dhcpd.conf 设置自动分配指定的IP地址给节点,并且为了更好地管理IP地址,我们又在网关上对IP地址和MAC地址进行了绑定。集群的网络地址可以分为外网地址和内网地址。所以在Gateway server和CS上,需要至少有两个网卡,分别连接内网和外网。而集群内部的节点,只需配置内网地址即可。

4 总结

本文介绍了山东大学粒子物理计算集群的基本架构和搭建过程。在搭建过程中,解决了集群的系统监控、用户管理、作业程序的实现、并行化的效率以及高速网络实现等难点,同等计算能力下,节约了计算成本和管理难度。同时积累了建设和管理经验,为下一步集群的升级扩容创造了客观和主观条件。

参考文献:

[1]BUYYA R.高性能集群计算:结构与系统(第一卷)[M].北京:电子工业出版社,2001.6.

[2]葛慧娟.基于linux操作系统的DNS服务器配置[D].西安电子科技大学,2005.

[3]王嘉佳.基于目录服务的统一身份认证系统的研究与实现[D].北京交通大学, 2005.3.

[4]Callaghan, Brent NF S Illustrated [M]. Massachusetts: Addison - Wesley P ublishing Company, 1999.

[5]Troque Administrators Guide, Cluster Resources, Inc, 2008.

高性能计算集群 篇3

关键词:IBA,架构,集群

1、引言

随着计算技术和计算机技术的不断发展, 高性能计算目前已经成为解决复杂科学与工程问题十分有效的重要手段, 本文以福建省超级计算中心工程设计 (在高性能IBA架构上集群290个4路Intel Xeon E5440, 计算峰值13.58Tflops) 为例, 给出基于IBA架构的集群系统的设计和构建模式。

2、IBA架构 (InfiniBand Architecture)

2.1 IBA

InfiniBand是目前最适合高性能集群发展需求的互连架构, 采用RDMA和旁路核心技术, 具有高带宽、低延时的特点。IBA将计算网络和存储网络统一在一个系统域网之内, 支持最高达120Gb/s的单向传输带宽, 单端口的带宽甚至远高于目前的主流交换机的总带宽, IBA定义互联处理结点和I/O结点, 处理结点和I/O结点通过通道适配器连接到整个系统中。有两种类型的通道适配器:主机通道适配器和目标通道适配器, 主机通道适配器用于处理器结点如刀片服务器, 目标通道适配器用于I/O结点比如存储控制器, 每个通道适配器都不止一个端口, 可以连接多个交换机端口。

2.2 万兆以太网 (10GE)

万兆以太网 (10GE) 能够与10M/100M或千兆位以太网无缝地集成在一起, 使用IEEE 802.3以太网介质接入控制 (MAC) 协议、IEEE 802.3以太网帧格式和IEEE 802.3帧格式, 支持所有标准的第二层功能:802.1p、802.1Q、Ether Channel和生成树, 采用全双工, 没有固有的距离限制, 能够支持所有网络的上层服务, 包括在OSI七层模型的第二/三层或更高层次上运行的智能网络服务, 具有高可用性、多协议标记交换 (MPLS) 、服务器负载均衡 (SLB) 等特点。缺点是延迟大、服务质量控制不够好, 稳定性较差。

2.3 架构设计

在架构的选择上, 建议采用以IBA架构为主, 万兆网 (10GE) 架构为辅的互备方式, IBA用于计算数据传递, 10GE用于信令传递并作IBA备份, 充分结合InfiniBand网络和万兆以太网的优势, 确保节点稳定高效。

3、计算节点设计

3.1 集群节点

集群指采用并行计算将一个应用程序分割成多块可以并行执行的部分并指定到多个处理器上执行, 然后将结果重新组合, 返回给客户端, 就象由单一系统完成整个工作一样。典型的集群包括计算节点和I/O节点, 节点间通过高速内联机制组成一个安全的私有网络系统, 计算节点无须访问集群外部的机器, 集群外部也无须直接访问内部的计算节点。当某节点发生故障时, 节点上运行的应用程序将在另一节点服务器上被自动接管, 若应用程序发生故障时, 应用程序将被重新启动或被另一节点接管。

3.2胖节点与瘦节点

胖节点采用小型机或者大型机, 单台运算能力很强, 大多采用16颗以上的处理器, 操作系统专用。胖节点内部采用高速的CPU间直连技术, 而且专用的操作系统内部已实现并行技术, 因此胖节点的计算效率比较高, 但系统造价和升级昂贵、维护困难、能耗较大。

瘦节点采用标准商业微机, 造价相对低廉, 扩容简单;缺点是由于外部连接速度目前还无法和系统内部连接速度相比, 因此系统效率较胖节点方式低, 节点数量多, 管理难度增大。随着调优和互联技术的提高, 采用集群技术的计算节点效率越来越接近胖节点方式。

3.3计算节点设计

在计算节点的选择上, 建议兼顾了胖节点和瘦节点的特点, 配置组合胖瘦节点, 部分重要主节点采用胖节点方式, 通过IBA架构集群互联, 以更好的适应不同类型的计算需求。根据最近发布的一期TOP500排行榜, 超过80%的上榜系统都是瘦节点 (集群) 的, 在TOP500的前100名计算系统中, 瘦节点 (集群) 占据51%的份额, 大量信息并行处理机 (MPP) , 采用胖节点机方式, 占据47%的份额。瘦节点 (集群) 成为高性能计算节点的选择趋势。

4、操作系统设计

4.1 操作系统

操作系统以Windows平台、UNIX平台和开源的Linux平台三大类为主, Windows平台的普及性较好, 开发环境较友好, 但高性能运算基础较薄弱, 优化技术由于没有开放而比较困难, UNIX平台大多和专用硬件捆绑, 开放程度也较 (下转第116页) 差, Linux系统由于不仅具有UNIX平台的高效, 同时免费、开放的优点使大量的系统都在其上有深入的发展和研究。

4.2操作系统设计

在全球高性能计算TOP500的列表中可以明显感觉到Linux系统逐渐占据了主导地位, 2000年, TOP500中采用UNIX占65%, 而到2006年, TOP500中采用Linux却占到74%, 2007年TOP500中, 381台超级计算机采用Linux, 约占76.2%, 采用Linux操作系统作为高性能计算的平台的节点比例大幅增加, Linux操作系统是高性能计算的主流操作系统。建议采用Linux操作系统 (CentOS版) 为主, 兼顾部分应用采用的Windows平台。

5、结束语

本文提出以IBA架构为核心, 结合瘦胖节点和Linux系统的集群设计和构建方法, 满足了高性能、高性价比、稳定开放等用户需求, 有助于探索基于IBA架构的高性能集群计算环境工程建设的简易模式。

参考文献

[1]linux HPC Cluster Installations, IBM Redbooks, http://www.redbooks.ibm.com/.

[2]Cluster Computing White Paper, Mark Baker, University ofPortsmouth, UK.

高性能计算集群 篇4

1.1 集群系统基本概念

把多台同构或异构的计算机通过网络连接起来, 用于完成特定的任务的系统称为集群系统。集群系统中的计算机称为“节点”。因此, 也可以说, 集群系统是通过高性能网络所组成的节点的集合。

1.2 集群系统的特点

(1) 集群都是将普通PC、工作站或服务器通过某种方式连接起来构成的多机系统。

(2) 集群系统都具有良好的可用性。即它们都能够在集群的某部分资源出故障的情况下继续向用户提供持续的服务。几乎所有的典型集群都拥有灾难恢复功能。

(3) 集群系统有良好的可扩展性。只需很少的配置工作就可以方便地在集群中加入或删除工作节点。

(4) 典型的集群系统提供了良好的可管理性。管理人员通过简单的操作就可以对集群中的工作节点或控制节点进行配置工作。

(5) 集群系统一般都提供了负载平衡功能。负载平衡包括静态负载平衡和动态负载平衡, 为了最大程度地利用集群中的一切资源, 集群需要具有动态负载平衡功能, 它能够通过监视集群中的实际节点的负载情况动态地进行调度。

(6) 大部分集群系统都有一个主控机, 它能够对集群中的机器的运行状态进行监视, 而且能够根据各机器的负载轻重进行任务的调度。

1.3 集群系统的分类

通常情况下, 将集群分为两大类:高可用集群和高性能集群。

2 x CAT工具介绍

2.1 x CAT简介

x CAT (Extreme Cluster Administration Toolkit) 是一个可伸缩的Linux集群管理和配置工具, x CAT最先是为IBM x Series系列的Linux Cluster做的第三方软件, 但后来它没有发展成为一个产品, 而是成为包含一系列有用的脚本的软件包。使用者可以自己修改, 但是不能重新发布。

2.2 x CAT功能及特性

全自动化的安装:基于网络的, 无人看管的安装。远程管理和监视:远程电源管理和远程控制系统。软件管理:并行管理工具和高性能软件。

x CAT的特性:硬件管理和监控;支持IBM e Server x Serie系列服务器远程电源控制的高级系统管理特性;支持远程系统状态检测分析 (风扇速度, 温度, 电压等) ;远程详细检测系统状态设备型号和BIOS等;硬件事件日志记录;SNMP认证警报;软件管理;以及并行的Shell和其他工具同时运行在x CAT管理范围内的节点等。

3 x CAT工具部署安装

x CAT可以运行其上的系统有Redhat&Fedora Core、SUSE等Linux操作系统;IA64、PPC64等硬件架构。安装x CAT需要下载如下文件包:xcat-dist-core-x.x.x.tgz, xcat-dist-ibm-x.x.x.tgz, xcat-dist-doc-x.x.x.tgz和xcat-dist-oss.x.x.x.tgz。

默认方式下x CAT的安装目录为/opt, 用下列命令依次安装:

tar zxvf xcat-dist-core-x.x.x.tgz-C/opt

tar zxvf xcat-dist-ibm-x.x.x.tgz-C/opt

tar zxvf xcat-dist-doc-x.x.x.tgz-C/opt

tar zxvf xcat-dist-oss.x.x.x.tgz-C/opt

安装前需要做一些准备, 包括设置环境变量, 准备启动镜像, 启动NFS服务器, 以及修改¥XCATROOT/etc/目录以下的几个文件, 包括site.tab, nodelist.tab, notetype.tab, noderes.tab, mac.tab, postscripts.tab, postdeps.tab, nodehm.tab和passwd.tab。

具体的修改说明如下:

site.tab文件中注意几个要修改的地方, 主要用于描述master节点的一些必要属性和网络配置情况, 包括domain, dnssearch, nameservers, nets, forwarders, dnsallowq, mailhosts, master, homefs, localfs, snmpd, installdir, dynamicr, usernoders, usermaster, nisdomain, nismaster和subdhcpd。

nodelist.tab文件中主要定义node的名字, 组和组id。

nodetype.tab文件中主要定义每个node安装什么体系结构的系统。

noderes.tab文件用于节点安装时资源的描述。

nodehm.tab文件用于描述节点的硬件管理。

随后用root用户登录:

[root@master1~]#export XCATROOT=/opt/xcat

[root@master1~]#cd XCATROOT

[root@master1~]#./setupxcat

创建服务:开启DNS, 获取MAC地址, 开启DHCP, 配置终端服务。配置所有节点 (自动的或者手工的) :升级硬件, 配置硬件/COMS/BIOS使它从来不会暂停, 配置启动顺序, 开启处理器控制, 如果可以的话, 重新定义POST/BIOS的连续输出。最后是集群的安装:准备安装服务器, 准备自动安装的脚本, 设置节点, 重新启动并且开启无人看管的安装模式, 最终检查。

4 利用x CAT工具管理集群

利用x CAT工具, 系统管理人员可以很好地对集群系统进行管理和维护, 其提供的功能主要有以下两个方面。

4.1 硬件管理与监控

系统管理员可以通过rpower、rreset、rboot 3个命令对系统中的节点进行远程电源控制。x CAT还提供了远程资产管理命令, 包括对服务器的序列号、BIOS版本、硬件日志等信息的查询。

4.2 软件管理

x CAT提供了Remote Console的命令, 分别是rcons和wcons, 对远程系统进行监控, 这种监控是基于字符界面的。

x CAT还提供了大量的并行管理命令, 当我们需要对多个节点进行相同操作的时候, 就可以领用这些命令来完成, 这些命令包括psh、pping、prcp、psync、psysstat等。

5 结论

目前, IBM集群系统在生产实践当中已经开始使用, 在应用了x CAT工具后, 提高了系统的检查效率, 缩短了维护时间, 大大提高了工作效率, 保证了集群系统的高效、稳定运行。

摘要:本文介绍了集群系统的概念、特点和分类, 介绍了一种集群管理工具xCAT的安装部署, 通过IBM集群系统描述了xCAT工具在硬件管理、软件监控中的应用。在使用了xCAT工具后, 提高了系统的检查效率, 缩短了维护时间, 大大提高了工作效率, 保证了集群系统的高效、稳定运行。

关键词:集群系统,系统管理,xCAT,IBM集群

参考文献

高性能计算集群 篇5

_目围绕奧运苧气质望预拫需求, 研发多种集成预报技术手段-开发以大气物理所双向嵌套模式、国际著名的W0DEL3/CMAQ模式、CAMx模式为基础的空气质量多模式集成预振系统, 研发的该预报系统平台实施多重嵌套方案, 可实现, 亚、华北、京津冀、北京全域多层次的空气质量实时数值预p, 并可为北京绿色奧运提供髙质量的数值预报模型, 从而提髙空气质s蝻报) i痼率。研发数据对接于分析技术 (包括气象预报数据与污染预报对接污染实况的衷征技术以及预振系统的生成技术) 及自动分祈处理工此开发技术捋在囝内处于领先地位, 在国内第一次实现空气质.'翼多模式系统气象驱动模式和排放源处理的统一, 并自主开发嵌套网格模式及其相应接口程序。2.三维大气污染监测数据的模式同化技术I·研发集合Kalman滤波同化技术, 耦合并同化三维大气污染监测数_更新污染预报初始场, 耦合的数据集可包括高时空分辨率的大·号染场、风温场资料以及气溶胶水平和垂直方向的分布资料。研发套网格空气质量数值模式预报的集成技术该项目研发的空气质®多模式集成预报系统实施多重嵌套方案, 为北w绿色奥运提供高质·的数值预报模型, 提高空气质量预报准备率, 同时可实现从东亚、华北、京津冀、北杂全域多层次的空气质量实时数值预报。中国科学院北京国家技术转移中心

高性能计算集群 篇6

早在上世纪70年代, 计算机厂商和研究机构就开始研发各式各样的集群系统。由于主要应用于科学计算, 所以不为人所知。直到如今计算机网络的飞速发展和各种应用的逐渐开发, 集群系统才开始逐渐走进人们的视野。如今, 由于造价低廉, 性能优异, 便于管理, 编程方便, 可扩展性好等优势, 集群系统的应用变得越来越广泛。本文研究的主要课题是高性能计算集群, 超级计算机TOP500就是其中的代表。

1 高性能集群的构建

在Linux被应用来构造高性能集群之前, 典型高性能计算机主要由向量处理器实现。这些机器使用专用的硬件和软件, 良好的运算性能的代价是高昂的成本。Linux由于其开源和易于扩展的性能的特性促进了集群技术的快速发展。构造集群需要的不同模块很容易在Linux系统中找到免费和性能优异的实现。本文的集群构造方案是一个管理节点与一组同构或者异构的计算节点通过网络相连, 管理节点承担分配并行任务和提供外部管理接口的任务, 计算节点负责各自分配得到的并行计算任务以及和其它节点之间的数据交换, 可选的存储节点提供配置文件和处理数据的统一管理。集群系统的构造拓扑如图1所示, 集群模块如图2所示。

1.1 硬件构成

(1) 计算节点Linux构造的集群系统有一个重大的优点是对不同的硬件架构的兼容性。无论是同构还是异构的系统都可以用来建造集群, 只是管理和配置上要作对应的优化, 这一特性和Linux系统对不同计算机架构的广泛支持是一致的。为了致力于对集群系统能力的开发和优化, 降低配置过程的难度, 论文的研究过程采用同构的计算节点。

(2) 网络集群的软硬件资源主要应用在两部分, 计算和通信。不同进程的计算要通过通信网络来协调, 所以网络状态的好坏对计算节点的性能有重要的影响。可以供选取的方案有Gigabit交换机, 万兆网络, Infiniband等等。优化网络配置对于构造高性能计算机集群而言是一个很重要的研究环节。

1.2 软件模块

(1) 操作系统:Linux系统对不同计算机架构的良好支持保证了高性能集群的扩展能力和性价比。选取比较新版本的稳定的Linux系统版本。对于计算节点的系统管理可以采用PXE网络安装等方式, 提升安装和管理的效率。

(2) 节点间通信:通过建立节点间的无密码SSH访问实现节点间通信。

(3) 文件共享方案: NFS文件共享系统的引入方便并行程序或者待处理的数据文件的统一部署。NFS文件系统的方案是在某个统一的节点或者单独的文件服务器上配置各个节点都需要使用的并行程序, 配置文件和待处理数据等等, 然后将文件挂载到各个节点的相同路径。该方案便于统一管理, 对可执行程序或者配置文件的修改都可以在同一路径下一次性完成。各个计算节点之间的环境变量等配置文件都相同。

(4) 计算任务分配:MPI。

(5) 线性数学函数库BLAS。

2 集群性能验证

2.1 HPL介绍

HPL测试, 全称为高性能计算Linpack基准 (High Performance Computing Linpack Benchmark) 。 Linpack基准测试描述在求解计算密集型矩阵问题 Ax=b时的性能, 分为三个问题规模及相应的优化选项: 100×100问题, 1000×1000问题以及一个可扩展并行问题。HPL是广为科学界接受的高性能计算机的性能测试标准, 被用作于全球超级计算机TOP500的排名标准。

2.2 HPL理论基础

研究HPL基本原理有助于评价高性能计算中的计算, 通信以及额外开销的情况, 从而针对影响集群性能的不同方面做出修改和优化, 最终达到解决性能瓶颈, 提升运算性能的目的。

在解线性方程组的过程中, 为了避免小主元情况下计算机精度不足引起的求解误差, HPL采用列主元的LU分解法对线性方程组求解。选取问题规模为N, 将N×N+1阶的系数矩阵分割成为大小为NB×NB的子矩阵, 然后用循环的方式分布到PXQ的进程网格中。分块在行和列的方向同时进行, 每个进程处理一个局部存储的大约N/Q×N/Q大小的子块。HPL测试的目标结果是计算机系统的双精度浮点运算能力, 单位是GFLOPS。用高斯消元法求解线性方程组的计算时间复杂度是一定的, 约为:

undefined

用总的计算量除以记录下运行时间, 就可以得到集群系统的浮点预算能力的估计。

3 基于影响因子排序的HPL优化办法

决定高性能集群浮点运算能力的模块和参数有很多, 例如调用不同的BLAS库, 矩阵规模, 数据分块大小, 不同的消元法, 广播方式的不同都会改变HPL运行结果。以往的优化方式大多采用基于经验的穷举法。依据经验参数确定一个尽量靠近最优解的数值, 然后根据运行结果对参数做相应调整。由于平台架构的多样性, 以及高性能集群的模块复杂, 优化手段和参数繁多, 一直没有一个和平台无关的统一优化方式出现。而在大型集群上运行一次有HPL运算可能耗费数小时, 所以穷举的办法耗费时间巨大, 并不可能验证所有可能的组合。文中提出一种基于参数优先级排序的优化方法, 首先根据参数权重对参数的优先级进行排序, 按照该顺序逐一优化待定参数。在这个过程中, 基于原理性分析获得的经验同时也可以作为参考, 保证了该优化方法的开放性和效率。高性能集群浮点运算能力的在这里通过HPL运行结果表征, 影响该结果的因素包括底层代数运算库, 系数矩阵规模N, 分块大小NB, 处理器的二维网格参数P×Q等等。用R表示实测系统的浮点运算性能。为了表征某参数的不同取值对集群浮点运算性能的影响, 定义该参数的影响因子:

μ= (Rmax-Rmin) /Rmax*100%

根据该影响因子对参数进行排序, 然后按照逐一优化的办法选取最优值。

(1) 问题规模N:

这里的N也就是求解的线性方程组Ax=b的维数。N的取值需要综合考虑内存容量和运算存取比。大的矩阵规模会增大计算和通信以及存取数据的比例, 获得更好的性能, 但是如果矩阵规模过大, 超过物理内存的容量, 一旦开始使用缓存, 内存和磁盘的交换会急剧增加, 浮点运算性能就会相应下降。用公式undefined可以估算出最佳的N取值, 然后做相应的调整。实测集群浮点运算能力和问题规模N的关系如图3所示。由图可见, 系统的实测浮点运算能力初期随N的大小增大而增大, 当超过某个临界值之后, 系数矩阵规模的增大带来系统性能的下降。N对系统性能的影响超过μ= (196.2GFLOPS-54.7GFLOPS) /196.2GFLOPS=72.1%。

(2) 分块大小NB:

矩阵被分割成NB×NB大小的块循环分配到进程中去, 这里的NB就是指分块粒度。从数据分配的角度上来讲, 小的分块大小能优化进程间的负载平衡, 使CPU的利用集中在计算, 而不是等待或者是通信;从计算的角度来讲, 不同的数据块之间需要数据的交换, 所以小的分块会增加通信的开销, 同时, 小的分块并不能很好的发挥CPU的性能, 各个数据块之间的数据重用很少, 会导致整体性能下降。测试经验证明数据块的大小尽可能接近Cache行的大小, 既能发挥Cache性能, 也能减少Cache冲突。分块选取的原则是最大化计算和通信的比例。如果集群系统的计算性能优于网络通信能力, NB的选取可以较大;如果集群的网络通信能力较优, 可以适当的选取较小的NB。实测NB大小对系统性能影响如图4所示, 超过μ= (198.2GFLOPS-172.9GFLOPS) /198.2GFLOPS=12.8%。

(3) 处理器网格行列分布P×Q:

该组参数应参考集群的交互网络拓扑确定。对于较为简单的网络, 节点之间通过单根线联系, 则应该选择扁平的处理网格, 即1×4, 1×8, 2×8等形式。实测结果如图5所示, 处理器网格分布参数P×Q对集群浮点运算性能有超过μ= (218.3GFLOPS-97.3GFLOPS) /218.3GFLOPS=55%的影响。

(4) 消元参数组合包括PFACT, NBMIN, NDIV, RFACT。

Panel的LU分解基于矩阵相乘和递归, 把Panel分割成NDIV个子Panel。此处的Panel分割算法由RFACT指定。当前Panel的列数不大于NBMIN时, 递归停止。此时, HPL利用基于矩阵向量乘的分解操作, 分割算法由PFACT指定。尝试不同的参数组合的实测结果如图6所示。集群浮点运算能力在不同参数下有超过μ=0.5%的波动。

(5) 横向广播方式BCAST:

在算法的主要循环过程中, 将当前Panel的列沿着虚拟的环路拓扑进行广播, HPL提供不同的广播算法。广播算法对系统性能造成超过μ=5.43%的影响, 如图7所示。

(6) 横向通信深度Depth:

该深度为0意味当前Panel的更新完全完成之后, 下一Panel才开始分解。深度为1则表示下一Panel开始更新的同时开始分解, 然后当前Panel的更新才完成。深度为K则表示后续的K个Panel在被更新的时候立即开始分解。横向通信深度对集群性能造成超过μ=7.2%的影响, 如图8所示。

由上述分析和实践, 对影响系统HPL浮点运算参数性能进行优先级排序, 得到:

μN>μ网络分布>μNB>μdepth>μBCAST>μ消元参数组合

文中的实验环境采用4台2CPU的服务器作为计算节点, CPU核心数目为4, 主频为2.66GHz。集群理论浮点运算峰值为340.48GFLOPS。

在这一优化理论的指导下, 首先固定其他非优化参数, 对当前需要确定的参数进行测试训练, 根据优先级逐一确定各个参数的最优值。首先根据经验任意选取其它参数, 使用不同的N值进行测试, 锁定N值为74500, 此时系统性能达到172.9GFLOPS。进一步优化影响因子次之的处理器网格分布, 选取最优的2×16, 集群浮点运算能力的达到198.5GFLOPS。逐一优化其他参数之后, 得到最优浮点运算峰值224.6GFLOPS, 效率为理论值的66%。由此可以看到, 相对于传统的基于经验的穷举法, 这种基于不同参数影响因子排序的优化方法只需要测试尽量少的参数, 具有很好的效率。对于一次运行动辄需要若干小时的大规模参数而言, 尤其重要。而且该算法还具有一定的开放性, 以往的经验数据也可以得到有效的利用。若某个参数的经验数据已确定该参数的最佳取值, 只需要在本方法的基础上减少该参数的优化步骤。

4 结束语

本文提出并实现了一种并行计算集群搭建的方案, 采用国际通用的HPL标准进行浮点运算性能的测试。在优化集群高性能运算性能的方面, 对传统基于经验的穷举办法进行优化, 提出一种基于参数影响因子排序的优化方案, 找到优化参数的优化路径, 有效地减少了穷举法盲目试验的时间。此算法还具有一定的开放性, 以往的经验数据可以结合算法得到有效利用。由于条件限制, 并没有在超大规模集群上进行验证, 这是后续工作的研究方向。

摘要:提出并实现了一种并行计算集群搭建的方案, 采用国际通用的HPL标准进行浮点运算性能的测试。在优化集群高性能运算性能的方面, 对传统基于经验的穷举办法进行优化, 提出一种基于参数影响因子排序的优化方案, 有效地减少了穷举法盲目试验的时间。另外次算法还具有一定的开放性, 以往的经验数据可以得到有效利用。

关键词:Linux,高性能集群,HPL,浮点运算性能

参考文献

[1]Milind Kulkarni, Keshav Pingali.An Experimental Study of Self-Optimizing Dense Linear Algebra Software[J].Proceedings of TheIEEE, May 2008, 96 (5) .

[2]王晓英, 都志辉.基于HPL测试的集群系统性能分析与优化[J].计算机科学, 2005, 132 (11) .

[3]陈少虎, 张云泉, 等.BLAS库在多核处理器上的性能测试与分析[J].软件学报, December2010, 32.

[4]孟金涛, 刘涛, 冯圣中.Nehalem平台上的Linpack参数训练与调优[J].先进技术研究通报, 2009, 3 (8) .

[5]张文力, 陈明宇, 樊建平.HPL测试性能仿真与预测[J].计算机研究与发展, 2006, 43 (3) .

高性能计算集群 篇7

随着计算机技术的迅猛发展, PC集群计算机在军事、国防、气象等高性能运算领域发挥着越来越重要的作用。特别在石油勘探地震资料处理行业, 国内外著名的地球物理服务公司, 每年的PC集群节点数量都以数万基数增长。用户需求的快速增长, 又推动了高性能运算PC集群和系统各个关键部件的技术进步, 如节点的处理器从单核发展到双核、四核到十六核, 前端总线频率从667MHz发展到1666MHz, 内存容量从2GB、4GB发展到128GB、256GB, 存储系统光通道速度从2Gb发展到4Gb、8Gb;网络交换速度从100Mb、1000Mb到现在的10Gb以至40Gb。但是, 随着PC集群节点数量的增多、单个节点性能的提高以及存储容量的快速增长, 高性能运算PC集群的整体应用性能却并没有呈线性增长趋势, 大规模PC集群计算机难以发挥出高性能运算平台的技术优势, 还存在着较大的性能提升空间。

国内外该领域计算机专家, 面对目前日益增长的PC集群设备投资、运营成本与较低的资源利用率之间的矛盾, 都在进行积极的研究。虽然企业目前拥有的应用、定制化软件较多, 但是许多集群整体利用率不高, 造成很大的资源浪费和循环消耗。针对这些问题, 开展基于高性能运算PC集群综合优化技术的研究和探索, 可以有效提高集群资源利用率和投资回报, 降低总体成本和资源消耗。

1 高性能运算PC集群综合优化技术研究总体方案[1,2]

PC集群技术是针对高性能运算行业的各种实际应用设计制造的, 兼顾各行各业的技术特点, 能够保证每个行业的基础应用, 但是侧重点不突出, 尤其针对石油勘探行业地震资料处理的高性能、高速度、海量数据吞吐运算的要求, 厂家似乎考虑的并不多。产品采购时对于整套平台架构的方案建立, 一般只是参照同行业用户以往的应用经验或有关专家对技术的理解去实现;此外, 由众多服务器、存储、网络等硬件厂家产品集成融合的PC集群系统, 技术原理非常复杂, 与地震资料处理软件的匹配程度和并行化需求很难统一。因此集群在投产应用后通常还需要进行二次开发和性能优化, 针对应用软件的具体需求, 在整个硬件平台接口、操作系统等方面, 结合硬件产品技术特点, 收集、整理集群节点的CPU、内存、网络和磁盘I/O等性能数据, 定位影响作业运行效率的系统瓶颈, 全面给出系统中显著提升性能的所有可能性, 通过相应的硬件调整、配置优化和程序开发等技术手段, 全方位实现地震资料处理的最优化运行, 达到提升PC集群系统整体性能的目的。

根据PC集群在地震资料处理高性能运算领域应用的技术特点, PC集群性能优化技术主要基于硬件级和系统级进行研究和开发, 主要包括:网络交换性能优化, 节点配置升级, BIOS参数调优、网络吞吐调整, 系统服务优化等技术方案。

2 高性能运算PC集群综合优化技术研究方案的实施

2.1 BIOS参数调优[3]

针对PC集群系统BIOS的各种参数和选项进行仔细分析, 筛选出可能对系统运行性能有影响的参数测试调优, 包括:Adjacent Cache Line Prefetch (调整预取相邻缓存) 参数和Hardware Prefetcher (调整硬件预取) 参数等。其中Adjacent Cache Line Prefetch的参数取值由Enabled修改为Disabled, 该参数可以在处理器需要时自动地获取一个额外的64字节缓存线路。当处理器需要新缓存时, 该参数可以立即提供可用的缓存, 从而降低了缓存的延迟。选择Enabled, 处理器可以获取目前所请求的缓存线路和连续的缓存线路;选择Disabled, 处理器只可以获取目前所请求的缓存线路。将Hardware Prefetcher参数取值由Disabled修改为Enabled。通过该参数来控制是否从内存向二级缓存预取数据和指令。选择Enabled时, 可以通过内存向二级缓存预取数据和指令;选择Disabled时, 不能通过内存向二级缓存预取数据和指令。

通过BIOS参数的调优, 可降低系统对资源的不必要浪费, 在保证稳定性的前提下, 适当放宽系统性能指标参数。

2.2 系统服务定制[4]

PC集群各个节点 (包括:管理节点、I/O节点和计算节点) 在安装操作系统时, 通常以满足处理应用运行为前提, 进行定制化安装。根据实际需要, 除管理节点外, 将I/O节点和计算节点全部按字符模式 (runlevel 3) 为默认启动模式;限制虚拟控制台, 只保留一个虚拟终端, 以降低系统资源的消耗, 通过编辑/etc/inittab文件, 保留第一行“1:2345:respawn:/sbin/mingetty tty1”来实现。此外, 关闭系统不必要的服务和守护进程, 具体定制操作如表1所示。

2.3 网络交换性能优化

现有1套早期引进的IBM PC集群计算机, 包括123台IBM HS20计算节点, 1台管理节点和11台I/O节点, 通过1台Cisco4506千兆核心网络交换机实现节点之间互联。其中的123台计算节点, 分装在9个刀片中心中, 每个刀片中心安装14台计算节点。由于当时技术限制, 每个刀片中心背板只配置了1个网络模块, 集成4个千兆网络端口, 与Cisco4506网络交换机相连接, 即14台计算节点共享4个千兆的网络带宽, 每台计算节点的网络带宽约286Mb/s。

通过对IBM PC集群地震资料处理作业进行性能分析, 评估、定位影响系统运行性能的瓶颈, 发现在实际地震资料处理生产中, 有些并行作业常常会出现网络瓶颈和数据交换瓶颈, 从而影响了IBM PC集群的整体应用性能。对此, 本文制定了性能优化方案, 主要包括:

(1) 升级网络直通模块

针对影响IBM PC集群网络性能的部件进行了仔细分析和试验, 在确保刀片中心供电正常的情况下, 使用IBM公司新一代刀片中心的网络直通模块升级网络。该模块采用网络直通技术, 保证每个刀片中心连接到网络交换机的14台计算节点均为千兆线速, 即每台计算节点的网络理论带宽达到1000Mb/s, 提升了网络数据传输性能, 有效减少了网络瓶颈。

(2) 升级核心网络交换机[5]

随着IBM PC集群计算节点网络模块的升级, 原有Cisco4506核心网络交换机的端口密度和背板带宽已经无法满足需要。经过仔细研究和技术论证, 使用1台Foundry RX16万兆网络交换机进行网络升级, 网络共享带宽由原来的64GB升级到1140GB, 大大提升了网络背板带宽和数据传输速度, 提高了数据吞吐和交换能力。

2.4 节点配置升级

对于Omega、Geocluster等地震资料处理应用软件, 一些应用模块对运算节点的系统配置有特殊要求, 其中:运行Omega地震资料处理软件的叠前时间偏移模块时, 父节点需要配置较大的内存;运行Omega地震资料处理软件的分选、地表一致性振幅补偿、地表一致性反褶积等模块的节点, 则要求较大的内存和较大的内置磁盘;运行Geocluster地震资料处理软件的叠前时间偏移模块, 运行Geocluster地震资料处理软件的分选、地表一致性反褶积等模块的前端机节点、计算节点要求较大的内存及大容量内置磁盘;而且, 运行Geocluster地震资料处理软件的叠前深度偏移模块时, 计算节点对网络传输速度要求较高。因此, PC集群按照运行的处理软件和处理模块的实际需要, 对一些运算节点 (包括I/O节点、计算节点) 升级配置。主要包括:I/O节点内存升级, 计算节点内置磁盘升级, 计算节点内存升级等。

I/O节点和计算节点配置升级后, 大大提高了数据吞吐能力和运算能力, 特别对于大数据量的分选、地表一致性振幅补偿、地表一致性反褶积、叠前时间偏移等作业, 每次可以同时运行较大规模数据量的作业, 避免拆分过多的小作业, 提高了系统运行效率, 减少了作业运行时间。

2.5 SAN存储系统层级管理

根据地震资料处理系统的实际需要, 对现有的9套SAN架构存储系统和1套自动带库系统进行层级管理, 包括:一级在线存储、二级近线存储和三级离线存储。数据可以在不同存储设备之间灵活迁移, 在线完成, 对业务系统、网络、应用层和用户完全透明操作, 对系统性能无大影响。

在分级的过程当中, 首先要保证一级在线存储设备用于地震资料处理生产的核心业务支撑, 考虑到地震资料处理数据的大量吞吐和快速增长的需要, 在保证高速I/O通道的同时, 还要预留足够的存储空间和良好的扩展功能。因此, 将4套HP XP24000高端存储系统和2套HDS AMS1000存储系统 (容量为615TB) 作为一级在线存储设备, 所存储的数据时刻保持“在线”状态, 可随时在线读取, 满足计算平台对地震数据访问的速度要求。

二级近线存储设备, 以分担核心存储系统的压力, 满足核心系统能够实现快速备份、恢复的目的, 系统可以先从一级存储设备将不常用的数据迁移到速度较慢的二级存储, 或者存放所有除了一级存储设备上的关键业务以外的其他业务数据。将HP EVA6100、SUN STK-FLX280、IBM FASt T700等三套中、低端存储系统 (共约45TB) 作为二级近线存储。

三级离线存储设备, 通常使用磁带迁移归档一级在线存储和二级近线存储的地震数据。现将Quantum公司的Scalar i2000智能自动带库, 容量600TB, 作为三级离线存储。SAN存储系统层级管理如图1所示。

SAN存储系统通过层级管理, 使一级、二级在线、近线存储释放了较大的存储空间, 缓解了数据存储和读写的压力, 实现了地震数据自动分级转移部署、在线异构数据统一备份和恢复等功能, 大大提高了PC集群数据吞吐能力。

2.6 网络Bonding技术应用[6,7]

在PC集群中, I/O节点作为计算节点和存储系统之间的“桥梁”, 为计算节点提供数据传输通道。因此I/O节点的网络带宽, 对数据传输性能影响很大。通过Bonding和Trunk技术, 对I/O节点网卡进行绑定, 在操作系统层面优化网络配置文件, 在网络交换机上调整系统配置, 对单网卡、双网卡绑定、三网卡绑定、四网卡绑定分别进行了数据读写性能对比测试。按照性价比最优化方案, I/O节点选择了双千兆网卡绑定, 经实际测试表明, 双网卡绑定是单网卡性能的1.4倍左右, 大大提升了I/O节点的数据网络吞吐能力, 并且数据流通过两个网络端口, 实现了网络负载均衡。

3 结束语

针对高性能运算PC集群在地震资料处理领域的应用特点, 通过对集群的系统配置优化和脚本开发等技术手段, 研制了一套PC集群计算机性能优化综合技术, 大大提高了PC集群的整体运算性能和数据吞吐能力。这些技术已成功应用到地震资料处理生产和科研实践中, 并取得了较好的经济效益, 对于提高PC集群计算机设备的利用率和长效性、降低企业成本、增加生产能力起到了积极的作用, 为保证地震资料处理生产的高效运行奠定了坚实的基础。

摘要:随着PC集群技术在高性能运算地震资料处理领域的迅猛发展, 如何提高PC集群的整体应用性能, 成为业界普遍关注的技术难题。针对应用软件的具体需求, 收集、整理集群节点的性能数据, 定位影响作业运行效率的系统瓶颈, 通过参数优化、硬件升级、系统定制和脚本开发等技术手段, 全方位实现地震资料处理系统的最优化运行, 从而达到提升PC集群系统整体性能的目的, 同时也为高性能运算PC集群的性能优化提供了可参考和借鉴的解决方案。

关键词:高性能运算,综合优化技术,BIOS参数调优,系统服务定制,存储层级管理

参考文献

[1]安喜锋.高性能计算集群管理系统与作业调度技术研究与实现[D].西安:西北工业大学, 2005.

[2]周海军.集群计算机技术在地震资料处理中的应用研究[D].西安:西安石油大学, 2007.

[3]Warren He.Unleash High Performance Computing Application Performance with the Intel Xeon Processor 5500 Series and Intel Software Tools[M].Mar.2009.

[4]Performance Tuning Meghodology, Multicore Programming Training[Z].Intel Software College, 2008.

[5]付喜春.基于PC集群的SAN存储系统性能优化方法[J].信息技术, 2012, 2:145-148.

[6]Linux HPC Cluster Installation[Z].IBM Company, INC.2003.

高性能计算集群 篇8

在现有的高性能计算机体系结构中, 集群因其拥有极强的灵活性和可扩展性, 同时在建造成本上更具优势, 已逐渐占主导地位。集群是一组相互独立、通过高速网络互联的计算机, 并以单一系统的模式加以管理[1][2]。以往, 面对大规模的集群, 软件的安装、维护与监控都很困难, Rocks集群软件整合了高性能计算集群的安装、管理, 使普通用户也能建立和管理集群。

高性能计算随着发展也面临着不少问题, 如1) 高性能计算应用日益多样化造成体系结构的异构化, 在一个高性能计算系统中会出现不同类型CPU, 给建立统一的编程模型带来困难。2) 高性能计算程序与运算环境的规模相关, 不同规模环境的运行效果相差很大, 如通信的开销。小规模下开发的程序在大规模环境下有可能无法运行, 并行程序的规模移植要花费大量时间, 并行程序开发效率不高。3) 高性能计算应用对软件环境的复杂需求, 因对不同应用作了不同的优化配置, 不同应用的切换运行也需要管理员切换相应的环境。虚拟化技术是解决这些问题很好的途径。

在Rocks的基础上, 结合Xen虚拟化技术来构建高性能虚拟集群, 即可以快速地部署与简便管理大规模的集群, 又可以应用虚拟化技术来解决高性能计算发展遇到的问题。

1、Rocks与Xen的功能介绍

1.1 Rocks

Rocks是一组用来创建和管理高性能计算集群的工具包, 基于CentOS Linux, 包含了用于高性能计算的许多开源工具软件, 如作业调度SGE、集群监控ganglia等, Rocks的特点是软件包以称为Roll的形式组织, 如HPC Roll、SGE Roll等等[3], Roll除了Rocks已提供的外, 也可以用户自已创建Roll。这样用户安装时除了基本的软件包外通过加入不同的Roll, 来定制自已的集群。

Rocks集群通过Red Hat kickstart来进行大规模的节点自动安装, kickstart脚本文件描述了集群节点安装所需的软件及软件配置。Rocks通过Kickstart图结构来生成计算节点自动安装所需的kickstart脚本文件, Kickstart图由结点及边组成, 结点和边使用XML来描述。图中的结点代表单一的功能模块和对应的kickstart脚本片断, Rocks现在有将近200种结点可以选择。边来连接结点, 在图中穿过结点生成完整的kickstart脚本文件。Rocks采用这种方式可以灵活地生成kickstart脚本文件, 适应不同类型集群结点的安装。节点的地址、类型信息、集群配置信息都存储在MySQL数据库中, Rocks生成kickstart脚本文件时, 也会读取数据库中的相关信息。

1.2 Xen虚拟化技术

虚拟化技术使得一台物理机可以同时运行多个不同操作系统的虚拟机, 虚拟机共享物理机的资源。虚拟化技术在服务器领域内应用越来越广泛, 可以提高资源利用率, 降低建设与运行成本, 简化管理, 并实现数据快速恢复等等。目前, 虚拟化技术在高性能计算领域的应用还不多, 主要原因是, 高性能计算对性能有苛刻的要求, 虚拟化会带来些性能的损失。随着以Xen为代表的半虚拟化技术的发展, 虚拟机性能得到了很大的提升, 加州大学的研究人员经过测试证明Xen应用于高性能计算, 并不会导致严重的额外系统开销[4]。虚拟化技术与高性能计算结合会越来越紧密, 虚拟化技术为高性能计算领域的诸多困难提供了新的解决方法。

Xen是由剑桥大学开发的开源系统级虚拟化软件, 对CPU、内存以及I/O设备的虚拟都采用了半虚拟化技术, Hypervisor (虚拟机管理器) 直接运行在硬件平台上, 使用硬件接口, 完成资源虚拟化和虚拟机管理, 客户操作系统运行在Hypervisor之上, 使用Hypervisor提供的指令集和设备接口, 使客户操作系统能获得接近直接在裸机上运行的性能, 但Xen需要少量修改客户端操作系统内核与Hypervisor协同工作。

2、基于Xen虚拟机的Rocks集群的安装

Rocks把集群的节点分为两类:前端节点与计算节点。前端节点是外界访问集群的入口及管理节点, 运行集群的各种服务 (NFS, NIS, DHCP, NTP, MySQL, …) , 用户通过登录前端节点进行递交作业, 编译程序代码等等。前端节点须有两块网卡, 一块与外界通讯, 一块与计算节点通讯, 组成集群内部私有网络。计算节点负责计算任务的运行。Rocks集群结构如图1所示。

基于Xen虚拟机的Rocks集群, 有两种类型, 一是前端节点仍然运行在物理机上, 而计算节点运行在虚拟机上, 这样在一台物理机上可以安装多个计算节点, 与原来的物理集群相比, 计算节点数量更灵活。第二种类型是前端节点与计算机节点都运行在Xen虚拟机上, 构成虚拟集群, 一个物理集群可以分解为多个虚拟集群, 运行不同的计算任务。

安装基于Xen虚拟机的Rocks集群, 我们需下载Rocks相应的安装包, 包括Kernel/Boot Roll、Core Roll、OS Roll-disk1、OS Roll-disk2, 其中Core Roll包含Area51 (系统安全相关的工具) 、HPC (高性能计算及测试软件) 、Ganglia (集群监控软件) 、SGE (作业调度软件) 、Java (Java SDK) 及Xen (Xen虚拟化软件) 。

我们以前端节点在物理机上, 计算节点在虚拟机上的集群为例, 安装步骤如下:

安装前端节点:

1) 用Kernel/Boot光盘引导服务器, 出现选择安装前端节点与计算节点界面时, 输入build, 进行前端节点的安装;

2) 在Roll选择界面, 依次选定所需的功能包, Xen必须选择, 以使Rocks增加虚拟化支持;

3) 填写集群相关信息, 如集群名、域名等;

4) 设置前端节点内外网卡的IP地址、网关、域名服务器等;

5) 磁盘分区设置后, 开始安装系统。

安装计算节点:

计算节点运行在Xen虚拟机上, 安装虚拟节点的物理节点需加入Xen虚拟化支持, 这样的物理节点称为VM Container。

1) 在前端节点终端上输入insert-ethers命令, 命令界面如图2 所示, 选择VM Container。前端节点启动侦测程序, 等待子节点发送DHCP请求。

2) 用Kernel/Boot光盘引导启动物理节点服务器, 物理节点服务器向前端节点发出DHCP请求, 请求IP地址与自动安装所需的kickstart文件URL。前端节点收到DHCP请求后, 分配IP地址和主机名 (默认格式为vm-container-0-x) 给物理节点, 并将相关信息写入数据库, 同时发送kickstart URL。

3) 物理节点根据kickstart脚本文件, 从前端节点获取相应的安装文件, 自动安装。

4) 物理节点安装完后, 回到前端节点终端, 通过Rocks相关命令来添加、安装虚拟计算节点。

5) 添加一个虚拟计算节点:rocks add host vm vm-container-0-x membership="Compute", 执行后, 将虚拟计算节点的信息写入数据库, 并分配MAC地址给虚拟节点。

6) 安装虚拟计算节点:rocks start host vm compute-0-1-0install=yes, 这样, 主机名为"compute-0-1-0"虚拟计算节点开始安装, 用户可以执行rocks-console compute-0-1-0命令来监控安装过程。根据物理节点的硬件资源, 按以上的方法添加任意的虚拟计算节点[5]。

3、Rocks虚拟集群的管理

Rocks集群引入虚拟节点后, 须对虚拟节点进行有效管理, 如调整虚拟机的硬件资源, 监控虚拟机资源情况等等。Rocks自带的Red Hat Virtual Machine Manager (VMM) 提供了虚拟机管理图形化视图。在前端节点运行VMM后, 再连接到各个VM Container, 统一管理集群所有的虚拟节点。VMM界面如图3所示。

Rocks对整个集群的管理监控通过Ganglia实现, Ganglia是一个分布式的监控工具, 实现集群节点的资源监控。Ganglia提供Web界面可以看到每个节点的状态, 包括CPU、磁盘利用率, 以及节点是否在线等等。结合Ganglia, 在虚拟集群中, 可以快速进行负载均衡, 可以将负载较重物理机上的虚拟节点迁移到负载较轻的物理机上。

4、Rocks虚拟集群的应用

4.1 系统容错

MPI是Rocks集群最通用的编程环境, 但其运行环境经常会因为节点的故障而出现错误, 传统的容错是采取响应策略从错误中恢复过来, 通常依赖于检查点的保存与恢复机制[6]。在Rocks集群引入Xen虚拟化后, 可以提高容错性能。虚拟计算节点运行在Xen的虚拟机管理器上, 当虚拟机管理器监测到一个虚拟计算节点出现故障时, 可以重启虚拟计算节点或者新建一个新的虚拟计算节点代替, 这样, 故障就被自动修复。

4.2构建虚拟开发环境

高性能计算程序和运算环境的规模相关, 在大规模环境中的运行效果和小规模的运行效果可能相差很大, 并行程序的规模移植要花费大量的时间。在Rocks虚拟集群中, 一个物理节点上可以构建大量的虚拟计算节点, 就能为大规模的高性能计算提供虚拟环境, 还能为MPI编程环境定制专门的配置。这大大提高了高性能计算程序的开发效率。

4.3快速部署系统软件

不同的高性能计算应用可能需要配置不同的操作系统与系统软件, 在物理集群中, 都需要一一部署, 完成部署后还需要重启整个系统。而在Rocks虚拟集群中, 可以将操作系统、高性能计算应用和系统软件打包成Virtual Appliance (虚拟机映像) , 将新的Virtual Appliance通过网络部署到节点上, 然后重启节点, 就完成了高性能计算应用及相关系统软件的快速部署。

5、结束语

本文利用Rocks与Xen虚拟化技术构建的高性能虚拟集群, 即方便了用户的使用与管理, 又在系统容错、高性能应用环境切换、并行程序开发效率等方面优于物理集群。随着虚拟化技术在高性能计算领域研究与应用的不断深入, 虚拟化技术与高性能计算将结合得越来越紧密。

摘要:集群是目前高性能计算机系统主要的解决方案。随着集群规模的扩大, 也出现了不易安装与管理、故障率高、缺乏方便的并行程序开发调试环境等问题。本文在集群安装软件包Rocks的基础上, 结合Xen虚拟化技术构建了一个高性能虚拟集群, 从而简化了集群的组建与管理, 并提高了系统可靠性与容错性能及并行程序开发效率。

关键词:高性能集群,虚拟化技术,Rocks

参考文献

[1].王鹏, 吕爽, 聂治, 等.并行计算应用及实战[M].北京:电子工业出版社, 2007.

[2].车静光.微机集群组建、优化和管理[M].北京:机械工业出版社, 2004.

[3].Papadopoulos P M, Katz M J, Bruno Greg.NPACI Rocks:Tools and Techniques for Easily Dep-loying Manageable Linux Clusters[C]//Proc ofthe Cluster 2001:IEEE International Conferecnce on Cluster Computing, 2001.

[4].Youseff L, Wolski R, Gorda B, et al.Paravirtu-alization for HPC Systems[C]//Proc of the Workshop on XEN in HPC Cluster and Grid C-omput-ing Environments, 2006.

[5].UCSD.Xen Roll:Users Guide[EB/OL].2009.ht-tp://www.rocksclusters.org/roll-document-ation/xen/5.1.

上一篇:现代畜牧业建设下一篇:聚焦全球化