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 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.
(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:
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.
(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.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
Posting Komentar