Advertisement

A Parallel BSP Algorithm for Irregular Dynamic Programming

  • Malcolm Yoke Hean Low
  • Weiguo Liu
  • Bertil Schmidt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4847)

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, 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.

Keywords

BSP Irregular Dynamic Programming Partitioning Load Balancing Scientific Computing 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alves, C.E.R., Cáceres, E.N., Dehne, F.: Parallel dynamic programming for solving the string editing problem on a CGM/BSP. In: Proc. of the fourteenth annual ACM symposium on Parallel algorithms and architectures, Winnipeg, Manitoba, Canada (2002)Google Scholar
  2. 2.
    Alves, C.E.R., Cáceres, E.N., Dehne, F., Song, S.W., Parallel, A.: Wavefront Algorithm for Efficient Biological Sequence Comparison. In: Kumar, V., Gavrilova, M., Tan, C.J.K., L’Ecuyer, P. (eds.) ICCSA 2003. LNCS, vol. 2667, pp. 249–258. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Anson, E.L., Myers, G.W.: Realigner: A Program for Refining DNA Sequence Multi-Alignments. In: 1st Conference on Computational Molecular Biology, pp. 9–16 (1997)Google Scholar
  4. 4.
    Birney, E., Durbin, R.: Dynamite: A Flexible Code Generating Language for Dynamic Programming Methods. In: Proc. Intelligent Systems for Molecular Biology, pp. 56–64 (1997)Google Scholar
  5. 5.
    Bonorden, O., Juurlink, B., von Otte, I., Rieping, I.: The Paderborn University BSP (PUB) Library. Parallel Computing 29(2), 187–207 (2003)CrossRefGoogle Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Durbin, R., Eddy, S., Krogh, A., Mitchison, G.: Biological Sequence Analysis-Probabilistic Models of Protein and Nucleic Acids. Cambridge University Press, Cambridge (1998)Google Scholar
  9. 9.
    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, 1994, pp. 770–779 (1994)Google Scholar
  10. 10.
    Galil, Z., Park, K.: Dynamic Programming with Convexity, Concavity and Sparsity. Theoretical Computer Science 92, 49–76 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Gelfand, M.S., Mironov, A.A., Pevzner, P.A.: Gene Recognition Via Spliced Sequence Alignment. Proc. Natl. Acad. Sci. 93, 9061–9066 (1996)CrossRefGoogle Scholar
  12. 12.
    Gelfand, M.S., Roytberg., M.A., Dynamic, A.: Programming Approach for Prediction the Exon-Intron Structure. Biosystems 30, 173–182 (1993)CrossRefGoogle Scholar
  13. 13.
    Hill, J., McColl, B., Stefanescu, D., Goudreau, M., Lang, K., Rao, S., Suel, T., Tsantilas, T., Bisseling, R.: BSPlib: The BSP programming library. Parallel Computing 24(14), 1947–1980 (1998)CrossRefGoogle Scholar
  14. 14.
    Huang, X., Chao, K.M.: A Generalized Global Alignment Algorithm. Bioinformatics 19(2), 228–233 (2003)CrossRefGoogle Scholar
  15. 15.
    Kumar, V., Grama, A., Gupa, A., Karypis, G.: Introduction to Parallel Computing. Cummings Publishing Company Inc., The Benjamin (1994)zbMATHGoogle Scholar
  16. 16.
    Liu, W., Schmidt, B.: A Tunable Coarse-Grained Parallel Algorithm for Irregular Dynamic Programming Applications. In: Bougé, L., Prasanna, V.K. (eds.) HiPC 2004. LNCS, vol. 3296, Springer, Heidelberg (2004)Google Scholar
  17. 17.
    Mount, D.W.: Bioinformatics-Sequence and Genome Analysis. Cold Spring Harbor Laboratory Press (2001)Google Scholar
  18. 18.
    Needleman, S.B., Wunsch., C.D., General, A.: Method Applicable to the Search for Similarities in the Amino Acid Sequence of Two Proteins. J. Mol. Biol. 48, 443–453 (1970)CrossRefGoogle Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    Schmidt, B., Schroder, H., Schimmler, M.: Massively Parallel Solutions for Molecular Sequence Analysis. In: Proc. of IPDPS 2002 (2002)Google Scholar
  21. 21.
    Schmidt, B., Schroder, H., Schimmler, M.: A Hybrid Architecture for Bioinformatics. Future Generation Computer System 18, 855–862 (2002)zbMATHCrossRefGoogle Scholar
  22. 22.
    Smith, T.F., Waterman, M.S.: Identification of Common Subsequences. Journal of Molecular Biology 147, 195–197 (1981)CrossRefGoogle Scholar
  23. 23.
    Valiant, L.G.: A Bridging Model for Parallel Computation. Communications of the ACM 33(8), 103–111 (1990)CrossRefGoogle Scholar
  24. 24.
    Zuker, M., Stiegler, P.: Optimal Computer Folding of Large RNA Sequences Using Thermodynamics and Auxiliary Information. Nucleic Acids Research, 9 (1981)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Malcolm Yoke Hean Low
    • 1
  • Weiguo Liu
    • 1
  • Bertil Schmidt
    • 2
  1. 1.School of Computer Engineering, Nanyang Technological University, 639798Singapore
  2. 2.University of New South Wales Asia, 1 Kay Siang Road, 248922Singapore

Personalised recommendations