首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • [分享]Linux集群的安装与并行计算
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wlcy1988
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2007-04-26 11:10:30 楼主
    1.linux安装安装过程就不多说了。需要注意的是安装时,如果机群不与外界联网则可以不考虑安全方面的因素而把rsh选为可信赖的服务,注意安装相应的软件包;如果还要与外界保持联网,出于安全需要应把ssh选为可信赖的服务。安装以后,应该保证各节点之间能够用ssh相互登录。每个节点的sshd都应该能正常提供服务。主机名:node1...noden   (我所构建的系统n=2)

    2.创建NFS服务在服务器节点public目录下建立mpi目录,并将其配置成NFS服务器,在/etc/exports文件中加入一行:/public/mpi     node1(rw)     node2(rw)在客户端节点的/etc/fstab文件中增加一行:sever   :/pubilc/mpi     nfs     rw   ,   bg   ,   soft     0   0将/public/mpi这个目录从服务器节点输出,并装载在各客户端,从而便于在各节点间分发任务

    3.修改/etc/hosts文件,将所有节点名称极其ip地址填入。例如:127.0.0.1 localhost.localdomain   localhost192.168.1.1 node1192.168.1.2 node2…………………….每个节点都进行类似的配置。这样做的目的是使节点之间能够通过node1   ...   noden的名称相互访问。你可以通过ping   noden   或   ssh   noden进行测试。

    4.修改(或创建)/etc/hosts.equiv文件将所有你允许访问本机进行mpi计算的机器名填入,一行一个机器名。这一步是为了使节点对其它的节点放权。例如,我的node1是我用于启动mpi集群计算的机器,其他的节点是参与计算者,在node1的/etc/hosts.equiv文件是这样的:node1   #给自己放权,这样在只有一台机器时也可以模拟并行计算环境node2.....noden在node2...noden的/etc/hosts.equiv文件:node1   #对node1放权node2......noden

    5.修改 "/.bash_profile文件首先决定一个用于启动集群计算的用户名,不提倡使用root进行集群计算。这里在每个节点上建立新用户chief,他们的主目录都是/home/chief,必须采用同样的密码,将来的计算程序必须放在相同的路径上。譬如你的程序为:fpi.f和a.out,则必须把a.out放在同样的路境内,比如 "/mpirun/a.out,每个节点都是如此。   修改 "/.bash_profile文件,主要是加入下列几行脚本:export   PATH=$PATH:/usr/local/mpich/binexport   MPI_USEP4SSPORT=yesexport   MPI_P4SSPORT=22export   P4_RSHCOMMAND=rsh   或ssh这里我们预定了将来mpich的运行环境安装在目录/usr/local/mpich下面。其余的三个变量是用来通知mpi运行环境采用rsh(或ssh)来作为远程shell。linux的运行环境到此就配置完毕了。

    6.配置rsh   或ssh对于采用rsh来作为远程shell运行MPI的用户只要保证在各个节点上都具有相同的用户,并把这一用户的密码设为空密码就可以运行了。若采用ssh作为远程shell则按如下配置:以你设定的用于启动mpi计算的用户登录,运行ssh-keygen,这将生成一个私有/公开密钥对,分别存放在 "/.ssh/identity和 "/.ssh/identity.pub文件内。然后进行访问授权,运行:cp   "/.ssh/identity.pub   "/.ssh/authorized_keyschmod   go-rwx   "/.ssh/authorized_keysssh-agent   $SHELLssh-add在每个节点重复一遍。试着在某一节点上登录其它节点,ssh   noden,则在.ssh/下生成一个known_hosts2文件,里面放着访问该主机的密钥,把所有密钥收集起来,在各个节点上作同样的拷贝。这样做的目的是使各节点相互之间访问无需输入密码。


    7.开启各项必需的服务如果是以根用户root   登陆系统的则可以用ntsysv命令启动ntsysv实用程序。ntsysv   实用程序允许使用简单的菜单界面启动或关闭各种运行等级的服务。在其中我们选择开启rsh   ,rlogin,telnet等。也可以关闭一些服务以加快启动速度如sendmail。如果是使用su命令转为root用户的则很可能运行ntsysv并不出现ntsysvs实用程序。此时可以直接去修改/etc/xinetd.d下的rlogin,   rsh   ,telenet的设置。用vi编辑器打开xinetd.d:vi   /etc/xinetd.d则可看到如下所示的配置文件:关于rsh的设置如下#   default:   off#   description:   The   rshd   server   is   the   server   for   the   rcmd(3)   routine   and,   \#               consequently,   for   the   rsh(1)   program.     The   server   provides   \#               remote   execution   facilities   with   authentication   based   on   \#               privileged   port   numbers   from   trusted   hosts.service   shell{               disable   =   yes               socket_type                           =   stream               wait                                         =   no               user                                         =   root               log_on_success                       =   USERID               log_on_failure                       =   USERID               server                                     =   /usr/sbin/in.rshd}关于rlogin的设置如下#   default:   off#   description:   rlogind   is   the   server   for   the   rlogin(1)   program.     The   server   \#               provides   a   remote   login   facility   with   authentication   based   on   \#               privileged   port   numbers   from   trusted   hosts.service   login{               disable   =   yes               socket_type                           =   stream               wait                                         =   no               user                                         =   root               log_on_success                       =   USERID               log_on_failure                       =   USERID               server                                     =   /usr/sbin/in.rlogind}关于telnet的设置如下#   default:   off#   description:   The   telnet   server   serves   telnet   sessions;   it   uses   \#   unencrypted   username/password   pairs   for   authentication.service   telnet{disable   =   yesflags   =   REUSEsocket_type   =   streamwait   =   nouser   =   rootserver   =   /usr/sbin/in.telnetdlog_on_failure     =   USERID}所有这些服务在安装完系统之后都是默认为禁用的,要进行修改来打开这些服务。如要通过修改启动telenet则就需要改disable   =   yes为disable   =   no。对于其他的服务的启动的修改与之相同。若启动这些服务则只需要简单执行:#/etc/rc.d/init.d/xinetd   restart或重起计算机就可以使所作的更改生效。C.在服务器节点编译、安装Fortran90编译器先将Fortran90(我用的是Intel的)编译器拷贝至/tmp下,然后用tar   xvfz   fortran90.tar.gzj解压缩。运行./install选择你所要安装的类型,如果你的机器是基于IA-32,就选择1。如果你的机器是基于Itanium(TM)-based   system就选择2。如果要停止安装,就选择X。选择过之后安回车进入下一步,此时会要求你选择   :

    1.   Intel(R)   Fortran   Complier   for   32-bit   Applications,Version   6.0   build   020312Z2.             2.Linux   Applicationdebugger   for   32-bit   Applications,Version   6.0   buid   20020x.     Exit按顺序选择1,2   。最后选择X   完成安装并退出。在选择完1之后会要求你看版权声明,输入Accept继续安装。默认的安装路径为/opt/intel,选择默认路径按Enter继续。选2之后的情形与1相同。如果不注册可以用90天。D.             在服务器节点编译、安装mpich   1.2.3将mpich   1.2.4:ftp://ftp.mcs.anl.gov/pub/mpi/mpich.tar.gz。拷贝到一个临时目录下,放在/tmp下了。用root用户登录进行编译安装。

    1.   对mpich的安装进行预处理:首先,用tar   xvfz   mpich.tar.gz解压。生成mpich-1.2.3目录。切换到mpich-1.2.3目录。运行预处理:./configure   --prefix=/usr/local/mpi                 --对应于用rsh进行远程登录的系统./configure   --prefix=/usr/local/mpi   -rsh=ssh           --对应于用ssh进行远程登录的系统这里我们通知编译系统mpich的安装位置为/usr/local/mpich,运行环境的远程shell为rsh或ssh。

    2.编译:make运行此命令后mpich软件包会自动编译形成MPI系统的函数库,需要数分钟的时间,根据不同的机器可以略有不同。

    3.安装:make   install运行此命令可以将MPI软件包安装到由./configure   --prefix选项指定MPICH安装目录即/usr/local/mpi修改文件/usr/local/mpi/share/util/machines/machines.LINUX。如下:node1ndoe2......ndoen这一步是通知mpich运行环境都有那些节点可供集群计算。每个节点都这样输入一遍。4.测试安装是否正确     在/usr/local/mpi/examples/basics下编译cpi.c:     make   cpi用命令行:../../bin/mpirun   -np   2   cp运行。将会获得如下信息。Processes   0   on   node1Processes   1   on   node2……..………………..如果能正常运行即证明mpich软件包安装完全成功。
    0  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • OpenHero
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-04-28 12:51:051楼 得分:0
    mark,我喜欢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tangyong_delphi
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-06-09 21:41:422楼 得分:0
    谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • usafchn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-02-01 21:01:343楼 得分:0
    适合于分布式计算
    www.equn.com
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bluehouse1985
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-24 15:51:574楼 得分:0
    Linux 环境下的多核调试
                — Intel + Totalview 强强联合!
    目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Totalview Debugger 正是在这种情况下应运而生!
    Intel软件可以在英特尔架构上产生出色的应用程序性能,并可以利用最新英特尔多核处理器的各项先进功能。TotalView Debugger与Intel软件的结合将会掀起一场linux下调试工具的革命!
    TotalView Debugger是一个linux平台并行环境下的调试工具,它的IDE环境、多线程(进程)调试能力、内存调试能力、集群调试能力在业界都是无与伦比的!
    XLsoft携手Intel、TotalView公司于2008年10月30日在上海举行“Linux 环境下的多核调试”免费培训讲座。我们非常荣幸地邀请您参加,并提供免费软件试用光盘!

    一、报名方式:
    电话:021-62128912/010-84492749
    Email:Marketing@xlsoft.com.cn

    二、讲座内容:
    1. Linux 平台下程序调试工具概述
    2. Intel 软件功能介绍
    3. Totalview Debugger功能介绍

    三、讲座时间:
    2008年10月30日(星期四)14:00 ~ 17:00

    四、讲座地点:
    上海青松城大酒店3楼长悦厅
    (徐家汇肇家浜路777号东安路口,距衡山路站约15分钟路程)

    四、活动详情:
    联系人:王娟
    Tel:021-62128916 Mobile: 15000262606
    E-mail:kiko.wang@xlsoft.com.cn

    咨询热线:
    021-62128912 010-84492749
    更多的服务信息,请联系我们Marketing@xlsoft.com.cn or 联系方式。

    上海世全软件信息技术有限公司
    联系电话 上海:021-62128912 北京:010-84492749

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • formajia3
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-24 16:27:185楼 得分:0
    mark,我喜欢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • converf
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-25 13:42:046楼 得分:0
    很有道理值得学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • majiajun_no_9
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-25 17:17:377楼 得分:0
    拜访楼主
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • formajia8
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-26 09:55:178楼 得分:0
    N多高人牛人....此帖让我受益匪浅,值得收藏! 继续关注....
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • majiajun_no_13
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-28 16:25:159楼 得分:0
    快乐顶贴,快乐看贴,快乐学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • majiajun_no_2
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-29 23:33:1610楼 得分:0
    潜水多年,今日上岸,继续学习。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • majiajun_no_2
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-29 23:35:0611楼 得分:0
    我同意 支持一下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • laxila
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-30 12:45:1412楼 得分:0
    非常好,学习过了,谢谢楼主呀!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • majiajun_no_5
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-30 23:26:3813楼 得分:0
    获益匪浅
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jiaolongdy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2009-03-03 19:47:5714楼 得分:0
    支持一下
    修改 删除 举报 引用 回复