A bridging model for parallel computation
Communications of the ACM
Dynamic programming with convexity, concavity and sparsity
Theoretical Computer Science - Selected papers of the Combinatorial Pattern Matching School
Introduction to parallel computing: design and analysis of algorithms
Introduction to parallel computing: design and analysis of algorithms
ReAligner: a program for refining DNA sequence multi-alignments
RECOMB '97 Proceedings of the first annual international conference on Computational molecular biology
BSPlib: The BSP programming library
Parallel Computing
Parallel dynamic programming for solving the string editing problem on a CGM/BSP
Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures
A hybrid architecture for bioinformatics
Future Generation Computer Systems - Parallel computing technologies (PaCT-2001)
Massively Parallel Solutions for Molecular Sequence Analysis
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Proceedings of the 5th International Conference on Intelligent Systems for Molecular Biology
The Paderborn University BSP (PUB) library
Parallel Computing
An FPGA-Based Coprocessor for the Parsing of Context-Free Grammars
FCCM '00 Proceedings of the 2000 IEEE Symposium on Field-Programmable Custom Computing Machines
Optimal evolutionary tree comparison by sparse dynamic programming
SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
A parallel wavefront algorithm for efficient biological sequence comparison
ICCSA'03 Proceedings of the 2003 international conference on Computational science and its applications: PartII
A tunable coarse-grained parallel algorithm for irregular dynamic programming applications
HiPC'04 Proceedings of the 11th international conference on High Performance Computing
Applying Processes Rescheduling over Irregular BSP Application
ICCS '09 Proceedings of the 9th International Conference on Computational Science: Part I
Applying process migration on a BSP-based LU decomposition application
VECPAR'10 Proceedings of the 9th international conference on High performance computing for computational science
Hi-index | 0.00 |
Dynamic programming is a widely applied algorithm design technique in many areas such as computational biology and scientific computing. Typical applications using this technique are compute-intensive and suffer from long runtimes on sequential architectures. Therefore, several parallel algorithms for both fine-grained and coarse-grained architectures have been introduced. However, the commonly used data partitioning scheme can not be efficiently applied to irregular dynamic programming algorithms, i.e. dynamic programming algorithms with an uneven load density pattern. In this paper we present a tunable parallel Bulk Synchronous Parallel (BSP) algorithm for such kind of applications. This new algorithm can balance the workload among processors using a tunable block-cyclic data partitioning method and thus is capable of getting almost linear performance gains. We present a theoretical analysis and experimentally show that it leads to significant runtime savings for pairwise sequence alignment with general gap penalties using BSPonMPI on a PC cluster.