2013年3月29日 星期五
2013年3月24日 星期日
Ubuntu12.10 Server_架設二台VM叢集跑MPI
題目:VM Cluster setup and performance results
1. Please setup a VM cluster (at least two VMs) on your computer
1.1 Please clone your VM for the other, and setup networking
2. Please install HPL on one VM and get HPL result
3. Please install HPL on both VMs and get HPL result
example
ct@c1:~$ /usr/bin/mpirun -hostfile hosts -np 4 hello3_mpi.exe
Hello World! from processor 0 of 4 on c1
Hello World! from processor 1 of 4 on c1
Hello World! from processor 2 of 4 on c2
Hello World! from processor 3 of 4 on c2
4. Please run bwtest_mpi on both VMs
example
ct@c1:~$ /usr/bin/mpirun -H c1,c2 -np 2 bwtest_mpi.exe 524288
c1 c2 156.367Mbps 52.3896ms
⓪實體機若2核,兩台VM開的也都2核。
實驗記錄
工具:Ubuntu 12.10 server
環境:架設二台VM(Ubuntu Server)、一台Client(Windows 8)
IP Address:
192.168.186.2(CC1)
192.168.186.3(CC2)
一、基本設置:
設定IP:
# sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address [IP]
netmask 255.255.255.0
gateway [GW]
dns-nameservers [168.95.1.1]
二、重啟網路:
cd /etc/init.d/
sudo restart networking
三、更改 hostname & hosts
3.1 路徑:
cd /etc/
sudo hostname
/etc/hosts
127.0.0.1 localhost cc1 or cc2
192.168.186.2 or 192.168.186.2 cc1or cc2
3.2 Windows 8修改hosts
路徑:C:\Windows\System32\Drivers\etc
(把hosts資料放到桌面修改完後再貼回去!)
注意:
若使用VMWare Clone者,設定網路環境時,
要修改/etc/hosts底下的電腦名稱(如下圖),127.0.0.1 [電腦名稱]
四、 安裝&設定SSH
參考網址:鳥哥私房菜,免密碼SSH,免密碼SSH2,免密碼SSH3
套件升級(包含作業系統更新),指令:sudo apt-get upgrade
之前使用CentOS的時候,SSH是內建在裡面的,現在Ubuntu要自行安裝。
安裝SSH:sudo apt-get install ssh
使用putty測試連線~~成功!
五、設定兩台PC免密碼使用SSH
5.1 在CC1 & CC2 上下指令:ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/home/landy/.ssh/id_rsa):[ENTER]
Enter Passphrase(Empty For No PassPhrase):[ENTER]
Enter same passphrase again:[ENTER]
5.2.1 RSA存放路徑/home/landy/.ssh/id_rsa
5.2.2 檔案異地直接複製: scp
⓪如果知道伺服器上的檔案及檔名, 則是透過 scp 這個指令較為簡單。
⓪複製key檔案,輸入命令: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
authorized_keys 專門用來存放公開金鑰的檔案
⓪我目前要把CC1的資料復製到CC2上
指令:scp ~/.ssh/*.pub ID@主機位置:~/.ssh/
ID: landy(CC2's ID)
主機位置:CC2's 192.168.186.3
案例指令:scp ~/.ssh/*.pub landy@192.168.186.3:~/.ssh
補充1:移除.ssh目錄指令:m -rf ~/.ssh
補充2:CC1做好內部測試可以通後,將整個.ssh內的資料都copy到CC2下。
測試指令:ssh localhost,ssh cc1,ssh cc2
六、建立一個資料夾mpi_test,然後在linux內讀取usb隨身碟,將usb內的script都copy到linux下。
⓪將usb接到nb上,在Vmware右下角USB連線。
(1)cd /dev <放各種硬體裝罝的地方>
(2)ls sd* <顯示硬碟>
sdb1指隨身碟
(3)sudo mount /dev/sdb1 /mnt <掛載隨身碟到mnt目錄>
(4)進入mpi_test資料夾:
cp /mnt/shell\ scrip.zip mpi_test(OR[.]指此目錄),\指還原符號(linux無法認空白,要給\)
(6)解壓縮:unzip shell\ scrip.zip(打s後給tab鍵即會帶出)
(7)sudo umount /mnt
⓪補充:移檔案指令mv
指令:mv ~/mpi_test/all ./ < [.]在此資料夾
指令:copy file hello3_mpi.c to "shell scrip"資料夾
七、安裝MPI
指令:
$ sudo apt-get update
$ sudo apt-get install make
$ sudo apt-get install patch
$ sudo apt-get install gcc g++ gfortran
$ which gcc
$ which g++
$ which gfortran
$ sudo apt0get install openmpi-bin openmpi-doc libopenmpi-dev
$ which mpicc
$ sudo apt-get upgrade
八、下指令 vi cpcompall.sh內容裡加入路徑mpi_test
PS:要先看cpcompall.sh在那一個路徑下,此例為在$HOME/mpi_test。
九、執行MPI<OK>
指令:./copmpall.sh all hello3_mpi
⓪ ./cpcompall.sh(執行檔)all (檔案),hello3.mpi(程式)。
⓪all及hello3.mpi檔案,使用vi編輯。

十、$mpirun -hostfile hosts -np 2(4,8) hello3_mpi.exe
指令:/usr/bin/mpirun -hostsfile hosts -np 2(or4,8) hello3_mpi.exe
-np(number process行程),4(指同時跑四個工作)
/usr/binmpirun -H c1,c2 -np 2 bwtest_mpi.exe
十一、跑HPL
11.1 掛載USB,將sh_hpl_hpcc_NOsource_03112013.tar.gz復製到mpi_test資料夾內。
11.2 Get file "sh_hpl_hpcc_NOsource_03112013.tar.gz" and untar it from Run CC1 and CC2
解壓縮:$tar zxvf sh_hpl_hpcc_NOsource_03112013.tar.gz
$cd source_hpl_hpcc
$time sh get_all_nointel_03112013.sh
十二、Install GotoBLAS2, Openblas, HPCC and HPL with gcc by your account
12.1 指令:more hpl_hpcc_all_03112013.sh
12.2 指令:time sh open026_goto2113_lap342_hpl21_hpcc142.sh gcc 64 2
1. r:刪除其下的檔案及目錄 (類似dos之deltree)
2. i:刪除時提出警告
3. f:刪除時不提出警告
4. d:刪除目錄,即使該目錄並非空目錄
1. Please setup a VM cluster (at least two VMs) on your computer
1.1 Please clone your VM for the other, and setup networking
2. Please install HPL on one VM and get HPL result
3. Please install HPL on both VMs and get HPL result
example
ct@c1:~$ /usr/bin/mpirun -hostfile hosts -np 4 hello3_mpi.exe
Hello World! from processor 0 of 4 on c1
Hello World! from processor 1 of 4 on c1
Hello World! from processor 2 of 4 on c2
Hello World! from processor 3 of 4 on c2
4. Please run bwtest_mpi on both VMs
example
ct@c1:~$ /usr/bin/mpirun -H c1,c2 -np 2 bwtest_mpi.exe 524288
c1 c2 156.367Mbps 52.3896ms
⓪實體機若2核,兩台VM開的也都2核。
實驗記錄
工具:Ubuntu 12.10 server
環境:架設二台VM(Ubuntu Server)、一台Client(Windows 8)
IP Address:
192.168.186.2(CC1)
192.168.186.3(CC2)
一、基本設置:
設定IP:
# sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address [IP]
netmask 255.255.255.0
gateway [GW]
dns-nameservers [168.95.1.1]
二、重啟網路:
cd /etc/init.d/
sudo restart networking
三、更改 hostname & hosts
3.1 路徑:
cd /etc/
sudo hostname
/etc/hosts
127.0.0.1 localhost cc1 or cc2
192.168.186.2 or 192.168.186.2 cc1or cc2
3.2 Windows 8修改hosts
路徑:C:\Windows\System32\Drivers\etc
(把hosts資料放到桌面修改完後再貼回去!)
注意:
若使用VMWare Clone者,設定網路環境時,
要修改/etc/hosts底下的電腦名稱(如下圖),127.0.0.1 [電腦名稱]
四、 安裝&設定SSH
參考網址:鳥哥私房菜,免密碼SSH,免密碼SSH2,免密碼SSH3
套件升級(包含作業系統更新),指令:sudo apt-get upgrade
之前使用CentOS的時候,SSH是內建在裡面的,現在Ubuntu要自行安裝。
安裝SSH:sudo apt-get install ssh
使用putty測試連線~~成功!
五、設定兩台PC免密碼使用SSH
5.1 在CC1 & CC2 上下指令:ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/home/landy/.ssh/id_rsa):[ENTER]
Enter Passphrase(Empty For No PassPhrase):[ENTER]
Enter same passphrase again:[ENTER]
5.2.2 檔案異地直接複製: scp
⓪如果知道伺服器上的檔案及檔名, 則是透過 scp 這個指令較為簡單。
⓪複製key檔案,輸入命令: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
authorized_keys 專門用來存放公開金鑰的檔案
⓪我目前要把CC1的資料復製到CC2上
指令:scp ~/.ssh/*.pub ID@主機位置:~/.ssh/
ID: landy(CC2's ID)
主機位置:CC2's 192.168.186.3
案例指令:scp ~/.ssh/*.pub landy@192.168.186.3:~/.ssh
補充1:移除.ssh目錄指令:m -rf ~/.ssh
補充2:CC1做好內部測試可以通後,將整個.ssh內的資料都copy到CC2下。
測試指令:ssh localhost,ssh cc1,ssh cc2
六、建立一個資料夾mpi_test,然後在linux內讀取usb隨身碟,將usb內的script都copy到linux下。
⓪將usb接到nb上,在Vmware右下角USB連線。
(1)cd /dev <放各種硬體裝罝的地方>
(2)ls sd* <顯示硬碟>
sdb1指隨身碟
(3)sudo mount /dev/sdb1 /mnt <掛載隨身碟到mnt目錄>
(4)進入mpi_test資料夾:
cp /mnt/shell\ scrip.zip mpi_test(OR[.]指此目錄),\指還原符號(linux無法認空白,要給\)
(6)解壓縮:unzip shell\ scrip.zip(打s後給tab鍵即會帶出)
(7)sudo umount /mnt
⓪補充:移檔案指令mv
指令:mv ~/mpi_test/all ./ < [.]在此資料夾
指令:copy file hello3_mpi.c to "shell scrip"資料夾
七、安裝MPI
指令:
$ sudo apt-get update
$ sudo apt-get install make
$ sudo apt-get install patch
$ sudo apt-get install gcc g++ gfortran
$ which gcc
$ which g++
$ which gfortran
$ sudo apt0get install openmpi-bin openmpi-doc libopenmpi-dev
$ which mpicc
$ sudo apt-get upgrade
八、下指令 vi cpcompall.sh內容裡加入路徑mpi_test
PS:要先看cpcompall.sh在那一個路徑下,此例為在$HOME/mpi_test。
九、執行MPI<OK>
指令:./copmpall.sh all hello3_mpi
⓪ ./cpcompall.sh(執行檔)all (檔案),hello3.mpi(程式)。
⓪all及hello3.mpi檔案,使用vi編輯。

十、$mpirun -hostfile hosts -np 2(4,8) hello3_mpi.exe
指令:/usr/bin/mpirun -hostsfile hosts -np 2(or4,8) hello3_mpi.exe
-np(number process行程),4(指同時跑四個工作)
/usr/binmpirun -H c1,c2 -np 2 bwtest_mpi.exe
十一、跑HPL
11.1 掛載USB,將sh_hpl_hpcc_NOsource_03112013.tar.gz復製到mpi_test資料夾內。
11.2 Get file "sh_hpl_hpcc_NOsource_03112013.tar.gz" and untar it from Run CC1 and CC2
解壓縮:$tar zxvf sh_hpl_hpcc_NOsource_03112013.tar.gz
$cd source_hpl_hpcc
$time sh get_all_nointel_03112013.sh
CC1(流程圖):
CC2(流程圖):
十二、Install GotoBLAS2, Openblas, HPCC and HPL with gcc by your account
12.1 指令:more hpl_hpcc_all_03112013.sh
CC1
CC2
12.2 指令:time sh open026_goto2113_lap342_hpl21_hpcc142.sh gcc 64 2
CC1(流程圖)
CC2(流程圖)
12.3
Install
openblas.so.0 library path by root account
12.3.1 cd ~/hpl_hpcc_gcc_open_goto/xianyi-OpenBLAS-87b4d0c
ps: xianyi-OpenBLAS-87b4d0c要解壓縮,才會出現此資料夾(CC1&CC2皆要執行)。
12.3.2 下指令:sudo make PREFIX=/usr install 出錯
⓪除錯Log (Makefile.install : 13 : *** OpenBLAS: Please run "make" firstly. Stop.)
下指令:make PREFIX=/usr install,流程如下圖
12.3.2 測試還是失敗,於是下指令刪除rm -rf hpl_hpcc_gcc_open_goto,重弄
rm:刪除檔案或目錄 (類似dos之del、deltree)
rm -參數 檔案或目錄1. r:刪除其下的檔案及目錄 (類似dos之deltree)
2. i:刪除時提出警告
3. f:刪除時不提出警告
4. d:刪除目錄,即使該目錄並非空目錄
12.3.3 將source_hpl_hpcc移到根目錄下,指令:mv -f ~/mpi_test/source_hpl_hpcc ~/
(再重12.2開始做,即ok)
12.3.4 下以下兩個指令:
(1) sudo ldconfig
(2) ldconfig -p | grep openblas
12.3.5 指令:mpirun -hostfile hosts -np 2 xhpl & <NB風扇轉速開始大聲>
執行完後
more HPL.out
訂閱:
文章 (Atom)