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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Iterations only perform computation.
References
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
Caballero, A.: Developments in the prediction of effective population size. Heredity 73(6), 657–679 (1994)
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)
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)
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)
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
Evans, J.: A Scalable Concurrent malloc(3) Implementation for FreeBSD, p. 14, April 2006
Fischer, S., Bernard, S., Beslon, G., Knibbe, C.: A model for genome size evolution. Bull. Math. Biol. 76(9), 2249–2291 (2014)
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
Graham, R.L.: Bounds for certain multiprocessing anomalies. Bell Syst. Tech. J. 45(9), 1563–1581 (1966)
Graham, R.L.: Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 17(2), 416–429 (1969)
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
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)
Hochbaum, D.S., Shmoys, D.B.: Using dual approximation algorithms for scheduling problems theoretical and practical results. J. ACM 34(1), 144–162 (1987)
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
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)
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)
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
Olivier, S., Supinski, B., Schulz, M., Prins, J.: Characterizing and mitigating work time inflation in task parallel programs. Sci. Program. 21, 1–12 (2012)
OpenMP Architecture Review Board: OpenMP Application Program Interface. Specification (2015). https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf
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)
Penna, P.H.: A comprehensive performance evaluation of the BinLPT workload-aware loop scheduler. Concurr. Comput.: Pract. Exp. 31(18), e5170 (2019)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)