Projet : SOSSO

previous up next contents
Précédent : Schéma chronopharmacologique théorique pour corriger perl Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et


Sous-sections


   
Méthode d'``Adéquation Algorithme Architecture''



Participants : Thierry Dénoyer, Ailton Dias, Thierry Grandpierre, Rémy Kocik, Christophe Lavarenne, Yves Sorel, Annie Vicard.

Résumé :

Les travaux, cette année, ont porté sur les points suivants :
Amélioration des modèles d'algorithme, d'architecture, d'implantation et d'exécutif.
Améliorations de l'heuristique pour une meilleure prise en compte du conditionnement, pour la prise en compte des contraintes temps réel multiples et des aspects dynamiques de l'exécutif.
Portage du logiciel SynDEx en TCL/TK et C++.
Réalisation dans un circuit reconfigurable d'un microcontrôleur intégrant les mécanismes de synchronisation de SynDEx pour l'utilisation en réseau dans le domaine de l'automobile.

Modèles d'algorithme, d'architecture et d'implantation.

Dans le graphe modélisant l'algorithme, pour simplifier la spécification du conditionnement et pour améliorer sa prise en compte dans l'heuristique d'optimisation, nous avons supprimé les opérations ``when'' de conditionnement (qui deviennent implicites), nous avons rendu explicites les dépendances de conditionnement (horloges d'activation du format commun DC des langages synchrones) et permis la spécification explicite de la complémentarité entre certaines dépendances de conditionnement. Les opérations ``default'' de mélange prioritaire permettent toujours de spécifier implicitement de telles complémentarités. Dans le graphe modélisant l'architecture, nous avons ajouté des médias de communication par mémoire partagée, appelés ``médias RAM'' par opposition aux autres médias appelés ``médias SAM'' (Sequential Acces Memory en mode Fifo). Dans le modèle d'implantation, nous avons amélioré le routage des communications inter-processeur : plusieurs routes parallèles peuvent joindre deux processeurs et la diffusion peut avoir lieu en cours de routage.

Génération de net-list.

La factorisation des dépendances de données du graphe de l'algorithme se concrétise par du ``contrôle'' ajouté au ``chemin de données''. Dans le cas des processeurs, le contrôle correspond au séquenceur d'instructions et à son programme. Dans le cas des circuits, le contrôle correspond à des horloges et des compteurs interdépendants pilotant des multiplexeurs. Nous collaborons avec le LPSI de l'Esiee pour développer un générateur de net-list dans le cas des circuits reconfigurables ( FPGA XILINX).

Contraintes temps réel multiples et exécutifs.

Jusqu'à présent, nous n'avons considéré implicitement qu'une seule contrainte temps réel de latence et généré des exécutifs statiques (ordonnancement des opérations et des communications décidé avant l'exécution) dont le surcoût est minimum, les éventuelles exécutions préemptives étant limitées aux interruptions de fin de communications et au traitement périodique des entrées-sorties. Nous étudions comment spécifier plusieurs contraintes : une contrainte de latence entre chaque entrée et chaque sortie du graphe de l'algorithme, et une contrainte de cadence pour chaque opération. Le modèle de graphe de dépendances factorisé permet de spécifier implicitement des contraintes de cadence multiples les unes des autres. Nous étudions les apports d'un exécutif dynamique dans le cas des contraintes multiples.

Optimisation.

Nous étudions actuellement la prise en compte, dans l'heuristique d'optimisation de l'implantation, de contraintes temps réel multiples et la possibilité de générer des parties dynamiques dans l'exécutif. En fonction des contraintes et des durées d'exécution, certaines parties d'applications qui ne respecteraient pas les contraintes en utilisant un exécutif totalement statique, peuvent les respecter en utilisant un exécutif dynamique, par exemple de type ``rate-monotonic''. Cependant le surcoût des changements de contextes préemptifs (dynamiques, en fonction des priorités rate-monotonic) peut être minimisé par des changements de contexte coopératifs (statiques, préordonnancés). Nous étudions aussi l'exploitation de la factorisation dans l'heuristique, sous forme de ``défactorisations partielles'' permettant un compromis entre ressources (processeurs ou surface circuits) et temps d'exécution. Enfin, la spécification explicite de la complémentarité de certains booléens de conditionnement permet, pour l'optimisation du pire cas, de ne prendre en compte pour chaque alternative que la branche la plus critique.

Logiciel d'aide à l'implantation SynDEx.

SynDEx, initialement développé en Smalltalk, est porté depuis l'an dernier en TCL/TK pour l'interface homme-machine et en C++ pour le coeur et le générateur d'exécutifs, afin d'élargir sa diffusion sur l'Internet et de simplifier sa valorisation industrielle. Cette version v5.0 est disponible en beta-test. Elle permet de spécifier des algorithmes sous forme factorisée et des architectures hétérogènes, et de router les communications de manière plus efficace (diffusion en cours de routage et routages parallèles). Deux études sont en cours dans le cadre du GDR/PRC ISIS OT7.1, l'une pour s'interfacer avec le logiciel Dromadaire basé sur le langage fonctionnel Caml pour le prototypage rapide d'applications de traitement d'images, développé au Lasmea de l'université de Clermont-Ferrand, et l'autre pour s'interfacer avec le logiciel Mustig de simulation d'algorithmes de traitement du signal et des images, développé au Cephag de l' INPG de Grenoble. La réalisation de l'interface avec le logiciel Scicos de simulation de système hybrides, développé à l'Inria dans le projet Meta2, a continué cette année. Une premiere version est disponible en beta-test.

Pour le prototypage rapide ou l'accélération de performances, moins contraignants que le temps réel, SynDEx v4.3 produit maintenant des exécutifs pour des multi-stations de travail Unix (et Linux) communiquant sous TCP/IP.

SynDEx dans le silicium.

Nous concevons un microcontrôleur bien adapté à une utilisation en réseau (applications automobile, robotique ...) qui intègre dans le silicium la version la plus optimisée des primitives de communication et de synchronisation des exécutifs SynDEx. Une description VHDL synthétisable d'une première version de ce microcontrôleur, ainsi qu'une réalisation synchrone sur des FPGA d'Altera ont été réalisées en collaboration avec le département ComElec de l' ENST et la PME PLDA. Nous envisageons d'étudier les avantages d'une version ``full-custom'' asynchrone. Par ailleurs, des travaux sont en cours dans le cadre du GDR/PRC ISIS et avec THOMSON-TCC pour adapter la méthodologie AAA et le logiciel SynDEx aux SOCs (System On a Chip) comprenant plusieurs processeurs de types différents et éventuellement une partie configurable. À plus long terme nous envisageons d'étudier des MEMs (MicroElectroMechanical systems) intégrant aussi sur le Soc des parties analogiques, permettant d'acquérir les informations directement à partir de l'environnement physique.



previous up next contents
Précédent : Schéma chronopharmacologique théorique pour corriger perl Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et