Projet : SLOOP

previous up next contents
Précédent : Fondements scientifiques Remonter : Fondements scientifiques Suivant : Programmation distribuée, parallèle, et concurrente


Sous-sections


   
Simulation

Mots clés : simulation à événements discrets, simulation répartie .

Les premiers simulateurs parallèles sont apparus à la fin des années 70, mais les bases algorithmiques en ont été établies par K. M. Chandy et J. Misra en 1979. Les travaux de T. Jefferson ont ensuite permis une avancée significative dans l'utilisation du parallélisme pour simuler des systèmes généraux.

Dès 1991, nous avons eu une approche originale qui utilise le formalisme des réseaux de Pétri pour modéliser les systèmes à simuler. Parallèlement, nous nous sommes également attachés à implémenter ces méthodes, ce qui nous a permis de réaliser des prototypes comme PARSEVAL et MTOOL. Cette mise en pratique s'est également avérée riche en enseignements et en nouveaux problèmes ouverts. En particulier, l'utilisation de langages orientés objets nous a ensuite permis (PROSIT) une mise en oeuvre plus propre et plus efficace des simulateurs.

Malgré les avancées récentes, les solutions aux problèmes de placement et d'ordonnancement qui se posent dans les simulations parallèles restent très perfectibles. De manière générale, les techniques algorithmiques qui sont actuellement utilisées restent primitives et doivent être raffinées. Enfin, les nouvelles techniques que nous avons mises au point font l'objet d'implémentations qui vont peu à peu se perfectionner et, plus généralement, une meilleure compréhension de la dynamique des systèmes à événements discrets généraux est nécessaire pour concevoir des algorithmes nouveaux et plus efficaces.

Simulation répliquée

Dans une première étape, les architectures parallèles peuvent être utilisées pour l'accélération des simulateurs existants. Cette accélération peut être obtenue par la réplication d'un même simulateur sur un ensemble de processeurs de calcul. Cette méthode peut s'appliquer pour l'observation d'un système non-ergodique[*] ou pour l'étude de l'influence d'un certain nombre de paramètres sur un système.

Ces travaux ont notamment débouché sur une version parallèle de QNAP2 et son intégration dans MODLINE.

Simulation répartie

L'expérience acquise avec le prototype PARSEVAL a permis de mieux comprendre les problèmes de la simulation répartie et son champ d'application efficace.

Le projet SLOOP poursuit dans ce domaine trois axes de recherche principaux :

Nouvelles méthodes de simulation

Des tentatives récentes pour développer une vision algébrique des systèmes à événements discrets ont été très fructueuses. Si l'on considère par exemple un système qui contient des synchronisations mais pas de conflits entre ses activités, alors ce système peut se modéliser sous forme d'un graphe d'événements dont le fonctionnement est linéaire dans l'algèbre (max,+). La théorie classique des systèmes linéaires peut alors pratiquement être refaite dans cette algèbre « exotique ».

Mais cette vision algébrique des systèmes nous a aussi permis de mettre au point de nouveaux algorithmes massivement parallèles de simulation qui exploitent les équations d'évolution du système (qui sont linéaires) pour obtenir des performances un ou deux ordres de grandeur au-dessus de ce qui était possible avec des méthodes classiques. Au lieu de manipuler la liste des événements du système, ces algorithmes font évoluer les variables d'état du système. Il reste des problèmes spécifiques aux modèles linéaires comme le calcul des constantes qui régissent le fonctionnement du système.

Dès 1991, nous avons aussi analysé une classe de systèmes « non linéaires » par cette approche équationnelle. Ils se décomposent en une partie linéaire dans (max,+) et une partie linéaire dans l'algèbre classique. Des résultats théoriques asymptotiques de stabilité et de stationnarité ont été établis ainsi que des algorithmes de simulation généralisant les précédents. Ces recherches très récentes et très prometteuses sont encore dans une phase de développement.


Footnotes

... non-ergodique[*]
par exemple pour l'étude d'un état transitoire, du temps avant panne, etc.


previous up next contents
Précédent : Fondements scientifiques Remonter : Fondements scientifiques Suivant : Programmation distribuée, parallèle, et concurrente