Parallélisation d'un algorithme d'inférence bayésienne en simulation

Pour : CNRS, Institut des Systèmes Complexes — Paris Île-de-France
2017-2020

Besoin : Calibrer un modèle multi-agents de système complexe.

Solution apportée : Une algorithme de calibration permettant d'exploiter en parallèle plusieurs milliers de processeurs.

Méthode : Partant d'un algorithme de calcul bayésien approché (approximate Bayesian computation) de l'état de l'art, conception et implémentation d'une version parallèle multi-niveaux.

Code : Une implémentation en haskell avec tests de la méthode. Une implémentation en Scala pour la plateforme de simulation OpenMOLE.

Les méthodes d'inférence bayésienne par simulation (Approximate Bayesian Computation) requièrent un très grand nombre d'exécutions de modèles. Celles-ci étant indépendantes, on peut les exécuter en parallèle pour tirer profit des ressources de calcul distribuées. Cet algorithme permet d'exploiter efficacement des milliers de cœurs en parallèle.

La figure ci-contre montre que le temps d'exécution de l'algorithme (vert) décroit plus vite que celui de son concurrent (violet) lorsque le nombre de cpu disponible (K) augmente. Chaque point correspond à une exécution d'un algorithme avec un paramètrage fixé. Les paramètres sont échantillonnés uniformément pour tester les deux algorithmes dans un large éventail de conditions.

D'autres missions

Parallélisation d'un algorithme d'inférence bayésienne en simulation
Pour : CNRS, Institut des Systèmes Complexes — Paris Île-de-France
2017-2020

Estimation de la pollution sonore
Pour : Inria
2016-2017

Exploration des sorties d'un modèle de simulation
Pour : CNRS, Institut des Systèmes Complexes — Paris Île-de-France
2013-2015

Un modèle spatial de la dynamique de population d'arbres en savane
Pour : Université Paris 6, Laboratoire Bioemco
2010-2013