Sebelum memulai instalasi ada baiknya terlebih dahulu mempersiapkan segala sesuatu yang berhubungan dengan proses instalasi, seperti Repository (baik offline atau online). Adapun versi ubuntu yang saya gunakan disini adalah ubuntu versi 10.04, namun bisa juga menggunakan versi ubuntu yang lain. Namun saya tidak menjamin keberhasilannya jika yang dipakai mempunyai versi yang rendah dari ubuntu 10.04.

Untuk masalah Repository temen-temen bisa langsung menginstall paket aplikasi langsung secara online lewat Synaptic Package Manager. Disarankan memilih server lokal, karena mempunyai koneksi yang lebih cepat. Namun jika tidak ada koneksi internet bisa juga memakai DVD Repository khusus untuk ubuntu 10.04 , namun kekuranganya adalah pada ukuran dari DVD Repository yang lumayan cukup besar yaitu kurang lebih 33GB. Untuk tipe jaringan bebas, bisa menggunakan wired atau wireless.

Dalam tutorial ini akan dicontohkan menggunakan 2 node, untuk node master yaitu faruq-laptop (dengan IP 192.168.1.1) dan node slave yaitu Cayo (Dengan IP 192.168.1.2). Agar lebih mudah nantinya. User yang kita pakai adalah root. Untuk itu harus ada pengubahan password root pada masing-masing node. Untuk mengubah password, lakukan hal berikut pada masing-masing node.

sudo bash

Passwd

Masukan password sesuai yang anda inginkan. Sangat disarankan agar password root tiap node sama.

Jika persiapan sudah selesai, hal yang perlu diingat adalah semua pegaturan dan instalasi menggunakan user ROOT jadi TIDAK HARUS menggunakan perintah sudo di tiap awal perintah.

Dalam Tutorial ini akan ada dua pembagian pengaturan, yaitu pada sisi master dan slave.


1.PADA BAGIAN MASTER

Pertama, setting hosts terlebih dahulu. Gunakan perintah:

gedit /etc/hosts

masukan nama computer dari Master Node dan Slave Node beserta IP masing-masing. Jangan ada ambiguitas ketika memasukan hosts, artinya jangan sampe ada nama hosts yang sama tapi IP nya berbeda. Contoh seperti di gambar berikut:

Untuk mengetes koneksi, coba ping nama host tersebut dari Master ke Slave, begitu juga sebaliknya.


Kedua, Install NFS (Network File Sharing)

Tujuan menginstall NFS adalah sebagai tempat sharing folder dan file pada tiap node. Hal ini bisa disamakan dengan Map Network Drive pada windows. Di mana tiap perubahan pada folder yang di share di master node, maka juga terjadi perubahan pada node client. Dengan NFS inilah program MPI akan dieksekusi oleh semua node yang tergabung pada MPI Cluster. Masukan perintah berikut untuk menginstall NFS:

apt-get install nfs-kernel-server nfs-common portmap

setelah terinstal buat folder untuk dijadikan tempat sharing NFS. Dicontohkan folder yang dipakai adalah terletak di /berbagi. Untuk membuat folder tersebut bias menggunakan perintah:

mkdir /berbagi

Setelah folder selesai dibuat. Selanjutnya adalah konfigurasi terhadap folder tersebut agar bisa dimount dan di akses oleh node yang lain. Masukkan perintah berikut:

gedit /etc/exports

Masukkan pada paling akhir baris berikut ini:

/berbagi 192.168.1.1/24(rw,no_root_squash,sync)

Atau

/berbagi *(rw,no_root_squash,sync)

Restart NFS service pada Ubuntu dengan mengetikan perintah:

/etc/init.d/nfs-kernel-server restart


Ketiga, Install openssh

Seharusnya ada pengaturan terhadap openssh pada tutorial kali ini, tapi hal tersebut bersifat optional saja. Artinya jika tidak ingin direpotkan dengan autentikasi pada saat menjalankan MPI, maka kita harus melakukan pengaturan pada openssh. Di sini kita hanya akan melakukan instalasi openssh tanpa konfigurasi sama sekali. Nah, Untuk menginstall openssh gunakan perintah berikut:

apt-get install openssh-server


Keempat, Install MPICH2, GPC dan Build-Essential

Gunakan perintah berikut untuk menginstall paket-paket aplikasi diatas:

apt-get install mpich2 gpc build-essential

Di sini aplikasi MPICH2 sudah terinstall. Untuk mengetes aplikasi tersebut terinstall dengan baik atau tidak kita bisa menggunakan perintah berikut:

which mpd

jika benar keluaran dari perintah tersebut adalah /usr/bin/mpd

which mpiexec

jika benar keluaran dari perintah tersebut adalah /usr/bin/mpiexec

untuk MPICH2 ini, agar bisa berjalan maka harus ada penambahan setting berupa secretword yang disimpan pada mpd.conf. Secretword ini akan dipakai sebagai semacam autentikasi untuk berkomunikasi pada setiap node. Karena user yang dipakai pada tutorial ini adalah root. Maka secretcode tersebut disimpan di alamat /etc. selanjutny, gunakan perintah berikut untuk membuat file mpd.conf tersebut:

gedit /etc/mpd.conf

format penulisannya adalah:

secretword=something

ganti kata something, dengan kata yang temen-temen mau. Yang perlu diingat, setiap node harus memiliki secretword yang sama!.

Jika sudah, selanjutnya adalah mengubah permission dari file mpd.conf yang telah dibuat tadi.

chmod 600 /etc/mpd.conf

kemudian, test apakah konfigurasi yang telah kita lakukan benar atau tidak dengan menggunakan perintah:

mpd &

jika benar akan muncul port yang digunakan oleh mpd. Kemudian ketikan perintah:

mpdtrace

jika benar akan muncul nama node yang menjalankan proses mpd.

Selamat jika berhasil. Kemudian ada satu buah file lagi yang harus kita buat yaitu mpd.hosts. Di file ini akan diisi oleh node-node yang tergabung di dalam mpi cluster. Dalam tutorial ini di contohkan menggunakan nama host faruq-laptop dan Cayo. Untuk membuat file mpd.hosts tersebut gunakan perintah berikut:

gedit /root/mpd.hosts

isikan faruq-laptop dan Cayo (kondisikan dengan nama computer dari temen-temen), kemudian save.

Di sini proses instalasi pada sisi master bisa dianggap telah selesai.


2. PADA BAGIAN CLIENT

Pertama, setting hosts terlebih dahulu. Gunakan perintah:

sudo gedit /etc/hosts

masukan nama computer dari Master Node dan Slave Node beserta IP masing-masing. Jangan ada ambiguitas ketika memasukan hosts, artinya jangan sampe ada nama hosts yang sama tapi IP nya berbeda. Contoh seperti di gambar berikut:

Untuk mengetes koneksi, coba ping nama host tersebut dari Master ke Slave, begitu juga sebaliknya.


Kedua, install NFS (network file sharing)

Caranya sama dengan pada bagian master yaitu dengan menggunakan perintah:

sudo apt-get install nfs-kernel-server nfs-common portmap

setelah terinstal buat folder untuk dijadikan tempat sharing NFS. Dicontohkan folder yang dipakai adalah terletak di /berbagi. Untuk membuat folder tersebut bias menggunakan perintah:

mkdir /berbagi

Di sisi client tidak ada konfigurasi tambahan. Kita hanya tinggal me-mount folder yang telah kita buat sebagai tempat sharing saja. Caranya yaitu dengan mengetikkan perintah:

mount faruq-laptop:/berbagi /berbagi


Ketiga, Install openssh

Seharusnya ada pengaturan terhadap openssh pada tutorial kali ini, tapi hal tersebut bersifat optional saja. Artinya jika tidak ingin direpotkan dengan autentikasi pada saat menjalankan MPI, maka kita harus melakukan pengaturan pada openssh. Di sini kita hanya akan melakukan instalasi openssh tanpa konfigurasi sama sekali. Nah, Untuk menginstall openssh gunakan perintah berikut:

apt-get install openssh-server


Keempat, Install MPICH2, GPC dan Build-Essential

Gunakan perintah berikut untuk menginstall paket-paket aplikasi diatas:

apt-get install mpich2 gpc build-essential

Di sini aplikasi MPICH2 sudah terinstall. Untuk mengetes aplikasi tersebut terinstall dengan baik atau tidak kita bisa menggunakan perintah berikut:

which mpd

jika benar keluaran dari perintah tersebut adalah /usr/bin/mpd

which mpiexec

jika benar keluaran dari perintah tersebut adalah /usr/bin/mpiexec

untuk MPICH2 ini, agar bisa berjalan maka harus ada penambahan setting berupa secretcode yang disimpan pada mpd.conf. Secretcode ini akan dipakai sebagai semacam autentikasi untuk berkomunikasi pada setiap node. Karena user yang dipakai pada tutorial ini adalah root. Maka secretcode tersebut disimpan di alamat /etc. selanjutny, gunakan perintah berikut untuk membuat file mpd.conf tersebut:

gedit /etc/mpd.conf

format penulisannya adalah:

secretcode=something

ganti kata something, dengan kata yang temen-temen mau. Yang perlu diingat, setiap node harus memiliki secretword yang sama!.

Jika sudah, selanjutnya adalah mengubah permission dari file mpd.conf yang telah dibuat tadi.

chmod 600 /etc/mpd.conf

kemudian, test apakah konfigurasi yang telah kita lakukan benar atau tidak dengan menggunakan perintah:

mpd &

jika benar akan muncul port yang digunakan oleh mpd. Kemudian ketikan perintah:

mpdtrace

jika benar akan muncul nama node yang menjalankan proses mpd.

Selamat jika berhasil. Kemudian ada satu buah file lagi yang harus kita buat yaitu mpd.hosts. Di file ini akan diisi oleh node-node yang tergabung di dalam mpi cluster. Dalam tutorial ini di contohkan menggunakan nama host faruq-laptop dan Cayo. Untuk membuat file mpd.hosts tersebut gunakan perintah berikut:

gedit /root/mpd.hosts

isikan faruq-laptop dan Cayo (kondisikan dengan nama computer dari temen-temen), kemudian save.

Di sini proses instalasi pada sisi Client bisa dianggap telah selesai.


TAHAP PERCOBAAN

Pertama, matikan semua mpd service yang berjalan di semua node dengan perintah:

mpdallexit

Pastikan semua node harus sudah mati. Jika sudah, pada bagian master ketikan perintah berikut:

mpdboot –n 2

Perintah di atas bertujuan untuk menghidupkan semua node cluster melalui sis master. Di sini fungsi dari file mpd.hosts yang telah kita buat sebelumya. Kemudian jika ada permintaan koneksi pilih yes, kemudian masukan password root yang telah kita buat sebelumnya. Jika berhasil tidak akan pesan error atau notifikasi apapun. Untuk mengetesnya gunakan perintah berikut:

mpdtrace

Akan ada dua node yang muncul ketika perintah di atas di jalankan, yaitu faruq-laptop dan Cayo.

Kedua, jika sudah lakukan kompilasi terhadap source code yang akan kita pakai. Output kompilasi tersebut harus diletakan di folder NFS tadi. Untuk source code boleh diletakan dimana saja. Okay, gunakan perintah berikut untuk melakukan kompilasi program:

mpicc [sourcecode] –o [tempatkeluaran]

contoh:

mpicc /home/faruq/mergesort.c –o /berbagi/mergesort

Jika kompilasi berhasil, sekarang tinggal menjalankan aplikasi tersebut dengan perintah:

mpiexec –n 2 /berbagi/mergesort


Selesai, Jika ada pertanyaan silahkan tulis di kotak komentar dibawah. Mohon Maaf belum bisa upload gambarnya, Belum di screenshot soalnya. Kritik dan Saran di tunggu ya… Wassalam.