Tugas 2: Review Jurnal Mengenai Komputasi Paralel


Pada tulisan kali ini, saya akan me-review sebuah jurnal dengan judul penelitian  “Arsitektur Program Paralel Berbasis Message-Passing Interface” yang dilakukan pada tahun 2014.

MASALAH YANG DITELITI
Terdapat banyak kasus pada kalkulasi membutuhkan sumber daya yang relatif besar dibanding kasus-kasus lainnya, misalnya kalkulasi matriks dengan order tinggi dan karakteristik yang sangat spesifik. Ketika sebuah pekerjaan dilakukan oleh komputer, sistem operasi mengelola seluruh sumber daya yang dibutuhkan untuk menjalankan pekerjaan tersebut. Pengelolaan sumber daya yang dilakukan oleh sistem operasi meliputi pengelolaan proses, memori, input output, dan file yang terlibat atau yang dibutuhkan. Setelah sistem operasi menyiapkan sumber daya yang dibutuhkan, prosesor akan dijadwalkan untuk mengeksekusi proses dengan cara membaca baris demi baris kode yang telah diletakkan di ruang tertentu dalam memori utama komputer.

Satu baris kode membutuhkan waktu sejumlah tertentu siklus clock. Semakin banyak jumlah baris kode yang harus dibaca, atau semakin kompleks alur logika sebuah program tentunya semakin lama pula waktu yang diperlukan oleh prosesor untuk mengeksekusinya. Dengan kata lain, jumlah baris kode dan tingkat kompleksitas program mempengaruhi jumlah CPU time (clock cycles) yang diperlukan untuk eksekusi. 

Tabel 1 merupakan sebuah contoh kebutuhan CPU time yang sangat tinggi. Kode dibuat oleh penulis untuk mencari bitstring A dan bitstring B yang keduanya mempunyai karakteristik tertentu, sebagai tahap awal kalkulasi matriks skew-Hadamard yang terdiri atas matrik-matrik A, B, C, D dengan susunan pola dan keteraturan yang sudah ditentukan.


Tabel 1 merupakan sebuah catatan tentang kebutuhan waktu eksekusi prosesor (CPU time) untuk pencarian kelompok bitstring A dan B. Waktu yang diperlukan untuk mengeksekusi kode agar ditemukan sebanyak setengah anggota himpunan (setengah belahan simetris) bitstring A adalah 4055367 jam atau 168973,653 hari yang jika dibagi 365 didapatkan waktu eksekusi 462,941516 tahun. Itu apabila kode dieksekusi oleh satu core CPU tunggal yang berdiri sendiri.

TUJUAN PENELITIAN
Tujuan dari penelitian yaitu bertujuan untuk menyelidiki apakah arsitektur paralel bisa meningkatkan kinerja eksekusi program yang kompleks, misalnya mempercepat pencarian matriks.

METODE PENELITIAN
Metode penelitian terdiri atas dua bagian. Pertama, metode pengembangan perangkat lunak menggunakan model proses prototyping. Kedua, metode eksperimen yaitu metode pengamatan terhadap hasil eksekusi program.

HASIL PENELITIAN
Dari hasil penelitian didapatkan beberapa hasil sebagai berikut:
Penelitian menghasilkan prototipe program paralel dan perbandingan antara waktu yang dibutuhkan untuk mengeksekusi program dengan komputer tunggal dan waktu yang dibutuhkan untuk mengeksekusinya di atas lima komputer yang terhubung dalam jaringan komputer.

Arsitektur Prototipe Program
Arsitektur prototipe program paralel yang dibuat dapat dilihat pada gambar berikut:


Program kalkulasi terdiri atas lima modul utama, yaitu modul pencarian bitstring A,  B, C, D dan modul kalkulasi matriks yang bertugas mencari matriks. Keempat modul pencarian bitstring A, B, C, D, berperan sebagai program client yang melaporkan hasil pencarian ke modul kalkulasi matriks, yang berperan sebagai modul server. Modul server menerima hasil pencarian dari keempat modul client lalu melakukan kalkulasi berdasarkan masukan yang diberikan. Di samping kelima modul tersebut, dikembangkan modul Message-Passing Interface (MPI) yang bertugas mengelola transfer data seluruh modul kalkulasi. MPI merupakan spesifikasi sekaligus library yang dikembangkan untuk mempermudah pembuatan program paralel. Berikut ini penjelasan tentang implementasi MPI dalam arsitektur program paralel yang dibuat. 

Perbandingan Waktu Eksekusi
Selain prototipe program, hasil penelitian yang lain adalah waktu eksekusi prototipe program pertama dan prototipe program kedua. Waktu eksekusi prototipe program pertama dapat dilihat pada Tabel 2. Pada tabel tersebut disajikan jumlah elemen bitstring yang dicari, yaitu bilangan ganjil positif mulai dari 3, 5, 7, 9, 11, 13, sampai dengan 15, serta kebutuhan waktu eksekusi masing-masing pencarian. 

Waktu real adalah waktu yang dibutuhkan proses untuk dieksekusi oleh CPU dari awal sampai akhir. Waktu real merupakan waktu total yang terdiri atas waktu user dan waktu system. Angka-angka yang terdapat pada tabel merupakan angka terdekat yang berhasil dibaca dari time stamp yang dicatat oleh sistem operasi. Ketidaksesuaian jumlah waktu user dan waktu system terhadap waktu real terjadi karena pendekatan tersebut.





Waktu yang diperlukan untuk mengeksekusi kode (program) dalam pencarian matriks menggunakan prototipe program pertama, lebih lama 2,46 kali dibandingkan dengan waktu yang diperlukan untuk mengeksekusi prototipe kedua. Hal itu dapat dijelaskan sebagai berikut:
(1) Pada prototipe program pertama, sumber daya komputer terbatas hanya satu unit komputer. Sementara itu prototipe program kedua dieksekusi oleh lima unit komputer yang terhubung pada jaringan komputer yang tentunya mempunyai jumlah sumber daya yang jauh lebih besar dibanding dengan prototipe pertama.
(2) Ada semacam overhead yang harus dibayarkan untuk menghubungkan lima unit komputer dalam sistem jaringan, yang menyebabkan waktu eksekusi tidak berbanding lurus dengan ketersediaan sumber daya komputer. 
(3) Jika koneksi dianggap sebagai I/O waiting, maka rumus utility CPU : U = 1 – p n dengan p adalah I/O waiting, dan n merupakan banyaknya proses yang terlibat dalam sistem, dapat diberlakukan. 
(4) Kompleksitas program tergolong tinggi, dapat diamati dari ukuran masukan yang berbeda mengakibatkan perbedaan sangat signifikan dalam hal lamanya waktu eksekusi.

KESIMPULAN PENELITIAN
Penelitian menghasilkan beberapa kesimpulan:
(1) Message-Passing Interface (MPI) dapat digunakan dengan baik untuk mengelola transfer data di antara proses-proses yang terlibat dalam sistem.
(2) Penggunaan arsitektur paralel sangat efektif untuk program yang mempunyai kompleksitas rendah namun tidak efektif untuk program dengan kompleksitas tinggi, dalam arti bahwa arsitektur paralel tidak bisa menurunkan tingkat kompleksitas suatu program.
(3) Komunikasi antar proses di dalam jaringan komputer membutuhkan effort atau overhead yang menyebabkan penggunaan sumber daya dalam arsitektur paralel tidak berbanding lurus dengan program yang sama namun dengan arsitektur serial.

kelebihan PENELITIAN
Penulis berhasil membuktikan bahwa penggunaan arsitektur paralel memungkinkan peningkatan kinerja eksekusi program. Dimana waktu yang diperlukan untuk mengeksekusi kode (program) dalam pencarian matriks menggunakan satu unit komputer, 2,46 kali lebih lama dibandingkan dengan waktu yang diperlukan untuk eksekusi oleh lima unit komputer yang terhubung pada jaringan komputer yang tentunya mempunyai jumlah sumber daya yang jauh lebih besar.

kekurangan PENELITIAN
Menurut saya, dalam penggunaan komputasi parallel untuk mempercepat pencarian matriks pada penelitian ini membutuhkan sumber daya prosesor yang banyak dan biaya yang dikeluarkan relatif mahal.

link sumber jurnal :

Komentar

Postingan populer dari blog ini

RANGKUMAN POINTER PADA C

Aborsi menurut sudut pandang agama Hindu

Komunikasi Desain Visual