Solving the maximum subsequence sum and related problems using BSP/CGM model and multi-GPU CUDA
Autor: | Anderson Corrêa de Lima, Edson Norberto Cáceres, Wellington Santos Martins, Rodrigo G. Branco, Siang Wun Song, Roussian R. A. Gaioso, Samuel Ferraz |
---|---|
Rok vydání: | 2016 |
Předmět: |
General Computer Science
Computer science ALGORITMOS E ESTRUTURAS DE DADOS 05 social sciences Parallel algorithm Hunt–McIlroy algorithm 020207 software engineering 02 engineering and technology Longest increasing subsequence Parallel computing Longest common subsequence problem Bulk synchronous parallel CUDA 0502 economics and business Subsequence 0202 electrical engineering electronic engineering information engineering General-purpose computing on graphics processing units Algorithm 050203 business & management Computer Science(all) |
Zdroj: | Repositório Institucional da USP (Biblioteca Digital da Produção Intelectual) Universidade de São Paulo (USP) instacron:USP |
Popis: | The maximum subsequence problem finds a contiguous subsequence of the largest sum of a sequence of n numbers. Solutions to this problem are used in various branches of science, especially in applications of computational biology. The best sequential solution to the problem has an O(n) running time and uses dynamic programming. Although effective, this solution returns little information and disregards the existence of more than a maximum subsequence sum. Particularly in DNA analysis, if we find all maximum subsequence sums, we will also find all the possible pathogenicity islands, which are stretches with high possibility of causing some diseases. We present new Bulk Synchronous Parallel/Coarse-Grained Multicomputer (BSP/CGM) parallel algorithms, which consider the existence of more than one subsequence of maximum sum, and are able to find solutions to three problems: the longest maximum subsequence sum, the shortest maximum subsequence sum, and the number of disjoint subsequences of maximum sum. To the best of our knowledge, there are no parallel BSP/CGM algorithms for the related problems. Taking advantage of the advent of general purpose graphics processing unit (GPGPU), we implemented our algorithms on multi-GPU with Compute Unified Device Architecture (CUDA) and, for comparison purposes, MPI and OpenMP implementations have also been developed. The algorithms presented good speedups, as confirmed by experimental results. They use p processors and require O(n/p) parallel time with a constant number of communication rounds for the algorithm of the maximum subsequence sum and O(logp) communication rounds, with O(n/p) local computation per round, for the algorithms of the related problems. We concluded that our algorithms for the maximum subsequence sum and related problems are unique and effective. We also believe that the BSP/CGM model can guide parallel implementations in modern architectures such as GPGPU/CUDA. As future work, we intend to extend these results to arrays with higher dimensions and compute all maximal subsequences in a given interval. |
Databáze: | OpenAIRE |
Externí odkaz: |