STUDI KOMPARATIF ANTARA PARAREL VIRTUAL MACHINE (PVM)
DAN MESSAGE PASSING INTERFACE (MPI) DENGAN MEMANFAATKAN LOCAL
AREA NETWORK (LAN)
Intan Liswandini1, Budhi Irawan2, Irzaman3,
1. Jurusan Teknik Informatika, FT, Jl.Dipati Ukur Bandung 2. Jurusan Teknik Informatika, FT, Jl.Dipati Ukur Bandung 3. Jurusan Fisika , FT ITB, Jl.Ganesha Bandung
ABSTRAK
Penggunaan komputer sebagai penyelesaian masalah sudah semakin berkembang.Seiring
dengan hal tersebut, semakin dituntut proses komputasi yang semakin cepat. Komponen utama dari sebuah perangkat komputer adalah sebuah processor. Kecepatan processor dapat ditingkatkan secara terus menerus. Salah satunya dengan membuat komputer multiprocessor. Namun karena karena keterbatasan materi, untuk mengatasinya dirancanglah Mesin paralel semu yaitu jaringan komputer yang dikendalikan oleh sebuah perangkat lunak yang mampu mengatur pengalokasian proses-proses komputasi kepada processor-processor yang tersebar dalam jaringan tersebut. Pada penulisan tugas akhir ini, dilakukan perbandingan terhadap Feature Parallel Virtual Machine (PVM) dan Message Passing Interface (MPI) untuk menunjukkan situasi dimana salah satunya mungkin lebih difavoritkan dibandingkan yang lainnya. MPI diharapkan bisa menjadi lebih cepat di dalam suatu multiprocessor yang luas. MPI mempunyai juga pilihan komunikasi kolektif lebih banyak dibandingkan dengan PVM. Hal Ini menjadi sesuatu yang penting jika suatu algoritma bergantung pada eksistensi suatu pilihan komunikasi khusus. MPI juga mempunyai kemampuan untuk menetapkan suatu topologi komunikasi logik. PVM menjadi lebih baik ketika aplikasi bekerja pada komputer heterogen. PVM dapat melakukan pengembangan aplikasi toleransi kesalahan agar host dapat bertahan dari kegagalan tugas (task failures)
Kata kunci : PVM,MPI, Pemrosesan paralel, Multiprosesor
I. Pendahuluan manual. Seiring dengan hal tersebut,
1.1 Latar Belakang Masalah semakin dituntut proses komputasi yang Saat ini penggunaan komputer untuk semakin cepat. Maka untuk meningkatkan menyelesaikan masalah sudah merasuk ke kecepatan proses komputasi dapat ditempuh segala bidang. Hal ini karena komputasi dengan dua cara, yaitu Peningkatan dianggap lebih cepat dalam menyelesaikan kecepatan perangkat keras dan peningkatan masalah dibandingkan penyelesaian secara kecepatan perangkat lunak. Peningkatan kinerja pada sistem membuat lebih banyak proses bisa komputer tidak dilakukan dengan menunggu dikerjakan sekaligus, namun tetap tidak bisa tersedianya supercomputer namun dapat meningkatkan kecepatan masing-masing mulai dirancang dari computer personal proses. Peningkatan kecepatan setiap proses yang sudah ada. Idealnya adalah bagaimana bisa dicapai melalui peningkatan perangkat cara menyatukan berbagai komputer (yang lunak. kecepatan perangkat lunak sangat mungkin berbeda arsitektur atau prosessor) ditentukan oleh algoritmanya. Dengan agar melalui jaringan komputer dapat adanya komputer multiprosessor, dapatlah tersusun satu supercomputer yang dengan dirancang algoritma yang lebih cepat yaitu fasilitas pengaturan beban dan sharing dapat dengan memparalekan proses komputasinya. melakukan pemrosesan komputasi secara Komputer multiprocessor yang parallel. masih jarang dan mahal harganya Pemrosesan paralel menjadi sebuah menyebabkan algoritma paralel yang ada pilihan setelah pemrosesan sekuensial sukar diimplementasikan, selain itu aplikasi mengalami berbagai masalah dan dari komputasi paralel juga mengalami keterbatasan. Hal ini disebabkan karena kesulitan untuk dijalankan. Pembuatan kecepatan pemrosesan sekuensial belum aplikasi tersebut bertujuan untuk mencukupi kebutuhan bidang sains dan menunjukan peningkatan kecepatan yang rekayasa akan kecepatan komputasi yang diperoleh dari paralelisasi algoritma tinggi. Pemrograman mempergunakan sekuensial. Maka, untuk mengatasinya pemrosesan paralel untuk membuat program dirancanglah mesin paralel semu. Mesin yang menyelesaikan suatu masalah dengan paralel semu ini sebenarnya adalah jaringan waktu eksekusi yang lebih kecil. Singkatnya komputer yang dikendalikan oleh sebuah sistem komputasi akan dilakukan secara perangkat lunak yang mampu mengatur bersama-sama oleh beberapa komputer. pengalokasian proses-proses komputasi Dengan diterapkannya kepada processor processor yang tersebar pemrograman paralel ini diharapkan dalam jaringan tersebut. nantinya dapat meningkatkan kinerja komputasi khususnya dalam menyelesaikan 1.2 Batasan masalah beban komputasi yang tinggi berbantuan Adapun yang menjadi batasan masalah komputer yang tersebar dalam Local Area pada tugas akhir ini seagai berikut: Network (LAN). 1. Melakukan Studi Komparatif dalam Perubahan arsitektur komputer prinsip kerja antara Parallel Virtuall menjadi multiprosessor memang bisa Machine (PVM) dan Message dari buku, jurnal, artikel, dan Passing Interface (MPI). browsing internet untuk mendapatkan 2 Membandingkan Parallel Virtuall data dan informasi yang lengkap. Machine (PVM) dan Message 6. Menyusun Laporan, kegiatan Passing Interface (MPI) dengan penelitian diakhiri dengan penulisan cara studi pustaka tanpa melakukan laporan. Laporan ini merupakan hasil pengujian secara langsung. penelitian yang disusun dan ditulis dengan menggunakan suatu 1.3. Metodologi Penelitian sistematika penulisan yang telah 1.3.1.Tempat dan Waktu Penelitian ditentukan. Tempat penelitian dilaksanakan di Jurusan Teknik Informatika Fakultas Teknik 2. Pemrosesan Paralel dan Ilmu Komputer Universitas Komputer 2.1. Konsep Paralelisme Indonesia, dan waktu penelitian dari mulai Pemrosesan paralel adalah suatu operasi bulan Oktober 2004 sampai bulan Januari komputer dengan dua program atau lebih 2005. yang dikerjakan secara serentak atau 1.3.2. Teknik pengumpulan data bersama-sama dengan menggunakan lebih 1. Memilih masalah, merupakan dari satu unit pengolah pusat. Pemrosesan kegiatan menentukan masalah yang paralel pada dasarnya adalah bentuk akan menjadi bahan penelitian. efisiensi pemrosesan informasi dengan 2. Studi pendahuluan, yaitu penekanan pada eksploitasi konkuren mencari informasi yang diperlukan kejadian-kejadian dalam proses komputasi. agar masalah yang diteliti menjadi Tujuan dari pemrosesan paralel ialah jelas kedudukannya menaikkan kecepatan kemampuan 3. Merumuskan masalah, untuk pemrosesan dan menaikkannya dimana mengetahui langkah langkah sejumlah pemrosesan dapat dikerjakan penelitian yang akan dilakukan. selama waktu interval tertentu sehingga 4. Membandingkan Parallel diperoleh waktu eksekusi yang lebih cepat. Virtuall Machine (PVM) dan Message Passing Interface (MPI). 2.2. Pemrograman Paralel 5. Pengumpulan data, dalam Program untuk komputer paralel harus pengumpulan data tugas akhir ini menyediakan sederetan operasi untuk adalah studi kepustakaan yaitu penulis beberapa prosesor untuk dikerjakan secara menggunakan sumber-sumber otentik paralel, termasuk pengaturan dan pengintegrasian prosesor-prosesor yang melakukan blok sampai penerima terpisah tersebut mengerjakan suatu memanggil receive yang berkaitan. komputasi yang koheren. Kebutuhan akan pembuatan dan pengaturan berbagai 3.1. Komponen komponen PVM aktivitas komputasi paralel menambah Perangkat lunak PVM terdiri dari dua dimensi baru proses dari pemrograman komponen utama, yaitu : komputer. Pemrograman paralel melibatkan 1. PVM daemon dekomposisi sebuah algoritma atau data ke Daemon dari PVM, atau disebut PVM dalam beberapa bagian, menyalurkan daemon (pvmd). Daemon adalah semacam bagian-bagian tersebut sebagai task yang program yang berjalan di belakang dan bekerja dengan multiprosesor secara biasanya menangani program dari klien. simultan. Komponen ini berada pada setiap komputer yang terhubung dalam virtual machine. 3. Parallel Virtual Machine (PVM) PVM Berguna untuk membentuk Parallel Virtual Machine (PVM) adalah konfigurasi host dalam PVM dan perangkat lunak yang memungkinkan mengkoordinir komunikasi antar host. Pvmd sekumpulan komputer yang heterogen yang diaktifkan pertama kali disebut sebagai terlihat seperti satu sistem komputer paralel master, sedangkan pvmd yang diaktifkan dan dapat digunakan sebagai sebuah sumber selanjutnya disebut sebagai slave. pvmd daya komputasi yang koheren. Istilah virtual harus aktif pada setiap host yang machine mengacu pada konfigurasi membentuk konfigurasi PVM. Saat suatu komputer dengan memori tersebar, pvmd mengalami time out, maka pvmd sedangkan istilah host ditujukan untuk tersebut akan menghentikan semua operasi komputer yang merupakan anggota dari yang sedang berlangsung. virtual machine. Host dapat terdiri dari komputer yang berbeda-beda dan terpisah 2. PVM libraries lokasinya secara fisik. Komponen ini berisi rutin-rutin Unit komputasi dalam PVM disebut antarmuka pemakai PVM untuk melakukan dengan task. PVM menyediakan fungsi pengiriman pesan, pembuatan proses, untuk menjalankan task pada virtual koordinasi proses dan modifikasi virtual machine dan memungkinkan task untuk machine. Pustaka PVM ini memungkinkan melakukan komunikasi dan sinkronisasi adanya interaksi antar task, yang bisa dengan task lainnya.. Jika pesan yang akan dilakukan dengan menggunakan fungsi dikirimkan cukup besar, maka pengirim bisa packing dan unpacking pesan. Packing dan unpacking data PVM dihindari dengan Message passing adalah proses menggunakan tipe data yang didefinisikan pengiriman data, dimana data dari suatu dalam parameter send/receive bersama memori disalin ke memori pada prosesor dengan sumber dan tujuan pesan. Data di- lain.karena proses pengiriman datanya antar packed dalam buffer send sebelum dikirim. memori lokal maka teknik message passing Proses penerimaan harus meng-unpack isi biasanya digunakan untuk model komputasi buffer receive tergantung dari format data paralel dengan memori terdistribusi. tersebut. Rutin packing dan unpacking untuk Pertukaran Pesan meliputi transfer masing-masing tipe data. data dari satu proses (send) ke proses lainnya (receive). Operasi pengirim 4. Message Passing Interface (MPI) membutuhkan proses pengiriman untuk Message Passing Interface (MPI) menspesifikasikan lokasi data, ukuran, tipe adalah suatu standar protokol yang dan tujuan. Operasi penerima harus digunakan untuk pemrograman paralel dan melakukan penyesuaian dengan operasi terdistribusi. Proses pertukaran pesan atau pengirim. data antar proses adalah dengan mengirimkan pesan melalui media 5. Hasil pembahasan komunikasi. Media komunikasi yang umum Tabel 4.1. Perbandingan antara PVM dipakai adalah shared memory untuk dan MPI komputer yang mendukung sarana ini. No Performan PVM MPI Perangkat lunak yang si 1. Karakteris - Interoperab -Portability mengimplementasikan protokol ini adalah : tik ility - - Program Komunika 1. MPICH (MPI/Chameleon) dalam si antara 2. LAM (Local Area Multicomputer) bahasa C program dapat dalam 3. CHIMP (Common High-level mengirim bahasa C pesan pada dan interface to Message Passing ) program Fortran Tujuan dari Message Passing Interface Fortran. tidak dapat dipenuhi (MPI) ini adalah untuk menyediakan standar oleh standar pemakaian secara luas untuk menulis MPI program pertukaran pesan. 2. Proses - Kemampua - tidak control n untuk memiliki memulai kemamp dan uan mengakhiri untuk 4.1. Teknik Message Passing task memulai - Mengetahui aplikasi task yang paralel sedang Kelebihan kelebihan : bekerja (running) 1. Dengan PVM memungkinkan - Mengetahui sekumpulan komputer yang heterogen tempat task bekerja bersistem operasi Windows yang (running) 3. Fault Support Tidak terhubung lewat jaringan menjadi suatu Tolerance Support kekuatan komputasi paralel 4. Message - Berurutan Menggunaka Passing - Routin n 2. Daemon pada PVM sangat message antar komunikator mempengaruhi proses eksekusi program computer dilakukan parallel. oleh proses daemon 3. PVM bersifat fleksibel. Sehingga (pvmd) kemampuan PVM dalam penulisan 5. Model - Routi - Blocking Komunika n send - program lebih baik si :Nonblocking Nonblocking (pvm_psend) : 4. PVM mempunyai kendali proses yang - Routi 1.Nonblocki lebih baik karena PVM memiliki satuan n receive : ng send Blocking (MPI_Isend) set fungsi kendali sumber daya yang danNonblocki 2.Nonblocki lebih banyak dibandingkan dengan MPI ng ng receive (pvm_precv) (MPI_Irecv) 5. PVM Mempunyai kemampuan untuk Fault Tolerance guna mengatasi kegagalan task atau kegagalan jaringan 6. Kesimpulan dibandingkan dengan MPI Kesimpulan yang didapat dari hasil analisis data adalah Permasalahan yang Kekurangan kekurangan memerlukan sejumlah besar proses 1.MPI tidak portable untuk membentuk komputasi bisa diselesaikan lebih efektif jaringan workstation karena MPI tidak dengan menggunakan kekuatan dari mempunyai metode standar untuk processor dan memori banyak komputer, memulai task pada host yang terpisah. dari analisis perbandingan antara PVM dan 2.PVM mempunyai set fungsi komunikasi MPI dari segi kemampuan ternyata PVM lebih sedikit dibandingkan dengan MPI. lebih memiliki banyak kelebihan dibandingkan dengan MPI, kelebihan dan 6. Daftar Pustaka kekurangannya adalah :
J. Fiernas, A. Flores, and J.M. Garcia,
Analyzing the performance of MPI in a Cluster of Workstations based on Fast Ethernet
D. Reid, Introduction to Parallel
Computing, Computer Scientist-CVC
F. Utdirartatmo, Pemrograman Parallel
dengan PVM di Linux dan Windows, Andi Yogyakarta,(2002)
G.A. Geist, J. A. Kohl, and P.M.
Papadopoulus, PVM and MPI : a Comparison of feature, (1996)
A. Geist, A. Begeun, J. Dongarra, W.
Jiang, R. Manchek, and V. Sunderam, PVM : Parallel Virtual Machine Auser guideand tutorial for networked parallel computing,The MITT Press, (1994)