TESLA| VOL. 10 | NO. 2 | OKTOBER 2008 | 51 ANALISIS KINERJA PERKALIAN MATRIKS PARALEL MENGGUNAKAN METRIK ISOEFISIENSI Maria A. Kartawidjaja 1 PENDAHULUAN erbeda dengan kinerja komputasi sekuensial yang melulu ditentukan oleh algoritma yang digunakan, kinerja suatu komputasi paralel bergantung juga pada jumlah prosesor yang digunakan, pembagian beban pada masing- masing prosesor, komunikasi antar-prosesor, dan overhead lain yang timbul karena proses paralelisasi. Suatu algoritma yang memberikan kinerja yang baik pada suatu lingkup pemrograman paralel bisa saja memberikan kinerja yang buruk pada lingkup pemrograman paralel yang berbeda. Karena itu, evaluasi suatu algoritma paralel harus dilakukan secara komprehensif, misalnya dengan melakukan analisis skalabilitas suatu sistem paralel. Walaupun tidak ada definisi yang baku untuk skalabilitas, secara umum skalabilitas menunjukkan kemampuan suatu sistem paralel untuk mempertahankan kinerjanya berdasarkan suatu metrik tertentu, seiring dengan bertambahnya jumlah prosesor. Dalam artikel ini metrik kinerja yang digunakan adalah isoefisiensi. ISOEFISIENSI Ada sejumlah metrik yang dapat digunakan untuk mengukur kinerja suatu sistem paralel. Metrik yang sering digunakan adalah peningkatan kecepatan atau yang lazim disebut sebagai speedup dan efisiensi prosesor. Speedup adalah perbandingan antara waktu eksekusi algoritma sekuensial tercepat dengan waktu eksekusi algoritma paralel, atau waktu eksekusi algoritma paralel pada satu prosesor dengan waktu eksekusi algoritma tersebut pada sejumlah prosesor. Secara matematis speedup dinyatakan dengan Persamaan (1). p p T T S 1 = (1) Speedup pada satu prosesor adalah sama dengan satu, dan speedup pada p prosesor bernilai 1 Sp p. Secara ideal speedup meningkat sebanding dengan bertambahnya jumlah prosesor. Jadi jika digunakan p prosesor, speedup idealnya adalah p. Dalam beberapa kasus dapat terjadi superlinear speedup (Sp > p). Superlinear speedup tidak mencerminkan peningkatan kinerja yang sebenarnya, karena peningkatan kecepatan ini diakibatkan oleh fitur unik dari arsitektur paralel, misalnya ukuran cache yang lebih besar pada lingkup pemrograman paralel dibandingkan dengan ukuran cache pada lingkup pemrograman sekuensial [1, 2]. Dalam artikel ini tidak dibahas superlinear speedup. Efisiensi merupakan suatu ukuran kinerja yang sangat erat hubungannya dengan speedup. Secara matematis efisiensi dinyatakan dengan p Sp E = (2) ,dengan kisaran nilai antara 1 1 E p . Speedup dan efisiensi merupakan fungsi dari ukuran data dan jumlah prosesor. Umumnya speedup tidak akan meningkat secara linear dengan meningkatnya jumlah prosesor, melainkan cenderung mencapai suatu titik jenuh. Dengan perkataan lain, efisiensi akan menurun jika jumlah prosesor meningkat. Nilai speedup dan efisiensi yang tidak ideal ini dikarenakan adanya overhead pada sistem paralel, misalnya komputasi tambahan yang hanya dibutuhkan pada sistem paralel, komunikasi antar-prosesor, dan proses sinkronisasi. Hal ini berlaku untuk semua sistem paralel, dan gejala saturasi dari speedup dan efisiensi ini mengikuti Hukum Amdahl [4]. Namun, speedup dan efisiensi akan meningkat jika ukuran data juga ditingkatkan, hal ini sesuai dengan Hukum Gustafson [5]. Jika peningkatan jumlah prosesor akan menurunkan efisiensi, dan peningkatan ukuran data akan meningkatkan efisiensi, berarti efisiensi dapat dibuat konstan jika jumlah prosesor dan ukuran data sama-sama ditingkatkan. Efisiensi yang konstan ini disebut sebagai isoefisiensi. Kinerja suatu sistem paralel dapat dianalisis dengan menggunakan fungsi isoefisiensi. Sistem paralel yang memiliki fungsi isoefisiensi sebesar Θ(p) dikatakan sebagai suatu sistem paralel yang scalable (scalable parallel system). SCALABLE PARALLEL SYSTEM Untuk memperoleh efisiensi yang konstan, ukuran data perlu ditingkatkan seiring dengan meningkatnya jumlah B ABSTRACT In solving a complex problem is often less adequate sequential computing, especially in terms of execution time is very long, and thus become not fisibel. An interesting alternative to overcome the long computational time is the use of parallel computing. Kompuasi parallel performance can be measured by various metrics, one of them is isoefisiensi. With predictable isoefisiensi scalability of a parallel system. As a test program used in this study and the vector matrix multiplication, the matrix is partitioned following the chessboard pattern. Test program is executed on a computer with hypercube architecture. From the test results can be concluded that the parallel system is scalable because it requires a small increase in weight along with the increase in the number of processors. Keywords: isoefisiensi, performance, parallel, scalable 1 Jurusan Teknik Elektro Universitas Katolik Indonesia Atma Jaya Jakarta maria.kw@atmajaya.ac.id brought to you by CORE View metadata, citation and similar papers at core.ac.uk provided by Petra Christian University, Surabaya, Indonesia: Peer-Reviewed Scientific e-Journal