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.