METODE CLUSTER MENGGUNAKAN KOMBINASI ALGORITMA CLUSTER K ...
Membangun Cluster MPICH2 Dengan Ubuntu 10 04 Lucid Lynx Imkrisna
-
Upload
andy-prince-aurora -
Category
Documents
-
view
16 -
download
1
Transcript of Membangun Cluster MPICH2 Dengan Ubuntu 10 04 Lucid Lynx Imkrisna
Membangun Cluster MPICH2 dengan Ubuntu 10.04 Lucid Lynx
Instalasi Ubuntu 10.04 Lucid Lynx
Jelas yang pertama dibutuhkan adalah sistem operasi yang mendukung sistem MPICH2. Untuk itu dalam tutorial ini digunakan Ubuntu 10.04
Lucid Lynx versi Desktop 32-bit dengan arsitektur i386 untuk mempermudah pengerjaan bagi pemula atau yang tidak biasa bekerja dengan
sistem operasi linux. Tidak menutup kemungkinan sistem operasi yang lain untuk digunakan akan tetapi kecocokan langkah-langkah pada
tutorial ini tidak terjamin keberhasilannya. Untuk tutorial ini, semua langkah akan dilakukan dengan privileges root.
krisna@lpgrid-a0:~$ sudo bash
[sudo] password for krisna:
root@lpgrid-a0:~#
root@lpgrid-a0:~# passwd
krisna@lpgrid-a1:~$ sudo bash
[sudo] password for krisna:
root@lpgrid-a1:~#
root@lpgrid-a1:~# passwd
Ganti password root agar nantinya dapat diakses menggunakan SSH dengan user root.
Ubuntu 10.04 Lucid Lynx dapat didapatkan dari :
1. Situs resmi Ubuntu
2. Universitas Indonesia
3. Universitas Gadjah Mada
4. Institut Teknologi Bandung (10.04.1) - kecocokan sistem belum diuji
Untuk instalasi disarankan menggunakan bahasa inggris (English) baik saat instalasi maupun bahasa pada sistem operasi. Kemudian pada
partisi harddisk gunakan "Guided" yang menggunakan seluruh harddisk dan diatur sepenuhnya oleh installer, untuk setting selanjutnya
disarankan memilih yang direkomendasikan oleh installer.
Arsitektur dan Jaringan
Dalam tutorial ini hanya akan digunakan 2 node, 1 master dan 1 slave. Pada nantinya sistem ini dapat ditambah jumlah nodenya sesuai
kebutuhan dengan langkah yang sama untuk semua slavenya. Kedua node ini terdapat pada suatu subnet yang sama misalkan subnet
Laboratorium Pemrograman Teknik Informatika ITS (10.151.34.0/24)
Sekarang kita misalkan node master memiliki hostname : lpgrid-a0 dan IP : 10.151.34.50, kemudian node slave memiliki hostname : lpgrid-
a1 dan IP : 10.151.34.51, untuk mendapatkan hostname maka harus diperhatikan saat melakukan instalasi sistem operasi (saat setting user
dan password) sedangkan untuk setting alamat IP, buka /etc/network/interfaces dengan text editor yang anda kuasai, kemudian ubah menjadi
seperti ini :
root@lpgrid-a0:~# vim /etc/network/interfaces
root@lpgrid-a1:~# vim /etc/network/interfaces
* Pada lpgrid-a0 (master)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.151.34.50
network 10.151.34.0
netmask 255.255.255.0
broadcast 10.151.34.255
gateway 10.151.34.1
* Pada lpgrid-a1 (slave)
Ads by Google Ubuntu Ubuntu Live CD Ubuntu for PC Linux Mint
3/15/2011 Membangun Cluster MPICH2 dengan U…
…imkrisna.com/…/mpich2-ubuntu-lucid.… 1/5
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.151.34.51
network 10.151.34.0
netmask 255.255.255.0
broadcast 10.151.34.255
gateway 10.151.34.1
Kemudian masukkan perintah untuk memerintahkan sistem operasi agar melakukan konfigurasi ulang terhadap setting jaringannya.
root@lpgrid-a0:~# /etc/init.d/networking restart
root@lpgrid-a1:~# /etc/init.d/networking restart
Setting diatas digunakan untuk membuat alamat IP dari node agar memiliki IP yang tetap karena pada umumnya komputer akan mendapatkan
IP dari DHCP server sehingga alamat IP suatu komputer yang sama dapat berubah-ubah. Dan satu hal lagi yang sering terlupa, merubah
nameserver (DNS) acuan node. buka file /etc/resolv.conf dengan text editor dan masukkan IP nameserver yang tersedia, misalnya :
root@lpgrid-a0:~# vim /etc/resolv.conf
root@lpgrid-a1:~# vim /etc/resolv.conf
nameserver 10.151.34.11
nameserver 202.46.129.2
nameserver 202.46.129.3
Dan yang terakhir adalah mendefinisikan hostname yang digunakan dalam cluster grid ini kedalam file /etc/hosts baik pada master maupun
slave agar saat kita memanggil hostname maka tidak perlu meresolve ke DNS server atau yang lain sehingga lebih cepat. Seperti biasa, buka
file tersebut dengan text editor dan ubah didalamnya menjadi :
root@lpgrid-a0:~# vim /etc/hosts
root@lpgrid-a1:~# vim /etc/hosts
127.0.0.1 localhost
10.151.34.50 lpgrid-a0
10.151.34.51 lpgrid-a1
Perlu diingat jangan sampai hostname selain localhost memiliki IP : 127.0.0.1
Langkah opsional yang biasanya dilakukan dalam instalasi jaringan, setting repositori ubuntu untuk mempermudah pengambilan paket-paket
yang diperlukan. Untuk ubuntu lucid lynx, dalam lingkungan Teknik Informatika ITS, GRID Computing Laboratory telah menyediakan
repositorynya di :
root@lpgrid-a0:~# vim /etc/apt/sources.list
root@lpgrid-a1:~# vim /etc/apt/sources.list
deb http://10.151.35.203/lucid lucid main restricted universe multiverse
deb http://10.151.35.203/lucid lucid-updates main restricted universe multiverse
deb http://10.151.35.203/lucid lucid-security main restricted universe multiverse
deb http://10.151.35.203/lucid lucid-backports main restricted universe multiverse
Membuat NFS Server dan Client
NFS Server adalah sistem yang digunakan node-node dalam cluster ini berbagi resource file yang akan dikerjakan. Master akan menjadi NFS
Server dimana nantinya suatu bagian dari filesystem pada node master akan dapat dimount oleh node slave sebagai NFS Client dan akhirnya
master dan slave akan berbagi file yang akan dikerjakan oleh cluster tersebut. Misalkan folder yang akan dishare oleh master adalah /mirror.
* Pada lpgrid-a0 (master)
root@lpgrid-a0:~# mkdir /mirror
3/15/2011 Membangun Cluster MPICH2 dengan U…
…imkrisna.com/…/mpich2-ubuntu-lucid.… 2/5
root@lpgrid-a0:~# apt-get install nfs-kernel-server
root@lpgrid-a0:~# echo /mirror *(rw,sync) >> /etc/exports
* Pada lpgrid-a1 (slave)
root@lpgrid-a1:~# mkdir /mirror
root@lpgrid-a1:~# apt-get install nfs-common
root@lpgrid-a1:~# mount lpgrid-a0:/mirror /mirror
Pada tahap ini folder /mirror pada master maupun slave akan memiliki isi yang sama dan perubahan apapun di folder ini pada master akan
berubah juga pada slave.
Konfigurasi SSH antar node
SSH digunakan oleh MPICH2 untuk berkomunikasi antar node sehingga pada akhirnya akan dibutuhkan komunikasi melalui SSH yang tidak
memerlukan input password untuk membuat jalur SSH. Langkah ini dilakukan pada semua node cluster GRID.
root@lpgrid-a0:~# apt-get install openssh-server
root@lpgrid-a0:~# ssh-keygen -t rsa
root@lpgrid-a0:~# ssh root@lpgrid-a1 mkdir -p .ssh
root@lpgrid-a0:~# cat /root/.ssh/id_rsa.pub | ssh root@lpgrid-a1 'cat >> /root/.ssh/authorized_keys'
Kosongkan passphrase yang diminta saat ssh-keygen, langsung tekan enter. Setelah langkah diatas maka sistem akan dapat melakukan SSH
tanpa password, lakukan hal yang sama pada slave slave lain dengan target host SSH diganti dengan lpgrid-a0.
Instalasi MPICH2
Sebelum melakukan instalasi MPICH2, sebaiknya melakukan instalasi paket-paket compiler yang sekiranya nanti dibutuhkan oleh MPICH2.
Langkah ini dilakukan baik pada master maupun slave.
root@lpgrid-a0:~# apt-get install build-essential
root@lpgrid-a0:~# apt-get install gpc
root@lpgrid-a0:~# apt-get install gfortran
root@lpgrid-a0:~# apt-get install openjdk-6-jdk
Lakukan instalasi melalui repositori yang ada pada seluruh node, baik master maupun slave
root@lpgrid-a0:~# apt-get install mpich2
Setelah instalasi melalui repositori berhasil, uji dengan memasukkan beberapa perintah which command dibawah ini. Apabila berhasil,
perintah tersebut akan memiliki output /usr/bin/command
root@lpgrid-a0:~# which mpd
/usr/bin/mpd
root@lpgrid-a0:~# which mpiexec
/usr/bin/mpiexec
root@lpgrid-a0:~# which mpirun
/usr/bin/mpirun
Kemudian melakukan setting terhadap mpd pada seluruh node baik master maupun slave, pertama buat file pada /root/mpd.hosts dengan isi
hostname hostname yang tergabung pada grid cluster :
root@lpgrid-a0:~# vim mpd.hosts
root@lpgrid-a1:~# vim mpd.hosts
lpgrid-a0
lpgrid-a1
Kemudian buat file pada /etc/mpd.conf yang berisi secretword=apapun dan lakukan chmod pada file tersebut untuk mengamankan dari
akses yang tidak berhak.
3/15/2011 Membangun Cluster MPICH2 dengan U…
…imkrisna.com/…/mpich2-ubuntu-lucid.… 3/5
root@lpgrid-a0:~# vim /etc/mpd.conf
root@lpgrid-a0:~# chmod 600 /etc/mpd.conf
root@lpgrid-a1:~# vim /etc/mpd.conf
root@lpgrid-a1:~# chmod 600 /etc/mpd.conf
Sekarang saatnya mencoba kesuksesan instalasi MPICH2 dengan perintah :
root@lpgrid-a0:~# mpd &
root@lpgrid-a0:~# mpdtrace
root@lpgrid-a0:~# mpdallexit
Pada saat mpdtrace, seharusnya akan terlihat hostname yang mengeksekusi command tersebut. Apabila sudah berhasil, pastikan seluruh mpd
pada node node mati dengan mpdallexit. Kemudian masukkan perintah berikut pada node master untuk menghidupkan seluruh cluster :
root@lpgrid-a0:~# mpdboot -n 2
root@lpgrid-a0:~# mpdtrace
2 adalah jumlah node yang dimiliki cluster tersebut atau kurang. Saat mpdtrace saat ini akan terlihat 2 hostname yaitu lpgrid-a0 dan lpgrid-
a1.
Testing Program MPI
Tahap testing ini hanya memerlukan satu node saja dan tidak harus dilakukan pada master node namun dianjurkan untuk dilakukan di master
node. Download contoh source code yang menggunakan MPI
bones.C
sum.C
Lakukan kompilasi terhadap source code tersebut
root@lpgrid-a0:~# mpic++ bones.C -o /mirror/bones
root@lpgrid-a0:~# mpic++ sum.C -o /mirror/sum
Lakukan percobaan eksekusi hasil kompilasi tersebut pada sistem MPICH2, pastikan output kompilasi berada pada folder yang dishare oleh
NFS
root@lpgrid-a0:~# mpiexec -n 2 /mirror/./bones
BONES :
C++ Program version
An MPI example program.
The number of processes available is 2
P:1 - setting up data to send to process 0.
P:0 Got data from process 1
P:0 Got 100 elements.
P:0 value[5] = 5
BONES:
Normal end of execution.
root@lpgrid-a0:~# mpiexec -n 2 /mirror/./sum
SUM - Master process:
C++ version
An MPI example program.
The master process computes some coefficients,
sends them to each worker process, which sums them.
Compiled on Oct 25 2010 at 13:17:19
The number of processes available is 2
SUM - Process 0:
3/15/2011 Membangun Cluster MPICH2 dengan U…
…imkrisna.com/…/mpich2-ubuntu-lucid.… 4/5
My contribution to the sum is 0
SUM - Process 1:
My contribution to the sum is 19197.6
SUM - Master process:
The total sum is 19197.6
SUM - Master process
Normal end of execution.
Referensi
1. Setting Up an MPICH2 Cluster in Ubuntu - https://wiki.ubuntu.com/MpichCluster
2. SSH Login Without Password - http://linuxproblem.org/art_9.html
3. MPI C++ Examples - http://people.sc.fsu.edu/~jburkardt/cpp_src/mpi/mpi.html
©2010 - I Made Krisna Widhiastra
3/15/2011 Membangun Cluster MPICH2 dengan U…
…imkrisna.com/…/mpich2-ubuntu-lucid.… 5/5