• Aucun résultat trouvé

1.2 Notre approche

1.2.3 Contributions et plan

Première partie : modèles flot de données

Le chapitre2établit essentiellement des rappels sur les principaux modèles flots de données de

l’état de l’art. Nous rappelons tout d’abord des propriétés fondamentales sur les réseaux de processus, concernant la propriété d’absence de conflit, et toutes ses conséquences bénéfiques : (i) (confluence et

équité) une tâche effectuable sera forcément effectuée et ne peut être repoussée indéfiniment ; (ii) (uni- cité du comportement) toutes les exécutions possibles du modèle ne sont que les ordonnancements

différents d’un même comportement partiellement ordonné. Puis nous retraçons les principaux ré- sultats sur les graphes marqués, sur lesquels nous nous appuierons par la suite. Nous proposons un algorithme pour calculer les dimensions minimales des places tout en maximisant le débit du graphe. Ensuite nous présentons les deux grandes familles de modèles qui étendent les graphes marqués par des routages variables, statiques puis dynamiques. Enfin, nous évoquons des modèles plus complexes, faisant intervenir routage paramétré et hiérarchie.

Le chapitre3présente le modèle central de cette thèse, les graphes à routage k-périodique (KRG). Initialement introduits par Boucaron [33], nous en formalisons leur définition et leur sémantique dans une première section. Nous montrons comment vérifier leur caractère borné, au moyen d’une abs- traction en graphe SDF. Nous abordons aussi la question de la vivacité du graphe. Dans une seconde section, nous étudions les dépendances de données au sein du KRG. Nous construisons une première représentation des dépendances de données au moyen d’un graphe de dépendance étendu, potentielle- ment infini. Nous définissons alors deux relations d’équivalences entre données, selon lesquelles nous pouvons borner notre étude à un domaine fini, représenté par un graphe de dépendance réduit. Cette dernière représentation des dépendances nous permet alors de construire, pour tout KRG, sa forme normale : nous fixons ainsi une sémantique de référence aux KRG, en établissant leur lien avec les graphes marqués. Les deux sections suivantes sont consacrées aux transformations de la topologie du KRG, tout en préservant leur fonctionnalité. Nous construisons une forme expansée de l’intercon- nexion du graphe, et montrons la complétude des transformations sur le routage. La dernière section présente l’adjonction d’une sémantique synchrone aux KRG. Nous pouvons alors discuter de leur ordonnancement et du dimensionnement des mémoires.

Seconde partie : du programme au modèle

Le chapitre4rappelle les principes du modèle polyédrique, ainsi que son utilité pour la compila- tion d’applications flot de données. La première section présente les deux approches usuelles à partir desquelles est construit le modèle polyédrique, à savoir les systèmes d’équations récurrentes et les nids de boucles. Ensuite, nous expliquons les différents concepts du modèle polyédrique, représentés sous

la forme d’un graphe de dépendance réduit polyédrique (GDRP). Enfin nous rappelons les différents résultats de l’état de l’art sur la parallélisation de flots de données au sein du modèle polyédrique.

Le chapitre5détaille la construction d’un KRG à partir d’un GDRP. La première section explique

comment déterminer le nombre de nœuds de calcul nécessaires à l’exécution parallèle des opérations, et leur projection sur ces nœuds de calcul. La seconde section expose la construction de l’intercon- nexion des nœuds de calcul. Nous calculons le routage nécessaire à la scission et à la fusion de flots de jetons, ainsi qu’à leur permutation pour une consommation dans le désordre. Enfin nous discutons, dans une dernière section, des avantages et inconvénients de notre solution, ainsi que d’un éventuel

feedbackdu KRG vers le GDRP.

Troisième partie : du modèle au circuit

Le chapitre6expose les différentes implantations possibles d’un système modèlisé par un KRG,

au moyen de la méthodologie de conception insensible aux latences (LID). Dans une première sec- tion, nous rappelons les différentes implantations dynamiques et statiques de l’état de l’art pour les systèmes sans routage, et présentons nos propres variantes. Dans une deuxième section, nous nous appuyons sur les résultats de la section précédente pour proposer des implantations insensibles aux latences des KRG, aussi bien statiques et que dynamiques.

Quatrième partie : conclusion et annexes

Le chapitre7conclut ce manuscrit, et présente nos différentes idées sur des travaux futurs, en vue d’en améliorer les résultats.

L’annexeAregroupe un ensemble de définitions et propriétés mathématiques sur lesquelles s’ap-

puient nos travaux. Dans une première section, nous rappelons des travaux sur la théorie n-synchrone, ainsi que les définitions et propriétés de nos opérateurs sur les séquences binaires. Dans une seconde section, nous rappelons les principaux résultats de la théorie des polyèdres, grâce auxquels nous éta- blissons le lien entre KRG et modèle polyédrique. Enfin, la dernière section résume les définitions des graphes de permutation et d’intervalle, nécessaire aux permutations des jetons pour des consomma- tions dans le désordre.

L’annexeBregroupe l’ensemble des preuves des lemmes, propositions et théorèmes du manus-

Chapitre

2

Modèles existants

Nous sommes tous influencés par les outils que nous utilisons, en particulier : les formalismes que nous utilisons modèlent nos façons de penser, pour le meilleur ou pour le pire, et cela veut dire que nous devons être très prudents dans le choix de ce que nous apprenons et enseignons, il n’est pas vraiment possible de désapprendre.

Edsger Dijkstra, EWD1305 : Answers to questions from students of Software Engineering, 28 novembre 2000.

Sommaire

2.1 Principes . . . . 40

Documents relatifs