Spelling suggestions: "subject:"d'l'exécution"" "subject:"d'd'exécution""
51 |
Environnements de visualisation pour l'évaluation des performances des systèmes parallèles : étude, conception et réalisationArrouye, Yves 01 November 1995 (has links) (PDF)
Les applications parallèles sont de plus en plus complexes et, même si les environnements de développement s'améliorent, de plus en plus difficiles à mettre au point que ce soit du point de vue de leur correction ou, dans le cadre qui nous intéresse, de leurs performances. Un outil intéressant pour la mise au point des performances d'une application est la visualisation de son exécution. Le travail présenté dans ce mémoire porte sur l'étude, la conception et la réalisation d'un environnement interactif extensible de visualisation pour l'évaluation de performance de systèmes parallèles. Un tel environnement permet de reconstituer le comportement d'une application d'après des traces d'exécution et facilite, par le calcul et la présentation d'indices de performances, la compréhension de son fonctionnement et la détection de ses problèmes de performance. Nous commençons par préciser les concepts importants dans un environnement de visualisation et présentons ensuite l'état de l'art en la matière. Nous décrivons ensuite la conception et la réalisation de l'environnement Scope. Cet environnement est validé par rapport aux objectifs initiaux et son utilité est démontrée par l'étude de sessions d'évaluation de performance d'applications concrètes.
|
52 |
Observations et analyses quantitatives multi-niveaux d'applications à objets répartiesOttogalli, François-Gaël 27 November 2001 (has links) (PDF)
Les moyens de traitement de l'information auxquels nous avons accès sont de plus en plus puissants, de plus en plus répartis. Des modèles de programmation, tels que la multiprogrammation légère ou la programmation par objets, leur sont appliqués afin de juguler l'accroissement de la complexité qui en découle. Mais qu'apportent ces modèles ? La mise en oeuvre de ces modèles permet-elle d'employer au "mieux" les ressources disponibles ? Pour répondre à cette question, nous nous plaçons dans une démarche de type "évaluation de performances". La problématique porte sur la reconstruction post-mortem, à partir de mesures, de la dynamique d'une exécution afin de réaliser une analyse qualitative et quantitative des ressources d'exécution consommées. L'hypothèse posée est que l'analyse des interactions entre objets, effectuée à différents niveaux d'abstraction, procure les informations suffisantes à nos études. Pour cela, nous réalisons des observations au niveau applicatif el système et cela sans modification du code exécutable original de l'application ou du noyau du système d'exploitation. Une infrastructure d'observation multi-niveaux a été réalisée dans le cadre d'applications Java réparties. Elle a été appliquée à l'étude d'un serveur multimédia Java. Une analyse de l'algorithmique et des consommations de ressources systèmes a été menée. Pour cela, les observations du niveau applicatif sont effectuées au travers de la JVMPI. Le coût moyen d'observation est de 3µs par point de mesure. Celles du niveau système sont obtenues par insertion à chaud d'un module dans un noyau Linux. De cette façon, les appels systèmes attachés aux écritures et aux lectures dans une "socket" sont déroutés. II nous est ainsi possible de reconstruire les interactions distantes entre objets Java et d'obtenir des indices de consommation des ressources systèmes. Le coût moyen d'observation est ici de 2µs par point de mesure.
|
53 |
I-Cluster : Agrégation des ressources inexploitées d'un intranet et exploitation pour l'instanciation de services de calcul intensifRichard, Bruno 12 December 2003 (has links) (PDF)
Notre étude s'intéresse aux machines en jachère disponibles sur un intranet afin de les agréger en grappes virtuelles de calcul scientifique. Dans le cadre du projet I-Cluster, nous avons étudié et réalisé l'infrastructure permettant de tirer parti de manière transparente des PC inexploités d'un réseau d'entreprise. En particulier, nous présentons des mécanismes novateurs permettant de faire passer un PC entre deux modes de travail "utilisateur" et "calcul", exclusifs l'un par rapport à l'autre. Ces mécanismes sont basés sur l'identification des ressources de calcul disponibles, la détection de leurs périodes d'inexploitation à l'aide de leur profil d'utilisation observé, d'un système de prédiction de fenêtres de tir et d'un bac à sable d'isolation de code. Par ailleurs, nous proposons un annuaire de gestion distribuée des ressources disponibles, le « nuage I-Cluster », fonctionnant en mode pair-à-pair sans serveur, auto-organisant et passant à l'échelle sur plusieurs dizaines de milliers de machines.
|
54 |
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
|
55 |
Alignement sémantique entre référentiels d'entreprise : Application aux systèmes d'exécution de la fabrication (MES)Sakka, Omar 21 March 2012 (has links) (PDF)
L'interopérabilité entre applications d'entreprise est une problématique à multiples facettes. Pour y répondre, nous avons investigué l'alignement sémantique des connaissances sur les processus et objets métier supportés par les différentes applications d'entreprise. Ces connaissances sont souvent hétérogènes selon les métiers et implémentées de manières diverses, engendrant ainsi des conflits sémantiques dues aux différentes interprétations des acteurs. Nous étudions l'identification de correspondances et/ou de conflits sémantiques entre ces connaissances, plus particulièrement dans le domaine des applications de gestion d'atelier (MES - Manufacturing Execution System). Nous proposons une démarche de formalisation de ces connaissances sous la forme d'un référentiel standardisé conforme à la norme ISO 62264 : "le référentiel MES", ainsi qu'une démarche d'enrichissement de ce référentiel par alignements successifs avec d'autres normes et/ou référentiels. Nous définissons ainsi formellement un méta-modèle qui décrit les relations sémantiques entre les éléments des référentiels à aligner, et des règles de contrôle sémantique pour garder la cohérence du référentiel MES et sa conformité au standard. Enfin, nous présentons une démarche d'alignement des besoins client sur le référentiel MES pour aider à la mise en œuvre des applications d'entreprise. Ce travail de recherche a été réalisé dans le cadre d'un projet de Recherche et Développement soutenu par le cluster économique EDIT de la région Rhône-Alpes, et sur ses résultats ont été utilisés dans une nouvelle offre de " MES à la carte ".
|
56 |
Rétro-ingénierie des diagrammes de séquence par visualisation interactiveGrati, Hassen 08 1900 (has links)
Nous proposons une approche semi-automatique pour la rétro-ingénierie des diagrammes de séquence d’UML. Notre approche commence par un ensemble de traces d'exécution qui sont automatiquement alignées pour déterminer le comportement commun du système. Les diagrammes de séquence sont ensuite extraits avec l’aide d’une visualisation interactive, qui permet la navigation dans les traces d'exécution et la production des opérations d'extraction. Nous fournissons une illustration concrète de notre approche avec une étude de cas, et nous montrons en particulier que nos diagrammes de séquence générés sont plus significatifs et plus compacts que ceux qui sont obtenus par les méthodes automatisées. / We propose a semi-automated approach for the reverse engineering of UML sequence diagrams. Our approach starts with a set of execution traces that are automatically aligned to determine the common behavior. Sequence diagrams are then extracted with the help of an interactive visualization, which allows navigating though execution traces and performing extraction operations. We provide a concrete illustration of our approach with a case study, and show in particular that the resulting diagrams are more meaningful and more compact than those extracted by automated approaches.
|
57 |
Architecture multi-coeurs et temps d'exécution au pire casLesage, Benjamin 21 May 2013 (has links) (PDF)
Les tâches critiques en systèmes temps-réel sont soumises à des contraintes temporelles et de correction. La validation d'un tel système repose sur l'estimation du comportement temporel au pire cas de ses tâches. Le partage de ressources, inhérent aux architectures multi-cœurs, entrave le calcul de ces estimations. Le comportement temporel d'une tâche dépend de ses rivales du fait de l'arbitrage de l'accès aux ressources ou de modifications concurrentes de leur état. Cette étude vise à l'estimation de la contribution temporelle de la hiérarchie mémoire au pire temps d'exécution de tâches critiques. Les méthodes existantes, pour caches d'instructions, sont étendues afin de supporter caches de données privés et partagés, et permettre l'analyse de hiérarchies mémoires riches. Le court-circuitage de cache est ensuite utilisé pour réduire la pression sur les caches partagés. Nous proposons à cette fin différentes heuristiques basées sur la capture de la réutilisation de blocs de cache entre différents accès mémoire. Notre seconde proposition est la politique de partitionnement Preti qui permet l'allocation d'un espace sans conflits à une tâche. Preti favorise aussi les performances de tâches non critiques concurrentes aux temps-réel dans les systèmes de criticité hybride.
|
58 |
Calcul du pire temps d'exécution : méthode formelle s'adaptant à la sophistication croissante des architectures matériellesBenhamamouch, Bilel 02 May 2011 (has links) (PDF)
Afin de garantir qu'un programme respectera toutes ses contraintes temporelles, nous devons être capable de calculer une estimation fiable de son temps d'exécution au pire cas (WCET: worst case execution time). Cependant, identifier une borne précise du pire temps d'exécution devient une tâche très complexe du fait de la sophistication croissante des processeurs. Ainsi, l'objectif de nos travaux de recherche a été de définir une méthode formelle qui puisse s'adapter aux évolutions du matériel. Cette méthode consiste à développer un modèle du processeur cible, puis à l'exécuter symboliquement afin d'associer à chaque trace d'exécution un temps d'exécution au pire cas. Une méthode de fusionnement est également prévue afin d'éviter une possible explosion combinatoire. Cette méthode a pour principale contrainte de ne pas introduire trop d'imprécision sur les temps calculés.
|
59 |
Réduction à la volée du volume des traces d'exécution pour l'analyse d'applications multimédia de systèmes embarqués / Online execution trace reduction for multimedia software analysis of embedded systemsEmteu Tchagou, Serge Vladimir 15 December 2015 (has links)
Le marché de l'électronique grand public est dominé par les systèmes embarqués du fait de leur puissance de calcul toujours croissante et des nombreuses fonctionnalités qu'ils proposent.Pour procurer de telles caractéristiques, les architectures des systèmes embarqués sont devenues de plus en plus complexes (pluralité et hétérogénéité des unités de traitements, exécution concurrente des tâches, ...).Cette complexité a fortement influencé leur programmabilité au point où rendre difficile la compréhension de l'exécution d'une application sur ces architectures.L'approche la plus utilisée actuellement pour l'analyse de l'exécution des applications sur les systèmes embarqués est la capture des traces d'exécution (séquences d'événements, tels que les appels systèmes ou les changements de contexte, générés pendant l'exécution des applications).Cette approche est utilisée lors des activités de test, débogage ou de profilage des applications.Toutefois, suivant certains cas d'utilisation, les traces d'exécution générées peuvent devenir très volumineuses, de l'ordre de plusieurs centaines de gigaoctets.C'est le cas des tests d'endurance ou encore des tests de validation, qui consistent à tracer l'exécution d'une application sur un système embarqué pendant de longues périodes, allant de plusieurs heures à plusieurs jours.Les outils et méthodes d'analyse de traces d'exécution actuels ne sont pas conçus pour traiter de telles quantités de données.Nous proposons une approche de réduction du volume de trace enregistrée à travers une analyse à la volée de la trace durant sa capture.Notre approche repose sur les spécificités des applications multimédia, qui sont parmi les plus importantes pour le succès des dispositifs populaires comme les Set-top boxes ou les smartphones.Notre approche a pour but de détecter automatiquement les fragments (périodes) suspectes de l'exécution d'une application afin de n'enregistrer que les parties de la trace correspondant à ces périodes d'activités.L'approche que nous proposons comporte deux étapes : une étape d'apprentissage qui consiste à découvrir les comportements réguliers de l'application à partir de la trace d'exécution, et une étape de détection d'anomalies qui consiste à identifier les comportements déviant des comportements réguliers.Les nombreuses expériences, réalisées sur des données synthétiques et des données réelles, montrent que notre approche permet d'obtenir une réduction du volume de trace enregistrée d'un ordre de grandeur avec d'excellentes performances de détection des comportements suspects. / The consumer electronics market is dominated by embedded systems due to their ever-increasing processing power and the large number of functionnalities they offer.To provide such features, architectures of embedded systems have increased in complexity: they rely on several heterogeneous processing units, and allow concurrent tasks execution.This complexity degrades the programmability of embedded system architectures and makes application execution difficult to understand on such systems.The most used approach for analyzing application execution on embedded systems consists in capturing execution traces (event sequences, such as system call invocations or context switch, generated during application execution).This approach is used in application testing, debugging or profiling.However in some use cases, execution traces generated can be very large, up to several hundreds of gigabytes.For example endurance tests, which are tests consisting in tracing execution of an application on an embedded system during long periods, from several hours to several days.Current tools and methods for analyzing execution traces are not designed to handle such amounts of data.We propose an approach for monitoring an application execution by analyzing traces on the fly in order to reduce the volume of recorded trace.Our approach is based on features of multimedia applications which contribute the most to the success of popular devices such as set-top boxes or smartphones.This approach consists in identifying automatically the suspicious periods of an application execution in order to record only the parts of traces which correspond to these periods.The proposed approach consists of two steps: a learning step which discovers regular behaviors of an application from its execution trace, and an anomaly detection step which identifies behaviors deviating from the regular ones.The many experiments, performed on synthetic and real-life datasets, show that our approach reduces the trace size by an order of magnitude while maintaining a good performance in detecting suspicious behaviors.
|
60 |
Programmation des architectures hétérogènes à l'aide de tâches divisibles ou modulables / Programmation of heterogeneous architectures using moldable tasksCojean, Terry 26 March 2018 (has links)
Les ordinateurs équipés d'accélérateurs sont omniprésents parmi les machines de calcul haute performance. Cette évolution a entraîné des efforts de recherche pour concevoir des outils permettant de programmer facilement des applications capables d'utiliser toutes les unités de calcul de ces machines. Le support d'exécution StarPU développé dans l'équipe STORM de INRIA Bordeaux, a été conçu pour servir de cible à des compilateurs de langages parallèles et des bibliothèques spécialisées (algèbre linéaire, développements de Fourier, etc.). Pour proposer la portabilité des codes et des performances aux applications, StarPU ordonnance des graphes dynamiques de tâches de manière efficace sur l’ensemble des ressources hétérogènes de la machine. L’un des aspects les plus difficiles, lors du découpage d’une application en graphe de tâches, est de choisir la granularité de ce découpage, qui va typiquement de pair avec la taille des blocs utilisés pour partitionner les données du problème. Les granularités trop petites ne permettent pas d’exploiter efficacement les accélérateurs de type GPU, qui ont besoin de peu de tâches possédant un parallélisme interne de données massif pour « tourner à plein régime ». À l’inverse, les processeurs traditionnels exhibent souvent des performances optimales à des granularités beaucoup plus fines. Le choix du grain d’un tâche dépend non seulement du type de l'unité de calcul sur lequel elle s’exécutera, mais il a en outre une influence sur la quantité de parallélisme disponible dans le système : trop de petites tâches risque d’inonder le système en introduisant un surcoût inutile, alors que peu de grosses tâches risque d’aboutir à un déficit de parallélisme. Actuellement, la plupart des approches pour solutionner ce problème dépendent de l'utilisation d'une granularité des tâches intermédiaire qui ne permet pas un usage optimal des ressources aussi bien du processeur que des accélérateurs. L'objectif de cette thèse est d'appréhender ce problème de granularité en agrégeant des ressources afin de ne plus considérer de nombreuses ressources séparées mais quelques grosses ressources collaborant à l'exécution de la même tâche. Un modèle théorique existe depuis plusieurs dizaines d'années pour représenter ce procédé : les tâches parallèles. Le travail de cette thèse consiste alors en l'utilisation pratique de ce modèle via l'implantation de mécanismes de gestion de tâches parallèles dans StarPU et l'implantation ainsi que l'évaluation d'ordonnanceurs de tâches parallèles de la littérature. La validation du modèle se fait dans le cadre de l'amélioration de la programmation et de l'optimisation de l'exécution d'applications numériques au dessus de machines de calcul modernes. / Hybrid computing platforms equipped with accelerators are now commonplace in high performance computing platforms. Due to this evolution, researchers concentrated their efforts on conceiving tools aiming to ease the programmation of applications able to use all computing units of such machines. The StarPU runtime system developed in the STORM team at INRIA Bordeaux was conceived to be a target for parallel language compilers and specialized libraries (linear algebra, Fourier transforms,...). To provide the portability of codes and performances to applications, StarPU schedules dynamic task graphs efficiently on all heterogeneous computing units of the machine. One of the most difficult aspects when expressing an application into a graph of task is to choose the granularity of the tasks, which typically goes hand in hand with the size of blocs used to partition the problem's data. Small granularity do not allow to efficiently use accelerators such as GPUs which require a small amount of task with massive inner data-parallelism in order to obtain peak performance. Inversely, processors typically exhibit optimal performances with a big amount of tasks possessing smaller granularities. The choice of the task granularity not only depends on the type of computing units on which it will be executed, but in addition it will influence the quantity of parallelism available in the system: too many small tasks may flood the runtime system by introducing overhead, whereas too many small tasks may create a parallelism deficiency. Currently, most approaches rely on finding a compromise granularity of tasks which does not make optimal use of both CPU and accelerator resources. The objective of this thesis is to solve this granularity problem by aggregating resources in order to view them not as many small resources but fewer larger ones collaborating to the execution of the same task. One theoretical machine and scheduling model allowing to represent this process exists since several decades: the parallel tasks. The main contributions of this thesis are to make practical use of this model by implementing a parallel task mechanism inside StarPU and to implement and study parallel task schedulers of the literature. The validation of the model is made by improving the programmation and optimizing the execution of numerical applications on top of modern computing machines.
|
Page generated in 0.0683 seconds