skip to main content
10.1145/1878537.1878634acmotherconferencesArticle/Chapter ViewAbstractPublication PagesspringsimConference Proceedingsconference-collections
research-article

A parallel longest common subsequence algorithm in UPC

Published:11 April 2010Publication History

ABSTRACT

An important problem in computational biology is finding the longest common subsequence (LCS) of two nucleotide sequences. This paper examines the correctness and performance of a recently proposed parallel LCS algorithm that uses successor tables and pruning rules to construct a list of sets from which an LCS can be easily reconstructed. Counterexamples are given for two pruning rules that were given with the original algorithm. Because of these errors, performance measurements originally reported cannot be validated. The work presented here shows that speedup can be reliably achieved by an implementation in Unified Parallel C that runs on an Infiniband cluster. This performance is partly facilitated by exploiting the software cache of the MuPC runtime system. In addition, this implementation achieved speedup without bulk memory copy operations and the associated programming complexity of message passing.

References

  1. S. F. Altschul, W. Gish, W. Miller, E. W. Myers, and D. J. Lipman. Basic local alignment search tool. J. Mol. Biol., 215(3):403--410, October 1990.Google ScholarGoogle ScholarCross RefCross Ref
  2. M. Bakhouya, O. Serres, and T. El-Ghazawi. A pgas-based algorithm for the longest common subsequence problem. In Euro-Par '08: Proceedings of the 14th international Euro-Par conference on Parallel Processing, pages 654--664, Berlin, Heidelberg, 2008. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Bergroth, H. Hakonen, and T. Raita. A survey of longest common subsequence algorithms. International Symposium on String Processing and Information Retrieval, 0:39, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Elizabeth E. Edmiston, Nolan G. Core, Joel H. Saltz, and Roger M. Smith. Parallel processing of biological sequence comparison algorithms. Int. J. Parallel Program., 17(3):259--275, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bryan M. Franklin and Steven Seidel. Analysis and performance of a UPC implementation of a parallel longest common subsequence algorithm. Technical Report CS-TR-09-01, Michigan Technological University, December 2009.Google ScholarGoogle Scholar
  6. Adam R. Galper and Douglas L. Brutlag. Parallel similarity search and alignment with the dynamic programming method. Technical report, Stanford University, California, 1990.Google ScholarGoogle Scholar
  7. D. S. Hirschberg. A linear space algorithm for computing maximal common subsequences. Commun. ACM, 18(6):341--343, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Wei Liu, Yixin Chen, Ling Chen, and Ling Qin. A fast parallel longest common subsequence algorithm based on pruning rules. First International Multi-Symposiums on Computer and Computational Sciences, 2006. IM-SCCS06., 1:27--34, June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. David Maier. The complexity of some problems on subsequences and supersequences. J. ACM, 25(2):322--336, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Saul B. Needleman and Christian D. Wunsch. A general method applicable to the search for similarities in the amino acid sequence of two proteins. Journal of Molecular Biology, 48(3):443--453, March 1970.Google ScholarGoogle ScholarCross RefCross Ref
  11. W. R. Pearson and D. J. Lipman. Improved tools for biological sequence comparison. Proceedings of the National Academy of Sciences of the United States of America, 85(8):2444--2448, 1988.Google ScholarGoogle ScholarCross RefCross Ref
  12. T. F. Smith and M. S. Waterman. Identification of common molecular subsequences. Journal of Molecular Biology, 147(1):195--197, March 1981.Google ScholarGoogle ScholarCross RefCross Ref
  13. Robert A. Wagner and Michael J. Fischer. The string-to-string correction problem. J. ACM, 21(1):168--173, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Fa Zhang, Xiang-Zhen Qiao, and Zhi-Yong Liu. A parallel smith-waterman algorithm based on divide and conquer. In Fifth International Conference on Algorithms and Architectures for Parallel Processing, 2002, pages 162--169, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Z. Zhang, J. Savant, and S. Seidel. A UPC Runtime System based on MPI and POSIX Threads. In Proc. of 14th Euromicro Conference on Parallel, Distributed and Network-based Processing (PDP 2006), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader