Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 20

Image emergences pour impression
Personal tools
You are here: Home 2012 Lettre d'information n° 20 Modélisation polychrone pour systèmes embarqués multi-coeurs
Document Actions

Modélisation polychrone pour systèmes embarqués multi-coeurs

Des chercheurs Inria et de VirginiaTech explorent ensemble des paradigmes de programmation polychrone qui pourraient améliorer la conception des logiciels critiques embarqués pour les architectures multi-coeurs. Comme l'explique le scientifique Jean-Pierre Talpin, une partie de cette technologie open source sera utilisée par l'US Air Force.

Des chercheurs Inria et de VirginiaTech explorent ensemble des paradigmes de programmation polychrone qui pourraient améliorer la conception des logiciels critiques embarqués pour les architectures multi-coeurs. Comme l'explique le scientifique Jean-Pierre Talpin, une partie de cette technologie open source sera utilisée par l'US Air Force.

Sandeep Shukla? Il est si brillant qu'en 2001, quand il a déposé sa candidature pour un post-doc au sein d'Espresso, mon équipe de recherche, ici à Rennes, j'ai tout de suite pensé que nous ferions mieux de le recruter comme chercheur, se souvient Jean-Pierre Talpin. La proposition lui fut d'ailleurs faite.” Mais le scientifique d'origine indienne et spécialiste des logiciels embarqués choisira finalement UC Irvine, en Californie, avant de rejoindre VirginiaTech où il créera, plus tard, le laboratoire Fermat.

Nous avions cependant établi un lien. Nous avons commencé par un programme collaboratif avec un financement NSF et Inria, puis Balboa (1), un projet de plus grande durée. En 2008, Sandeep nous a rejoint pour une année sabbatique. Il s'est vraiment intégré dans l'équipe, multipliant les discussions avec les chercheurs Loïc Besnard, Paul Le Guernic et Thierry Gautier. Il voulait vraiment étudier l'intérêt que présente notre plate-forme de développement. Il était désireux de l'utiliser et prêt à travailler dessus.

Polychrony

Et c'est ainsi que Polychrony allait bientôt traverser l'Atlantique. “Virginia Tech collabore avec le laboratoire de l'US Air Force. Sandeep Shukla élabore un environnement de programmation à langage dédié (2) pour la création d'architectures de logiciels embarqués. Cet environnement repose sur le modèle de calcul et de communication de nos outils. Loïc Besnard, le vrai architecte de Polychrony, s'est rendu sur place pour les aider à utiliser le code. Jusqu'à présent, les choses avancent bien.” 

 Le logiciel trouve une utilisation dans nombre de contextes différents. “Pas seulement grâce aux modèles, mais en raison de notre positionnement. En effet, nous ne considérons pas Polychrony comme un environnement pour un utilisateur final. Nous le voyons plutôt comme une accumulation d'expériences sur des algorithmes et des méthodes que nous souhaitons appliquer à des scenarii spécifiques nous semblant s'y prêter. Le scénario de Virginia Tech constitue un parfait exemple. Ils construisent un environnement pour un utilisateur final dans lequel seront incorporés certains des algorithmes provenant de notre boîte à outils.

Cette année, Jean-Pierre Talpin prévoit “un projet commun entre Espresso, Virginia Tech et le laboratoire de l'US Air Force. Pour nous, ce n'est évidemment pas une configuration habituelle.” Mais il se trouve que Polychrony est une technologie open source. Une condition sine qua non pour les aviateurs américains. “Ils ne veulent pas d'un morceau de logiciel pour lequel ils n'ont pas accès au code source.

La collaboration pourrait bientôt s'élargir à une autre équipe de recherche : le groupe des systèmes embarqués de l'université de Kaiserslautern. “Un tel partenariat serait une bonne chose car chacun apporte une contribution très spécifique. L'ESG développe un environnement de programme synchrone basé sur Esterel. C'est un langage de programmation impératif. Espresso fournit Polychrony, un environnement de spécifications de réseaux de flots de données. Virginia Tech propose une nouvelle approche et des scenarii d'application pour combiner l'ensemble. Tous trois, nous échangeons énormément. Ce qui engendrera beaucoup de nouveauté dans notre domaine.

Discussions contradictoires

La collaboration est encore plus fructueuse du fait que des désaccords existent entre les chercheurs. “Appelons cela une confrontation dogmatique. Sur certains aspects techniques, les vues de Sandeep diffèrent notablement des nôtres. Ses idées sont vraiment originales. Mais il est bon, parfois, de bousculer ce qui semble faire l'unanimité dans l'état des connaissances. Récemment, par exemple, nous avons exprimé nos différences d'opinions sur le concept de causalité, cette relation entre causes et effets liant les événements dans un système. C'est un point crucial pour développer des logiciels embarqués. Il existe plusieurs approches. Sandeep utilise ce qu'on appelle la sémantique constructive, et qui a été développée dans d'autres langages synchrones. D'un autre côté, notre environnement, lui, a été élaboré autour du concept de graphe de causalité. C'est plus efficace en terme de temps d'analyse, mais moins précis. Nous renonçons à une partie de la précision au bénéfice de la vitesse. Notre prochaine publication portera justement sur la comparaison de ces deux voies.

Durant le même temps, Espresso et Virginia Tech ont initié encore un autre projet : Polycore. “La tendance est aux architectures multi-cœurs. Leur prix baisse et elles débarquent en ce moment sur le marché du hardware. On trouve désormais couramment des multi-cœurs dans les grandes architectures embarquées. Mais je pense que les méthodes formelles employées jusqu'à présent ne peuvent pas tirer partie de la programmation concurrente. La plupart d'entre elles reposent sur un modèle strict de calcul synchrone convenant mieux à une planification statique sur mono-processeur. À mon sens, un environnement comme Polychrony est particulièrement bien placé pour gérer les exécutions déterministes de programmes sur multi-coeurs. Et en réalité, voilà l'essentiel de la valeur ajoutée que nous souhaitons apporter dans ce projet.”

Notes :
(1) Balboa était un projet entre UC San Diego, Virginia Tech et Inria.
(2) En anglais : Domain Specific Language ou DSL.


Lire aussi :
Polychrony, une boîte à outils pour systèmes embarqués