Archive for November, 2008

Setting Parallel Environment dengan MPICH2

Hohoho, sekali-kali posting yang berbau ilmu komputer dikit yaw..

Postingan kali ni berhubungan dengan tugas temen-temen yang ikutan kuliah Sistem Paralel (lhoh?? masih kuliah??), yaitu mengeksekusi program yang dieksekusi secara paralel menggunakan yang namanya MPICH2. Itu salah satu tools untuk mengeksekusi program secara paralel hehe.. maksudnya satu program yang sama di-run di lebih dari satu komputer. Kita sebut yang punya tugas misal, SEPTO (bukan nama sebenarnya) dan temannya yang membantu kita sebut ANGGA (bukan nama kuda).

Tugas ini nantinya akan melakukan eksekusi program di dua buah mesin milik si SEPTO dan si ANGGA. Dua-duanya menggunakan Linux sebagai Sistem Operasinya. si SEPTO memake Ubuntu 8.04 Hardy heron, si ANGGA memake Arch Linux versi terbaru cuy. Yang pengen tahu jauh tentang Arch Linux bisa nanya-nanya sama si kuda eh si ANGGA maksud saya. Untuk IP adress SEPTO, 192.168.0.37 dan si ANGGA 192.168.0.10.

Untuk informasi, di MPICH2 ni kamu nanti program-programnya memakai bahasa C, C++, atau fortran untuk bahasa pemrogramanya, nantinya di headernya akan dipanggil library milik MPICH ni. Mangkanya pastikan dulu Sistem Operasi anda mempunyai minimal C dan C++ compiler.

Untuk Ubuntu, jalankan sudo apt-get install build-essential utk mendapatkan gcc dan g++ terbaru. Selanjutnya donlod packages MPICH2 di “http://www.mcs.anl.gov/mpi/mpich2”. Setelah mendapatkan mpich2-1.0.8.tar.gz (versi yang didapat penulis), misal di tempat SEPTO mau diekstrak di direktori home, maka sebelumnya jgn lupa pindahkan file hasil donlotan ke direktori /home kemudian jalankan :

septo@septo-laptopPinjem:/home/septo$ tar xvf mpich2-1.0.8.tar.gz
septo@septo-laptopPinjem:/home/septo$ cd mpich2-1.0.8
septo@septo-laptopPinjem:/home/septo/mpich2-1.0.8$ ./configure –prefix=/folder/folder_yg_ingin_diinstali_&_dalam kuasa user (dlm contoh ini –prefix=/home/septo/mpich2)
septo@septo-laptopPinjem:/home/septo/mpich2-1.0.8$ make
septo@septo-laptopPinjem:/home/septo/mpich2-1.0.8$ make install

Jika bertemu error saat make install maka temukan file .bash_profile , buka dan tambahkan :

export PATH=/direktori_tempat_menginstal/mpich2/bin:$PATH
export LD_LIBRARY_PATH=/direktori_tempat_menginstal/mpich2/lib:$LD_LIBRARY_PATH

kemudian save, baru kemudian ulangi lagi make install-nya

Buka file /etc/environtment, kemudian tambahkan direktori bin dari hasil instalasi MPICH2, kalo di contoh si SEPTO, akan ditambahkan “:/home/mpich2/bin” (tanpa tanda petik ya..)

Copy salah satu contoh source dari folder source mpich2-1.0.8/examples, misal cpi.c ke direktori tempat menginstal mpich2, program cpi.c ni digunakan untuk menghitung nilai phi. Dalam kasus ini, dilakukan :

septo@septo-laptopPinjem:/home/mpich2$ cp /home/mpich2-1.0.8/examples/cpi.c /home/mpich2

Compile source program,

septo@septo-laptopPinjem:/home/mpich2$ mpicc -o cpi cpi.c

Eksekusi file hasil kompilasi

septo@septo-laptopPinjem:/home/mpich2$ mpiexec -n 3 cpi, enter

harusnya keluar pesan:

mpiexec_septo-laptopPinjem: cannot connect to local mpd (/tmp/mpd2.console_septo); possible causes:
1. no mpd is running on this host
2. an mpd is running but was started without a “console” (-n option)
In case 1, you can start an mpd on this host with:
mpd &
and you will be able to run jobs just on this host.
For more details on starting mpds on a set of hosts, see
the MPICH2 Installation Guide.

Maka jalankan :

septo@septo-laptopPinjem:/home/mpich2$ mpd &

Perintah ini akan menjalankan service mpd pada mesin SEPTO

Setelah servis mpd jalan, maka jika diulang:

septo@septo-laptopPinjem:/home/mpich2$ mpiexec -n 3 cpi
Process 0 of 3 is on septo-laptopPinjem
Process 1 of 3 is on septo-laptopPinjem
Process 2 of 3 is on septo-laptopPinjem
pi is approximately 3.1415926544231323, Error is 0.0000000008333392
wall clock time = 0.002674

ini berarti MPICH2 telah terinstal dengan sukses pada komputer anda, dalam kasus ini mesin si SEPTO.

Langkah selanjutnya, percuma kalo MPInya cuma jalan di satu mesin kan, maka akan dikonekkan antara 2 mesin, mesin si SEPTO dan mesin si ANGGA. Jangan lupa untuk menginstall MPICH2 di tempat si ANGGA juga. Caranya sama aja kok kayak di atas.

Pertama, dibuat ssh antara kedua mesin. Pastikan kedua mesin telah menginstall openssh-client dan open-ssh server
kemudian jgn lupa dicoba. dengan mengetikkan ssh namaHost@alamatMesin contoh :

ssh septo@192.168.0.37,

kemudian jika sukses maka anda akan ditanyai password untuk bisa login sebagai septo@192.168.0.37

Agar anda tidak ditanya-tanya tentang password lagi maka, di mesin pertama (ANGGA):

[angga@athena ~]$ ssh-keygen -t rsa, enter

kalo ditanya passphrase, ga usah diisi gapapa, langsung enter aja, kemudian

[angga@athena ~]$ ssh-copy-id -i /home/nama_user/id_rsa.pub septo@192.168.0.37

Ikuti langkahnya, kalo sukses, harusnya, di mesin pertama :

[angga@athena ~]$ ssh septo@192.168.0.37, tekan enter

Maka kamu akan langsung terhubung

Tetapi ternyata cara ini tiada pengaruhnya alias nonsens dan memutar jauh daripada cara yang akan kita pakai selanjutnya :-P,

Kemudian dicoba melalui cara tanpa ssh,

Mesin pertama :

septo@septo-laptopPinjem:/home/mpich2$ mpd &, enter,
septo@septo-laptopPinjem:/home/mpich2$ mpdtrace -l,

Untuk mengetahui hostname dan port yg digunakan service mpd dalam format hostname_port. Setelah itu diamkan hingga matang, hehehe 😀

Pada mesin kedua, pastikan tiada servis mpd yg berjalan, dgn mengecek melalui sintaks,

[angga@athena ~]$ mpdtrace -l

Jika masih ada ketikkan,

[angga@athena ~]$ mpdallexit

Jika sudah pasti, ketikkan mpd -h hostname -p port, hostname dan port disini adalah milik mesin pertama :

[angga@athena ~]$ mpd -h 192.168.0.37 -p 47581

Seharusnya, akan keluar pesan error, hehehe

Hal ini terjadi hostname yang diminta dalam sintaks ini mempunyai arti hostname yang sebenarnya, bukan hanya alamat IP address mesin. Kita harus mengeset nama mesin (hostname) selain kita mengeset host address, kesemuanya bisa kamu set di /etc/hosts, bisa pake vim, gvim, gedit, kate

di SEPTO :

septo@septo-laptopPinjem:/home/mpich2$ vim /etc/hosts
################################################################################
192.168.0.37 septo-laptopPinjem (baris tambahan, nama mesin SEPTO)
192.168.0.10 athena (baris tambahan, nama mesin ANGGA)
127.0.0.1 localhost
127.0.1.1 septo-laptopPinjem
################################################################################

Kemudian ada lagi yang di set, di mpd.hosts, kalo tiada tahu ada dimana, bsa gunakan perintah locate mpd.hosts

#######################################
athena (nama mesin ANGGA)
septo-laptopPinjem (nama mesin SEPTO)
#######################################

Lakukan hal yang sama di mesin kedua, ANGGA, intinya kedua mesin harus saling mendaftarkan nama diri.

Untuk mengecek sudah berhasilkah kedua mesin saling mengenali, ulangi

[angga@athena ~]$ mpd -h septo-laptopPinjem -p 47581, tekan enter

Akan keluar pesan keberhasilan, taraaaaa….

Kita cek juga dari pihak mesin SEPTO,

septo@septo-laptopPinjem:/home/mpich2$ mpiexec -n 5 hostname, enter
septo-laptopPinjem
septo-laptopPinjem
athena
athena
septo-laptopPinjem

belon puas juga?

septo@septo-laptopPinjem:/home/mpich2$ mpiexec -n 5 date, enter
Thu Nov 20 22:15:06 WIT 2008
Thu Nov 20 22:09:36 WIT 2008
Thu Nov 20 22:09:36 WIT 2008
Thu Nov 20 22:15:06 WIT 2008
Thu Nov 20 22:15:06 WIT 2008

Sekarang untuk program yang benerannya, program cpi yang tadi, kopikan hasil compile ke direktori /bin, bisa memakai cp atau mv :

[angga@athena ~]$ mv mpich2/bin/cpi /bin
septo@septo-laptopPinjem:/home/mpich2$ mv /home/mpich2/cpi /bin

kemudian kembali ke mpiexec, ketikkan di mesin SEPTO :

septo@septo-laptopPinjem:~$ mpiexec -n 6 cpi, tekan enter
Process 0 of 6 is on septo-laptopPinjem
Process 2 of 6 is on septo-laptopPinjem
Process 1 of 6 is on athena
Process 3 of 6 is on athena
Process 5 of 6 is on athena
Process 4 of 6 is on septo-laptopPinjem
pi is approximately 3.1415926544231239, Error is 0.0000000008333307
wall clock time = 0.289969

Yooooosssshhhhh…. telah terlihat bahwa program cpi ini telah berhasil dengan sukses dieksekusi di dua mesin, SEPTO dan ANGGA. Hohohohoho… Puasss deh rasanya… Huffhh… Tak lupa Septo dan Angga mengucap syukur Alhamdulillah kepada Allah SWT dan pihak-pihak laen yang telah membantu, utamanya kepada simbah Google dan yang tidak dapat disebut namanya di sini.

Kalo teman-teman sekalian tertarik, bisa mencoba mengikuti langkah-langkah di atas, SEPTO dan ANGGA siap membantu teman-teman sekaliyan kalo ada kesulitan. Moga-moga aja postingan ni lumayan bermutu 😛 dan bisa membantu temen-temen yang kebetulan menghadapi hal serupa. Amiinn… 🙂

Wisuda November 2008

Kepada teman-teman yang disebutkan namanya di bawah ini:

1. Afifah Rahmawati (yang akan segera diikuti dengan gelar) S.Kom
2. Safrina Roesmalinda (yang akan segera diikuti dengan gelar) S.Kom

Mewakili warga Ilmu Komputer UGM 2004 yang sudah lulus mata kuliah kalkulus maupun yang belum lulus, yang sudah punya pacar maupun yang masih melajang, dan yang sudah menyandang gelar S.Kom maupun yang akan segera menyandang gelar S.Kom; mengucapkan :

SELAMAT DIWISUDA

Ditunggu makan-makan dan undangan pernikahannya. Sukses selalu!

Bocor

KKN unit 8 desa Jabung.
Sub unit 1 terkenal dengan makanan yang melimpah. Kebetulan pemilik pondokan punya usaha katering.

Dewi Mariwi (Statistik 03): Rif, septo itu makannya banyak ya?
Arif (Ilkom 04): Iya, kalau ditraktir aja nambah.
Indra Cirebon (Teknik Pertanian 04): Hmm..

Suatu hari Septo datang bertamu. Ketika Septo sedang makan cemilan:
Indra cirebon: Sep, kata arif kamu makan ditraktir aja nambah
Septo : ???
Arif : ??? …(waduhhh)…

BERSUMPAH tidak akan pernah bercerita apa-apa lagi dihadapan Indra.

Cermin

Pagi yang sibuk didepan ruang himakom.
Beberapa orang terlihat sedang duduk dibangku, diantaranya Pepe yang sedang mengobrol dengan Sari.
Sari: Kuliah di ilkom sini nggak asik. Cowok-cowoknya nggak ada yang ganteng.
Cowok-cowok : ??

Berniat menghadiahkan seseorang sebuah cermin…

Localhost

Pada suatu ketika didepan ruang himakom.
Wira : Rif, wifi-nya connect ga?
Arif Hidayat : Nggak, nggak connect
Wira : Masa sih, tuh kamu bisa online? (memperhatikan laptop yang menampilkan situs blog versi localhost)
Arif Hidayat : Ini localhost
Wira : Localhost kok bisa online?
Arif: ??

Sekelumit Chat dengan si B*j*ngan

Pada suatu malam…

didit_tampan: Carikan sy gadis cntk ndhut
didit_tampan: Yg msh sndr, agk judes, manis, tdk feminim.
Septo adhi: tiada mau
21:50
didit_tampan: Tlng ndhut.
didit_tampan: We have to help each other, if i need help you’ll help me, if you need help you’ll help yourself.
didit_tampan: Ok?
21:55
didit_tampan: Jika cinta mudah dimengerti tp knp sy tidak pernah mengerti.
Septo adhi: matane
Septo adhi: :))

–Dunia semakin gilaaa–

Berita Terbaru

Laporan investigasi dari Badan Intelijen, dua orang yang disebutkan namanya di bawah ini :

1. Rinaldo D. Hasibuan
2. Widya Permana

Ditengarai akan meninggalkan tanah air untuk bertolak ke Arab Saudi pada tanggal 17 November 2008 dari embarkasi Medan untuk saudara Aldo dan 27 November 2008 dari embarkasi Solo untuk saudara Wiwid.

Untuk siapa saja yang ingin menitip oleh-oleh ataupun doa harap segera konfirmasi langung dengan yang bersangkutan.