This Article 
 Bibliographic References 
 Add to: 
Parallel Dynamic Programming on Clusters of Workstations
September 2005 (vol. 16 no. 9)
pp. 785-798

Abstract—The standard DP (Dynamic Programming) algorithms are limited by the substantial computational demands they put on contemporary serial computers. In this work, the theory behind the solution to serial monadic dynamic programming problems highlights the theory and application of parallel dynamic programming on a general-purpose architecture (Cluster or Network Of Workstations). A simple and well-known technique, message passing, is considered. Several parallel serial monadic DP algorithms are proposed, based on the parallelization in the state variables and the parallelization in the decision variables. Algorithms with no interpolation are also proposed. It is demonstrated how constraints introduce load unbalance which affect scalability and how this problem is inherent to DP.

[1] R.E. Bellman, Dynamic Programming. Princeton Univ. Press, 1957.
[2] R.E. Bellman and S.E. Dreyfus, Applied Dynamic Programming. Princeton Univ. Press, 1962.
[3] A. Grama, A. Gupta, G. Karypis, and V. Kumar, Introduction to Parallel Computing, Design and Analysis of Algorithms, second ed. Addison Wesley, 2003.
[4] A.P. de Madrid, S. Dormido, and F. Morilla, “Reduction of the Dimensionality of Dynamic Programming: A Case Study,” Proc. Am. Control Conf. ACC '99, 1999.
[5] R.E. Larson, State Increment Dynamic Programming. New York: Am. Elsevier Publishing Company, Inc., 1968.
[6] S. Dormido, M. Mellado, and J.M. Guillen, “Consideraciones sobre la regulación de Sistemas Mediante Técnicas de Programación Dinámica,” Revista Automática, vol. 10, pp. 29-34, 1970.
[7] R.E. Larson and A.J. Korsak, “A Dynamic Programming Succesive Approximations Technique with Convergence Proofs, Part I,” Automatica, vol. 6, pp. 245-252, 1970.
[8] A.J. Korsak and R.E. Larson, “A Dynamic Programming Succesive Approximations Technique with Convergence Proofs, Part II,” Automatica, vol. 6, pp. 253-260, 1970.
[9] L. Cooper and M.W. Cooper, Introduction to Dynamic Programming. Pergamon Press, 1981.
[10] R.E. Larson and J.L. Casti, Principles of Dynamic Programming. Part II: Advanced Theory and Applications. New York: Marcel Dekker, Inc., 1982.
[11] L. Moreno, L. Acosta, and J.L. Sánchez, “Design of Algorithms for Spacial-Time Reduction Complexity of Dynamic Programming,” IEE Proc.-D, vol. 2, pp. 172-180, 1992.
[12] M. Sniedovich, Dynamic Programming. New York: Marcel Dekker, Inc., 1992.
[13] A.P. de Madrid, S. Dormido, F. Morilla, and L. Grau, “Dynamic Programming Predictive Control,” Proc. IFAC, 13th Triennial World Congress, 2c-02, pp. 279-284, 1996.
[14] R.E. Larson and E. Tse, “Parallel Processing Algorithms for the Optimal Control of Nonlinear Dynamic Systems,” IEEE Trans. Computers, vol. 22, no. 8, pp. 777-786, Aug. 1973.
[15] V. Viswanathan, S.-H.S. Huang, and H. Liu, “Parallel Dynamic Programming,” Proc. Second IEEE Symp. Parallel and Distributed Processing, pp. 497-500, 1990.
[16] H.H. Xu, F.B. Hanson, and S.-L. Chung, “Data Parallel Solutions of Dimensionality Problems in Stochastic Dynamic Programming,” Proc. 30th Conf. Decision and Control, pp. 1717-1723, 1991.
[17] J.-L. Calvet and G. Viargues, “Parallelism in Dynamic Programming: An Issue to Feedback Control,” Proc. First IEEE Conf. Control Applications, vol. 2, pp. 1063-1064, 1992.
[18] G. Karypis and V. Kumar, “Efficient Parallel Mappings of a Dynamic Programming Algorithm: A Summary of Results,” Proc. Seventh Int'l Parallel Processing Symp., pp. 563-568, 1993.
[19] P.G. Bradford, “Parallel Dynamic Programming,” doctoral dissertation, Indiana Univ., 1994.
[20] S.-H.S. Huang, H. Liu, and V. Viswanathan, “Parallel Dynamic Programming,” IEEE Trans. Parallel and Distributed Systems, vol. 5, no. 3, pp. 326-328, Mar. 1994.
[21] G. Lewandowski, A. Condon, and E. Bach, “Asynchronous Analysis of Parallel Dynamic Programming Algorithms,” IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 4, pp. 425-438, Apr. 1996.
[22] C. Rodríguez, J. Roda, F. García, F. Almeida, and D. González, “Paradigms for Parallel Dynamic Programming,” IEEE Proc. EUROMICRO-22, pp. 553-560, 1996.
[23] K.K. Lau and M.J. Kumar, “Parallel Implementation of the Unit Commitment problem on NOWs,” Proc. High Performance Computing on the Information Superhighway Conf.HPC Asia '97, pp. 128-133, 1997.
[24] G.F. Pfister, In Search of Clusters. Prentice Hall, 1998.
[25] R. Buyya, High Performance Cluster Computing, Prentice Hall, vol. 1 (Architectures and Systems), 1999.
[26] R. Buyya, High Performance Cluster Computing, Prentice Hall, vol. 2 (Programming and Applications), 1999.
[27] A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Mancher, and V. Sunderam, PVM: Parallel Virtual Machine. A Users' Guide and Tutorial for Networked Parallel Computing. Cambridge, Mass.: The MIT Press, 1994.
[28] M. Snir and W. Gropp, MPI: The Complete Reference. Cambridge, Mass.: MIT Press, 2001.
[29] B.W. Wah, G.-J. Li, and C.-F. Yu, “Multiprocessing of Combinatorial Search Problems,” Computer, vol. 18, no. 6, pp. 93-108, June 1985.
[30] R.E. Larson and J.L. Casti, Principles of Dynamic Programming. Part I: Basic Analytic and Computational Methods. New York: Marcel Dekker, Inc., 1978.
[31] D.A. Pierre, Optimization Theory with Applications. New York: Dover Publications, Inc., 1986.
[32] E. Mosca, Optimal, Predictive and Adaptive Control. New Jersey: Prentice Hall, 1995.
[33] J.J.G. Guignabodet, “Analysis of Some Process Aspects of Dynamic Programming,” PhD thesis, Washington Univ., 1961.
[34] S.D. Canto, “Programación Dinámica Paralela: Aplicación a Problemas de Control,” PhD thesis, Dpto. Informática y Automática (UNED), Madrid, (in Spanish), 2002.
[35] B. Wilkinson and M. Allen, Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers. Prentice Hall, 1999.
[36] K. Högstedt, L. Carter, and J. Ferrante, “On the Parallel Execution Time of Tiled Loops,” IEEE Trans. Parallel and Distributed Systems, vol. 14, no. 3, pp. 307-321, Mar. 2003.
[37] J. Fernández, A. Cañas, A.F. Díaz, J. González, J. Ortega, and A. Prieto, Performance of Message-Passing Matlab Toolboxes, pp. 228-241, Heidelberg: Springer-Verlag, 2003.
[38] G. Amdahl, “Validity of the Single-Processor Approach to Achieving Large-Scale Computing Capabilities,” Proc. Am. Federation of Information Processing Soc. Conf., vol. 30, p. 483, 1967.

Index Terms:
Parallel dynamic programming, constrained optimization, combinatorial algorithms, networked workstations, performance evaluation, NOWs.
Sebasti? Dormido Canto, ?ngel P. de Madrid, Sebasti?n Dormido Bencomo, "Parallel Dynamic Programming on Clusters of Workstations," IEEE Transactions on Parallel and Distributed Systems, vol. 16, no. 9, pp. 785-798, Sept. 2005, doi:10.1109/TPDS.2005.112
Usage of this product signifies your acceptance of the Terms of Use.