Parallel Algorithmic Skeletons for Metaheuristics

Abstract : Designing parallel software is a difficult task, but it became essential in modern computing. This is notably true in Operational Research (OR) where many algorithms can benefit greatly from parallelization. It has led to the development of software frameworks that ease the parallel design of OR algorithms, based on object-oriented and template programming. New design possibilities arose with the advances of template metaprogramming, especially in the C++ language.
Our goal is to design a library able to produce efficient parallel implementations of an algorithm from the knowledge of its structure with no runtime overhead. We propose to use algorithmic skeletons in order to describe OR algorithms and make them ready for parallelization. For this purpose, metaprogramming techniques are used first to provide facilities to describe an OR algorithm as a composition of algorithmic skeletons, and secondly to analyze and transform the skeleton, at compile-time, into an efficient code to be executed at runtime. In a first step, we focus on metaheuristics because, as they are generic structures, they naturally adapt to algorithmic skeletons.
Complete list of metadatas

Cited literature [3 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-02059533
Contributor : Alexis Pereda <>
Submitted on : Wednesday, March 6, 2019 - 4:59:41 PM
Last modification on : Friday, March 29, 2019 - 3:14:06 PM
Long-term archiving on: Friday, June 7, 2019 - 5:51:11 PM

File

roadef2019_article.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-02059533, version 1

Collections

Citation

Alexis Pereda, David R.C. Hill, Claude Mazel, Bruno Bachelet. Parallel Algorithmic Skeletons for Metaheuristics. 20ème congrès de la société française de Recherche Opérationnelle et d'Aide à la Décision (ROADEF), Feb 2019, Le Havre, France. ⟨hal-02059533⟩

Share

Metrics

Record views

55

Files downloads

39