Efficient Longest Common Subsequence Computation Using Bulk-Synchronous Parallelism
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.
KeywordsDynamic Programming Communication Cost Dynamic Programming Algorithm Input String Longe Common Subsequence
Unable to display preview. Download preview PDF.
- 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.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
- 9.The PUB library (2005), http://www.uni-paderborn.de/~bsp/
- 10.The Oxford BSP Toolset (1999), http://www.bsp-worldwide.org/implmnts/oxtool/