Skip to main content

P-Aevol: An OpenMP Parallelization of a Biological Evolution Simulator, Through Decomposition in Multiple Loops

  • Conference paper
  • First Online:
OpenMP: Portable Multi-Level Parallelism on Modern Systems (IWOMP 2020)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12295))

Included in the following conference series:

Abstract

This paper presents how we have achieved the parallelization of Aevol, a biological evolution simulator, on multi-core architecture using the OpenMP standard. While it looks like a simple for-loop problem with independent iterations, the stochastic nature of Aevol makes the duration of the iterations unpredictable and it conveys a high irregularity. Classical scheduling algorithms of OpenMP runtimes turn out to be inefficient. By analysing the origin of this irregularity, this paper present how to transform the highly irregular Aevol for-loop to a sequence composed by a small duration irregular for-loop followed by work intensive for-loop easy to schedule using classical LPT algorithm. This method leads to a gain up to 27% from the best OpenMP loop schedule.

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 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.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

Notes

  1. 1.

    http://www.aevol.fr/.

  2. 2.

    Iterations only perform computation.

References

  1. Banicescu, I., Velusamy, V.: Load balancing highly irregular computations with the adaptive factoring. In: Proceedings 16th International Parallel and Distributed Processing Symposium, p. 12, April 2002

    Google Scholar 

  2. Caballero, A.: Developments in the prediction of effective population size. Heredity 73(6), 657–679 (1994)

    Article  Google Scholar 

  3. Card, K.J., LaBar, T., Gomez, J.B., Lenski, R.E.: Historical contingency in the evolution of antibiotic resistance after decades of relaxed selection. PLoS Biol. 17(10), 1–18 (2019)

    Article  Google Scholar 

  4. Cheng, T.C.E., Kellerer, H., Kotov, V.: Algorithms better than LPT for semi-online scheduling with decreasing processing times. Oper. Res. Lett. 40(5), 349–352 (2012)

    Article  MathSciNet  Google Scholar 

  5. Coffman, Jr., E.G., Sethi, R.: A generalized bound on LPT sequencing. In: Proceedings of the 1976 ACM SIGMETRICS Conference on Computer Performance Modeling Measurement and Evaluation, pp. 306–310. ACM (1976)

    Google Scholar 

  6. Durand, M., Broquedis, F., Gautier, T., Raffin, B.: An efficient OpenMP loop scheduler for irregular applications on large-scale NUMA machines. In: Rendell, A.P., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2013. LNCS, vol. 8122, pp. 141–155. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40698-0_11

    Chapter  Google Scholar 

  7. Evans, J.: A Scalable Concurrent malloc(3) Implementation for FreeBSD, p. 14, April 2006

    Google Scholar 

  8. Fischer, S., Bernard, S., Beslon, G., Knibbe, C.: A model for genome size evolution. Bull. Math. Biol. 76(9), 2249–2291 (2014)

    Article  MathSciNet  Google Scholar 

  9. Gautier, T., Perez, C., Richard, J.: On the impact of OpenMP task granularity. In: de Supinski, B.R., Valero-Lara, P., Martorell, X., Mateo Bellido, S., Labarta, J. (eds.) IWOMP 2018. LNCS, vol. 11128, pp. 205–221. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-98521-3_14

    Chapter  Google Scholar 

  10. Graham, R.L.: Bounds for certain multiprocessing anomalies. Bell Syst. Tech. J. 45(9), 1563–1581 (1966)

    Article  Google Scholar 

  11. Graham, R.L.: Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 17(2), 416–429 (1969)

    Article  MathSciNet  Google Scholar 

  12. Graham, R.L., Lawler, E.L., Lenstra, J.K., Kan, A.H.G.R.: Optimization and approximation in deterministic sequencing and scheduling: a survey. In: Hammer, P.L., Johnson, E.L., Korte, B.H. (eds.) Annals of Discrete Mathematics, vol. 5, pp. 287–326. Elsevier, January 1979

    Google Scholar 

  13. Hindré, T., Knibbe, C., Beslon, G., Schneider, D.: New insights into bacterial adaptation through in vivo and in silico experimental evolution. Nat. Rev. Microbiol. 10(5), 352–365 (2012)

    Article  Google Scholar 

  14. Hochbaum, D.S., Shmoys, D.B.: Using dual approximation algorithms for scheduling problems theoretical and practical results. J. ACM 34(1), 144–162 (1987)

    Article  MathSciNet  Google Scholar 

  15. Knibbe, C.: Structuration des génomes par sélection indirecte de la variabilité mutationnelle: une approche de modélisation et de simulation. thesis, Lyon, INSA, January 2006

    Google Scholar 

  16. Liard, V., Parsons, D., Rouzaud-Cornabas, J., Beslon, G.: The complexity Ratchet: stronger than selection, weaker than robustness. Artif. Life Conf. Proc. 30, 250–257 (2018)

    Google Scholar 

  17. Liard, V., Rouzaud-Cornabas, J., Comte, N., Beslon, G.: A 4-base model for the aevol in-silico experimental evolution platform. In: Knibbe, C., et al. (eds.) Proceedings of the Fourteenth European Conference Artificial Life, ECAL 2017, Lyon, France, 4–8 September 2017, pp. 265–266. MIT Press (2017)

    Google Scholar 

  18. Lucco, S.: A dynamic scheduling method for irregular parallel programs. In: Proceedings of the ACM SIGPLAN 1992 Conference on Programming Language Design and Implementation, pp. 200–211. Association for Computing Machinery, San Francisco, July 1992

    Google Scholar 

  19. Olivier, S., Supinski, B., Schulz, M., Prins, J.: Characterizing and mitigating work time inflation in task parallel programs. Sci. Program. 21, 1–12 (2012)

    Google Scholar 

  20. OpenMP Architecture Review Board: OpenMP Application Program Interface. Specification (2015). https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf

  21. Penna, P.H., Castro, M., Freitas, H.C., Broquedis, F., Méhaut, J.F.: Design methodology for workload-aware loop scheduling strategies based on genetic algorithm and simulation. Concurr. Comput.: Pract. Exp. 29(22), e3933 (2017)

    Article  Google Scholar 

  22. Penna, P.H.: A comprehensive performance evaluation of the BinLPT workload-aware loop scheduler. Concurr. Comput.: Pract. Exp. 31(18), e5170 (2019)

    Article  Google Scholar 

Download references

Acknowledgement

Experiments presented in this paper were carried out using the Grid’5000 testbed, supported by a scientific interest group hosted by Inria and including CNRS, RENATER and several Universities as well as other organizations (see https://www.grid5000.fr).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Laurent Turpin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Turpin, L., Gautier, T., Rouzaud-Cornabas, J., Perez, C. (2020). P-Aevol: An OpenMP Parallelization of a Biological Evolution Simulator, Through Decomposition in Multiple Loops. In: Milfeld, K., de Supinski, B., Koesterke, L., Klinkenberg, J. (eds) OpenMP: Portable Multi-Level Parallelism on Modern Systems. IWOMP 2020. Lecture Notes in Computer Science(), vol 12295. Springer, Cham. https://doi.org/10.1007/978-3-030-58144-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-58144-2_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-58143-5

  • Online ISBN: 978-3-030-58144-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics