studi komputasi paralel dan implementasinya pada kasus...

6
Studi Komputasi Paralel dan Implementasinya pada Kasus Komputasi Matriks Besar (Study and Implementation of Parallel Computing on Computation Case of Big Size/Sparse Matrix) Mayzar Annas [1] , I Gede Pasek Suta Wijaya [2] , dan L. A. Syamsul Irfan [1] 1 Jurusan Teknik Elektro, Fakultas Teknik, Universitas Mataram Jl. Majapahit 62, Mataram, Lombok, NTB-INDONESIA 2 Prodi. Teknik Informatika, Fakultas Teknik, Universitas Mataram Jl. Majapahit 62, Mataram, Lombok, NTB-INDONESIA Email: [email protected], [email protected], [email protected] Received May 9th, 2010; Revised August 3rd, 2010; Accepted August 16th, 2010 Abstract—Computation is the third pillar in the world of science to solve problems accurately and quickly. This study is an easy and inexpensive alternative of paralel computing using the library and utility of separate memory and processor of computers in local area network. The paralel computing is proposed instead of using traditional programming in a serial CPU instructions (can not be broken). In this case, the parallel computing is applied to solving problems on a big/sparse matrix such as determining inverse, solving a simultanous linear equations, and eigen analysis. The experimental results show that the proposed system can break metioned cases accurately and quickly compared with standalone programming. Key Words: Paralel computing, MPI (Message Passing Interface), Matrix, Amdahl Law. I. PENDAHULUAN Seiring dengan perkembangan pemikiran manusia, teknologi kemudian berpaling dari perangkat analog men- jadi perangkat digital yang multifungsi dan memiliki kehandalan yang tinggi. Pada dunia sains, komputasi dis- etarakan sebagai pilar ketiga setelah analisis teorema dan eksperimen sains. Komputasi memungkinkan penyelesa- ian problem yang tidak bisa diselesaikan melalui eksper- imen tradisional maupun teoritis, seperti prediksi iklim, pencarian formula obat-obatan hingga prediksi gempa. Era tahun 80-an sampai dengan pertengahan 90-an, komputasi tingkat lanjut sangat tergantung pada super komputer (supercomputer). Seiring dengan meningkat- nya kebutuhan komputasi yang cepat dan naiknya harga peralatan super komputer, maka pengembangan aplikasi- aplikasi berbasis paralel termasuk komputasi paralel didalamnya, untuk menyelesaikan permasalahan waktu komputasi pada model komputasi standalone semakin banyak dilakukan. Pemanfaatan resource-resource komputasi yang terse- dia secara paralel akan mempercepat eksekusi pro- gram. Program yang dieksekusi pada komputer master akan dibagi kepada node-node komputer untuk diman- faatkan resourcenya. Komputasi ini sangat berguna untuk algoritma-algoritma yang memiliki tingkat pertumbuhan fungsi yang kuadratik dan eksponensial. Gambar 1. Contoh sistem paralel. Dengan konsep komputasi paralel, biaya investasi untuk super komputer bisa ditekan dan konsumsi energi listrik, biaya instalasi serta pemeliharaan juga menjadi lebih rendah. Lebih penting lagi, sistem ini fleksibel ter- hadap perubahan teknologi komputer yang sangat cepat. Alternatif populer saat ini adalah computer clustering (kelompok komputer) atau parallel computer (komputer paralel). Sistem ini merupakan penggabungan beberapa PC (disebut node) menjadi seolah-olah satu komputer dengan kemampuan yang lebih besar, seperti yang ditun- jukkan pada Gambar 1. II. TINJAUAN PUSTAKA Komputasi paralel merupakan teknik komputasi menggunakan 2 atau lebih processor untuk meningkatkan performa komputasi dalam mengolah data besar/banyak[1]. Tidak mengherankan bila banyak industri jaringan, perusahaan besar dan developer tentunya menggunakan teknologi ini sebagai opsi mengatasi permasalahan yang ada. Penggunaannya sebagai alternatif disaat superkomputer dari segi harga tidak murah/terjangkau. Beberapa perangkat bantu untuk SDK (sumber daya komputasi) berkinerja tinggi dan murah[2] adalah Paral- lel Virtual Machine (PVM), Message Passing Interface

Upload: doanthuan

Post on 10-Mar-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Studi Komputasi Paralel dan Implementasinya pada Kasus ...jcosine.if.unram.ac.id/public/journals/1/jCossin2016_PaperExp.pdf · study is an easy and inexpensive alternative of paralel

Studi Komputasi Paralel dan Implementasinyapada Kasus Komputasi Matriks Besar

(Study and Implementation of Parallel Computing on Computation Case of Big Size/SparseMatrix)

Mayzar Annas[1], I Gede Pasek Suta Wijaya[2], dan L. A. Syamsul Irfan[1]1Jurusan Teknik Elektro, Fakultas Teknik, Universitas Mataram

Jl. Majapahit 62, Mataram, Lombok, NTB-INDONESIA2Prodi. Teknik Informatika, Fakultas Teknik, Universitas Mataram

Jl. Majapahit 62, Mataram, Lombok, NTB-INDONESIAEmail: [email protected], [email protected], [email protected]

Received May 9th, 2010; Revised August 3rd, 2010; Accepted August 16th, 2010

Abstract—Computation is the third pillar in the worldof science to solve problems accurately and quickly. Thisstudy is an easy and inexpensive alternative of paralelcomputing using the library and utility of separate memoryand processor of computers in local area network. Theparalel computing is proposed instead of using traditionalprogramming in a serial CPU instructions (can not bebroken). In this case, the parallel computing is applied tosolving problems on a big/sparse matrix such as determininginverse, solving a simultanous linear equations, and eigenanalysis. The experimental results show that the proposedsystem can break metioned cases accurately and quicklycompared with standalone programming.

Key Words: Paralel computing, MPI (Message PassingInterface), Matrix, Amdahl Law.

I. PENDAHULUAN

Seiring dengan perkembangan pemikiran manusia,teknologi kemudian berpaling dari perangkat analog men-jadi perangkat digital yang multifungsi dan memilikikehandalan yang tinggi. Pada dunia sains, komputasi dis-etarakan sebagai pilar ketiga setelah analisis teorema daneksperimen sains. Komputasi memungkinkan penyelesa-ian problem yang tidak bisa diselesaikan melalui eksper-imen tradisional maupun teoritis, seperti prediksi iklim,pencarian formula obat-obatan hingga prediksi gempa.

Era tahun 80-an sampai dengan pertengahan 90-an,komputasi tingkat lanjut sangat tergantung pada superkomputer (supercomputer). Seiring dengan meningkat-nya kebutuhan komputasi yang cepat dan naiknya hargaperalatan super komputer, maka pengembangan aplikasi-aplikasi berbasis paralel termasuk komputasi paraleldidalamnya, untuk menyelesaikan permasalahan waktukomputasi pada model komputasi standalone semakinbanyak dilakukan.

Pemanfaatan resource-resource komputasi yang terse-dia secara paralel akan mempercepat eksekusi pro-gram. Program yang dieksekusi pada komputer masterakan dibagi kepada node-node komputer untuk diman-faatkan resourcenya. Komputasi ini sangat berguna untukalgoritma-algoritma yang memiliki tingkat pertumbuhanfungsi yang kuadratik dan eksponensial.

1

STUDI KOMPUTASI PARALEL DAN IMPLEMENTASINYA PADA KASUS KOMPUTASI MATRIKS BESAR

Mayzar Annas1, I G P Suta Wijaya

1,2, LA Syamsul Irfan A

1.

1Program Studi Teknik Elektro, Fakultas Teknik, Universitas Mataram

2 Program Studi Teknik Informatika, Fakultas Teknik, Universitas Mataram

Jl. Majapahit No. 62, Mataram, Lombok NTB, INDONESIA Email: [email protected], [email protected], [email protected]

ABSTRAK Komputasi merupakan pilar ketiga dalam dunia sains untuk mencahakan masalah secara tepat dan cepat. Penelitian ini merupakan suatu alternatif mudah dan murah dari komputasi paraley yang menggunakan library dan memanfaatkan memori dan prosesor terpisah dalam susunan komputer-komputer dalam jaringan.Komputasi paralel ini diusulkan sebagai pengganti penggunaan pemrograman tradisional dalam satu CPU yang instruksinya serial (tidak dapat dipecah). Komputasi paralel ini diaplikasikan pada penyelesaian permasalahan pada matriks besar seperti menghitung lel yang diusulkan dapat menyelesaiakan invers dan penyelsaian persamaan linear simultas serta eigen analisis. Hasil uji menunjukkan bahwa sistem komputasi dapat memecah persoalan diatas dengan tepat dan cepat dibandingkan dengan pemrograman standalone. Kata Kunci: Komputasi Paralel, MPI (Message Passing Interface), Matriks, Hukum Amdahl.

I. PENDAHULUAN

Seiring dengan perkembangan pemikiran manusia, teknologi kemudian berpaling dari perangkat analog menjadi perangkat digital yang multifungsi dan memiliki kehandalan yang tinggi. Pada dunia sains, komputasi disetarakan sebagai pilar ketiga setelah analisis teorema dan eksperimen sains. Komputasi memungkinkan penyelesaian problem yang tidak bisa diselesaikan melalui eksperimen tradisional maupun teoritis, seperti prediksi iklim, pencarian formula obat-obatan hingga prediksi gempa.

Era tahun 80-an sampai dengan pertengahan 90-an, komputasi tingkat lanjut sangat tergantung pada super komputer (supercomputer). Seiring dengan meningkatnya kebutuhan komputasi yang cepat dan naiknya harga peralatan super komputer, maka pengembangan aplikasi-aplikasi berbasis paralel termasuk komputasi paralel didalamnya, untuk menyelesaikan permasalahan waktu komputasi pada model komputasi standalone semakin banyak dilakukan.

Pemanfaatan resource-resource komputasi yang tersedia secara paralel akan mempercepat eksekusi program. Program yang dieksekusi pada komputer master akan dibagi kepada node-node komputer untuk dimanfaatkan resourcenya. Komputasi ini sangat berguna untuk algoritma-algoritma yang memiliki tingkat pertumbuhan fungsi yang kuadratik dan eksponensial.

Dengan konsep komputasi paralel, biaya investasi untuk super komputer bisa ditekan dan konsumsi energi listrik, biaya instalasi serta pemeliharaan juga menjadi lebih rendah. Lebih

penting lagi, sistem ini fleksibel terhadap perubahan teknologi komputer yang sangat cepat.

Alternatif populer saat ini adalah computer clustering (kelompok komputer) atau parallel computer (komputer paralel). Sistem ini merupakan penggabungan beberapa PC (disebut node) menjadi seolah-olah satu komputer dengan kemampuan yang lebih besar, seperti yang ditunjukkan pada Gambar 1.

Gambar 1. Contoh sistem paralel

II. TINJAUAN PUSTAKA Komputasi paralel merupakan teknik komputasi menggunakan 2 atau lebih processor untuk meningkatkan performa komputasi dalam mengolah data besar/banyak. Tidak mengherankan bila banyak industri jaringan, perusahaan besar dan developer tentunya menggunakan teknologi ini sebagai opsi

Gambar 1. Contoh sistem paralel.

Dengan konsep komputasi paralel, biaya investasiuntuk super komputer bisa ditekan dan konsumsi energilistrik, biaya instalasi serta pemeliharaan juga menjadilebih rendah. Lebih penting lagi, sistem ini fleksibel ter-hadap perubahan teknologi komputer yang sangat cepat.Alternatif populer saat ini adalah computer clustering(kelompok komputer) atau parallel computer (komputerparalel). Sistem ini merupakan penggabungan beberapaPC (disebut node) menjadi seolah-olah satu komputerdengan kemampuan yang lebih besar, seperti yang ditun-jukkan pada Gambar 1.

II. TINJAUAN PUSTAKA

Komputasi paralel merupakan teknik komputasimenggunakan 2 atau lebih processor untukmeningkatkan performa komputasi dalam mengolahdata besar/banyak[1]. Tidak mengherankan bila banyakindustri jaringan, perusahaan besar dan developertentunya menggunakan teknologi ini sebagai opsimengatasi permasalahan yang ada. Penggunaannyasebagai alternatif disaat superkomputer dari segi hargatidak murah/terjangkau.

Beberapa perangkat bantu untuk SDK (sumber dayakomputasi) berkinerja tinggi dan murah[2] adalah Paral-lel Virtual Machine (PVM), Message Passing Interface

ThinkPad
Sticky Note
Jika paper dalam bahasa indonesia harus disertakan judul bahasa ingrissnya yang diletakan dibawah judul indonesianya
ThinkPad
Sticky Note
Abstract harus disertakan dengan keyword yang ditulis dalam bahasa Ingriss. Seperti pada contoh paper ini.
Page 2: Studi Komputasi Paralel dan Implementasinya pada Kasus ...jcosine.if.unram.ac.id/public/journals/1/jCossin2016_PaperExp.pdf · study is an easy and inexpensive alternative of paralel

(MPI), Java Remote Method Invocation (RMI), serta JavaCommon Object Request Broker Architecture (CORBA).Perangkat bantu tersebut diuji coba pada perangkat kom-puter pribadi (PC) untuk menghasilkan suatu kesimpulanperangkat mana yang cocok untuk dipakai oleh calon usernantinya.

Sementara, penggunaan teknologi Grid Computinguntuk pemecahan suatu masalah science telah berhasildilakukan[3]. Contoh kongkrit penggunaan komputasiGRID seperti analisa data high energy physics dan nuklir,riset iklim, serta analisa dan pencarian data pada masalahpenemuan obat. Pada riset yang ia lakukan, dipaparkanpenggunaan teknik pemrograman untuk komputasi paralelGRID dengan bantuan MPI dan GridPC, berikut imple-mentasinya.

Thesis[4] yang berisi tentang implementasi komputasiparalel dengan komunikasi satu arah MPICH2 pada In-finiband. Infiniband adalah arsitektur komunikasi berke-cepatan tinggi yang bertujuan digunakan untuk alat in-terkoneksi, seperti server, secondary storage, dan switchjaringan. Dalam thesis-nya ini, diterangkan pemetaan dariMPI versi 2 untuk komunikasi satu arah kepada InfinibandRemote Direct Access Memory (RDMA) dengan melihatperforma yang dihasilkan

A. Komputasi Paralel

Komputasi paralel adalah salah satu teknik melakukankomputasi secara bersamaan dengan memanfaatkan be-berapa komputer independen secara bersamaan. Iniumumnya diperlukan saat kapasitas komputasi yangdiperlukan sangat besar, baik karena harus mengolah datamaupun karena tuntutan proses komputasi yang banyak.Kasus lain yang umum ditemui yakni komputasi numerikuntuk menyelesaikan persamaan matematis di bidangfisika (fisika komputasi), kimia (kimia komputasi), tekniksipil, dan bidang lainnya.

B. Mesin Paralel

Untuk melakukan aneka jenis komputasi paralel inidiperlukan infrastruktur mesin paralel (lihat Gambar 2)yang terdiri dari banyak komputer yang dihubungkandengan jaringan dan mampu bekerja secara paralel untukmenyelesaikan satu masalah. Untuk itu diperlukan anekaperangkat lunak pendukung yang biasa disebut seba-gai middleware yang berperan untuk mengatur distribusipekerjaan antar node dalam satu mesin paralel.

C. Pemrograman Paralel

Pemrograman parallel[5], [6], [7], [8], [9] adalahteknik pemrograman komputer yang memungkinkan ek-sekusi perintah/ operasi secara simultan (komputasi par-alel), baik dalam komputer dengan satu (prosesor tunggal)ataupun banyak (prosesor ganda dengan mesin paralel)CPU. Bila komputer yang digunakan secara bersamaantersebut dilakukan oleh komputer-komputer terpisah yangterhubung dalam suatu jaringan komputer lebih seringistilah yang digunakan adalah sistem terdistribusi (dis-tributed computing). Komunikasi data pada sistem pem-rograman paralel di tunjukkan pada Gambar 3

2

mengatasi permasalahan yang ada. Penggunaannya sebagai alternatif disaat superkomputer dari segi harga tidak murah/terjangkau.

Beberapa perangkat bantu untuk SDK (sumber daya komputasi) berkinerja tinggi dan murah

[1] adalah Parallel Virtual Machine (PVM),

Message Passing Interface (MPI), Java Remote Method Invocation (RMI), serta Java Common Object Request Broker Architecture (CORBA). Perangkat bantu tersebut diuji coba pada perangkat komputer pribadi (PC) untuk menghasilkan suatu kesimpulan perangkat mana yang cocok untuk dipakai oleh calon user nantinya.

Sementara, penggunaan teknologi Grid Computing untuk pemecahan suatu masalah science telah berhasil dilakukan

[2]. Contoh

kongkrit penggunaan komputasi GRID seperti analisa data high energy physics dan nuklir, riset iklim, serta analisa dan pencarian data pada masalah penemuan obat. Pada riset yang ia lakukan, dipaparkan penggunaan teknik pemrograman untuk komputasi paralel GRID dengan bantuan MPI dan GridPC, berikut implementasinya.

Thesis[3]

yang berisi tentang implementasi komputasi paralel dengan komunikasi satu arah MPICH2 pada Infiniband. Infiniband adalah arsitektur komunikasi berkecepatan tinggi yang bertujuan digunakan untuk alat interkoneksi, seperti server, secondary storage, dan switch jaringan. Dalam thesis-nya ini, diterangkan pemetaan dari MPI versi 2 untuk komunikasi satu arah kepada Infiniband Remote Direct Access Memory (RDMA) dengan melihat performa yang dihasilkan

2.1. Komputasi Paralel

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas komputasi yang diperlukan sangat besar, baik karena harus mengolah data maupun karena tuntutan proses komputasi yang banyak. Kasus lain yang umum ditemui yakni komputasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi), teknik sipil, dan bidang lainnya. 2.2. Mesin Paralel

Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur

distribusi pekerjaan antar node dalam satu mesin paralel.

Gambar 2. Mesin Paralel

2.3. Pemrograman Paralel

Pemrograman parallel[4-9]

adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/ operasi secara simultan (komputasi paralel), baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan kompguter lebih sering istilah yang digunakan adalah sistem terdistribusi (distributed computing).

2.4. MPI

MPI (Message Passing Interface)[10,11]

adalah bahasa independen untuk protokol komunikasi yang digunakan untuk pemprograman paralel pada komputer. MPI dibuat oleh William Gropp, Ewing Lusk dan lainnya. MPI diterima banyak komunitas pemrograman paralel karena sifatnya independen sehingga realisasinya beragam.

Gambar 3. Mesin Paralel

2.5. BCCD

BCCD (Bootable Cluster CD)[12]

merupakan suatu live cd berbasis Debian yang berisi tool-tool clustering. Cluster live CD ini diciptakan untuk memfasilitasi kebutuhan konstruksi komputasi paralel dan keperluannya. Seringkali penggunaan resource untuk komputasi paralel yang rumit dan mengorbankan sistem operasi yang telah terpakai didalam node, oleh sebab itu

Gambar 2. Mesin paralel.

2

mengatasi permasalahan yang ada. Penggunaannya sebagai alternatif disaat superkomputer dari segi harga tidak murah/terjangkau.

Beberapa perangkat bantu untuk SDK (sumber daya komputasi) berkinerja tinggi dan murah

[1] adalah Parallel Virtual Machine (PVM),

Message Passing Interface (MPI), Java Remote Method Invocation (RMI), serta Java Common Object Request Broker Architecture (CORBA). Perangkat bantu tersebut diuji coba pada perangkat komputer pribadi (PC) untuk menghasilkan suatu kesimpulan perangkat mana yang cocok untuk dipakai oleh calon user nantinya.

Sementara, penggunaan teknologi Grid Computing untuk pemecahan suatu masalah science telah berhasil dilakukan

[2]. Contoh

kongkrit penggunaan komputasi GRID seperti analisa data high energy physics dan nuklir, riset iklim, serta analisa dan pencarian data pada masalah penemuan obat. Pada riset yang ia lakukan, dipaparkan penggunaan teknik pemrograman untuk komputasi paralel GRID dengan bantuan MPI dan GridPC, berikut implementasinya.

Thesis[3]

yang berisi tentang implementasi komputasi paralel dengan komunikasi satu arah MPICH2 pada Infiniband. Infiniband adalah arsitektur komunikasi berkecepatan tinggi yang bertujuan digunakan untuk alat interkoneksi, seperti server, secondary storage, dan switch jaringan. Dalam thesis-nya ini, diterangkan pemetaan dari MPI versi 2 untuk komunikasi satu arah kepada Infiniband Remote Direct Access Memory (RDMA) dengan melihat performa yang dihasilkan

2.1. Komputasi Paralel

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas komputasi yang diperlukan sangat besar, baik karena harus mengolah data maupun karena tuntutan proses komputasi yang banyak. Kasus lain yang umum ditemui yakni komputasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi), teknik sipil, dan bidang lainnya. 2.2. Mesin Paralel

Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur

distribusi pekerjaan antar node dalam satu mesin paralel.

Gambar 2. Mesin Paralel

2.3. Pemrograman Paralel

Pemrograman parallel[4-9]

adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/ operasi secara simultan (komputasi paralel), baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan kompguter lebih sering istilah yang digunakan adalah sistem terdistribusi (distributed computing).

2.4. MPI

MPI (Message Passing Interface)[10,11]

adalah bahasa independen untuk protokol komunikasi yang digunakan untuk pemprograman paralel pada komputer. MPI dibuat oleh William Gropp, Ewing Lusk dan lainnya. MPI diterima banyak komunitas pemrograman paralel karena sifatnya independen sehingga realisasinya beragam.

Gambar 3. Mesin Paralel

2.5. BCCD

BCCD (Bootable Cluster CD)[12]

merupakan suatu live cd berbasis Debian yang berisi tool-tool clustering. Cluster live CD ini diciptakan untuk memfasilitasi kebutuhan konstruksi komputasi paralel dan keperluannya. Seringkali penggunaan resource untuk komputasi paralel yang rumit dan mengorbankan sistem operasi yang telah terpakai didalam node, oleh sebab itu

Gambar 3. Aliran data pada mesin paralel.

D. MPI

MPI (Message Passing Interface)[10] adalah bahasaindependen untuk protokol komunikasi yang digunakanuntuk pemprograman paralel pada komputer. MPI dibuatoleh William Gropp, Ewing Lusk dan lainnya. MPIditerima banyak komunitas pemrograman paralel karenasifatnya independen sehingga realisasinya beragam.

E. BCCD

BCCD (Bootable Cluster CD) merupakan suatu livecd berbasis Debian yang berisi tool-tool clustering. Clus-ter live CD ini diciptakan untuk memfasilitasi kebu-tuhan konstruksi komputasi paralel dan keperluannya.Seringkali penggunaan resource untuk komputasi paralelyang rumit dan mengorbankan sistem operasi yang telahterpakai didalam node, oleh sebab itu kurangnya sumberdaya dari server komputasi paralel dapat diakomodasidengan penggunaan live CD cluster tanpa mengubah sis-tem yang ada. Live cd ini menyediakan fitur-fitur overlayuntuk menjalankan lingkungan komputasi paralel secarapenuh pada setiap komputer workstation baik PC maupunMAC.

III. METODE PENELITIAN

A. Alat dan Bahan

Alat dan bahan yang diperlukan pada penelitian inidibagi menjadi dua bagian besar yaitu perangkat keras danperangkat lunak. Perangkat keras yang diperlukan adalah:

1) Sebuah notebook komputer Lenovo T61 sebagaiperangkat pembantu penelitian dalam pembu-atan program standalone dan MPI.

Page 3: Studi Komputasi Paralel dan Implementasinya pada Kasus ...jcosine.if.unram.ac.id/public/journals/1/jCossin2016_PaperExp.pdf · study is an easy and inexpensive alternative of paralel

2) Satu buah perangkat Switch, dalam penelitian inidigunakan Allied Telesyn-ATFS716 Fast Ether-net Switch.

3) Kabel-kabel UTP straight through, CAT 5E se-banyak 4 buah dengan tipe male to male.

4) Empat buah komputer sebagai node pengujian(1 node master dan 3 node slave), dalam hal inidipergunakan 4 komputer yang bersifat homogenpada Laboratorium Komputasi Fakultas TeknikUniversitas Mataram.

5) Empat buah Live CD, BCCD.

Sedangkan perangkat lunaknya adalah sebagai berikut:

1) Perangkat lunak coding (IDE) dan compiler C.2) MPI library untuk C dan keperluannya.3) SSH (Secure Shell).4) Octave.5) BCCD atau bootable cluster

Sepesifikasi perangkat keras untuk master dan klien dapatdi tunjukkan pada Table I dan II .

Tabel I. SPESIFIKASI KOMPUTER MASTER.

3

kurangnya sumber daya dari server komputasi paralel dapat diakomodasi dengan penggunaan live CD cluster tanpa mengubah sistem yang ada. Live cd ini menyediakan fitur-fitur overlay untuk menjalankan lingkungan komputasi paralel secara penuh pada setiap komputer workstation baik PC maupun MAC.

III. METODE PENELITIAN

3.1. Alat dan Bahan

Alat dan bahan yang diperlukan pada penelitian ini dibagi menjadi dua bagian besar yaitu perangkat keras dan perangkat lunak. Perangkat keras yang diperlukan adalah: 1. Sebuah notebook komputer Lenovo T61

sebagai perangkat pembantu penelitian dalam pembuatan program standalone dan MPI.

2. Satu buah perangkat Switch, dalam penelitian ini digunakan Allied Telesyn-ATFS716 Fast Ethernet Switch.

3. Kabel-kabel UTP straight through, CAT 5E sebanyak 4 buah dengan tipe male to male.

4. Empat buah komputer sebagai node pengujian (1 node master dan 3 node slave), dalam hal ini dipergunakan 4 komputer yang bersifat homogen pada Laboratorium Komputasi Fakultas Teknik Universitas Mataram.

5. Empat buah Live CD, BCCD.

Sedangkan perangkat lunaknya adalah sebagai berikut:

1. Perangkat lunak coding (IDE) dan compiler C.

2. MPI library untuk C dan keperluannya. 3. SSH (Secure Shell). 4. Octave. 5. BCCD atau bootable cluster

Sepesifikasi perangkat keras untuk master dan klien dapat di tunjukkan pada Table 1 dan 2.

Tabel 1 Spesifikasi Komputer Master

Perangkat Keterangan

Processor Processor Intel Core2Duo T7300 2.00 GHz

Memori 2048 Mbyte

Harddisk 500 Gbyte

Kartu Ethernet

Intel 82566MM Gigabit Network Connection

Sistem Operasi

Linux Mint 14 (Nadia)

Software Pendukung

GCC GNU C Compiler CodeBlocks IDE untuk C.OpenMPI 1.4 C library

Tabel 2 Spesifikasi Komputer Klien

Perangkat Keterangan

Processor Processor Intel Core2Duo, E7300 2..66 GHz (2667Mhz) 3072 KB Cache. ACPI Bios

Memori 2 Gbyte

Harddisk 160 Gbyte (Optional)

Kartu Ethernet

Realtek PCIe FE Family Controller RTLE8023

Drive Optik LG HL-DT-ST DVDRAM GH22NS40

Sistem Operasi

BCCD Live CD

3.2. Prosedur Penelitian

Dalam penelitian ini digunakan tiga kasus penyelesain aljabar linear dengan ordo besar diatas 1000, yaitu:

1. Invers Matriks, 2. Penyelesaian Eigenvalue, dan 3. Penyelesaian persamaan linear

simultan Ax=b. Untuk ketiga kasus diatas menggunakan matriks yang dibangkitkan secara random. Metode yang dipakai untuk menyelesaikan kasus invers matriks dan Ax=b yakni metode gauss jordan, sementara pada penyelesaian eigenvalue digunakan metode power method

[6].

Secara umum proses penelitian dapat dilahat pada diagram alir pada Gambar 4. Langkah yang dilalui dalam penelitian ini yakni:

1. Mempelajari algoritma untuk setiap kasus yang diberikan, melakukan perhitungan menggunakan Octave, mendeklarasikan data dan variabel yang dibutuhkan.

2. Menulis program untuk kasus yang diberikan dalam dalam bahasa C dan menyimpannya sebagai proses kompilasi A.

3. Mengujicoba program C apakah sudah tepat dan menghasilkan output yang benar dengan pembanding hasil perhitungan dengan menggunakan Octave.

4. Apabila sudah benar, maka tahap selanjutnya memodifikasi program kompilasi A dalam bahasa C dengan tambahan library MPI dan menyimpannya sebagai proses kompilasi B.

5. Waktu komputasi untuk setiap kasus dicatat untuk membuktikan bahwa sistem paralel dapat mempercepat proses komputasi dibandingan dengan komputasi standalone .

Tabel II. SPESIFIKASI KOMPUTER KLIEN.

3

kurangnya sumber daya dari server komputasi paralel dapat diakomodasi dengan penggunaan live CD cluster tanpa mengubah sistem yang ada. Live cd ini menyediakan fitur-fitur overlay untuk menjalankan lingkungan komputasi paralel secara penuh pada setiap komputer workstation baik PC maupun MAC.

III. METODE PENELITIAN

3.1. Alat dan Bahan

Alat dan bahan yang diperlukan pada penelitian ini dibagi menjadi dua bagian besar yaitu perangkat keras dan perangkat lunak. Perangkat keras yang diperlukan adalah: 1. Sebuah notebook komputer Lenovo T61

sebagai perangkat pembantu penelitian dalam pembuatan program standalone dan MPI.

2. Satu buah perangkat Switch, dalam penelitian ini digunakan Allied Telesyn-ATFS716 Fast Ethernet Switch.

3. Kabel-kabel UTP straight through, CAT 5E sebanyak 4 buah dengan tipe male to male.

4. Empat buah komputer sebagai node pengujian (1 node master dan 3 node slave), dalam hal ini dipergunakan 4 komputer yang bersifat homogen pada Laboratorium Komputasi Fakultas Teknik Universitas Mataram.

5. Empat buah Live CD, BCCD.

Sedangkan perangkat lunaknya adalah sebagai berikut:

1. Perangkat lunak coding (IDE) dan compiler C.

2. MPI library untuk C dan keperluannya. 3. SSH (Secure Shell). 4. Octave. 5. BCCD atau bootable cluster

Sepesifikasi perangkat keras untuk master dan klien dapat di tunjukkan pada Table 1 dan 2.

Tabel 1 Spesifikasi Komputer Master

Perangkat Keterangan

Processor Processor Intel Core2Duo T7300 2.00 GHz

Memori 2048 Mbyte

Harddisk 500 Gbyte

Kartu Ethernet

Intel 82566MM Gigabit Network Connection

Sistem Operasi

Linux Mint 14 (Nadia)

Software Pendukung

GCC GNU C Compiler CodeBlocks IDE untuk C.OpenMPI 1.4 C library

Tabel 2 Spesifikasi Komputer Klien

Perangkat Keterangan

Processor Processor Intel Core2Duo, E7300 2..66 GHz (2667Mhz) 3072 KB Cache. ACPI Bios

Memori 2 Gbyte

Harddisk 160 Gbyte (Optional)

Kartu Ethernet

Realtek PCIe FE Family Controller RTLE8023

Drive Optik LG HL-DT-ST DVDRAM GH22NS40

Sistem Operasi

BCCD Live CD

3.2. Prosedur Penelitian

Dalam penelitian ini digunakan tiga kasus penyelesain aljabar linear dengan ordo besar diatas 1000, yaitu:

1. Invers Matriks, 2. Penyelesaian Eigenvalue, dan 3. Penyelesaian persamaan linear

simultan Ax=b. Untuk ketiga kasus diatas menggunakan matriks yang dibangkitkan secara random. Metode yang dipakai untuk menyelesaikan kasus invers matriks dan Ax=b yakni metode gauss jordan, sementara pada penyelesaian eigenvalue digunakan metode power method

[6].

Secara umum proses penelitian dapat dilahat pada diagram alir pada Gambar 4. Langkah yang dilalui dalam penelitian ini yakni:

1. Mempelajari algoritma untuk setiap kasus yang diberikan, melakukan perhitungan menggunakan Octave, mendeklarasikan data dan variabel yang dibutuhkan.

2. Menulis program untuk kasus yang diberikan dalam dalam bahasa C dan menyimpannya sebagai proses kompilasi A.

3. Mengujicoba program C apakah sudah tepat dan menghasilkan output yang benar dengan pembanding hasil perhitungan dengan menggunakan Octave.

4. Apabila sudah benar, maka tahap selanjutnya memodifikasi program kompilasi A dalam bahasa C dengan tambahan library MPI dan menyimpannya sebagai proses kompilasi B.

5. Waktu komputasi untuk setiap kasus dicatat untuk membuktikan bahwa sistem paralel dapat mempercepat proses komputasi dibandingan dengan komputasi standalone .

B. Prosedur Penelitian

Dalam penelitian ini digunakan tiga kasus penyelesainaljabar linear dengan ordo besar diatas 1000, yaitu:

1) Invers Matriks,2) Penyelesaian Eigenvalue, dan3) Penyelesaian persamaan linear simultan Ax=b.

4

Gambar 4. Diagram alir proses penelitian.

IV HASIL DAN PEMBAHASAN 4.1 Penyusunan Perangkat Perangkat penelitian yang digunakan berupa 4 buah komputer, KVM, Switch, beserta Kabel Jaringan disusun seperti pada gambar 5.

Gambar 5. Susun perangkat keras paralel

komputing pada penelitian ini.

4.2 Pengujian Node

Pengujian ini bertujuan untuk mengetahui apakah node yang terkoneksi dalam sistem paralel pada network bejalan atau tidak, dengan cara mengirimkan pesan secara berantai

antar rank, mulai dari rank 0 hingga kembali ke rank 0.

Gambar 6. Aliran proses pengiriman pesan

antar rank pada sistem ini. Fungsi yang digunakan dalam pengujian ini adalah MPI_Send pada pengiriman dan MPI_Recv pada sisi penerima pesan. Hasil dari pengujian dapat dilihat pada gambar screen shoot berikut.

Gambar 7. Hasil uji node

Hasil pengujian menunjukkan bahwa setiap rank dapat saling berkomunikasi yang ditunjukkan dengan adanya tanda paket berhasil diterima dan rank aktif. Hal ini berarti bahwa sistem parallel sudah siap digunakan untuk menyelesaikan kasus numerik dengan matrik besar dengan komputasi parallel.

4.3 Pengujian Kasus Invers Matriks

Pada kasus ini, invers matrik diselesaikan menggunakan metode gauss jordan dimana setiap iterasi sebanyak N ordo matriks dihitung dengan menggunakan baris pivot yang telah dikirimkan ke masing-masing rank.

Dari pengujian terhadap program standalone dan program MPI didapatkan grafik berikut:

Rank0

Rank2

Rank1

Rank3

Rank4 Rank5

Rank6

Rank7

Gambar 4. Diagram alir proses penelitian.

Untuk ketiga kasus diatas menggunakan matriks yangdibangkitkan secara random. Metode yang dipakai untukmenyelesaikan kasus invers matriks dan Ax=b yaknimetode gauss jordan, sementara pada penyelesaian eigen-value digunakan metode power method[7]. Secara umumproses penelitian dapat dilahat pada diagram alir padaGambar 4 . Langkah yang dilalui dalam penelitian iniyakni:

1) Mempelajari algoritma untuk setiap kasus yangdiberikan, melakukan perhitungan menggunakanOctave, mendeklarasikan data dan variabel yangdibutuhkan.

2) Menulis program untuk kasus yang diberikandalam dalam bahasa C dan menyimpannya se-bagai proses kompilasi A.

3) Mengujicoba program C apakah sudah tepat danmenghasilkan output yang benar dengan pem-banding hasil perhitungan dengan menggunakanOctave.

4) Apabila sudah benar, maka tahap selanjutnyamemodifikasi program kompilasi A dalam ba-hasa C dengan tambahan library MPI dan meny-impannya sebagai proses kompilasi B.

5) Waktu komputasi untuk setiap kasus dicatatuntuk membuktikan bahwa sistem paralel da-pat mempercepat proses komputasi dibandingandengan komputasi standalone .

Page 4: Studi Komputasi Paralel dan Implementasinya pada Kasus ...jcosine.if.unram.ac.id/public/journals/1/jCossin2016_PaperExp.pdf · study is an easy and inexpensive alternative of paralel

4

Gambar 4. Diagram alir proses penelitian.

IV HASIL DAN PEMBAHASAN 4.1 Penyusunan Perangkat Perangkat penelitian yang digunakan berupa 4 buah komputer, KVM, Switch, beserta Kabel Jaringan disusun seperti pada gambar 5.

Gambar 5. Susun perangkat keras paralel

komputing pada penelitian ini.

4.2 Pengujian Node

Pengujian ini bertujuan untuk mengetahui apakah node yang terkoneksi dalam sistem paralel pada network bejalan atau tidak, dengan cara mengirimkan pesan secara berantai

antar rank, mulai dari rank 0 hingga kembali ke rank 0.

Gambar 6. Aliran proses pengiriman pesan

antar rank pada sistem ini. Fungsi yang digunakan dalam pengujian ini adalah MPI_Send pada pengiriman dan MPI_Recv pada sisi penerima pesan. Hasil dari pengujian dapat dilihat pada gambar screen shoot berikut.

Gambar 7. Hasil uji node

Hasil pengujian menunjukkan bahwa setiap rank dapat saling berkomunikasi yang ditunjukkan dengan adanya tanda paket berhasil diterima dan rank aktif. Hal ini berarti bahwa sistem parallel sudah siap digunakan untuk menyelesaikan kasus numerik dengan matrik besar dengan komputasi parallel.

4.3 Pengujian Kasus Invers Matriks

Pada kasus ini, invers matrik diselesaikan menggunakan metode gauss jordan dimana setiap iterasi sebanyak N ordo matriks dihitung dengan menggunakan baris pivot yang telah dikirimkan ke masing-masing rank.

Dari pengujian terhadap program standalone dan program MPI didapatkan grafik berikut:

Rank0

Rank2

Rank1

Rank3

Rank4 Rank5

Rank6

Rank7

Gambar 5. Susun perangkat keras paralel komputing pada penelitianini.

4

Gambar 4. Diagram alir proses penelitian.

IV HASIL DAN PEMBAHASAN 4.1 Penyusunan Perangkat Perangkat penelitian yang digunakan berupa 4 buah komputer, KVM, Switch, beserta Kabel Jaringan disusun seperti pada gambar 5.

Gambar 5. Susun perangkat keras paralel

komputing pada penelitian ini.

4.2 Pengujian Node

Pengujian ini bertujuan untuk mengetahui apakah node yang terkoneksi dalam sistem paralel pada network bejalan atau tidak, dengan cara mengirimkan pesan secara berantai

antar rank, mulai dari rank 0 hingga kembali ke rank 0.

Gambar 6. Aliran proses pengiriman pesan

antar rank pada sistem ini. Fungsi yang digunakan dalam pengujian ini adalah MPI_Send pada pengiriman dan MPI_Recv pada sisi penerima pesan. Hasil dari pengujian dapat dilihat pada gambar screen shoot berikut.

Gambar 7. Hasil uji node

Hasil pengujian menunjukkan bahwa setiap rank dapat saling berkomunikasi yang ditunjukkan dengan adanya tanda paket berhasil diterima dan rank aktif. Hal ini berarti bahwa sistem parallel sudah siap digunakan untuk menyelesaikan kasus numerik dengan matrik besar dengan komputasi parallel.

4.3 Pengujian Kasus Invers Matriks

Pada kasus ini, invers matrik diselesaikan menggunakan metode gauss jordan dimana setiap iterasi sebanyak N ordo matriks dihitung dengan menggunakan baris pivot yang telah dikirimkan ke masing-masing rank.

Dari pengujian terhadap program standalone dan program MPI didapatkan grafik berikut:

Rank0

Rank2

Rank1

Rank3

Rank4 Rank5

Rank6

Rank7

Gambar 6. Aliran proses pengiriman pesan antar rank pada sistemparalel.

IV. HASIL DAN PEMBAHASAN

A. Penyusunan Perangkat

Perangkat penelitian yang digunakan berupa 4 buahkomputer, KVM, Switch, beserta Kabel Jaringan disusunseperti pada Gambar 5.

B. Pengujian Node

Pengujian ini bertujuan untuk mengetahui apakahnode yang terkoneksi dalam sistem paralel pada networkbejalan atau tidak, dengan cara mengirimkan pesan secaraberantai antar rank, mulai dari rank 0 hingga kembali kerank 0, seperti yang ditunjukkan pada Gambar 6.

Fungsi yang digunakan dalam pengujian ini adalahMPI Send pada pengiriman dan MPI Recv pada sisipenerima pesan. Hasil dari pengujian dapat dilihat padagambar screen shoot seperti pada Gambar 7.

Hasil pengujian menunjukkan bahwa setiap rank dapatsaling berkomunikasi yang ditunjukkan dengan adanyatanda paket berhasil diterima dan rank aktif. Hal iniberarti bahwa sistem parallel sudah siap digunakan un-tuk menyelesaikan kasus numerik dengan matrik besardengan komputasi parallel.

4

Gambar 4. Diagram alir proses penelitian.

IV HASIL DAN PEMBAHASAN 4.1 Penyusunan Perangkat Perangkat penelitian yang digunakan berupa 4 buah komputer, KVM, Switch, beserta Kabel Jaringan disusun seperti pada gambar 5.

Gambar 5. Susun perangkat keras paralel

komputing pada penelitian ini.

4.2 Pengujian Node

Pengujian ini bertujuan untuk mengetahui apakah node yang terkoneksi dalam sistem paralel pada network bejalan atau tidak, dengan cara mengirimkan pesan secara berantai

antar rank, mulai dari rank 0 hingga kembali ke rank 0.

Gambar 6. Aliran proses pengiriman pesan

antar rank pada sistem ini. Fungsi yang digunakan dalam pengujian ini adalah MPI_Send pada pengiriman dan MPI_Recv pada sisi penerima pesan. Hasil dari pengujian dapat dilihat pada gambar screen shoot berikut.

Gambar 7. Hasil uji node

Hasil pengujian menunjukkan bahwa setiap rank dapat saling berkomunikasi yang ditunjukkan dengan adanya tanda paket berhasil diterima dan rank aktif. Hal ini berarti bahwa sistem parallel sudah siap digunakan untuk menyelesaikan kasus numerik dengan matrik besar dengan komputasi parallel.

4.3 Pengujian Kasus Invers Matriks

Pada kasus ini, invers matrik diselesaikan menggunakan metode gauss jordan dimana setiap iterasi sebanyak N ordo matriks dihitung dengan menggunakan baris pivot yang telah dikirimkan ke masing-masing rank.

Dari pengujian terhadap program standalone dan program MPI didapatkan grafik berikut:

Rank0

Rank2

Rank1

Rank3

Rank4 Rank5

Rank6

Rank7

Gambar 7. Screen shoot hasil uji node.

5

Gambar 8. Waktu komputasi untuk

penyelesaian invers matrik.

4.4 Pengujian Kasus Matriks Eigenvalue Untuk kasus kedua, nilai eigenvalue

dihitung menggunakan metode power method dengan normalisasi kuadrat dari tiap baris matriks. Dari pengujian yang dilakukan didapatkan grafik seperti berikut:

Gambar 9. Waktu komputasi penghitung

nilai eigenvalue. 4.5 Pengujian Kasus Ax=b

Pada kasus ketiga ini, metode yang digunakan sama seperti pada kasus pertama yakni Gauss Jordan, namun data yang dikirimkan kembali oleh rank merupakan vektor bukan berupa matriks.

Grafik yang dihasilkan dari pengujian pada kasus ketiga ini seperti berikut.

Gambar 10. Waktu komputasi penyelesaian

Ax=b.

4.6 Diskusi

Program paralel untuk semua kasus pada penelitian ini berkonsep sama yakni memecah banyak data matriks yang kemudian disebar ke masing-masing node dan melakukan operasi aritmatika di tiap-tiap node.

Suatu program paralel tidak serta merta dapat menghasilkan speedup yang tinggi, ada beberapa bagian serial dari program yang tidak bisa dipecah dalam bentuk paralel. Sebagai contoh, untuk kasus 2 dengan menggunakan metode iterasi Jacobi. Metode ini menggunakan iterasi yang berkesinambungan artinya matriks dengan ukuran NxN yang diproses dalam iterasi harus menjalani fungsi-fungsi berkaitan satu sama lain. Sehingga peluangnya kecil untuk memecah data kemudian melakukan proses tersebut secara terpisah.

Metode pengalokasian memori secara dinamis dengan pointer dapat diterapkan pada kedua jenis pemrograman (standalone maupun paralel). Penggunaan pointer mengatasi keterbatasan array kedalam stack yang dapat menyebabkan kesalahan memori yakni segmentation fault error.

Pengukuran waktu komputasi pada program paralel menggunakan fungsi MPI_Wtime() untuk mencari selisih waktu komputasi dari masing-masing rank, kemudian ditotalkan dan dibagi dengan jumlah rank, sehingga didapatkan waktu rata-rata komputasi dari seluruh rank. Sementara pada program standalone, waktu komputasi dapat dilihat pada hasil running dari GCC secara langsung di terminal pada bagian akhir program dengan output “execution time”.

Untuk ketiga kasus yang diujicobakan, waktu komputasi yang diperlukan oleh pemrograman paralel sangatlah kecil dibandingkan dengan waktu komputasi standalone seperti yang ditunjukkan pada Gambar 8, 9, dan 10. Hasil uji tersebut juga menunjukkan bahwa semakin banyak processor yang digunakan dalam menyelesaikan persoalan yang diberikan maka semakin kecil waktu komputasi yang diperlukan. Hal ini sebabkan oleh beban komputasi dibagi kedalam beberapa bagian yang desebar ke masing-masing rank. Hasil dari masing-masing rank di kombine di komputer master.

Dalam penelitian ini data yang digunakan belum sampai mengakibatkan titik jenuh dari hukum amdhal itu sendiri, apabila titik jenuh dicapai dari matriks berordo N maka jumlah percepatan antara prosesor (rank yang aktif) bisa diabaikan.

Kedua program baik program standalone maupun program paralel berbasis MPI yang dibuat dapat terjadi segmentation fault, biasanya

Gambar 8. Waktu komputasi untuk penyelesaian invers matrik.

C. Pengujian Kasus Invers Matriks

Pada kasus ini, invers matrik diselesaikan menggu-nakan metode gauss jordan dimana setiap iterasi sebanyakN ordo matriks dihitung dengan menggunakan baris pivotyang telah dikirimkan ke masing-masing rank. Dari pen-gujian terhadap program standalone dan program MPIdidapatkan grafik, seperti pada Gambar 8. :

D. Pengujian Kasus Matriks Eigenvalue

Untuk kasus kedua, nilai eigenvalue dihitung menggu-nakan metode power method dengan normalisasi kuadratdari tiap baris matriks. Dari pengujian yang dilakukandidapatkan grafik seperti pada Gambar 9.

E. Pengujian Kasus Ax=b

Pada kasus ketiga ini, metode yang digunakan samaseperti pada kasus pertama yakni Gauss Jordan, namundata yang dikirimkan kembali oleh rank merupakan vek-tor bukan berupa matriks. Grafik yang dihasilkan daripengujian pada kasus ketiga ini ditunjukkan Gambar 10..

F. Diskusi

Program paralel untuk semua kasus pada penelitianini berkonsep sama yakni memecah banyak data ma-triks yang kemudian disebar ke masing-masing node danmelakukan operasi aritmatika di tiap-tiap node.

Page 5: Studi Komputasi Paralel dan Implementasinya pada Kasus ...jcosine.if.unram.ac.id/public/journals/1/jCossin2016_PaperExp.pdf · study is an easy and inexpensive alternative of paralel

5

Gambar 8. Waktu komputasi untuk

penyelesaian invers matrik.

4.4 Pengujian Kasus Matriks Eigenvalue Untuk kasus kedua, nilai eigenvalue

dihitung menggunakan metode power method dengan normalisasi kuadrat dari tiap baris matriks. Dari pengujian yang dilakukan didapatkan grafik seperti berikut:

Gambar 9. Waktu komputasi penghitung

nilai eigenvalue. 4.5 Pengujian Kasus Ax=b

Pada kasus ketiga ini, metode yang digunakan sama seperti pada kasus pertama yakni Gauss Jordan, namun data yang dikirimkan kembali oleh rank merupakan vektor bukan berupa matriks.

Grafik yang dihasilkan dari pengujian pada kasus ketiga ini seperti berikut.

Gambar 10. Waktu komputasi penyelesaian

Ax=b.

4.6 Diskusi

Program paralel untuk semua kasus pada penelitian ini berkonsep sama yakni memecah banyak data matriks yang kemudian disebar ke masing-masing node dan melakukan operasi aritmatika di tiap-tiap node.

Suatu program paralel tidak serta merta dapat menghasilkan speedup yang tinggi, ada beberapa bagian serial dari program yang tidak bisa dipecah dalam bentuk paralel. Sebagai contoh, untuk kasus 2 dengan menggunakan metode iterasi Jacobi. Metode ini menggunakan iterasi yang berkesinambungan artinya matriks dengan ukuran NxN yang diproses dalam iterasi harus menjalani fungsi-fungsi berkaitan satu sama lain. Sehingga peluangnya kecil untuk memecah data kemudian melakukan proses tersebut secara terpisah.

Metode pengalokasian memori secara dinamis dengan pointer dapat diterapkan pada kedua jenis pemrograman (standalone maupun paralel). Penggunaan pointer mengatasi keterbatasan array kedalam stack yang dapat menyebabkan kesalahan memori yakni segmentation fault error.

Pengukuran waktu komputasi pada program paralel menggunakan fungsi MPI_Wtime() untuk mencari selisih waktu komputasi dari masing-masing rank, kemudian ditotalkan dan dibagi dengan jumlah rank, sehingga didapatkan waktu rata-rata komputasi dari seluruh rank. Sementara pada program standalone, waktu komputasi dapat dilihat pada hasil running dari GCC secara langsung di terminal pada bagian akhir program dengan output “execution time”.

Untuk ketiga kasus yang diujicobakan, waktu komputasi yang diperlukan oleh pemrograman paralel sangatlah kecil dibandingkan dengan waktu komputasi standalone seperti yang ditunjukkan pada Gambar 8, 9, dan 10. Hasil uji tersebut juga menunjukkan bahwa semakin banyak processor yang digunakan dalam menyelesaikan persoalan yang diberikan maka semakin kecil waktu komputasi yang diperlukan. Hal ini sebabkan oleh beban komputasi dibagi kedalam beberapa bagian yang desebar ke masing-masing rank. Hasil dari masing-masing rank di kombine di komputer master.

Dalam penelitian ini data yang digunakan belum sampai mengakibatkan titik jenuh dari hukum amdhal itu sendiri, apabila titik jenuh dicapai dari matriks berordo N maka jumlah percepatan antara prosesor (rank yang aktif) bisa diabaikan.

Kedua program baik program standalone maupun program paralel berbasis MPI yang dibuat dapat terjadi segmentation fault, biasanya

Gambar 9. Waktu komputasi penghitung nilai eigenvalue.

5

Gambar 8. Waktu komputasi untuk

penyelesaian invers matrik.

4.4 Pengujian Kasus Matriks Eigenvalue Untuk kasus kedua, nilai eigenvalue

dihitung menggunakan metode power method dengan normalisasi kuadrat dari tiap baris matriks. Dari pengujian yang dilakukan didapatkan grafik seperti berikut:

Gambar 9. Waktu komputasi penghitung

nilai eigenvalue. 4.5 Pengujian Kasus Ax=b

Pada kasus ketiga ini, metode yang digunakan sama seperti pada kasus pertama yakni Gauss Jordan, namun data yang dikirimkan kembali oleh rank merupakan vektor bukan berupa matriks.

Grafik yang dihasilkan dari pengujian pada kasus ketiga ini seperti berikut.

Gambar 10. Waktu komputasi penyelesaian

Ax=b.

4.6 Diskusi

Program paralel untuk semua kasus pada penelitian ini berkonsep sama yakni memecah banyak data matriks yang kemudian disebar ke masing-masing node dan melakukan operasi aritmatika di tiap-tiap node.

Suatu program paralel tidak serta merta dapat menghasilkan speedup yang tinggi, ada beberapa bagian serial dari program yang tidak bisa dipecah dalam bentuk paralel. Sebagai contoh, untuk kasus 2 dengan menggunakan metode iterasi Jacobi. Metode ini menggunakan iterasi yang berkesinambungan artinya matriks dengan ukuran NxN yang diproses dalam iterasi harus menjalani fungsi-fungsi berkaitan satu sama lain. Sehingga peluangnya kecil untuk memecah data kemudian melakukan proses tersebut secara terpisah.

Metode pengalokasian memori secara dinamis dengan pointer dapat diterapkan pada kedua jenis pemrograman (standalone maupun paralel). Penggunaan pointer mengatasi keterbatasan array kedalam stack yang dapat menyebabkan kesalahan memori yakni segmentation fault error.

Pengukuran waktu komputasi pada program paralel menggunakan fungsi MPI_Wtime() untuk mencari selisih waktu komputasi dari masing-masing rank, kemudian ditotalkan dan dibagi dengan jumlah rank, sehingga didapatkan waktu rata-rata komputasi dari seluruh rank. Sementara pada program standalone, waktu komputasi dapat dilihat pada hasil running dari GCC secara langsung di terminal pada bagian akhir program dengan output “execution time”.

Untuk ketiga kasus yang diujicobakan, waktu komputasi yang diperlukan oleh pemrograman paralel sangatlah kecil dibandingkan dengan waktu komputasi standalone seperti yang ditunjukkan pada Gambar 8, 9, dan 10. Hasil uji tersebut juga menunjukkan bahwa semakin banyak processor yang digunakan dalam menyelesaikan persoalan yang diberikan maka semakin kecil waktu komputasi yang diperlukan. Hal ini sebabkan oleh beban komputasi dibagi kedalam beberapa bagian yang desebar ke masing-masing rank. Hasil dari masing-masing rank di kombine di komputer master.

Dalam penelitian ini data yang digunakan belum sampai mengakibatkan titik jenuh dari hukum amdhal itu sendiri, apabila titik jenuh dicapai dari matriks berordo N maka jumlah percepatan antara prosesor (rank yang aktif) bisa diabaikan.

Kedua program baik program standalone maupun program paralel berbasis MPI yang dibuat dapat terjadi segmentation fault, biasanya

Gambar 10. Waktu komputasi penyelesaian Ax=b.

Suatu program paralel tidak serta merta dapat meng-hasilkan speedup yang tinggi, ada beberapa bagian serialdari program yang tidak bisa dipecah dalam bentuk par-alel. Sebagai contoh, untuk kasus 2 dengan menggunakanmetode iterasi Jacobi. Metode ini menggunakan iterasiyang berkesinambungan artinya matriks dengan ukuranNxN yang diproses dalam iterasi harus menjalani fungsi-fungsi berkaitan satu sama lain. Sehingga peluangnyakecil untuk memecah data kemudian melakukan prosestersebut secara terpisah.

Metode pengalokasian memori secara dinamis denganpointer dapat diterapkan pada kedua jenis pemrogra-man (standalone maupun paralel). Penggunaan pointermengatasi keterbatasan array kedalam stack yang dapatmenyebabkan kesalahan memori yakni segmentation faulterror. Pengukuran waktu komputasi pada program paralelmenggunakan fungsi MPI Wtime() untuk mencari selisihwaktu komputasi dari masing-masing rank, kemudianditotalkan dan dibagi dengan jumlah rank, sehingga di-dapatkan waktu rata-rata komputasi dari seluruh rank.Sementara pada program standalone, waktu komputasidapat dilihat pada hasil running dari GCC secara langsungdi terminal pada bagian akhir program dengan outputexecution time.

Untuk ketiga kasus yang diujicobakan, waktu kom-putasi yang diperlukan oleh pemrograman paralel san-gatlah kecil dibandingkan dengan waktu komputasi stan-dalone seperti yang ditunjukkan pada Gambar 8, 9, dan10. Hasil uji tersebut juga menunjukkan bahwa semakinbanyak processor yang digunakan dalam menyelesaikanpersoalan yang diberikan maka semakin kecil waktukomputasi yang diperlukan. Hal ini sebabkan oleh beban

komputasi dibagi kedalam beberapa bagian yang desebarke masing-masing rank. Hasil dari masing-masing rankdi kombine di komputer master. Dalam penelitian ini datayang digunakan belum sampai mengakibatkan titik jenuhdari hukum amdhal itu sendiri, apabila titik jenuh dicapaidari matriks berordo N maka jumlah percepatan antaraprosesor (rank yang aktif) bisa diabaikan.

Kedua program baik program standalone maupun pro-gram paralel berbasis MPI yang dibuat dapat terjadi seg-mentation fault, biasanya terjadi karena besar data yangdideklarasikan melebihi batas memori maupun dikare-nakan terdapat porsi data yang kosong dan kesalahankirim-terima data pada rank (program MPI).

V. KESIMPULAN DAN SARAN

A. Kesimpulan

1) Sistem komputasi paralel menggunakan MPItelah berhasil diwujudkan untuk kasus penyele-saian numerik pada matrik besar.

2) Waktu komputasi yang dibutuhkan cenderungmeningkat seiring bertambahnya jumlah ordomariks yang diberikan, namun waktu komputasiyang diperlukan sangatlah kecil jiga diband-ingkan dengan waktu komputasi standalone.

3) Penggunaan lebih banyak rank (pekerja) dalamkomputasi dapat memangkas waktu komputasiselaras dengan hukum Amdahl.

4) Program paralel memecah data yang besar dandiproses oleh rank-rank yang dipakai sehinggainstruksi dapat dijalankan bersamaan (simultan).

5) Tidak semua bagian dari aplikasi standalonedapat diparalelkan. Sebagai contoh studi ka-sus yang memerlukan batch processing untuksuatu penyelesaian iterasi, peluang menjadikanprogram standalone tersebut ke pemrogramanparalel adalah kecil.

B. Saran

1) Penggunaan Live CD (BCCD) bersifat portable,tidak direkomendasikan untuk penggunaanjangka panjang di Laboratorium komputasi.Sehingga untuk system yang lebih terpadu,disarankan melakukan instalasi.

2) Diperlukan studi mendalam untuk kasus-kasuslain dan pengimplementasiannya dalam paralel,sehingga dapat membantu mahasiswa dan paraakademis dalam mencapai hasil penelitian.

3) Sistem ini terbuka untuk diimplementasikanpada sistem yang memerlukan komputasi yangbesar seperti pada sub-space analisis dan sistemcerdas.

UCAPAN TERIMA KASIH

Terimakasih yang sebesar-besarnya kami ucapkankepada Lab. KomputasiFakultas Teknik UniversitasMataram atas bantuan peralatan untuk menyelesaikanpenelitian ini. Terimakasih juga kami sampaikan kepadaDikti Kementrian REISTEK atas pembiayaan penelitian

Page 6: Studi Komputasi Paralel dan Implementasinya pada Kasus ...jcosine.if.unram.ac.id/public/journals/1/jCossin2016_PaperExp.pdf · study is an easy and inexpensive alternative of paralel

ini, dibawah skim hibah bersaing dengan nomer kontrak97/12/2010.

REFERENCES

[1] M. Susmikanti and W. Dewayatna, “Komputasi paralel eigen-value dalam penyelesaian difusi multigroup menggunakan metodahouseholder deflasi dan divide conquer,” in Lokakarya Komputasidalam Sains dan Teknologi Nuklir, Oktober 2012, pp. 341–352.

[2] H. Suhartanto, “Kajian perangkat bantu komputasi parallel padajaringan pc,” Makara, Teknologi, vol. 10, no. 2, pp. 72–81, 2006.

[3] S. Pahlevi, “Komputasi grid dan paralel,” in Lokakarya Komputasidalam Sains dan Teknologi Nuklir, Agustus 2008, pp. 15–24.

[4] W. Jiang, “High performance mpich2 one-sided communicationimplementation over infiniband,” Master’s thesis, The Ohio StateUniversity, 2004.

[5] K. Agus, Pemrograman Parallel dengan MPI dan C. ANDIYogyakarta, 2010.

[6] K. G. Em, I. I. Kirby, and M. Robert, Parallel Scientific Com-puting in C++ and MPI. Cambridge University Press, 2003.

[7] Jeroen, Parallel implementation of the power method algorithm.University of Antwerp, 2013.

[8] M. Quinn, Designing Efficient Algorithms for Parallel Computers.Singapore: Mc Graw Hill, International Editions, 1987.

[9] M. J. Quinn, Parallel Computing (2Nd Ed.): Theory and Practice.New York, NY, USA: McGraw-Hill, Inc., 1994.

[10] S. Dedy, Uji Kinerja Octave dengan MPITB Menggunakan Pus-taka LAM/MPI dan OpenMPI. Yogyakarta: Universitas GadjahMada, 2010.