Sites Inria

English version

Recherche

Jean-Michel Prima - 18/04/2017

Simuler des systèmes distribués de grande échelle

Martin Quinson Martin Quinson, membre de l'équipe MYRIADS

Fruit de plus de quinze ans de recherches soutenues par Inria, SimGrid est un outil open source pour la simulation des systèmes distribués. Adopté par de nombreuses communautés scientifiques, il contribue aujourd'hui à l'optimisation des performances dans des contextes très divers. Le prochain défi vise à introduire maintenant SimGrid dans l'industrie. Pour ce faire, Inria va lancer une nouvelle Action de développement technologique (ADT) qui se poursuivra par la création d'un consortium, comme l'explique Martin Quinson, le coordinateur du projet.

P2P, HPC, grilles, cloud : le calcul distribué est devenu un rouage essentiel de notre monde numérique. Mais comment évaluer la performance des applications qui fonctionnent sur ces systèmes? Paradoxalement, cette estimation demeure plutôt empirique. La raison tient surtout au fait qu'il s'avère difficile de mener des expériences réelles et reproductibles sur des plates-formes largement distribuées. La solution la plus pratique consiste donc à recourir à la simulation. Encore faut-il pour cela disposer des bons outils.

Né en 1999, « SimGrid est un instrument scientifique pour l'étude du comportement des systèmes distribués de grande échelle, explique Martin Quinson. On peut le comparer à un microscope. Des chercheurs s'en servent pour toutes sortes de travaux dans le domaine. En moyenne, son nom apparaît dans une trentaine de publications chaque année. Énormément de simulateurs ultraspécialisés ont été conçus sur de brèves périodes de temps, généralement par des doctorants. En revanche, on trouve très peu d'outils plus génériques, développés sur le long terme et possédant donc la maturité de SimGrid. Je dirais moins de trois dans le monde. Cette réussite s'explique par le soutien dont nous avons bénéficié de la part d'Inria durant toutes ces années, que ce soit en termes de postes d'ingénieurs, d'infrastructures, ou autre. À cela s'ajoute l'aide de l'Agence nationale de la recherche qui finance deux de nos projets sur SimGrid pour un total de plus de 2M€. »

Exploiter pleinement la ressource disponible

Simuler une infrastructure distribuée permet, entre autres, de s'assurer que l'application exploite pleinement la ressource disponible. « J'ai eu l'occasion de collaborer avec des concepteurs de médicaments. Leur travail consistait à associer une molécule active et ce qu'on appelle une molécule de transport. Il fallait des semaines de calcul pour trouver la bonne combinaison parmi des milliards possibles. Or, à l'époque, leur logiciel comportait un bug. Il n'utilisait donc qu'une petite partie de la puissance de calcul. Et cela, les chercheurs l'ignoraient. Ils n'avaient aucun moyen de savoir si oui ou non ils faisaient un usage raisonné de la machine. Voilà un exemple typique d'une situation pour laquelle SimGrid peut produire des projections de performance afin de détecter une sous-utilisation de la ressource. »
Dans le monde scientifique, les chercheurs qui utilisent SimGrid s'en servent principalement pour tester leurs propres applications. « Et bien entendu, beaucoup de ces applications sont elles-mêmes... des simulateurs, que ce soit pour de la physique, de la météorologie, etc. Donc, concrètement, SimGrid simule la machine, le système d'information au-dessus duquel tourne un simulateur. »

L'instrument comprend deux parties. « D'une part, il propose des modèles validés de performance pour des plates-formes distribuées actuelles. Ces modèles peuvent servir à des études quantitatives afin d'identifier les problèmes de performance et de latence. D'autre part, il offre un cadre complet pour la vérification formelle. Ce mécanisme peut être utilisé pour la recherche systématique de bugs qualitatifs. »

L'Action de développement technologique lancée par Inria vise à descendre d'un cran en aval pour introduire SimGrid dans l'industrie. « Pour que des industriels adoptent un outil né de la recherche académique, il leur faut de la confiance et l'assurance d'un développement poursuivi sur du long terme, ce qui rend le soutien d'Inria d'autant plus important. L'ADT va nous permettre de financer un ingénieur confirmé pour une période de deux ans. »  Sa mission principale : fournir du support à la communauté d'utilisateurs et en particulier les nouveaux venus. « En fait, nous avons déjà quelques utilisateurs dans les services de R&D de plusieurs entreprises. »

Vérification de modèles pour applications distribuées

Particularité notable du projet SimGrid : « il couvre tout le champ allant de la recherche fondamentale, y compris la vérification formelle, jusqu'au déploiement en production. »  D'un point de vue scientifique, l'étape suivante concerne le débogueur. « Le problème des systèmes distribués, c'est qu'ils vont marcher 1 000 fois et qu'à la 1 001e fois, ils peuvent tomber en panne. »  Pourquoi ? « Parce que, fondamentalement, ce sont des entités dynamiques. Des phénomènes de latence apparaissent. L'exécution n'est jamais deux fois la même. C'est pour cela que nous nous intéressons à la vérification de modèles d'applications distribuées.»  Autrement dit : le test exhaustif de tous les chemins d'exécution. « Nous sommes les seuls dans le monde à étudier la vivacité dans les applications distribuées. C'est l'avenir en ce qui concerne la recherche académique. Les retombées industrielles viendront plus tard.  » 

Mots-clés : Martin Quinson INRIA Rennes - Bretagne Atlantique Myriads Simgrid

Haut de page

Suivez Inria tout au long de son 50e anniversaire et au-delà !