Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 44

Image emergences pour impression
Personal tools
You are here: Home 2016 Lettre d'information n° 44 Simuler des systèmes distribués de grande échelle
Document Actions

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

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.

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 plateformes 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 (1). 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 autre, 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 plateformes 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.

------
Note :

(1)
- Martin Quinson est membre de Myriads, une équipe-projet Inria, ENS Rennes,  Université Rennes 1, CNRS et Insa Rennes, commune à l'Irisa.

- Arnaud Legrand est responsable de Polaris, une équipe-projet  Inria, Université Grenoble Alpes et CNRS.

- Frédéric Suter est membre d'Avalon,  une équipe-projet Inria, CNRS, ENS Lyon, Université Claude Bernard Lyon 1 et Université de Lyon.