Utiliser le cloud pour simuler les épizooties

Date:
Mis à jour le 27/07/2022
La simulation à grande échelle peut aider à choisir la bonne stratégie pour endiguer les épidémies animales. Mais cela exige beaucoup de puissance informatique. D'où l'idée d'utiliser le cloud computing. Problème : les applications existantes n'ont jamais été conçues pour tirer parti de la grande élasticité d'une telle architecture. Développé au centre Inria Rennes – Bretagne Atlantique, DiFFuSE est un nouveau framework qui permet non seulement de concevoir et de gérer des simulations fonctionnant sur le cloud, mais aussi de convertir d'anciennes applications pour leur permettre d'exploiter cette infrastructure distribuée. Dans le cadre d'un futur consortium, DiFFuSE servira à créer de nouveaux outils d’aide à la décision pour le secteur de la santé animale.
Illustrations vaches
Daniel Leone via Unsplash, CC0

 

Conçu par l'Institut national de la recherche agronomique (Inra), le logiciel BVDV simule la façon dont la diarrhée virale bovine peut contaminer les troupeaux. Il peut ainsi aider à identifier les meilleurs moyens pour lutter contre une épidémie. Son modèle s'appuie sur des données collectées pendant près de dix ans dans 12 750 élevages bretons, soit 2,7 millions de vaches laitières.

C'est un exemple assez représentatif de beaucoup d'outils de simulation scientifique dans le monde : une application patrimoniale utile mais dont le code n'a jamais été prévu pour exploiter une architecture distribuée ultra-élastique comme le cloud. Pas étonnant donc qu'il lui faille environ deux jours pour effectuer une simulation ordinaire sur un serveur maison disposant de 13 cœurs et de 100 Go de mémoire.

Ce logiciel a fait récemment l'objet d'une transformation pour pouvoir désormais fonctionner sur le cloud. Cette conversion a été possible grâce à DiFFuSE, un nouveau framework mis au point à Inria par l'équipe Myriads.

« Nous avons développé cet outil dans le cadre de MIHMES, un projet collaboratif de cinq ans visant à créer de nouvelles méthodes pour gérer les maladies animales infectieuses, explique le scientifique Nikos Parlavantzas. Le framework peut servir à deux choses. Soit construire des applications de simulations d'épidémie destinées à fonctionner sur le cloud, soit convertir d'anciennes applications monolithiques afin qu'elles puissent, elles aussi, utiliser cette architecture distribuée. C'est ce que nous avons fait avec BVDV. »

L'élasticité offerte par le cloud permet d'allouer plus de moyens dès que le calcul s'essouffle.
« L'application ajoute des machines virtuelles dynamiquement puis, aussitôt qu'elle n'en a plus besoin, elle libère la ressource superflue à la volée. C'est un point important car les clouds commerciaux facturent en fonction de la ressource vraiment utilisée. Quant aux clouds académiques, ils peuvent immédiatement réattribuer la ressource libérée à d'autres chercheurs et chercheuses. »

Tolérance aux fautes

Une des grandes particularités de DiFFuSE tient dans la façon dont il permet à un logiciel de simulation de résister aux fautes. « Une application cloud utilise beaucoup de machines simultanément. L'une d'elles finira bien par tomber en panne à un moment ou à un autre. Dans ces cas-là, en général, c'est toute l'application qui s'arrête. Les utilisateurs doivent interrompre la simulation et tout recommencer à zéro. Ces arrêts engendrent de grosses pertes de temps. Notre framework comporte un mécanisme capable de détecter ces pannes et d'y réagir. »
Ainsi, quand une machine virtuelle est défaillante, la charge peut être réaffectée sur d'autres.

Autre caractéristique : la modularité. « Ce framework permet de développer une application composée de   différentes parties, différents services qui peuvent être gérés indépendamment. Cela présente plusieurs avantages. Par exemple, si l'on constate un goulet d'étranglement sur un service, on peut automatiquement attribuer des ressources supplémentaires à ce service et non pas à toute l'application. Par ailleurs, ces services peuvent être réutilisables par d'autres applications. » 
La tolérance aux fautes s'en trouve aussi renforcée.

« Si un service tombe en panne, on n'est plus forcément obligé d'arrêter toute l'application. Il devient possible de remplacer le service défectueux par un autre créé à la volée. » À noter aussi que les applications générées par DiFFuSE peuvent exploiter simultanément plusieurs clouds. « Vous pouvez déployer une partie sur Amazon EC2, par exemple, et une autre chez un de ses concurrents. »  En maîtrisant à la fois le nombre et type de ressources clouds utilisées, « le logiciel permet aux utilisateurs de trouver le meilleur compromis entre le coût et la performance. »

Au passage, la tolérance aux fautes s'améliore encore d'un cran. « Si un cloud s'avère indisponible pendant un moment, les calculs sont automatiquement envoyés vers un autre. » Dans le sillage du projet MIHMES, l'Inra et Inria ont décidé d'entreprendre l'industrialisation d'une série d'outils d’aide à la décision dans le domaine de la santé animale. Cette collaboration prendra la forme d'un consortium nommé STEMAH et dont DiFFuSE constituera l'un des éléments clés.