31 |
Architecture de sécurité dynamique pour systèmes multiprocesseurs intégrés sur pucePorquet, Joël 13 December 2010 (has links) (PDF)
Cette thèse présente l'approche multi-compartiment, qui autorise un co-hébergement sécurisé et flexible de plusieurs piles logicielles autonomes au sein d'un même système multiprocesseur intégré sur puce. Dans le marché des appareils orientés multimédia, ces piles logicielles autonomes représentent généralement les intérêts des différentes parties prenantes. Ces parties prenantes sont multiples (fabricants, fournisseurs d'accès, fournisseurs de contenu, utilisateurs, etc.) et ne se font pas forcément confiance entre elles, d'où la nécessité de trouver une manière de les exécuter ensemble mais avec une certaine garantie d'isolation. Les puces multimédia étant matériellement fortement hétérogènes -- peu de processeurs généralistes sont assistés par une multitude de processeurs ou coprocesseurs spécialisés -- et à mémoire partagée, il est difficile voire impossible de résoudre cette problématique uniquement avec les récentes techniques de co-hébergement (virtualisation). L'approche multi-compartiment consiste en un nouveau modèle de confiance, plus flexible et générique que l'existant, qui permet à des piles logicielles variées de s'exécuter simultanément et de façon sécurisée sur des plateformes matérielles hétérogènes. Le cœur de l'approche est notamment composé d'un mécanisme global de protection, responsable du partage sécurisé de l'unique espace d'adressage et logiquement placé dans le réseau d'interconnexion afin de garantir le meilleur contrôle. Cette approche présente également des solutions pour le partage des périphériques, notamment des périphériques ayant une capacité DMA, entre ces piles logicielles. Enfin, l'approche propose des solutions pour le problème de redirection des interruptions matérielles, un aspect collatéral au partage des périphériques. Les principaux composants des solutions matérielles et logicielles proposées sont mis en œuvre lors de la conception d'une plateforme d'expérimentation, sous la forme d'un prototype virtuel. Outre la validation de l'approche, cette plateforme permet d'en mesurer le coût, en termes de performance et de surface de silicium. Concernant ces deux aspects, les résultats obtenus montrent que le coût est négligeable.
|
32 |
Mouvement de données et placement des tâches pour les communications haute performance sur machines hiérarchiquesMoreaud, Stéphanie 12 October 2011 (has links) (PDF)
Les architectures des machines de calcul sont de plus en plus complexes et hiérarchiques, avec des processeurs multicœurs, des bancs mémoire distribués, et de multiples bus d'entrées-sorties. Dans le cadre du calcul haute performance, l'efficacité de l'exécution des applications parallèles dépend du coût de communication entre les tâches participantes qui est impacté par l'organisation des ressources, en particulier par les effets NUMA ou de cache. Les travaux de cette thèse visent à l'étude et à l'optimisation des communications haute performance sur les architectures hiérarchiques modernes. Ils consistent tout d'abord en l'évaluation de l'impact de la topologie matérielle sur les performances des mouvements de données, internes aux calculateurs ou au travers de réseaux rapides, et pour différentes stratégies de transfert, types de matériel et plateformes. Dans une optique d'amélioration et de portabilité des performances, nous proposons ensuite de prendre en compte les affinités entre les communications et le matériel au sein des bibliothèques de communication. Ces recherches s'articulent autour de l'adaptation du placement des tâches en fonction des schémas de transfert et de la topologie des calculateurs, ou au contraire autour de l'adaptation des stratégies de mouvement de données à une répartition définie des tâches. Ce travail, intégré aux principales bibliothèques MPI, permet de réduire de façon significative le coût des communications et d'améliorer ainsi les performances applicatives. Les résultats obtenus témoignent de la nécessité de prendre en compte les caractéristiques matérielles des machines modernes pour en exploiter la quintessence.
|
33 |
Validation et mise en oeuvre de la synchronisation dans un système multiprocesseur à mémoire dupliquéeLatapie, Guy 14 November 1980 (has links) (PDF)
ON PRESENTE LES PRINCIPAUX OUTILS QUI PERMETTENT DE SPECIFIER ET D'IMPLEMENTER LES MECANISMES DE SYNCHRONISATION DANS UN SYSTEME MONOPROCESSEUR PUIS MULTIPROCESSEUR. ON DEFINIT ET ON MONTRE LES REGLES D'EVOLUTION DES RESEAUX DE PETRI ET ON DETAILLE LES DIVERSES METHODES D'ANALYSE QU'ILS AUTORISENT. ON PROPOSE UN MODELE DERIVE APPELE RESEAUX DE PETRI A JETONS INDIVIDUALISES. ON DECRIT UN ALGORITHME DE SYNCHRONISATION ET ON PROPOSE UNE MISE EN OEUVRE DE CET ALGORITHME A PARTIR DES RESEAUX DE PETRI A JETONS INDIVIDUALISES
|
34 |
Implémentation et évaluation d'un système logique parallèleChassin de Kergommeaux, Jacques 23 November 1989 (has links) (PDF)
Cette thèse est consacrée à l'implémentation de PEPSys (Parallel ECRC Prolog System) sur un multiprocesseur à mémoire partagée et à l'évaluation de cette implémentation. Le projet PEPSys vise à exploiter le parallélisme en programmation logique pour obtenir, sur les multiprocesseurs existants actuellement, des gains de performances relativement aux systèmes Prolog les plus efficaces. Un langage, extension de Prolog, un modèle de calcul et une machine abstraite basée sur la WAM ont été définis et validés par une implémentation sur multiprocesseur et une simulation d'architecture parallèle extensible. Le modèle de calcul supporte les parallélismes OU et ET indépendant ainsi que leur combinaison avec l'exécution séquentielle et le retour-arrière. L'implémentat,ion de PEPSys qui fait l'objet de cette thèse constitue l'un des premiers systèmes logiquesO.U-parallèles à procurer des gains de performances, relativement aux systèmes Prolog séquentiels efficaces. Les nombreuses mesures présentées dans la thèse permettent de valider cette implémentation ainsi que les principaux mécanismes du modèle de calcul, tout en suggérant des optimisations
|
35 |
Fault tolerance through self-configuration in the future nanoscale multiprocessorsZajac, Piotr 30 June 2008 (has links) (PDF)
Cette thèse est une contribution au niveau architectural à l'amélioration de la tolérance aux fautes dans les puces multi-coeurs massivement défectueuses fabriquées à partir de transistors nanométriques. L'idée principale de ce travail est qu'une puce devrait être organisée en une architecture réplicative et devenir aussi autonome que possible pour augmenter sa résilience contre les défauts permanents et les erreurs transitoires apparaissant en opération. C'est pourquoi nous introduisons une nouvelle méthodologie d'autoconfiguration de la puce qui permet de détecter et isoler les coeurs défectueux, de désactiver les coeurs isolés, de configurer les communications et de diriger l'allocation et l'exécution des tâches. L'efficacité des méthodes est étudiée en fonction de la fraction de coeurs ou d'interconnections défectueux et du taux d'erreurs transitoires.
|
36 |
Débogage des systèmes embarqués multiprocesseur basé sur la ré-exécution déterministe et partielle / Deterministic and partial replay debugging of multiprocessor embedded systemsGeorgiev, Kiril 04 December 2012 (has links)
Les plates-formes MPSoC permettent de satisfaire les contraintes de performance, de flexibilité et de consommation énergétique requises par les systèmes embarqués émergents. Elles intègrent un nombre important de processeurs, des blocs de mémoire et des périphériques, hiérarchiquement organisés par un réseau d'interconnexion. Le développement du logiciel est réputé difficile, notamment dû à la gestion d'un grand nombre d'entités (tâches/threads/processus). L'exécution concurrente de ces entités permet d'exploiter efficacement l'architecture mais complexifie le processus de mise au point et notamment l'analyse des erreurs. D'une part, les exécutions peuvent être non-déterministes notamment dû à la concurrence, c'est à dire qu'elles peuvent se dérouler d'une manière différente à chaque reprise. En conséquence, il n'est pas garanti qu'une erreur se produirait durant la phase de mise au point. D'autre part, la complexité de l'architecture et de l'exécution peut rendre trop important le nombre d'éléments à analyser afin d'identifier une erreur. Il pourrait donc être difficile de se focaliser sur des éléments potentiellement fautifs. Un des défis majeurs du développement logiciel MPSoC est donc de réduire le temps de la mise au point. Dans cette thèse, nous proposons une méthodologie de mise au point qui aide le développeur à identifier les erreurs dans le logiciel MPSoC. Notre premier objectif est de déboguer une même exécution plusieurs fois afin d'analyser des sources potentielles de l'erreur jusqu'à son identification. Nous avons donc identifié les sources de non-déterminisme MPSoC et proposé des mécanismes de ré-exécution déterministe les plus adaptés. Notre deuxième objectif vise à minimiser les ressources pour reproduire une exécution afin de satisfaire la contrainte MPSoC de maîtrise de l'intrusion. Nous avons donc utilisé des mécanismes efficaces de ré-exécution déterministe et considéré qu'une partie du comportement non-déterministe. Le troisième objectif est de permettre le passage à l'échelle, c'est à dire de déboguer des exécutions caractérisées par un nombre d'éléments de plus en plus croissant. Nous avons donc proposé une méthode qui permet de circonscrire et de déboguer qu'une partie de l'exécution. De plus, cette méthode s'applique aux différents types d'architectures et d'applications MPSoC. / MPSoC platforms provide high performance, low power consumption and flexi-bility required by the emerging embedded systems. They incorporate many proces-sing units, memory blocs and peripherals, hierarchically organized by interconnec-tion network. The software development is known to be difficult, namely due to themanagement of multiple entities (tasks/threads/processes). The concurrent execu-tion of these entities allows to exploit efficiently the architecture but complicatesthe refinement process of the software and especially the debugging activity. Onthe one hand, the executions of the software can be non-deterministic, namely dueto the concurrency, i.e. they perform differently each time. Consequently, thereis no guaranties that an error will occur during the debugging activity. On theother hand, the complexity of the architecture and the execution can increase theelements to be analyzed in the debugging process. As a result, it can be difficultto concentrate on the potentially faulty elements. Therefore, one of the most im-portant challenges in the development process of MPSoC software is to reduce thetime of the refinement process.In this thesis, we propose a new methodology to refine the MPSoC softwarewhich helps the developers to do the debugging activity. Our first objective is tobe able to debug the same execution several times in order to analyze potentialsources of the error. To do so, we identified the sources of non-determinism in theMPSoC software executions and propose the most appropriate methods to recordand replay them. Our second objective is to reduce the execution overhead requi-red by the record mechanisms to limit the intrusiveness which is an importantMPSoC constraint. To accomplish this objective, we consider a part of the non-deterministic behaviour and selected efficient record-replay methods. The thirdobjective is to provide a scalable solution, i.e. to be able to debug more and morecomplex executions, characterized by an increasing number of elements. Therefore,we propose a partial replay method which allows to isolate and debug a fraction ofthe execution elements. Moreover, this method applies to different types of archi-tectures and applications MPSoC.
|
37 |
Mouvement de données et placement des tâches pour les communications haute performance sur machines hiérarchiquesMoreaud, Stéphanie 12 October 2011 (has links)
Les architectures des machines de calcul sont de plus en plus complexes et hiérarchiques, avec des processeurs multicœurs, des bancs mémoire distribués, et de multiples bus d'entrées-sorties. Dans le cadre du calcul haute performance, l'efficacité de l'exécution des applications parallèles dépend du coût de communication entre les tâches participantes qui est impacté par l'organisation des ressources, en particulier par les effets NUMA ou de cache.Les travaux de cette thèse visent à l'étude et à l'optimisation des communications haute performance sur les architectures hiérarchiques modernes. Ils consistent tout d'abord en l'évaluation de l'impact de la topologie matérielle sur les performances des mouvements de données, internes aux calculateurs ou au travers de réseaux rapides, et pour différentes stratégies de transfert, types de matériel et plateformes. Dans une optique d'amélioration et de portabilité des performances, nous proposons ensuite de prendre en compte les affinités entre les communications et le matériel au sein des bibliothèques de communication. Ces recherches s'articulent autour de l'adaptation du placement des tâches en fonction des schémas de transfert et de la topologie des calculateurs, ou au contraire autour de l'adaptation des stratégies de mouvement de données à une répartition définie des tâches. Ce travail, intégré aux principales bibliothèques MPI, permet de réduire de façon significative le coût des communications et d'améliorer ainsi les performances applicatives. Les résultats obtenus témoignent de la nécessité de prendre en compte les caractéristiques matérielles des machines modernes pour en exploiter la quintessence. / The emergence of multicore processors led to an increasing complexity inside the modern servers, with many cores, distributed memory banks and multiple Input/Output buses. The execution time of parallel applications depends on the efficiency of the communications between computing tasks. On recent architectures, the communication cost is largely impacted by hardware characteristics such as NUMA or cache effects. In this thesis, we propose to study and optimize high performance communication on hierarchical architectures. We first evaluate the impact of the hardware affinities on data movement, inside servers or across high-speed networks, and for multiple transfer strategies, technologies and platforms. We then propose to consider affinities between hardware and communicating tasks inside the communication libraries to improve performance and ensure their portability. To do so,we suggest to adapt the tasks binding according to the transfer method and thetopology, or to adjust the data transfer strategies to a defined task distribution. Our approaches have been integrated in some main MPI implementations. They significantly reduce the communication costs and improve the overall application performance. These results highlight the importance of considering hardware topology for nowadays servers.
|
38 |
Ordonnancement temps réel multiprocesseur pour la réduction de la consommation énergétique des systèmes embarqués / Energy-aware real-time scheduling of multiprocessor embedded systemsLegout, Vincent 08 April 2014 (has links)
Réduire la consommation énergétique des systèmes temps réel embarqués multiprocesseurs est devenu un enjeu important notammentpour augmenter leur autonomie. Nous réduisons la consommation statique des processeurs en exploitant leurs états basseconsommation. Dans un état basse-consommation, la consommation énergétique est fortement réduite mais un délai de transition et une pénalité sont nécessaires pour revenir à l'état actif. Nous proposons dans cette thèse les premiers algorithmes d'ordonnancement tempsréel multiprocesseurs optimaux pour réduire la consommation énergétique des systèmes temps réel dur et des systèmes temps réel àcriticité mixte. Ces algorithmes d'ordonnancement permettent d'activer les état basse-consommation les plus économes en énergie.Chaque algorithme d'ordonnancement est divisé en deux parties. La première partie hors-ligne génère un ordonnancement en utilisant laprogrammation linéaire en nombres entiers pour minimiser la consommation énergétique. La seconde partie est en-ligne et augmente lataille des périodes d'inactivité les tâches terminent leur exécution plus tôt que prévu. Dans le cadre des systèmes temps réel à criticitémixte, nous profitons du fait que les tâches de plus faible criticité peuvent tolérer des dépassements d'échéances pour être plus agressifhors-ligne afin de réduire davantage la consommation énergétique. Les résultats montrent que les algorithmes proposés utilisent demanière plus efficace les états basse-consommation. La consommation énergétique lorsque ceux-ci sont activés est en effet jusqu'à dix fois plus faible qu'avec les algorithmes d'ordonnancement multiprocesseurs existants. / Reducing the energy consumption of multiprocessor real-time embedded systems is a growing concern to increase their autonomy. In thisthesis, we aim to reduce the energy consumption of the processors, it includes both static and dynamic consumption and it is nowdominated by static consumption as the semiconductor technology moves to deep sub-micron scale. Existing solutions mainly focused ondynamic consumption. On the other hand, we target static consumption by efficiently using the low-power states of the processors. In alow-power state, the processor is not active and the deeper the low-power state is, the lower is the energy consumption but the higher isthe transition delay to come back to the active state. In this thesis, we propose the first optimal multiprocessor real-time schedulingalgorithms minimizing the static energy consumption. They optimize the duration of the idle periods to activate the most appropriate lowpowerstates. We target hard real-time systems with periodic tasks and also mixed-criticality systems where tasks with lower criticalitiescan tolerate deadline misses, therefore allowing us to be more aggressive while trying to reduce the energy consumption. We use anadditional task to model the idle time and mixed integer linear programming to compute offline a schedule minimizing the energyconsumption. Evaluations have been performed using existing optimal multiprocessor real-time scheduling algorithms. Results show thatthe energy consumption while processors are idle is up to ten times reduced with our solutions compared to the existing multiprocessor real-time scheduling algorithms.
|
39 |
Hiérarchie mémoire dans les systèmes intégrés multiprocesseurs construits autour de réseaux sur puce / Memory hierarchy in embedded multiprocessor system built around networks on chipBelhadj Amor, Hela 05 October 2017 (has links)
Les systèmes parallèles de type multi/pluri-cœurs permettant d'obtenir une grande puissance de calcul à bas coût énergétique sont de nos jours une réalité. Néanmoins, l'exploitation des performances de ces architectures dépend de l'efficacité du système à gérer les accès aux données. Le but de nos travaux est d'améliorer l'efficacité de ces accès en exploitant les caractéristiques de l'architecture matérielle.Dans une première partie, nous proposons une nouvelle organisation de la hiérarchie des mémoires caches qui maximise l'utilisation de l'espace de stockage disponible à chaque niveau. Cette solution, basée sur les architectures à accès non uniforme au cache (NUCA), supporte les transferts inter et intra-niveau de la hiérarchie. Elle requiert un protocole de cohérence de cache qui s'adapte à ses spécifications.Certes, le transfert des données au niveau de la hiérarchie est aussi un déterminant de la performance du système. Dans une seconde partie, nous prenons en compte les besoins de communication spécifiques du protocole. Nous proposons un réseau virtualisé comme support de communication ad-hoc afin de gérer le trafic de cohérence à moindre coût. Ce dernier relie les caches d'un même niveau pour supporter les transferts intra-niveaux, qui sont une spécificité de notre protocole, en vue de réduire la latence moyenne d'accès. / Multi/many-cores parallel systems for high-power computing at low energy costs are nowadays a reality. However, exploiting the performance of these architectures depends on the efficiency of the system in managing data accesses. The aim of our work is to improve the efficiency of these accesses by exploiting the hardware architecture characteristics.In a first part, we propose a new cache hierarchy organization that aims at maximizing the use of the available storage space at each level. This solution, based on non-uniform cache access architectures (NUCA), supports inter and intra-level transfers of the hierarchy. It requires a cache coherency protocol that suits its specifications.Obviously, the transfer of data in the hierarchy is also a determinant of the system performance. In a second part, we consider the specific communication needs of the protocol. We suggest the use of a virtualized network as an ad-hoc communication medium to manage consistency traffic at a lower cost. It links the caches of the same level to support intra-level transfers, which are a specificity of our protocol, in order to reduce the average access latency.
|
40 |
Distribution d'une architecture modulaire intégrée dans un contexte hélicoptère / Distribution of an integrated modular architecture in a helicopter contextBérard-Deroche, Émilie 12 December 2017 (has links)
Les architectures modulaires intégrées (IMA) sont une évolution majeure de l'architecture des systèmes avioniques. Elles permettent à plusieurs systèmes de se partager des ressources matérielles sans interférer dans leur fonctionnement grâce à un partitionnement spatial (zones mémoires prédéfinies) et temporel (ordonnancement statique) dans les processeurs ainsi qu'une réservation des ressources sur les réseaux empruntés. Ces allocations statiques permettent de vérifier le déterminisme général des différents systèmes: chaque système doit respecter des exigences de bout-en-bout dans une architecture asynchrone. Une étude pire cas permet d'évaluer les situations amenant aux limites du système et de vérifier que les exigences de bouten- bout sont satisfaites dans tous les cas. Les architectures IMA utilisés dans les avions centralisent physiquement des modules de calcul puissants dans des baies avioniques. Dans le cadre d'une étude de cas hélicoptère, ces baies ne sont pas envisageables pour des raisons d'encombrement: des processeurs moins puissants, utilisés à plus de 80%, composent ces architectures. Pour ajouter de nouvelles fonctionnalités ainsi que de nouveaux équipements, le souhait est de distribuer la puissance de traitement sur un plus grand nombre de processeurs dans le cadre d'une architecture globale asynchrone. Deux problématiques fortes ont été mises en avant tout au long de cette thèse. La première est la répartition des fonctions avioniques associée à une contrainte d'ordonnancement hors-ligne sur les différents processeurs. La deuxième est la satisfaction des exigences de communication de bout-en-bout, dépendantes de l'allocation et l'ordonnancement des fonctions ainsi que des latences de communication sur les réseaux. La contribution majeure de cette thèse est la recherche d'un compromis entre la distribution des architectures IMA sur un plus grand nombre de processeurs et la satisfaction des exigences de communication de bout-en-bout. Nous répondons à cet enjeu de la manière suivante: - Nous formalisons dans un premier temps un modèle de partitions communicantes tenant en compte des contraintes d'allocation et d'ordonnancement des partitions d'une part et des contraintes de communication de bout-en-bout entre partitions d'autre part. - Nous présentons dans un deuxième temps une recherche exhaustive des architectures valides. Nous proposons l'allocation successive des fonctions avioniques en considérant au même niveau la problématique d'ordonnancement et la satisfaction des exigences de bout-en-bout avec des latences de communication figées. Cette méthode itérative permet de construire des allocations de partitions partiellement valides. La construction des ordonnancements dans chacun des processeurs est cependant une démarche coûteuse dans le cadre d'une recherche exhaustive. - Nous avons conçu dans un troisième temps une heuristique gloutonne pour réduire l'espace de recherche associé aux ordonnancements. Elle permet de répondre aux enjeux de distribution d'une architecture IMA dans un contexte hélicoptère. - Nous nous intéressons dans un quatrième temps à l'impact des latences de communication de bout-en-bout sur des architectures distribuées données. Nous proposons pour celles-ci les choix de réseaux basés sur les latences de communication admissibles entre les différentes fonctions avioniques. Les méthodes que nous proposons répondent au besoin industriel de l'étude de cas hélicoptère, ainsi qu'à celui de systèmes de plus grande taille. / Integrated Modular Architectures (IMA) is a major evolution of avionics systems. A spatial (predefined memory zones) and temporal (off-line scheduling) partitioning as well as communication resources reservation permit several systems not to interfere in this architecture. The determinism of systems is proved thanks to these static allocations: each system must respect end-to-end requirements in an asynchronous architecture. A worst-case study permits to assess the bounds of systems in order to verify that end-to-end requirements are satisfied in all the cases. IMA architectures physically centralize powerful computing resources in avionics bays in aircraft. These aren't feasible in helicopters due to size reasons: powerless processors, at least 80% used, set these architectures. In order to add new functionalities and equipment, the aim is to distribute processing power over a larger number of processors in the context of a globally asynchronous architecture. Two strong issues have been advanced throughout this thesis. The first one is the distribution of avionics functions with an off-line scheduling constraint on the different processors. The second one is the satisfaction of end-to-end requirements, depending on allocation and scheduling of functions as well as communication latencies over the networks. This thesis proposes a trade-off between the distribution of IMA architectures on a larger number of processors and the satisfaction of end-to-end communication requirements. We answer at this topic as follows: - First, we formalize a communicating partitions model based on the partitions allocation and scheduling constraints on the one hand and end-to-end communication constraints on the other hand. - Second, we present an exhaustive search of valid architectures. We introduce a successive allocation of avionics functions considering altogether the scheduling and the satisfaction of end-to-end constraints with fixed communication latencies. This iterative method allows the building of partially valid allocations schemes, but the scheduling search is expensive here. - Third, we create a greedy heuristic to reduce the scheduling search space. It permits to meet the challenges of the distribution of IMA architecture in a helicopter context. - Finally, we focus on the impact of end-to-end communication latencies on given distributed architectures. We define for them the networks based on eligible communication latencies between the different avionics functions. Our methods answer the industrial case study needs as well as bigger size systems needs.
|
Page generated in 0.1426 seconds