04.07.2013 Views

Modélisation des systèmes temps-réel répartis embarqués pour la ...

Modélisation des systèmes temps-réel répartis embarqués pour la ...

Modélisation des systèmes temps-réel répartis embarqués pour la ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Modélisation</strong> <strong>des</strong> <strong>systèmes</strong> <strong>temps</strong>-<strong>réel</strong> <strong>répartis</strong> <strong>embarqués</strong><br />

Dans les sections suivantes, nous étudions différentes solutions <strong>pour</strong> <strong>la</strong> <strong>des</strong>cription d’une application<br />

répartie. Nous montrons l’évolution de ces solutions, depuis les <strong>la</strong>ngages de <strong>des</strong>cription<br />

d’interface, centrés sur les intergiciels, jusqu’aux <strong>la</strong>ngages de modélisation, centrés sur les applications.<br />

Nous évaluons l’efficacité de chaque approches vis-à-vis <strong>des</strong> critères que nous avons<br />

énoncés.<br />

II-2 Approches centrées sur l’intergiciel<br />

Pour <strong>la</strong> mise en p<strong>la</strong>ce d’une application répartie, de nombreuses solutions consistent à accorder<br />

à l’intergiciel une p<strong>la</strong>ce centrale. La couche de communication influe alors sur <strong>la</strong> façon dont<br />

l’application est construite.<br />

II-2.1 Bibliothèque de communication<br />

Nous pouvons considérer que l’un <strong>des</strong> intergiciels les plus simples est l’interface socket, permettant<br />

à un programme d’utiliser une pile de protocoles de type Internet. Une bibliothèque de<br />

sockets fournit une interface permettant d’effectuer <strong>des</strong> opérations primitives, telles que l’écoute<br />

ou l’envoi de messages (paquets), le calcul de l’adresse IP d’un nœud à partir de son nom (DNS),<br />

etc. Les sockets se caractérisent notamment par le fait que toutes les opérations évoluées – notamment<br />

<strong>la</strong> transmission d’un type de donnée déterminé – sont <strong>la</strong>issées au concepteur de l’application.<br />

L’application doit s’adapter à l’interface <strong>des</strong> sockets en ce qui concerne le format <strong>des</strong> données<br />

à transférer ; notamment, l’utilisateur doit prendre en compte les éventuelles différences de<br />

représentation <strong>des</strong> différents nœuds. La localisation <strong>des</strong> nœuds est également <strong>la</strong>issée à l’initiative<br />

de l’application, même si un service d’annuaire est en général disponible (DNS, Domain Name<br />

Service). De part son caractère minimal, une socket ne fournit aucune capacité d’adaptation ; là<br />

encore, l’application effectue toutes les opérations de communication et d’exécution.<br />

Bien que primitive, cette approche permet d’obtenir <strong>des</strong> très bonnes performances à l’exécution,<br />

dans <strong>la</strong> mesure où l’utilisateur possède un contrôle quasi-total sur le déroulement <strong>des</strong> communications.<br />

Ce principe est d’ailleurs repris dans certains intergiciels plus évolués, tels que MPI<br />

(Message Passing Interface).<br />

MPI [MPI, 2003] définit une interface d’intergiciel <strong>pour</strong> le calcul parallèle. Il s’agit donc d’une<br />

spécification d’intergiciel <strong>pour</strong> un usage hautement spécialisé, où <strong>la</strong> rapidité d’exécution est primordiale<br />

[Graham et al., 2005]. Pour ce<strong>la</strong>, une imp<strong>la</strong>ntation de MPI fournit un certain nombre de<br />

primitives <strong>pour</strong> <strong>la</strong> transmission de types de données prédéfinis. La mise en p<strong>la</strong>ce de mécanismes<br />

<strong>pour</strong> <strong>la</strong> transmission de types de données personnalisés est <strong>la</strong>issée aux soin de l’application ellemême.<br />

Du fait de son champ d’application extrêmement spécialisé, une imp<strong>la</strong>ntation de MPI est<br />

systématiquement optimisée <strong>pour</strong> <strong>la</strong> rapidité de transmission, et ne fournit pas de service supplémentaire<br />

tel qu’une gestion d’ordonnancement, etc. La localisation <strong>des</strong> nœuds est prise en charge<br />

par l’intergiciel, en général sous forme de fichier de configuration décrivant l’emp<strong>la</strong>cement <strong>des</strong><br />

différents nœuds sur le réseau ; <strong>la</strong> bibliothèque MPI s’occupe alors de déployer les nœuds sur les<br />

machines indiquées.<br />

II-2.2 Adaptation de l’intergiciel aux interfaces de l’application<br />

L’utilisation d’un intergiciel se limitant à une bibliothèque de communication figée permet<br />

d’obtenir de très bonnes performances en terme d’exécution. Cependant, ces avantages s’accompagnent<br />

d’un coût très important au niveau de <strong>la</strong> conception de l’application. Celle-ci doit en<br />

8 c○ 2007 Thomas Vergnaud

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!