Skip to main content

Generic Methodology for the Design of Parallel Algorithms Based on Pattern Languages

  • Conference paper
  • First Online:
Supercomputing (ISUM 2018)

Abstract

A parallel system to solve complex computational problems involve multiple instruction, simultaneous flows, communication structures, synchronisation and competition conditions between processes, as well as mapping and balance of workload in each processing unit. The algorithm design and the facilities of processing units will affect the cost-performance ratio of any algorithm. We propose a generic methodology to capture the main characteristics of parallel algorithm design methodologies, and to add the experience of expert programmers through pattern languages. Robust design considering the relations between architectures and programs is a crucial item to implement high-quality parallel algorithms. We aim for a methodology to exploit algorithmic concurrencies and to establish optimal process allocation into processing units, exploring the lowest implementation details. Some basic examples are described, such as the k-means algorithm, to illustrate and to show the effectiveness of our methodology. Our proposal identifies essential design patterns to find models of Data Mining algorithms with string self-adaptive mechanisms for homogeneous and heterogeneous parallel architectures.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Fox, G.C., Williams, R.D., Messina, G.C.: Parallel computing works!. Elsevier, Amsterdam (2014)

    Google Scholar 

  2. Bientinesi, P., Herrero, J.R., Quintana-Ortí, E.S., Strzodka, R.: Parallel computing on graphics processing units and heterogeneous platforms. Concurr. Comput.: Pract. Exp. 27(6), 1525–1527 (2015)

    Article  Google Scholar 

  3. Aliaga, J.I., Sáez, R.C., Ortí, E.S.Q.: Parallel solution of hierarchical symmetric positive definite linear systems. Appl. Math. Nonlinear Sci. 2(1), 201–212 (2017)

    Article  Google Scholar 

  4. Hong, T.P., Lee, Y.C., Wu, M.T.: An effective parallel approach for genetic-fuzzy data mining. Expert Syst. Appl. 41(2), 655–662 (2014)

    Article  Google Scholar 

  5. Foster, I.: Designing and Building Parallel Programs, vol. 78. Addison Wesley Publishing Company, Boston (1995)

    MATH  Google Scholar 

  6. Chandy, K.M., Taylor, S.: An Introduction to Parallel Programming. Jones and Bartlett Publishers, Inc., Burlington (1992)

    MATH  Google Scholar 

  7. Culler, D.E., Singh, J.P., Gupta, A.: Parallel Computer Architecture: A Hardware/Software Approach. Gulf Professional Publishing, Houston (1999). ISO 690

    Google Scholar 

  8. Mattson, T.G., Sanders, B., Massingill, B.: Patterns for Parallel Programming. Pearson Education, London (2004)

    MATH  Google Scholar 

  9. Jamali, S., Alizadeh, F., Sadeqi, S.: Task scheduling in cloud computing using particle swarm optimization. In: The Book of Extended Abstracts, p. 192 (2016)

    Google Scholar 

  10. Kirk, D.B., Wen-Mei, W.H.: Programming Massively Parallel Processors: A Hands-on Approach. Morgan kaufmann, Burlington (2016)

    Google Scholar 

  11. Barney, B.: Introduction to parallel computing. Lawrence Livermore National Laboratory, vol. 6, no. 13, p. 10 (2010)

    Google Scholar 

  12. Almasi, G.S., Gottlieb, A.: Highly Parallel Computing. The Benjamin/Cummings Publishing, San Francisco (1988)

    MATH  Google Scholar 

  13. Brown, J., Bowling, A., Flynn, T.: Models of quality of life: a taxonomy, overview and systematic review of the literature. In: European Forum on Population Ageing Research (2004)

    Google Scholar 

  14. Aloise, D., Deshpande, A., Hansen, P., Popat, P.: NP-hardness of Euclidean sum-of-squares clustering. Mach. Learn. 75, 245–249 (2009)

    Article  Google Scholar 

  15. Benson, A.R., Ballard, G.: A framework for practical parallel fast matrix multiplication. ACM SIGPLAN Not. 50(8), 42–53 (2015)

    Article  Google Scholar 

  16. Cui, H., Ruan, G., Xue, J., Xie, R., Wang, L., Feng, X.: A collaborative divide-and-conquer K-means clustering algorithm for processing large data. In: Proceedings of the 11th ACM Conference on Computing Frontiers, p. 20. ACM, May 2014

    Google Scholar 

  17. Rajeswari, K., Acharya, O., Sharma, M., Kopnar, M., Karandikar, K.: Improvement in K-means clustering algorithm using data clustering. In: 2015 International Conference on Computing Communication Control and Automation (ICCUBEA), pp. 367–369. IEEE (2015)

    Google Scholar 

  18. Törn, A., Žilinskas, A.: Clustering methods. In: Törn, A., Žilinskas, A. (eds.) Global Optimization. LNCS, vol. 350, pp. 95–116. Springer, Heidelberg (1989). https://doi.org/10.1007/3-540-50871-6_5

    Chapter  MATH  Google Scholar 

Download references

Acknowledgment

The authors thank the financial support by the Mexican CONACyT, as well as ABACUS: Laboratory of Applied Mathematics and High-Performance Computing of the Mathematics Department of CINVESTAV-IPN. Our institution provided the facilities to accomplish this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. Alejandra Serrano-Rubio .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Serrano-Rubio, A.A., Meneses-Viveros, A., Morales-Luna, G.B., Paredes-López, M. (2019). Generic Methodology for the Design of Parallel Algorithms Based on Pattern Languages. In: Torres, M., Klapp, J., Gitler, I., Tchernykh, A. (eds) Supercomputing. ISUM 2018. Communications in Computer and Information Science, vol 948. Springer, Cham. https://doi.org/10.1007/978-3-030-10448-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-10448-1_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-10447-4

  • Online ISBN: 978-3-030-10448-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics