6 research outputs found

    Les effets de l’environnement sur le développement et l’organisation d'architectures de traitement matériel auto-organisées.

    Get PDF
    Since a few years, due to physical limitations, it has not been possible to increase the micro-processors frequency anymore.To tackle more and more complex applications, the current trend is to increase the number of computation cores.However, beyond tens of cores, some issues emerge.Among them, we can cite memory management, communications, programming or task scheduling.To address these challenges, we have designed a computer which is able to self-organize its own internal architecture dependingon the nature and the richness of the informations sensed in the environment in which it is placed.This computer is part of a sensori-motor loop of a mobile robot, thus allowing a large panel of complex applications, running in a dynamic environment.It is made of a 2D mesh network of processing elements which are reconfigurable surfaces, that can host a processor or a hardware accelerator.The self-organization of the architecture takes the form of the emergence of computation areas on the chip surface, among the processing elements.The developpment and the evolution of these areas are driven by a hardware neural network, integrated in the programmable computation layer.The novelty of this self-organizing map neural network is that it is completely distributed, and that the neurons are sparsely connected.We think indeed that these conditions are necessary for the scalability of an architecture.This neuronal layer takes its inputs from a pre-processing sublayer which extracts the relevant information in the environment.In the context of this work, this layer is implemented as a bio-inspired vision system, also validated in a robotics context.Les avancées technologiques récentes ont permis d'intégrer plusieurs milliards de transistors au sein d'une même puce, et ce chiffre ne cesse d'augmenter.Il n'est plus possible depuis quelques années, à cause de limitations physiques, d'augmenter la fréquence de fonctionnement des micro-processeurs.Pour adresser des applications toujours plus complexes, la tendance actuelle consiste à multiplier le nombre de cœurs de calcul.Au-delà d'une dizaine de processeurs, de nombreuses problématiques apparaissent, comme la gestion de la mémoire, les communications,la manière de représenter le calcul ou encore l'ordonnancement de tâches.Pour répondre à ces problématiques, nous avons conçu un calculateur capable d'auto-organiser son architecture interneen fonction de la nature et de la richesse des informations contenues dans l'environnement dans lequel il est placé.Ce contrôleur s'inscrit dans la boucle sensori-motrice d'un robot mobile, illustrant ainsi un large choix d'applications complexes, évoluant dans un environnement dynamique.Il est constitué d'une grille 2D d'éléments de calcul prenant la forme d'une surface reconfigurable, pouvant héberger un processeur ou un accélérateur matériel.L'auto-organisation de l'architecture se manifeste sous la forme d'émergence d'aires de traitement sur la surface de la puce, parmi les éléments de calcul.Le développement et l'évolution de ces aires sont pilotés par un réseau de neurones matériel intégré à la couche de calcul.L'originalité de ce réseau de neurones de type carte auto-organisatrice est d'être complètement distribué, et de disposer d'une connectivité limitée.Nous pensons en effet que ces conditions soient nécessaire pour qu'une architecture puisse passer à l'échelle.Cette couche neuronalle tire ses données d'entrée dans une couche de pré-traitement qui a pour but d'extraire l'information pertinente de l'environnement.Dans le cadre de ces travaux, elle est implémentée sous la forme d'un système de vision bio-inspiré, par ailleurs validé dans un contexte robotique

    Conception et implémentation d'un treillis de calcul configurable à deux niveaux

    Get PDF
    Résumé De nos jours, la technologie FPGA est devenue de plus en plus puissante et complexe à un niveau que seule la technologie ASIC pouvait atteindre il y a quelques années. Les FPGA peuvent inclure plusieurs processeurs, des unités de traitement spécialisées, des réseaux sur puce pour le routage des données en interne, etc. Bien que le FPGA fonctionne à une fréquence moindre qu'un processeur à usage général, la nature parallèle de la logique matérielle permet tout de même d'opérer des algorithmes beaucoup plus rapidement. En combinant les meilleures propositions d'un système basé sur processeur ou d'un ASIC, les FPGA ont ouvert une grande flexibilité et la possibilité d'un prototypage rapide pour les ingénieurs et scientifiques de toutes les expertises. Toutefois, malgré les nombreux progrès réalisés dans la description de systèmes matériels à des niveaux d'abstraction plus élevés (des modules IP configurables, des réseaux sur puces, des processeurs configurables etc.), la réalisation d'architectures complexes est encore aujourd'hui un travail réservé aux spécialistes (typiquement des ingénieurs en conception de circuits numériques). De plus, c'est un processus relativement long (des mois, voire des années) si on considère non seulement le temps de conception de l'architecture mais encore le temps pour la vérifier et l’optimiser. De plus, les ressources disponibles augmentent à chaque nouvelle mouture, menant à des architectures de plus en plus élaborées et à une gestion de plus en plus difficile. Le FPGA proposerait alors des performances et un pouvoir de calcul inégalés, mais serait difficilement utilisable car on n'arriverait pas à extraire de façon simple et efficace toute cette puissance. Le but ultime serait d'avoir des performances du niveau matériel avec la flexibilité et la simplicité de développement du logiciel. Le projet consiste à faire la conception et l’implémentation d’une toute nouvelle architecture de type treillis permettant de traiter des algorithmes sur un grand flot de données. Les algorithmes ayant de grandes possibilités de parallélisme seraient avantagés par ce treillis. Ce treillis de calcul est configurable à deux niveaux d’abstraction. Au plus bas niveau (niveau matériel), l’architecture est constituée de divers blocs permettant de réaliser les différents chemins de données et de contrôle. Les données se propagent donc de mémoires en mémoires à travers des ALU. Ces transactions sont contrôlées par le niveau plus haut (niveau de configuration logicielle). En effet, l’utilisateur du treillis pourra venir implémenter ses algorithmes à travers de petites mémoires à instructions situées dans l’architecture. Il sera également possible de venir reconfigurer dynamiquement le comportement du treillis. On permet donc à des programmeurs logiciels d’exploiter toute la puissance d’une implémentation matérielle, sans toutefois devoir la développer en détail. Cela évite aux utilisateurs d’avoir à apprendre à exploiter les FPGA à un niveau matériel, tout en gardant confidentielle le détail interne de la dite architecture.----------Abstract Nowadays, FPGA technology has become more powerful and complex at a level that only ASIC could reach a few years ago. FPGAs can now include several processors, specialized processing units, on-chip networks for routing internal data, etc. Although the FPGA operates at a smaller frequency than a general purpose processor, the parallel nature of the hardware logic still allows algorithms to operate much faster. By combining the best parts of a system based on processor or a ASIC, FPGAs have allowed a great deal of flexibility and the possibility of rapid prototyping for engineers and scientists of all expertise. However, despite the many advances in hardware systems described at higher levels of abstraction, the implementation of complex architecture is still a job for specialists (electronic engineers designing digital circuits). Moreover, it is a relatively long process (months or years) if we consider not only the time to design the architecture but also the time to verify and optimize it. In addition, available resources are increasing in each new FPGA version, leading architectures to become more elaborate and management more difficult. The FPGA proposes very high performance and unrivaled computing power, but may become obsolete because it is difficult to extract in a simple and effective way all that power. The ultimate goal would be to have hardware performance with software development simplicity and flexibility. The project involves the design and implementation of a new architecture (mesh type) for processing algorithms on a large data stream. Algorithms with great potential for parallelism would benefit from this lattice. The mesh is configurable at two levels of abstraction. At the lowest level (hardware level), the architecture consists of various blocks supporting the different data paths and control structures. The data thus propagate from memories to memories through ALUs. These transactions are controlled by a higher representation (software level). In fact, the user can implement algorithms on the lattice through small memories placed within the architecture. With the proposed structure, it is also possible to dynamically reconfigure the behavior of the lattice. It thus allows software programmers to harness the power of a hardware implementation, without further notice. This prevents users from having to learn how to use the FPGA while allowing to keep confidential the architecture itself. This work is part of an industrial partnership with a company financing the project with a MITACS internship. The company manufactures and markets frame grabbers operating at high frequencies and offering high resolutions. These cards are already using FPGAs with an important part of these circuits being unused logic. Customers are asking to use this logic to perform preprocessing algorithms. However, most of them would be unable to use it effectively and without harming the rest of the logic required for proper operation of the board. In addition, the partner does not want to disclose the source code of the architecture implemented in the FPGA. The relevance of the proposed project is therefore justified by the fact that it would be possible to deliver boards with the architecture (in addition to the logic already used). The customer would only specify his high-level applications

    Approches d'optimisation et de personnalisation des réseaux sur puce (NoC : Networks on Chip)

    Get PDF
    Systems-on-chip (SoC) have become more and more complex due to the development of integrated circuit technology.Recent studies have shown that in order to improve the performance of a specific SoC application domain, the on-chipinter-connects (OCI) architecture must be customized at design-time or at run-time. Related approaches generallyprovide application-specific SoCs tailored to specific applications. The aim of this thesis is to carry out new approachesfor Network-on-Chip (NoC) and study their performances, especially in terms of latency, throughput, energyconsumption and simplicity of implementation.We have proposed an approach to allow designers to customize a candidate OCI architecture by adding strategiclinks in order to match large application workload. The analytical evaluation focuses on improving the physicalparameters of the NoC topology regardless of the application that should run on. The evaluation by simulationfocuses to evaluate the communication performances of the NoC. Simulations results show the effectiveness ofthis approach to improve the NoC performances. We have also introduced a compartmental Fluid-flow basedmodeling approach to allocate required resource for each buffer based on the application traffic pattern. Simulationsare conducted and results show the efficiency of this modeling method for a buffer space optimized allocation.Finally, we proposed a joint approach based on a system dynamics theory for evaluating the performance of a flowcontrol algorithm in NoCs. This algorithm allows NoC elements to dynamically adjust their inflow by using afeedback control-based mechanism. Analytical and simulation results showed the viability of this mechanism forcongestion avoidance in NoCs.Les systèmes embarqués sur puce (SoC : Systems-on-Chip) sont devenus de plus en plus complexes grâce à l’évolution de la technologie des circuits intégrés. Des études récentes ont montré que pour améliorer les performances du réseau su puce (NoC : Network-on-Chip), l’architecture de celui-ci pouvait être personnalisée, soit au moment de la conception, soit au moment de l’exécution. L’objectif principal de cette thèse est d’implémenter de nouvelles approches pour améliorer les performances des NoCs, notamment la latence, le débit, la consommation d’énergie, et la simplicité de mise en œuvre.Nous avons proposé une approche pour permettre aux concepteurs de personnaliser l'architecture d’un NoC par insertion de liens stratégiques, pour qu’elle soit adaptée à de nombreuses applications, sous la contrainte d’un budget limité en termes de nombre de liens. L’évaluation analytique porte sur l’amélioration des paramètres physiques de la topologie du NoC sans tenir compte de l’application qui devrait s’exécuter dessus. L’évaluation par simulation porte sur l’évaluation des performances de communication du NoC. Les résultats de simulations montrent l’efficacité de notre approche pour améliorer les performances du NoC. Nous avons également introduit une approche de modélisation par réseau à compartiments pour allouer les ressources nécessaires pour chaque tampon selon le modèle de trafic de l'application cible. Les résultats de simulations montrent l'efficacité de cette approche de modélisation pour l’allocation optimisée de l'espace tampon. Enfin, nous avons proposé une approche conjointe basée sur la théorie des systèmes dynamiques pour évaluer la performance d'un algorithme de contrôle de flux dans les NoCs. Cet algorithme permet aux éléments du NoC d’ajuster dynamiquement leur entrée en utilisant un mécanisme basé sur le contrôle de flux par rétroaction. Les résultats d’évaluations analytiques et de simulation montrent la viabilité de ce mécanisme pour éviter la congestion dans les NoCs

    Analyses statistiques des communications sur puce

    Get PDF
    This PhD is composed of two main parts. The first one focuses on Internet traffic modelling. From the analysis of many traffic traces, we have proposed a parsimonious model (Gamma-Farima) adapted to aggregated throughput traces and valid for wide range of aggregation levels. In order to produce synthetic traffic from this model, we have also studied the generation of sample path of non-gaussian and long memory stochastic processes. We have then used the Gamma-Farima model in order to build an anomaly detection method. To this end we have introduced a multiresolution model that can differentiate a regular traffic from a malicious one (including a DDoS attack). This method was evaluated both on real traces and simulations. Finally, we have studied the production of long range dependent traffic in a network simulator (NS-2). The second part of this PhD deals with the analysis and synthesis of on-chip traffic, i.e. the traffic occurring in a system on chip. In such systems, the introduction of networks on chip (NOC) has brought the interconnection system on top of the design flow. In order to prototype these NOC rapidly, fast simulations need to be done, and replacing the components by traffic generators is a good way to achieve this purpose. So, we have set up and developed a complete and flexible on-chip traffic generation environment that is able to replay a previously recorded trace, to generate a random load on the network, to produce a stochastic traffic fitted to a reference trace and to take into account traffic phases. Indeed most of the traffic traces we have obtained were non-stationary, we therefore need to split them into reasonably stationary parts in order to perform a meaningful stochastic fit. We have performed many experiments in the SOCLIB simulation environment that demonstrate that i) our traffic generation procedure is correct, ii) our segmentation algorithm provides promising results and iii) multiphase stochastic traffic generation is a good tradeoff between replay and simple random traffic generation. Finally, we have investigated the presence of long memory in the trace as well as the impact of long memory on the NoC performance.Cette thèse est composée de deux parties. La première explore la problématique de la modélisation de trafic Internet. Nous avons proposé, à partir de l'étude de nombreuses traces, un modèle basé sur des processus stochastiques non-gaussiens à longue mémoire (Gamma-Farima) permettant de modéliser de manière pertinente les traces de débit agrégé, et ce pour une large gamme de niveau d'agrégation. Afin de pouvoir générer du trafic synthétique, nous avons proposé une méthode de synthèse de tels processus. Nous avons ensuite, à partir du modèle Gamma-Farima, proposé un modèle multirésolution permettant de différencier un trafic régulier, d'un trafic contenant une attaque (de type déni de service distribuée). Ceci nous a permis de proposer une méthode de détection d'anomalie que nous avons évalué sur des traces réelles et en simulation. Enfin nous avons étudié expérimentalement le problème de la production de trafic à longue mémoire dans un simulateur de réseaux (NS-2). La deuxième partie traite la problématique de la génération de trafic au sein des systèmes sur puce (SOC). Dans ce domaine, l'arrivée de véritable réseaux sur puce place la conception de l'interconnexion au premier plan, et pour accélérer les simulations, il convient de remplacer les composants par des générateurs de trafic. Nous avons mis en place un environnement complet de génération de trafic sur puce permettant de rejouer une trace, de produire une charge aléatoire sur le réseau, de produire un trafic stochastique ajusté sur une trace de référence et de tenir compte des phases dans le trafic. Nous avons effectué de nombreuses simulations dans l'environnement de simulation de SOC académique SOCLIB qui nous ont permis de valider notre approche, d'évaluer notre algorithme de segmentation ainsi que la génération de trafic stochastique multiphase que nous avons introduite. Nous avons aussi exploré la présence de longue mémoire dans le trafic des processeurs sur puce, ainsi que l'impact de cette caractéristique sur les performances du réseau sur puce

    Outils d'analyse, de modélisation et de commande pour les radiocommunications Application aux amplificateurs de puissance

    Get PDF
    L'évolution croissante des télécommunications résulte de la combinaison de plusieurs facteurs comme les progrès de l'électronique, de la micro-électronique, de la radiofréquence mais aussi des avancées des techniques de communications numériques. Dans ce contexte, les études s'orientent de plus en plus vers l'amélioration de la couverture et de la qualité de service offertes aux usagers. C'est dans ce contexte que s'inscrivent les travaux exposés dans le cadre de cette Habilitation à Diriger des Recherches. Les problématiques soulevées concernent : - la connaissance et la maîtrise du comportement des composants en présence de signaux large bande, multiporteuses, - l'amélioration de la qualité des transmissions en tenant compte des aspects énergétiques, - la reconfigurabilité et l'adaptation des nouveaux systèmes à la multiplication des normes et des standards de communications. Pour chaque problématique, nous avons proposé des solutions théoriques et pratiques avec comme fil conducteur l'utilisation et la mise en \oe uvre d'outils issus de l'Automatique comme l'estimation paramétrique, la commande et la linéarisation, l'optimisation, etc. Concernant la modélisation des fonctions électroniques RF, je présente mes travaux concernant la prise en compte des effets statiques et dynamiques en temps continu et discret. Pour les circuits hautes fréquences qui se caractérisent par des constantes de temps avec des ordres de grandeurs divers, nous avons montré qu'il est important d'envisager la modélisation selon l'application visée et en déployant des outils d'estimation paramétrique adaptés. Des problématiques telles que la normalisation de l'espace paramétrique, l'initialisation, la convergence sont étudiées pour répondre aux caractéristiques des systèmes de radiocommunications.Dans le chapitre consacré à l'amélioration de la linéarité et du rendement, nous avons présenté des techniques de correction des imperfections des amplificateurs de puissances ainsi que des méthodes de traitement du signal qui permettent de réduire leurs impacts sur la transmission. Concernant la linéarisation, nous avons commencé par une comparaison d'une technique Feedback et d'un linéariseur à base d'une prédistorsion polynomiale sans mémoire. Cette étude a mis en évidence l'intérêt d'adjoindre de la mémoire sous forme de retards dans le linéariseur. Les fortes fluctuations des signaux multiporteuses, mesurées par le PAPR pour Peak-to-Average Power Ratio, contribuent aussi à dégrader le bilan énergétique de l'émetteur. La majorité des travaux sur la réduction du PAPR se limite à l'étude des performances en termes de gain de réduction, sans aborder la qualité de transmission en présence d'imperfections réalistes des éléments non-linéaires. C'est dans ce contexte que nous avons analysé cette problématique pour un système MIMO-OFDM en boucle fermée avec prise en compte du canal, des non-linéarités, des effets mémoires et des critères visuels permettant d'évaluer la qualité des transmissions de données multimédias.Le développement d'architectures entièrement numérique, reconfigurables est traité en dernière partie de ce cette HDR. Pour cette large thématique, nous proposons des améliorations pour des coefficients des modulateurs afin d'obtenir une fonction de transfert du bruit respectant un gabarit fréquentiel donné. La correction des erreurs de calcul dus aux coefficients du type 1/2L2^L. Cette correction est basée sur la ré-injection de l'erreur au sein de la boucle directe à travers un filtre numérique

    La gestion des ressources pour des infrastructures vertes par la reconfiguration

    Get PDF
    Cette HDR présente des travaux dans le contexte des systèmes informatiques à grande échelle pouvant être des grilles de calcul ou le cloud computing. Partant de deux constats : la consommation énergétique de ces systèmes est trop importante et ces systèmes sont de plus en complexes, ce mémoire se propose de répondre à la problématique suivante : comment gérer de manière optimale les ressources afin d'obtenir des infrastructures matérielles et logicielles "vertes" c'est à dire efficaces en énergie ? Ces travaux proposent trois axes de recherche : le premier en considérant le système complet et les leviers verts associés, le deuxième en étudiant des politiques d'allocation de ressources avec contraintes d'énergie et de chaleur, le troisième en étudiant des reconfigurations autonomiques d'applications. Pour finir, une description d'un centre de décision autonome pour des infrastructures vertes est proposée
    corecore