Abstract
Dynamic Programming (DP) is an efficient technique to solve combinatorial search and optimization problems. There have been many research efforts towards parallelizing dynamic programs. In this paper, we study the parallelization of the Polynomial Time Approximation Scheme (PTAS) DP for the classical bin-packing problem. This problem is challenging due to the fact that the number of dimensions of the DP table is not known a priori and is dependent on the input and the accuracy desired by the user. We present optimization techniques for parallelizing the DP for this problem, which include diagonalization, blocking and optimizing dependency lookups. We perform a comprehensive evaluation of our parallel DP on a multicore platform and show that the parallel DP scales well and that our proposed optimizations lead to further substantial improvement in performance.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alves, C.E.R., Cáceres, E., Dehne, F.K.H.A.: Parallel dynamic programming for solving the string editing problem on a cgm/bsp. In: SPAA, pp. 275–281 (2002)
El Baz, D., Elkihel, M.: Load balancing methods and parallel dynamic programming algorithm using dominance technique applied to the 0-1 knapsack problem. J. Parallel Distrib. Comput. 65(1), 74–84 (2005)
Bradford, P.G.: Efficient parallel dynamic programming (1994)
Calvet, J.-L., Viargues, G.: Parallelism in dynamic programming: an issue to feedback control. In: First IEEE Conference on Control Applications, vol. 2, pp. 1063–1064 (1992)
Chowdhury, R.A., Ramachandran, V.: Cache-efficient dynamic programming algorithms for multicores. In: SPAA, pp. 207–216. ACM (2008)
Elkihel, M., El Baz, D.: Load balancing in a parallel dynamic programming multi-method applied to the 0-1 knapsack problem. In: PDP, pp. 127–132. IEEE Computer Society (2006)
Huang, S.H.S., Liu, H., Viswanathan, V.: Parallel dynamic programming. IEEE Trans. Parallel Distrib. Syst. 5(3), 326–328 (1994)
Karypis, G., Kumar, V.: Efficient parallel mappings of a dynamic programming algorithm: A summary of results. In: IPPS, pp. 563–568 (1993)
Kumar, V., Grama, A., Gupta, A., Karypis, G.: Introduction to Parallel Computing. Benjamin/Cummings (1994)
Larson, R.E., Tse, E.: Parallel processing algorithms for optimal control of nonlinear dynamic systems. IEEE Trans. Comput. 22(8), 777–786 (1973)
Lau, K.K., Kumar, M.J.: Parallel implementation of the unit commitment problem on nows. In: High Performance Computing on the Information Superhighway, HPC Asia 1997, pp. 128–133 (1997)
Lewandowski, G., Condon, A., Bach, E.: Asynchronous analysis of parallel dynamic programming. In: SIGMETRICS, pp. 268–269 (1993)
RodrÃguez, C., Roda, J.L., GarcÃa, F., Almeida, F., González, D.: Paradigms for parallel dynamic programming. In: EUROMICRO, p. 553. IEEE Computer Society (1996)
Smith, T.F., Waterman, M.S.: Identification of common molecular subsequences. Journal of Molecular Biology 147(1), 195–197 (1981)
Tan, G., Feng, S., Sun, N.: Biology - locality and parallelism optimization for dynamic programming algorithm in bioinformatics. In: SC, p. 78. ACM Press (2006)
Tan, G., Sun, N., Gao, G.R.: A parallel dynamic programming algorithm on multi-core architecture. In: SPAA, pp. 135–144. ACM (2007)
Vazirani, V.V.: Approximation algorithms. Springer (2001)
Williamson, D.P., Shmoys, D.B.: The Design of Approximation Algorithms. Cambridge University Press (2011)
Xu, H.H., Hanson, F.B., Chung, S.L.: Optimal data parallel methods for stochastic dynamical programming. In: ICPP (3), pp. 142–146 (1991)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chakravorty, A., George, T., Sabharwal, Y. (2014). Multicore Parallelization of the PTAS Dynamic Program for the Bin-Packing Problem. In: Chatterjee, M., Cao, Jn., Kothapalli, K., Rajsbaum, S. (eds) Distributed Computing and Networking. ICDCN 2014. Lecture Notes in Computer Science, vol 8314. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45249-9_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-45249-9_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-45248-2
Online ISBN: 978-3-642-45249-9
eBook Packages: Computer ScienceComputer Science (R0)