11 |
Méthodologie de conception d'architectures de processeur sûres de fonctionnement pour les applications mécatroniques / Design methology for dependable processor architectures in mechatronic applicationsJallouli, Mehdi 04 June 2009 (has links)
L'importance croissante des systèmes électroniques embarqués implique de les rendre de plus en plus sûrs. En effet, certains systèmes tels que les systèmes mécatroniques fonctionnent dans des conditions environnementales sévères les exposants à des erreurs dues aux perturbations. Ainsi, les concepteurs doivent considérer ces erreurs avec attention pour élaborer des remèdes adaptés. Dans ce travail, un intérêt particulier est porté sur la sûreté de fonctionnement des architectures de processeur. Le paradigme du processeur à pile a été choisi puisqu'il présente un bon compromis entre simplicité et efficacité. L'approche que nous avons proposée, évaluée et validée, est basée sur le développement et l'exploitation d'un émulateur logiciel du processeur. La sûreté de fonctionnement est assurée par une exploitation mixte de techniques de protection : une détection matérielle d'erreurs et une correction logicielle. La technique de correction est implantée dans des benchmarks et est validée dans l'émulateur à travers une simulation de différents scenarii d’apparition d’erreurs. Divers paramètres sont évalués tels que la capacité de correction et le surcoût temporel. Cette technique de correction est indépendante de l'application et des moyens de détection, ce qui confirme l'aspect méthodologique de la démarche. Par ailleurs, dans le cadre de la collaboration sollicitée par le projet CIM'Tronic, nous avons fait converger nos travaux avec ceux de l'équipe du CRAN de Nancy/A3SI de Metz en appliquant l'approche du flux informationnel sur le jeu d’instructions du processeur. Nous avons montré la capacité de cette approche d'évaluer la fiabilité de l'ensemble processeur/application / Nowadays, embedded systems are becoming increasingly attractive for many applications. Furthermore, these systems should be more and more dependable. Indeed, systems such as mechatronic or automatically controlled ones often work in harsh environmental conditions making them more prone to errors due to disturbances. Thus, designers should consider ways to protect them against such errors. In this work, a special interest is dedicated to processor architecture dependability as we consider processor-based systems. The stack computer philosophy has been chosen for the processor architecture in order to achieve a good trade-off between simplicity and effectiveness. Our approach to introduce and evaluate the dependability is based on the development and the use of a software emulator of the processor to be designed. Dependability of the processor is ensured through the collaborative use of hardware and software protection techniques: hardware error detection means and software error correction means. The correction technique is implemented in benchmarks and is validated on the emulator through a simulation of various scenarios of errors appearance. Different parameters are evaluated such as correction capability and time overhead. This correction technique is independent from the target application and from the detection means, what confirms the methodological aspect of our approach. Otherwise, as requested by the CIM’tronic project, we integrated our work with the CRAN Nancy/A3SI Metz one by applying the information flow approach on the processor instruction set. We showed the ability of this approach to evaluate the whole processor/application dependability
|
12 |
Etude et réalisation d'un synthétiseur d'images basé sur une architecture banaliséeZarate Silva, Victor Hugo 04 November 1985 (has links) (PDF)
L'objet de cette thèse est l'étude d'opérateurs de synthèse adaptés à une architecture banalisée. Une attention particulière a été accordée aux opérateurs améliorant l'aspect réaliste des objets synthétisés. Ce travail a abouti à la réalisation d'opérateurs cablés (calcul d'éclairage, apposition des textures) fonctionnant en temps réel. Cette réalisation confère au système une grande interactivité alliée à un haut degré de réalisme
|
13 |
Architectures multiprocesseurs monopuces génériques pour turbo-communications haut-débitMuller, Olivier 13 December 2007 (has links) (PDF)
Les applications dans le domaine des communications numériques deviennent de plus en plus complexes et diversifiées. En témoigne l'apparition des turbo-communications qui représentent la généralisation du principe de processus itératif introduit par les turbocodes. La mise en œuvre de systèmes de turbo-communications, communément appelés turbo- récepteurs, est devenue primordiale pour atteindre les performances aujourd'hui exigées en terme de qualité de transmission. Des architectures matérielles dédiées implantant ces systèmes ont déjà vu le jour dans plusieurs équipes de recherches académiques et industrielles. Cependant, pour des exigences de flexibilité de l'implantation (pour supporter les évolutions d'une norme ou des applications multi-standards), de qualité de transmission et de haut débit de communication, des architectures multiprocesseurs adéquates deviennent incontournables. Le sujet de cette thèse porte sur la mise en œuvre d'une plate-forme architecturale multiprocesseur générique adaptée aux turbo-récepteurs et plus particulièrement aux turbo-décodeurs convolutifs. Ainsi, le sujet gravite autour de deux axes de recherche : un axe algorithmique autour des systèmes de turbo-décodage et un autre autour de la conception numérique ces derniers. Sur l'axe algorithmique, ces travaux présentent une étude approfondie des algorithmes de turbo-décodage autour des techniques de parallélisme. Les fondations de cette étude reposent sur une classification des parallélismes existants qui distingue les parallélismes selon leurs granularités et leurs pouvoirs d'accélération. L'analyse de cette classification a révélé la nécessité d'investiguer les parallélismes de sous-bloc et de décodeur composant pour améliorer l'efficacité de leur mise en œuvre. Les recherches menées mettent en évidence que le parallélisme de sous-bloc s'avère plus efficace avec la technique d'initialisation par passage de message. Nous avons également montré que le parallélisme de décodeur composant, grâce à la technique du décodage combiné ou « shuffled decoding » , améliore l'efficacité des architectures de turbo-décodeur fortement parallèles et que cette dernière peut être optimisée en contraignant la conception de l'entrelaceur du turbocode. Sur l'axe architectural, ces avancées algorithmiques ont été mises à profit dans une plate-forme multiprocesseur qui exploite au mieux les compromis matériel/logiciel (i .e. performance/flexibilité) tant au niveau du calcul qu'au niveau des communications. Au niveau du calcul, un processeur ASIP (Application-Specific Instruction-set Processor) dédié au décodage des codes convolutifs a été proposé et conçu de manière à ne fournir que la flexibilité désirée, tout en conservant des performances élevées grâce à un chemin de données fortement parallélisé. Au niveau des communications, la plate-forme a été dotée de réseaux sur puce dédiés pour assurer la bande passante nécessaire aux échanges itératifs d'information. Cette plate-forme multi-ASIP flexible a été prototypée sur une carte d'émulation intégrant des circuits FPGA. La flexibilité de la plate-forme proposée autorise le support de tous les standards de turbocodes convolutifs actuels et émergeants et peut trouver un intérêt industriel dans les domaines des télécommunications mobiles et satellitaires, de la diffusion de contenu ou de l'Internet haut-débit.
|
14 |
Contribution à l'étude en fatigue de structures en aluminium renforcées par patchs compositesPastor, Marie-Laetitia 27 September 2007 (has links) (PDF)
Les composants aéronautiques sont soumis en service à des sollicitations mécaniques donnant lieu à des états de contraintes multiaxiaux et à amplitude variable provocant un phénomène d'endommagement par fatigue. Une alternative à la réparation de ces structures consiste à les renforcer préventivement, avant que la fissure ne soit apparue. Le contexte de ce travail s'inscrit donc dans le cadre du renforcement préventif de structures par patchs composites afin de retarder l'apparition de fissures. Des essais de fatigue sur éprouvettes en aluminium 2024-T3 renforcées sont menés pour observer et quantifier l'aspect bénéfique du renforcement en termes de durée de vie. Une méthodologie de dimensionnement en fatigue sous sollicitations de service est également proposée. Parallèlement, la mesure d'échauffement par caméra infrarouge est utilisée pour aider à comprendre le processus d'endommagement et de cumul de dommage propres à cet alliage.
|
15 |
Sur la description et la vérification de processeurs microprogrammablesRuiz De Olano Y Ruiz De Larrea, Alberto 21 June 1977 (has links) (PDF)
DEUX DESCRIPTIONS DE PROCESSEURS SONT UTILISEES: L'UNE BASEE SUR L'UTILISATION DU LANGAGE VDL/APL, L'AUTRE REPOSANT SUR LA NOTION D'ORGANIGRAMME. APPLICATION DE LA THEORIE DE LA SIMULATION ALGEBRIQUE ENTRE PROGRAMMES A LA VERIFICATION DE LA MICROPROGRAMMATION. DESCRIPTION D'UN MICROCALCULATEUR REEL MICROPROGRAMMABLE ET APPLICATION DE LA PROCEDURE DE VERIFICATION
|
16 |
Netlang : un langage de haut niveau pour les routeurs programmables dans le contexte des réseaux SDNBoughzala, Bochra 07 1900 (has links) (PDF)
Développer des applications réseaux pour des routeurs programmables basés sur les Network Processors (NPs) implique l'utilisation de langages de bas-niveau et d'outils propriétaires fortement dépendants des architectures matérielles sous-jacentes. Le code source, généralement écrit en langage assembleur, n'est pas facile à écrire et cause des problèmes de maintenance. Les applications résultantes sont également difficiles à déboguer. Dans ce mémoire nous proposons NETLANG, un nouveau langage de programmation de haut-niveau dédié aux NPs. De plus d'être un langage simple et élégant, de réduire les coûts de développement et de la maintenance, et d'améliorer la réutilisation du code, NETLANG a pour objectif essentiel de décrire le comportement des paquets dans un NP. NETLANG est un langage qui permet de développer des applications de traitement de paquets. Il établit deux niveaux. Le premier niveau du langage offre une abstraction et une description du routeur à travers un pipeline de tables OpenFlow et des règles de forwarding ayant l'aptitude d'être modifiées dynamiquement et donc de permettre de changer le comportement du routeur à la volée. La sémantique du langage est inspirée du protocole OpenFlow qui a permis d'exprimer les principales tâches de traitement de paquets telles que le parsing, le lookup et la modification. Le langage est bâti en respectant le modèle des Software Defined Networks (SDNs) qui définit un nouveau plan de séparation entre le control plane et le data plane. Le deuxième niveau de NETLANG est traduit en matériel et permet l'adaptabilité du langage à plusieurs plateformes. Des adaptateurs spécifiques à des plateformes différentes sont intégrés au compilateur de NETLANG et permettent de rendre le langage portable. En effet, nous avons utilisé deux environnements pour l'implémentation de NETLANG ; le NP4 d'EZchip caractérisé par sa structure de TOPs (Task Optimized Processors) en pipeline et le NFP-3240 de Netronome connu pour son parallélisme et l'exploitation du multithreading. La validation de NETLANG s'est basée sur un ensemble d'applications réseau ayant des complexités et des domaines différents. A travers ce mémoire nous avons démontré qu'on est capable d'avoir aujourd'hui un langage pour les routeurs programmables. La sémantique d'OpenFlow, sur laquelle nous avons basé notre langage NETLANG, est suffisante et même pertinente en termes de description de comportement des paquets dans un NP.
______________________________________________________________________________
MOTS-CLÉS DE L’AUTEUR : langages à domaine spécifique, réseaux programmables, processeurs de réseau.
|
17 |
Performance monitoring of throughput constrained dataflow programs executed on shared-memory multi-core architectures / Evaluation de performance d'applications flot de données executées sur des architectures multi-coeurSelva, Manuel 02 July 2015 (has links)
Les progrès continus de la microélectronique couplés au problème de gestion de la puissance dissipée ont conduit les fabricants de processeurs à se tourner vers des puces dites multi-coeurs au début des années 2000. Ces processeurs sont composés de plusieurs unités de calcul indépendantes. Contrairement aux progrès précédents ces architectures multi-coeurs, le logiciel doit être en grande parti repensé pour tirer parti de toutes les unités de calcul. Il faut pouvoir paralléliser une application séquentielle en tâches le plus indépendantes possibles pour pouvoir les exécuter sur différentes unités de calcul. Pour cela, de nombreux modèles de programmations dits concurrents ont été proposés. Dans cette thèse nous nous intéressons aux programmes décrits à l’aide du modèle dataflow. Ce travail porte sur l’évaluation des performances de programmes dataflow (forme que revêtent typiquement des applications de types traitement de flux vidéos ou protocoles de communication) sur des architectures multi-coeurs. Plus particulièrement, le sujet de la thèse porte sur l’extension de modèles de programmation dataflow avec des éléments d’expression de propriétés de qualité de service ainsi que la prise en compte de ces éléments pour détecter, à l’exécution, les goulots d’étranglement de performance au sein des programmes. Les informations concernant les goulots d'étranglements collectées pendant l'exécution sont utilisées à la fois pour faire de l'analyse hors-ligne et pour faire des adaptations pendant l'exécution des programmes. Dans le premier cas, le programmeur utilise ces informations pour savoir quelles parties du programme dataflow il faut optimiser et pour savoir comment distribuer efficacement le programme sur les unités de calcul. Dans le second cas, les informations collectées sont utilisées par des mécanismes d'adaptation automatique afin de redistribuer le travail sur les différentes unités de calcul de façon plus efficace. Nous portons une attention particulière au profiling de l'utilisation faite par les applications dataflow du système mémoire. Les informations sur les échanges de données fournies par le modèle de programmation permettent d'exploiter de façon intelligente les architectures mémoires des machines multi-coeurs. Néanmoins, la complexité de ces dernières ne permet pas de façon générale d'évaluer statiquement l'impact sur les performances des accès mémoires. Nous proposons donc la mise en place d'un système de profiling mémoire pour des applications dataflow basé sur des mécanismes matériels. / Because of physical limits, hardware designers have switched to parallel systems to exploit the still growing number of transistors per square millimeter of silicon. These parallel systems are made of several independent computing units. To benefit from these computing units, software must be changed. Existing sequential applications have to be split into independent tasks to be executed in parallel on the different computing units. To that end, many concurrent programming models have been proposed and are in use today. We focus in this thesis on the dataflow concurrent programming model. This work is about performance evaluation of dataflow programs on multicore architectures. We propose to extend dataflow programming models with the notion of throughput constraints and to take this information into account in the compilation tool chain to detect at runtime the throughput bottlenecks. The profiling results gathered during the execution are used both for off-line analyzes and to adapt the application during its execution. In the former case, the developer uses this information to know which part of the dataflow program should be optimized and to efficiently distribute the program on the computing units. In the later case, the profiling information is used by runtime adaptation mechanisms to distribute differently the work on the computing units. We give a particular focus on the profiling of the usage of the memory subsystem. The data exchange information provide by the programming model allows to efficiently used the memory subsystem of multicore architectures. Nevertheless, the complexity of modern memory systems doesn't allow to statically evaluate the impact of memory accesses on the global performances of the application. We propose to set up memory profiling dedicated to dataflow applications based on hardware profiling mechanisms.
|
18 |
Algorithmic problems in power management of computing systems / Problèmes algorithmiques dans les systèmes informatiques sous contraintes d'énergieZois, Georgios 12 December 2014 (has links)
Cette thèse se focalise sur des algorithmes efficaces en énergie pour des problèmes d'ordonnancement de tâches sur des processeurs pouvant varier la vitesse d'exécution ainsi que sur des processeurs fonctionnant sous un mécanisme de réchauffement-refroidissement, où pour un budget d'énergie donné ou un seuil thermique, l'objectif consiste à optimiser un critère de Qualité de Service. Une partie de notre recherche concerne des problèmes d'ordonnancement de tâches apparaissant dans des environnements de traitement de grandes données. Dans ce contexte, nous nous focalisons sur le paradigme MapReduce en considérant des problèmes d'ordonnancement efficaces en énergie sur un ensemble de processeurs, ainsi que pour la version classique.Premièrement, nous proposons des résultats de complexité, des algorithmes optimaux et approchés pour différentes variantes du problème de la minimisation du retard maximal d'un ensemble de tâches sur un processeur pouvant varier la vitesse d'exécution. Ensuite, nous considérons le problème d'ordonnancement MapReduce dans les versions énergétique et classique sur des processeurs non-reliés où le but est de minimiser le temps d'achèvement pondéré. Nous étudions deux cas spéciaux et les généralisations de ces deux problèmes en proposant des algorithmes d'approximation constante. Enfin, nous étudions le problème d'ordonnancement dans lequel la température du processeur est en-dessous un seuil donné où chaque tâche contribue au réchauffement et le but est de maximiser le nombre de tâches exécutées. Nous considérons le cas où les tâches ont des durées unitaires et ayant la même date d'échéance et nous étudions le rapport d'approximation de ce problème. / This thesis is focused on energy-efficient algorithms for job scheduling problems on speed-scalable processors, as well as on processors operating under a thermal and cooling mechanism, where, for a given budget of energy or a thermal threshold, the goal is to optimize a Quality of Service criterion. A part of our research concerns scheduling problems arising in large-data processing environments. In this context, we focus on the MapReduce paradigm and we consider problems of energy-efficient scheduling on multiple speed-scalable processors as well as classical scheduling on a set of unrelated processors.First, we propose complexity results, optimal and constant competitive algorithms for different energy-aware variants of the problem of minimizing the maximum lateness of a set of jobs on a single speed-scalable processor. Then, we consider energy-aware MapReduce scheduling as well as classical MapReduce scheduling (where energy is not our concern) on unrelated processors, where the goal is to minimize the total weighted completion time of a set of MapReduce jobs. We study special cases and generalizations of both problems and propose constant approximation algorithms. Finally, we study temperature-aware scheduling on a single processor that operates under a strict thermal threshold, where each job has its own heat contribution and the goal is to maximize the schedule's throughput. We consider the case of unit-length jobs with a common deadline and we study the approximability of the problem.
|
19 |
Synthèse géométrique temps réel / Real-time geometry synthesisHolländer, Matthias 07 March 2013 (has links)
La géométrie numérique en temps réel est un domaîne de recherches émergent en informatique graphique.Pour pouvoir générer des images photo-réalistes de haute définition,beaucoup d'applications requièrent des méthodes souvent prohibitives financièrementet relativement lentes.Parmi ces applications, on peut citer la pré-visualisation d'architectures, la réalisation de films d'animation,la création de publicités ou d'effets spéciaux pour les films dits réalistes.Dans ces cas, il est souvent nécessaire d'utiliser conjointement beaucoup d'ordinateurs possédanteux-mêmes plusieurs unités graphiques (Graphics Processing Units - GPUs).Cependant, certaines applications dites temps-réel ne peuvent s'accomoder de telles techniques, car elles requièrentde pouvoir générer plus de 30 images par seconde pour offrir un confort d'utilisationet une intéraction avec des mondes virtuels 3D riches et réalistes.L'idée principale de cette thèse est d'utiliser la synthèse de géométrie,la géométrie numérique et l'analyse géométrique pourrépondre à des problèmes classiques en informatique graphique,telle que la génération de surfaces de subdivision, l'illumination globaleou encore l'anti-aliasing dans des contextes d'intéraction temps-réel.Nous présentons de nouveaux algorithmes adaptés aux architectures matérielles courantes pour atteindre ce but. / Eal-time geometry synthesis is an emerging topic in computer graphics.Today's interactive 3D applications have to face a variety of challengesto fulfill the consumer's request for more realism and high quality images.Often, visual effects and quality known from offline-rendered feature films or special effects in movie productions are the ultimate goal but hard to achieve in real time.This thesis offers real-time solutions by exploiting the Graphics Processing Unit (GPU)and efficient geometry processing.In particular, a variety of topics related to classical fields in computer graphics such assubdivision surfaces, global illumination and anti-aliasing are discussedand new approaches and techniques are presented.
|
20 |
Optimisation multi-niveau d’une application de traitement d’images sur machines parallèles / Multi-level optimisation of an image processing application on parallel machinesSaidani, Tarik 06 November 2012 (has links)
Cette thèse vise à définir une méthodologie de mise en œuvre d’applications performantes sur les processeurs embarqués du futur. Ces architectures nécessitent notamment d’exploiter au mieux les différents niveaux de parallélisme (grain fin, gros grain) et de gérer les communications et les accès à la mémoire. Pour étudier cette méthodologie, nous avons utilisé un processeur cible représentatif de ces architectures émergentes, le processeur CELL. Le détecteurde points d’intérêt de Harris est un exemple de traitement régulier nécessitant des unités de calcul intensif. En étudiant plusieurs schémas de mise en oeuvre sur le processeur CELL, nous avons ainsi pu mettre en évidence des méthodes d’optimisation des calculs en adaptant les programmes aux unités spécifiques de traitement SIMD du processeur CELL. L’utilisation efficace de la mémoire nécessite par ailleurs, à la fois une bonne exploitation des transferts et un arrangement optimal des données en mémoire. Nous avons développé un outil d’abstraction permettant de simplifier et d’automatiser les transferts et la synchronisation, CELL MPI. Cette expertise nous a permis de développer une méthodologie permettant de simplifier la mise en oeuvre parallèle optimisée de ces algorithmes. Nous avons ainsi conçu un outil de programmation parallèle à base de squelettes algorithmiques : SKELL BE. Ce modèle de programmation propose une solution originale de génération d’applications à base de métaprogrammation. Il permet, de manière automatisée, d’obtenir de très bonnes performances et de permettre une utilisation efficace de l’architecture, comme le montre la comparaison pour un ensemble de programmes test avec plusieurs autres outils dédiés à ce processeur. / This thesis aims to define a design methodology for high performance applications on future embedded processors. These architectures require an efficient usage of their different level of parallelism (fine-grain, coarse-grain), and a good handling of the inter-processor communications and memory accesses. In order to study this methodology, we have used a target processor which represents this type of emerging architectures, the Cell BE processor.We have also chosen a low level image processing application, the Harris points of interest detector, which is representative of a typical low level image processing application that is highly parallel. We have studied several parallelisation schemes of this application and we could establish different optimisation techniques by adapting the software to the specific SIMD units of the Cell processor. We have also developped a library named CELL MPI that allows efficient communication and synchronisation over the processing elements, using a simplified and implicit programming interface. This work allowed us to develop a methodology that simplifies the design of a parallel algorithm on the Cell processor.We have designed a parallel programming tool named SKELL BE which is based on algorithmic skeletons. This programming model providesan original solution of a meta-programming based code generator. Using SKELL BE, we can obtain very high performances applications that uses the Cell architecture efficiently when compared to other tools that exist on the market.
|
Page generated in 0.0236 seconds