previous up next top index
Précédent : Calcul de lignées sur entrées Remonter : Nouvelles fonctionnalités et distribution de Suivant : Conception de systèmes matériel-logiciel


Mises en oeuvre distribuées


Les apports récents sont à la fois théoriques, méthodologiques et pratiques.

L'étude de la dynamique des mises en oeuvre distribuées a permis de caractériser les différentes notions de correction attendues des implémentations parallèles, éventuellement partiellement ordonnées et/ou désynchronisées :

la correction fonctionnelle,
qui assure que les transformations effectuées sur la spécification initiale ne modifient pas la sémantique observationnelle du programme ;
la correction compositionnelle,
qui assure que les mises en oeuvre peuvent être spécialisées par immersion dans une configuration d'environnement particulière ;
la correction spatiale,
qui assure que la mémoire nécessaire à l'exécution est bornée ;
la correction temporelle,
qui assure que le temps de réponse de l'application est borné ;
l'équité,
qui assure qu'aucune partie du programme ne s'exécute infiniment plus vite qu'une autre ;
la correction flot de données,
qui assure que l'ordre observé des occurrences des signaux est conforme à l'ordre spécifié ;
la correction synchrone,
qui assure que les instants logiques de la spécification s'exécutent les uns après les autres (sans chevauchement).

Parallèlement, a été mise au point une méthode générique de distribution, basée sur des transformations des graphes de flots de données synchronisés. Cette méthode permet d'abstraire les opérations sur les graphes communes à toutes les implémentations distribuées (communication des données, du contrôle, et extraction des sous-graphes distribués en programmes communicants) [4]. Les parties spécifiques concernent les répartitions (affectations à des unités de calcul) des données et du contrôle du programme.

Cette abstraction autorise alors une multitude de mises en oeuvre différentes, dont les répartitions peuvent être basées sur des critères quantitatifs ou simplement qualitatifs (répartition fonctionnelle).

Un prototype de distribution fonctionnelle des programmes SIGNAL a été développé, basé sur une répartion fonctionnelle des données et du contrôle. Le schéma d'exécution est synchronisé (pas de chevauchement des instants logiques consécutifs au cours de l'exécution) et rendu possible par des mises en oeuvre compositionnelles (à l'aide d'ordonnanceurs dynamiques) sur chaque unité de calcul. Les communications entre processeurs sont gérées par la « Pom » (Parallel Observable Machine) développée dans le projet Pampa. Plusieurs exemples de simulation distribuée de programmes SIGNAL\ sont désormais disponibles en démonstration, sur les plate-formes Sun4, Sun5 (Solaris) et SGI.



previous up next top index Précédent : Calcul de lignées sur entrées Suivant : Conception de systèmes matériel-logiciel Remonter : Nouvelles fonctionnalités et distribution de