TUGAS

Analisis Jurnal – Pengantar Message Passing, OpenMP

Tema : Pengantar Message Passing, OpenMP

Sebelum kita membahas mengenai Message Passing dan OpenMP, kita harus mengetahui  terlebih dahulu apa itu komputasi paralel.

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.

Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan (serial). Atau waktu yg anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua.

Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.

Pengantar Message Parsing, OpenMP

Message Parsing dalam ilmu komputer adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel, pemrograman berorientasi obyek, dan komunikasi antar. Dalam model ini, proses atau benda dapat mengirim dan menerima pesan (yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau bahkan segmen kode) ke proses lainnya. Dengan menunggu pesan, proses juga dapat menyinkronkan.

Message passing adalah paradigma komunikasi di mana pesan dikirim dari pengirim ke satu atau lebih penerima. Bentuk pesan termasuk (remote) pemanggilan metode, sinyal, dan paket data.

OpenMP adalah Application Program Interface (API), bersama-sama didefinisikan oleh sekelompok perangkat keras komputer utama dan vendor perangkat lunak. OpenMP menyediakan portabel, model yang terukur untuk pengembang aplikasi paralel memori bersama. API mendukung C / C + + dan Fortran pada berbagai arsitektur.

Latar Belakang

Perkembangan data yang semakin pesat dapat melampaui batas kemampuan perangkat manajemen database. Salah satu contoh sistem yang memiliki kompleksitas data yang tinggi adalah SIM RS (Sistem Informasi Manajemen Rumah Sakit). Dalam penelitian ini data pasien pada SIM RS akan digunakan sebagai objek implementasi Komputasi Paralel menggunakan model message-passing. Komputasi paralel didesain dengan cara membagi eksekusi data ke sejumlah komputer/CPU. Pengujian akan dilakukan dengan membandingkan waktu pengolahan data antara sekuensial dan paralel. Selain itu komputasi paralel akan diuji menggunakan perhitungan Speed Up dan Efisieinsi.

Salah satu dari penelitian ini menggunakan metode foster pada konfigurasi komputasi paralel di  komputer/CPU master dan slave. Sedangkan penelitian yang lain menggunakan metode Conjugate Gradient (CG).

Metode

Metode foster merupakan salah satu metode yang dapat digunakan untuk memecahkan masalah yang berhubungan dengan komputasi paralel (quinn, 2003). Secara umum metode ini memindahkan masalah dari perhitungan sekuensial menjadi beberapapartisi perhitungan/data, membutuhkan komunikasi antar partisi yang ada, membuat prosesaglomerasi antar data serta memetakan partisi tersebut dalam beberapa prosesor yang ada,sehingga metode Foster membagi pekerjaan dalam 4 langkah yaitu :

  1. Langkah pertama metode Foster untuk mendesain komputasi paralel adalah proses partisi. Pembagian dilakukan dengan membagi dan menyebarkan data pasien ke sejumlah p . Sehingga dalam kondisi ideal, komputer/CPU akan mengolah sebanyak N/p data, dengan N merupakan jumlah data dan p merupakan jumlah komputer/CPU.
  2. Langkah kedua adalah menentukan komunikasi dalam desain paralel. Komunikasi terjadi pada saat proses pembagian data dari komputer/CPU master ke sejumlah komputer/CPU slave. Komunikasi yang terjadi adalah collective communication. Collective communication merupakan komunikasi yang terjadi antara komputer/CPU master dengan semua komputer/CPU slave yang ada.
  3. Langkah ketiga adalah proses mengelompokkan task ke dalam task yang lebih besar guna meningkatkan kinerja maupun menyederhanakan pemrograman atau yang disebut dengan proses aglomerasi.
  4. Langkah terakhir adalah memaksimalkan kemampuan komputer/CPU dan meminimalkan komunikasi antar komputer/CPU atau yang disebut proses pemetaan. Kemampuan komputer/CPU adalah persentasi rata-rata waktu komputer/CPU dalam mengeksekusi suatu task untuk menyelesaikan suatu masalah dan memberi suatu solusi penyelesaian.

Metode Conjugate Gradient (CG) adalah sebuah algoritme untuk mencari solusi numerik dari suatu sistem persamaan linear tertentu, yaitu yang dengan matriks simetri dan definit positif. Metode ini bersifat iteratif, sehingga dapat diaplikasikan pada SPL yang berukuran besar dan akan sangat sulit jikalau diselesaikan dengan metode langsung, seperti eliminasi Gauss. Disamping itu, metode CG juga dapat diterapkan untuk menyelesaikan masalah optimasi tak berkendala. Secara umum, metode ini membangkitkan vektor-vektor yang saling berkonjugasi dan juga merupakan gradient dari fungsi kuadrat. Metode ini menyelesaikan sistem persamaan linear dengan cara menemukan titik minimum dari fungsi kuadrat (Schewchuk, 1994).

CG

Analisa

Pengujian terhadap penelitian ini difokuskan pada dua aspek yaitu speedup dan efisiensi. Proses pengujian dengan menguji Speedup adalah nilai yang diperoleh dari perbandingan antara waktu proses komputasi serial dengan waktu proses komputasi paralel. Pengujian efisiensi pada pengujian ini adalah perbandingan antara nilai speed up yang dihasilkan dari banyaknya komputer/CPU yang digunakan untuk mencapai nilai tersebut.

Penurunan nilai efisiensi yang terjadi pada setiap peningkatan jumlah komputer/CPU disebabkan oleh terdapat komputer/CPU yang tidak bekerja (idle). Proses komunikasi yang kompleks menyebabkan terjadinya kondisi dimana komputer/CPU tidak bekerja dan menunggu untuk mendapat perintah. Hasil nilai efisiensi menunjukkan semakin banyak penggunaan komputer/CPU maka semakin menurun nilai efisiensi.

Analisis Algoritme CG

Algoritme paralel MPI yang dibuat terdiri dari tiga bagian, pertama bagian distribusi matriks, kedua distribusi vektor dan ketiga bagian iterasi fungsi CG. Dalam menganalisis kompleksitas algoritme MPI yang telah dibuat, ketiga bagian tersebut diikutsertakan seluruhnya dalam perhitungan.

Kesimpulan/ Tanggapan

Hasil yang didapat pada tahap pengujian menunjukan pengolahan data pasien menunjukan bahwa waktu pengolahan data pasien menggunakan program paralel MPI lebih cepat dibandingkan pengolahan data menggunakan topologi jaringan sekuensial/1 komputer/CPU.

Komputasi paralel menggunakan model Message Passing tidak serta merta dapat diimplementasikan pada semua jenis data dan struktur database. Jenis data dan strusktur database pada SIM RS dalam penelitian ini menunjukan bahwa semakin banyak komputer/CPU yang ikut melakukan eksekusi data dan melewati titik idealnya (2 sampai 3 komputer/CPU) mengakibatkan waktu tunggu dalam malakukan proses komunikasi semakin panjang, sehingga mempengaruhi panjang waktu eksekusi data secara keseluruhan.

Referensi

Leave a comment