PERFORMANCE ANALYSIS OF MATRIX MULTIPLICATION IN HIGH CAPABILITY COMPUTATION ENVIRONMENTAL (CUDA-GPU)

ANALISIS KINERJA MATRIX MULTIPLICATION PADA LINGKUNGAN
KOMPUTASI BERKEMAMPUAN TINGGI (CUDA-GPU)
Oleh
ACHMAD YUSUF VIDYAWAN

Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
SARJANA KOMPUTER
Pada
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
BANDARLAMPUNG
2013

ABSTRACT

PERFORMANCE ANALYSIS OF MATRIX MULTIPLICATION IN
HIGH CAPABILITY COMPUTATION ENVIRONMENTAL (CUDA-GPU)


By
ACHMAD YUSUF VIDYAWAN

The increase of number and size of data, resulted the increase in the user needs for the
ability of a computer to process large data measure. The new paradigm, parallel

computing, is proposed to handle the problems which teaches that substantial-job
can be split up into marginal-job by increasing the number of workers. One of the
method is cluster computing which is using more than one processor to handle
single process. Even it showed a significant increase in computing than the
conventional one, the high price to build a cluster system becomes a constraint.
This study uses one of parallel computing method that is GPU computing and
compares the result to cluster computing. GPU computing uses Graphics
Processing Unit (GPU) to compute in parallel. The result of this study shows that
by using GPU computing the use of processor can be maximized, and it shows
that it has more capability in matrix multiplication than cluster computing.

Keywords : cluster computing, CUDA-GPU, matrix multiplication, parallel
computing


BAB I
PENDAHULUAN

1.1.

Latar Belakang
Pertumbuhan teknologi saat ini semakin meningkat secara pesat dari
waktu ke waktu. Konsumen semakin menyadari akan pentingnya
penggunaan teknologi dalam menunjang kehidupan sehari - hari.
Perkembangan teknologi yang cukup maju tersebut bisa dilihat
berdasarkan data yang dihimpun oleh Gartner International Data
Corporation, yang menyebutkan bahwa kebutuhan konsumen akan
perangkat komputer meningkat dari tahun ke tahun. Pada tahun 1975,
penjualan komputer tercatat sebanyak 50.000 unit. Penjualan tersebut terus
meningkat dari tahun ketahun. Bahkan pada tahun 2000 terjadi
peningkatan penjualan scara drastis yaitu berkisar 134,7 juta unit dan
statistik terakhir pada tahun 2011 sudah mencapai penjualan 355,2 juta
unit (Computer Sales Statistic, 2012) yang ditampilkan pada Tabel 1.1.


1

Tabel 1.1 Data Penjualan Komputer Dunia Tahun 1975 – 2011 (Badan Pusat
Statistik, 2006)

Total Penjualan di Negara Amerika
Total Penjualan di Seluruh Dunia
Total Pendapatan (dalam $)
Negara A.S
Seluruh Dunia
Penjualan Sepanjang Waktu (unit)
Total unit penjualan
Total Pendapatan
Target dan Karakteristik
Kebutuhan untuk Bisnis
Kebutuhan untuk Rumah Tangga
Penjualan Laptop
Penjualan Komputer Server
Penjualan Berdasarkan Wilayah
Wilayah USA

Wilayah Eropa
Wilayah Asia-Pacific

2011
95.4 Juta
355.2 Juta
2011
$85.5
Miliar
$329 Miliar

2010
93 Juta
346.2 Juta
2010
$83.4
Miliar
$321
Miliar


2000
46 Juta
134.7 Juta
2000
$86.9 Miliar

1975
40,000
50,000
1975
$50 Juta

$251 Miliar

$60 Juta

3.287 Miliar
$4.835 triliun
74%
81.50%

16.40%
2.10%
38.80%
25%
11.70%

Berdasarkan data yang dihimpun oleh BPS (Badan Pusat Statistik, 2006)
menyebutkan bahwa dari 58,8 juta rumah tangga yang ada di seluruh
Indonesia 2,2 juta diantaranya telah memiliki komputer. Sebagian besar
diantaranya berada di wilayah perkotaan. Penggunaan komputer dalam
kehidupan sehari – hari mengakibatkan ketergantungan pengguna dalam
setiap masalah yang dihadapi. Kompleksitas masalah yang dihadapi oleh
pengguna memberikan implikasi jumlah data dan ukuran data yang juga
meningkat seiring penggunaan komputer sebagai alat bantu penyelesaian
masalah kehidupan manusia terutama di Indonesia. Peningkatan jumlah
dan ukuran data setiap tahunnya mengakibatkan kebutuhan pengguna akan
kemampuan komputer yang dapat memproses data dalam ukuran besar
dengan jumlah banyak semakin meningkat.

2


Kemampuan komputasi sebuah komputer biasanya ditandai dengan
jumlah transistor yang ada dalam sebuah prosesor (Central Processing
Unit). Peningkatan jumlah transistor menambah kemampuan komputer
dalam melaksanakan intruksi yang diberikan oleh pengguna. Gambar 1.1
menunjukkan peningkatan jumlah transistor dalam sebuah prosesor.
Peningkatan ini linier dengan kemampuan yang dimiliki oleh prosesor
dalam menyelesaikan sebuah masalah.

Gambar 1.1 Grafik Peningkatan Jumlah Transistor dari Tahun 1971 – 2011
(Rojas , 2012)

3

Perkembangan jumlah transistor yang sejalan dengan kemampuan
prosesor dalam melaksanakan sebuah masalah ini ternyata masih dirasa
kurang dengan ukuran data yang sangat besar (Rojas , 2012). Sehingga
pada tahun 1990an diperkenalkan sebuah paradigma baru dalam
komputasi yang disebut parallel computing (komputasi paralel).
Paradigma ini mengajarkan pengguna bahwa pekerjaan yang besar dapat

dipecah – pecah menjadi pekerjaan yang kecil dengan jumlah pekerja yang
banyak. Salah satu metode komputasi paralel yang cukup terkenal ialah
cluster computing. Cluster Computing adalah sebuah paradigma
penggunaan banyak komputer untuk menyelesaikan suatu masalah
bersama - sama.
Cluster dalam ilmu komputer dan jaringan komputer adalah beberapa
komputer yang berdiri sendiri namun terhubung dalam sebuah jaringan
dan dapat digunakan untuk menyelesaikan sebuah masalah (Gani, 2011).
Oleh sebab itu, proses menghubungkan sekumpulan komputer tersebut
agar dapat bekerja seperti itu dinamakan clustering. Cluster sering
digunakan saat ini oleh para pengembang untuk menyelesaikan suatu
persoalan yang lebih mementingkan efisiensi waktu. Pada penelitian
(Gani,

2011)

digunakan

beberapa


komputer

yang

dihubungkan

menggunakan jaringan untuk menyelesaikan masalah perkalian matriks.
Pada penelitian tersebut dilakukan perbandingan waktu komputasi antara
penggunaan parallel computing dengan sequential computing. Dalam
penelitiannya, penggunaan parallel computing dengan menggunakan

4

jumlah prosesor lebih dari satu menunjukkan peningkatan komputasi yang
signifikan.
Selain meningkatkan performansi, sistem cluster ini juga memiliki
keunggulan dalam hal keamanan data. Menjalankan aplikasi paralel
menggunakan sistem berbasis grid dapat meningkatkan keamanan data,
dengan menggunakan layanan secure shell (SSH) dan penggunaan
autentikasi menggunakan Certificate Authority (CA) serta pembatasan hak

akses dan eksekusi grid dan aplikasi paralel. (Gani, 2011)
Kecepatan komputasi yang dihasilkan berbasis cluster banyak dipengaruhi
oleh performansi jaringan, jumlah proses dan kalkulasi proses yang
dilakukan, jumlah prosesor dan node. Namun, selain kelebihan cluster
tersebut, terdapat pula kelemahan dari cluster, diantaranya adalah
harganya yang sangat mahal, hal ini dikarenakan harus memiliki komputer
yang lebih dari satu. Sehingga apabila mengalami kerusakan dibutuhkan
biaya perbaikan yang tidak sedikit juga. Selain itu, karena node-node
cluster tersebut terpisah maka ada waktu tunggu (delay) untuk transfer
data diantara node. (Gani, 2011)
Syarat utama dilakukan proses paralel dalam sebuah sistem cluster adalah
masalah yang dihadapi dapat dipecah menjadi bagian – bagian kecil yang
tidak saling terhubung satu sama lain (Independent). Mahalnya harga yang
harus dikeluarkan untuk membangun sebuah sistem cluster menjadi
kendala bagi para peneliti ataupun perusahaan yang memiliki keterbatasan
dana. Permasalahan media komputasi yang cepat dan murah ini terus
menjadi isu yang menarik, sehingga berdasarkan kekurangan yang ada

5


pada penelitian sebelumnya yang dilakukan oleh Gani (Gani, 2011), pada
tahun 1999 diperkenalkan sebuah media komputasi baru dengan konsep
General Purpose Computing (GPU) yang memanfaatkan Graphic
Processing Unit (GPU) untuk melakukan komputasi yang dapat dilakukan
secara paralel (Owens, dkk., 2008). Pada perkembangannya, kecepatan
komputasi dari sebuah processor ternyata dapat dilewati dengan
penggunaan GPU pada kasus tertentu. GPU awalnya adalah sebuah alat
(device) yang secara khusus ditugaskan untuk mengolah tampilan grafis.
Namun, GPU telah berkembang menjadi sebuah programmable processor
yang handal. Compute Unified Device Architechture (CUDA) adalah
sebuah arsitektur GPU yang diperkenalkan oleh sebuah perusahaan kartu
grafis international NVIDIA. Arsitektur CUDA memungkinkan pengguna
memanfaatkan prosesor yang ada dalam sebuah GPU digunakan sebagai
media komputasi. Untuk melihat atau mengetahui performansinya pada
penelitian ini digunakan arsitektur CUDA-GPU untuk menyelesaikan
permasalahan perkalian matriks. Penelitian dengan menggunakan metode
komputasi CUDA-GPU ini merupakan pengembangan dari penelitian
terdahulu yang dilakukan oleh Gani dengan menggunakan komputasi
Cluster (Gani, 2011). Dengan studi kasus yang sama yaitu menggunakan
perkalian matriks, namun menggunakan metode komputasi yang berbeda
antara komputasi Cluster dan komputasi CUDA-GPU, penggunaan GPU
dalam menyelesaikan masalah perkalian matriks diharapkan dapat
meningkatkan efisiensi waktu komputasi.

6

1.2.

Rumusan Masalah
Rumusaan masalah dalam penelitian ini adalah sebagai berikut:
1. Bagaimana membangun sistem grid menggunakan GPU.
2. Bagaimana menganalisa hasil komputasi menggunakan Cluster
dibandingkan dengan komputasi GPU ( Studi kasus penyelesaian
masalah perkalian matriks).

1.3.

Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut:
1. Membangun sistem komputasi berbasis sistem operasi windows.
2. Hardware yang digunakan identik dengan hardware yang digunakan
pada lingkungan Cluster.
3. Perbandingan waktu komputasi perkalian matriks nxn di dua
lingkungan yang berbeda, yaitu pada lingkungan GPU dan Cluster.
4. Data yang digunakan menyesuaikan dengan penelitian terdahulu yaitu
ordo matriks dengan jumlah n = 500, 1000, 1500, 2000, 2500 dan
3000.
5. Dilakukan analisis pengukuran kinerja dan komparasi atas waktu
penggunaan GPU dan Cluster.

7

1.4.

Tujuan Penelitian
Tujuan penelitian ini adalah:
1. Melakukan evaluasi kinerja penggunaan GPU dan Cluster dalam
menyelesaikan permasalahan perkalian matriks.
2. Menghitung perubahan kecepatan antara penggunaan GPU dengan
Cluster dalam kasus perkalian matriks.
3. Menunjukkan performansi sebuah GPU dalam melakukan sebuah
komputasi.

1.5.

Manfaat
Manfaat dari penelitian ini adalah sebagai berikut:
1. Memberikan alternatif media komputasi yang kuat dengan harga
murah.
2. Memberikan gambaran umum instalasi dan penggunaan CUDA-GPU
dalam sebuah komputasi matematika.

8

DAFTAR PUSTAKA

Badan Pusat Statistik. 2006. Profil Pemanfaatan Teknologi Informasi Oleh
Masyarakat. Hasil Survey Sosial Ekonomi Sosial – Susenas 2005.
Barney, B. 2013. Introduction to Parralel Computing. Lawrence Livermore
National
Laboratory.
https://computing.llnl.gov/tutorials/parallel_comp/#Whatis terakhir diakses
pada : Desember 2013, 23.36
Computer Sales Statistic. 2012. http://www.statisticbrain.com/computer-salesstatistics/ Terakhir Diakses Pada : januari 2013, 15:10:10.
Gani, R.A. 2011. Analisis Kinerja Sistem Komputasi Grid Menggunakan
GLOBUS Toolkit dan MPI. IlmuKomputer : Universitas Lampung.
Inam, R. 2009. An Algorithm for Multicores Graphics Processors. Chalmers
University of Technology : Goteborg
Linda N.dan Julia L. 2006.The Essentials of Computer Organization and
architecture. Jones and Bartlett publishers :Massachusetts,USA.
Munir. 2011. Algoritma dan Pemrograman dalam Bahasa Pascal dan C.
Informatika : bandung
NVIDIA Corporation. 2007. NVIDIA CUDA Programming Guide ver. 1.0. Santa
Clara.
Owens, J., Houston M., Laubke D., dan Green S., 2008.Graphics Processing
Units powerful, programmable, and highly parallel are increasingly
targeting general-purpose computing applications. Prosiding IEEE.
Rojas, R. 2012. Gordon Moore and His Law : Numerical Methods to the Rescue.
Documenta mathematica-extra Volume ISMP 401-415.