Abstract
Minimum cost parenthesizing problem (MPP for short) is a well-known example of the polyadic-nonserial dynamic-programming problem. This paper presents two efficient parallel algorithms on the coarse-grained multicomputer model for solving the MPP. By allowing processors to stay active as long as possible thanks to our irregular partitioning technique of dependency graph, these algorithms minimize their idle time and promote load-balancing between them. The algorithms also reduce the latency time of processors (which is the largest part of the overall communication time) by allowing them to start evaluating subproblems as soon as the data they need are available. The first algorithm runs in \({\mathcal {O}}\left( n^3/4^k p \right)\) execution time with \({\mathcal {O}}\left( 2^k \sqrt{p}\right)\) communication rounds. The second runs in \({\mathcal {O}}\left( n^3/2^k p \right)\) execution time with \({\mathcal {O}}\left( 4^k \sqrt{p}\right)\) communication rounds. n is the input data size, p is the number of processors, and k is a parameter used in the partitioning technique of our algorithms. The experimental results obtained show that these new algorithms are better than the most efficient previous solutions.











Similar content being viewed by others
Notes
It is the level (step) involving a maximum number of blocks.
Matrix-multiplication \((+, min)\) is a matrix multiplication in which the multiplication and summation operations are replaced by addition and the minimum, respectively.
References
Alves CER, Cáceres EN, Dehne F (2002) Parallel dynamic programming for solving the string editing problem on a CGM/BSP. In: Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures, ACM, New York, NY, USA, SPAA’02, pp 275–281, https://doi.org/10.1145/564870.564916
Alves CER, Cáceres EN, Dehne F, Song SW (2003) A parallel wavefront algorithm for efficient biological sequence comparison. In: Proceedings of the 2003 international conference on computational science and its applications: PartII, ICCSA’03, pp 249–258, 1762008.1762040
Alves CER, Caceres EN, Song SW (2006) A coarse-grained parallel algorithm for the all-substrings longest common subsequence problem. Algorithmica 45:301–335. https://doi.org/10.1007/s00453-006-1216-z
Bellman RE, Dreyfus SE (1962) Applied dynamic programming. Princetown University Press
Biswas G, Mukherjee N (2021) Memory optimized dynamic matrix chain multiplication using shared memory in GPU. In: The 2021 international conference on distributed computing and internet technology, Bhubaneswar, India, ICDCIT 2021, pp 160–172, https://doi.org/10.1007/978-3-030-65621-8_10
Bradford PG (1994) Parallel Dynamic Programming. Ph.D. Thesis, Indiana University
Cormen TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to Algorithms, 3rd edn. The MIT Press, Cambridge
Dehne F, Fabri A, Rau-Chaplin A (1996) Scalable parallel computational geometry for coarse grained multicomputers. Int J Comput Geom Appl 6(3):379–400. https://doi.org/10.1142/S0218195996000241
Dehne F, Ferreira A, Cáceres E, Song SW, Roncato A (2002) Efficient parallel graph algorithms for coarse-grained multicomputers and BSP. Algorithmica 33(2):183–200. https://doi.org/10.1007/s00453-001-0109-4
Diwan T, Tembhurne J (2019) A Parallelization of Non-Serial Polyadic Dynamic Programming On GPU. Journal of Computing and Information Technology 27(2):55–66, 10.20532/cit.2019.1004579
Fotso LP, Kengne VT, Myoupo JF (2010) Load balancing schemes for parallel processing of dynamic programming on BSP/CGM Model. In: The 2010 international conference on parallel and distributed processing techniques and applications, Las Vegas, NV, USA, PDPTA’10, pp 710–716
Garcia T, Myoupo J, Semé D (2003) A coarse-grained multicomputer algorithm for the longest common subsequence problem. In: Eleventh Euromicro conference on parallel, distributed and network-based processing, pp 349–356, https://doi.org/10.1109/EMPDP.2003.1183610
Godbole SS (1973) On efficient computation of matrix chain products. IEEE Trans Comput 100(9):864–866. https://doi.org/10.1109/TC.1973.5009182
Guibas LJ, Kung HT, Thompson CD (1979) Direct VLSI implementation of combinatorial algorithms. In: Proceedings of the Caltech Conference On Very Large Scale Integration, California Institute of Technology, Pasadena, CA, USA, pp 509–525, https://core.ac.uk/reader/9412580
Higa DR, Stefanes MA (2012) A coarse-grained parallel algorithm for the matrix chain order problem. In: Proceedings of the 2012 symposium on high performance computing, San Diego, CA, USA, HPC’12, pp 1–8, https://doi.org/10.5555/2338816.2338817
Huang SHS, Liu H, Viswanathan V (1994) Parallel dynamic programming. IEEE Trans Parallel Distrib Syst 5(3):326–328. https://doi.org/10.1109/71.277784
Ibarra OH, Pong TC, Sohn SM (1991) Parallel recognition and parsing on the hypercube. IEEE Trans Comput 40(6):764–770. https://doi.org/10.1109/12.90253
Karypis G, Kumar V (1993) Efficient parallel mappings of a dynamic programming algorithm: a summary of results. In: Proceedings seventh international parallel processing symposium, Newport, CA, USA, IPPS’07, pp 563–568, https://doi.org/10.1109/IPPS.1993.262817
Kechid M, Myoupo J (2008) A coarse grain multicomputer algorithm solving the optimal binary search tree problem. In: Proceedings of the fifth international conference on information technology: new generations, Las Vegas, NV, USA, ITNG’08, pp 1186–1189, https://doi.org/10.1109/ITNG.2008.158
Kechid M, Myoupo J (2008) An efficient BSP/CGM algorithm for the matrix chain ordering problem. In: The 2008 international conference on parallel and distributed processing techniques and applications, Las Vegas, NV, USA, PDPTA’08, pp 327–332
Kechid M, Myoupo JF (2009) A course-grain multicomputer algorithm for the minimum cost parenthesization problem. In: The 2008 international conference on parallel and distributed processing techniques and applications, Las Vegas, NV, USA, PDPTA’09, pp 480–486
Kengne VT, Lacmou JZ (2019) An efficient CGM-based parallel algorithm for solving the optimal binary search tree problem through one-to-all shortest paths in a dynamic graph. Data Sci Eng 4(2):141–156. https://doi.org/10.1007/s41019-019-0093-9
Kengne VT, Myoupo JF (2012) An efficient coarse-grain multicomputer algorithm for the minimum cost parenthesizing problem. J Supercomput 61:463–480. https://doi.org/10.1007/s11227-011-0601-9
Kengne VT, Myoupo JF, Dequen G (2016) High performance CGM-based parallel algorithms for the optimal binary search tree problem. Int J Grid High Perform Comput 8(4):55–77. https://doi.org/10.4018/IJGHPC.2016100104
Krusche P, Tiskin A (2006) Efficient longest common subsequence computation using bulk-synchronous parallelism. In: Computational science and its applications, ICCSA’06, vol 3984, Springer-Verlag, Berlin, Heidelberg, chap 18, pp 165–174, https://doi.org/10.1007/11751649_18
Lacmou JZ, Kengne VT (2018) Speeding up CGM-based parallel algorithm for minimum cost parenthesizing problem. In: the 2018 international conference on parallel and distributed processing techniques and applications, Las Vegas, NV, USA, PDPTA’18, pp 401–407, https://csce.ucmss.com/cr/books/2018/LFS/CSREA2018/PDP3310.pdf
Lacmou JZ, Tessa MGC, Kamga YFI (2020) A CGM-based parallel algorithm using the four-russians speedup for the 1-D sequence alignment problem. In: Colloque Africain pour la Recherche en Informatique et Mathématiques Appliquées, Thiès, Senegal, CARI’20, pp 1–11, http://www.cari-info.org/Actes-CARI-2020/20-S4CS-11.pdf
Myoupo JF (1992) Synthesizing linear systolic arrays for dynamic programming problems. Parallel Process Lett 02(01):97–110. https://doi.org/10.1142/S0129626492000222
Myoupo JF (1993) Mapping dynamic programming onto modular linear systolic arrays. Distrib Comput 6(3):165–179. https://doi.org/10.1007/BF02242705
Myoupo JF, Kengne VT (2014) An efficient CGM-based parallel algorithm solving the matrix chain ordering problem. Int J Grid High Perform Comput (IJGHPC) 6(2):74–100. https://doi.org/10.4018/ijghpc.2014040105
Ngomade AN, Myoupo JF, Kengne VT (2020) A dominant point-based parallel algorithm that finds all longest common subsequences for a constrained-MLCS problem. J Comput Sci 40:101070. https://doi.org/10.1016/j.jocs.2019.101070
Rytter W (1988) On efficient parallel computations for some dynamic programming problems. Theoret Comput Sci 59:297–307. https://doi.org/10.1016/0304-3975(88)90147-8
Tang D, Gupta G (1995) An efficient parallel dynamic programming algorithm. Comput Math Appl 30(8):65–74. https://doi.org/10.1016/0898-1221(95)00138-O
Valiant L (1990) A bridging model for parallel computation. Commun ACM 33:103–111. https://doi.org/10.1145/79173.79181
Wah BW, Li GJ (1988) Systolic processing for dynamic programming problems. Circ Syst Signal Process 7(2):119–149. https://doi.org/10.1007/BF01602094
Acknowledgements
The authors wish to express their gratitude to the University of Picardie Jules Verne which made it possible to carry out the experimentations of this work.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Lacmou Zeutouo, J., Kengne Tchendji, V. & Myoupo, J.F. High-performance CGM-based parallel algorithms for minimum cost parenthesizing problem. J Supercomput 78, 5306–5332 (2022). https://doi.org/10.1007/s11227-021-04069-9
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-021-04069-9