Skip to Main content Skip to Navigation
Journal articles

A comparative study of high-productivity high-performance programming languages for parallel metaheuristics

Jan Gmys 1, 2, * Tiago Carneiro 3 Nouredine Melab 3, 4 El-Ghazali Talbi 3, 4 Daniel Tuyttens 1, 2
* Corresponding author
3 BONUS - Optimisation de grande taille et calcul large échelle
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189
Abstract : Parallel metaheuristics require programming languages that provide both, high performance and a high level of programmability. This paper aims at providing a useful data point to help practitioners gauge the difficult question of whether to invest time and effort into learning and using a new programming language. To accomplish this objective, three productivity-aware languages (Chapel, Julia, and Python) are compared in terms of performance, scalability and productivity. To the best of our knowledge, this is the first time such a comparison is performed in the context of parallel metaheuristics. As a test-case, we implement two parallel metaheuristics in three languages for solving the 3D Quadratic Assignment Problem (Q3AP), using thread-based parallelism on a multi-core shared-memory computer. We also evaluate and compare the performance of the three languages for a parallel fitness evaluation loop, using four different test-functions with different computational characteristics. Besides providing a comparative study, we give feedback on the implementation and parallelization process in each language.
Complete list of metadata

Cited literature [45 references]  Display  Hide  Download

https://hal.inria.fr/hal-02879767
Contributor : Jan Gmys <>
Submitted on : Wednesday, June 24, 2020 - 11:24:09 AM
Last modification on : Monday, December 14, 2020 - 4:45:23 PM

File

SWEVO2020-R1.pdf
Files produced by the author(s)

Identifiers

Citation

Jan Gmys, Tiago Carneiro, Nouredine Melab, El-Ghazali Talbi, Daniel Tuyttens. A comparative study of high-productivity high-performance programming languages for parallel metaheuristics. Swarm and Evolutionary Computation, Elsevier, 2020, 57, ⟨10.1016/j.swevo.2020.100720⟩. ⟨hal-02879767⟩

Share

Metrics

Record views

102

Files downloads

2531