Efficient Longest Common Subsequence Computation Using Bulk-Synchronous Parallelism

  • Peter Krusche
  • Alexander Tiskin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3984)


This paper presents performance results for parallel algorithms that compute the longest common subsequence of two strings. This algorithm is a representative of a class of algorithms that compute string to string distances and has computational complexity O(n 2). The parallel algorithm uses a variable grid size, runs in O(p) supersteps (synchronization phases) and has linear communication costs. We study this algorithm in BSP context, give runtime estimations and compare the predictions to experimental values measured on three different parallel architectures, using different BSP programming libraries and an efficient implementation for sequential computation. We find that using the BSP model and the appropriate optimized BSP library improves the performance over plain MPI, and that scalability can be improved by using a tuned grid size parameter.


Dynamic Programming Communication Cost Dynamic Programming Algorithm Input String Longe Common Subsequence 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. MIT Press, Cambridge (2001)MATHGoogle Scholar
  2. 2.
    Gibbons, A., Rytter, W.: Efficient parallel algorithms. Cambridge University Press, New York (1988)MATHGoogle Scholar
  3. 3.
    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 14th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA 2002), pp. 275–281. ACM Press, New York (2002)CrossRefGoogle Scholar
  4. 4.
    Navarro, G.: A guided tour to approximate string matching. ACM Computing Surveys 33(1), 31–88 (2001)CrossRefGoogle Scholar
  5. 5.
    Garcia, T., Myoupo, J.F., Semé, D.: A coarse-grained multicomputer algorithm for the longest common subsequence problem. In: Euro PDP, pp. 349–356 (2003)Google Scholar
  6. 6.
    Crochemore, M., Iliopoulos, C.S., Pinzon, Y.J.: Recovering an LCS in O(n2/w) time and space. Colombian Journal of Computation 3(1), 41–52 (2002)Google Scholar
  7. 7.
    Michailidis, P.D., Margaritis, K.G.: New processor array architectures for the longest common subsequence problem. The Journal of Supercomputing 32(1), 51–69 (2005)CrossRefGoogle Scholar
  8. 8.
    Alves, C., Cáceres, E., Dehne, F., Song, S.: 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. 2668, Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    The PUB library (2005), http://www.uni-paderborn.de/~bsp/
  10. 10.
    The Oxford BSP Toolset (1999), http://www.bsp-worldwide.org/implmnts/oxtool/
  11. 11.
    Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111 (1990)CrossRefGoogle Scholar
  12. 12.
    Crochemore, M., Iliopoulos, C.S., Pinzon, Y.J., Reid, J.F.: A fast and practical bit-vector algorithm for the longest common subsequence problem. Information Processing Letters 80(6), 279–285 (2001)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Hyyrö, H., Takaba, J., Shinohara, A., Takeda, M.: On bit-parallel processing of multi-byte text. In: Myaeng, S.-H., Zhou, M., Wong, K.-F., Zhang, H.-J. (eds.) AIRS 2004. LNCS, vol. 3411, pp. 289–300. Springer, Heidelberg (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Peter Krusche
    • 1
  • Alexander Tiskin
    • 1
  1. 1.Department of Computer ScienceUniversity of WarwickCoventryUnited Kingdom

Personalised recommendations