Abstract
We investigate distributed parallel computation of a general dynamic programming problem given by a class of dynamic programming recurrences. Our approach is to partition the dynamic programming array into square blocks and use a kind of pipelining, instead of computing the array by diagonals, or by rows/columns, see [7]. One possibility is to make a coarse-grained implementation of systolic algorithms from [3, 4]. We choose a completely different approach and start with a new synchronous shared-memory algorithm for the problem. The fine-grained synchronous parallel computation is transformed into a coarse-grained message-passing algorithm. The dynamic programming array (usually very large) is distributed in such a way that each machine keeps only a small portion of the array and the whole array does not need to be stored in one large piece anywhere. The synchronous shared memory model is a better starting point for distributed implementation compared with any systolic algorithm (with much larger degree of synchronization), since it enables more alternative implementations. Incidentally, our approach gives also a new and simple alternative algorithm working on a mesh of processors. We discuss three alternative implementations and compare the suitability of PVM and MPI models for the problem.
Supported partially by the grant KBN 8T11C01208.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M.J. Atallah, S.R. Kosaraju, L.L. Larmore, G.L. Miller, and S-H. Teng. Constructing trees in parallel, Proc. 1st Symp. on Parallel Algorithms and Architectures (1989) pp. 499–533.
A.Gibbons, W.Rytter, Efficient parallel algorithms, Cambridge University Press (1988)
L. Guibas, H. Thompson, C. Thompson, Direct VLSI implementation of combinatorial algorithms, Caltech Conf. on VLSI (1979)
S. R. Kosaraju. Speed of recognition of context-free language by array automata, SIAM J.Comp. 4 (1975) 333–340
L. Larmore, T. Przytycka, W. Rytter, Parallel construction of optimal alphabetic trees, in 5th Annual ACM Symp. on Parallel Alg. and Arch. (1993), 214–223
L. Larmore, W. Rytter, An optimal sublinear time parallel algorithm for some dynamic programming problems, IPL 52 (1994) 31–34
Serge Miguet, Yves Robert, Dynamic programming on a ring of processors, Techn. Report 89-01, LIP, Lyon, (1989)
P. Ramanan, En efficient parallel algorithm for the matrix chain problem, Techn. report WSUCS-93-1, Wichita State University, 1993.
Rytter W: On efficient parallel computations for some dynamic programming problems, TCS 59 (1988) 297–307
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Alexandrov, V., Chan, K., Gibbons, A., Rytter, W. (1997). On the PVM/MPI computations of dynamic programming recurrences. In: Bubak, M., Dongarra, J., Waśniewski, J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 1997. Lecture Notes in Computer Science, vol 1332. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63697-8_98
Download citation
DOI: https://doi.org/10.1007/3-540-63697-8_98
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63697-7
Online ISBN: 978-3-540-69629-2
eBook Packages: Springer Book Archive