IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  AIX and UNIX | Linux  >

使用 MPI 的高性能集群,第 2 部分: 使用 ch_p4mpd 在 OpenPower 720 上安装和配置 MPI

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

Harish Chauhan (hchauhan@in.ibm.com), Linux 架构师, IBM

2006 年 5 月 25 日

设置集群的方法有很多种。本系列文章专注于如何设置高性能集群。您将了解到如何在两种不同的模式下构建和安装 Message Passing Interface (MPI)。本系列的第 1 部分涉及到使用 ch_p4,而第 2 部分则包含了 ch_p4mpd。

引言

集群本质上是执行某种有用的任务的一组计算机。集群的优点之一就是其计算能力。可以在集群上以更快的速度执行一项任务。要充分利用所有计算机的计算能力,需要某种在计算机之间共享信息的机制。Message Passing Interface (MPI) 提供了定义良好的应用程序编程接口 (API),可以使用 C 或 Fortran 来编写并行程序。





回页首


硬件、软件和设置

  • OpenPower Model 720
  • 一台台式计算机
  • 带有 Update 3 或更高版本的 Red Hat Enterprise Linux® Version 3.0
  • MPI Version 1.2.7
  • IBM XLC Version 7.0 和 XLF 9.1 编译器


图 1. 设置
设置




回页首


安装和配置

  1. 在开始之前,请对下列内容进行检查:
    1. 所有的计算机都必须已经安装 Red Hat Enterprise Linux。请参阅 "Linux on OpenPower:An installation guide"。
    2. 用户 hchauhan 必须存在于所有的计算机上,如 n1n2n3
    3. 请确保为用户 hchauhan 配置了 Secure Shell (SSH)。例如,hchauhan 用户需要能够登录到任何一台计算机而不用提示其输入密码。
    4. 需要确保安装所有的 XLCXLF 编译器。
    5. MPI 代码需要能在临时文件夹中获得,如 /tmp。

  2. 为了构建和安装 MPI,以 root 用户的身份从台式计算机登录到 n1。为 SSH 登录使用 PuTTY。
    图 2. PuTTY 登录
    PuTTY

    server_ip_address 是计算机 n1 的 IP 地址。

  3. 在使用 PuTTY 成功登录之后,就可以开始工作了:
    清单 1. PuTTY 登录
    			
    #cd /tmp
    #gzip -d mpi-1.2.7.tar.gz
    			


    图 3. MPI tar 文件
    mpi_tar

  4. 对 mpi-1.2.7.tar 文件进行解包操作:
    清单 2. mpi-1.2.7.tar 文件
    			
    #tar -xvf mpi-1.2.7.tar


    图 4. Tar dump
    tar_gzip

    图 5. 展开的文件夹
    extract_folder

    图 6. 展开的文件夹的内容
    content_folder

  5. 运行 configure 脚本,它可以为 make 命令准备所需的 make 文件:
    清单 3. Configure 脚本
    			
    #cd /tmp/mpi-1.2.7
    #./configure --with-device=ch_p4mpd --prefix=/opt/mpich 
    			

    要为 ch_p4mpd 设备类型编译 MPI,请使用 --with-device=ch_p4mpd。对于其他的设备类型,请使用 ./configure --help

    configure 脚本将仔细地检查安装在该计算机上的编译器版本、set 环境变量的数量等信息。


    图 7. Configure 脚本
    configure

  6. 运行 make 命令,该命令将编译 MPI 代码并使之为安装做好准备:
    清单 4. Make 命令输出
    		
    #cd /tmp/mpi-1.2.7
    #make
    		

  7. 运行 make install 命令将 MPI 安装到 /opt/mpich 文件夹:
    清单 5. Make install 命令
    			
    #cd /tmp/mpi-1.2.7
    #make install
    			


    图 9. Make install 命令
    make install

  8. 在此阶段,MPI 已成功地安装到了计算机(如 n1)上:
    清单 6. MPI 安装
    			
    #cd /opt/mpich
    #ls 
    			


    图 10. MPI 安装
    mpi 已安装

  9. 现在有两种选择:
    1. 可以导出 /opt/mpich,并将该文件夹装入到其他计算机上。
    2. 可以重复上面的步骤在所有的计算机(如 n2 和 n3)上构建和安装 MPI。

    注意:在进行下一步操作之前,请确保通过上述某种方法使 /opt/mpich 在所有计算机上可用。

  10. 更新 /etc/bashrc 文件中的 PATH 变量,以找到正确的 MPI 并进行运行:
    清单 7. 更新 /etc/bashrc 文件
    			
    #cd /etc 
    #vi bashrc
    ..
    			
    			
    export PATH=/opt/mpich/bin:$PATH
    			

  11. 编译该示例:
    清单 8. 示例
    		
    #cd /opt/mpich/examples
    #make 
    		

  12. 在 ch_p4mpd 设备类型中,所有的计算机彼此之间使用守护进程进行通信。所有的计算机使用相同的端口号来交换信息,因此形成了一个通信环。必要时,同一台计算机可以成为另一个通信环中的一部分。在用户的 home 目录中创建一个 .mpd.conf 文件,在启动守护进程之前它保存了密码信息。
    清单 9. 创建一个 .mpd.conf 文件
    		
    $cat > /home/hchauhan/.mpd.conf 
    password=hello ^D 
    $chmod 600 /home/hchauhan/.mpd.conf 
    		


    图 11. 创建一个 .mpd.conf 文件
    mpd conf 文件
  13. 在计算机 n1 上启动守护进程:
    清单 10. 启动守护进程
    			
    #su - hchauhan 
    $cd /opt/mpich/bin
    $./mpd -t  CTRL^Z
    $bg 
    		

    这个命令启动了守护进程,并显示了所使用的端口号,例如 37476


    图 12. 启动守护进程
    mpd

  14. 通过执行下面的命令,其他的计算机(如 n2n3)可以加入到同一个通信环中:
    清单 11. 启动守护进程
    		
    #su - hchauhan 
    $cd /opt/mpich/bin 
    $cat > /home/hchauhan/.mpd.conf 
    password=hello ^D 
    $chmod 600 /home/hchauhan/.mpd.conf 
    $./mpd -p 37476 -h n1  CTRL^Z
    $bg 
    		

    这个命令在 n2 上启动了守护进程,并使之成为了该通信环的一部分。


    图 13. 在 n2 上启动守护进程
    mpd 加入

  15. 检查运行守护进程的计算机的状态:
    清单 12. 计算机的状态
    		
    #su - hchauhan 
    $cd /opt/mpich/bin 
    $./mpdtrace
    		


    图 14. 计算机的状态
    mpd 加入

  16. root 用户的身份编辑该示例:
    清单 13. 示例
    		
    #cd /opt/mpich/examples 
    #make 
    		

  17. 以 hchauhan 用户的身份运行一个示例应用程序,如 cpi
    清单 14. 示例程序
    
    #su - hchauhan
    $cd /opt/mpich/bin 
    $./mpirun -machinefile node.LINUX -np 8 ../examples/cpi 
    		


    图 15. 示例程序
    运行程序

  18. MPI 环境已准备就绪。现在,任何使用 MPI API 调用的程序都可以利用这些计算机的计算能力了。




回页首


卸载

要从系统中卸载 MPI,请按照下面列出的步骤进行操作:

  1. 执行 /opt/mpich/sbin/mpiuninstall 脚本。
  2. 运行 #rm -rf /opt/mpich



参考资料

学习
  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文

  • 查看本系列中的第 1 部分

  • Linux on Open Power”(developerWorks,August 2005)指导您完成在 OpenPower 上安装和配置 Red Hat Enterprise Linux (RHEL)/SUSE Linux Enterprise Server (SLES) 的过程。

  • PuTTY 下载页提供了 putty 文件。

  • LAM/MPI Parallel Computing 提供了关于 Message Passing Interface (MPI) 规范的开源实现的信息。

  • MPI 主页提供了关于消息传递库的信息。

  • MPI 论坛包括正式的 MPI (Message Passing Interface) 标准文档

  • MPI 标准描述了接口标准、教程、库和其他资源的链接,以及 MPICH(MPI 的一种实现)。

  • MPI:The Complete Reference 描述了 MPI 标准以及如何编写程序。

  • 想要了解更多内容吗?请访问 developerWorks eServer 专区,以获得数百篇关于 eServer 品牌的入门级、中级和高级教程,您将大开眼界。

  • IBM developerWorks 在全球举办数百场免费技术讲座,您可以免费参加。

讨论


关于作者

Harish Chauhan 的照片

Harish 从 1998 开始就一直在 IBM 工作,他具有 14 年的从业经验。在 IBM 的最近 8 年期间,他分别在 India Research Lab 工作了 5 年,在 IBM T.J.Watson Research Center 工作了 1 年。在过去的一年半中,Harish 领导了位于印度班加罗尔市的 Linux Center of Competency。您可以通过 hchauhan@in.ibm.com 与 Harish 联系。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


Linux 是 Linus Torvalds 在美国和/或其他国家的商标。 其他公司、产品或服务的名称可能是其他公司的商标或服务标志。

IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款