在Red Hat 5(AS 5)上配置多節點MPI互聯:
在各節點上分別執行:
第一步,以root賬戶登錄系統
安裝mpich2-1.1,具體步驟參見這裡
第二步,$ vim /etc/sysconfig/network
# 將文件中的“localhost.localdomain”修改為
# “{自定義主機名}.localdomain”
# 然後保存退出
第三步,$ vim /etc/hosts
# 將文件中的“127.0.0.1”(即本機回路地址)修改為
# “{本機當前IP地址} {自定義主機名}.localdomain {自定義主機名} ”
# 注意,此處的“自定義主機名”必須與第二步修改的相同
# 然後保存退出
$ reboot # 重啟系統,使修改生效
第四步,以root賬戶登錄系統
$ service iptables stop
# 關閉本機的防火牆
第五步,在主控節點上
$ mpd & # 啟動後台守護進程
$ mpdtrace -l # 查看並記錄端口號
在其他各節點上
$ mpd -h {主控節點當前IP地址} -p {剛才記錄的主控節點端口號} &
# 啟動後台守護進程,並使該進程與主控節點的守護進程相聯
第六步,$ mpdtrace -l # 顯示當前相聯的各節點的 主機名_端口號(IP地址)
如果第五步順利執行的話,各節點就通過MPI成功互聯了。
PS:過程中參考了mpich2-1.1的userguide。
精確控制各節點進程數的指令為:
$ mpiexec -l -n {進程數1} -host {節點1的IP地址} {程序1} : -n {進程數2} -host {節點2的IP地址} {程序2} : ……
從該指令可以看出,MPI允許各節點運行不同的程序。