From the theory to the tools: Parallel dynamic programming

8Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Dynamic programming is an important paradigm that has been widely used to solve problems in various areas such as control theory, operation research, biology and computer science. We generalize the finite automaton formal model for dynamic programming deriving pipeline parallel algorithms. The optimality of these algorithms is established for the new class of non-decreasing finite automata. As an intermediate step for the construction of a skeleton for the automatic parallelization of dynamic programming, we have developed a tool for the implementation of pipeline algorithms. The tool maps the processes in the pipeline in the target architecture following a mix of block and cyclic policies adapted to the grain of the machine. Based on the former tool, the automatic parallelization of dynamic programming is straightforward. The use of the model and its associated tools is illustrated with the Single Resource Allocation Problem. The performance and portability of these tools is compared with specific 'hand made' code written by experienced programmers. The experimental results on distributed memory and shared distributed memory architectures prove the scalability of the proposed paradigm and its associated tools. Copyright © 2000 John Wiley & Sons, Ltd.

Cite

CITATION STYLE

APA

González, D., Almeida, F., Roda, J., & Rodríguez, C. (2000). From the theory to the tools: Parallel dynamic programming. Concurrency Practice and Experience, 12(1), 21–34. https://doi.org/10.1002/(SICI)1096-9128(200001)12:1<21::AID-CPE452>3.0.CO;2-2

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free