Efficient Parallelization Using Rank Convergence in Dynamic Programming Algorithms.

This paper proposes an efficient parallel algorithm for an important class of dynamic programming problems that includes Viterbi, Needleman-Wunsch, Smith-Waterman, and Longest Common Subsequence. In dynamic programming, the subproblems that do not depend on each other, and thus can be computed in pa...

Descripción completa

Detalles Bibliográficos
Publicado en:Communications of the ACM Vol. 59; no. 10; pp. 85 - 93
Autores principales: Maleki, Saeed, Musuvathi, Madanlal, Mytkowicz, Todd
Formato: Artículo
Publicado: Association for Computing Machinery Oct2016
Materias:
Acceso en línea:Ver este registro en EBSCOhost
Descripción
Sumario:This paper proposes an efficient parallel algorithm for an important class of dynamic programming problems that includes Viterbi, Needleman-Wunsch, Smith-Waterman, and Longest Common Subsequence. In dynamic programming, the subproblems that do not depend on each other, and thus can be computed in parallel, form stages, or wavefronts. The algorithm presented in this paper provides additional parallelism allowing multiple stages to be computed in parallel despite dependences among them. The correctness and the performance of the algorithm relies on rank convergence properties of matrix multiplication in the tropical semiring, formed with plus as the multiplicative operation and max as the additive operation. This paper demonstrates the efficiency of the parallel algorithm by showing significant speedups on a variety of important dynamic programming problems. In particular, the parallel Viterbi decoder is up to 24? faster (with 64 processors) than a highly optimized commercial baseline.