Abstract
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, many 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 applications, i.e. dynamic programming applications with an uneven computational load density. In this paper we present an efficient coarse-grained parallel algorithm for such kind of applications. This new algorithm can balance the load among processors using a tunable block-cyclic data partitioning scheme. We present a theoretical analysis and experimentally show that it leads to significant runtime savings for several irregular dynamic programming applications on PC clusters.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alves, C.E.R., Cáceres, E.N., Dehne, F., Song, S.W.: A Parallel Wavefront Algorithm for Efficient Biological Sequence Comparison. In: Kumar, V., Gavrilova, M.L., Tan, C.J.K., L’Ecuyer, P. (eds.) ICCSA 2003. LNCS, vol. 2667, pp. 249–258. Springer, Heidelberg (2003)
Bouman, D.S.: A Parallel Skyline Matrix Solver in Orca. In: Proceedings of the 3rd Annual Conference of the Advanced School for Computing and Imaging, Heijen, Netherlands, pp. 106–110 (1997)
Bowie, J., Luthy, R., Eisenberg, D.: A Method to Identify Protein Sequences That Fold Into A Known Three-dimensional Structure. Science 253, 164–170 (1991)
Ciressan, C., Sanchez, E., Rajman, M., Chappelier, J.C.: An FPGA-based coprocessor for the parsing of context-free grammars. In: IEEE Symposium on Field-Programmable Custom Computing Machines (April 2000)
Durbin, R., Eddy, S., Krogh, A., Mitchison, G.: Biological Sequence Analysis - Probabilistic Models of Protein and Nucleic Acids. Cambridge University Press, Cambridge (1998)
Farach, M., Thorup, M.: Optimal evolutionary tree comparison by sparse dynamic programming. In: 35th Annual Symposium on Foundations of Computer Science, Santa Fe, New Mexico, November 20-22, pp. 770–779 (1994)
Galil, Z., Park, K.: Dynamic Programming with Convexity, Concavity and Sparsity. Theoretical Computer Science 92, 49–76 (1992)
Huang, X., Chao, K.M.: A Generalized Global Alignment Algorithm. Bioinformatics 19(2), 228–233 (2003)
Kumar, V., Grama, A., Gupa, A., Karypis, G.: Introduction to Parallel Computing. The Benjamin-Cummings Publishing Company Inc. (1994)
Mount, D.W.: Bioinformatics-Sequence and Genome Analysis. Cold Spring Harbor Laboratory Press (2001)
Ney, H.: The Use of a One-Stage Dynamic Programming Algorithm for Connected Word Recognition. IEEE Trans. on Acoustic, Speech and Signal Processing ASSP-32(2), 263–271 (1984)
Schmidt, B., Schroder, H., Schimmler, M.: Massively Parallel Solutions for Molecular Sequence Analysis. In: Proc. of IPDPS 2002 (2002)
Schmidt, B., Schroder, H., Schimmler, M.: A Hybrid Architecture for Bioinformatics. Future Generation Computer System 18, 855–862 (2002)
Smith, T.F., Waterman, M.S.: Identification of Common Subsequences. Journal of Molecular Biology, 195–197 (1981)
Wilson, G.V.: Assessing the Usability of Parallel Programming Systems: The Cowichan Problems. In: Proceedings of the IFIP Working Conference on Programming Ecvironments for Massively Parallel Distributed Systems (1994)
Zuker, M., Stiegler, P.: Optimal Computer Folding of Large RNA Sequences Using Thermodynamics and Auxiliary Information. Nucleic Acids Research 9 (1981)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Liu, W., Schmidt, B. (2004). A Tunable Coarse-Grained Parallel Algorithm for Irregular Dynamic Programming Applications. In: Bougé, L., Prasanna, V.K. (eds) High Performance Computing - HiPC 2004. HiPC 2004. Lecture Notes in Computer Science, vol 3296. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30474-6_15
Download citation
DOI: https://doi.org/10.1007/978-3-540-30474-6_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24129-4
Online ISBN: 978-3-540-30474-6
eBook Packages: Computer ScienceComputer Science (R0)