Anda di halaman 1dari 5

3/15/2011

Membangun Cluster MPICH2 dengan U

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. 2. 3. 4. Situs resmi Ubuntu Universitas Indonesia Universitas Gadjah Mada Institut Teknologi Bandung (10.04.1) - kecocokan sistem belum diuji
Ubuntu Ubuntu Live CD Ubuntu for PC Linux Mint

Ads by Google

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 : lpgrida1 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)


imkrisna.com//mpich2-ubuntu-lucid. 1/5

3/15/2011
auto lo iface lo inet loopback

Membangun Cluster MPICH2 dengan U

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 10.151.34.50 10.151.34.51

localhost lpgrid-a0 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 deb deb deb

http://10.151.35.203/lucid http://10.151.35.203/lucid http://10.151.35.203/lucid http://10.151.35.203/lucid

lucid main restricted universe multiverse lucid-updates main restricted universe multiverse lucid-security main restricted universe multiverse 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

imkrisna.com//mpich2-ubuntu-lucid.

2/5

3/15/2011

Membangun Cluster MPICH2 dengan U


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:~# root@lpgrid-a0:~# root@lpgrid-a0:~# root@lpgrid-a0:~# apt-get install openssh-server ssh-keygen -t rsa ssh root@lpgrid-a1 mkdir -p .ssh 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:~# root@lpgrid-a0:~# root@lpgrid-a0:~# root@lpgrid-a0:~# apt-get apt-get apt-get apt-get install install install install build-essential gpc gfortran 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.
imkrisna.com//mpich2-ubuntu-lucid. 3/5

3/15/2011

Membangun Cluster MPICH2 dengan U


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 lpgrida1. 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 P:0 P:0 P:0 - setting up data to send to process 0. Got data from process 1 Got 100 elements. 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:

imkrisna.com//mpich2-ubuntu-lucid.

4/5

3/15/2011

Membangun Cluster MPICH2 dengan U


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

imkrisna.com//mpich2-ubuntu-lucid.

5/5

Anda mungkin juga menyukai