PERANCANGAN DAN ANALISIS JUMLAH PROSESOR MENGGUNAKAN MODEL CUBE-CONNECTED DAN TREE-CONNECTED DALAM ALGORITMA PARALEL.

dokumen-dokumen yang mirip
Komponen Terhubung dan Jalur Terpendek Algoritma Graf Paralel

PENDAHULUAN. -. Pengolahan data numerik dalam jumlah yang sangat besar. -. Kebutuhan akan ketersediaan data yang senantiasa up to date.

OPERASI MATRIKS. a 11 a 12 a 13 a 14 A = a 21 a 22 a 23 a 24 a 31 a 32 a 33 a 34 a 41 a 42 a 43 a 44

KEBUTUHAN KOMPUTER PARALEL

PENDAHULUAN. Motivasi : -. Pengolahan data numerik dalam jumlah yang sangat besar. -. Kebutuhan akan ketersediaan data yang senantiasa up to date.

SATUAN ACARA PERKULIAHAN MATA KULIAH PENGOLAHAN PARALEL (S1/ TEKNIK KOMPUTER)

PENGOLAHAN PARALEL. Kebutuhan akan Komputer Paralel PENDAHULUAN. Dahulu:

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

KLASIFIKASI ARSITEKTURAL

SATUAN ACARA PERKULIAHAN MATA KULIAH ALGORITMA PENGOLAHAN PARALEL (S1/ TEKNIK INFORMATIKA)

JARINGAN UNTUK MERGING

>> KLASIFIKASI ARSITEKTURAL

PERANCANGAN ARSITEKTUR PEMARALELAN UNTUK MENCARI SHORTEST PATH DENGAN ALGORITMA DIJKSTRA

ARSITEKTUR KOMPUTER. Satu CPU yang mengeksekusi instruksi satu persatu dan menjemput atau menyimpan data satu persatu.

Arsitektur Komputer. Dua element utama pd sistem komputer konvensional: Memory Processor

Kebutuhan pengolahan paralel

ORGANISASI KOMPUTER II AUB SURAKARTA

KARAKTERISTIK KINERJA ALGORITMA RECURSIVE DECOUPLING PADA SISTEM MULTIPROSESOR BERBASIS PVM

KOMPONEN KOMPUTER PARALLEL

Disusun Oleh: Agenda. Terminologi Klasifikasi Flynn Komputer MIMD. Time Sharing Kesimpulan

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

Logika dan Algoritma Yuni Dwi Astuti, ST 2

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel

2009/2010 Course Plan. SK-208 Arsitektur Komputer Ir. Syahrul, MT.

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

NOTASI UNTUK ALGORITMA PARALEL

Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi

Konsep Dasar Struktur Data. Struktur Data

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

PENGEMBANGAN LONGEST PATH ALGORITHM (LPA) DALAM RANGKA PENCARIAN LINTASAN TERPANJANG PADA GRAF BERSAMBUNG BERARAH BERUNTAI

UNIVERSITAS GUNADARMA

FORMULIR Satuan Acara Pengajaran

Organisasi & Arsitektur. Komputer. Org & Ars komp Klasifikasi Ars Komp Repr Data

Implementasi Hypergraph Partitioning pada Paralelisasi Perkalian Matriks-Vektor

Design and Analysis Algorithm

BAB 2 LANDASAN TEORI

Preorder Tree Traversal

Soal dan Jawaban Materi Graf, Pohon, dan Kompleksitas Algoritma

SISTEM INFORMASI DATA NUKLIDA MENGGUNAKAN TURBO PASCAL WINDOWS

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

BAB II LANDASAN TEORI. informasi menjadi sebuah teks yang tidak dapat dibaca (Ferguson dkk, 2010).

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram)

NOTASI UNTUK ALGORITMA PARALEL

Thread, SMP, dan Microkernel (P ( e P rtemuan ua ke-6) 6 Agustus 2014

PERANCANGAN STRUKTUR DATA YANG EFISIEN UNTUK PEMROGRAMAN ANALISIS JARINGAN

Perbandingan Algoritma Golub Kahan dan QR Simetri untuk Dekomposisi Nilai Singular

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

PENGANTAR KOMPUTASI MODERN

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

Fakultas Teknologi Informasi

Implementasi Hypergraph Partitioning pada Paralelisasi Perkalian Matriks-Vektor

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB

PEMAKAIAN VARIABEL INDIKATOR DALAM PEMODELAN. Mike Susmikanti *

Pendeteksian Kemacetan Lalu Lintas dengan Compute Unified Device Architecture (CUDA)

PENGENALAN KOMPUTER DAN SOFTWARE II. Semester: 2 Pengenalan Komputer dan Software II. Introduction to Computer and Software II

PERANCANGAN STRUKTUR DATA YANG EFISIEN UNTUK PEMROGRAMAN ANALISIS JARINGAN

Aplikasi Matriks Circulant Untuk Menentukan Nilai Eigen Dari Graf Sikel (Cn)

STRATEGI DIVIDE AND CONQUER

BAB VII ALGORITMA DIVIDE AND CONQUER

PENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

VIRTUAL PARALLEL ENVIRONMENT USING PVM CASE STUDY BUBBLE SORT ALGORITHM

Algoritma dan Struktur Data

KOMPUTASI PADA JARINGAN KOMPUTER SEBAGAI ALTERNATIF PENINGKATAN KINERJA KOMPUTASI

Analisis dan Strategi Algoritma

MENYIGI PENGGUNAAN METODE SHELLSORT DALAM PENGURUTAN DATA

BAB II LANDASAN TEORI

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

ANALISIS ALGORITMA BINARY SEARCH

KOMPUTASI PARALEL UNTUK PENGOLAHAN PRESTASI AKADEMIK MAHASISWA

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

Analisa Kompleksitas Algoritma. Sunu Wibirama

BAB 2 LANDASAN TEORI

Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

PERANCANGAN STRUKTUR DATA YANG EFISIEN UNTUK PEMROGRAMAN ANALISIS JARINGAN

STRUKTUR DATA. Deskripsi Mata Kuliah

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency


Cache Memori (bagian 3)

EVALUASI KINERJA ALGORITMA PERKALIAN MATRIKS BERANTAI DENGAN TEKNIK DYNAMIC PROGRAMMING

Deskripsi. Buku Ajar 3/1/2010. Pengajar. Materi Kuliah. Materi Kuliah #2. Komputasi Paralel. Kuliah 01: Pendahuluan

Model Linear Kuadratik untuk Sistem Deskriptor Berindeks Satu dengan Factor Discount dan Output Feedback

TUGAS MATA KULIAH TEKNIK KOMPILASI

Algoritma Brute Force

ARSITEKTUR KOMPUTER 1

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Penerapan Algoritma Divide and Conquer Dalam Komputasi Paralel

Algoritma dan Struktur data

ALGORITHM. 2 Analysis Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

: Algoritma dan Pemrograman I Modul Praktikum ke : 09

A. Deskripsi Singkat. B. Tujuan Instruksional Umum (TIU) C. Bahasan. SILABUS MATA KULIAH Kode MK: Semester: Bobot SKS: 3. Matakuliah : SISTEM OPERASI

SATUAN ACARA PERKULIAHAN MATA KULIAH ARSITEKTUR KOMPUTER (TK) KODE / SKS KK /4

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

Langkah Awal menuju Analisis Kompleksitas Algoritma

Transkripsi:

PERANCANGAN DAN ANALISIS JUMLAH PROSESOR MENGGUNAKAN MODEL CUBE-CONNECTED DAN TREE-CONNECTED DALAM ALGORITMA PARALEL Mike Susmikanti * ABSTRAK PERANCANGAN DAN ANALISIS JUMLAH PROSESOR MENGGUNAKAN MODEL CUBE-CONNECTED DAN TREE-CONNECTED DALAM ALGORITMA PARALEL. Komputasi paralel dirancang untuk menurunkan biaya, mengefisienkan ruang memori dan mempecepat perhitungan. Arsitektur sistem paralel diklasifikasikan dalam beberapa bentuk diantaranya multi-processor. Multiprocessor mengijinkan pemrosesan dengan alur instruksi yang terpisah. Algoritma paralel merupakan suatu metode solusi bagi permasalahan tertentu yang dirancang untuk komputer paralel. Dalam hal ini akan dibahas rancangan dan analisis jumlah prosesor yang digunakan serta alur instruksi dan data yang diproses oleh masing-masing prosesor. Simulasi diaplikasikan dalam operasi perkalian matriks dengan matriks dan matriks dengan vektor dalam algoritma paralel dan prosedur PASCAL. Model yang dipilih adalah komputer SIMD cube-connected dan tree-connected. Sistem komputer yang digunakan saat ini masih satu personil komputer dengan asumsi memori yang dipakai adalah virtual memory dengan beberapa address. Kata-kata kunci: Pemrosesan Paralel, Multiprocessor ABSTRACT THE DESIGN AND ANALYSIS OF THE NUMBER PROCESSOR USED THE CUBE- CONNECTED AND TREE-CONNECTED MODEL IN PARALLEL ALGORITHMS. Parallel computing has been made breakthroughs that have decreased costs and increased memory space and computing power. The parallel architectures are classified into some system. The one is multiprocessor. Multiprocessors allow processing elements to execute separate instruction streams. A parallel algorithm is a solution method for a given problem destined to be performed on a parallel computer. The number of processor is design to process the data. The simulation is applied to matrix-by-matrix and matrix-byvector multiplication in the algorithms parallel and procedure PASCAL. The model are used is the SIMD computer Cube-Connected and Tree-Connected. The computer system now is still used one the personnel computer with assumption the memory are used is the virtual memory with some address. Keywords: Parallel Processing, Multiprocessor * Pusat Pengembangan Informatika Nuklir - BATAN 7

PENDAHULUAN Beraneka ragam persoalan teknik dan ilmu pengetahuan berskala besar memerlukan sejumlah besar perhitungan. Persoalan yang dihadapi umumnya berkaitan dengan perkiraan pengaruh perubahan parameter pada energi. Sebagai contoh dalam perhitungan dinamik fluida yaitu rancangan reaktor nuklir dan dinamik plasma untuk aplikasi energi fusi nuklir. Data dan perhitungan perkiraan parameter membentuk sistem persamaan yang dinyatakan dalam bentuk matriks berikut operasinya. Pemrosesan paralel merupakan cara untuk mencapai kecepatan komputasi yang diinginkan dengan meningkatkan atau mengefisienkan ruang memori serta dirancang dengan tujuan melakukan penurunan biaya. Algoritma paralel merupakan suatu metode penyelesaian bagi permasalahan tertentu yang dirancang untuk komputer paralel []. Pembahasan meliputi rancangan dan analisis jumlah prosesor yang digunakan serta alur instruksi dan data yang diproses oleh masing-masing prosesor. Simulasi diaplikasikan dalam operasi perkalian matriks dengan matriks dan matriks dengan vektor dalam algoritma dan prosedur PASCAL. Algoritma paralel ini dirancang untuk diproses pada komputer SM SIMD (Shared Memory, Single Instruction stream - Single Data stream) dengan model kubus-terhubung dan pohon-terhubung. Difokuskan sistem komputer yang digunakan saat ini masih satu personil komputer dengan asumsi memori yang dipakai adalah virtual memory dengan beberapa address. KOMPUTER SIMD Salah satu model komputasi paralel pada komputer adalah model dengan instruksi yang sama dapat memproses data yang berbeda (SIMD) []. Pada model komputer paralel terdiri dari N prosesor yang sama (gambar-). Masing-masing N prosesor mempunyai memori lokal yang dapat menyimpan data maupun program. Semua prosesor beroperasi berdasarkan kontrol sebuah aliran perintah tunggal yang dikeluarkan oleh sebuah unit kontrol pusat. Sejumlah N prosesor diasumsikan menyimpan hal yang sama dari sebuah program, masing-masing nilai prosesor disimpan di dalam memori lokal. Terdapat sejumlah aliran data yang dibagi per prosesor. Dalam penyelesaian beberapa masalah pada komputer SIMD, dimungkinkan prosesor mampu berkomunikasi guna melakukan pertukaran data atau hasil. Hal ini dapat dilakukan dengan dua cara yaitu dengan komunikasi melalui memori bersama dan jaringan interkoneksi. 8

Memori Bersama/ Jaringan Interkoneksi Aliran data Aliran data 2 Aliran data n Prosesor Prosesor 2. Prosesor n Aliran intruksi Kontrol Gambar- : Model Komputer SIMD Komputer SIMD Memori Bersama (Shared Memory) Jenis komputer ini dikenal sebagai model Parallel Random Access Memory (PRAM) [5]. Dalam hal ini, N prosesor berbagi memori bersama. Selama pelaksanaan algoritma parallel, N prosesor mengakses memori bersama untuk membaca input data, membaca atau menulis hasil-hasil antara dan menulis hasil akhir. Model dasar ini memungkinkan semua prosesor untuk mengakses ke memori bersama secara simultan apabila lokasi memori yang ingin dibaca atau ditulis adalah berbeda. Model memori bersama meliputi memori bersama secara fisik ( physical) dan bayangan (virtual) []. Dalam hal ini digunakan model memori bersama secara virtual. Komputer SIMD Jaringan-Terhubung (Interconection Network) Model SIMD SM dapat dibuat menjadi layak dengan membagi memori menjadi blok-blok dan menjadikannya akses ke blok-blok ini secara eksklusif (dua prosesor tidak mungkin secara simultan membaca dari/atau menulis ke lokasi memori). Pada jaringan-interkoneksi, M lokasi dari memori bersama didistribusikan diantara N prosesor, masing-masing menerima M/N lokasi memori. Disamping itu setiap pasang prosesor dihubungkan oleh sebuah jalur dua arah. Algoritma pada jaringaninterkoneksi dapat disimulasikan pada model memori bersama dengan langkah antara 9

lain jajaran satu dimensi (linear), jajaran dua dimensi (Mesh), hubungan-pohon (Tree- Connection), hubungan-kubus (Cube Connection) dan hubungan-campuran (Perfect Shuffle Connection) [,]. Dalam hal ini akan disimulasikan langkah-langkah dalam pohon-terhubung (gambar-2) dan kubus-terhubung (gambar-) pada operasi matriks khususnya perkalian matriks dengan vektor dan perkalian matriks dengan matriks, yang berperan salah satunya pada penyelesaian sistim persamaan serta permasalahan graf. Akan dianalisis jumlah prosesor yang diperlukan atau dirancang, waktu yang diperlukan dan biaya yang mempunyai keterkaitan dengan jumlah prosesor. Akar P 7 Tingkat- P 5 P 6 Tingkat-2 Tingkat- Daun P P 2 P P Gambar-2 : Pohon-terhubung dengan tujuh prosesor P P 9 P 5 P P P P 7 P 5 P 6 P 2 P P P 0 P 2 P 8 P 6 Gambar- : Kubus-terhubung dengan enam belas prosesor 20

RANCANGAN DAN ANALISIS ALGORITMA PARALEL Sejumlah teknik rancangan algoritma digambarkan dalam hubungan berbagai model komputasi paralel yang dibahas sebelumnya diatas. Contoh kasus yang dibahas berhubungan dengan permasalahan analisis algoritma yaitu waktu yang diperlukan, biaya untuk memproses dan efisiensi penggunaan sumber daya. Suatu algoritma yang dirancang, dievaluasi menggunakan beberapa kriteria antara lain waktu yang diperlukan untuk menjalankannya (running time), jumlah prosesor yang digunakan dan biaya []. Disamping itu perlu dipertimbangkan sejumlah ukuran yang berkaitan dengan teknologi tertentu misalnya komputer yang digunakan ataupun penggunaan sistem jaringan. Alasan utama terhadap pembuatan komputer paralel adalah mempercepat komputasi. Sehingga ukuran yang terpenting didalam mengevaluasi algoritma paralel adalah running time-nya serta kebenaran program juga harus dipertahankan. Running time didefinisikan sebagai waktu yang diperlukan mulai dari awal algoritma dilaksanakan sampai saat berakhir. Apabila berbagai prosesor tidak memulai dan mengakhiri komputasinya secara bersama, maka running timenya adalah sama dengan waktu antara saat prosesor pertama mulai melakukan komputasi dan saat prosesor terakhir mengakhiri komputasi. Misalnya suatu permasalahan yang besarnya n, running time pada kasus terburuk dari suatu algoritma adalah suatu fungsi n yang disimbolkan dengan t(n) [6]. Kriteria kedua yang paling penting didalam mengevaluasi algoritma paralel adalah jumlah prosesor yang diperlukan untuk memecahkan permasalahan dan komunikasi antar prosesor. Disisi lain perlu dipertimbangkan permasalahan faktor perawatan khususnya yang akan meningkat, dan harga yang harus dibayar untuk menjamin tingkat kehandalannya yang tinggi. Semakin besar jumlah prosesor yang digunakan oleh algoritma untuk memecahkan permasalahan, semakin mahal pula biayanya yang harus dikeluarkan. Untuk permasalahan yang berukuran n, maka jumlah prosesor yang diperlukan oleh suatu algoritma, sebagai fungsi n yang ditunjukkan dengan p(n). Kriteria berikutnya adalah biaya dari suatu algoritma paralel yang didefinisikan sebagai hasil kali dua ukuran sebelumnya, dinyatakan sebagai: Biaya = running time paralel x jumlah prosesor yang digunakan Biaya sama dengan jumlah langkah yang dilaksanakan secara bersama oleh semua prosesor dalam memecahkan masalah dengan kasus terburuk (worst case) pada algoritma. Diasumsikan sejumlah prosesor melaksanakan sejumlah langkah yang sama. Apabila tidak demikian, maka biayanya adalah batas atas jumlah langkah yang dilaksanakan. Untuk permasalahan berukuran n prosesor maka biaya diperkirakan sebagai fungsi dari n yaitu c(n) = p(n) x t(n), walaupun demikian tergantung pula dari masing-masing persoalan yang dibahas. 2

PERKALIAN MATRIKS DAN VEKTOR DENGAN POHON-TERHUBUNG Perkalian matriks dan vektor dengan pohon-terhubung diperoleh m-+log(n) langkah atau tahap. Langkah tersebut terlihat pada gambar-, yaitu sejumlah tiga tahap untuk m = dan n =. Secara umum diagram pohon mempunyai n buah prosesor daun P, P 2,..., P n, dan n-2 prosesor menengah P n+, P n+2,..., P 2n-2, serta prosesor akar P 2n-. Algoritma dari proses diatas [], dinyatakan dalam prosedur MVTREE (lampiran-), khusus untuk matriks order m x 2 dan vektor order 2 x : (i) Prosesor daun P i menyimpan u i selama pelaksanaan algoritma. (ii) Matriks A dimasukkan ke dalam diagram pohon baris demi baris, satu unsur per daun. Prosesor P i menerima a ji, maka akan dihitung u i x a ji dan mengirimkan hasil perkalian ke induknya. (iii) Proses menengah atau prosesor akar P k akan menerima dua masukan dari anakanaknya, menambahkan dan mengirimkan hasilnya kepada induknya. Akhirnya v j akan muncul dari prosesor akar. 500 200 50 60 50 60 0 0 (a) 20 0 0 0 (b) 700 700 900 500 200 50 60 50 60 (c) (d) Gambar-. Perkalian matriks dan vektor menggunakan prosedur MVTREE untuk n = 2 22

Berikut hasil program untuk perkalian matriks khusus order 2 x 2 dengan vektor order 2 x untuk persoalan tersebut diatas; Output program: order of Matrix & Vector 2 2 Matrix Input 0 20 0 0 Vector Input 50 60 Process Tree Multiplication of Matrix & Vector : P() : 500 P(2) : 200 P() : 500 P(2) : 200 Processor() :700 Root() :700 Processor() :900 Root(2) :900 Output Matrix 700 900 Prosedur matriks order m x n dan vektor order n x untuk perkalian matriks khususnya n > 2 ditunjukkan dalam prosedur MULTITREE (Lampiran-2). Berikut ini hasil program untuk perkalian matriks order x dengan vektor x. Output Program: order of Matrix & Vector Matrix Input 2 2 2 Vector Input 0 20 0 0 2

Process Tree Multiplication of Matrix & Vector : Processor() : 0 Processor(2) : 0 Processor() : 90 Processor() : 60 Processor() : 0 Processor(2) : 0 Processor() : 90 Processor() : 60 Processor() : 0 Processor(2) : 0 Processor() : 90 Processor() : 60 Processor(5) :50 Processor(6) :250 Root() :00 Processor(5) :50 Processor(6) :250 Root(2) :00 Processor(5) :50 Processor(6) :250 Root() :00 Output Matrix V() : 00 V(2) : 00 V() : 00 2

Diagram pohon untuk proses diatas dapat digambarkan sebagai berikut : V V 2 V P 7 P 5 P 6 P 0 P 2 20 P 0 P 0 2 2 2 Gambar-5 : Perkalian matriks dan vektor untuk order n > 2 ANALISIS Diperlukan log n langkah setelah baris pertama matriks A dimasukkan pada prosesor daun agar v muncul dari prosesor akar. Kemudian diperlukan m- langkah hingga v m muncul dari akar. Berarti prosedur MVTREE/ MULTITREE membutuhkan m +log(n) langkah. Karena digunakan 2n- prosesor, maka akan berjalan dalam waktu t(n) = O(n) ketika m n dan prosedur akan memiliki biaya O(n 2 ). Dalam hal ini biaya adalah optimal jika dibandingkan dengan Ω ( n 2 ) yaitu waktu yang dibutuhkan jika diproses secara berurutan [6]. 25

PERKALIAN MATRIKS DENGAN MATRIKS MENGGUNAKAN KUBUS-TERHUBUNG Kubus didefinisikan sebagai kumpulan n prosesor, dimana n = 2 q. Algoritma dirancang mengikuti arsitektur kubus-biner. Masing-masing n simpul mempunyai log n hubungan dengan simpul tetangganya [2]. Algoritma meliputi tiga tahap :. Unsur-unsur matriks A dan B didistribusikan ke seluruh n prosesor. Dilakukan penyimpanan elemen a dan b yang menghasilkan, A(i,j,k) = a ji dan B(i,j,k) = b ik 2. Hasil dari C(i,j,k) = A(i,j,k) x B(i,j,k) dihitung n. Jumlah C( i, j, k) dihitung i= Algoritma diatas dinyatakan dalam prosedur PRODCUB (Lampiran-). Berikut hasil program dari prosedur PRODCUB Output Program : Matrix Order x x Matrik Input I 7 2 27 9 6 26 22 8 5 0 29 Matrix Input II -7-25 -9-5 -8-0 -28-2 - -2 - -2-20 -2-6 -2 The content of Proccessor for elemen A & B P()7 & -7 P(2)7 & -25 P()7 & -9 P()7 & -5 P(5)9 & -7 P(6)9 & -25 P(7)9 & -9 P(8)9 & -5 P(9) & -7 26

P(0) & -25 P() & -9 P(2) & -5 P()5 & -7 P()5 & -25 P(5)5 & -9 P(6)5 & -5 P(7)2 & -8 P(8)2 & -0 P(9)2 & -28 P(20)2 & -2 P(2) & -8 P(22) & -0 P(2) & -28 P(2) & -2 P(25)26 & -8 P(26)26 & -0 P(27)26 & -28 P(28)26 & -2 P(29) & -8 P(0) & -0 P() & -28 P(2) & -2 P()27 & - P()27 & -2 P(5)27 & - P(6)27 & -2 P(7) & - P(8) & -2 P(9) & - P(0) & -2 P()22 & - P(2)22 & -2 P()22 & - P()22 & -2 P(5)0 & - P(6)0 & -2 P(7)0 & - P(8)0 & -2 P(9) & -20 P(50) & -2 27

P(5) & -6 P(52) & -2 P(5)6 & -20 P(5)6 & -2 P(55)6 & -6 P(56)6 & -2 P(57)8 & -20 P(58)8 & -2 P(59)8 & -6 P(60)8 & -2 P(6)29 & -20 P(62)29 & -2 P(6)29 & -6 P(6)29 & -2 Matrix or Processor Ouput -9-688 -282-297 -58-58 -9-889 - -20-607 -6-887 -76-68 -9 Terdapat N = n = 6 prosesor yang tersedia pada komputer SIMD kubus-terhubung, dinyatakan dalam tabel -a berikut, sesuai algoritma tahap diatas. Pada tahap 2 diperoleh tabel -b. Tabel -c adalah hasil tahap sekaligus hasil perkalian matriks. 28

Tabel -a 7-7 2-25 27-9 -5 7-7 2-25 27-9 -5 7-7 2-25 27-9 -5 7-7 2-25 27-9 -5 9-8 -0-28 6-2 9-8 -0-28 6-2 9-8 -0-28 6-2 9-8 -0-28 6-2 - 26-2 22-8 -2-26 -2 22-8 -2-26 -2 22-8 -2-26 -2 22-8 -2 5-20 -2 0-6 29-2 5-20 -2 0-6 29-2 5-20 -2 0-6 29-2 5-20 -2 0-6 29-2 Tabel -b 7-7 7-25 7-9 7-5 2-8 2-0 2-28 2-2 27-27 -2 27-27 -2-20 -2-6 -2 9-8 9-0 9-28 9-2 -8-0 -28-2 - -2 - -2 6-20 6-2 6-6 6-2 - -2 - -2 26-8 26-0 26-28 26-2 22-22 -2 22-22 -2 8-20 8-2 8-6 8-2 5-20 5-2 5-6 5-2 -8-0 -28 2-2 0-0 -2 0-0 -2 29-20 29-2 29-6 29-2 Tabel -c -9-688 -282-297 -58-58 -9-889 - -20-607 -6-887 -76-68 -9

ANALISIS Pada tahap dan terdiri dari q iterasi dengan waktu konstan, sementara tahap 2 mengambil waktu konstan. Setiap nilai c(i,j) adalah jumlah dari n elemen. Prosedur perkalian matriks kubus-terhubung berjalan dalam waktu t(n) = O(log n). Pada prosedur perkalian matriks dengan kubus-terhubung terdiri dari n prosesor, sehingga biaya yang dimiliki c(n) = O(n log(n)). Waktu pelaksanaan prosedur perkalian matriks secara berurutan adalah Ω ( n ) = n [6], dengan biaya c(n) = O(n ). Berarti waktu pelaksanaan, prosedur perkalian matriks kubus-terhubung lebih cepat dibandingkan secara berurutan, namun dari segi biaya lebih tinggi. KESIMPULAN Algoritma paralel merupakan salah satu metode penyelesaian bagi suatu permasalahan tertentu yang dirancang untuk komputer paralel. Dengan algoritma paralel, jumlah prosesor dapat dirancang sesuai dengan kebutuhan ditinjau dari faktor biaya. Alur instruksi dan data yang diproses dapat didistribusikan ke masing-masing prosesor. Simulasi operasi perkalian matriks dengan matriks dan matriks dengan vektor merupakan salah satu cara penerapan dalam algoritma paralel. Algoritma pada jaringan-interkoneksi dapat disimulasikan dalam model memori bersama dengan salah satu langkah antara lain Tree-Connection dan Cube- Connection. Waktu yang diperlukan pada pohon-terhubung jika dibandingkan dengan secara berurutan lebih singkat dan biaya lebih kecil atau sama. Pada kubus-terhubung, waktu pelaksanaan, lebih cepat dibandingkan secara berurutan, namun demikian dari segi biaya lebih tinggi. DAFTAR PUSTAKA. AKL, SELIM G., The Design and Analysis of Parallel Algorithms, Prentice Hall, Inc., New Jersey, 989. 2. DESROCHERS, GEORGE R., Principles of Parallel and Multiprocessing, McGraw-Hill Book Co., Singapore, 988. 0

. GRAMMATIKAKIS, MILTOS D.; FRANK HSU, D. AND KRAETZL, MIRO, Parallel System Interconnections and Communications, CRC Press LLC, New York, 200.. LEWIS, TED G.; EL-REWINI, HISHAM, Introduction to Parallel Computing, Prentice Hall Int. Editions, 992. 5. QUINN, MICHAEL J., Parallel Computing, Theory and Practice, Mc Graw-Hill Inc, Second Editions, 99. 6. SURYADI, M.T., Pengantar Analisis Algoritma, penerbit Gunadarma, Jakarta, 996. DAFTAR RIWAYAT HIDUP. Nama : Dra. Mike Susmikanti, MM 2. Tempat/Tanggal Lahir : Jakarta, 2 November 956. Instansi : BATAN. Pekerjaan / Jabatan : Staf PPIN-BATAN 5. Riwayat Pendidikan : SMatematika Statistik FIPIA UI S2 Magister Manajemen 6. Pengalaman Kerja : 980-sekarang, BATAN

Lampiran- : Prosedur perkalian matriks m x n dengan vektor n x khusus n = 2. Procedure MVTREE (A,U); var A,TEMP : array[..20,..20] of Integer; P,V,U : array[..20] of Integer; I,J,K,L,M,N,IT,Root : Integer; FVar : Text; FName : String; Writeln(FVar,'Process Tree Multiplication of Matrix & Vector :'); for I := to M do for J := to N do TEMP[I,J] := A[I,J]*U[J]; P[J] := TEMP[I,J]; writeln(fvar,'p(',j,') : ',P[J]); for I := to M do IT := 0; Root :=0; for J := N+ to 2*N- do P[J] := TEMP[I,(J-N)+IT] + TEMP[I,(J-N)+IT+]; WriteLn(FVar,'Processor(',J,') :',P[J]); IT := IT + ; Root := P[J]; WriteLn(FVar,'Root(',I,') :',Root); V[I]:= Root; end 2

Lampiran-2 : Prosedur perkalian matriks m x n dengan vektor n x untuk n > 2. Procedure MULTITREE (A, U) ; var A,TEMP : array[..0,..0] of Integer; P,V,U : array[..0] of Integer; I,J,K,L,M,N,IT,Root : Integer; FVar : Text; FName : String; Writeln(Fvar,'Process Tree Multiplication of Matrix & Vector :'); for I := to M do for J := to N do TEMP[I,J] := A[I,J]*U[J]; P[J] := TEMP[I,J]; writeln('processor(',j,') : ',P[J]); writeln(fvar,'processor(',j,') : ',P[J]); for I := to M do IT := 0; Root := 0; for J := N+ to 2*N- do IF J < 2*N- then P[J] := TEMP[I,(J-N)+IT] + TEMP[I,(J-N)+IT+]; WriteLn('Processor(',J,') :',P[J]); WriteLn(FVar,'Processor(',J,') :',P[J]); IT := IT + ; Root := Root + P[J]; WriteLn('Root(',I,') :',Root); WriteLn(FVar,'Root(',I,') :',Root); V[I]:= Root;

Lampiran- : Prosedur perkalian matriks dengan matriks Procedure PRODCUB; var A,B,C : array[..0,..0,..0] of integer; TOT : array[..0,..0] of integer; i,j,k,n,idx : Integer; FVar : Text; FName : String; for i := to n do for j := to n do for k := to n do A[i,j,k] := A[,j,k]; B[i,j,k] := B[,j,k]; WriteLn(FVar,'The content of Proccessor for elemen A & B'); idx := ; for i := to n do for j := to n do for k := to n do A[i,j,k] := A[i,j,i]; B[i,j,k] := B[i,i,k]; WriteLn(FVar,'P(',idx,')',A[i,j,k],' & ',B[i,j,k]); idx := idx + ; for i := to n do for j := to n do for k := to n do C[i,j,k] := A[i,j,k]*B[i,j,k]; Writeln(FVar,'Matrix or Processor Ouput'); for j := to n do for k := to n do TOT[j,k] := 0; for i := to n do TOT[j,k] := TOT[j,k] + C[i,j,k]; WriteLn(FVar,TOT[j,k]);