來源:互聯網
上載者:User
關鍵字
Linux
高性能
MPICH2
平行計算環境
MPICH2 提供了在現有的軟硬體架構下對大資料進行並行、分散式處理的一個平臺。 本文將介紹如何在 Linux 系統下建立基於 MPICH2 的高性能分散式平行計算環境。
MPI(Message Passing Interface)是由 MPI 委員會制定的一個消息傳遞標準,其中定義了一系列用於分散式環境中進行進程間通信的程式設計介面,目前有 MPI-1 和 MPI-2 兩個版本。 MPICH2 就是對 MPI 的一個具體實現,MPICH2 在保證高性能的同時保持了高度的可攜性,支援包括 AIX、Linux(IA32 和 x86-64)、Mac OS/X(PowerPC 和 Intel)、Solaris(32 位和 64 位)和 Windows 在內的多種平臺。 MPICH2 是一個開放原始碼的專案。
準備系統和HTTP://www.aliyun.com/zixun/aggregation/16327.html">網路環境
本文中用的軟硬體系統如下:
局域網中三台安裝有 64 位的 Red Hat Enterprise Linux 5.5 的機器。 三台機器的 hostname 分別是 s1、s2 和 s3。 我們將會用 s1 作為 MPICH2 環境中的 Server,s2 和 s3 作為 MPICH2 環境中的 worker。 Linux 系統中已經安裝了 Python2.6、SSH 服務、NFS 服務。
步驟 1 配置 SSH
MPICH2 提供了一系列的命令對分散式運算環境中的各個進程(這些進程可能是在不同的機器中運行)進行管理,這些工具在後臺都是用 SSH 來進行操作,所以將 Server 和 Worker 之間配置成無密碼的 SSH 登陸可以方便後邊的操作。
在 s1 上執行如下命令:
[root@s1 ~]# ssh-keygen -t rsa [root@s1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@s2 [root@s1 ~]# ssh-copy-id -i ~/. ssh/id_rsa.pub root@s3
步驟 2 配置 NFS
MPICh2 並沒有提供一個統一的檔案系統,所以需要借助作業系統提供的共用檔案系統在 Server 和多個 Worker 之間共用資料。 這裡以 NFS 為例。
首先在 Server s1 上建立 NFS 共用目錄:
創建共用目錄: [root@s1 ~]# mkdir /share 將目錄加入到 NFS 共用目錄清單,在 /etc/exports 中添加如下配置: /share *(sync,rw,no_root_squash) 在 s1 上啟 動 NFS 服務: [root@s1 ~]# service nfs start
然後在 Worker s2 和 s3 上 mount s1 共用的 NFS 目錄:
[root@s2 ~]# mkdir /share [root@s2 ~]# mount s1:/share /share [root@s3 ~]# mkdir /share [root@s3 ~]# mount s1:/share /share