Spelling suggestions: "subject:"analyse dde performances"" "subject:"analyse dee performances""
1 |
Analyse de l'écoulement instationnaire cavitant dans les inducteursMejri-Chtioui, Imène 06 1900 (has links) (PDF)
Dans les turbomachines et plus particulièrement dans les inducteurs, la cavitation reste un sujet de préoccupation majeure. L'évolution rapide de l'industrie dans les turbomachines combinée aux récents progrès réalisés en CFD, permettent une investigation, une analyse et un diagnostic numériques de ces machines par une meilleure connaissance des caractéristiques des écoulements dont elles sont le siège. Dans le cadre de ce travail, nous avons étudié une gamme d'inducteurs qui se différentient par certains critères géométriques en écoulements cavitants et subcavitants. Les interactions entre les divers critères géométriques étudiés, jouent sans le moindre doute un rôle important et nécessitent la prise en compte d'un couplage entre ces paramètres dans les diverses conditions de fonctionnement prévisibles (débit, NPSH, etc.). L' =un des objectifs est d'aboutir, à terme, à une amélioration du processus de conception des inducteurs. La mise en oeuvre de calculs tridimensionnels cavitants, a permis d'analyser les caractéristiques de l'écoulement dans les différentes configurations d'inducteurs pour des régimes de fonctionnement stables et instables, et de détecter les paramètres les plus importants affectant leur bon fonctionnement. Une méthodologie de modélisation des caractéristiques a pu ainsi être mise en oeuvre et appliquée sur différentes géométries avec succès. Un autre objectif poursuivi est de mieux cerner à la fois expérimentalement et numériquement le phénomène de cavitation particulièrement dans ce type de machines en écoulement stationnaire et instationnaire. Ceci a permis d'établir des méthodes précises pour la prédiction de son apparition et du développement de ses différents aspects afin de repousser les limites techniques qu'elle engendre. De manière plus générale, notre collaboration avec ANSYS-Canada et l'Université du New Brunswick au cours de ce travail, a donné lieu à la validation du modèle cavitant du code CFX5.7 sur l'un des inducteurs présentés dans ce rapport.
|
2 |
Analyzing the memory behavior of parallel scientific applications / Analyse du comportement mémoire d'applications parallèles de calcul scientifiqueBeniamine, David 05 December 2016 (has links)
Depuis plusieurs décennies, afin de réduire la consommation énergétique des processeurs, les constructeurs fabriquent des ordinateurs de plus en plus parallèles.Dans le même temps, l'écart de fréquence entre les processeurs et la mémoire a significativement augmenté.Pour compenser cet écart, les processeurs modernes embarquent une hiérarchie de caches complexe.Développer un programme efficace sur de telles machines est une tâche complexe.Par conséquent, l'analyse de performance est devenue une étape majeure lors du développement d'applications requérant des performances.La plupart des outils d'analyse de performances se concentrent sur le point de vue du processeur.Ces outils voient la mémoire comme une entité monolithique et sont donc incapable de comprendre comment elle est accédée.Cependant, la mémoire est une ressource critique et les schémas d'accès à cette dernière peuvent impacter les performances de manière significative.Quelques outils permettant l'analyse de performances mémoire existent, cependant ils sont basé sur un échantillon age à large grain.Par conséquent, ces outils se concentrent sur une petite partie de l’Exécution et manquent le comportement global de l'application.De plus, l'échantillonnage à large granularité ne permet pas de collecter des schémas d'accès.Dans cette thèse, nous proposons deux outils différences pour analyser le comportement mémoire d'une application.Le premier outil est conçu spécifiquement pour pour les machines NUMA (Not Uniform Memory Accesses) et fournit plusieurs visualisations du schéma global de partage de chaque structure de données entre les flux d’ExécutionLe deuxième outil collecte des traces mémoires a grain fin avec information temporelles.Nous proposons de visualiser ces traces soit à l'aide d'un outil générique de gestion de traces soit en utilisant une approche programmatique basé sur R.De plus nous évaluons ces deux outils en les comparant a des outils existant de trace mémoire en terme de performances, précision et de complétude. / Since a few decades, to reduce energy consumption, processor vendors builds more and more parallel computers.At the same time, the gap between processors and memory frequency increased significantly.To mitigate this gap, processors embed a complex hierarchical caches architectureWriting efficient code for such computers is a complex task.Therefore, performance analysis has became an important step of the development of applications seeking for performances.Most existing performance analysis tools focuses on the point of view of the processor.Theses tools see the main memory as a monolithic entity and thus are not able to understand how it is accessed.However, memory is a common bottleneck in High Performances Computing, and the pattern of memory accesses can impact significantly the performances.There are a few tools to analyze memory performances, however theses tools are based on a coarse grain sampling.Consequently, they focus on a small part of the execution missing the global memory behavior.Furthermore, these coarse grain sampling are not able to collect memory accesses patterns.In this thesis we propose two different tools to analyze the memory behavior of an application.The first tool is designed specifically for Not Uniform Memory Accesses machines and provides some visualizations of the global sharing pattern inside each data structure between the threads.The second one collects fine grain memory traces with temporal information.We can visualize theses traces either with a generic trace management framework or with a programmatic exploration using R.Furthermore we evaluate both of these tools, comparing them with state of the art memory analysis tools in terms of performances, precision and completeness.
|
3 |
Mécanismes d'accès multiple dans les réseaux sans fil large bande / Multiple Access Mechanisms in Broadband Wireless NetworksRagaleux, Alexandre 22 September 2016 (has links)
Dans cette thèse, nous étudions le problème de l'allocation de ressources dans le cadre des réseaux 4G LTE. La méthode d'accès OFDMA qui est utilisée partage les ressources radios à la fois dans le domaine fréquentiel et temporel. En raison des déficiences du canal, les utilisateurs ne bénéficient pas toujours des mêmes débits d'émission/réception sur chacune des ressources. Dans ce cadre, notre problème consiste à distribuer ces ressources radios aux mobiles afin de leur permettre de transmettre/recevoir des données. L'algorithme utilisé pour allouer les ressources a une importance fondamentale sur les performances du système. La norme LTE ajoute des contraintes supplémentaires à ce problème et rend l'exploitation de la diversité fréquentielle et de la diversité multi-utilisateurs plus difficile. En effet, sous ces contraintes, nous montrons que le problème de l'allocation de ressources fait alors partie de la classe des problèmes « difficiles ». Par conséquent, les algorithmes classiques de la littérature sont souvent inadaptés à un réseau LTE réel. Nous proposons des algorithmes d'allocation de ressources à la fois pour le sens montant et descendant de LTE. Les contraintes de la norme sont rigoureusement prises en compte afin de construire des solutions efficaces. De plus, les algorithmes proposés sont génériques et peuvent donc s'adapter à une grande variété d'objectifs. En particulier, nous nous attachons à prendre en charge les trafics multimédias dont les débits et les besoins en qualité de service sont très hétérogènes (taux d’erreurs binaires, retard, gigue, etc.). En effet, l'augmentation progressive des débits et la forte popularité des équipements mobiles intelligents amènent à une utilisation toujours plus massive des applications multimédias. Tous nos algorithmes sont validés par simulation. Par ce biais, nous montrons que la prise en compte des contraintes de LTE est essentielle à l'obtention de performances élevées. / In this thesis, we study the resource allocation problem within the framework of 4G LTE networks. The OFDMA access method divides the radio resources both in the frequency and time domains. Due to channel impairments, users do not always have the same transmit/receive rates on each resource. In this context, our problem is to share the radio resources between users and enable them to transmit/receive data. The algorithm used to allocate resources is of fundamental importance on system performance. The LTE standard adds constraints to this problem and makes harder the exploitation of the frequency and the multi-user diversity. Indeed, under these constraints, we show that the resource allocation problem becomes part of the « most difficult » problems. Therefore, the conventional algorithms are often not adapted to a real LTE network. We provide resource allocation algorithms for both the uplink and downlink of LTE. The constraints of the standard are rigorously taken into account in order to build effective solutions. In addition, the proposed algorithms are generic and can adapt to a wide variety of objectives. In particular, we focus on the support of multimedia traffic with heterogeneous quality of service requirements (bit error rate, delay, jitter, etc.). Indeed, the gradual increase of the offered throughput and the strong popularity of smart mobile devices lead to a massive use of multimedia applications. Our algorithms are validated through extensive simulation. By this means, we show that the inclusion of LTE constraints is essential to achieving high performance.
|
4 |
Conception & développement d'une plateforme en réalité virtuelle de pilotage de véhicules intelligentsLuo, Minzhi 21 September 2012 (has links) (PDF)
Cette thèse est consacrée au domaine interdisciplinaire des Systèmes de Transport Intelligents et des technologies de Réalité Virtuelle. Elle se concentre sur l'amélioration des stratégies de commande des véhicules intelligents en tenant compte des impacts de l'environnement naturel ainsi que sur l'analyse de performance, la visualisation et la vérification de la validité des algorithmes de commande sur la plateforme de véhicules intelligents réalité virtuelle (IVVR).La plateforme IVVR comprend trois sous-systèmes : un sous-système de commande de véhicules intelligents, un sous-système de visualisation et un sous-système virtuel sans fil. Le synthétique environnement naturel a été modélisé et simulé pour la simulation et l'analyse de performance des stratégies de commande sous conditions environnementales complexes. Ensuite, les expérimentations concernant le trafic équipé du régulateur de vitesses adaptatives (ou coopérative) sont exécutés et ils montrent que les systèmes existants ont échoué à maintenir une espace inter-véhiculaire de sécurité lorsque les conditions d'environnement naturel sont défavorables. Dans ce cas, nous proposons un nouvel algorithme de commande appelé NECACC pour le contrôle longitudinal du véhicule en maintenant une espace inter-véhiculaire de sécurité et garantissant une capacité de circulation optimisée même dans des conditions environnementales complexes. Cet algorithme est ensuite simulé, vérifié et validé sur la plateforme IVVR. Enfin, les démonstrations de trafic virtuel effectuant des manœuvres communes de circulation contrôlés par les systèmes de commande intégrés proposées sont présentées sous diverse conditions environnementales
|
5 |
Infrastructure pour la gestion générique et optimisée des traces d’exécution pour les systèmes embarqués / Infrastructure for generic and optimized management of execution traces for embedded systemsMartin, Alexis 13 January 2017 (has links)
La validation des systèmes est un des aspects critiques dans les phases de développement. Cette validation est d'autant plus importante pour les systèmes embarqués, dont le fonctionnement doit être autonome, mais aussi contraint par des limitations physiques et techniques. Avec la complexification des systèmes embarqués ces dernières années, l'applications de méthodes de validation durant le développement devient trop couteux, et la mise en place de mécanismes de vérification post-conception est nécessaire. L'utilisation de traces d'exécution, permettant de capturer le comportement du système lors de son exécution, se révèle efficace pour la compréhension et la validation des systèmes observés. Cependant, les outils d'exploitation de traces actuels se confrontent à deux défis majeurs, à savoir, la gestion de traces pouvant atteindre des tailles considérables, et l'extraction de mesures pertinentes à partir des informations bas-niveau contenues dans ces traces. Dans cette thèse, faite dans le cadre du projet FUI SoC-TRACE, nous présentons trois contributions. La première concerne la définition d'un format générique pour la représentation des traces d'exécution, enrichi en sémantique. La seconde concerne une infrastructure d'analyse utilisant des mécanismes de workflow permettant l'analyse générique et automatique de traces d'exécution. Cette infrastructure répond au problème de gestion des traces de tailles considérables textit{via} des mécanismes de streaming, permet la création d'analyses modulaires et configurables, ainsi qu'un enchainement automatique des traitements. Notre troisième contribution propose une méthode générique pour l'analyse de performances de systèmes Linux. Cette contribution propose à la fois la méthode et les outils de collecte de traces, mais aussi le workflow permettant d'obtenir des profils unifiés pour les traces capturées. La validation de nos propositions ont été faites d'une part sur des traces issues de cas d'usages proposés par STMicroelectronics, partenaire du projet, et d'autre part sur des traces issues de programmes de benchmarks. L'utilisation d'un format enrichi en sémantique a permis de mettre en évidence des anomalies d'exécutions, et ce de manière semi-automatique. L'utilisation de mécanismes de streaming au sein de notre infrastructure nous a permis de traiter des traces de plusieurs centaines de gigaoctets. Enfin, notre méthode d'analyse générique nous a permis de mettre en évidence, de manière automatique et sans connaissances a priori des programmes, le fonctionnement interne de ces différents benchmarks. La généricité de nos solutions a permis d'observer le comportement de programmes similaires sur des plates-formes et des architectures différentes, et d'en montrer leur impact sur les exécutions. / Validation process is a critical aspect of systems development. This process is a major concern for embedded systems, to assess their autonomous behavior, led by technical and physical constraints. The growth of embedded systems complexity during last years prevents the use of complex and costly development processes such as formal methods. Thus, post-conception validations must be applied. Execution traces are effective for validation and understanding as they allow the capture of systems behavior during their executions. However, trace analysis tools face two major challenges. First, the management of huge execution traces. Second, the ability to retrieve relevant metrics, from the low-level information the trace contains. This thesis was done as part of the SoC-TRACE projet, and presents three contributions. Our first contribution is a definition of a generic execution trace format that expresses semantics. Our second contribution is a workflow-based infrastructure for generic and automatic trace analysis. This infrastructure addresses the problem of huge traces management using streaming mechanisms. It allows modular and configurable analyses, as well as automatic analyses execution. Our third contribution is about the definition of a generic performance analyses for Linux systems. This contribution provides methods and tools for trace recording, and also analysis workflow to obtain unified performance profiles. We validate our contributions on traces from use cases given by STMicroelectronics, partner of the project, and also on traces recorded from benchmarks executions. Our trace format with semantics allowed us to automatically bring out execution problems. Using streaming mechanisms, we have been able to analyze traces that can reach several hundreds of gigabytes. Our generic analysis method for systems let us to automatically highlight, without any prior knowledge, internal behavior of benchmark programs. Our generic solutions point out a similar execution behavior of benchmarks on different machines and architectures, and showed their impact on the execution.
|
6 |
Contribution à l'analyse de performances des Systèmes à Evénements Discrets non linéaires dans l'algèbre (min,+)Benfekir, Abderrahim 19 December 2013 (has links) (PDF)
Cette thèse s'inscrit dans le cadre de la théorie des systèmes linéaires dans les dioïdes. Cette théorie concerne la sous-classe des systèmes à événements discrets modélisables par les Graphes d'Événements Temporisés (GET). La dynamique de ces graphes peut être représentée par des équations récurrentes linéaires sur des structures algébriques particulières telles que l'algèbre (max,+) ou l'algèbre (min,+).Ce mémoire est consacré à l'analyse de performances des systèmes dynamiques qui peuvent être modélisés graphiquement par des Graphes d'Événements Temporisés Généralisés (GETG). Ces derniers, contrairement au GET, n'admettent pas une représentation linéaire dans l'algèbre (min,+). Pour pallier à ce problème de non linéarité, nous avons utilisé une approche de modélisation définie sur un dioïde d'opérateurs muni de deux lois internes : loi additive correspondant à l'opération (min), et loi multiplicative équivalente à la loi de composition usuelle. Le modèle d'état obtenu, est utilisé pour évaluer les performances des GETG. Pour cela, nous avons proposé une nouvelle méthode qui a pour but de linéariser le modèle mathématique régissant l'évolution dynamique du modèle graphique, dans le but d'obtenir un modèle (min,+) linéaire. La deuxième partie de cette thèse est consacrée au problème qui consiste à déterminer les ressources à utiliser dans une ligne de production, en vue d'atteindre des performances souhaitée. Ceci est équivalent à déterminer le marquage initial de la partie commande du GETG.
|
7 |
Synthèse d'Interface de Communication pour les Composants VirtuelsCoussy, Philippe 10 December 2003 (has links) (PDF)
Actuellement, des systèmes complets, contenant une partie logicielle et une partie matérielle, sont intégrés sur une même puce nommée Système-sur-Silicium (SoC). Pour faire face à la complexité d'intégration et maîtriser les contraintes, les équipes de recherche proposent de nouvelles méthodologies de conception qui reposent sur (1) la réutilisation de blocs logiciels ou matériels préconçus (Composant Virtuel VC, Intellectual Property IP), (2) sur l'élévation du niveau de description des applications (System-Level Design) et (3) sur l'orthogonalisation de différents aspects (fonctionnalité/architecture, calculs/communication, besoins/contraintes/choix d'implantation). Malheureusement la difficulté de réutilisation liée au niveau de description RTL (Register Transfer Level), auquel sont fournis les IPs, ne permet pas une intégration aisée et optimisée. Ainsi, les méthodologies d'intégration à base d'adaptateurs additionnels sont souvent inadaptées aux contraintes et à la spécificité des algorithmes utilisés dans le domaine du traitement du signal et de l'image (TDSI). Elles peuvent de ce fait aboutir à la violation des contraintes en terme de surface, consommation et performances du système. La synthèse de l'unité de traitement (UT) est réalisée à l'aide de l'outil GAUT (Générateur Automatique d'Unité de Traitement) dont l'ordonnancement est contraint par les paramètres temporel de l'intégrateur du composant virtuel. La synthèse de l'UT génère un ensemble de contraintes au E/S, modélisé sous la forme d'un IPERM (IP Execution Requirement Model). Ce dernier modélise (1) les dates de production et de consommation des données dans l'UT et (2) les bus sur lesquels elles transitent entre l'unité de communication et l'unité de traitement. Les modèles IPERM et IOCG sont finalement utilisés pour synthétiser l'unité de communication. Nous avons appliqué notre méthode à des algorithmes des domaines du TDSI et des Télécommunications. La première expérience est réalisée sur un exemple de Transformée de Fourrier Rapide (FFT). Pour les conditions d'expérimentation retenues, l'optimisation du nombre d'opérateurs est en moyenne de 20% et celle des registres de 7%, par rapport à une approche classique. La deuxième expérience utilise une Transformée en Cosinus Discrète (DCT) pour comparer les résultats, obtenus en appliquant l'approche d'intégration proposée dans ce manuscrit, avec les résultats des méthodes utilisant des adaptateurs. Pour l'exemple considéré, le gain sur les registres de communications varie de -2% à 88% à débit d'E/S constant. La dernière expérience, réalisée en partenariat industriel, démontre l'applicabilité de notre méthodologie sur un composant virtuel comportemental complexe (Maximum A Posteriori MAP) dans le contexte d'une application de Turbo décodage temps réel.<br /><br />Nous proposons dans ce mémoire une approche de réutilisation des IPs dans les applications orientées traitement du signal, de l'image et des télécommunications. Pour cela, nous basons notre approche sur la notion de composants virtuels de niveau algorithmique, définie dans le cadre des projets RNRT MILPAT (Méthodologie et Développement pour les Intellectual Properties pour Applications Telecom). Le flot de conception proposé s'inscrit dans la démarche Adéquation Algorithme Architecture du projet RNRT ALITPA (Définition et Application d'une méthodologie de développement pour les (IP) intellectual property de niveau comportemental dans les applications de télécommunication) et est basé sur l'utilisation de techniques de synthèse haut niveau sous contraintes d'intégration. Les unités fonctionnelles constituant l'architecture cible du composant sont (re)conçues en fonction des caractéristiques de l'architecture de communication du système et de la spécificité de l'application.<br /><br />Dans ce contexte, la spécification de l'IP est modélisée par un Graphe Flot de Signaux (SFG) qui, couplé aux temps de propagations des opérateurs et à la cadence d'itération, permet la génération d'un graphe de contrainte algorithmique ACG. Nous avons développé une d'analyse formelle des contraintes, qui repose sur les calculs de cycles, et permet de vérifier la cohérence entre la cadence, les dépendances de données de l'algorithme et les contraintes technologiques.<br /><br />Les contraintes d'intégration, spécifiées pour chacun des bus (ports) connectants l'IP aux autres composants du système, sont modélisées par un graphe de contraintes d'Entrée/Sortie IOCG (IO Constraint Graph) dont la sémantique est issue des travaux de Ku et De Micheli. Ce modèle supporte, entre autre, la modélisation (1) du type de transferts, (2) des varations temporelles des dates d'arrivées des données, (3) du séquencement des données échangées (4) des mécanismes liés aux protocoles. Les contraintes d'intégration et les contraintes algorithmiques de l'IP sont fusionnées pour fournir un graphe détaillé des contraintes GCG (Global Constraint Graph) exhibant les points de synchronisation entre l'environnement et le composant. Des optimisations pour l'implémentations sont proposées à partir de transformations formelles du graphe.<br /><br />La synthèse de l'unité de traitement (UT) est réalisée à l'aide de l'outil GAUT (Générateur Automatique d'Unité de Traitement) dont l'ordonnancement est contraint par les paramètres temporel de l'intégrateur du composant virtuel. La synthèse de l'UT génère un ensemble de contraintes au E/S, modélisé sous la forme d'un IPERM (IP Execution Requirement Model). Ce dernier modélise (1) les dates de production et de consommation des données dans l'UT et (2) les bus sur lesquels elles transitent entre l'unité de communication et l'unité de traitement. Les modèles IPERM et IOCG sont finalement utilisés pour synthétiser l'unité de communication.<br /><br />Nous avons appliqué notre méthode à des algorithmes des domaines du TDSI et des Télécommunications. La première expérience est réalisée sur un exemple de Transformée de Fourrier Rapide (FFT). Pour les conditions d'expérimentation retenues, l'optimisation du nombre d'opérateurs est en moyenne de 20% et celle des registres de 7%, par rapport à une approche classique. La deuxième expérience utilise une Transformée en Cosinus Discrète (DCT) pour comparer les résultats, obtenus en appliquant l'approche d'intégration proposée dans ce manuscrit, avec les résultats des méthodes utilisant des adaptateurs. Pour l'exemple considéré, le gain sur les registres de communications varie de -2% à 88% à débit d'E/S constant. La dernière expérience, réalisée en partenariat industriel, démontre l'applicabilité de notre méthodologie sur un composant virtuel comportemental complexe (Maximum A Posteriori MAP) dans le contexte d'une application de Turbo décodage temps réel.
|
8 |
Amélioration des délais de traversée pire cas des réseaux embarqués à l’aide du calcul réseau / Enhancement of worst case traversal time for embedded networks with network calculusMangoua sofack, William 30 June 2014 (has links)
Le calcul réseau (network calculus) est une théorie basée sur l’algèbre min-plus. Il offre un cadre formel de modélisation des réseaux de communication. Il a été utilisé pour certifier le réseau AFDX embarqué dans l’A380 de Airbus. Seulement, les bornes sur le délai annoncés par ces travaux de certification souffrent d’une sur-approximation dans le cas précis de l’agrégation dans un contexte de priorité statique non préemptive.L’objectif de nos travaux est de réduire cette sur-approximation. Dans cette thèse, nous proposons un service résiduel permettant d’obtenir de meilleurs bornes sur le délai dans le cas de la politique à priorité statique non préemptive et de la politique DRR. Nous montrons aussi comment ces deux politiques peuvent être combinées dans une politique hiérarchique à deux niveaux. / The thesis addresses performance analysis of embedded real time network using network calculus. Network calculus is a theory based on min-plus algebra. We use network calculus to assess the quality of service of a residual flow in two context : aggregation with non-preemptive priority policy and DRR policy. The main contribution concerns the evaluation of residual service, given to each flow. We also present how to handle DRR and non-preemptive priority policy hierrachically.
|
9 |
On computer-aided design-space exploration for multi-cores / Exploration de l'espace de design assistée par ordinateur pour les systèmes multi-coeursKempf, Jean-Francois 29 October 2012 (has links)
La complexité croissante des systèmes embarqués nécessite des formalismes de modélisation qui peuvent être simulés et analysés pour explorer l'espace des alternatives de conception. Cette thèse décrit le développement d'un formalisme de modélisation et des outils pour l'exploration de l'espace de design au plus tôt dans le flot de conception. Nous étendons le model-checking classique au pire cas pour les automates temporisés à l'analyse stochastique basée sur un raffinement des intervalles d'incertitude temporelle par des distributions sur les délais. D'une part, nous introduisons le formalisme des Duration Probabilistic Automata (DPA) à partir duquel nous pouvons réaliser de l'analyse ainsi que de l'optimisation. D'autre part nous présentons DESPEX (Design Space Explorer), un outil d'évaluation de performance de modèles de haut niveau des applications qui s'exécutent sur les plates-formes multi-coeurs. Nous montrons également son utilisation sur plusieurs cas d'étude. / The growing complexity of embedded systems calls for modeling formalisms that can be simulated and analyzed to explore the space of design alternatives. This thesis describes the development of a modeling formalism and tools for design space exploration at early design stage.We extend the classical worst-case model checking for timed automata to stochastic analysis based on a refinement of temporal uncertainty intervals into delay distribution. On one hand we introduce the formalism of Duration Probabilistic Automata (DPA) supporting analysis as well as optimization. On the other hand we provide DESPEX (DEsign SPace EXplorer), a tool for performance evaluation of high-level models of applications running on multi-core platforms. We also show its usage on several case studies.
|
10 |
Dynamic optimization of data-flow task-parallel applications for large-scale NUMA systems / Optimisation dynamique des applications à base de tâches data-flow pour des machines NUMADrebes, Andi 25 June 2015 (has links)
Au milieu des années deux mille, le développement de microprocesseurs a atteint un point à partir duquel l'augmentation de la fréquence de fonctionnement et la complexification des micro-architectures devenaient moins efficaces en termes de consommation d'énergie, poussant ainsi la densité d'énergie au delà du raisonnable. Par conséquent, l'industrie a opté pour des architectures multi-cœurs intégrant plusieurs unités de calcul sur une même puce. Les sytèmes hautes performances d'aujourd'hui sont composés de centaines de cœurs et les systèmes futurs intègreront des milliers d'unités de calcul. Afin de fournir une bande passante mémoire suffisante dans ces systèmes, la mémoire vive est distribuée physiquement sur plusieurs contrôleurs mémoire avec un accès non-uniforme à la mémoire (NUMA). Des travaux de recherche récents ont identifié les modèles de programmation à base de tâches dépendantes à granularité fine comme une approche clé pour exploiter la puissance de calcul des architectures généralistes massivement parallèles. Toutefois, peu de recherches ont été conduites sur l'optimisation dynamique des programmes parallèles à base de tâches afin de réduire l'impact négatif sur les performances résultant de la non-uniformité des accès à la mémoire. L'objectif de cette thèse est de déterminer les enjeux et les opportunités concernant l'exploitation efficace de machines many-core NUMA par des applications à base de tâches et de proposer des mécanismes efficaces, portables et entièrement automatiques pour le placement de tâches et de données, améliorant la localité des accès à la mémoire ainsi que les performances. Les décisions de placement sont basées sur l'exploitation des informations sur les dépendances entre tâches disponibles dans les run-times de langages de programmation à base de tâches modernes. Les évaluations expérimentales réalisées reposent sur notre implémentation dans le run-time du langage OpenStream et un ensemble de benchmarks scientifiques hautes performances. Enfin, nous avons développé et implémenté Aftermath, un outil d'analyse et de débogage de performances pour des applications à base de tâches et leurs run-times. / Within the last decade, microprocessor development reached a point at which higher clock rates and more complex micro-architectures became less energy-efficient, such that power consumption and energy density were pushed beyond reasonable limits. As a consequence, the industry has shifted to more energy efficient multi-core designs, integrating multiple processing units (cores) on a single chip. The number of cores is expected to grow exponentially and future systems are expected to integrate thousands of processing units. In order to provide sufficient memory bandwidth in these systems, main memory is physically distributed over multiple memory controllers with non-uniform access to memory (NUMA). Past research has identified programming models based on fine-grained, dependent tasks as a key technique to unleash the parallel processing power of massively parallel general-purpose computing architectures. However, the execution of task-paralel programs on architectures with non-uniform memory access and the dynamic optimizations to mitigate NUMA effects have received only little interest. In this thesis, we explore the main factors on performance and data locality of task-parallel programs and propose a set of transparent, portable and fully automatic on-line mapping mechanisms for tasks to cores and data to memory controllers in order to improve data locality and performance. Placement decisions are based on information about point-to-point data dependences, readily available in the run-time systems of modern task-parallel programming frameworks. The experimental evaluation of these techniques is conducted on our implementation in the run-time of the OpenStream language and a set of high-performance scientific benchmarks. Finally, we designed and implemented Aftermath, a tool for performance analysis and debugging of task-parallel applications and run-times.
|
Page generated in 0.0717 seconds