Parallel Longest Increasing Subsequences in Scalable Time and Memory

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

Abstract

The longest increasing subsequence (LIS) problem is a classical problem in theoretical computer science and mathematics. Most existing parallel algorithms for this problem have very restrictive slackness conditions which prevent scalability to large numbers of processors. Other algorithms are scalable, but not work-optimal w.r.t. the fastest sequential algorithm for the LIS problem, which runs in time O(n logn) for n numbers in the comparison-based model. In this paper, we propose a new parallel algorithm for the LIS problem. Our algorithm solves the more general problem of semi-local comparison of permutation strings of length n in time O(n 1.5 / p) on p processors, has scalable communication cost of \(O(n/\sqrt{p})\) and is synchronisation-efficient. Furthermore, we achieve scalable memory cost, requiring \(O(n/\sqrt{p})\) of storage on each processor. When applied to LIS computation, this algorithm is superior to previous approaches since computation, communication, and memory costs are all scalable.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Erdős, P., Szekeres, G.: A combinatorial problem in geometry. Compositio Math. 2, 463–470 (1935)MathSciNetGoogle Scholar
  2. 2.
    Bespamyatnikh, S., Segal, M.: Enumerating longest increasing subsequences and patience sorting. Information Processing Letters 76, 7–11 (2000)CrossRefMathSciNetGoogle Scholar
  3. 3.
    McColl, W.F.: General purpose parallel computing. In: Lectures on parallel computation, pp. 337–391. Cambridge University Press, New York (1993)Google Scholar
  4. 4.
    Garcia, T., Myoupo, J., Semé, D.: A work-optimal CGM algorithm for the longest increasing subsequence problem. In: Proc. PDPTA (2001)Google Scholar
  5. 5.
    Nakashima, T., Fujiwara, A.: A cost optimal parallel algorithm for patience sorting. Parallel Processing Letters 16(1), 39–52 (2006)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Semé, D.: A CGM algorithm solving the longest increasing subsequence problem. In: Gavrilova, M.L., Gervasi, O., Kumar, V., Tan, C.J.K., Taniar, D., Laganá, A., Mun, Y., Choo, H. (eds.) ICCSA 2006. LNCS, vol. 3984, pp. 10–21. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Hunt, J.W., Szymanski, T.G.: A fast algorithm for computing longest common subsequences. Communications of the ACM 20(5), 350–353 (1977)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Wagner, R.A., Fischer, M.J.: The string-to-string correction problem. J. ACM 21(1), 168–173 (1974)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    McColl, W.F.: Scalable Computing. In: van Leeuwen, J. (ed.) Computer Science Today: Recent Trends and Developments. LNCS, vol. 1000, pp. 46–61. Springer, Heidelberg (1995)Google Scholar
  10. 10.
    Krusche, P., Tiskin, A.: Efficient parallel string comparison. In: ParCo. NIC Series, vol. 38, pp. 193–200. John von Neumann Institute for Computing (2007)Google Scholar
  11. 11.
    Tiskin, A.: Longest common subsequences in permutations and maximum cliques in circle graphs. In: Lewenstein, M., Valiente, G. (eds.) CPM 2006. LNCS, vol. 4009, pp. 270–281. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Apostolico, A., Atallah, M.J., Larmore, L.L., McFaddin, S.: Efficient parallel algorithms for string editing and related problems. SIAM J. Comp. 19(5), 968–988 (1990)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Tiskin, A.: Semi-local longest common subsequences in subquadratic time. J. Disc. Alg. 6(4), 570–581 (2008)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111 (1990)CrossRefGoogle Scholar
  15. 15.
    Bisseling, R.: Parallel Scientific Computation: A Structured Approach Using BSP and MPI. Oxford University Press, Oxford (2004)MATHGoogle Scholar
  16. 16.
    Tiskin, A.: Semi-local string comparison: Algorithmic techniques and applications. Extended version of [19], arXiv: 0707.3619v5Google Scholar
  17. 17.
    Shi, H., Schaeffer, J.: Parallel sorting by regular sampling. J. Parallel and Distributed Computing 14(4), 361–372 (1992)MATHCrossRefGoogle Scholar
  18. 18.
    Tiskin, A.: The bulk-synchronous parallel random access machine. Theoretical Computer Science 196(1-2), 109–130 (1998)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Tiskin, A.: Semi-local string comparison: Algorithmic techniques and applications. Mathematics in Computer Science 1(4), 571–603 (2008)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Peter Krusche
    • 1
  • Alexander Tiskin
    • 1
  1. 1.DIMAP and Department of Computer ScienceThe University of WarwickCoventryUK

Personalised recommendations