BAB IV HASIL DAN UJI COBA

dokumen-dokumen yang mirip
BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN SISTEM

BAB I PENDAHULUAN. seiring perkembangan teknologi mikroprosesor, proses komputasi kini dapat

BAB III METODE PENELITIAN

BAB III ANALISA KEBUTUHAN DAN RANCANGAN

BAB III METODE PENELITIAN

A. Kompetensi Setelah mengiktui mata kuliah ini, mahasiswa diharapkan dapat memahami dan bisa melakukan:

BAB III METODE PENELITIAN

BAB III METODOLOGI PENELITIAN

BAB 5 IMPLEMENTASI. Rocks Clusters dan Tachyon digunakan hanya sebagai contoh untuk proof of

Pendahuluan. Praktikum Pengantar Pengolahan Citra Digital Departemen Ilmu Komputer Copyright 2008 All Rights Reserved

67

RENCANA PEMBELAJARAN SEMESTER (RPS)

BAB 2 STRUKTUR SISTEM OPERASI. Komponen Sistem Operasi

MODUL I PENGENALAN MATLAB

KATA PENGANTAR. Penulis. Raizal Dzil Wafa M.

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB IV PENGUJIAN DAN ANALISIS

BAB II TINJAUAN PUSTAKA

BAB III PEMROGRAMAN MATLAB 2 Copyright by

BAB 1 PENDAHULUAN. Sebuah embedded system berbasis mikrokontroller umumnya memiliki

Algoritma & Pemrograman #8. by antonius rachmat c, s.kom, m.cs

Penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Tujuan Utama Untuk meningkatkan performa komputasi.

Astika Ayuningtyas Sekolah Tinggi Teknologi Adisutjipto Yogyakarta, Jl Janti Blok R Lanud Adisutipto, Yogyakarta

BAB III ANALISIS DAN PERANCANGAN

Panduan Praktikum S1 Elins Eksp. Kontrol Digital 1

BAB IV PENGUJIAN DAN ANALISIS

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. komputer. Data-data tersebut dikirimkan secara nirkabel dari node satu ke node

10. PARALLEL PROCESSING

Algoritma Pemrograman 2B (Pemrograman C++)

ARSITEKTUR PROGRAM PARALEL BERBASIS MESSAGE-PASSING INTERFACE

Eddy Nurraharjo Program Studi Teknik Informatika, Universitas Stikubank Semarang

BAB V PENGUJIAN DAN ANALISIS WAHANA

IMPLEMENTASI GRID COMPUTING DENGAN MENGGUNAKAN PENGALAMATAN IPv6

SISTEM OPERASI. Review

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I

BAB III METODE PENELITIAN. studi kepustakaan, percobaan dan analisis. Dengan ini penulis berusaha untuk

SAHARI. Selasa, 29 September

BAB I PENDAHULUAN. 1.1 Latar Belakang

Rangkuman Materi Presentasi AOK. Input/Output Terprogram, Intterupt Driven dan DMA. (Direct Memory Access)

OPERASI PERNYATAAN KONDISI

BAB II LANDASAN TEORI

Pemrograman MPI (1) Kuliah#11 TSK617 Pengolahan Paralel - TA 2011/2012. Eko Didik Widianto. Teknik Sistem Komputer - Universitas Diponegoro

Modul 1 Pengenalan MATLAB

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Organisasi & Arsitektur Komputer

Implementasi Hypergraph Partitioning pada Paralelisasi Perkalian Matriks-Vektor

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

BAB III METODE PENELITIAN

Scope Variable. Sebuah variabel di dalam sebuah fungsi memiliki jangkauan tertentu. Skop variabel terdiri dari:

BAB III METODE PENELITIAN

BAB II KAJIAN TEORI. yang diapit oleh dua kurung siku sehingga berbentuk empat persegi panjang atau

PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER SISTEM INPUT OUTPUT

Teknik optimasi. Teknik optimasi kode program Tujuan: menghasilkan kode program yang berukuran lebih kecil dan lebih cepat pada saat dieksekusi.

1 Array dan Tipe Data Bentukan

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. penelitian laboratorium. Studi kepustakaan dilakukan untuk mencari teori atau

Organisasi SistemKomputer, Pelayanan Sistem Operasi. Ptputraastawa.wordpress.com

Implementasi Hypergraph Partitioning pada Paralelisasi Perkalian Matriks-Vektor

Pertemuan 5: Pengenalan Variabel Array

METODE NUMERIK Modul I

PENDAHULUAN A. Latar Belakang 1. Metode Langsung Metode Langsung Eliminasi Gauss (EGAUSS) Metode Eliminasi Gauss Dekomposisi LU (DECOLU),

AES pipeline yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI point-to-point send-receive untuk aliran proses penyandian.

MODUL 3 FAKTORISASI LU, PARTISI MATRIK DAN FAKTORISASI QR

BAB III METODE PENELITIAN

MEMBANGUN PC CLUSTER DI LINGKUNGAN LABORATORIUM KOMPUTER TEKNIK ELEKTRO UIN SUSKA RIAU TUGAS AKHIR

JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 1

Pemrograman Basis Data Berbasis Web

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

PEMBANGUNAN CLUSTER PARALEL MENGGUNAKAN RASPBERRY PI

SILABUS BERBASIS KOMPETENSI

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Pemrograman pada MATLAB

PRAKTIKUM 1 SINYAL, SYSTEM, DAN KONTROL PENGENALAN MATLAB 1. Percobaan 1 Vektor Penulisan vektor di MATLAB

JAWABAN TUGAS 5 PEMROGRAMAN TEKNIK

APLIKASI DEKOMPOSISI NILAI SINGULAR PADA KOMPRESI UKURAN FILE GAMBAR

PRAKTIKUM 1. Dasar-Dasar Matlab. (-), perkalian (*), pembagian (/) dan pangkat (^). Simbol ^ digunakan untuk

BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Dasar-dasar MATLAB. by Jusak Irawan, STIKOM Surabaya

BAB II LANDASAN TEORI

BAB IX LINKED LIST (SENARAI BERANTAI)

MODUL 1 PENGANTAR PROGRAM MATLAB DAN PENGGUNAANNYA UNTUK ALJABAR MATRIKS SEDERHANA

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

Kisi-Kisi dan Materi Uji Olimpiade Sains BIDANG INFORMATIKA/KOMPUTER

Algoritma Kohonen dalam Mengubah Citra Graylevel Menjadi Citra Biner

BAB III METODE PENELITIAN. transmisi data streaming menggunakan Zigbee wireless network dengan

PRAKTIKUM ISYARAT DAN SISTEM TOPIK 0 TUTORIAL PENGENALAN MATLAB

TEKNIK OPTIMASI. Dependensi Optimasi. Optimasi Lokal. Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebih cepat eksekusinya.

PERANCANGAN STRUKTUR DATA YANG EFISIEN UNTUK PEMROGRAMAN ANALISIS JARINGAN

Operasi Piksel dan Histogram

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (TEKNIK KOMPUTASI)

Pengantar Pemrograman MATLAB

AKSELERASI GLOBAL PAIRWISE ALIGNMENT DENGAN SKEMA PARTISI BLOCKED COLUMN-WISE PADA SISTEM MEMORI TERDISTRIBUSI MAULANA RIZAL IBRAHIM

BAB IV PERANCANGAN DAN REALISASI PERANGKAT LUNAK

Pemanfaatan Algoritma Sequential Search dalam Pewarnaan Graf untuk Alokasi Memori Komputer

Matriks. Algoritma Pemrograman. Definisi Matriks

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

ORGANISASI KOMPUTER II AUB SURAKARTA

Transkripsi:

BAB IV HASIL DAN UJI COBA Dalam bab ini akan dibahas mengenai pemanfaatan cluster untuk melakukan komputasi paralel dengan OCTAVE MPITB. Program yang digunakan sebagai uji coba adalah program perkalian matriks yang dilakukan secara paralel. Program tersebut ditulis dengan MPI yang diimplementasikan oleh OCTAVE MPITB. Program ini memanfaatkan fungsi-fungsi dasar MPI yaitu MPI_Send dan MPI_Recv untuk mengirimkan data dan menerima data antar mesin-mesin komputasi. IV.1 Analisis Permasalahan Perkalian Matriks Paralel Perkalian matriks adalah sebuah operasi matematika yang banyak dipakai di dalam komputasi. OCTAVE telah mengimplementasikan operasi perkalian matriks ini menjadi salah satu operasi dasar yang sangat mudah untuk dilakukan. Akan tetapi perkalian matriks yang dilakukan secara paralel memiliki cara yang berbeda dengan perkalian matriks yang dilakukan secara serial. Dalam melakukan operasi perkalian matriks secara paralel, perlu dilakukan dekomposisi domain atau paralelisasi data. Data harus dibagi-bagi menjadi bagian-bagian dengan ukuran yang hampir sama kemudian dikirimkan ke masing-masing mesin komputasi untuk diproses. Konsekuensi dari paralelisasi data adalah proses memerlukan komunikasi periodis untuk melakukan pertukaran 56

57 data sehingga kecepatan komunikasi data antar mesin komputasi sangat tergantung pada jaringan komputer. Penerapan metode paralelisasi data pada perkalian matriks secara paralel yang dibuat di dalam penelitian ini adalah dengan membagi ukuran matriks yang akan dikalikan menjadi bagian-bagian yang hampir sama dan kemudian dikirimkan ke mesin-mesin komputasi yang akan mengolah bagian dari matriks tersebut. Permasalahan yang dihadapi di dalam melakukan perkalian matriks paralel di dalam penelitian ini adalah perlunya sebuah algoritma untuk melakukan operasi perkalian matriks paralel. Matriks yang akan dikalikan adalah matriks persegi. Jumlah elemen matriks yang diberikan dibuat bervariasi, mulai dari matriks dengan jumlah elemen sedikit sampai jumlah elemen banyak.variasi jumlah elemen matriks ini dimaksudkan untuk mengukur kecepatan pemrosesan perkalian matriks paralel. Kecepatan proses perkalian matriks paralel untuk jumlah elemen matriks sedikit sampai dengan jumlah elemen banyak kemudian dibandingkan dengan proses perkalian matriks serial dengan dengan jumlah elemen yang sama dengan proses perkalian matriks paralel. Kecepatan masing-masing proses perkalian matriks baik secara serial dan paralel dibuat sebuah grafik yang menunjukkan kecepatan waktu pemrosesan secara paralel dan serial dengan jumlah elemen matriks yang dikalikan.

58 IV.2 Operasi Perkalian Matriks Pada OCTAVE Operasi perkalian dua buah matriks dalam OCTAVE sama dengan melakukan operasi perkalian matriks pada MATLAB. Contoh operasi perkalian matriks pada OCTAVE ditunjukkan oleh Gambar IV.1. octave > A = [12 3 5;34 65 78;1 6 8]; octave > B = [32 65 7; 56 8 98; 12 54 76]; octave > A*B ans = 612 1074 758 5664 6942 12536 464 545 1203 Gambar IV.1 Operasi Perkalian Matriks Dalam OCTAVE Gambar IV.1 adalah operasi perkalian matriks yang dilakukan di dalam OCTAVE. Gambar tersebut menunjukkan command prompt OCTAVE. Di dalam command prompt tersebut pengguna dapat memberikan perintah-perintah untuk melakukan operasi-operasi matematis seperti yang ditunjukkan oleh Gambar IV.1. Selain melalui command prompt OCTAVE, pengguna dapat membuat program yang berisi perintah-perintah OCTAVE ke dalam sebuah file dengan ekstensi.m. Program yang berisi perintah-perintah OCTAVE dapat dieksekusi oleh OCTAVE. Berikut perintah Eksekusi program eksekusi OCTAVE : pengguna@cluster0$ octave -q --eval file.m ans = 612 1074 758 5664 6942 12536 464 545 1203 Gambar IV.2 Eksekusi Program OCTAVE Gambar IV.2 menunjukkan cara untuk mengeksekusi program file.m yang berisi perintah-perintah OCTAVE. Isi file.m sama dengan perintah untuk melakukan operasi perkalian matriks yang ditunjukkan oleh Gambar IV.1.

59 IV.3 Perkalian Matriks Paralel Pada algoritma perkalian matriks paralel, matriks yang dilakukan adalah matriks A dan matriks B. Paralelisasi data dilakukan pada matriks A. Matriks A akan dibagi menjadi potongan-potongan matriks dengan ukuran yang hampir sama. Potongan-potongan matriks tersebut kemudian dikirimkan ke compute node. Matriks B dikirimkan secara keseluruhan ke komputer-komputer compute node sebagai pengali matriks A. Parelesiasi data pada matriks A dapat kita lihat pada gambar dibawah ini : Compute node 1 Matriks A1/ cell array {1,1} Matriks A Compute node 2 Gambar IV.3 Paralelisasi Data pada Matriks A Masing-masing compute node yaitu compute node 1 dan compute node 2 mengalikan potongan elemen matriks A dengan seluruh elemen matriks B. Hasil operasi perkalian yang dilakukan oleh masing-masing compute node kemudian dikirimkan ke head node dengan operasi MPI_Send. Head node akan menerima hasil operasi perkalian matriks yang dilakukan oleh compute node dengan operasi MPI_Recv. Matriks A2 / cell array {2,1} Operasi MPI_Send dan MPI_Recv yang digunakan untuk komunikasi data antara head node dan compute node adalah operasi dasar komunikasi point to point di dalam pemrograman paralel dengan MPI.

60 Gambar IV.4 Diagram Alir Fungsi Perkalian Matriks Paralel Gambar IV.4 menunjukkan diagram alir fungsi perkalian matriks paralel. Diagram alir tersebut kemudian diimplementasikan ke dalam sebuah program yang ditunjukkan oleh Gambar IV.5.

61 1. function Hasil = PerkalianMatriks(A,B) 2. [info rank] = MPI_Comm_rank(MPI_COMM_WORLD); 3. tag = 123; 4. Acell = cell(2,1); 6. Bcell = cell(1,2); 7. [row col] = size(a); 8. subrow = floor(row/2); 9. Acell{1,1} = A(1:subRow,1:end); 10 Acell{2,1} = A(subRow+1:end,1:end); 11. Bcell{1,1} = B(1:end,1:subRow); 12. Bcell{1,2} = B(1:end,subRow+1:end); 13. if(rank == 0) 14. C = cell(2,1); 15. for i=1:2 16. [info stat] = MPI_Probe(i,tag,MPI_COMM_WORLD); 17. [info count] = MPI_Get_count(stat); 18. buf = blanks(count); 19. info = MPI_Recv(buf,i,tag,MPI_COMM_WORLD); 20. pos = 0; 21. [info ret] = MPI_Unpack(buf,pos,MPI_COMM_WORLD,'X'); 22. C{i,1} = X; 23. end 24. Hasil = cell2mat(c); 25. elseif(rank == 1) 26. C1 = cell(1,2); 27. for i=1:2 28. C1{1,i} = Acell{1,1}*Bcell{1,i}; 29. end 30. M1 = cell2mat(c1); 31. [info pack1] = MPI_Pack_size(M1,MPI_COMM_WORLD); 32. buf1 = repmat(' ',1,pack1); 33. pos1 = 0; 34. info = MPI_Pack(M1,buf1,pos1,MPI_COMM_WORLD); 33. info = MPI_Send(buf1,0,tag,MPI_COMM_WORLD); 34. elseif(rank == 2) 35. C2 = cell(1,2); 36. for i=1:2 37. C2{1,i} = Acell{2,1}*Bcell{1,i}; 38. end 39. M2 = cell2mat(c2); 40. [info pack2] = MPI_Pack_size(M2,MPI_COMM_WORLD); 41. buf2 = repmat(' ',1,pack2); 42. pos2 = 0; 43. info = MPI_Pack(M2,buf2,pos2,MPI_COMM_WORLD); 44. info = MPI_Send(buf2,0,tag,MPI_COMM_WORLD); 45. end 46. end Gambar IV.5 Program Perkalian Matriks Paralel Program pada Gambar IV.5 menggunakan fungsi-fungsi MPI yang ditunjukkan oleh Tabel IV.1.

62 Tabel IV.1 Fungsi-Fungsi MPI Fungsi MPI MPI_Comm_rank MPI_Comm_size MPI_Send MPI_Recv MPI_Probe MPI_Pack_size MPI_Pack MPI_Unpack Keterangan Menentukan rangking-rangking proses. Menentukan banyaknya proses yang melakukan komputasi. Mengirimkan data. Menerima data. Melakukan blocking data yang diterima. Menentukan ukuran buffer untuk variabel yang akan di paketkan. Melakukan pemaketan variabel yang akan dikirimkan. Membuka kembali variabel yang dipaketkan. IV.4 Pengujian Program Perkalian Matriks Paralel Pengujian program perkalian matriks paralel dilakukan dengan menjalankan program perkalian matriks paralel dan melihat kecepatan pemrosesan serta beban komputasi cluster ketika sedang memroses operasi perkalian matriks paralel. Kecepatan proses perkalian matriks paralel kemudian dibandingkan dengan kecepatan proses perkalian matriks serial yang dikerjakan oleh satu komputer saja. Hasil perbandingan tersebut ditampilkan ke dalam bentuk grafik untuk menunjukkan perbedaan kecepatan proses perkalian matriks secara serial dan paralel.

63 Untuk menjalankan fungsi PerkalianMatriks() yang dideklarasikan oleh Gambar IV.5, diperlukan sebuah program untuk memanggil fungsi PerkalianMatriks() tersebut. Program ini adalah program utama yang di dalamnya terdapat inisialisasi dan terminasi program MPI. Program tersebut ditunjukkan oleh gambar IV.6. 1. info = MPI_Init; 2. [info rank] = MPI_Comm_rank(MPI_COMM_WORLD); 3. [info sz] = MPI_Comm_size(MPI_COMM_WORLD); 4. vecwaktu = 0; 5. j = 1; 6. for i=10:1000 7. mulai = MPI_Wtime(); 8. A = round(10*rand(i)); 9. B = round(10*rand(i)); 10. ret = PerkalianMatriks(A,B); 11. selesai = MPI_Wtime(); 12. vecwaktu(j)= selesai-mulai; 13. j++; 14. end 15. if(rank == 0) 16. vecserial = 0; 17. k=1; 18. for i=10:1000 19. mu = MPI_Wtime(); 20. X = round(10*rand(i)); 21. Y = round(10*rand(i)); 22. Z = X*Y; 23. se = MPI_Wtime(); 24. vecserial(k)=se-mu; 25. k++; 26. end 27. plot(vecwaktu,'r'); 28. hold on; 29. plot(vecserial); 30. print -dpng filedataparaleldanserial1000.png; 31. end 32. info = MPI_Finalize; Gambar IV.6 Program Utama Perkalian Matriks Paralel Baris pertama listing program yang ditunjukkan oleh Gambar IV.6 adalah inisialisasi program MPI. Program MPI selalu diawali dengan pemanggilan fungsi MPI_Init. Baris-baris program diantara pemanggilan fungsi MPI_Init dan MPI_Finalize akan dibaca oleh semua node.

64 Baris ke dua adalah pemanggilan fungsi MPI_Comm_rank. Fungsi tersebut menentukan rangking-rangking proses yang akan menjalankan tugastugas komputasi. Rangking-rangking proses adalah identitas proses yaitu identitas node-node di dalam cluster. Rangking 0 adalah proses utama atau identitas untuk head node. Rangking-rangkin yang lain adalah identitas untuk compute node. Baris ke tiga adalah pemanggilan fungsi MPI_Comm_size. MPI_Comm_size adalah fungsi MPI yang menentukan jumlah node yang terlibat di dalam proses komputasi paralel. Cluster yang dibangun di dalam penelitian ini hanya memiliki tiga node saja, sehingga nilai yang dihasilkan MPI_Comm_size adalah tiga. Baris ke enam sampai dengan baris ke empatbelas adalah blok iterasi perkalian matriks paralel dengan jumlah elemen matriks yang dikalikan mulai dari 10 elemen sampai dengan 1000 elemen. Di dalam blok iterasi tersebut dicatat waktu proses perkalian matriks paralel yang dilakukan oleh fungsi PerkalianMatriks() untuk tiap-tiap jumlah elemen yang ditentukan oleh iterator. Baris ke limabelas sampai dengan ke tigapuluhsatu adalah blok kondisi jika identitas proses adalah 0 atau head node. Pada blok tersebut terdapat operasi perkalian matriks secara serial yang hanya dikerjakan oleh head node saja. Operasi perkalian matriks secara serial ditunjukkan oleh baris ke delapanbelas sampai dengan baris ke duapuluhenam. Iterasi yang dilakukan pada operasi perkalian matriks serial tersebut sama dengan iterasi yang dilakukan pada operasi perkalian secara paralel yaitu menghitung waktu untuk tiap-tiap jumlah elemen

65 yang dikalikan. Setelah didapat hasil perhitungan waktu proses perkalian matriks paralel dan serial, selanjutnya dibuat grafik yang menunjukkan waktu perkalian paralel dan serial dalam menyelesaikan operasi perkalian matriks dengan jumlah elemen matriks yang dikalikan adalah 10 sampai 1000 elemen. Baris ke tigapuluhdua adalah pemanggilan fungsi MPI_Finalize. Fungsi MPI_Finalize menandai bahwa program MPI telah selesai. Program yang ditunjukkan oleh Gambar IV.6 akan dijalankan dengan perintah mpirun. Perintah mpirun adalah perintah yang digunakan untuk menjalankan program atau aplikasi paralel. Gambar IV.7 dibawah ini merupakan gambar dari perintah mpirun. pengguna@cluster0$ mpirun x LD_LIBRARY_PATH=/usr/local/lib \ C octave q -eval PerkalianMatriks Gambar IV.7 Perintah Menjalankan Program Perkalian Matriks Paralel Perintah mpirun yang ditunjukkan oleh Gambar IV.7 akan menjalankan OCTAVE di masing-masing node di dalam cluster. OCTAVE pada masingmasing node akan membaca file PerkalianMatriks.m yang di dalam file tersebut terdapat fungsi-fungsi MPI. File PerkalianMatriks.m kemudian akan dijalankan sebagai program paralel. Program Perkalian Matriks.m menghasilkan sebuah grafik yang menunjukkan waktu proses perkalian matriks paralel dan serial terhadap jumlah elemen yang dikalikan. Grafik tersebut ditunjukkan oleh gambar IV.8.

66 Gambar IV.8 Grafik Kecepatan Proses Perkalian Matriks Paralel dan Serial IV.5 Evaluasi Hasil Pengujian Program Perkalian Matriks Paralel Evaluasi hasil pengujian perkalian matriks secara paralel dan serial dilakukan dengan melakukan pengamatan terhadap grafik kecepatan proses perkalian matriks secara paralel dan serial yang ditunjukkan oleh Gambar IV.8. Pada grafik tersebut sumbu x atau axis adalah jumlah elemen matriks A dan B yang dikalikan dan sumbu y atau ordinat adalah waktu yang diperlukan operasi perkalian matriks A dan B untuk setiap jumlah elemen matriks yang diberikan. Garis berwarna merah menunjukkan grafik operasi perkalian matriks secara paralel dan garis berwarna biru merupakan grafik operasi perkalian matriks secara serial.

67 Hasil yang ditunjukkan oleh grafik kecepatan proses perkalian matriks secara paralel dan serial menunjukkan bahwa proses perkalian matriks secara paralel memiliki performa lebih tinggi daripada proses perkalian matriks secara serial. Hal tersebut ditunjukkan oleh operasi perkalian matriks A dan B dengan jumlah elemen masing-masing 1000x1000. Pada operasi perkalian matriks paralel, perkalian matriks A dan B dengan jumlah elemen 1000x1000 dapat diselesaikan dalam waktu 3 detik. Pada waktu yang sama dengan perkalian matriks paralel yaitu pada detik ke tiga, proses perkalian matriks serial belum dapat menyelesaikan operasi perkalian matriks A dan B dengan jumlah elemen untuk masing-masing matriks 1000x1000. Pada jumlah elemen matriks A dan B dibawah 400x400 elemen, kecepatan operasi perkalian matriks yang dilakukan secara paralel terlihat sedikit dibawah kecepatan operasi perkalian matriks secara serial. Hal tersebut ditunjukkan oleh grafik kecepatan proses perkalian matriks secara serial dan paralel. Garis merah atau operasi perkalian matriks paralel terletak di bawah garis biru atau operasi perkalian serial. Lebih rendahnya performa operasi perkalian matriks paralel untuk matriks A dan B dengan masing-masing jumlah elemen matriks dibawah 400x400 dikarenakan communication cost antara compute node dengan head node lebih besar daripada waktu komputasi yang dilakukan oleh masing-masing node di dalam cluster. Evaluasi komputasi perkalian matriks paralel juga dilakukan dengan menguji kestabilan kecepatan proses komputasi paralel dalam melakukan

68 perkalian matriks secara paralel. Pengujian kestabilan kecepatan proses komputasi secara paralel dilakukan dengan melakukan uji coba perkalian matriks A dan B dengan jumlah elemen matriks yang cukup besar yaitu 2000 elemen. Pengujian kestabilan kecepatan proses perkalian matriks secara paralel kemudian dibandingkan dengan kecepatan pengujian perkalian matriks secara serial. Hasil pengujian tersebut akan menunjukkan kestabilan cluster dengan tiga buah node dalam menangani proses komputasi paralel, yaitu perkalian matriks paralel. Tabel IV.2 di bawah ini. Tabel IV.2 Tabel Perbandingan Waktu Penyelesaian Perkalian Matrik Paralel dan Serial dengan Jumlah Elemen 2000x2000 No Percobaan Waktu Penyelesaian Serial (detik) Paralel (detik) 1 Percobaan 1 28,905 21,145 2 Percobaan 2 37,579 20,886 3 Percobaan 3 28,830 20,712 4 Percobaan 4 29,192 20,801 5 Percobaan 5 28,728 20,767 6 Percobaan 6 28,674 20,672 7 Percobaan 7 28,679 20,718 8 Percobaan 8 29,494 20,732 9 Percobaan 9 28,711 20,745 10 Percobaan 10 28,712 20,721 Rata-rata 29,750 20,796 Hasil rata-rata pengujian perkalian matriks menunjukkan bahwa cluster dengan tiga buah node yang dibangun di dalam penelitian ini memiliki kestabilan kecepatan dalam melakukan proses perkalian matriks secara paralel yang cukup

69 baik. Selisih rata-rata waktu penyelesaian perkalian matriks serial dan paralel dengan jumlah elemen 2000x2000 cukup besar, yaitu 8,954 detik. Selisih tersebut menunjukkan bahwa sistem paralel memiliki performa yang lebih baik dalam melakukan komputasi yang cukup berat yaitu proses perkalian matriks dengan jumlah elemen yang banyak. Di dalam percobaan perkalian matriks paralel dengan elemen matriks 2000x2000 yang dilakukan oleh tiga buah node, kecepatan waktu penyelesaian operasi perkalian matriks paralel adalah 0,7 kali lebih cepat daripada operasi perkalian matriks serial dengan jumlah elemen yang sama yaitu 2000x2000 elemen matriks. Kecepatan jaringan sangat mempengaruhi performa komputasi paralel. Karena di dalam sistem memori terdistribusi, jaringan interkoneksi dianggap sebagai sistem bus. Semakin tinggi kecepatan jaringan interkoneksi, maka semakin tinggi pula performa komputasi paralel yang dapat dilakukan.