Superkomputer Dengan Native Linux(Encrypted)
-
Upload
hary-cahyono-harysmatta -
Category
Documents
-
view
4 -
download
0
description
Transcript of Superkomputer Dengan Native Linux(Encrypted)
-
RAIH DUNIA DENGAN SUPERKOMPUTER
DI LINUX NATIVE
(CATCH THE WORLD WITH SUPERCOMPUTER IN NATIVE LINUX)
Hary Cahyono
tifosilinux.wordpress.com | [email protected]
Version 1.0
TIFOSILINUX.WORDPRESS.COM
Jakarta
2015
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
1
DISCLAIMER
Penulis mencoba memberikan sebuah konsep bagaimana membangun sebuah cluster
superkomputer dengan menggunakan beberapa teknologi baik dari sisi kernel maupun aplikasi di
lingkungan GNU/ Linux. Entah mengapa saya sebagai penulis selalu membawa GNU dalam
penulisan linux karena saya merasa bahwa linux dibangun dari bermacam-macam tools hasil
ciptaan seorang Richard M. Stallman lewat project GNU-nya, sehingga user dapat dengan sangat
nyaman menjalankan aplikasi robust diatas kernel hasil ciptaan Linus Torvalds dan kawan-kawan.
Pada tulisan ini ada 3 (tiga) teknologi yang ingin saya sampaikan dalam merancang bangun
sebuah cluster superkomputer didalam sebuah aplikasi virtual. Meskipun mungkin ada aplikasi
atau teknologi lain semisal OSCAR, Ricci dan Luci (Conga), saya coba batasi sedikit pembahasan
hanya pada seputar teknologi cluter supercomputer dengan OpenMOSIX (merupakan fitur patch
di kernel), MPI (Message Passing Interface), dan Beowulf.
Pada kenyataannya, konsep cluster supercomputer dengan tujuan HPC (High Performance
Computing) ataupun masalah HA (High Availability) adalah berbeda dengan konsep Grid
Computing dan Cloud Computing.
Pada akhirnya, semoga panduan berikut dapat memberikan sedikit sumbangan pada
teknologi di Indonesia khususnya sehingga mempermudah tahap implementasi di skala yang lebih
besar dan luas. Mari kita raih dunia !!!
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
2
Daftar Isi
1. Pengantar .................................................................................................................................3
2. Kebutuhan Dasar ....................................................................................................................3
2.1 Hardware .............................................................................................................................3
2.2 Software ..............................................................................................................................3
3. GNU/ Linux Cluster Setup .....................................................................................................4
3.1 OpenMOSIX .......................................................................................................................4
3.1.1 Hardware dan Topologi .............................................................................................4
3.1.2 Sistem Operasi dan Software .....................................................................................5
3.1.3 Rancangan, Tes dan Hasil ..........................................................................................6
3.2 MPI (Message Passing Interface) .....................................................................................14
3.2.1 Hardware dan Topologi ...........................................................................................14
3.2.2 Sistem Operasi dan Software ...................................................................................15
3.2.3 Rancangan, Tes dan Hasil ........................................................................................15
3.3 Beowulf .............................................................................................................................22
3.3.1 Hardware dan Topologi ...........................................................................................22
3.3.2 Sistem Operasi dan Software ...................................................................................23
3.3.3 Rancangan, Tes dan Hasil ........................................................................................25
4. Kesimpulan ............................................................................................................................29
5. Referensi ................................................................................................................................30
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
3
1. Pengantar
Kebutuhan manusia akan sebuah informasi semakin jelas terlihat semakin meningkat dari
waktu ke waktu. Sebuah informasi atau ilmu pengetahuan yang awalnya hanya dari kumpulan
data atau entitas yang tidak memiliki makna, sehingga dapat menjadi satu kesatuan yang
bernilai guna. Maka muncul berbagai metode-metode dalam upaya bagaimana mengolah dan
menjadikan ribuan, juta-an, bahkan miliaran data dan informasi tersebut tetap terjaga dan
memiliki nilai tambah bagi para decision maker.
Namun dibalik itu semua, sebenarnya ada sesuatu yang berperan paling besar dalam fase
pemrosesan data tersebut, yakni sekumpulan alat-alat komputasi yang merepresentasikan dan
menunjang berbagai metode yang diterapkan oleh para ilmuwan dan user. Informasi dari
weather forecast, customer banking, bursa saham, data transaksi para nasabah dan berbagai
riset yang diolah dengan menggunakan metode prediksi, asosiasi, dan klasifikasi didalam Data
Mining misalnya, terkadang tidak cukup hanya dengan menggunakan sebuah komputer
mainframe atau bahkan laptop sekalipun dengan spesifikasi luar biasa.
Jika kasusnya sudah menjadi peta data atau rendering image dengan teknologi nextgen
seperti didalam game Assassins Creed Unity misalnya yang ingin diolah, maka rasanya hal
tersebut sangatlah beresiko. Bahkan terkadang kita ingin mendayagunakan perangkat lama
agar bisa berfungsi kembali dan bisa menunjang pekerjaan kita.
2. Kebutuhan Dasar
2.1 Hardware
Pada tulisan ini saya coba mendayagunakan sebuah notebook ASUS tipe X450J
dengan processor i7-4710HQ 2.5 GHz, GEFORCE 840M, 12GB of RAM dan HDD
sebesar 1TB.
2.2 Software
Karena sifatnya sebuah uji coba dengan harapan agar dapat di implementasi dengan
mudah di praktek sebenarnya, maka saya gunakan VMware Workstation 8.0.0 build-
471780. Semua node baik master maupun slave nantinya akan berjalan didalam VMware
dengan alokasi sumber daya setiap node nya sesuai kebutuhan yang diperlukan didalam
praktek tulisan ini.
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
4
3. GNU/ Linux Cluster Setup
3.1 OpenMOSIX
3.1.1 Hardware dan Topologi
Disini saya menggunakan topologi fully connected dimana setiap node
dapat melakukan request satu sama lain.
Untuk spesifikasi hardware masing-masing node saya alokasikan cukup dengan
memori sebesar 256MB dan storage sebesar 8GB. Banyaknya node sesuai dengan
kebutuhan riset anda dan semakin besar data yang ingin diolah, tentu semakin besar
pula resource yang harus disediakan.
Namun jangan khawatir masalah kompleksitas dan oldest version yang
mungkin muncul jika kita menggunakan OpenMosix, The OpenMosix community
has provided numerous ways for new users to easily and rapidly build clusters
(Latter, Ian. (2006). How To Instant openMosix). OpenMosix dengan konsep
load balancing yang berjalan pada level kernel telah menyediakan sejumlah besar
cara yang mudah dan cepat sebagai solusi bahkan untuk user pemula sekalipun.
OpenMosix menjadi sebuah fitur yang terpenting di kernel didalam masalah
pendistribusian proses.
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
5
Mekanisme preemptive process migration (PPM) merupakan teknologi
yang digunakan oleh OpenMosix dimana sebuah proses tidak dapat dihentikan
sebelum waktunya.
OpenMosix tidak memiliki kontrol pusat atau hubungan master/ slave
diantara node-node, tiap node bisa berjalan sebagai sistem yang berjalan secara
otomatis, dan OpenMosix membuat semua keputusan kontrol secara independen
(Laksono, Mutiara, dan Heruseto, 2004)
3.1.2 Sistem Operasi dan Software
Dua distro GNU/ Linux saya gunakan dalam uji coba ini, meskipun
keduanya tergolong ancient distro, namun hanya dengan mengganti kernel vanilla
lama dengan versi minor 3.1.x maka akan terlihat baru . Fedora Core 1 mesin
i386 (dengan kernel vanilla 2.4.22) dan Slackware 10.0 mesin x86 (dengan kernel
vanilla 2.4.26) saya gunakan sebagai contoh.
Untuk software nya sendiri, silahkan download beberapa packages berikut:
a. openMosix-kernel-2.4.26-openmosix1.i386.rpm
b. openmosix-tools-0.3.6-2.i386.rpm
c. openMosix-2.4.24-2.bz2
d. linux-2.4.24.tar.bz2 (from http://kernel.org/)
e. openmosix-tools-0.3.6-2.tar.gz
f. openMosixview-1.3-redhat72.i386.rpm
g. openMosixview-1.3.tar.gz
h. povlinux-3.6.tgz
Sebagai catatan, beberapa paket diatas terdapat penyesuaian jika distro yang
digunakan berbasis selain RPM dan Debian, maka kita harus melakukan patching
kernel mosix sesuai dengan versi kernel yang digunakan, Slackware salah satunya
(dalam kasus ini saya downgrade kernel di slackware dari kernel vanilla awal ke
kernel 2.4.24). Namun cukup dengan meletakkan patch kernel tersebut ke direktori
source kernel asli kemudian menggunakan parameter bzcat openMosix-2.4.24-
2.bz2 | patch Np1 .
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
6
Kemudian kegiatan compiling kernel dengan make config atau make
oldconfig atau make menuconfig dan symbolic link agar folder kernel terlihat rapi
menjadi wajib bagi pengguna Slackware dengan menentukan module kernel mana
yang perlu dan tidak diperlukan, apakah kita menggunakan metode built-in/
monolitik [*] atau module . Setelah selesai, lakukan perintah make clean &&
make bzImage && make modules && make modules_install . Salin file bzImage
didalam folder arch/i386/boot/ menuju folder /boot/ dengan nama vmlinuz-
.
Sebenarnya cukup dengan langkah tersebut dalam kompilasi kernel, namun
ada beberapa case dimana kita memerlukan atau membuat initial ramdisk atau
initrd serta menyalin System.map hasil kompilasi ke folder /boot/ .
Jangan lupa juga me-disfungsi layanan-layanan yang saat ini tidak
diperlukan seperti acpid, apmd, atd, gpm, kudzu, portmap, sendmail, smartd, dan
lainnya dengan parameter chkconfig off. Jadi, ketika saya
melakukan tes kondisi server benar-benar dalam keadaan clear tanpa load yang
tinggi. Untuk sistem operasi Fedora, set value default ke nilai 0 pada
/boot/grub/menu.lst , kemudian grub-install untuk partisi yang
telah kita tanamkan sistem operasi tersebut.
3.1.3 Rancangan, Tes dan Hasil
Saat semua requirement sudah kita siapkan, kita sudah bisa tes dengan
masuk kedalam kernel openMosix yang telah di patch tersebut dan melakukan
instalasi aplikasi pendukung seperti openmosix-tools-0.3.6-2.i386.rpm dan
openMosixview-1.3-redhat72.i386.rpm (lakukan instalasi di Fedora dengan
parameter rpm -ivh ) serta openmosix-tools-0.3.6-2.tar.gz dan
openMosixview-1.3.tar.gz (lakukan instalasi di Slackware dengan tahap ./configure
&& make && make install).
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
7
Ketika aplikasi selesai di install, kita akan mendapati node yang terdaftar
untuk setiap node yang terhubung pada file /etc/openmosix.map atau jalankan
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
8
perintah showmap yang akan muncul hasilnya dengan format:
Pada slackware, kita bisa daftarkan secara manual di file
/etc/openmosix.map seperti contoh berikut:
Ketika seluruh node yang dibutuhkan terhubung, kita bisa lakukan
pengecekkan apakah pendistribusian proses berjalan sempurna atau tidak dengan
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
9
membuat script perl sederhana, kemudian simpan dengan nama tes.sh dan berikan
akses executable melalui chmod +x tes.sh:
#!/usr/bin/perl
$i=1;
while($i){
$i++;
}
Kemudian jalankan pada salah satu node dengan mode background ./tes.sh & secara
redundan dan lakukan monitor dengan parameter mosmon seperti berikut:
Kita bisa melihat bahwa proses didistribusikan secara rapi ke setiap node.
Dari sini kita bisa lakukan kembali pengujian dengan proses rendering image
menggunakan aplikasi povlinux-3.6.tgz . Sebagai informasi, aplikasi POV-Ray
(The Persistence of Vision Raytracer) yang memiliki official site di
www.povray.org ini adalah sebuah free tool yang digunakan untuk menciptakan
sebuah stunning three-dimensional graphics serta banyak kegunaan yang lainnya.
Kemudian lakukan instalasi dengan parameter tar zxvf povlinux-3.6.tgz &&
cd povray-3.6 && ./install . Setelah itu kita sudah bisa memanggil fungsi povray
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
10
untuk menjalankan sebuah perintah khusus untuk melakukan rendering image.
Sebagai contoh, saya menggunakan sample yang lebih berat daripada
menggunakan contoh bawaan didalam folder scenes yakni me-render sebuah image
ak47 dan sci-fi seperti dalam film yang dapat didownload di
http://www.oyonale.com dan dijalankan dengan parameter povray ak47.pov &&
povray scifi_demo.pov seperti berikut:
Setelah kita jalankan, kita bisa lihat bagaimana kernel melakukan
pendistribusian dan penjadwalan proses untuk melakukan tugas rendering image
tersebut. Pemindahan proses terjadi hanya jika kernel merasa bahwa sudah
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
11
mencapai sebuah titik jenuh setelah mengerahkan seluruh resource mandiri yang
dimiliki.
Disini terlihat node lain menunggu untuk diberikan beban untuk membantu proses
rendering/ buffering image. Seluruh catatan interval waktu dan alokasi memori
yang digunakan dapat kita lihat pada display konsol node.
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
12
Melalui tools yang telah disediakan oleh OpenMosix organization, kita
dapat melakukan instalasi berbagai keperluan baik untuk mengatur limit kecepatan
proses setiap node, melakukan analisis dari log yang dihasilkan untuk setiap proses
node, dan sebagainya. Beberapa kegunaan yang bisa kita peroleh:
openMosixView : Aplikasi utama untuk administrasi+monitor.
openMosixprocs : Sebuah process-box untuk mengelola proses.
openMosixcollector : Koleksi daemon yang mana berisi informasi mengenai
cluster+node.
openMosixanalyzer : Untuk menganalisis data yang dikumpulkan oleh
openMosixcollector.
openMosixhistory : History proses dari cluster.
3dmosmon : Tampilan 3D untuk memonitor cluster.
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
13
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
14
3.2 MPI (Message Passing Interface)
3.2.1 Hardware dan Topologi
Disini saya masih menggunakan topologi fully connected dimana setiap
node dapat melakukan request satu sama lain.
Untuk spesifikasi hardware masing-masing node saya alokasikan memori sebesar
128MB, storage sebesar 15GB dan processor minimum, yakni single core.
Kembali saya informasikan bahwa banyaknya node sesuai dengan kebutuhan riset
anda dan semakin besar data yang ingin diolah, tentu semakin besar pula resource
yang harus disediakan.
Message Passing Interface (MPI) pada dasarnya merupakan sebuah
gagasan atau metode bagaimana menyelesaikan masalah secara bersama-sama pada
waktu yang bersamaan, tanpa adanya waktu tunggu untuk selanjutnya
didistribusikan kepada node yang lain untuk diselesaikan. Memanfaatkan berbagai
macam algoritma dan fungsi pemrograman paralel, kita bisa mengambil banyak
keuntungan dari metode ini karena implementasinya bisa kita gabungkan dengan
teknologi Network File System (NFS) dan thin client (penamaan di Windows) atau
Linux Terminal Server Project (LTSP) atau Fully Automatic Installation (FAI)
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
15
dimana node tidak memiliki media penyimpanan atau diskless. Pemanfaatan jenis
prosesor-prosesor lama juga menjadi sebuah alternatif tersendiri bagi dunia riset.
Message Passing Interface (MPI) ini digunakan untuk komputasi paralel
dalam sistem yang terdistribusi. Pengguna MPI dapat menuliskan programnya
dengan bahasa C, C++, FORTRAN77, dan FORTRAN90 untuk menjalankannya
secara paralel dengan memanggil rutin library yang sesuai (Ajinagoro, Bagus
Irawan. (2005). Aplikasi Sistem Paralel Menggunakan Prosesor Host 486 Berbasis
Linux Debian).
3.2.2 Sistem Operasi dan Software
Distro GNU/ Linux yang saya gunakan adalah Debian Sarge 3.1 yang hanya
menggunakan 5 CD mirror dari total 14 CD guna mengatasi dependency paket.
Untuk software pendukung, saya hanya membutuhkan package
mpich.tar.gz (anda bisa saja menggunakan lam) dan rcconf installer untuk .deb.
Jika kita cukup iseng agar mengetahui performance dari sepesifikasi atau
requirement node kita yang tidak seragam mulai dari sisi core, RAM, dan cache
memory, silahkan download juga perftest.tar .
3.2.3 Rancangan, Tes dan Hasil
Jika telah selesai melakukan instalasi distro Debian dan menghidupkan
beberapa service yang penting dengan fungsi rcconf seperti berikut:
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
16
Lakukan instalasi paket mpich.tar.gz dengan parameter tar zxvf mpich.tar.gz &&
cd mpich && ./configure --prefix=/usr/local/src/mpich | tee konfigurasi.log &&
make | tee make.log && make install . Opsi prefix akan mengantarkan direktori
hasil instalasi ke /usr/local/src/mpich. Yang pertama dan paling utama, pastikan
bahwa masing-masing node mendaftarkan nama hostname satu sama lain seperti
berikut:
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
17
Setelah itu, daftarkan setiap node di masing-masing node pada file
machines.LINUX di path /usr/local/src/mpich/share/ seperti berikut:
Karena konsep dari MPI atau komputasi paralel ini menyebabkan
pemrosesan tambahan, seperti kemampuan penggunaan data bersama-sama. Maka
diperlukan komunikasi passwordless dua arah diantara pemroses atau node yang
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
18
terhubung. Kita harus membuat antar node bisa autologin seperti matriks yang saya
gambarkan berikut ini:
Cluster Cluster
Sarge-3.1 Sarge-3.1-1 Sarge-3.1-2 Sarge-3.1-3
Sarge-3.1 >< >< ><
Sarge-3.1-1 >< >< ><
Sarge-3.1-2 >< >< ><
Sarge-3.1-3 >< >< ><
Ketika semuanya sudah berjalan lancar, kita bisa jalankan parameter berikut
pada direktori examples yang telah disediakan oleh mpich, make cpi &&
/usr/local/src/mpich/bin/mpirun -arch LINUX np 4 cpi dan hasilnya akan terlihat
bagaimana setiap node prosesor memberikan kontribusi secara paralel dalam
menjalankan sebuah task sederhana.
Saya lakukan empat kali pengujian untuk 4 node secara paralel, 3 node
secara paralel, dan 2 node secara paralel yang secara rekursif, serta hanya 1 node
independen.
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
19
Percobaan 1 (4 node paralel)
Node Frekuensi
Debian-Sarge3.1 :: Debian-Sarge3.1-1 :: Debian-Sarge3.1-2 :: Debian-Sarge3.1-3
1 0.001183
0.002206
0.002399
0.001472
0.000825
0.000913
0.000621
0.001818
0.001155
0.001994
2
3
4
5
6
7
8
9
10
Mean(Rerata)(s) 0.001459
Percobaan 2 (3 node paralel)
Node Frekuensi
Debian-Sarge3.1 :: Debian-Sarge3.1-1 :: Debian-Sarge3.1-2
1 0.000337
0.000455
0.000320
0.000665
0.000261
0.000771
0.000452
0.000454
0.000534
0.000248
2
3
4
5
6
7
8
9
10
Mean(Rerata)(s) 0.00045
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
20
Percobaan 3 (2 node paralel)
Node Frekuensi
Debian-Sarge3.1 :: Debian-Sarge3.1-1
1 0.000174
0.000226
0.000123
0.000132
0.000124
0.000153
0.000390
0.002030
0.000198
0.000193
2
3
4
5
6
7
8
9
10
Mean(Rerata)(s) 0.000374
Percobaan 4 (1 node)
Node Frekuensi
Debian-Sarge3.1
1 0.000029
0.000024
0.000030
0.000023
0.000023
0.000029
0.000026
0.000028
0.000029
0.000024
2
3
4
5
6
7
8
9
10
Mean(Rerata)(s) 0.000026
Kemudian plot[11] yang telah saya buat dari seluruh hasil percobaan diatas
melukiskan grafik perbedaan kecepatan pemrosesan yang sangat jelas:
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
21
Untuk hasil perftest nya sendiri, jika kita menggunakan sumber daya yang
heterogen dapat dilihat sebagai berikut:
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
22
3.3 Beowulf
3.3.1 Hardware dan Topologi
Saya masih menggunakan toplogi fully connected untuk uji coba kali ini,
bedanya satu node pusat tidak ikut melakukan pemrosesan data, hanya sebagai
pusat kendali proses untuk setiap node yang terhubung. Sebenarnya anda bisa saja
menggunakan switch sebagai alternatif lain.
Sebagai sebuah informasi, Beowulf merupakan koleksi atau kumpulan dari node-
node terintegrasi dengan aplikasi-aplikasi yang ditujukan untuk keperluan
komputasi. Beowulf dapat digunakan untuk solusi komputasi yakni sebagai aplikasi
HA (High Availibility) atau HP (High Performance).
A Beowulf cluster is a MIMD multiprocessor built from commodity off-
the-self personal computers connected via a dedicated network, running free open-
source software. Such a cluster can provide a supercomputers performance at a
small fraction of ones cost (Adams and Vos. (2001). Small-College
Supercomputing).
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
23
Node RAM yang saya gunakan pada percobaan ini sebesar 512MB, HDD
16GB dan 1024MB, HDD 16GB (untuk head node).
3.3.2 Sistem Operasi dan Software
Distro GNU/ Linux yang saya gunakan adalah Ubuntu-11.10 amd64 dengan
4 buah node (satu sebagai head node). Untuk packages yang saya gunakan adalah
sebagai berikut:
a. nfs-kernel-server (head node)
b. nfs-client (others node)
c. scisoft packages (head node)(Optional)
d. mpich2 library (head+others node)
e. mpi4py-0.6.0.tar.gz (head+others node)
f. torque-4.1.7.tar.gz (head+others node)
g. iraf.lnux.x86_64.tar.gz (head node)
Berikut saya sajikan juga flowchart untuk keperluan tes ini menurut salah
satu proceedings yang telah ditulis oleh Navtej Singh didalam Parallel
Astronomical Data Processing or How to Build a Beowulf Class Cluster for High
Performance Computing?. Meskipun tidak terlalu textbook seperti yang
digambarkan, saya coba implementasikan dengan tahap yang cukup mudah untuk
dipahami.
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
24
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
25
3.3.3 Rancangan, Tes dan Hasil
Setelah seluruh packages dipersiapkan sesuai dengan kebutuhan masing-
masing node, jangan lupa untuk mendaftarkan hostname setiap node ke masing-
masing node yang terhubung sehingga dapat melakukan request dan akses yang
passwordless satu sama lain (Silahkan dilihat pada percobaan sebelumnya di tulisan
ini).
Kemudian kita buat user mpi (mpiu) dengan parameter berikut: useradd --
base-dir /home/mpiu --create-home --shell /bin/bash U mpiu dan atur password
untuk user tersebut. Saya pilih NFS server sebagai aplikasi share file sehingga node
yang lain yang cukup melakukan instalasi NFS client agar bisa memanfaatkan file
tanpa perlu ada di fisik node tersebut (Anda bisa menggunakan glusterfs sebagai
alternatif nya). Gunakan parameter berikut di sisi head node: mkdir -p /mirror/mpiu
&& chown -R mpiu:mpiu /mirror/mpiu . Jadi, direktori atau seluruh isi didalam
direktori /mirror/mpiu dimaksudkan agar dapat diakses dan dimanfaatkan oleh
node lain. Hal lain yang harus kita daftarkan adalah alamat dan hostname dari node
pada file /etc/exports seperti berikut:
Di sisi node yang lain, lakukan registrasi nfs dengan parameter berikut
mount -t nfs -o async :/mirror/mpiu /mirror/mpiu dan
masukan parameter tersebut pada file /etc/fstab agar dapat mounted secara otomatis.
Jika tidak ada masalah, setiap node akan mendapatkan akses share untuk direktori
di head node tersebut:
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
26
Setelah itu, instalasi paket iraf.lnux.x86_64.tar.gz untuk me-set terminal type dari
IRAF sebagai xgterm untuk user mpiu didalam direktori /home/mpiu dengan
parameter berikut tar zxvf iraf.lnux.x86_64.tar.gz && ./install && cd /home/mpiu
&& mkiraf .
Selanjutnya instalasi paket dari torque yang berfungsi untuk mangatur
sumber daya dari proses PBS (The Portable Batch System) secara free. cd
/usr/local/src/ && tar zxvf torque-4.1.7.tar.gz && cd torque-4.1.7 && ./configure
--prefix=/opt/torque --with-server-home=/opt/torque/spool --enable-server --
enable-clients --with-scp --enable-mom && export
PATH=$PATH:/opt/torque/sbin:/opt/torque/bin && make && make install &&
make packages .
Proses dari instalasi diatas akan menghasilkan beberapa torque-packages
seperti berikut:
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
27
Salin torque-package mom dan clients ke direktori /mirror/mpiu agar dapat
dimanfaatkan dan di instalasi oleh node yang lain (torque-package--linux-
x86_64.sh --install). Kemudian yang juga penting, salin file debian.pbs_server di
head node direktori contrib/init.d/ ke /etc/init.d/ dengan nama pbs_server dan file
debian.trqauthd ke /etc/init.d/ dengan nama pbs_trqauthd . Kemudian jalankan
update-rc.d pb_server defaults dan /etc/init.d/pbs_trqauthd start . Lakukan hal ini
untuk node client yang lain tentunya dengan beberapa penyesuaian file yang
digunakan.
Setelah semua layanan telah running, kita inisialisasi serverdb dan lakukan
restart di head node dengan parameter: pbs_server -t create &&
/etc/init.d/pbs_server restart . Daftarkan dan checking setiap node yang terhubung
ke head node dengan parameter berikut: qmgr -c create node
&& pbsnodes -a . Kita buat sebuah file script python di head node, untuk
mengujinya, simpan dengan nama helloworld.py pada direktori /mirror/mpiu
karena pemrosesan melibatkan seluruh node.
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
28
Jalankan parameter berikut di /mirror/mpiu : mpiexec -n 10 -host
,, python helloworld.py
Opsi n adalah banyaknya beban proses yang dapat kita berikan pada node agar
dapat diselesaikan secara paralel. Silahkan mencoba
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
29
4. Kesimpulan
1. Beberapa metode clustering yang saya uji diatas berhasil dijalankan dengan requirement
minimal dan dapat diuji, di implementasikan, dan dilakukan inovasi untuk skala yang lebih
besar.
2. Kita tidak bisa membandingkan antar metode diatas hanya untuk sebuah case saja.
OpenMosix yang notabene merupakan pendistribusian proses, tidak dapat dibandingkan
dengan MPI hanya untuk me-render sebuah pencitraan, sehingga tentu openMosix akan
memakan waktu lebih lama. Begitu juga perihal cache memory, core processor, NIC atau
kartu jaringan yang digunakan dengan besarnya data transfer seperti 10/100/1000/dst
dalam kisaran Mbps sangat mempengaruhi interval waktu perpindahan atau
pendistribusian proses antar node.
3. Metode MPI atau Beowulf akan membagi rata secara langsung beban kerja pada node
sehingga lebih efektif.
-
RAIH DUNIA DENGAN SUPERKOMPUTER DI LINUX NATIVE TIFOSILINUX.WORDPRESS.COM
30
5. Referensi
[1] Adams and Vos. (2001). Small-College Supercomputing: Building A Beowulf Cluster
At A Comprehensive College. 2001: 1-5. Retrieved 31 January 2015.
[2] Ajinagoro, Bagus Irawan (2005). Aplikasi Sistem Paralel Menggunakan Prosesor Host
486 Berbasis Linux Debian. 2005 (Jul): 1-71. Retrieved 25 January 2015.
[3] Laksono, Mutiara, & Heruseto. (2004, 24-25 August). Analisis Perbandingan Antara
Cluster OpenMosix dengan MPI terhadap Aplikasi Rendering POV-RAY. 2004 (Aug):
1-7. Retrieved 24 January 2015.
[4] Latter, Ian (2006). How To - Instant openMosix. How to build a working openMosix
cluster without touching a compiler. 2006 (Apr): 1-80. Retrieved 11 January 2015.
[5] Singh, Navtej (2012). Parallel Astronomical Data Processing or How to Build a Beowulf
Class Cluster for High Performance Computing?. 2012 (Jan): 1-21. Retrieved 31 January
2015.
[6] Susanto, Warmada, & Wiryana. (2001). Open Source Campus Agreement - GNUPLOT
Untuk Orang Lugu. 2001: 1-57. Retrieved 13 February 2015.
[7] http://www.beowulf.org
[8] http://www.kernel.org/
[9] http://www.mpich.org/
[10] http://www.oyonale.com
[11] http://www.povray.org