• Aucun résultat trouvé

Après avoir recensé les différentes définitions liées aux principes d’auto-organisation et d’émergence, nous avons proposé dans ce chapitre une définition synthétique et globale des systèmes auto-organisés et/ou émergents. Ainsi, on définit l’auto-organisation d’un système à la fois :

– Par les principes et les mécanismes qui résident dans sa restructuration et sa gestion sans aucun contrôle externe,

– Par son adaptation dynamique aux changements de l’environnement dans lequel il évolue, – Par sa capacité à répondre aux changements imprévus par l’intéractivité des éléments qui

le consituent,

– Par sa complexité et sa modularité.

Parmi les solutions de mise en œuvre de tels systèmes, nous pouvons citer les systèmes de

calcul inspirés organique (organic computing), les systèmes de calcul autonome (autonomic computing) et les systèmes multi-agents (multi-agent systems). Ces systèmes sont

caractéri-sés par une complexité et une taille très élevées. D’une manière générale, ils sont spécifiés par la composition et la structuration de plusieurs entités d’une complexité plus ou moins

éle-1.5. Conclusion

vée. Cependant, ces systèmes présentent des performances insuffisantes dans certains domaines d’application nécessitant un fonctionnement temps réel. En effet, de façon plus concrète les sys-tèmes existants reposent principalement sur l’association de processeurs modélisant des entités les constituant et permettant une forte flexibilité.

Nous proposons une autre approche de mise en œuvre de l’auto-organisation de système à base de technologie FPGA. Plus précisement, nous proposons une mise en œuvre de la propriété d’auto-organisation et / ou émergence d’un système à travers la mise en place de mécanismes reposant sur l’utilisation de la reconfiguration dynamique des circuits FPGA. L’objectif visé par cette approche est d’apporter une adaptabilité structurelle de calcul tout en répondant à des exigences de performances de traitement élevées. Dans ce cadre, des entités de calcul maté-rielles ou logicielles ( IP, Hard ou Soft processeurs, etc.) au sein d’une structure reconfigurable constituent les entités au niveau micro d’un système auto-organisé. Des phases de « reconfigu-ration exécution » partielles ou globales de cette structure permettent de mettre en œuvre les propriétés d’adaptabilité, de flexibilité et de réorganisation de tâches de calcul en vue d’une émergence au niveau macro d’un système. Ces phases de reconfiguration permettent d’assurer la mise en œuvre d’une auto-organisation et d’une émergence. C’est l’objet des travaux présen-tés dans ce manuscrit de thèse dont les chapitres suivants présentent et détaillent les concepts, les mécanismes et les besoins architecturaux et structurels de l’approche proposée.

Chapitre 2

Concepts de l’auto-organisation matérielle

à base de technologie reconfigurable

2.1 Introduction

Depuis plusieurs années, la technologie reconfigurable dynamiquement de type FPGA est considérée comme une nouvelle alternative pour la réalisation d’architectures de traitement nu-mérique de l’information. En effet, elle permet de mettre en œuvre un nouveau paradigme cor-respondant au concept de « calcul reconfigurable ». Bien que ce concept soit déjà relativement

ancien [EV62], la démocratisation de la technologie FPGA a conduit à un accroissement

d’inté-rêt pour la mise en œuvre d’une stratégie de calcul reconfigurable. En pratique, cela s’est traduit initialement par l’association de ces technologies à un processeur pour évoluer de nos jours vers un couplage plus étroit se traduisant par l’intégration d’une matrice FPGA et de processeurs sur

la même puce [BRM+99, Tan01]. L’objectif est de profiter simultanément des performances

d’une technologie permettant une logique câblée tout en gardant une forte flexibilité à travers la

disposition d’une structure microprogrammée [CH02].

Avec l’évolution actuelle des systèmes complets intégrant des modules de nature différente sur une même puce (SoC - System on a chip), les technologies reconfigurables deviennent pri-mordiales. En effet, ayant à l’origine une flexibilité matérielle très limitée (structure de type

ASIC)5) , les SoC ont besoin à la fois de gérer leur fonctionnement de manière autonome et

de s’adapter à des modifications de l’environnement dans lequel ils évoluent. C’est dans ce contexte que la technologie FPGA permet une versatilité à travers des phases de reconfigura-tion dynamique (globales ou partielles) tout en conservant un minimum de performances. Cette versatilité s’exprime à travers des changements spatio / temporels de la structure du circuit

per-5ASIC - Application-specific integrated circuit - circuit intégré à application spécifique. Circuit intégré conçu et réalisé pour une ou plusieurs applications particulières [GRD]

mettant ainsi une grande souplesse matérielle. La figure2.1 illustre des phases d’« exécution-reconfiguration » d’une structure reconfigurable dynamiquement.

Séquence de configuration 1ère config 2ème config 3ème config n−ème config spatiale Ressource calcul Unité de 2ème zone spatiale calcul p2 1ère zone spatiale calcul p1 spatiale calcul pn n−ème zone Temps

FIG. 2.1 – Illustration de l’évolution spatio-temporelle d’une structure matérielle reconfigurable

dynamiquement de type FPGA.

Les propriétés de reconfiguration dynamique de circuit FPGA sont appropriées à la concep-tion de systèmes auto-organisés. En effet, l’auto-reconfiguraconcep-tion d’une structure matérielle per-met la mise en œuvre de l’restructuration matérielle. On parlera alors de systèmes auto-organisés reconfigurables. L’objet de ce chapitre est l’étude d’une conception d’un système organisé reconfigurable. Pour cela, une transposition des propriétés de systèmes auto-organisés vers les systèmes reconfigurables dynamiquement à base de technologie FPGA doit être menée.

La suite de ce chapitre est organisée de la manière suivante. Dans une première partie nous rappelons les principales caractéristiques de la reconfiguration dynamique à base de technologie

FPGA. Ensuite, nous proposons une définition d’un système auto-organisé reconfigurable. Puis,

une transposition des caractéristiques d’un système auto-organisé (présentées dans le chapitre précédent) est présentée dans le cadre de la mise en œuvre d’un système reconfigurable. Enfin, nous concluons ce chapitre en recensant les principaux besoins nécessaires à la conception de tels systèmes auto-organisés reconfigurables.