当前位置: X-MOL 学术Swarm Evol. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A comparative study of high-productivity high-performance programming languages for parallel metaheuristics
Swarm and Evolutionary Computation ( IF 10 ) Pub Date : 2020-06-09 , DOI: 10.1016/j.swevo.2020.100720
Jan Gmys , Tiago Carneiro , Nouredine Melab , El-Ghazali Talbi , Daniel Tuyttens

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.



中文翻译:

并行元启发式高生产率高性能编程语言的比较研究

并行元启发法需要提供高性能和高级别可编程性的编程语言。本文旨在提供有用的数据点,以帮助从业人员判断是否需要花费时间和精力来学习和使用新的编程语言这一难题。为了实现此目标,在性能,可伸缩性和生产力方面比较了三种可感知生产力的语言(Chapel,Julia和Python)。据我们所知,这是第一次在并行元启发式方法中进行这种比较。作为一个测试案例,我们在多核共享内存计算机上使用基于线程的并行性,以三种语言实现两种并行元启发式方法,以解决3D二次分配问题(Q3AP)。我们还使用四个具有不同计算特征的不同测试函数,针对并行适应性评估循环评估和比较了三种语言的性能。除了提供比较研究之外,我们还针对每种语言的实现和并行化过程提供反馈。

更新日期:2020-06-09
down
wechat
bug