• Tidak ada hasil yang ditemukan

Implementasi Hybrid Parallelization pada Algoritme Global Pairwise Alignment.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Hybrid Parallelization pada Algoritme Global Pairwise Alignment."

Copied!
28
0
0

Teks penuh

(1)

IMPLEMENTASI

HYBRID PARALLELIZATION

PADA

ALGORITME

GLOBAL PAIRWISE ALIGNMENT

ERWANSYAH ADRIANTAMA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(2)
(3)

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Implementasi Hybrid Parallelization pada Algoritme Global Pairwise Alignment adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

Bogor, September 2015

Erwansyah Adriantama

(4)

ABSTRAK

ERWANSYAH ADRIANTAMA. Implementasi Hybrid Parallelization pada Algoritme Global Pairwise Alignment. Dibimbing oleh WISNU ANANTA KUSUMA.

Algoritme pairwise alignment (PA) merupakan salah satu metode yang umum digunakan dalam penjajaran sekuens. PA terbagi menjadi 2 jenis yaitu

global pairwise alignment (GPA) dan local pairwise alignment. Perkembangan teknologi yang semakin pesat menyebabkan ukuran data sekuens bertambah besar sehingga pemrosesan data tersebut akan memakan waktu yang sangat lama apabila hanya dikerjakan dalam satu prosesor. Oleh karena itu, suatu metode pemrosesan paralel dibutuhkan untuk mempersingkat waktu komputasi. Penelitian ini bertujuan mempercepat algoritme GPA menggunakan skema partisi data

blocked columnwise dengan menggunakan metode hybrid parallelization. Hybrid parallelization dilakukan dengan menggabungkan metode sistem memori terdistribusi dengan sistem memori bersama. Hasil penelitian menunjukkan nilai

speedup pada percobaan menggunakan 2, 3, dan 4 komputer masing-masing adalah 5.3, 6.9, dan 7.77 pada ukuran data 16000 pasang basa dan nilai efisiensi berturut-turut adalah 66%, 58%, dan 49%. Kinerja terbaik dicapai menggunakan 4 komputer, sedangkan skalabilitas memori terbaik diperoleh menggunakan 2 komputer.

Kata kunci: hybrid parallelization, memori bersama, memori terdistribusi, pairwise alignment, pemrosesan paralel

ABSTRACT

ERWANSYAH ADRIANTAMA. Implementation of Hybrid Parallelization on Global Pairwise Alignment Algorithm. Supervised by WISNU ANANTA KUSUMA.

Pairwise alignment (PA) algorithms is a method frequently used in sequence alignment. PA is divided into two kinds, i.e., global pairwise alignment (GPA) and local pairwise alignment. Rapid technology development produces huge sequence data. It will be time consuming if it is done by single processor. Therefore, it is necessary to use a parallel processing method to shorten the computation time. This research aims to accelerate GPA algorithm using blocked columnwise data partition scheme using hybrid parallelization. Hybrid parallelization is formed by combining distributed memory parallelization with shared memory parallelization. The results of this research showed the values of speedup using 2, 3, and 4 computers were 5.3, 6.9, and 7.77 respectively at the size of 16 000 base pair long sequence data, and the efficiency values were 66%, 58%, dan 49%, respectively. The best performance is obtained by using 4 computers, meanwhile the best memory scalability is obtained by using 2 computers.

(5)
(6)

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada

Departemen Ilmu Komputer

IMPLEMENTASI

HYBRID PARALLELIZATION

PADA

ALGORITME

GLOBAL PAIRWISE ALIGNMENT

ERWANSYAH ADRIANTAMA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(7)

Penguji:

(8)

Judul Skripsi : Implementasi Hybrid Parallelization pada Algoritme Global Pairwise Alignment

Nama : Erwansyah Adriantama NIM : G64110069

Disetujui oleh

DrEng Wisnu Ananta Kusuma, ST MT Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi MKom Ketua Departemen

(9)

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Agustus 2014 ini ialah bioinformatika, dengan judul Implementasi Hybrid Parallelization pada Algoritme Global Pairwise Alignment.

Terima kasih penulis ucapkan kepada:

1 Ayah dan ibu, Yuswan Farmanta dan Erny Emalia, yang telah memberikan doa, dukungan, dan kasih sayang kepada penulis.

2 Bapak Wisnu Ananta Kusuma selaku pembimbing yang telah memberi banyak arahan kepada penulis.

3 Ibu Karlina Khiyarin Nisa dan Ibu Husnul Khotimah selaku penguji yang telah memberikan banyak masukan.

4 Bapak Auriza Akbar yang banyak memberikan saran dalam pembuatan algoritme.

5 Teman–teman Ilmu Komputer 48 yang telah mendukung saya dalam penyelesaian tugas akhir ini.

Semoga karya ilmiah ini bermanfaat.

Bogor, September 2015

(10)

DAFTAR ISI

DAFTAR TABEL vi

PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 2

Tujuan Penelitian 2

Manfaat Penelitian 2

Ruang Lingkup Penelitian 2

METODE 2

Tahapan Penelitian 2

Lingkungan Pengembangan 5

HASIL DAN PEMBAHASAN 5

Implementasi Algoritme Hybrid Parallelization 5

Verifikasi Kebenaran Algoritme 8

Evaluasi Kinerja 9

SIMPULAN DAN SARAN 12

Simpulan 12

Saran 12

DAFTAR PUSTAKA 12

(11)

DAFTAR GAMBAR

1 Tahapan penelitian 3

2 Skema hybrid parallelization pada partisi blocked columnwise 4

3 Pseudocode program GPA sekuensial (Akbar et al. 2015) 6

4 Pseudocode algoritme GPA dengan metode hybrid parallelization 6

5 Matriks inisialisasi menggunakan 4 komputer 7

6 Ilustrasi perhitungan matriks pada baris 1 kolom 1 7

7 Matriks perhitungan algoritme GPA 8

8 Ilustrasi komunikasi data antar komputer 8

9 Perbandingan waktu eksekusi 9

10 Perbandingan speedup 10

11 Perbandingan efisensi 10

(12)
(13)

PENDAHULUAN

Latar Belakang

Penjajaran sekuens adalah cara untuk mengurutkan sekuens dari DNA, RNA atau protein untuk mengidentifikasi kemiripan pada tiap sekuensnya. Ada beberapa metode yang terdapat dalam penjajaran sekuens, salah satunya pairwise alignment. Algoritme pairwise alignment (PA) merupakan algoritme yang hanya dapat menjajarkan dua buah sekuens. Algoritme ini sangat efisien dalam perhitungan dan sering dipakai untuk metode yang tidak memerlukan presisi yang tinggi. PA menggunakan teknik pemrograman dinamis untuk memperoleh hasil penjajaran optimal dengan kompleksitas O(n2), dengan n merupakan panjang sekuens, dengan asumsi kedua panjang sekuens sama (Akbar et al. 2015). Algoritme PA sendiri terbagi menjadi dua jenis, yaitu global pairwise alignment

(GPA) (Needleman dan Wunsch 1970) dan local pairwise alignment (Smith dan Waterman 1981). Perbedaan dari kedua algoritme ini adalah pemberian nilai negatif, apabila terdapat nilai negatif pada local pairwise alignment, nilai tersebut akan diubah menjadi nol.

Perkembangan teknologi DNA sequencer yang semakin pesat, menyebabkan data yang akan diproses semakin besar. Salah satu solusi untuk mengatasi pertumbuhan data yang semakin besar adalah dengan mempercepat waktu komputasi dengan komputasi paralel. Komputasi paralel adalah metode mempercepat suatu proses dengan menggunakan banyak pemroses.

Paralelisasi PA telah beberapa kali dilakukan, seperti CudaSW (Liu et al.

2013), ParAlign (Rognes 2001) dan paralelisasi menggunakan memori bersama dengan beberapa skema partisi oleh Akbar et al. (2015). Penelitian Akbar et al.

(2015) menggunakan empat skema partisi untuk dibandingkan yaitu, row-wise, antidiagonal, blocked-columnwise, dan blocked-columnwise loop unrolling

dengan penjadwalan manual. Hasil dari penelitian tersebut membuktikan bahwa skema blocked-columnwise loop unrolling dengan penjadwalan manual merupakan skema yang memiliki efisiensi tertinggi.

Paralelisasi dengan sistem memori terdistribusi menggunakan pustaka

message passing interface (MPI) sangat memungkinkan menggunakan skema

(14)

2

Perumusan Masalah

Berdasarkan dari latar belakang dapat dirumuskan masalah dalam penelitian ini adalah bagaimana cara memparalelkan algoritme GPA dengan menggunakan metode hybrid parallelization dan apakah hasil paralel tersebut akan lebih efisien daripada hasil paralel dengan menggunakan sistem memori bersama.

Tujuan Penelitian

Tujuan dari penelitian ini adalah melakukan akselerasi pada algoritme GPA dengan menggunakan hybrid parallelization antara memori terdistribusi dan memori bersama serta menghitung speedup dan efisiensi dari algoritme GPA yang diakselerasi.

Manfaat Penelitian

Penelitian ini diharapkan dapat menghasilkan algoritme paralel dengan kinerja yang tinggi sehingga dapat mengurangi waktu komputasi penjajaran sekuens menggunakan algoritme GPA secara signifikan.

Ruang Lingkup Penelitian

Penelitian ini menitikberatkan pada paralelisasi algoritme GPA dengan skema blocked column-wise menggunakan sistem memori terdistribusi dan skema

row-wise menggunakan sistem memori bersama yang dikembangkan oleh Akbar

et al. (2015). Paralelisasi dilakukan dengan menggunakan standar OpenMP pada sistem memori bersama dan message passing interface (MPI) pada sistem memori terdistribusi. Data yang digunakan dibangkitkan secara acak dengan jumlah 1000, 2000, 4000, 8000, dan 16 000 pasang basa.

METODE

Tahapan Penelitian

Penelitian ini dibagi menjadi tiga tahapan utama, yaitu implementasi algoritme, verifikasi kebenaran algoritme, dan evaluasi kinerja. Pada implementasi algoritme dilakukan penerapan skema hybrid parallelization

(15)

3

Algoritme hybrid parallelization diimplementasikan pada 3 percobaan, yaitu paralelisasi dengan menggunakan 2, 3, dan 4 komputer. Masing-masing percobaan tersebut akan dihitung waktu eksekusi, speedup, dan besar efisensi.

Implementasi algoritme hybrid parallelization

Global pairwise alignment merupakan algoritme yang digunakan untuk mengukur kemiripan 2 rangkaian DNA. Algoritme ini menerapkan prinsip

dynamic programming dengan kompleksitas n2. Perhitungan skor pada setiap sel matriks GPA dilihat dari skor tertinggi dari 3 kemungkinan arah penjajaran yaitu atas, kiri dan diagonal. Skor atas dan kiri dihitung dengan mengurangi skor GAP

dan skor pada sel tersebut. Skor diagonal dihitung dengan melihat similarity pada kedua residu DNA yang disejajarkan. Apabila kedua residu sama, maka skor ditambahkan dengan skor MATCH, sedangkan apabila tidak sama, maka skor ditambahkan dengan skor MISMATCH.

Implementasi paralel dilakukan dengan menggabungkan dua metode yaitu, memori terdistribusi dan memori bersama. Standar pada sistem memori terdistribusi menggunakan MPI dengan memakai pustaka MPICH2, sedangkan pada sistem memori bersama menggunakan OpenMP. Skema yang digunakan adalah skema blocked columnwise yang dikembangkan oleh Akbar et al. (2015). Meskipun efisiensi dan speedup terbaik diperoleh dari skema blocked columnwise

dengan loop unrolling, implementasi skema tersebut sulit diimplementasikan. Desain paralelisasi menggunakan Foster’s design methodology yang terdiri dari empat tahapan yaitu partitioning, communication, agglomeration, dan mapping

(Quinn 2003). Berikut penjelasan masing-masing tahapan Foster’s design methodology pada algoritme paralel ini.

1 Partitioning

Pada tahapan ini, dilakukan pembagian data dan komputasi menjadi bentuk yang lebih sederhana atau dapat disebut sebagai task. Jumlah kolom matriks GPA pada tahap ini akan dibagi sesuai dengan banyaknya komputer yang digunakan, sedangkan jumlah baris akan dibagi berdasarkan jumlah

thread yang ada pada tiap komputer yang digunakan. Sehingga tiap komputer tidak harus mengerjakan semua kolom.

2 Communication

Penentuan komunikasi antar task dilakukan pada tahap ini. Komunikasi antar komputer pemroses data dilakukan dengan menggunakan MPI_Send dan MPI_Recv. Komunikasi melibatkan thread yang mengerjakan baris i pada prosesor k dengan thread yang mengerjakan baris i pada prosesor sebelumnya (k-1) dan prosesor sesudahnya (k+1). Tiap-tiap prosesor akan mengirimkan data pada kolom terakhirnya ke kolom pertama prosesor sesudahnya.

Gambar 1 Tahapan penelitian

Implementasi algoritme hybrid

parallelization

Verifikasi kebenaran

(16)

4

3 Agglomeration

Tahapan ini dilakukan penggabungan task untuk mengatur beban kerja pada tiap pemroses data. Tiap komputer pada skema ini akan mendapatkan jumlah data sebanyak m×n/p dengan m dan n adalah panjang dua sekuens yang digunakan dan p adalah banyak komputer pemroses data yang digunakan.

4 Mapping

Tahapan ini dilakukan penyerahan task pada tiap-tiap komputer. Komputer ke-k akan menerima data dengan panjang kolom (k×n/p)+1 sampai kolom (k+1)×n/p dengan baris sebanyak m, dengan m dan n adalah panjang data sekuens pertama dan kedua serta p adalah jumlah komputer. Data tersebut akan diolah per baris oleh masing-masing thread yang terdapat dalam masing-masing komputer secara rowwise. Gambar 2 menunjukan skema partisi yang akan digunakan pada 3 komputer dan 4 thread.

Verifikasi kebenaran algoritme

Verifikasi kebenaran algoritme dilakukan dengan membandingkan data hasil algoritme GPA yang sudah diparalelkan dengan metode hybrid dengan hasil algoritme sekuensial dari penelitian Akbar et al. (2015) sebagai pembanding hasil yang valid. Verifikasi dilakukan dengan menggunakan data berjumlah 1000, 2000, 4000, 8000, dan 16000 pasang basa.

Evaluasi kinerja

Evaluasi kinerja dilakukan dengan membandingkan waktu eksekusi,

speedup dan efisiensi dengan jumlah komputer yang beragam dan dengan hasil komputasi algoritme sekuensialnya. Waktu eksekusi diambil dari rata-rata waktu eksekusi program dengan sepuluh kali pengulangan. Perhitungan nilai speedup

dan efisiensi masing-masing dilakukan menggunakan Persamaan 1 dan 2 (Grama

et al. 2003).

S= TpTs

Gambar 2 Skema hybrid parallelization pada partisi blocked columnwise Komputer 1 Komputer 2 Komputer 3

Th

rea

d

(17)

5

E= S P

Nilai speedup (S) didapatkan dari hasil bagi antara waktu eksekusi sekuensial (Ts) dengan waktu eksekusi paralel (Tp). Efisiensi (E) didapat dengan membagi speedup (S) dengan jumlah prosesor (P). Dalam penelitian ini jumlah prosesor adalah jumlah keseluruhan thread yang dipakai dalam setiap percobaan.

Speedup terbesar akan dibandingkan dengan program algoritme GPA sistem memori bersama dengan menggunakan blocked-columnwise dengan penjadwalan manual dan loop unrolling hasil penelitian Akbar et al. (2015) pada lingkungan dan data yang sama.

Efisiensi pada penelitian ini menggunakan jumlah thread sebagai pembagi karena data yang diproses secara paralel dilakukan dengan memaksimalkan tiap thread pada setiap core komputer. Alasan menggunakan jumlah thread sebagai pembagi adalah karena hybrid parallelization menggunakan library OpenMP yang memparalelkan data antar-thread.

Lingkungan Pengembangan

Spesifikasi perangkat keras yang digunakan pada penelitian ini adalah empat buah komputer dengan CPU Intel Core i5-3470 3.30 GHz dengan 4 core

CPU dengan masing-masing core memiliki 1 thread dan memiliki RAM 4 GB, serta OS Ubuntu 13.10 “Saucy Salamander”. Perangkat lunak yang digunakan adalah Sublime text 2.0.2, GCC compiler dengan OpenMP, dan library MPICH2

HASIL DAN PEMBAHASAN

Pembahasan dimulai dengan penjelasan bagaimana implementasi dari algoritme hybrid parallelization, kemudian dilanjutkan dengan verifikasi kebenaran algoritme dan diakhiri dengan membandingkan nilai efisiensi dan

speedup. Berikut adalah hasil dan pembahasan dari penelitian ini.

Implementasi Algoritme Hybrid Parallelization

Algoritme sekuensial yang dipakai dalam penelitian ini merupakan algoritme GPA sekuensial dari hasil penelitian Akbar et al. (2015). Gambar 3 merupakan pseudocode dari algoritme sekuensial. Mengacu pada Gambar 3,

pseudocode yang memiliki bagian looping akan diparalelkan. Implementasi

hybrid parallelization dimulai dengan mengaktifkan fungsi thread pada pustaka MPI menggunakan MPI_Init_thread dengan value MPI_MULTIPLE agar semua

thread dapat melakukan komunikasi antar prosesor. Berikutnya kolom matriks GPA dibagi menjadi blok-blok berdasarkan jumlah komputer pemroses yg tersedia. Pembagian blok kolom untuk pengerjaan dengan memori terdistribusi dilakukan secara manual.

(18)

6

Penentuan kolom pertama (jfirst) dilakukan dengan rumus (rank×n/p)+ 1 dan penentuan kolom terakhir (jlast) dilakukan dengan rumus (rank+1)×n/p

dengan rank adalah tag tiap komputer pemroses data, n adalah panjang sekuens DNA kedua dan p adalah jumlah keseluruhan komputer pemroses data. Ketika data sudah diterima pada setiap komputer, data tersebut akan dikerjakan secara paralel antar-thread dengan sistem memori bersama secara row-wise. Apabila data tersebut sudah mencapai jlast, data akan dikirim oleh thread ke prosesor

If not first processor

MPI_Recv(Scorei,jfirst-1 , source processor, source thread) // receive data

EndIf

diag =Scorei-1,j-1+SIMILARITY(Xi, Yj)

up =Scorei-1,j+ GAP

left = Scorei, j-1+ GAP

EndFor

If not last processor

MPI_Send(Scorei,jlast, destination processor, destination thread) EndIf

EndFor

$OMP Parallel End Return Score

Gambar 4 Pseudocode algoritme GPA dengan metode hybrid parallelization diag = Scorei-1,j-1 + SIMILARITY (Xi,Yj)

diag =Score i-1,j-1+SIMILARITY(Xi, Yj)

up =Scorei-1,j+ GAP

left = Scorei, j-1+ GAP

+

Return Score

Gambar 3 Pseudocode program GPA sekuensial (Akbar et al. 2015)

(19)

7

Algoritme pada Gambar 4 memiliki beberapa subproses, yaitu inisialisasi matriks, perhitungan skor, dan komunikasi antar komputer pemroses.

1 Inisialisasi matriks

Proses ini akan membentuk matriks kosong sebagai matriks inisiliasi sesuai dengan jumlah thread dan komputer yang akan digunakan dalam paralelisasi. Kolom matriks (i) akan dibagi sesuai dengan jumlah komputer yang dipakai dan baris matriks (j) akan dibagi secara merata sebanyak jumlah

thread pada setiap komputer. Gambar 5 mengilustrasikan inisialisasi matriks dengan menggunakan 4 komputer dengan masing-masing komputer memiliki 4

thread.

2 Perhitungan skor pada matriks

Perhitungan skor dimulai dengan mengisi skor awal pada baris dan kolom GAP di matriks. Untuk setiap sel berikutnya skor akan dihitung dengan menggunakan Persamaan 3.

Score i,j= MAX{

diag =Scorei-1,j-1+SIMILARITY(Xi, Yj)

up =Scorei-1,j+ GAP

left = Scorei, j-1+ GAP

Nilai SIMILARITY ditentukan dengan melihat kecocokan dari potongan sekuens DNA yang akan disejajarkan. Jika kedua potongan tersebut sama, maka nilai SIMILARITY akan diisi dengan menggunakan nilai MATCH, jika berbeda, maka nilai diisi dengan menggunakan nilai MISMATCH. Nilai

MATCH, MISMATCH, dan GAP masing-masing adalah 1, -1, dan -3. Gambar 6 dan Gambar 7 memperlihat proses perhitungan skor pada matriks GPA.

Komputer 1 Komputer 2 Komputer 3 Komputer 4

GAP G G C T T T G C

Gambar 5 Matriks inisialisasi menggunakan 4 komputer

(3)

Gambar 6 Ilustrasi perhitungan matriks pada baris 1 kolom 1

diag = Scorei-1,j-1 + SIMILARITY (Xi,Yj)

(20)

8

3 Komunikasi data antar komputer

Data pada kolom pertama satu komputer menerima data dari kolom terakhir komputer sebelumnya. Hal tersebut diketahui sebagai komunikasi antar komputer. Gambar 8 merupakan ilustrasi dari komunikasi yang terjadi pada dua komputer.

Verifikasi Kebenaran Algoritme

Implementasi algoritme GPA yang digunakan telah diuji konsistensinya dengan membandingkan hasil dengan algoritme GPA sekuensial yang dipakai pada penelitian Akbar et al. (2015). Pengujian dilakukan dengan data yang memiliki ukuran yang berbeda, yaitu dengan panjang 1000, 2000, 4000, 8000, dan 16 000 pasang basa. Seperti yang terlihat pada Tabel 1, semua keluaran algoritme

hybrid parallelization yang dihasilkan serupa dengan algoritme sekuensial. Dapat disimpulkan bahwa implementasi algoritme hybrid parallelization 100% sesuai dengan algoritme sekuensial.

Komputer 1 Komputer 2 Komputer 3 Komputer 4

GAP G G A T T T G C

Gambar 7 Matriks perhitungan algoritme GPA

Tabel 1 Perbandingan hasil algoritme Data (bp) Skor algoritme

hybrid

(21)

9

Evaluasi Kinerja

Analisis waktu eksekusi rata-rata

Analisis waktu eksekusi dilakukan dengan mengambil waktu rata-rata pada 10 kali pengujian pada jumlah penggunaan komputer yang berbeda. Perhitungan waktu eksekusi menggunakan fungsi MPI_Wtime. Gambar 9 menunjukkan bahwa algoritme hybrid parallelization yang diterapkan pada 3 percobaan menunjukan pengurangan waktu eksekusi yang signifikan dibanding algoritme sekuensial pada ukuran data lebih dari 4000 pasang basa.

Pengujian pada data berjumlah 1000 pasang basa belum menunjukan perbedaan waktu eksekusi yang signifikan. Hal tersebut ditunjukan oleh selisih waktu eksekusi antara algoritme sekuensial dengan 3 percobaan paralelisasi yang bernilai di bawah 0.1 detik. Selisih waktu eksekusi mulai mengalami peningkatan pada jumlah data 4000 pasang basa. Selisih waktu eksekusi terbesar diperoleh

Analisis speedup dilakukan dengan membandingkan jumlah pemakaian komputer pada proses paralel. Seperti yang terlihat pada Gambar 10, speedup

tertinggi dicapai dengan menggunakan 4 komputer dengan nilai 7.77 pada 16 000 pasang basa, sedangkan pada ukuran data yang sama, yang terendah dicapai menggunakan 2 komputer dengan nilai 5.30. Hal ini disebabkan beban masing-masing komputer yang besar sehingga menghasilkan speedup yang kecil. Percobaan menggunakan 4 komputer menunjukan peningkatan speedup yang signifikan pada jumlah data 4000 pasang basa sampai 8000 pasang basa yang disebabkan oleh waktu komunikasi yang lebih besar dibanding waktu eksekusi pada data dibawah 4000 pasang basa. Lampiran 1 menampilkan perbandingan

speedup tiap percobaan.

Gambar 9 Perbandingan waktu eksekusi

0.0

Sekuensial 2 Komputer 3 Komputer 4 Komputer

W

(22)

10

Analisis efisiensi

Perhitungan efisiensi dilakukan dengan membagi speedup dengan jumlah

thread yang dipakai oleh keseluruhan komputer yang digunakan dalam percobaan. Gambar 11 menunjukan bahwa efisiensi dengan menggunakan 2 komputer merupakan efisiensi tertinggi dengan nilai 66% dan 4 komputer merupakan yang terendah dengan nilai 49% pada ukuran data 16 000 pasang basa. Efisiensi pada 4 komputer yang kecil menunjukkan speedup yang dicapai tidak sebanding dengan pemakaian memori. Lampiran 1 menunjukan nilai perbandingan pada keseluruhan percobaan

Perbandingan dengan penelitian sebelumnya

Penelitian serupa dilakukan oleh Akbar et al. (2015) yaitu memparalelisasi algoritme GPA menggunakan sistem memori terdistribusi. Dari beberapa skema yang digunakan, skema blocked-columnwise dengan penjadwalan manual dan

loop unrolling memberikan hasil paling optimal. Berikutnya akan dilakukan perbandingan antara speedup dan efisiensi dari algoritme hybrid parallelization

yang menggunakan 4 komputer dengan algoritme GPA menggunakan skema

blocked-columnwise dengan penjadwalan manual dan loop unrolling. Perbandingan speedup dan efisiensi dilakukan pada penggunaan 4 komputer

Gambar 11 Perbandingan efisensi

0%

2 komputer 3 komputer 4 komputer

Ef

isien

si

Ukuran data (bp)

Gambar 10 Perbandingan speedup

0

2 komputer 3 komputer 4 komputer

2 Komputer 3 Komputer 4 Komputer

S

(23)

11 karena percobaan menggunakan 4 komputer mengalami penurunan waktu eksekusi yang terbesar dibanding algoritme GPA sekuensial.

Gambar 12 memperlihatkan peningkatan speedup yang signifikan dari penelitian ini yang bernilai 7.77 jika dibandingkan dengan penelitian sebelumnya yang bernilai 3.59 pada ukuran data 16 000 pasang basa. Hal ini menunjukkan bahwa kinerja pada program hasil penelitian ini cukup baik. Pada data 1000 sampai 4000 pasang basa, speedup program dengan implementasi hybrid justru lebih kecil dibandingkan implementasi paralel sistem memori bersama. Percobaan yang sudah dilakukan menunjukan bahwa penyebab hal ini adalah communication overhead yang lebih besar dari waktu komputasi pada masing-masing komputer.

Gambar 13 menunjukkan bahwa efisiensi pada penelitian ini yang bernilai 49% lebih rendah jika dibandingkan dengan penelitian sebelumnya yang bernilai 89.7%. Oleh karena itu, dapat disimpulkan bahwa skalabilitas pemakaian thread

tidak cukup baik.

Gambar 13 Perbandingan efisiensi dengan penelitian sebelumnya

0%

Penelitian ini Penelitian Akbar et al. (2015)

Gambar 12 Perbandingan speedup dengan penelitian sebelumnya

0

Penelitian iniPenelitian ini Penelitian Akbar et al. (2015)Penelitian Akbar et al. (2015)

(24)

12

SIMPULAN DAN SARAN

Simpulan

Penelitian ini berhasil menerapkan hybrid parallelization antara sistem memori bersama dan sistem memori terdistribusi dengan skema blocked-columnwise. Speedup yang dihasilkan pada penelitian ini pada percobaan 2, 3, dan 4 komputer masing-masing adalah 5.3, 6.9, dan 7.77 pada ukuran data 16 000 pasang basa. Nilai speedup terbaik dari ketiga percobaan dua kali lipat lebih besar dari nilai speedup terbaik dari penelitian Akbar et al. (2015) yang sebesar 3.59. Hasil efisiensi setiap percobaan tergolong kecil yaitu 66%, 58%, dan 49%. Nilai efisiensi pada percobaan yang memiliki speedup terbaik justru jauh lebih rendah dari efisiensi terbaik dari penelitan Akbar et al. (2015) yang sebesar 89.7% pada ukuran data 16 000 pasang basa. Penyebab hal ini adalah ongkos komunikasi antar komputerterlalu besar, sehingga menyebabkan penurunan efisiensi.

Saran

Saran untuk penelitian selanjutnya untuk mengembangkan algoritme ini dengan menggunakan hybrid paralelization menggunakan sistem memori terdistribusi dengan GPU, menambahkan gap extension pada data dan penggunaan data yang lebih besar. Diharapkan hal tersebut dapat meningkatkan hasil speedup dan efisensi pemrosesan paralel. Perbaikan pada skema pembagian data juga dapat mengatasi masalah komunikasi antar komputer.

DAFTAR PUSTAKA

Akbar AR, Sukoco H, Kusuma WA. 2015. Comparison of data partitioning schema of parallel pairwise alignment on shared memory system.

TELKOMNIKA. 13(2):694. doi: 10.12928/telkomnika.v13i2.1415.

Grama A, Gupta A, Karypis G, Kumar V. 2003. Introduction to Parallel Computing. Ed ke-2. Edinburgh (GB): Benjamin/Cummings.

Liu Y, Wirawan A, Schmidt B. 2013. CUDASW++ 3.0: accelerating Smith-Waterman protein database search by coupling CPU and GPU SIMD instructions. BMC Bioinformatics. 14(1):117.

Needleman SB, Wunsch CD. 1970. A general method applicable to the search for similarities in the amino acid sequence of two protein. Journal of Molecular Biology. 48(3):443-453. doi:10.1016/0022-2836(70)90057-4.

Quinn MJ. 2003. Parallel Programming in C with MPI and OpenMP. New York (US): McGraw-Hill.

Rognes T. 2001. ParAlign: a parallel sequence alignment algorithm for rapid and sensitive database searches. Nucleic Acids Research. 29(7):1647–1652.

(25)

13 Lampiran 1 Hasil eksekusi program penelitian

Data 1000 bp Waktu eksekusi (detik) Pengulangan Sekuensial 2

komputer

Data 2000 bp Waktu eksekusi (detik)

(26)

14

Data 4000 bp Waktu eksekusi (detik) Pengulangan Sekuensial 2

komputer

Data 8000 bp Waktu eksekusi (detik) Pengulangan Sekuensial 2

(27)

15

Data 16000 bp Waktu eksekusi (detik) Pengulangan Sekuensial 2

komputer

3 komputer

4 komputer

1 2.246 0.418 0.329 0.275

2 2.246 0.417 0.327 0.274

3 2.246 0.424 0.325 0.273

4 2.246 0.423 0.338 0.270

5 2.246 0.420 0.331 0.271

6 2.246 0.425 0.330 0.276

7 2.246 0.425 0.332 0.284

8 2.246 0.429 0.330 0.272

9 2.246 0.428 0.335 0.271

10 2.246 0.424 0.271 0.424

Waktu rata-rata 2.246 0.423 0.325 0.289

Speedup 5.305 6.917 7.773

Efisiensi 66% 58% 49%

(28)

16

RIWAYAT HIDUP

Gambar

Gambar 3  Pseudocode program GPA sekuensial (Akbar et al. 2015)
Tabel 1 Perbandingan hasil algoritme
Gambar 9  Perbandingan waktu eksekusi
Gambar 10  Perbandingan speedup
+2

Referensi

Dokumen terkait

(2) Apabila kewajiban membayar pajak terutang dalam SKPDKB sebagaimana dimaksud dalam Pasal 13 ayat (3) huruf c tidak atau tidak sepenuhnya dibayar dalam

HASIL PENELITIAN DAN PEMBAHASAN Pengaruh lama penyimpanan daging sapi beku terhadap sifat fisik daging yang terdiri atas pH, daya mengikat air, susut masak dan

Penelitian yang dilakukan oleh Wood et.al, (1997) menunjukkan bahwa suplemen tinggi kalsium pada makanan yang diberikan kepada responden signifikan menghambat 50%

dengan total responden sebanyak 30 outlet pada bulan Januari 2008, peneliti mendapatkan informasi bahwa retailer atau peritel dalam pemilihan merchandise atau barang

LAN mengirimkan data ke Router, kemudian Router akan menganalisa berdasarkan informasi alamat pada layer 3. Kemudian Router akan meneruskan data tersebut ke interface

Dalam setiap penelitian, instrumen sangat memegang peranan. Untuk memperoleh data dalam penelitian digunakan dua macam instrumen yaitu 1).. Bentuk tes, yang terdiri

Penelitian ini bertujuan untuk (a) menghasilkan perangkat pembelajaran pada model pembelajaran kooperatif tipe STAD dengan penilaian portofolio yang baik untuk

Penentuan subjek melalui Teknik purposive sampling purposif, mencakup orang-orang yang diseleksi atas dasar kriteria tertentu yang dibuat peneliti berdasarkan tujuan