找回密码
 注册
查看: 4068|回复: 8

高性能并行计算软件简单介绍(1)

[复制链接]
发表于 2004-4-14 11:56:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
[这个贴子最后由redhong731在 2004/04/14 11:55pm 第 2 次编辑]

(有redhong731整理及实际操作心得)软件平台Unix,WindowsNT和Linux。
软件OSCAR、EnFuzion等高性能集群系统。
一. 集群系统的分类
我们按照应用类型可以将集群分为以下三类:
1. 高性能集群(High Performance,HP):
通常,这种涉及为群集开发并行编程应用程序,以解决复杂的问题。这是并行计算的基础。这种集群内部由十至上万个独立处理器组成,使用商业系统,如通过高速连接来链接的一组单处理器或双处理器 PC,并且在公共消息传递层上进行通信以运行并行应用程序。
2. 负载均衡群集:
负载均衡群集为企业需求提供了更实用的系统。如名称所暗示的,该系统使负载可以在计算机群集中尽可能平均地分摊处理。该负载可能是需要均衡的应用程序处理负载或网络流量负载。这样的系统非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。对于网络流量也是如此。通常,网络服务器应用程序接受了太多入网流量,以致无法迅速处理,这就需要将流量发送给在其它节点上运行的网络服务器应用。还可以根据每个节点上不同的可用资源或网络的特殊环境来进行优化。
3. 高可用性群集(High Availabity,HA):
高可用性群集的出现是为了使群集的整体服务尽可能可用,以便考虑计算硬件和软件的易错性。如果高可用性群集中的主节点发生了故障,那么这段时间内将由次节点代替它。次节点通常是主节点的镜像,所以当它代替主节点时,它可以完全接管其身份,并且因此使系统环境对于用户是一致的。
注意:在群集的这三种基本类型之间,经常会发生混合与交杂。于是,可以发现高可用性群集也可以在其节点之间均衡用户负载,同时仍试图维持高可用性程度。同样,可以从要编入应用程序的群集中找到一个并行群集,它可以在节点之间执行负载均衡。尽管集群系统本身独立于它在使用的软件或硬件,但要有效运行系统时,硬件连接将起关键作用。
二。如何安装OSCAR高性能集群系统。
   OSCAR系统是目前最强大的集群系统之一,在高性能计算领域被广泛采用。本人谈谈OSCAR系统的安装测试,与大家分享一点儿经验。
对于初次接触OSCAR的工程师,安装系统之前必须正确的认识到,要正确的安装和使用系统必须有一定的经验积累和基础知识。不要幻想一步到位或者不会遇到什么麻烦,安装过几次之后,才会变成高手。
安装OSCAR必须首先准备硬件环境。OSCAR本身设计是基于以太网、PC的。所以,只要具备以太网交换机和PC就可以了。
服务器PC的最低配置:
CPU : i586或更高(AMD兼容芯片也可以)。
网卡: 100M/s 以太网卡。如果连接到集群外部需要双网卡。
内存: 至少256M,当然越多越好,如果条件允许的话。
硬盘: 4G的硬盘空间。根目录下2G,/var 目录下2G。
操作系统: Linux redhat 9 全安装。
客户端PC最低配置:
CPU : i586或更高(AMD兼容芯片也可以)。
网卡: 100M/s 以太网卡。
内存: 至少128M,越多越好。
硬盘: 2G的硬盘空间。
注意:所有的PC必须具有相同的体系结构。当然目前PC基本上都是IA32体系。这一点是不用担心的。为客户端PC配置键盘、鼠标、显示器是有益的,至少要有一套。如果你的客户端PC不支持网络启动,软驱也是必要的。本人使用了软盘启动。如果客户端配置完全相同,对于发挥系统的性能是有益的,但不是必需一致,本人的群的节点就是不一致的。集群最好是使用单独的交换机,原因大家都清楚。
硬件准备齐了,下一步是连接网络。找网关做好了,只要网络能够正常通讯就可以。注意,应该保证,所有网络都是在全速工作,否则,系统的性能会打折扣。
现在开始软件安装过程:
为了简单起见我选择了linux完全安装,读者积累一定的经验以后,可以只选择一部分需要的服务。
1、 在/tftpboot目录下建立rpm目录:mkdir /tftpboot/rpm 。把Rdhat 9的所有的安装包都拷到/tftpboot/rpm目录下。OSCAR具有很好的支持工具包,当他发现它需要的服务器没有安装的时候,就会自动在该目录下查找需要的软件包,并自动安装。
2、 下载OSCAR。目前最新的发行版是OSCAR3.0。可以在OSCAR的官方网站或者在网站http://sourceforge.net/projects/oscar/下载。最好是在根目录下解压缩:tar zxf xxx 。
3、 进入../oscar-3.0目录,执行./configure 命令。相信大家都知道这个命令的作用。检查系统配置,生成Makefile文件。应该不会有什么问题的。
4、 然后执行命令 make install。默认系统安装到/opt/oscar目录下,也可以使用 --prefix修改默认路径。如果是初学,就使用默认路径好了。
5、 配置双网卡。前面说过了,如果想让集群服务器与其他机器通讯,服务器应该使用双网卡。确保两块网卡都能够正确激活。并且指定一块网卡用作集群,指定机群使用的网段。本人在集群中使用192.168.2.1~254网段。另一块网卡用作网关。
6、 安装OSCAR。真正的系统安装现在才开始。进入到 OSCAR_HOME目录下,本是使用的是默认目录。/opt/oscar。
Cd /opt/oscar
./install_cluster
device 是集群使用的网卡。如果不指定设备,安装过程中会再次提示制定设备。安装过程中,如果你没有安装DHCP、MYSQL、SSH等服务,系统会自动安装这些服务器,安装MYSQL时会自动建立帐户,并提示输入口令。这一切系统使得OSCAR的安装十分简单。
7、 系统安装完成时候会弹出OSCAR的配置导航工具。导航工具将配置过程分为九个步骤,每个步骤必须按照循序执行。就这么简单。
8、 配置第零步,下载附加包。如果没有特殊需要的话可以忽略这一步直接执行第一步。
9、 配置第一步,选择需要安装的软件包。第一次,不是到那个包干什么用的,全选好了。以后明白了再做选择。
10、 配置第二步,配置OSCAR包。点击“Configure Selected OSCAR Packges”会弹出一个配置向导。有什么不清楚地地方,后面有Help。
第一项配置“调度器”。“调度器”在集群中的作用和地位相必您也很清楚。导航工具显示lam和mpich两个调度器。如果您还不十分清楚每个调度器的作用和原理,先是用默认选项lam就可以了。测试的时候要注意,看看测试程序是否对调度器由依赖。
第二项配置“核心”。这里也存在几个选项。没有特殊要求,就使用默认的核心。
第三项配置“时间服务器”,默认选项选中了三个时间服务器的地址。最好是三个都选中。时间服务器对于OSCAR很重要。
配置完了就“Done”。继续进行下一步。
11、 配置第三步,安装OSCAR服务器。除了点一下鼠标以外什么都不需要做。完成之后会弹出一个成功安装的提示信息。确认就可以。
12、 配置第四步,编译客户端影像(Client Image)。注意保证SSH服务在根节点运行正常;子网内保证TCP包不是被压缩的;子网内取消防火墙。在导航工具相应的信息筐内输入Image的名字、文件的位置等信息。使用默认的信息最省事,如果没什么特殊要求,默认局可以了。然后Build。Build过程时间可能稍长,要有耐心啊。
13、 配置第五步,定义客户端。在导航信息项里填写正确的信息。主机数量就是客户端的主机数量。有几台就写几台,否则会有麻烦。开始序号是节点的编号。从“1”开始。其他信息,我想各位都很熟悉。“如实”填写。然后“Addclients”,完成之后会提示成功信息。
14、 配置第六步,设置网络。这一步主要分为两部分编译BOOT和安装客户端。
编译BOOT:
当然许多信息必须首先获得。导航工具上给出了三种获得MAC的方法。但是最简单的办法是首先获得客户机的MAC地址凡在一个文件中,文件格式如下:
# Saved OSCAR MAC Addresses
00:10:E8:7C:61:6C
00:32:FE:BC:40:C9
将所有的客户端MAC写道文件中,然后使用“Import MACs from file”导入就可以了,说有的MAC都会出现在导航工具的左侧。然后“Assign all MACs”,说有的MAC都被加入到client数上。然后建立boot。如果你的客户机支持网络启动,就选择“Setup Network Boot”。DHCP的选项可以不用理它。系统会自动为你配好DHCP Server的。本人使用的软盘安装。插入软盘,点击“Build Autoinstall Floppy”。下面的工作就很简单了。建议你同时至少做一张软盘,原因就不用说了。
安装客户端:
到客户端机器上,接上鼠标、键盘、显示器。插入软盘,打开电源,进入BIOS,设为软盘启动。机器启动之后就会将根节点的信息克隆到本地硬盘。
在每一台客户机上重复操作,直到最后为每一台客户机安装了系统。如果是几十台,上百台客户机这样会很烦的。所以,如果可能,还是使用网络启动。这一步完成了,最艰巨的任务也就完成了。
15、 配置第七步,编译集群系统。只有一个操作,点击编译按钮。成功之后,会有成功信息。至此,整个系统已经安装完成。
16、 配置第八步,测试系统。这一步步是必需的,但最好还是做一下测试,确保安装正确。测试分为几步,但都不需要人工干预。
至此。可以算是大功告成了。
剩下的就是维护和测试了。
OSCAR提供了强大的维护工具,允许增加、删除节点,安装/反安装程序包。相信根据导航信息和前面的安装经验,读者肯定能够完成这些工作的。
性能测试最常用的方法是Linpack 测试。Linpack测试是目前TOP500的测试方法。HPL(A Portable Implementation of High Performance Linpack Benckmark)通过行主元LU分解求解大型稠密线性代数方程组,测出程序的实际计算速度。适用于大型并行Linpack性能测试。
HPL需要数学库支持,本人使用的是ATLAS库。ATLAS可以在http://www.netlib.org/atlas网站下载。HPL可以在http://www.netlib.org/benchmark/hpl/hpl.tgz下载。
如果在安装客户端的时候使用软盘安装,那要注意了。如果重新安装系统的时候应该制作客户端启动软盘。如果偷懒使用以前制作的启动盘,你会吃苦头的。因为安装系统的时候,系统会生成一个密钥。剩下的大家就都明白。
二.EnFuzion实现多平台上并行计算(此软件作并行计算系统最为简单。----作转载可惜我只有6.0版本如想下载我可作一个BT)
EnFuzion是Turbolinux公司发布的超级计算集群产品。它把您现有的计算机网络变成一个高速、容错、高可用性的超级计算机。更让人难以置信的是,用户无需专门的服务器或工作站来构建您的集群,更无需用户编程。EnFuzion会充分利用您现有的机器资源,如机器的空闲时间、用户的下班时间、屏幕保护出现时等进行超级计算工作。目前EnFuzion支持所有通用的Unix平台,还支持WindowsNT和Linux,是一款真正的跨平台超级计算集群产品。

  产品特性

  EnFuzion可以让用户轻松地实现企业的超级计算。一直以来,并行计算都被视为尖端科技,而且一般都使用大型的硬件“并行计算机”来实现,仿佛只有少数几个科学家在科研机构才能完成。EnFuzion的出现彻底打破了这个定论。EnFuzion使用简单,用户无需编程,只需要指定简单的参数或命令,这使得很多不了解并行机硬件的企业和公司在碰到并行计算的难题时也找到了解决方法。同时它还具有图形化的界面和Wizard指导用户按照步骤完成复杂的运算。在使用简单的同时,EnFuzion提供了极高的运算性能,它能使用户的应用程序在不做任何修改的前提下运算速度提高200倍以上,已经达到或超过了硬件并行机的运算效率。EnFuzion还能使用户在动态的情况下自由增加或删除集群节点,灵活掌握集群的规模,做到有的放矢。作为集群产品,EnFuzion还能做到故障切换、断点续传、自动将CPU和主机达到负载均衡等功能。在可管理性上,EnFuzion也做得十分优秀。它拥有一个基于Java的GUI界面,用户在EnFuzion中可对每个节点进行控制。用户还可根据CPU空闲时间、CPU负载状况等条件对工作片进行定制。最为方便的是,EnFuzion可以在网络上对整个软件进行安装和升级,而且安装都在根节点上完成。如果用户发现自己的应用比较复杂,EnFuzion还提供了强大的API功能,你可以利用C、C++、Perl、Unix Shell等脚本语言进行编程,使复杂的程序简单化。可以说,EnFuzion是并行计算领域的跨时代产品。它在解决了困扰人们多年的并行计算问题的同时,大大降低了并行计算的成本,同时还降低了对完成此工作的人的要求。
  具有如此多优势的产品,自然受到大家的青睐。除了上面提到的优势外,在今天IT蓬勃发展时我们经常碰到的一个很严重的问题是资源的浪费。各个企业公司都拥有几十甚至上百台计算机,但是这些计算机是否真的100%发挥了作用呢?回答是否定的。EnFuzion就可以帮助您在竞争激烈的经济时代充分发挥所有机器设备的性能,同时也能充分利用时间,最大限度提高工作效率。这也是很多世界知名的公司、大学选择EnFuzion的原因。

  升级方案

  这样出色的产品安装和使用是不是很复杂呢?回答是否定的。EnFuzion的安装将在根节点一次完成,也就是说,即使帮助您完成并行计算的集群有100台甚至更多的机器,您也不用担心,因为您只需对根节点进行操作。另外它是以光盘形式出现的。您可以按照提示逐步完成产品的安装或升级。
  以安装Linux平台上的EnFuzion为例:
  首先您可以选择自动安装EnFuzion, 使用“enfinstall“命令。如果不能自动安装,您可以选择手工安装:
  1. 将EnFuzion(Linux版本)拷贝到Turbolinux Server的系统中;
  2. 使用tar -xzvf enfuzion.6.0.1-linux.2.2-
  i486.tar.gz将文件进行解压缩。
  3. 在安装每一个节点时,首先要将在节点的配置文件“EnFuzion.code”中做以下的工作;
  4. 通过Telnet 或其他方式远程登录到您想安装EnFuzion节点的机器;在“home”目录下建立一个“.enfuzion”的子目录;
  5. 将enfnodeserver、enfjobserver、enfnodeadmin、enflicense拷贝到这个目录下;
  6. 将根节点安装好;
  7. 按照提示一步一步进行下面的安装。
  值得注意的是:为了安全的原因,Turbolinux缺省安装时是关闭Telnet和FTP功能的。因此您需要在/etc/inetd.conf file打开这两项功能。
  同样的,在其他平台安装也是易如反掌。
  并行计算存在于我们生活的方方面面,EnFuzion也应用到各个领域。如金融行业的资产管理、金融计算,生物行业中的基因分析、蛋白质分析等,石油勘探,汽车制造,CAD制图,气象分析,高能物理等。
  目前EnFuzion已经在世界各地得到了广泛的应用,如澳大利亚最大的保险公司AMP资产管理集团已经采用EnFuzion完成该公司的资产管理工作,使得他们平时需要100天的工作在一个星期就完成了。另外,著名的Rockefeller大学也采用EnFuzion进行人类基因中的蛋白质结构分析和比较工作。其他在使用EnFuzion的还有J.P.Morgan等世界知名的企业和公司。事实证明,EnFuzion是一款简单易用的优秀的超级计算集群产品。
发表于 2004-4-14 13:51:52 | 显示全部楼层

高性能并行计算软件简单介绍(1)

如此好帖,自然要顶!
哈哈!既然 redhong731整理的这么整齐,那俺就没必要再整理啦!
上传一篇文章:《用PC机群组构并行超级计算机》黎康保. 陶文正. 许丽华. 黎文楼,计算机工程 2000年09期,对于想用个人微机组建集群的朋友还是由点用处的!
至少是中文,而且还不难懂!
发表于 2004-4-14 14:05:57 | 显示全部楼层

高性能并行计算软件简单介绍(1)

下一步应该怎么做??小女子是新手,一头雾水,不知道做什么
 楼主| 发表于 2004-4-15 00:08:15 | 显示全部楼层

高性能并行计算软件简单介绍(1)

做什么?,先会安装/下载Linux软件在说。还有你的电脑至少有两台带超线程cpu/4G~8G内存/1000M双网卡等等在说。还有fluent软件Linux版这样才行啊。这样可以计算大约460万~800多万网格。
发表于 2004-4-15 10:27:35 | 显示全部楼层

高性能并行计算软件简单介绍(1)

硬件要求没问题的,这个环境是有的。那么linux版本哪里有?还有就是,是不是只有计算的时候才用到并行?那么如果使用远程的高性能服务站,模型和网格划分是不是都在本地完成,只有计算的时候把这个问题抛到高性能机上阿?
发表于 2004-4-22 11:32:25 | 显示全部楼层

高性能并行计算软件简单介绍(1)

远程计算机是win版本行不行?
发表于 2004-4-23 11:25:19 | 显示全部楼层

高性能并行计算软件简单介绍(1)

可以,但是由于window系统不稳定,所以一般的服务器都希望用linux操作系统
发表于 2004-4-26 16:38:52 | 显示全部楼层

高性能并行计算软件简单介绍(1)

还有一个很重要得因素吧, 计算软件本身的并行性能?
发表于 2004-4-28 06:36:47 | 显示全部楼层

高性能并行计算软件简单介绍(1)

不错, 不过好象搞科学计算的多用 HPC (high performance cluster), 很多大学里都有, search一下
把PC机通过网络交换器连接起来, 装上MPI和申请网络节点的myrinet就可以了, 一般用QBS系统提交到后台, 然后就耐心的等结果了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表