Vol 2, No 3 Juni 2012
ISSN 2088-2130
ANALISIS PERBANDINGAN ANTARA CLUSTER OPENMOSIX DENGAN PVM (PARALLEL VIRTUAL MACHINE) Koko Joni1), Taufik Hidayat2) 1
Jurusan Manajemen Informatika, Fakultas Teknik, Universitas Trunojoyo Jl. Raya Telang, PO BOX 2 Kamal, Bangkalan, Madura, 69162 E-mail :
[email protected],
[email protected]
ABSTRAK Komputasi paralel merupakan teknologi yang berkembang pesat saat ini, dengan komputasi paralel proses komputasi bisa menjadi sangat cepat dan efisien. openMosix dan PVM merupakan salah satu software yang dapat melakukan komputasi paralel dengan model cluster komputer. openMosix merupakan jenis cluster load balancing, dimana sebuah cluster dapat memindah beban kerjanya secara otomatis sehingga memudahkan bagi pemakainya. PVM merupakan salah satu jenis komputasi paralel dan merupakan jenis cluster High Performance Computing (HPC), dimana jenis ini menggabungkan antara jenis load balancing dan fail over. Untuk menunjukkan kemampuan dari sistem, cluster ini di tes dengan beberapa komputer untuk merender sebuah gambar menggunakan software POV-Ray. Dari tes menunjukkan bahwa PVM bekerja lebih cepat daripada openMosix di dalam merender sebuah gambar. Kata kunci : cluster, openMosix, PVM
ABSTRACT Parallel computing is a rapidly developing technology today, with parallel computing computing process can be very fast and efficient. openMosix and PVM is a software that can do parallel computing using cluster computer model. openMosix is a kind of load balancing cluster, where a cluster can move workloads automatically and make it simple for users. PVM is one type of parallel computing and type of High Performance Computing (HPC), which this type combines between of load balancing and fail over. To demonstrate the capabilities of the system, this cluster tested with multiple computers to render an image using POV-Ray software. From the tests show that the PVM work faster than openMosix when renders an image. Keywords : Cluster, openMosix, PVM
372
Vol 2, No 3 Juni 2012
PENDAHULUAN Komputasi paralel merupakan salah satu teknologi paling menarik sejak ditemukan alat elektronik pada tahun 1940-an. Terobosan dalam pemrosesan paralel selalu berkembang dan mendapatkan tempat disamping teknologiteknologi lainnya sejak Era Kebangkitan (1950an), Era Mainframe (1960-an), Era Minis(1970an), Era PC(1960-an), dan Era Komputer Paralel (1990-an). Dengan berbagai pengaruh atas perkembangan teknologi lainnya, dan bagaimana teknologi ini mengubah persepsi terhadap komputer, dapat dimengerti betapa pentingnya komputasi paralel itu. Inti dari komputasi paralel yaitu hardware, software, dan aplikasinya. Pemrosesan paralel merupakan suatu pemrosesan informasi yang lebih mendekatkan pada manipulasi rata- rata dari elemen data terhadap satu atau lebih penyelesaian proses dari suatu masalah. Oleh karena itu komputasi paralel dapat diartikan bahwa komputer dengan banyak prosessor yang mampu untuk melakukan pemrosesan paralel. Teknologi cluster ini dibutuhkan untuk mengikat beberapa server agar menjadi suatu sistem tunggal sumber daya komputasi yang melakukan pekerjaan besar. Dari sisi pengguna, ia tidak merasa bahwa pekerjaan yang ia berikan telah dibagi ke mesin fisik berbeda. Secara mendasar ada tiga macam cluster [1]: 1. Fail over Cluster terdiri dari 2 atau lebih jaringan komputer yang terkoneksi dengan masing- masing heartbeat antara 2 host. Koneksi heartbeat antara 2 mesin digunakan untuk memonitor semua service yang masih digunakan. Apabila salah satu mesin mengalami down maka mesin lainnya mengambil alih kerja. 2. Dengan load balancing cluster, konsepnya adalah saat ada request pada web server datang maka cluster akan mengecek di mesin mana yang paling tidak sibuk maka request akan diberikan pada mesin tersebut. Sebenarnya banyak waktu dari load balancing cluster adalah Fail over clustering dengan extra fungsional load balancing dan sering dengan banyak node (PC). 3. Variasi terakhir dari clustering adalah High Performance Computing Cluster: Mesin telah di konfigurasi secara spesial untuk data center melayani permintaan
dengan performa yang extream yang di butuhkan. Beowulf telah dikembangkan untuk fasilitas riset untuk meningkatkan kecepatan. Jenis ini mempunyai beberapa feature dari load balancing. Nantinya mereka akan menyebar proses yang berbeda pada banyak mesin untuk meningkatkan performa. Tapi inti dari situasi ini proses mengalami paralel dan rutin yang dapat berjalan sendiri dalam menyeimbangkan beban kerja tanpa menunggu proses tersebut diselesaikan oleh mesin lainnya.
Jenis Cluster Pc openMosix openMosix adalah suatu ekstension pada kernel linux untuk membentuk Single System Image (SSI) clustering. Ekstension pada kernel ini membuat sejumlah jaringan yang terdiri dari PC biasa menjadi semacam super computer bagi aplikasi linux. SSI adalah clustering yang menggabungkan beberapa node (PC dan sebagainya) menjadi satu kesatuan, sehingga dari perhitungan luar terlihat sebagai satu satuan komputasi. Satu kesatuan yang dimaksud di sini adalah kesatuan unit CPU, kesatuan memori, serta kesatuan media penyimpan (storage). Ada dua cara untuk membentuk satu kesatuan ini. 1. Middleware. Secara umum, ini meliputi semua komponen/library yang menjadi perantara antara program yang berjalan di user space dengan kernel. Contohnya adalah sistem batch scheduler seperti Condor atau Maui Scheduler atau Enfuzion. Library PVM dan MPI (misalnya MPICH) bisa juga dimasukkan dalam kategori Middleware, karena mereka sebenarnya juga menjadi perantara antara program paralel yang ditulis dengan OS. 2. Modifikasi kernel (kernel extension) Secara umum, ini meliputi semua tambahan kernel OS yang membuat OS tersebut menjadi sistem cluster, termasuk yang bertipe SSI. IBM Sysplex, Compaq Tru Custer, VAX Cluster adalah contoh-contoh SSI yang bersifat komersial. Sedangkan MOSIX dan OpenMOSIX adalah contoh yang bersifat GPL. openMosix melakukan patch pada kernel linux yang akan menghasilkan platform clustering SSI yang reliabel, cepat, dan berbiaya rendah.
373
Koko Joni dkk, Analisis Perbandingan...
Dengan fitur Auto Discovery, suatu node baru bisa ditambahkan selama cluster berjalan dan cluster akan secara otomatis mulai mempergunakan sumber daya baru tersebut. Program aplikasi tidak perlu dibuat secara khusus untuk memakai openMosix. Karena semua ekstension dan openMosix berada di dalam kernel, setiap aplikasi linux akan secara otomatis dan transparan mengambil keuntungan dan konsep komputasi terdistribusi openMosix. Cluster tersebut akan berperilaku seolah-olah Symmetric Multi-Processor (SMP), yang bisa dibentuk node. Suatu SMP adalah komputer berkinerja tinggi dengan banyak processor dan memori yang berharga mahal. Dengan openMosix, bisa dibentuk PC biasa yang kekuatan komputasinya dapat bersaing SMP sebenarnya.
Paraller Virtual Machine Parallel Virtual Machine (PVM) adalah seperangkat alat lunak yang memungkinkan seluruh komputer yang heterogen terlihat seperti satu sistem computer paralel dan dapat digunakan sebagai sebuah sumber daya komputasi yag saling terhubung. Komputer tersebut bisa berupa workstation, multiprocessor, specialized graphic engine sampai dengan vektor superkomputer yang dihubungkan dengan jaringan yang bermacammacam seperti ethernet, FDDI, dan sebagainya. PVM memungkinkan eksekusi program pada setiap mesin dapat dikendalikan oleh user dan menjadi lingkungan komputasi yang kuat. Istilah virtual machine mengacu pada konfigurasi komputer dengan memori tersebar ini, sedangkan istilah host ditujukan untuk komputer yang merupakan anggota dari virtual machine. Dalam suatu jaringan, beberapa pengguna dapat sekaligus membuat lebih dari satu konfigurasi virtual machine yang dapat mengeksekusi lebih dari satu aplikasi PVM secara simultan. Host dapat terdiri dari komputer yang berbeda- beda dan terpisah lokasinya secara fisik [2]. Untuk komputasi dalam PVM yang analog dengan proses pada UNIX disebut task. PVM menyediakan fungsi untuk menjalankan task pada virtual machine dan memungkinkan task untuk melakukan komunikasi dan sinkronisasi dengan task lainnya. Seluruh task yang ada dalam PVM diidentifikasikan dengan nomor task (task identifier) berupa bilangan bulat. Suatu task dapat tergabung dalam satu atau beberapa grup sekaligus. Anggota grup ini
dapat berubah- ubah secara dinamis selam komputasi berlangsung. Setiap task dalam PVM dapat berkomunikasi dengan task lainnya melalui pertukaran pesan (message passing). Ukuran dan jumlah message yang dikirim hanya dibatasi oleh memori fisik yang otomatis akan membatasi ukuran buffer (penyangga).
Persistence Of Vision Raytracer (POV-Ray) [3] POV-Ray kependekan dari “Persistence of Vision Raytracer”. POV-Ray merupakan sebuah software untuk membuat grafis komputer dengan kualitas yang sangat tinggi. POV-Ray berlisensi freeware, yang berarti setiap orang bisa menggunakannya, dan memperbanyaknya tanpa biaya sedikitpun. Yang membuat POV-Ray berbeda dari yang lainnya adalah POV-Ray memiliki kekuatan dan kestabilan untuk memuaskan para pengguna yang sangat kompeten dan berpengalaman, meskipun tidak terlalu sulit bagi para pengguna biasa. Tentu saja faktor terpenting adalah kualitas gambar, dan sesungguhnya POV-Ray memiliki hal tersebut. Menurut para pengembang, mereka melihat gambar yang mereka render menggunakan POV-Ray, yang menurut dugaan pertama mereka merupakan fotografi, sangat realistik. Perlu diketahui bahwa foto-realisme merupakan keahlian tingkat tinggi, yang memerlukan banyak latihan untuk menguasainya. Untuk menulis dan memodifikasi scene POV-Ray, pengguna hanya mengedit file teks sesungguhnya yang berisikan perintah - perintah. Pengguna baru mungkin terkejut untuk mempelajarinya, dimana mungkin kedengarannya primitif, hal ini merupakan salah satu fakta yang menunjukkan POV-Ray memiliki kekuatan dan fleksibilitas yang sangat tinggi. PVMPov PVMPOV adalah gabungan dari PVM dan POV-Ray. PVM adalah message passing system yang dapat membuat jaringan computer menjadi komputer single distributed memory parallel. Jaringan komputer berdasarkan pada Parallel Virtual Machine dan POV-Ray adalah 3-dimensional ray tracing engine. Kita mendapatkan informasi dengan memberikan dan mensimulasi dengan memberi interaksi cahaya pada objek yang telah didefinisikan dengan membuat gambar 3 dimensi dan
374
Vol 2, No 3 Juni 2012
animasi yang kita sebut dengan rendering proses. PVMPOV mempunyai kemampuan mendistribusikan proses rendering pada berbagai system yang berbeda. Parallel execution hanya aktif jika kita memberikan tkita opsi “+N” pada PVMPOV atau X-PVMPOV saja [4]. Sebaliknya, PVMPOV bereaksi seperti POV-Ray yang berjalan pada mesin lokal. Dengan menggunakan model PVM, yaitu satu master node dengan banyak slave task. PovMosix POVmosix merupakan gabungan antara POV-Ray dan openMosix untuk merender citra 3D. Dimana nantinya akan merender citra dan membaginya menjadi beberapa bagian beban kerja, rendering satu beban kerja merupakan bagian dari seluruh image. Oleh karena itu kita boleh mengkonfigurasi beberapa jumlah beban kerja. Program ini dibuat dengan QT oleh Alessandro Bonfanti sehingga dalam website povmosix.sourceforge.net[5], POVmosix = (Povray + openMosix) ^ (qt * kde). POVmosix lebih user friendly karena menggunakan GUI (Graphic User Interface) sehingga user dengan mudah mengatur proses pembagian beban kerja ke setiap node.
Gambar 1 Konfigurasi cluster PC
Spesifikasi computer yang digunakan adalah sebagai berikut : Tabel 1. Spesifikasi Komputer Node 1
Node 2
Node 3
Node 4
Node 5
CPU
Pentiu m 4 CPU 2.66 GHz
Intel(R) Pentium(R ) 4 CPU 2.4 GHz
Intel(R) Pentium(R ) 4 CPU 2.4 GHz
Intel(R) Pentiu m(R) 4 CPU 2.4 GHz
AMD Sempron(tm) Processor 2800+ 64 bit
RAM
448 MB
504 MB
504 MB
504 MB
448 MB
8 MB
8 MB
16 MB
VGA Shared Memor 16 MB 8 MB y
Untuk proses clustering tersebut kami menggunakan system operasi Linux yaitu RedHat 9, kemudian software clusternya menggunakan openMosix dan PVM yang akan digunakan untuk merender sebuah gambar.
METODE Proses Clustering
HASIL DAN PEMBAHASAN
Sistem dibangun menggunakan software PVM sebagai pemrograman paralel serta cluster openMosix sebagai load balancing. Nantinya akan dibangun menggunakan beberapa PC. Untuk membandingkan antara kedua software tersebut maka akan menggunakan POV-Ray atau pemrograman bahasa C. Konfigurasi computer seperti gambar di bawah dimana ada 5 node yang digunakan dan spesifiakasi computer bias di lihat pada tabel 1.
Percobaan yang di lakukan, kami menggunakan gambar 3 dimensi 0ak.pov yang akan di render, kami membandingkan proses waktu yang terjadi antara software cluster openMosix dan PVM. Proses rendering ini membutuhkan waktu yang berbeda antara openMosix dan PVM. Kami juga merubah resolusi gambar untuk mengetahui lebih jauh perbedaan waktu render antara openMosix dan PVM. juga berbeda. Berikut adalah sebagian hasil dari percobaan yang di lakukan
375
Koko Joni dkk, Analisis Perbandingan...
Gambar 4. Perbandingan waktu render resolusi 1024x768 Gambar 2. Perbandingan waktu render resolusi 640x480
Dari Gambar 2, terlihat bahwa semakin banyak node, waktu yang dibutuhkan untuk proses rendering semakin cepat dan PVM lebih cepat sedikit daripada openMosix, tetapi pada saat node yang dipakai hanya 2 PC waktu yang digunakan untuk merender hampir sama yaitu 25 detik sedangkan waktu normal untuk merender image pada single PC yaitu 43 detik.
Pada resolusi lebih tinggi proses rendering membutuhkan waktu yang lebih lama lagi. Proses render dengan 1 node membutuhkan waktu 102 detik, dengan menggunakan 5 node openMosix membutuhkan waktu sekitar 35 detik dan PVM membututuhkan waktu sekitar 29,1 detik. Berikut adalah hasil gambar proses rendering.
Gambar 3. Perbandingan waktu render resolusi 800x600
Dengan mengubah resolusi menjadi 800x600 seperti terlihat pada Gambar 3, terlihat bahwa semakin banyak node, waktu yang dibutuhkan untuk proses rendering semakin cepat dan PVM lebih cepat sedikit daripada openMosix, hampir sama dengan resolusi pada gambar sebelumnya. Menggunakan 5 node, PVM pada resolusi 640x480 membutuhkan waktu lebih cepat 5 detik daripada resolusi 800x600. Proses render dengan 1 PC membutuhkan waktu 68 detik, dengan menggunakan 5 node openMosix membutuhkan waktu 25,21 detik sedang PVM membutuhkan waktu 19,8 detik.
Gambar 5. Hasil rendering
Kenaikan kecepatan rata-rata waktu proses rendering dari single node ke 5 node (waktu speedup), jika waktunya semakin cepat maka jenis kluster tersebut semakin baik. Speedup terbaik menggunakan openMosix berturut-turut dari 640x480, 800x600, 1024x 768 dengan menggunakan 5 node yaitu 2,5 detik, 2,69 detik, dan 3,07 detik. Menggunakan PVM dengan resolusi berturut-turut daru 640x480, 800x600, 1024x768 dengan 5 node yaitu 2,87 detik, 3,43 detik, dan 3,54 detik. Terlihat bahwa PVM lebih baik untuk merender objek 3D saat node tidak mengalami kejenuhan. Pada proses render 640x480 pixel yang tidak menggunakan sub-job saat kluster jenuh
376
Vol 2, No 3 Juni 2012
atau tiap node melakukan aktifitas sehingga membebani PC, maka PVM mengalami masalah sehingga waktu render akan terus meningkat lebih lama. Sedangkan dengan openMosix dengan sub-job (pembagian kerja menjadi 16 bagian untuk di sebarkan) sebanyak 16 task menunjukkan performa terbaiknya. Saat menggunakan 5 node openMosix membutuhkan waktu 45,28 detik sedang PVm 109 detik. Untuk resolusi 800x600 PVM mengalami proses yang lama pada node ke 4, yaitu 176,8 detik sedang dengan openMosix hanya 111,4 detik. Saat proses render menggunakan resolusi 1024x768 pixel openMosix melakukan proses render menggunakan 3 node ternyata lebih cepat dari PVM. Tetapi pada saat proses render dengan 4 node maka PVM mebututuhkan 152,8 detik sedang openMosix 115,8 detik. Di resolui ini proses render dengan 4 node lebih optimal daripada 5 node.
PVM dan openMosix samasama menggunakan sumber daya CPU untuk melakukan clustering. Jadi besar kecil suatu RAM tidak mempengaruhi kinerja clustering. Render sebuah citra atau gambar lebih baik menggunakan PVM daripada openMosix, karena openMosix menggunakan Distributed Cluster sedangakan untuk PVM menggunakan konsep Parallel Cluster. Penelitian lebih lanjut lebih baik bila digunakan dengan komputer yang lebih banyak dan digunakan untuk merender video.
DAFTAR PUSTAKA [1]
[2]
[3]
KESIMPULAN Komputasi paralel membuat server pada cluster openMosix akan terus bekerja selama server tersebut tidak mengalami titik jenuh (idle) dan baru akan berpindah pada client jika sudah jenuh. Pada PVM, beban kerja akan langsung dibagi secara merata antara master node dan slave node. Waktu yang digunakan cluster openMosix lebih lama daripada waktu yang dibutuhkan oleh PVM untuk merender suatu citra.
[4]
[5]
Utdirartatmo, Firrar, “Pemrograman Parallel dengan PVM di LINUX dan WINDOWS”, Yogyakarta : ANDI Yogyakarta. . 2002 Utdirartatmo, Firrar, “Clustering PC di Linux”, Yogyakarta : ANDI Yogyakarta. 2004. Laksono AD, Mutiara AB, Heruseto Brahmanto, “Analisis Perbandingan Antara Cluster OpenMosix dengan MPI Terhadap Aplikasi Rendering POV-Ray”, Jurnal KOMMIT, hal 589-595, 2004. PVMPOV Team, PVMPOV How To, URL : http://sourceforge.net/pvmpov/PVMPOVHOWTO, di akses tgl 6 Oktober 2006. Bonfanti ,Alessandro, POVmosix How To,URL: http://sourceforge.net/POVRay/povmosix, di akses tgl 6 Oktober 2006.
377