D-105
Perbandingan OpenMPI dan LAM/MPI sebagai Middleware
jaringan Cluster Server
Ir. Sujoko Sumaryono, MT.
1)M. Dedy Syahputra, ST., MT.
2)Jurusan Teknik Elektro dan Teknologi Informasi
Fakultas Teknik Universitas Gadjah Mada
E-mail: [email protected]
1)Abstrak
Tuntutan akan informasi yang akurat diberbagai bidang memerlukan daya komputasi yang
besar. Oleh karena itu diperlukan infratruktur komputasi yang memadahi. Daya komputasi
yang besar tersebut dapat disediakan oleh komputer super komputer atau main frame, yang
memiliki daya komputasi berperformansi yang tinggi (High Perfomance Computing). Namun
demikian komputer main frame tersebut sangat mahal biaya investasinya maupun
perawatannya. Disisi lain perkembangan komputer personal (PC) demikian pesat dan ditinjau
dari biaya investasi maupun perawatannya lebih murah. Disamping teknologi komputer PC
yang terus meningkat, teknologi jaringan komputer seperti switch, router, juga mengalami
perkembangan yang sama pesatnya. Kapasitas jaringan komputer dalam mempertukarkan
paket data semakin besar seiring dengan ditemukannya teknologi jaringan pita lebar seperti
Gigabit Ethernet dan kabel serat optik. Dengan mengkolaborasikan komputer PC dengan
jaringan komputer memungkinkan terbentuknya komputer cluster untuk mendukung HPC .
Pembangunan komputer cluster dengan open source (LINUX) , yang terdiri berbagai distro
yang menyediakan operating system LINUX, pengembang MPI, maupun aplikasinya masih
memerlukan konsolidasi agar mencapai kesetabilan sistem cluster. Untuk memperoleh kinerja
yang optimal, perlu pemilihan konfigurasi jaringan, distro operating system (versi kernel),
maupun modul MPI, dan aplikasinya. Untuk menguji perfomansi suatu computer cluster, perlu
dicari indikator-indikatornya perfomansi suatu komputer cluster.
Pengujian terhadap sistem cluster adalah untuk menguji kemampuan dalam melakukan proses
komputasi. Parameter yang digunakan adalah Speedup , Efisiensi dan Waktu Komputasi.
Mekanisme Skenario, pengujian cluster menggunakan beberapa tool dan program yaitu HPL
(High Performance Linpack), NPB (NAS Parallel Benchmark), Pi, Mandelbrot dan MPPTest
sehingga dapat menunjukkan secara lengkap kemampuan cluster
Kata kunci : Middleware, High Performance Computing, Computer Cluster, Open MPI,
LAM/MPI
Pendahuluan
Tuntutan akan informasi yang akurat diberbagai bidang, seperti bidang fisika, kimia, kesehatan, meteorologi, klimatologi, astronomi, tenaga nuklir, ruang angkasa, moneter, bioinformatika dan lain sebagainya, memerlukan daya komputasi yang besar. Oleh karena itu diperlukan infratruktur komputasi yang memadahi. Daya komputasi yang besar tersebut dapat disediakan oleh komputer super komputer atau main frame, yang memiliki daya komputasi berperformansi yang tinggi (High Perfomance Computing). Namun demikian komputer main frame tersebut sangat mahal
D-106
cluster untuk mendukung HPC . Pembangunankomputer cluster dengan open source (LINUX) , yang terdiri berbagai distro yang menyediakan operating system LINUX, pengembang MPI, maupun aplikasinya masih memerlukan konsolidasi agar mencapai kesetabilan sistem cluster. Untuk memperoleh kinerja yang optimal, perlu pemilihan konfigurasi jaringan, distro operating system (versi kernel), maupun modul MPI, dan aplikasinya. Untuk menguji perfomansi suatu computer cluster, perlu dicari indikator-indikatornya perfomansi suatu komputer cluster.
Tujuan Penelitian
Tujuan penelitian adalah :a. Memilih konfigurasi jaringan computer yang op timal untuk penerapan cluster PC.
b. Memilih sistem operasi / kernel open source yang tepat untuk dikembangkan supaya optimal.
c. Menentikan jenis modul MPI yang optimal
d. Menguji cluster PC yang diterapkan dengan beberapa program yang dapat memberikan informasi tentang kemampuan cluster tersebut. e. Menganalisa hasil uji coba dari beberapa program
yang digunakan setelah pengujian dilakukan berdasarkan kondisi yang diterapkan pada cluster. f. Memberikan kesimpulan dari kemampuan
c o m p u t e r cluster
Tinjauan Pustaka
Cluster PC adalah suatu sistem yang terdiri atas sejumlah PC yang terhubungkan dengan sebuah jaringan berkecepatan tinggi (high speed switch). Setiap anggota cluster merupakan sebuah sistem penggunaan pengolah dan jumlah program yang bekerja. Pada pemrograman serial hanya terdapat satu program yang bekerja pada sebuah mesin dengan pengolah tunggal beserta sejumlah memori. Sedangkan dalam paradigma pemrograman paralel, sebuah program bekerja di banyak mesin yang masing-masingnya dapat mempunyai pengolah tunggal ataupun jamak dan mempunyai sejumlah memori, serta bekerja secara simultan untuk memecahkan sebuah persoalan yang dapat dipilah-pilah sehingga dapat diselesaikan secara paralel. Agar
pelaksanaan atau eksekusi paralel dapat berlangsung dengan baik maka dibutuhkan kerjasama yang baik antar pengolah itu. Untuk koordinasi kerjasama tersebut dibutuhkan sarana komunikasi antar pengolah. Dalam penelitian ini menggunakan fasilitas message passing (MP) untuk komunikasi antar pengolah. Paradigma MP berkembang sangat pesat akhir-akhir ini. Alasan utama dari banyaknya pengguna MP adalah karena dapat mendukung hampir semua arsitektur komputer. Program yang dibuat dengan menggunakan MP ini dapat digunakan di sistem klaster maupun sistem komputer pengolah tunggal (MacDonald, 1995).
Pada saat ini ada dua sistem MP yang sering dipakai untuk aplikasi sains dan rekayasa, yaitu PVM (Parallel Virtual Machine) dari Oak Ridge National Laboratory dan MPI (Message Passing Interface). Pada penelitian ini digunakan pustaka MPI.
Fatullah, Mutiara, Yulianto (2004) melakukan penelitian analisa kinerja cluster linux dengan pustaka MPICH terhadap perkalian matriks dengan menggunakan algoritma paralel. Dengan pengujian cluster MPI dengan dimensi matrik 2048 diperoleh data sehingga bisa diprediksi waktu yang diperlukan oleh sebuah cluster linux untuk menyelesaikan perkalian. Penelitian ini dilakukan untuk melihat waktu tercepat cluster linux menyelesaikan perkalian matriks.
Permana, Mutiara, Heruseto (2004) melakukan penelitian analisa kinerja sistem Cluster Linux SuSE 9.0 dengan memanfaatkan pustaka MPICH versi 1.2.4. Pengujian dilakukan terhadap aplikasi perender gambar POV-Ray versi 3.1. Dalam pengujiannya menggunakan arsitektur jaringan TCP/IP dalam menyatukan masing- masing node menjadi sebuah sistem cluster. Teknologi jaringan yang dipakai menggunakan topologi star, dipadukan dengan satu buah switch dan konektor RJ45 pada ke lima buah PC. Laksono, Mutiara, Heruseto (2004) melakukan penelitian analisa perbandingan antara penggunaan cluster jenis OpenMosix dengan MPI untuk aplikasi rendering POV-Ray. Dari hasil yang diperoleh dalam pengujian terlihat bahwa dalam merender sebuah gambar dengan aplikasi POV-Ray menggunakan Cluster OpenMosix hasilnya dapat dikatakan cukup signifikan perbedaannya jika dibandingkan dengan menggunakan MPI.
D-107
komputasi dapat didistribusikan ke mesin-mesinkomputasi yang lain.
Dasar Teori
Model Komputasi
Komputasi adalah suatu proses terhadap suatu informasi yang dimanipulasi dengan serangkaian kegiatan seperti mendapatkan data (input), mengolah data (calculation), dan mengirimkannya ke tujuan tertentu (output) (Rajasekaran, 2008).
Bagian penting dari proses komputasi adalah eksekusi terhadap suatu urutan instruksi atas sekumpulan data (Flynn, 2003). Dengan dasar pemikiran tersebut, Michael J. Flynn pada tahun 1966 mengklasifikasikan komputer menjadi empat tipe yaitu:
1. SISD (Single Instruction/Single Data stream) 2. SIMD (Single Instruction/Multiple Data stream) 3. MISD (Multiple Instruction/Single Data stream) 4. MIMD (Multiple Instruction/Multiple Data stream) Klasifikasi diatas didasarkan pada aliran data dan aliran instruksi di dalam prosesor. Aliran data adalah lalu lintas pertukaran data antara prosesor dan memori, sedangkan aliran instruksi adalah urutan instruksi yang diolah oleh prosesor.
SISD merupakan tipe komputasi yang banyak digunakan pada beragam komputer sampai saat ini. SISD adalah istilah untuk sebuah arsitektur komputer dimana hanya terdapat satu prosesor yang melaksanakan aliran instruksi tunggal, yang mengeksekusi data yang tersimpan dalam memori tunggal pula.
Gambar 1 Model Arsitektur SISD
Pada tipe komputasi yang skemanya dapat dilihat pada Gambar 1, instruksi komputer dieksekusi secara sekuensial (berurutan), walaupun pada kenyataannya eksekusi yang dilakukan tidak benar-benar serial, melainkan menggunakan mekanisme pipelining yang memberikan efek bahwa eksekusi atas suatu instruksi dijalankan hampir bersamaan.
SIMD adalah salah satu tipe komputer paralel dalam taksonomi Flynn. Tipe ini menjelaskan suatu komputer dengan beberapa elemen pemrosesan yang secara bersama-sama melakukan satu operasi pada suatu data. Dengan demikian, dapat dikatakan bahwa komputer ini
memiliki paralelisme pada tingkat data. Skema tipe komputasi SIMD dapat dilihat pada Gambar 2 .
Gambar 2 Model Arsitektur SIMD
Di dalam komputasi, model MISD adalah tipe arsitektur komputasi paralel dimana lebih dari satu unit fungsional prosesor melakukan beberapa operasi yang berbeda terhadap data yang sama. Tidak banyak implementasi dari arsitektur ini karena keterbatasan skalabilitasnya dibandingkan dengan tipe arsitektur SIMD dan MIMD. Skema tipe komputasi MISD dapat dilihat pada Gambar 3.
Gambar 3 Model Arsitektur MISD
Tipe MIMD merupakan tipe komputasi yang digunakan oleh sebagian besar sistem yang menggunakan sistem multiprosesor maupun multikomputer. MIMD adalah teknik yang banyak digunakan agar dapat mencapai paralelisme komputasi. Mesin dengan tipe arsitektur MIMD memiliki beberapa fungsi prosesor yang bersifat asinkron dan independen. Pada suatu wakru, prosesor yang berbeda dapat mengeksekusi instruksi berbeda pada bagian data yang berbeda.
D-108
Gambar 4 Model Arsitektur MIMD
Klasifikasi arsitektur MIMD dapat diklasifikasikan lagi menurut struktur memorinya. Struktur memori di dalam arsitektur MIMD dapat berupa shared memory atau distributed memory.
1. GMSV : Global Memory Shared Variable. 2. GMMP: Global Memory Message Passing. 3. DMSV: Distributed Memory Shared Variable. 4. DMMP: Distributed Memory Message Passing. GMSV dan DMSV menggunakan shared memory sedangkan GMPP dan DMMP menggunakan message passing. Komputer cluster termasuk dalam klasifikasi DMMP karena menggunakan mekanisme message passing dalam melakukan komunikasi antar proses. Arsitektur MIMD dengan struktur memori DMMP memiliki mekanisme pertukaran informasi antar prosesor yang dilakukan dengan menggunakan Message Transfer System (MTS). MTS sangat tergantung pada kecepatan jaringan interkoneksi antar prosesor.
Andrew S. Tanenbaum, seorang profesor bidang ilmu komputer dan penulis beberapa buku komputer menambahkan sub-kategori untuk MIMD sesuai arsitektur atau interkoneksi komponennya, yaitu multiprosesor dan multikomputer. Sistem multiprosesor merupakan komputer yang dirancang khusus oleh vendor untuk kebutuhan komputasi yang tinggi. Sistem ini menggabungkan beberapa prosesor dalam satu mainboard yang dihubungkan dengan sistem memori tunggal, sehingga antar prosesor tersebut saling berbagi memori (shared memory).
Persyaratan Komputasi Paralel
Tanenbaum juga menambahkan bahwa pengertian sistem terdistribusi adalah sekumpulan komputer independen yang seolah menjadi satu kesatuan sistem di mata pengguna. Hal tersebut membawa tantangan dalam mengembangkan sistem yang terdistribusi, antara lain:
Heterogenenity
Sistem terdistribusi harus dirancang untuk dapat menerima beragam tipe jaringan komputer, sistem operasi, arsitektur komputer dan bahasa pemrograman. Contohnya adalah protokol komunikasi Internet yang ada saat ini mampu menjembatani perbedaan cara komunikasi pada jaringan komputer.
Openness
Sistem terdistribusi harus dapat diperluas jangkauannya. Hal ini dapat ditempuh antara lain dengan mempublikasikan antarmuka suatu perangkat lunak atau perangkat keras sehingga dapat diakses oleh partisipan lainnya.
Security
Sistem terdistribusi menggunakan metode pertukaran pesan dalam berkoordinasi, sehingga memungkinkan pihak lain untuk menyadapnya dan mendapatkan akses ke sumber daya tertentu. Hal ini dapat dicegah dengan menerapkan metode pengamanan data menggunakan enkripsi sebagai contohnya.
Scalability
Sistem terdistribusi juga harus scalable dalam artian penambahan perangkat atau pengguna tidak menyebabkan penurunan kemampuan dari sistem tersebut.
Failure Handling
Sistem terdistribusi harus mempunyai mekanisme fail-over yang akan berfungsi ketika salah satu komponen dari sistem mengalami kegagalan operasi sehingga pada saat itu komponen atau proses lain pada sistem tersebut dapat tetap berjalan tanpa terganggu.
Concurrency
Seluruh sumber daya yang terhubung dengan sistem terdistribusi dan yang dapat diakses oleh banyak pengguna, harus mempunyai mekanisme khusus apabila terjadi suatu permintaan akses secara bersamaan.
Transparency
Tujuan utama dari proses transparansi adalah untuk memberikan kemudahan kepada pengguna dalam mengakses sumber daya yang tersedia pada sistem terdistribusi dengan menyembunyikan keberagaman (heterogenity) dan kerumitan sistem sesungguhnya. Sehingga di mata pengguna, suatu sistem yang terdistribusi tampak sebagai sebuah sistem tunggal.
Cara Penelitian
1. Alat Penelitian
a. PC : AMD64 5000+ , 4 buah b. Memori : 1 GB masing-masing node
c. Harddisk : 20GB untuk masing-masing node d. Network Card (LAN Card) : 100/1000 Mbps e. Sistem Operasi : Ubuntu 9.10
D-109
10/100/1000T x 24 ports unmanaged switch danKabel UTP Cat 5e
2. Jalan Penelitian
Penelitian dilakukan dalam beberapa tahapan antara lain:
a. Studi pustaka, penelitian dilakukan dengan mengumpulkan dan mempelajari informasi yang terdapat pada buku-buku, literatur, dan tulisan ilmiah yang terkait dengan penerapan komputasi paralel.
b. Pemilihan topologi jaringan
c. Melakukan instalasi server sebagai head node cluster
d. Melakukan instalasi client sebagai compute node cluster
e. Melakukan ujicoba komputasi untuk melihat kinerja pada cluster
f. Membuat analisis dan kesimpulan dari hasil ujicoba
3. Perancangan Sistem
Dalam penelitian digunakan alat-alat berupa perangkat keras komputer yang membentuk sebuah cluster. Perangkat keras berupa komputer, yang digunakan ada yang berfungsi sebagai head node dan compute node.
4. Perancangan Pengujian
a. Tujuan Pengujian, Tujuan perancangan pengujian cluster adalah untuk menguji kemampuan dalam melakukan proses komputasi. Parameter yang digunakan adalah Speedup , Efisiensi dan Waktu Komputasi.
b. Mekanisme Skenario, pengujian cluster
menggunakan beberapa tool dan program yaitu HPL (High Performance Linpack), NPB (NAS Parallel Benchmark), Pi, Mandelbrot dan MPPTest sehingga dapat menunjukkan secara lengkap kemampuan cluster
Hasil Penelitian dan Pembahasan
1.
Pengujian Sistem Menggunakan Program
Paralel HPL
Pengujian ini dilakukan untuk menguji apakah computer paralel yang telah dibuat dapat menjalankan program HPL Linpack versi 2.0.Percobaan dilakukan pada 1 node sampai 4 node untuk uji kinerja
HPL Linpack 2.0 menggunakan Pustaka LAM/MPI, hasil yang diperoleh adalah seperti yang terlihat Gambar 5.
Gambar 5. Grafik HPL Linpack berdasarkan
Waktu (detik)
Gambar 5 secara jelas menunjukkan perbedaan kemampuan HPL Linpack 2.0 dengan pustaka OpenMPI yang lebih cepat dalam waktu komputasi dibandingkan menggunakan pustaka
LAM/MPI.
Gambar 6 Grafik HPL Linpack berdasarkan
Kemampuan Operasi (Gflops)
2. Pengujian Sistem Menggunakan
NAS
Parallel Benchmark (NPB)
Pengujian kedua yang dilakukan adalah menguji apakah computer paralel yang telah dibuat dapat menjalankan program parallel menggunakan program NPB EP. Percobaan program NPB EP
dilakukan pada 1 node sampai 4 node dengan banyak pengujian 3 kali untuk masing-masing uji kinerja Octave dengan MPITB menggunakan
Pustaka LAM/MPI dan OpenMPI, hasil yang diperoleh dalam bentuk data statistik kemudian ditampilkan dalam bentuk grafik perbandingan
D-110
Gambar 7. Grafik Rata-rata Waktu KomputasiNAS Parallel Benchmark (NPB) EP menggunakan Pustaka LAM/MPI dan OpenMPI
Gambar 7 menunjukkan rata-rata Waktu komputasi cluster yang menjalankan NAS Parallel Benchmark (NPB) EP dengan pustaka OpenMPI yang tampak lebih cepat dibandingkan menggunakan pustaka LAM/MPI.
Gambar 8 Grafik Speedup NAS Parallel Benchmark (NPB) EP menggunakan Pustaka
LAM/MPI dan OpenMPI
Gambar 8 menunjukkan speedup cluster yang menjalankan NAS Parallel Benchmark (NPB) EP dengan pustaka OpenMPI yang tampak lebih baik dibandingkan menggunakan pustaka LAM/MPI.
Gambar 9. Grafik Efisiensi NAS Parallel Benchmark (NPB) EP menggunakan Pustaka
LAM/MPI dan OpenMPI
Gambar 9 menunjukkan efisiensi cluster yang menjalankan NAS Parallel Benchmark (NPB) EP dengan pustaka OpenMPI yang tampak lebih baik dibandingkan menggunakan pustaka LAM/MPI.
3. Pengujian Sistem Menggunakan
Program Paralel PI
Pengujian ketiga yang dilakukan adalah menguji apakah computer paralel yang telah dibuat dapat menjalankan program parallel menggunakan program cpi, yaitu program paralel untuk perhitungan pi. Percobaan Test Program Pi dilakukan pada 1 node sampai 4 node dengan banyak pengujian 30 kali untuk masing-masing uji kinerja Octave dengan MPITB menggunakan Pustaka LAM/MPI dan OpenMPI, hasil dalam bentuk data statistic kemudian ditampilkan dalam bentuk grafik perbandingan adalah seperti yang terlihat pada Gambar 10, 11 dan 12.
Gambar 10. Grafik Rata-rata Waktu KomputasiHasil Test Program Pi menggunakan PustakaLAM/MPI dan
OpenMPI
OpenMPI Gambar 10 menunjukkan rata-rata Waktu komputasi cluster yang menjalankan Test Program Pi dengan pustaka OpenMPI yang tampak lebih cepat dibandingkan menggunakan pustaka LAM/MPI.
D-111
Gambar 11 menunjukkan speedup cluster yangmenjalankan Test Program Pi dengan pustaka OpenMPI yang tampak lebih baik dibandingkan menggunakan pustaka LAM/MPI.
Gambar 12 Grafik Efisiensi Hasil Test Program Pi menggunakan Pustaka LAM/MPI dan OpenMPI
Gambar 12 menunjukkan efisiensi cluster yang menjalankan Test Program Pi menggunakan Pustaka LAM/MPI dan OpenMPI dengan pustaka OpenMPI yang tampak lebih baik dibandingkan menggunakan pustaka LAM/MPI.
4. Pengujian Sistem Menggunakan Program
Paralel MandelBrot
Pengujian keempat yang dilakukan adalah menguji apakah komputer paralel yang telah dibuat dapat menjalankan program parallel fraktal Mandelbrot. Fraktal adalah suatu bentuk geometris yang dapat dipisahkan ke dalam bagian-bagian, dimana masing-masing bagian itu adalah versi kecil dari versi keseluruhannya [Stevens, 1989].
Pengujian program parallel menggunakan program Mandelbrot, yaitu program paralel yang menggunakan fractal Mandelbrot.Percobaan test program Mandelbrot dilakukan pada 1 node sampai 4 node dengan banyak pengujian 30 kali untuk masing masing uji kinerja Octave dengan MPITB menggunakan Pustaka LAM/MPI dan OpenMPI, hasil dalam bentuk data statistik kemudian ditampilkan dalam bentuk grafik perbandingan adalah seperti yang terlihat pada gambar 9, 10 dan 11
Gambar 13 Grafik Rata-rata Waktu KomputasiHasil
Test Program Mandelbrot menggunakanPustaka LAM/MPI dan OpenMPI
Gambar 13 menunjukkan rata-rata waktu komputasi cluster yang menjalankan Test Program Mandelbrot dengan pustaka OpenMPI yang tampak lebih cepat dibandingkan menggunakan pustaka LAM/MPI.
Gambar 14. Grafik Speedup Hasil Test ProgramMandelbrot menggunakan Pustaka LAM/MPI
danOpenMPI
Gambar 10 menunjukkan speedup cluster yang menjalankan Test Program Mandelbrot dengan pustaka OpenMPI yang tampak lebih baik dibandingkan menggunakan pustaka LAM/MPI.
Gambar 15. Grafik Efisiensi Hasil Test ProgramMandelbrot menggunakan Pustaka LAM/MPI
D-112
Gambar 11 menunjukkan efisiensi cluster yangmenjalankan Test Program Mandelbrot menggunakan Pustaka LAM/MPI dan OpenMPI dengan pustaka OpenMPI yang tampak lebih baik dibandingkan menggunakan pustaka LAM/MPI.
5. Pengujian Sistem Menggunakan Program
MPPTEST
MPPTEST adalah sebuah program yang mengukur kinerja dari beberapa pesan MPI dasar lewat rutinitas dalam berbagai situasi. Selain pingpong klasik tes, mpptest dapat mengukur kinerja dengan banyak proses berpartisipasi (mengungkapkan anggapan dan
skalabilitas masalah) dan adaptif dapat memilih ukuran pesan untuk mengisolasi perubahan-perubahan dalam kinerja tiba-tiba. Pengujian Mpptest dalam penelitian ini menggunakan 2 macam opsi yaitu : Pertama,opsi – sync/Blocking sends/receives (default) merupakan uji coba komunikasi sinkron yang memerlukan beberapa jenis "handshaking" antara tugas-tugas yang berbagi data. Hal ini dapat secara eksplisit dalam kode terstruktur oleh programmer, atau mungkin terjadi pada tingkat yang lebih rendah tidak diketahui oleh pemrogram. Komunikasi sinkron sering disebut sebagai komunikasi menghalangi karena pekerjaan lain harus menunggu sampai komunikasi telah selesai. Kedua, opsi –async/ NonBlocking sends/receives merupakan uji coba komunikasi asynchronous yang tugas untuk mentransfer data secara independen dari satu sama lain. Sebagai contoh, tugas 1 dapat menyiapkan dan mengirim pesan ke tugas 2, dan kemudian segera mulai melakukan pekerjaan lain. Ketika tugas 2 benar-benar menerima data yang tidak penting. Asynchronous komunikasi sering disebut sebagai non-blocking komunikasi karena pekerjaan lain dapat dilakukan sementara komunikasi berlangsung. Percobaan mpptest dilakukan pada 1 node sampai 4 node untuk uji kinerja Pustaka LAM/MPI dengan opsi blocking, hasil yang diperoleh adalah seperti yang terlihat pada Gambar 16.
Gambar 16.Hasil Test Program MPPTEST (blocking) 1 - 4 Node LAM/MPI
Percobaan mpptest dilakukan pada 1 node sampai 4 node untuk uji kinerja Pustaka LAM/MPI dengan opsi – async atau nonblocking, hasil yang diperoleh adalah seperti yang terlihat pada Gambar 17
Gambar 17 Hasil Test Program MPPTEST
(nonblocking) 1 - 4 Node LAM/MPI
Percobaan dilakukan pada 1 node sampai 4 node untuk uji kinerja Pustaka OpenMPI dengan opsi blocking, hasil yang diperoleh adalah seperti yang terlihat pada gambar 18.
Gambar 18. Hasil Test Program MPPTEST (blocking) 1 - 4 Node OpenMPI
Percobaan mpptest dilakukan pada 1 node sampai 4 node untuk uji kinerja Pustaka OpenMPI dengan opsi – async atau blocking, hasil yang diperoleh adalah seperti yang terlihat
D-113
Gambar 19. Hasil Test Program MPPTEST(nonblocking) 1 - 4 Node OpenMPI
Dari hasil yang didapat dari mpptest dapat disimpulkan bahwa kemampuan dari pustaka yang digunakan dalam penelitian masih mempunyai kekurangan sehingga dapat berdampak pada berkurangnya performansi dalam melakukan komputasi paralel. Pada hasil mpptest pustaka OpenMPI lebih memiliki kelebihan untuk mendukung komputasi paralel dibandingkan dengan pustaka LAM/MPI.
Temuan dan Diskusi
Algoritma paralel tampak memiliki speedup yang tinggi secara teoritis, tetapi saat diimplementasikan ke dalam sistem yang nyata memberikan hasil yang lebih rendah. Berikut adalah beberapa masalah yang dapat sebuah shared data dimiliki oleh sejumlah pemroses paralel. Memory contention merupakan masalah yang muncul pada arsitektur shared memory seperti multiprocessor.
2. Kode sekuensial yang berlebihan
Dalam algoritma paralel akan selalu ada bagian kode sekuensial yang melakukan operasi tertentu, seperti inisialisasi. Kode sekuensial bisa membatasi speedup maksimum yang dapat dicapai.
3. Waktu pembuatan proses
Dalam praktek, pembuatan proses paralel memerlukan sejumlah waktu. Bila proses yang dibuat memiliki durasi yang pendek, overhead pembuatannya menjadi lebih besar dari waktu yang dihemat oleh komputasinya secara paralel.
4. Delay komunikasi
Delay ini muncul karena interaksi antara dua pemroses pada multikomputer yang dilakukan melalui pertukaran pesan. Komunikasi bisa jadi dilewatkan melalui banyak pemroses antara pada jaringan komunikasi. Delay komunikasi yang dihasilkan bisa menurunkan kinerja
program.
5. Delay sinkronisasi
Pensinkronan proses paralel, berarti ada proses yang dipaksa menunggu proses lainnya untuk keperluan sinkronisasi. Pada beberapa program paralel, delay yang dihasilkan dapat menyebabkan penurunan kinerja. 6. Ketidakseimbangan beban
Pada beberapa program paralel, proses yang melakukan komputasi dibuat secara dinamis dan harus ditempatkan ke pemroses setelah dibuat. Ada kemungkinan beberapa proses menganggur (idle), sementara yang lainnya memiliki banyak proses yang melakukan komputasi.
Secara teoritis, peningkatan kecepatan akibat paralelisasi adalah linear, yaitu apabila elemen pemroses digandakan, maka waktu eksekusi akan menjadi setengah-nya. Tetapi, sangat sedikit algoritma parallel yang dapat mencapai peningkatan kecepatan yang optimal.
Menurut Hukum Amdahl’s, bagian kecil dari sebuah program yang tidak dapat lagi diparalelkan, akan membatasi peningkatan kecepatan yang dapat dicapai dari paralelisasi secara keseluruhan.
Tidak semua hasil dari paralelisasi dapat meningkatkan kecepatan. Secara umum, ketika sebuah pekerjaan dibagi menjadi lebih banyak subpekerjaan, sub pekerjaan tersebut menghabiskan waktu lebih banyak, yaitu untuk berkomunikasi diantara subpekerjaan. Hal ini tidak akan membuat waktu eksekusi menjadi lebih singkat, melainkan sebaliknya, hal inilah yang disebut sebagai perlambatan parallel (parallel slowdown). Pada pemecahan suatu masalah dengan cara paralel, biasanya tingkat efisiensi akan menurun saat jumlah pemroses dinaikkan. Hal ini disebabkan tidak lain oleh terjadinya ongkos komunikasi. Ongkos komunikasi merupakan faktor yang sangat dominan terjadi pada proses komputasi paralel.
Ongkos komunikasi adalah lama waktu yang digunakan untuk proses pembuatan, pengiriman, dan penerimaan data. Semakin banyak jumlah pemroses, dalam hal ini jumlah node yang digunakan, maka akan semakin besar nilai ongkos komunikasi tersebut.
Angka ini akan menjadi semakin besar jika tingkat masalah yang harus dipecahkan semakin kecil, karena waktu yang dibutuhkan untuk memecahkan masalah malah lebih singkat ketimbang waktu komunikasi data itu sendiri.
D-114
Kesimpulan
1. Teknologi jaringan komputer Gigabit Ethernet dengan konfigurasi full duplex memberikan kinerja yang baik untuk mendukung pertukaran pesan antara node dengan head node pada jaringan cluster 2. S i s t e m O p e r a s i L i n u x U b u n t u 9 . 1 0
m e m b e r i k a n s t a b i l i t a s d a n k o m p a t i b i l i t a s u n t u k b e r b a g a i a p l i k a s i c l u s t e r s e p e r t i O p e n M P I , L A M / M P I , O c t a v e , d a n a p l i k a s i - a p l i k a s i u n t u k p e n g u j i a n k i n e r j a .
3 . Hasil test ujicoba kinerja cluster PC menggunakan HPL 2.0 Linpack sebagai alat uji cluster di dunia menunjukkan penggunaan cluster dengan pustaka OpenMPI lebih baik dibandingkan cluster dengan pustaka LAM/MPI.
4. Hasil ujicoba kinerja OCTAVE dengan MPITB menggunakan pustaka OpenMPI lebih baik dibandingkan LAM/MPI yang didapat dari beberapa hasil test seperti NAS Parallel Benchmark (NPB) EP, Pi, serta Mandelbrot.
5. Hasil yang didapat dari uji mpptest dapat disimpulkan bahwa kemampuan dari pustaka OpenMPI lebih memiliki kelebihan untuk mendukung komputasi paralel dibandingkan dengan pustaka LAM/MPI
Daftar Pustaka
[1]. Bailey, D; Barton, J; Lasinski, T; & Simon, H. January (1991). The NAS Parallel Benchmarks, ReportRNR-91-002, NASA/Ames Research Center. [2]. Barney, B. (2009). “Introduction to Parallel
Computing”,
https://computing.llnl.gov/tutorials/parallel_comp/ Diakses tanggal 20 November 2009, pukul 14.35 WIB.
[3]. Bersetekas, D.P.; & Tsitsklis, J. N. (1989). Parallel and Distributed Computation : Numerical Methods, New Jersey : Prentice-Hall, Inc.
[4]. Buyya, R (ed.). (1999). High Performance Cluster Computing, Volume 2: Programming an Applications, New Jersey : Prentice Hall, Inc. [5]. Eager, D.L; Zoharjan, J; & Lazowska, E.D. (1989).
“Speedup Versus Efficiency in Parallel Systems”. IEEE Transactions On Computers, Vol. 38, No. 3,. [6]. Grama, A; Gupta, A.L; Karypis, G; & Kumar, V. (2003). Introduction to Parallel Computing, London, Addison Wesley.
[7]. Hwang, K. (1993). Advanced Computer Architecture : Parallelism, Scalability, Programmability, New York : McGraw-Hill. [8]. Lester, B P. (1993). The Art of Parallel
Programming, New Jersey : Prentice-Hall, Inc [9]. Wilkinson, B; & Allen, M. (2004). Parallel
Penanggung Jawab : Ir. Gumbolo Hadi Susanto, M.Sc. Dekan
Pengarah : Wahyudi Budi Pramono, ST., M.Eng Wakil Dekan
Dr. Sri Kusumadewi, S.Si., M.T. Direktur Pascasarjana MTI Dra. Kamariah Anwar, MS. Ketua Jurusan Teknik Kimia Drs. M. Ibnu Mastur, MSIE Ketua Jurusan Teknik Industri Yudi Prayudi, S.Si, M.Kom Ketua Jurusan Teknik Informatika Tito Yuwono, ST., M.Sc Ketua Jurusan Teknik Elektro Agung Nugroho Adi, ST., MT. Ketua Jurusan Teknik Mesin
Ketua Pelaksana : Prof. Dr. Ir. Hari Purnomo, MT. Bendahara : 1. Nashrullah Setiawan, ST., M.Sc.
2. Yustiasih Purwaningrum, ST., MT.
Reviewer : 1. Ir. Erlangga Fausa, M.Cis 2. Dr. Ir. Farham HM Saleh, MSIE. 3. Agus Mansur, ST., M.Eng., Sc. 4. Izzati Muhimmah, ST., M.Sc. Ph.D. 5. Ir. Hj. Budi Astuti, MT.
6. Muhammad Ridlwan, ST., MT.
Makalah & Prosiding:
Koordinator Winda Nur Cahyo, ST., MT. 1. Dyah Retno Sawitri, ST.
2. Yuli Agusti Rochman, ST., M.Eng. 3. Dhomas Hatta Fudholi, ST., M.Eng. 4. Firdaus, ST.
5. Purtojo, ST., M.Sc. 6. Haryadi, S.Pd.Si
7. Yoga Dwi Kurniawan, ST. Sekretariat:
Koordinator Sri Indrawati, S.T., M.Eng. 1. Muhammad Susilo Atmodjo 2. Pangesti Rahman, SE.
Sie Sertifikat:
Koordinator Arif Bintoro Johan, S.Pd.T., M.Pd.T. 1. Heri Susilo, S.Pd.T.
2. Ratna Kumala Dewi, A.Md.
Sie. Acara dan Publikasi:
Koordinator Drs. Imam Djati Widodo, M.Eng., Sc. 1. Harwati, ST. MT.
2. Bagus Prabowo Aji, ST. 3. Suwati
Sie. Konsumsi dan perlengkapan:
1. Supardiman 2. Pardiya, ST.
1. Tri Handana 2. Wiyono