21 |
Étude et optimisation de l'interaction processeurs-architectures reconfigurables dynamiquementFaten, Ben Abdallah 20 October 2009 (has links) (PDF)
Les applications de télécommunications mobiles et de multimédia, notamment dans le domaine de l'embarqué, deviennent de plus en plus complexes au niveau calculatoire et consomment de plus en plus d'énergie. Afin de palier aux besoins calculatoires et énergétiques de ces applications, les concepteurs se sont orientés vers les architectures hybrides, associant des systèmes de nature et paradigme différents. Ces architectures ont retenu l'attention des concepteurs parce qu'elles présentent un bon compromis coût/performances calculatoires d'autant plus qu'elles possèdent des propriétés énergétiques intéressantes. En outre, l'émergence dans la dernière décade des architectures reconfigurables dynamiquement associant haute performance et encore plus de flexibilité, a fait que les dernières générations des architectures hybrides associent un ou plusieurs processeurs à une ou plusieurs architectures reconfigurables dynamiquement (ARD). Cette thèse s'inscrit dans cette thématique et a ainsi pour objectif d'apporter une modélisation précise de ces architectures ainsi que des méthodologies permettant d'exploiter leurs potentiels de performances. Une modélisation des mécanismes d'échange d'informations entre un processeur couplé à une ressource reconfigurable est d'abord proposée ce qui a permis une identification précise de modèles de performances. En utilisant ces modèles de performances, une méthodologie d'adéquation algorithme architecture permettant suivant les paramètres de l'application de déterminer le couplage CPU/ARD adéquat est présentée. Nous introduisons ces modèles de performances dans le flot de développement logiciel de ces architectures afin de permettre un partitionnement temporel automatique basé sur la détermination de la surface (en nombre d'unités fonctionnelles) de l'ARD nécessaire pour avoir des performances optimales et ce en trouvant le facteur de déroulage de boucle qui assure le maximum de performances pour l'architecture hybride. Le dernier aspect de ce travail concerne la validation de ces méthodologies et leur mise en oeuvre. Nous présentons pour cela les mécanismes d'implémentation d'un démodulateur multimode DVB-T/H et d'un récepteur WCDMA dynamique sur une architecture hybride reconfigurable dynamiquement.
|
22 |
Re-Configuration Dynamique d'un middleware pour système embarqué légerSchneider, Etienne 03 December 2004 (has links) (PDF)
La reconfiguration dynamique d'un logiciel peut être un auxiliaire utile pour adapter et maintenir des systèmes informatiques. Dans la plupart des approches, le système doit être interrompu pour que la reconfiguration puisse être exécutée. Cette interruption ne peut convenir aux systèmes temps-réel : il est nécessaires que les contraintes temporelles soient respectées, même lorsque le système est en train d'être reconfiguré.<br />Notre approche se base sur OSA+, un middleware temps-réel. Notre objectif principal est d'être capable de reconfigurer un (ou plusieurs) service lorsque le système est en fonction, avec un temps de non-réponse prévisible et prédéfini, c'est-à-dire un temps pendant lequel le système ne réagit pas à cause de la reconfiguration.<br />Trois approches différentes concernant le blocage ou le non-blocage d'un service sont présentées. Ces approches peuvent être utilisées pour réaliser un compromis entre le temps de reconfiguration et le temps de non-réponse.
|
23 |
Méthodologie de partitionnement logiciel/matériel pour plateformes reconfigurables dynamiquementBen Chehida, Karim 30 November 2004 (has links) (PDF)
On parle de plus en plus de systèmes (ou plateformes) reconfigurables qui intègrent sur un même substrat un ou plusieurs cœurs de processeurs et une matrice programmable (ex: Excalibur d'Altera, Virtex 2-Pro et Virtex 4-Fx de Xilinx). Par ailleurs, tout un champ technologique émerge actuellement dans le domaine de la reconfiguration dynamique. Le concepteur se retrouve face à des choix d'implantations logicielles (spécifiques ou génériques) et matérielles (figées ou reconfigurables) pour les différentes parties de l'application. Pour les prochaines générations de systèmes, la complexité croissante nécessite de faire appel à des méthodes et outils d'aide à la prise de décisions. Il est donc nécessaire d'étendre ou de repenser les approches de conception actuelles afin de les adapter aux possibilités offertes par les technologies reconfigurables.<br />Cette thèse propose une méthode automatique de partitionnement logiciel/matériel qui cible des systèmes mixtes logiciel et matériel reconfigurable dynamiquement et a pour objectif de minimiser le temps d'exécution global sous contrainte de surface maximale. Elle offre un flot complet à partir de la spécification au niveau système de l'application (écrite en SSM : formalisme graphique du langage synchrone Esterel) jusqu'à son raffinement vers les outils de niveau RTL. La méthode, basée sur un algorithme génétique, prend en compte les spécificités de l'architecture reconfigurable en ajoutant au partitionnement spatial (ou affectation) classique une étape de partitionnement temporel afin de distribuer dans le temps les configurations successivement implantées sur le reconfigurable. Les performances sont évaluées par une étape d'ordonnancement qui prend en compte les temps de communication et ceux dus aux changements de configurations.
|
24 |
Conception d'un crypto-système reconfigurable pour la radio logicielle sécuriséeGrand, Michael 02 December 2011 (has links) (PDF)
Les travaux de recherche détaillés dans ce document portent sur la conception et l'implantation d'un composant matériel jouant le rôle du sous-système cryptographique d'une radio logicielle sécurisée. A partir du début des années 90, les systèmes radios ont peu à peu évolué de la radio classique vers la radio logicielle. Le développement de la radio logicielle a permis l'intégration d'un nombre toujours plus grand de standards de communication sur une même plateforme matérielle. La réalisation concrète d'une radio logicielle sécurisée amène son concepteur à faire face à de nombreuses problématiques qui peuvent se résumer par la question suivante : Comment implanter un maximum de standards de communication sur une même plateforme matérielle et logicielle ? Ce document s'intéresse plus particulièrement à l'implantation des standards cryptographiques destinés à protéger les radiocommunications. Idéalement, la solution apportée à ce problème repose exclusivement sur l'utilisation de processeurs numériques. Cependant, les algorithmes cryptographiques nécessitent le plus souvent une puissance de calcul telle que leur implantation sous forme logicielle n'est pas envisageable. Il s'ensuit qu'une radio logicielle doit parfois intégrer des composants matériels dédiés dont l'utilisation entre en conflit avec la propriété de flexibilité propre aux radios logicielles. Or depuis quelques années, le développement de la technologie FPGA a changé la donne. En effet, les derniers FPGA embarquent un nombre de ressources logiques suffisant à l'implantation des fonctions numériques complexes utilisées par la radio logicielle. Plus précisément, la possibilité offerte par les FPGA d'être reconfigurés dans leur totalité (voir même partiellement pour les derniers d'entre eux) fait d'eux des candidats idéaux à l'implantation de composants matériels flexibles et évolutifs dans le temps. À la suite de ces constatations, des travaux de recherche ont été menés au sein de l'équipe Conception des Systèmes Numériques du Laboratoire IMS. Ces travaux ont d'abord débouché sur la publication d'une architecture de sous-système cryptographique pour la radio logicielle sécurisée telle qu'elle est définie par la Software Communication Architecture. Puis, ils se sont poursuivis par la conception et l'implantation d'un cryptoprocesseur multicœur dynamiquement reconfigurable sur FPGA.
|
25 |
Contrôle matériel des systèmes partiellement reconfigurables sur FPGA : de la modélisation à l'implémentationTrabelsi, Chiraz 03 July 2013 (has links) (PDF)
Ce travail propose une méthodologie de conception du contrôle pour les systèmes reconfigurables sur FPGA, visant à améliorer la productivité des concepteurs et assurer l'efficacité de l'implémentation. Cette méthodologie est basée sur un modèle de contrôle semi-distribué qui se compose d'un ensemble de contrôleurs distribués modulaires assurant chacun les tâches d'observation, de prise de décision et de reconfiguration pour une région reconfigurable du système, et d'un coordinateur entre les décisions des contrôleurs distribués afin de respecter les contraintes et objectifs globaux du système. Cette prise de décision semi-distribuée est basée sur le formalisme des automates de modes. Cette combinaison entre modularité, division du contrôle et formalisme permet d'améliorer la flexibilité, réutilisabilité et scalabilité de la conception du contrôle. Un autre point peut être ajouté à cette combinaison pour améliorer la productivité des concepteurs, qui est l'automatisation. Pour cela, la méthodologie proposée est basée sur une approche d'Ingénierie Dirigée par les Modèles permettant d'automatiser la génération du code à partir de modèles de haut-niveau d'abstraction. Cette approche fait usage du profil standard MARTE (Modeling and Analysis of Real-Time and Embedded Systems), permettant de rendre les détails techniques de bas niveau transparents aux concepteurs et d'automatiser la génération du code VHDL pour une implémentation matérielle des systèmes de contrôle modélisés afin d'assurer leur performance. Les systèmes de contrôle générés ont été validés par simulation. Les résultats de synthèse ont montré un coût acceptable en termes de temps d'exécution et de ressources pour des systèmes ayant différents nombres de contrôleurs. Un système de contrôle composé de quatre contrôleurs et d'un coordinateur a été également validé par implémentation physique dans un système FPGA pour une application de traitement d'images.
|
26 |
Développement de composants Fractal adaptatifs : un langage dédié à l'aspect d'adaptationDavid, Pierre-Charles 01 July 2005 (has links) (PDF)
Les contextes toujours plus variés et dynamiques dans lesquels les logiciels actuels s'exécutent leurs imposent de s'adapter de façon autonome à ces changements. L'objectif de cette thèse est de faciliter le développement de telles applications adaptatives, en considérant l'adaptation comme un aspect qui doit être développé séparément du reste de l'application a fin de pouvoir y être intégré et modifié dynamiquement. Pour cela nous proposons Safran, une extension du modèle de composants Fractal permettant d'associer dynamiquement des politiques d'adaptation aux composants d'une application. Ces politiques sont programmées dans un langage dédié sous la forme de règles réactives. Leur exécution repose d'une part sur WildCAT, un système permettant de détecter les évolutions du contexte d'exécution (quand adapter ?), et d'autre part sur FScript, un langage dédié pour la reconfiguration dynamique consistante de composants Fractal (comment adapter ?).
|
27 |
Robusta : une approche pour la construction d'applications dynamiques / Robusta : An approach to building dynamic applicationsRudametkin Ivey, Walter Andrew 21 February 2013 (has links)
Les domaines de recherche actuels, tels que l'informatique ubiquitaire et l'informatique en nuage (cloud computing), considèrent que ces environnements d’exécution sont en changement continue. Les applications dynamiques, où les composants peuvent être ajoutés et supprimés pendant l'exécution, permettent à un logiciel de s'adapter et de s'ajuster à l'évolution des environnements, et de tenir compte de l’évolution du logiciel. Malheureusement, les applications dynamiques soulèvent des questions de conception et de développement qui n'ont pas encore été pleinement explorées.Dans cette thèse, nous montrons que le dynamisme est une préoccupation transversale qui rompt avec un grand nombre d’hypothèses que les développeurs d’applications classiques sont autorisés à prendre. Le dynamisme affecte profondément la conception et développement de logiciels. S'il n'est pas manipulé correctement, le dynamisme peut « silencieusement » corrompre l'application. De plus, l'écriture d'applications dynamiques est complexe et sujette à erreur. Et compte tenu du niveau de complexité et de l’impact du dynamisme sur le processus du développement, le logiciel ne peut pas devenir dynamique sans (de large) modification et le dynamisme ne peut pas être totalement transparent (bien que beaucoup de celui-ci peut souvent être externalisées ou automatisées).Ce travail a pour but d’offrir à l’architecte logiciel le contrôle sur le niveau, la nature et la granularité du dynamisme qui est nécessaire dans les applications dynamiques. Cela permet aux architectes et aux développeurs de choisir les zones de l'application où les efforts de programmation des composants dynamiques seront investis, en évitant le coût et la complexité de rendre tous les composants dynamiques. L'idée est de permettre aux architectes de déterminer l'équilibre entre les efforts à fournir et le niveau de dynamisme requis pour les besoins de l'application. / Current areas of research, such as ubiquitous and cloud computing, consider execution environments to be in a constant state of change. Dynamic applications—where components can be added, removed and substituted during execution—allow software to adapt and adjust to changing environments, and to accommodate evolving features. Unfortunately, dynamic applications raise design and development issues that have yet to be fully addressed. In this dissertation we show that dynamism is a crosscutting concern that breaks many of the assumptions that developers are otherwise allowed to make in classic applications. Dynamism deeply impacts software design and development. If not handled correctly, dynamism can silently corrupt the application. Furthermore, writing dynamic applications is complex and error-prone, and given the level of complexity and the impact dynamism has on the development process, software cannot become dynamic without (extensive) modification and dynamism cannot be entirely transparent (although much of it may often be externalized or automated). This work focuses on giving the software architect control over the level, the nature and the granularity of dynamism that is required in dynamic applications. This allows architects and developers to choose where the efforts of programming dynamic components are best spent, avoiding the cost and complexity of making all components dynamic. The idea is to allow architects to determine the balance between the efforts spent and the level of dynamism required for the application's needs. At design-time we perform an impact analysis using the architect's requirements for dynamism. This serves to identify components that can be corrupted by dynamism and to—at the architect's disposition—render selected components resilient to dynamism. The application becomes a well-defined mix of dynamic areas, where components are expected to change at runtime, and static areas that are protected from dynamism and where programming is simpler and less restrictive. At runtime, our framework ensures the application remains consistent—even after unexpected dynamic events—by computing and removing potentially corrupt components. The framework attempts to recover quickly from dynamism and to minimize the impact of dynamism on the application. Our work builds on recent Software Engineering and Middleware technologies—namely, OSGi, iPOJO and APAM—that provide basic mechanisms to handle dynamism, such as dependency injection, late-binding, service availability notifications, deployment, lifecycle and dependency management. Our approach, implemented in the Robusta prototype, extends and complements these technologies by providing design and development-time support, and enforcing application execution consistency in the face of dynamism.
|
28 |
Definition and evaluation of spatio-temporal scheduling strategies for 3D multi-core heterogeneous architectures / Définition et évaluation des stratégies d’ordonnancement spatio-temporel pour les architectures 3D multicore hétérogènesKhuat, Quang Hai 16 March 2015 (has links)
Empilant une couche multiprocesseur (MPSoC) et une couche de FPGA pour former un système sur puce reconfigurable en trois dimension (3DRSoC), est une solution prometteuse donnant un niveau de flexibilité élevé en adaptant l'architecture aux applications visées. Pour une application exécutée sur ce système, l'un des principaux défis vient de la gestion de haut niveau des tâches. Cette gestion est effectuée par le service d'ordonnancement du système d'exploitation et elle doit être en mesure de déterminer, lors de l'exécution de l'application, quelle tâche est exécutée logiciellement et/ou matériellement, quand (dimension temporelle) et sur quelles ressources (dimension spatiale, c'est à dire sur quel processeur ou quelle région du FPGA) pour atteindre la haute performance du système. Dans cette thèse, nous proposons des stratégies d'ordonnancement spatio-temporel pour les architectures 3DRSoCs. La première stratégie décide la nécessité de placer une tâche matérielle et une tâche logicielle en face-à-face afin que le coût de la communication entre tâches soit minimisé. La deuxième stratégie vise à minimiser le temps d'exécution globale de l'application. Cette stratégie exploits la présence de processeurs de la couche MPSoC afin d'anticiper, en temps-réel, l'exécution d'une tâche logicielle quand sa version matérielle ne peut pas être allouée sur le FPGA. Ensuite, un outil de simulation graphique a été développé pour vérifier le bon fonctionnement des stratégies développées et aussi nous permettre de produire des résultats. / Stacking a multiprocessor (MPSoC) layer and a FPGA layer to form a 3D Reconfigurable System-on- Chip (3DRSoC) is a promising solution giving a high flexibility level in adapting the architecture to the targeted application. For an application defined as a graph of parallel tasks running on the 3DRSoC system, one of the main challenges comes from the high-level management of tasks. This management is done by the scheduling service of the Operating System and it must be able to determine, on the fly, what task should be run in software and/or hardware, when (temporal dimension) and where (spatial dimension, i.e. on what processor or what area of the FPGA) in order to achieve high performance of the system. In this thesis, we propose online spatio-temporal scheduling strategies for 3DRSoCs. The first strategy decides, during the task scheduling, the need for a SW task and a HW task to communicate in face-to-face so that the communication cost between tasks is minimized. The second strategy aims at minimizing the overall execution time of the application. It exploits the presence of processors in the MPSoC layer in order to anticipate, at run-time, the SW execution of a task when its HW version cannot be allocated to the FPGA. Then, a graphical simulation tool has been developed to verify the proper functioning of the developed strategies and also enable us to produce results.
|
29 |
Gestion autonomique de l'élasticité multi-couche des applications dans le Cloud : vers une utilisation efficiente des ressources et des services du Cloud / Crosslayer elasticity management for Cloud : towards an efficient usage of Cloud resources and servicesDupont, Simon 26 April 2016 (has links)
L’informatique en nuage, au travers de son modèle en couche et de l’accès à ses services à la demande, a bouleversé la façon de gérer les infrastructures (IaaS) et la manière de produire les logiciels (SaaS). Grâce à l’élasticité de l’infrastructure, la quantité de ressource peut être ajustée automatiquement en fonction de la demande afin de satisfaire un certain niveau de qualité de service (QoS) aux clients tout en minimisant les coûts d’exploitation sous-jacents. Le modèle d’élasticité actuel qui consiste à ajuster les ressources IaaS au travers de services de dimensionnement automatique basiques montre ses limites en termes de réactivité et de granularité d’adaptation. De plus, bien qu’étant une caractéristique cruciale de l’informatique en nuage, l’élasticité est à ce jour pauvrement outillée empêchant ainsi les différents acteurs du Cloud de jouir pleinement de ses bienfaits. Dans ce travail de thèse, nous proposons d’étendre leconcept d’élasticité aux couches hautes du nuage, et plus précisément au niveau du SaaS. Nous présentons ainsi le nouveau concept d’élasticité logicielle que nous définissons comme la capacité d’un logiciel à s’adapter, idéalement de manière autonome, pour répondre aux changements de la demande et/ou aux limitations de l’élasticité des ressources de l’infrastructure. Il s’agit alors d’envisager l’élasticité de manière transverse et multi-couche en considérant l’adaptation des ressources Cloud au sens large. Pour ce faire, nous présentons un modèle pour la gestion autonome de l’élasticité multi-couche et le Framework ElaStuff associé. Dans le but d’outiller et d’industrialiser le processus de gestion de l’élasticité, nous proposons l’outil de surveillance perCEPtion basé sur le traitement des événements complexes et permettant à l’administrateur de mettre en place une observation avancée du système Cloud. De plus, un langage dédié à l’élasticité multi-couche nommé ElaScript est proposé pour exprimer simplement et efficacement des plans de reconfiguration orchestrant les actions d’élasticité de différents niveaux. Enfin, notre proposition d’étendre l’élasticité aux couches hautes du Cloud, et plus particulièrement au niveau SaaS, est validée expérimentalement selon plusieurs points devue (QoS, énergie, réactivité et précision du passage à l’échelle,etc.). / Cloud computing, through its layered model and access to its on-demand services, has changed the way of managing the infrastructures (IaaS) and how to produce software (SaaS). With the advent of IaaS elasticity, the amount of resources can be automatically adjusted according to the demand to satisfy a certain level of quality of service (QoS) to customers while minimizing underlying operating costs. The current elasticity model is based on adjusting the IaaS resources through basic autoscaling services, which reaches to its limit in terms of responsiveness and adaptation granularity. Although it is an essential feature for Cloud computing, elasticity remains poorly equipped which prevents the various actors of the Cloud to really enjoy its benefits. In this thesis, we propose to extend the concept of elasticity to higher layers of the cloud, and more precisely to the SaaS level. Then, we present the new concept of software elasticity by defining the ability of the software to adapt, ideally in an autonomous way, to cope with workload changes and/or limitations of IaaS elasticity. This predicament brings the consideration of Cloud elasticity in a multi-layer way through the adaptation of all kind of Cloud resources. To this end, we present a model for the autonomic management of multi-layer elasticity and the associated framework ElaStuff. In order to equip and industrialize the elasticity management process, we propose the perCEPtion monitoring tool, based on complex event processing, which enables the administrators to set up an advanced observation of the Cloud system. In addition, we propose a domain specific language (DSL) for the multi-layer elasticity, called ElaScript, which allows to simply and effectively express reconfiguration plans orchestrating the different levels of elasticity actions. Finally, our proposal to extend the Cloud elasticity to higher layers, particularly to SaaS,is validated experimentally from several perspectives (QoS,energy, responsiveness and accuracy of the scaling, etc.).
|
30 |
Étude et optimisation de l'interaction processeurs architectures reconfigurables dynamiquementBen Abdallah, Faten 20 October 2009 (has links) (PDF)
Les applications de télécommunications mobiles et de multimédia, notamment dans le domaine de l'embarqué, deviennent de plus en plus complexes au niveau calculatoire et consomment de plus en plus d'énergie. Afin de palier aux besoins calculatoires et énergétiques de ces applications, les concepteurs se sont orientés vers les architectures hybrides, associant des systèmes de nature et paradigme différents. Ces architectures ont retenu l'attention des concepteurs parce qu'elles présentent un bon compromis coût/performances calculatoires d'autant plus qu'elles possèdent des propriétés énergétiques intéressantes. En outre, l'émergence dans la dernière décade des architectures reconfigurables dynamiquement associant haute performance et encore plus de flexibilité, a fait que les dernières générations des architectures hybrides associent un ou plusieurs processeurs à une ou plusieurs architectures reconfigurables dynamiquement (ARD). Cette thèse s'inscrit dans cette thématique et a ainsi pour objectif d'apporter une modélisation précise de ces architectures ainsi que des méthodologies permettant d'exploiter leurs potentiels de performances. Une modélisation des mécanismes d'échange d'informations entre un processeur couplé à une ressource reconfigurable est d'abord proposée ce qui a permis une identification précise de modèles de performances. En utilisant ces modèles de performances, une méthodologie d'adéquation algorithme architecture permettant suivant les paramètres de l'application de déterminer le couplage CPU/ARD adéquat est présentée. Nous introduisons ces modèles de performances dans le flot de développement logiciel de ces architectures afin de permettre un partitionnement temporel automatique basé sur la détermination de la surface (en nombre d'unités fonctionnelles) de l'ARD nécessaire pour avoir des performances optimales et ce en trouvant le facteur de déroulage de boucle qui assure le maximum de performances pour l'architecture hybride. Le dernier aspect de ce travail concerne la validation de ces méthodologies et leur mise en oeuvre. Nous présentons pour cela les mécanismes d'implémentation d'un démodulateur multimode DVB-T/H et d'un récepteur WCDMA dynamique sur une architecture hybride reconfigurable dynamiquement.
|
Page generated in 0.1391 seconds