Perbandingan Skema Partisi Data Algoritme Pairwise Alignment Paralel pada Sistem Shared Memory.
View/ Open
Date
2015Author
Akbar, Auriza Rahmad
Sukoco, Heru
Kusuma, Wisnu Ananta
Metadata
Show full item recordAbstract
Algoritme pairwise alignment (PA) dipakai dalam bioinformatika untuk menjajarkan sepasang sekuens DNA atau protein. PA merupakan penyusun dasar algoritme multiple sequence alignment (MSA) yang digunakan untuk menjajarkan lebih dari dua sekuens sekaligus untuk menemukan homologi antar-sekuens. Selain itu, PA dipakai dalam perakitan sekuens untuk menggabungkan hasil pembacaan dari sequencer yang pendek-pendek menjadi satu gen utuh. Di samping itu, PA juga dipakai untuk pencarian sekuens pada database, untuk menemukan sekuens-sekuens yang paling mirip dengan sekuens yang dicari. Teknologi next-generation DNA sequencer terkini mampu menghasilkan data sekuens yang banyak, hingga ratusan milyar pasang basa (bp) dalam sekali jalan. Data yang besar memerlukan pemrosesan yang cepat, sehingga algoritme penjajaran perlu diparalelkan untuk mempercepat proses analisis. Beberapa penelitian sebelumnya telah memparalelkan algoritme PA dengan berbagai skema partisi data, akan tetapi belum diketahui skema yang memberikan kinerja terbaik. Skema partisi data sangat mempengaruhi kinerja PA paralel, karena algoritme ini memakai teknik pemrograman dinamis yang membutuhkan banyak sinkronisasi. Tujuan penelitian ini adalah menerapkan algoritme PA paralel dengan berbagai skema partisi data yang berbeda pada sistem shared-memory dan menguji serta memperbaiki masing-masing skema untuk mendapatkan skema yang memberikan kinerja terbaik. Skema tersebut antara lain blocked columnwise, rowwise, antidiagonal, dan blocked columnwise dengan penjadwalan manual dan loop unrolling. Pengujian kinerja dilakukan pada prosesor quad-core memakai data uji sekuens DNA dengan panjang 1000 hingga 16 000 bp. Skema antidiagonal menghasilkan kinerja terburuk dengan efisiensi 36% karena waktu sinkronisasinya dua kali lipat lebih tinggi dan pola akses memori yang non-linier. Skema rowwise menghasilkan efisiensi 80%, sedangkan skema blocked columnwise menghasilkan efisiensi 75%. Kedua skema ini memiliki waktu sinkronisasi yang hampir sama. Seharusnya skema blocked columnwise bisa lebih baik, namun karena keterbatasan pustaka OpenMP kinerja skema ini lebih buruk dari rowwise. Skema blocked columnwise diperbaiki dengan menggunakan penjadwalan manual dan loop unrolling. Penjadwalan manual mengatasi batasan pustaka OpenMP, sehingga skema ini menjadi lebih efisien. Teknik loop unrolling mengurangi waktu sinkronisasi menjadi setengahnya. Hasilnya, skema ini memberikan kinerja terbaik dengan efisiensi 89%. Hasil ini memberikan algoritme PA berkinerja tinggi dengan fine-grain parallelism yang dapat digunakan lebih lanjut untuk mengembangkan multiple sequence alignment (MSA) paralel.