Skip to main content
Log in

High-performance CGM-based parallel algorithms for minimum cost parenthesizing problem

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. It is the level (step) involving a maximum number of blocks.

  2. Matrix-multiplication \((+, min)\) is a matrix multiplication in which the multiplication and summation operations are replaced by addition and the minimum, respectively.

  3. https://www.u-picardie.fr/recherche/presentation/plateformes/plateforme-matrics-382844.kjsp.

References

  1. 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

  2. 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

  3. 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

    Article  MathSciNet  MATH  Google Scholar 

  4. Bellman RE, Dreyfus SE (1962) Applied dynamic programming. Princetown University Press

  5. 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

  6. Bradford PG (1994) Parallel Dynamic Programming. Ph.D. Thesis, Indiana University

  7. Cormen TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to Algorithms, 3rd edn. The MIT Press, Cambridge

    MATH  Google Scholar 

  8. 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

    Article  MathSciNet  MATH  Google Scholar 

  9. 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

    Article  MathSciNet  MATH  Google Scholar 

  10. 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

  11. 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

  12. 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

  13. 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

    Article  Google Scholar 

  14. 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

  15. 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

  16. 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

    Article  Google Scholar 

  17. 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

    Article  MathSciNet  MATH  Google Scholar 

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

    Article  Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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

    Article  Google Scholar 

  25. 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

  26. 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

  27. 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

  28. Myoupo JF (1992) Synthesizing linear systolic arrays for dynamic programming problems. Parallel Process Lett 02(01):97–110. https://doi.org/10.1142/S0129626492000222

    Article  Google Scholar 

  29. Myoupo JF (1993) Mapping dynamic programming onto modular linear systolic arrays. Distrib Comput 6(3):165–179. https://doi.org/10.1007/BF02242705

    Article  MATH  Google Scholar 

  30. 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

    Article  Google Scholar 

  31. 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

    Article  MathSciNet  Google Scholar 

  32. 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

    Article  MathSciNet  MATH  Google Scholar 

  33. 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

    Article  MathSciNet  Google Scholar 

  34. Valiant L (1990) A bridging model for parallel computation. Commun ACM 33:103–111. https://doi.org/10.1145/79173.79181

    Article  Google Scholar 

  35. 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

    Article  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Vianney Kengne Tchendji.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-021-04069-9

Keywords

Navigation