並行計算π值

並行計算π值


並行計算定義

並行計算或稱平計算是相對於串行計算來說的。它是一種一次可執行多個指令的算法,目的是提高計算速度,及通過擴大問題求解規模,解決大型而複雜的計算問題。所謂並行計算可分爲時間上的並行和空間上的並行。時間上的並行就是指流水線技術,而空間上的並行則是指用多個處理器併發的執行計算。

並行計算特徵

1、將工作分離成離散部分,有助於同時解決;

2、隨時並及時地執行多個程序指令;

3、多計算資源下的解決問題的耗時要少於單個計算資源下的耗時。

網絡設置

並行計算機是靠網絡將各個處理機或者處理器連接起來的,一般有以下幾種方式,處理單元間有着固定連接的一類網絡,在程序執行期間,這種點到點的鏈接保持不變。

命令

配置IP地址

1.點擊菜單欄右側的wifi圖標,選擇Edit Connections按鈕。

2.點擊Edit按鈕編輯現有的有線連接。切換到IPV4 Settings選項卡,Method選擇手動設置IP模式(Manual),點擊add按鈕添加IP。IP地址自行設定(如:192.168.0.1)保證4個節點在同一網段(網關相同)。子掩碼255.255.255.0,網關根據IP設置(如:192.168.0.1),保存即設定成功。(可能需要手動點擊wifi選擇Ethernet Connection1)

安裝ssh服務

sudo dpkg -i libck*
sudo dpkg -i openssh-client*
sudo dpkg -i openssh-sftp*
sudo dpkg -i openssh-server*

啓動ssh服務

sudo service ssh start

安裝MPICH2

cd//切換到家目錄
cp softWare/mpich2-1.0.6.tar.gz ./   //回車複製軟件包到家目錄
tar zxf mpich2-1.0.6.tar.gz  //回車解壓目錄
mv mpich2-1.0.6 mpich2 //回車對文件夾進行重命名
cd mpich2 //回車切換到軟件根目錄
./configure //運行配置文件,運行後會輸出很多的信息,請注意過程中是否有Error信息
make //編譯軟件,運行後會輸出很多的信息,請注意過程中是否有Error信息
sudo make install //運行後會輸出很多信息,請注意過程中是否有Error信息
//到此MPICH2 安裝完成

檢測MPICH2是否安裝成功

which mpd
//輸出:/usr/local/bin/mpd
which mpiexec
//輸出:/usr/local/bin/mpiexec
which mpdboot
//輸出:/usr/local/bin/mpdboot

配置系統文件

1.切換到集羣機的第一個節點,打開終端。輸入命令cd回車切換到家目錄。

2.輸入nano .mpd.conf//建立MPICH2的配置文件。並在窗口中輸入MPD_SECRETWORD=123456,然後

ctrl+shift+o保存更改,回車,最後ctrl+x退出nano編輯器(注意.mpd.conf是隱藏文件,需要ls -al才能看

見,文件結尾不要換行)

3.輸入chmod 600 .mpd.conf//修改文件權限

4.nano mpd.hosts//建立集羣節點的列表文件,並在窗中輸入參與節點的主機名,文件結尾不要換行。然

後保存關閉窗口。

5.輸入命令 sudonano /etc/hosts 修改系統host文件 。將第二行的127.0.0.1修改爲本機的IP地址。忘記IP

地址可以使用 ifconfig 命令查看。最後再把其他運算節點的IP 和 主機名加入到host 文件中。保存並退出

nano 編輯器。

6.輸入命令 ping 主機名 檢查是否能夠與其他主機聯通,如果不能聯通 使用 ping IP地址 的方式檢查。如果

不能ping 通主機名,檢查是否正確修改 /etc/hosts 文件 ,如果不能ping 通 IP 檢查節點是否正確連接有線網

絡,或者IP地址是否正確。

7.輸入命令 ssh-keygen 生成SSH密鑰,過程中一路回車,不需要進行輸入操作。

8.輸入命令 cd .ssh 切換到ssh目錄。通過ls 命令查看目錄下面的文件,再輸入命令 cp id_rsa.pub

authorized_keys 複製公鑰爲認證密鑰 ,通過 ls 命令顯示目錄下的文件。

9.輸入命令 cd切換到家目錄。 再輸入命令 scp -r .sshgjy@011225-2:~/ 將ssh目錄複製到其他節點。

(scp 爲遠程複製命令,該命令需要執行多次將ssh目錄複製到每一個節點 用戶名@**主機名),第一次復

制需要輸入yes,然後輸入密碼。

10.輸入命令 scp /etc/hosts .mpd.conf mpd.hosts gjy@011225-2:~/ 將3個文件複製到其他節點。(該

命令需要執行多次,此時已經不需要輸入密碼,如果還需要密碼,則ssh免密碼登陸沒有生效,請檢查步驟

6、7、8操作是否正確)。

11.輸入命令 ssh 用戶名@主機名(如 ssh gjy@011225-2) 登陸到其他節點。

12.輸入命令 sudomv hosts /etc/替換本機etc目錄下的hosts 文件。

13.輸入命令 exit 退出遠程登陸。重複 9 ~ 12 步,直到每個節點都有這3個文件。

做π的並行計算

mpdboot -n 4 -f mpd.hosts //啓動並行運算節點。(4爲所有運算節點數 ,不能超過mpd.host文件中定義的主機數)
mpdtrace -l //查看所有啓動的節點
mpiexec -n 4 ./mpich2/examples/cpi //並行計算PI值(4爲運算的進程數,可以任意定義)

運行其他程序

1.編譯文件 queen.c

mpicc -o queen queen.c//編譯完成將生成一個叫.queen的文件

2.拷貝可執行文件到其他節點

scp queen gjy@011224-2:~/
scp queen gjy@011224-2:~/

3.並行計算

mpiexec -n 4 ./queen

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章