Diagram perkalian matriks MPI

Gambar 2. Diagram perkalian matriks MPI

Pada perkalian matriks paralel dengan MPI, matriks yang dikalikan adalah matriks A dan matriks B. Paralelisasi dilakukan pada matriks A, matriks A dibagi menjadi potongan-potongan matriks dengan ukuran yang hampir sama, kemudian potongan-potongan tersebut dikirimkan ke compute node. Sedangkan matriks B dikirimkan secara utuh ke seluruh compute node sebagai pengali matriks A. Selanjutnya masing-masing compute node akan mengalikan potongan matriks A tersebut dengan seluruh elemen matriks B, hasil perkalian ini kemudian dikirimkan ke Head Node.

2. PEMBAHASAN

2.1 Pengujian Perkalian Matriks Stand Alone

Tabel.1 merupakan hasil pengujian perkalian matriks menggunakan satu buah raspberry. T1 merupakan pengujian pertama, T2 merupakan pengujian kedua, T3 merupakan pengujian ketiga, T4 merupakan pengujian keempat, T5 merupakan pengujian kelima dan TR merupakan nilai rata-rata dari setiap pengujian.

Tabel 1. Tabel pengujian matriks stand alone

No Ordo

Satuan waktu yang digunakan untuk pengujian adalah microsecond, dari hasil pengujian didapatkan waktu pemrosesan tercepat sebesar 600 microsecond untuk perkalian matriks ordo 50 x 50. Waktu pemrosesan terlama sebesar 1624800 microsecond untuk perkalian matriks ordo 1000 x 1000. Grafik hasil pengujian perkalian matriks stand alone dapat dilihat pada gambar 3.

Gambar 3. Hasil pengujian matriks stand alone

Garis horizontal menunjukkan perkalian matriks yang dilakukan, mulai dari ordo 50 x 50 hingga ordo 1000 x 1000. Garis vertical menunjukkan waktu eksekusi dalam satuan microsecond. Dari grafik tersebut dapat dilihat bahwa waktu eksekusi akan semakin besar seiring besarnya ordo matriks.

2.2 Pengujian Perkalian Matriks Paralel

Tabel 2 merupakan hasil pengujian perkalian matriks menggunakan satu buah raspberry. T1 merupakan pengujian pertama, T2 merupakan pengujian kedua, T3 merupakan pengujian ketiga, T4 merupakan pengujian keempat, T5 merupakan pengujian kelima dan TR merupakan nilai rata-rata dari setiap pengujian.

Tabel 2. Tabel pengujian matriks paralel

No Ordo

Satuan waktu yang digunakan untuk pengujian adalah microsecond, dari hasil pengujian didapatkan waktu pemrosesan tercepat sebesar 342 microsecond untuk perkalian matriks ordo 50 x 50. Waktu pemrosesan terlama sebesar 5394 microsecond untuk perkalian matriks ordo 200 x 200. Grafik hasil pengujian perkalian matriks paralel dapat dilihat pada gambar 4.

Gambar 4. Hasil pengujian matriks parallel

Garis horizontal menunjukkan perkalian matriks yang dilakukan, mulai dari ordo 50 x 50 hingga ordo 1000 x 1000. Garis vertical menunjukkan waktu eksekusi dalam satuan microsecond. Dari grafik tersebut dapat dilihat bahwa waktu eksekusi akan semakin besar seiring besarnya ordo matriks.

2.3 Perbandingan Stand Alone dan Paralel

Dari hasil perhitungan diperoleh nilai percepatan terendah ada pada perkalian matriks ordo 50 x 50 sebesar

1.74 dan nilai tertinggi ada pada perkalian matriks ordo 1000 x 1000. Demikian juga dengan efisiensi terendah dan tertinggi, efisiensi terendah ada pada perkalian matriks ordo 50 x 50 sebesar 1.74 dan nilai efisiensi tertinggi ada pada perkalian matriks ordo 1000 x 1000. Dari nilai efisiensi tersebut diketahui bahwa perhitungan matriks dengan komputasi paralel lebih cepat dibandingkan dengan stand alone, kecepatan tersebut juga dipengaruhi oleh banyaknya prosesor yang digunakan, dalam penelitian ini menggunakan 4 buah prosesor.

Pada gambar 5, garis berwarna biru menunjukkan hasil pemrosesan menggunakan komputasi stand alone sedangkan garis berwarna merah menunjukkan komputasi secara parallel Dari grafik tersebut dapat disimpulkan bahwa untuk semua ordo matriks pemrosesan paralel memiliki waktu eksekusi yang lebih singkat dibanding waktu eksekusi stand alone, dengan demikian dapat dikatakan bahwa performa pemrosesan paralel lebih baik.

Gambar 4. Perbandingan komputasi stand alone dan paralel

Pada penelitian ini kinerja aplikasi sangat dipengaruhi oleh algoritma yang digunakan. Gambar 5 menunjukkan bahwa algoritma paralel MPICH2 dapat membagi pekerjaan pada arsitektur paralel dengan baik sehingga eksekusi perintah dapat dilakukan secara bersamaan. Penggunaan algoritma paralel MPICH2 terbukti dapat memaksimalkan komputasi sehingga meningkatkan performansi komputasi. Hal ini terlihat dari perbandingan waktu proses algoritma paralel dengan algoritma lain yang digunakan dalam pemrosesan stand alone.

Gambar 5. Perbandingan komputasi parallel dengan algoritma lain

Dari gambar 5 tersebut dapat dilihat perhitungan paralel tetap lebih cepat dibandingkan perhitungan stand alone, baik menggunakan metode sequential, omp, thread2 maupun mpi (try4p) baik untuk ordo 100 x 100 maupun ordo 1000 x 1000.

3. KESIMPULAN

Dari percobaan menggunakan raspberry tunggal dan beberapa respberry menujukkan bahwa komputasi paralel mempunyai kecepatan yang lebih cepat dibanding komputasi stand alone. MPICH2 dapat digunakan untuk memproses perkalian matriks secara parallel Implementasi algoritma paralel untuk perkalian matriks meningkatkan performansi lebih baik seiring besarnya ordo matriks.

Dari percobaan menggunakan perkalian matriks ordo 100 x 100 dan ordo 1000 x 1000 kinerja komputasi paralel tetap lebih baik dibandingkan komputasi stand alone yang diuji menggunakan algoritma sequential, omp, thread2 maupun mpi (try4p).