Spelling suggestions: "subject:"haute performance"" "subject:"faute performance""
11 |
Conception d'un service de communication pour systèmes d'exploitation distribués pour grappes de calculateurs: mise en oeuvre dans le système à image unique KerrighedGallard, Pascal 21 December 2004 (has links) (PDF)
Dans la ligné des réseaux de stations de travail, les grappes de calculateurs représentent une alternative attrayante, en terme de performance et de coût, comparativement aux machines parallèles traditionnelles, pour l'exécution d'applications parallèles de calcul à haute performance. Une grappe de calculateurs est constituée d'un ensemble de noeuds interconnectés par un réseau dédié à haute performance. Les systèmes à image unique (Single System Image -- SSI) forment une classe de logiciel offrant aux utilisateurs et programmeurs d'une grappe de calculateurs, l'illusion d'une machine unique. Un SSI peut être conçu à différents niveaux (intergiciel, système d'exploitation) selon le degré d'exigence quant à la<br />réutilisation sans modification de modèles de programmation et d'applications existants. Dans notre contexte, les applications visées sont de type MPI ou OpenMP. Comme pour tout système distribué, le système d'interconnexion des noeuds de la grappe se trouve au coeur des performances globales de la grappe et des SSIs.<br /><br />Les travaux présentés dans cette thèse portent sur la conception d'un système de communication dédié aux systèmes d'exploitation distribués pour grappes. Ces travaux s'inscrivent dans le cadre de la conception et la réalisation d'un SSI pour l'exécution d'applications haute performance sur grappe de calculateurs.<br /><br />Notre première contribution se situe dans la conception d'un modèle de communication adapté aux communications internes aux services systèmes distribués qui constituent le SSI. En effet, de la performance des communications dépendent les performances globales de la grappe. Les transactions de communication permettent (i) de décrire un message lors de sa création, (ii) d'acheminer efficacement le message en<br />fontion des ressources disponibles, et (iii) de délivrer et traiter le<br />message au plus tôt sur le noeud destinataire.<br /><br />Notre seconde contribution correspond à la conception d'un support au déplacement de processus communiquant par flux de données (socket, pipe, etc.). En effet, au sein d'un SSI, les processus peuvent être déplacés en cours d'exécution par un ordonnanceur global. Les flux dynamiques permettent le déplacement d'une extrémité de communication sans dégradation des performances.<br /><br />Nos propositions ont été mises en oeuvre dans le prototype de SSI Kerrighed, conçu au sein du projet INRIA PARIS de l'IRISA. Ce prototype nous a permis d'évaluer le système de communication proposé. Nous avons montré une réactivité accrue des services systémes distribués ainsi qu'une absence de dégradation des performances des applications communiquant par messages (en particulier MPI) aprés déplacement d'un processus. L'ensemble de ce travail est distribué sous licence GPL en tant que partie de Kerrighed et est disponible à l'adresse: http://www.kerrighed.org.
|
12 |
Communications à hautes performances portables en environnements hiérarchiques, hétérogènes et dynamiquesMercier, Guillaume 20 December 2004 (has links) (PDF)
Cette thèse a pour cadre les communications dans les machines paral lèles dans une optique de calcul haute-performance. Les évolutions du matériel ont rendu nécessaire les adaptations des logiciels destinés à exploiter les machines parallèles. En effet, les architectures de type ``grappes'' sont maintenant très répandues et l'apparition des grilles de calcul complique encore plus la situation car l'obtention des hautes performances passe par une exploitation des différents réseaux rapides disponibles et une prise en compte de la hiérarchie intrinsèque des configurations considérées. Au niveau applicatif, de nouvelles exigences émergent comme la dynamicité. Or, ces aspects sont trop souvent partiellement traités, en particulier dans les implémentations du standard de programmation par passage de messages MPI. Les solutions existantes se concentrent sur la hiérarchie et l'hétérogénéité ou la dynamicité, exceptionnellement les deux. En ce qui concerne les premiers aspects, des simplifications conduisent à une exploitation suboptimale du matériel potentiellement disponible. Nous avons analysé des implémentations existantes de MPI et avons proposé une architecture répondant aux besoins formulés. Cette architecture repose sur une for te interaction entre communications et processus légers et son c\oe ur est constitué par un moteur de progression des communications qui permet d'améliorer substantiellement les mécanismes existants. Les deux éléments logiciels fondamentaux sont une bibliothèque de processus légers (Marcel) ainsi qu'une couche générique de communication (Madeleine). L'implémentation de cette architecture a débouché sur le logiciel MPICH-Madeleine, utilisé ou évalué par plusieurs équipes et projets de recherche en France comme à l'étranger. L'évalution des performances (comparaisons avec Madeleine, mesures des opérations point-à-point, noyaux applicatifs) menée avec plusieurs réseaux haut-débit sur des grappes homogènes de machines multi-processeurs et les comparaisons avec MPICH-G2 ou PACX-MPI en environnement hétérogène démontrent que MPICH-Madeleine atteint des résultats de niveau similaire voire supérieur à ceux d'implémentations spécialisées de MPI.
|
13 |
Synthèse des communications dans un environnement de génération de logiciel embarqué pour des plateformes multi-tuiles hétérogènesChagoya-Garzon, A. 03 December 2010 (has links) (PDF)
Dans cette étude, nous nous intéressons aux outils de génération de logiciel embarqué ciblant des plateformes multi-tuiles hétérogènes. Dans ces plateformes, un système sur puce multiprocesseurs hétérogène (ou tuile) est répliqué et connecté par des réseaux externes à la tuile, extensibles et commutés par paquets. Ces outils se basent sur une représentation abstraite de l'architecture, de l'application et du déploiement des éléments applicatifs sur les éléments de l'architecture. Programmer de zéro ces architectures complexes n'est pas concevable, cependant nous ne pouvons nous contenter des environnements de programmation embarqués classiques en raison de l'hétérogénéité de la tuile de base, qui embarque des RISCs, des DSPs et une infrastructure interne à la tuile non uniforme et complexe. L'un des enjeux dans ce contexte est de masquer cette complexité au programmeur de l'application pour qu'il puisse se concentrer sur l'écriture de son programme sans se soucier dans un premier temps de son déploiement sur la plateforme cible. L'une des difficultés des systèmes multi-tuiles est le nombre de chemins de communication que ceux-ci proposent, c'est pourquoi nous nous concentrons dans ce manuscrit sur la gestion (transparente pour le programmeur) des communications dans notre flot. Nous définissons donc les informations minimales à inclure dans le modèle d'entrée du flot pour arriver à synthétiser les communications de l'application. Grâce à ces informations, nous arrivons à puiser les composants logiciels de communication adéquats, qui se présentent sous la forme de pilotes d'un système d'exploitation. Cette sélection n'est pas suffisante, il faut ensuite spécialiser ces composants pour chaque canal de communication de l'application afin d'arriver à un résultat correct. En raison du nombre d'unités de calcul de la plateforme ciblée et du nombre de canaux des applications considérées, une automatisation totale du flot est requise, nous abordons donc les difficultés que cela représente en raison du processus de compilation croisé mis en jeu par le flot, et la solution que nous avons retenue pour arriver à un flot fonctionnel. Trois applications (dont une appartenant au monde du calcul de haute performance), écrites par des programmeurs ne maîtrisant pas la plateforme multi-tuiles choisie, ont été soumises à notre flot, qui a généré de manière correcte plusieurs déploiements de ces applications.
|
14 |
Stratégie multiparamétrique pour la conception robuste en fatigueRelun, Nicolas 12 December 2011 (has links) (PDF)
La conception robuste de pièce mécaniques consiste à prendre en compte dans la modélisation les sources d'incertitudes.Le modèle devient alors assez représentatif de la réalité pour pouvoir diminuer les marges de sécurité, qui permettent de garantir que la pièce en fonctionnement ne sera pas mise en défaut.Dans le cas de pièces aérospatiales, une diminution des marges de sécurité est un enjeu économique majeur car cela entraîne une diminution du poids des pièces.La probabilité de défaillance est une des quantités critiques lors de la conception robuste. Celle-ci quantifie le risque de défaillance de la pièce en comparant la probabilité de résistance du matériau (caractérisée à partir d'essais sur éprouvettes) avec la probabilité de sollicitation du matériau, qui est déterminée à partir des contraintes extérieures à la pièce et des caractéristiques du matériau. C'est ce dernier problème qui a fait l'objet de cette thèse.Dans le cas d'un comportement non linéaire du matériau, la détermination de la probabilité de sollicitation impose d'exécuter de nombreuses fois un calcul de la pièce pour différentes valeurs des conditions aux limites et des paramètres du comportement matériau.Ceci devient rapidement hors de portée sans une stratégie adaptée, un calcul pouvant prendre jusqu'à 12 heures.Une stratégie dédiée à la résolution de l'ensemble de ces calculs est proposée dans ce travail. Elle tire parti de la similarité des calculs pour diminuer le temps total nécessaire. Un gain allant jusqu'à 30 est atteint sur des pièces industrielles simples en quasi-statique avec un comportement élasto-viscoplastique.
|
15 |
Stratégie multiéchelle pour l'analyse du couplage flambage-délaminage de composites stratifiésSaavedra Redlich, Karin 02 February 2012 (has links) (PDF)
Ces travaux de thèse, menés dans le cadre du projet de recherche européen MAAXIMUS (More Affordable Aircraft through eXtended, Integrated and Mature nUmerical Sizing), portent sur la simulation numérique de problèmes d'interaction flambage-délaminage au sein de composites stratifiés. Cette interaction met en jeu des phénomènes non linéaires de natures différentes (flambages local et global de plis, initiation et propagation du délaminage, contact entre plis fissurés) qui entraînent des pertes de rigidité importantes et des instabilités, sur des géométries très élancées du fait de la forte différence d'échelle entre les zones délaminées et le pli élémentaire. En conséquence, la prédiction conduit à traiter des problèmes non linéaires de grande taille dont la résolution est uniquement envisageable par l'utilisation des architectures de calcul parallèle actuelles.Dans ce contexte de résolution parallèle, la stratégie multiéchelle LaTIn (Large Time Increment) de décomposition de domaine mixte présente de nombreux avantages déjà mis en évidence lors de travaux précédents dans le cas du délaminage et du contact en petites perturbations. Le but de cette thèse est donc de proposer une extension de la méthode aux grandes transformations.Une grande partie des travaux a été consacrée à s'affranchir des difficultés inhérentes aux structures élancées. Une étude des paramètres de la méthode dans les cas de la flexion, du flambage, du contact entre grandes surfaces fissurées et du délaminage, a été réalisée pour optimiser le taux de convergence, diminuer les temps de calcul et assurer l'extensibilité de la stratégie.
|
16 |
Sur la robustesse d'une méthode de décomposition de domaine mixte avec relocalisation non linéaire pour le traitement des instabilités géométriques dans les grandes structures raidiesHinojosa Rehbein, Jorge Andres 10 February 2012 (has links) (PDF)
Les travaux de thèse portent sur l'évaluation et la robustesse des stratégies adaptées pour la simulation de grandes structures avec non-linéarités non équitablement réparties, tels le flambage local, et des non-linéarités globales dans les structures aéronautiques. La stratégie dite de " relocalisation non-linéaire " permet l'introduction de schémas de résolution non-linéaire par sous-structure au sein des méthodes de décomposition de domaine classiques.Dans un premier temps, les performances et la robustesse de la méthode sont présentées sur des exemples de structures représentatives des cas industriels. Dans un second temps, la stratégie est complètement parallélisée et des études de " speed-up " et de " extensibilité " sont menées. Enfin, la méthode est testée sur des structures réalistes et de grandes tailles.
|
17 |
Modèles de programmation et supports exécutifs pour architectures hétérogènesHenry, Sylvain 14 November 2013 (has links) (PDF)
Le travail réalisé lors de cette thèse s'inscrit dans le cadre du calcul haute performance sur architectures hétérogènes. Pour faciliter l'écriture d'applications exploitant ces architectures et permettre la portabilité des performances, l'utilisation de supports exécutifs automatisant la gestion des certaines tâches (gestion de la mémoire distribuée, ordonnancement des noyaux de calcul) est nécessaire. Une approche bas niveau basée sur le standard OpenCL est proposée ainsi qu'une approche de plus haut niveau basée sur la programmation fonctionnelle parallèle, la seconde permettant de pallier certaines difficultés rencontrées avec la première (notamment l'adaptation de la granularité).
|
18 |
Contribution à la conception à base de composants logiciels d'applications scientifiques parallèlesPichon, Vincent 05 November 2012 (has links) (PDF)
La conception d'applications scientifiques à base de couplage de code est une tâche complexe car elle demande de concilier une facilité de programmation et une obtention de haute performance. En outre, les ressources matérielles (supercalculateurs, grappes de calcul, grilles) permettant leur exécution forment un ensemble hétérogène en constante évolution. Les modèles à base de composants logiciels forment une piste prometteuse pour gérer ces deux sources de complexité car ils permettent d'exprimer les interactions entre les différents constituants d'une application tout en offrant des possibilités d'abstraction des ressources. Néanmoins, les modèles existants ne permettent pas d'exprimer de manière satisfaisante les applications constituées de motifs répliqués dynamiques et hiérarchiques. Ainsi, cette thèse vise à améliorer l'existant - et en particulier la plate-forme générique de simulation numérique SALOME - pour une classe d'applications très répandue : les applications à base de décomposition de domaine et la variante utilisant le raffinement de maillage adaptatif. Tout d'abord, nous avons proposé d'étendre le modèle de composition spatial et temporel de SALOME en ajoutant la possibilité de définir dynamiquement la cardinalité des composants. Cela demande en particulier de gérer les communications de groupes ainsi induites. La proposition a été implémentée dans SALOME et validée via une application de décomposition de domaine à base de couplage de plusieurs instances de Code_Aster. Ensuite, nous avons étudié la pertinence d'utiliser un modèle de composant supportant des connecteurs natifs (MPI, mémoire partagée, appel de méthode) pour permettre une composition plus fine des interactions entre composants. Les résultats d'expériences montrent que des performances équivalentes aux versions natives sont obtenues tout en permettant de manipuler facilement l'architecture de l'application. Enfin, nous avons étudié les extensions nécessaires aux modèles à composants (abstraction,hiérarchie, dynamicité) pour la conception d'applications de raffinement de maillage adaptatif. Les modèles de composants spatio-temporels les plus avancés permettent ainsi d'exprimer ce type d'application mais les performances sont limitées par leur mise en œuvre centralisée ainsi que par le manque de moyens efficaces pour modifier à la volée des assemblages de composants.
|
19 |
Road to exascale : improving scheduling performances and reducing energy consumption with the help of end-users / Route vers l'exaflops : amélioration des performances d'ordonnancement et réduction de la consommation énergétique avec l'aide des utilisateurs finauxGlesser, David 18 October 2016 (has links)
Le domaine du calcul haute performance (i.e. la science des super-calculateurs)est caractérisé par l’évolution continuelle des architectures de calcul, la proliférationdes ressources de calcul et la complexité croissante des problèmes que les utilisateursveulent résoudre. Un des logiciels les plus importants de la pile logicielle dessupercalculateurs est le Système de Gestion des Ressources et des Tâches. Il est lelien entre la charge de travail donnée par les utilisateurs et la plateforme de calcul. Cetype de logiciels spécialisés fournit des fonctions pour construire, soumettre, planifieret surveiller les tâches dans un environnent de calcul complexe et dynamique.Pour pouvoir atteindre des supercalculateurs exaflopiques, de nouvelles con-traintes et objectifs ont été inventés. Cette thèse développe et teste l’idée que lesutilisateurs de ces systèmes peuvent aider à atteindre l’échelle exaflopique. Spé-cifiquement, nous montrons des techniques qui utilisent les comportements desutilisateurs pour améliorer la consommation énergétique et les performances glob-ales des supercalculateurs.Pour tester ces nouvelles techniques, nous avons besoin de nouveaux outils etméthodes qui sont capables d’aller jusqu’à l’échelle exaflopique. Nous proposonsdonc des outils qui permettent de tester de nouveaux algorithmes capables des’exécuter sur ces systèmes. Ces outils sont capables de fonctionner sur de petitssupercalculateurs en émulant ou simulant des systèmes plus puissants. Après avoirévalué différentes techniques pour mesurer l’énergie dans les supercalculateurs, nousproposons une nouvelle heuristique, basée sur un algorithme répandu (Easy Backfill-ing), pour pouvoir contrôler la puissance électrique de ces énormes systèmes. Nousmontrons aussi comment, en utilisant la même méthode, contrôler la consommationénergétique pendant une période de temps. Le mécanisme proposé peut limiterla consommation énergétique tout en gardant des performances satisfaisantes. Sil’énergie est une ressource limitée, il faut la partager équitablement. Nous présen-tons de plus un mécanisme permettant de partager la consommation énergétiqueentre les utilisateurs. Nous soutenons que cette méthode va motiver les utilisateursà réduire la consommation énergétique de leurs calculs. Finalement, nous analysonsle comportement actuel et passé des utilisateurs pour améliorer les performancesdes supercalculateurs. Cette approche non seulement surpasse les performances destravaux existants, mais aussi ouvre la voie à l’utilisation de méthodes semblablesdans d’autres aspects des Systèmes de Gestion des Ressources et des Tâches. / The field of High Performance Computing (HPC) is characterized by the contin-uous evolution of computing architectures, the proliferation of computing resourcesand the increasing complexity of applications users wish to solve. One of the mostimportant software of the HPC stack is the Resource and Job Management System(RJMS) which stands between the user workloads and the platform, the applica-tions and the resources. This specialized software provides functions for building,submitting, scheduling and monitoring jobs in a dynamic and complex computingenvironment.In order to reach exaflops HPC systems, new constraints and objectives havebeen introduced. This thesis develops and tests the idea that the users of suchsystems can help reaching the exaflopic scale. Specifically, we show and introducenew techniques that employ users behaviors to improve energy consumption andoverall cluster performances.To test the proposed techniques, we need to develop new tools and method-ologies that scale up to large HPC clusters. Thus, we designed adequate tools thatassess new RJMS scheduling algorithms of such large systems. These tools areable to run on small clusters by emulating or simulating bigger platforms. Afterevaluating different techniques to measure the energy consumption of HPC clusters,we propose a new heuristic, based on the popular Easy Backfilling algorithm, inorder to control the power consumption of such huge systems. We also demonstrate,using the same idea, how to control the energy consumption during a time period.The proposed mechanism is able to limit the energy consumption while keepingsatisfying performances. If energy is a limited resource, it has to be shared fairly.We also present a mechanism which shares energy consumption among users. Weargue that sharing fairly the energy among users should motivate them to reducethe energy consumption of their applications. Finally, we analyze past and presentbehaviors of users using learning algorithms in order to improve the performancesof the parallel platforms. This approach does not only outperform state of the artmethods, it also shows promising insight on how such method can improve otheraspects of RJMS.
|
20 |
De la localité logicielle à la localité matérielle sur les architectures à mémoire partagée, hétérogène et non-uniforme / From Software Locality to Hardware Locality in Shared Memory Systems with NUMA and Heterogenous MemoryDenoyelle, Nicolas 05 November 2018 (has links)
La hiérarchie mémoire des serveurs de calcul est de plus en plus complexe. Les machines disposent de plusieurs niveaux de caches plus ou moins partagés et d’une mémoire distribuée. Plus récemment le paysage du Calcul Haute Performance (CHP) a vu apparaître des mémoires adressables embarquées dans le processeur ainsi que de nouvelles mémoires non-volatiles (périphérique mémoire sur le bus d’entrées sorties et prochainement de la mémoire non-volatile directement sur le bus mémoire). Cette hiérarchie est nécessaire pour espérer obtenir de bonnes performances de calcul, au prix d’une gestion minutieuse du placement des données et des tâches de calcul. Là où la gestion des caches était entièrement matérielle et masquée au développeur, le choix du placement des données dans telle ou telle zone de mémoire, plus ou moins rapide, volatile ou non, volumineuse ou non, est maintenant paramétrable logiciellement. Cette nouvelle flexibilité donne une grande liberté aux développeurs mais elle complexifie surtout leur travail quand il s’agit de choisir les stratégies d’allocation, de communication, de placement, etc. En effet, les caractéristiques des nombreux niveaux de hiérarchie impliqués varient significativement en vitesse, taille et fonctionnalités. Dans cette thèse, co-encadrée entre Atos Bull Technologies et Inria Bordeaux– Sud-Ouest, nous détaillons la structure des plates-formes contemporaines et caractérisons la performance des accès à la mémoire selon plusieurs scénarios de localité des tâches de calcul et des données accédées. Nous expliquons comment la sémantique du langage de programmation impacte la localité des données dans la machine et donc la performance des applications. En collaboration avec le laboratoire INESC-ID de Lisbonne, nous proposons une extension au célèbre modèle Roofline pour exposer de manière intelligible les compromis de performance et de localité aux développeurs d’applications. Nous proposons par ailleurs un outil de synthèse de métriques de localité mettant en lien les évènements de performance de l’application et de la machine avec la topologie de cette dernière. Enfin, nous proposons une approche statistique pour sélectionner automatiquement la meilleure politique de placement des tâches de calcul sur les coeurs de la machine et des données sur les mémoires. / Through years, the complexity of High Performance Computing (HPC) systems’ memory hierarchy has increased. Nowadays, large scale machines typically embed several levels of caches and a distributed memory. Recently, on-chip memories and non-volatile PCIe based flash have entered the HPC landscape. This memory architecture is a necessary pain to obtain high performance, but at the cost of a thorough task and data placement. Hardware managed caches used to hide the tedious locality optimizations. Now, data locality, in local or remote memories, in fast or slow memory, in volatile or non-volatile memory, with small or wide capacity, is entirely software manageable. This extra flexibility grants more freedom to application designers but with the drawback of making their work more complex and expensive. Indeed, when managing tasks and data placement, one has to account for several complex trade-offs between memory performance, size and features. This thesis has been supervised between Atos Bull Technologies and Inria Bordeaux – Sud-Ouest. In the hereby document, we detail contemporary HPC systems and characterize machines performance for several locality scenarios. We explain how the programming language semantics affects data locality in the hardware, and thus applications performance. Through a joint work with the INESC-ID laboratory in Lisbon, we propose an insightful extension to the famous Roofline performance model in order to provide locality hints and improve applications performance. We also present a modeling framework to map platform and application performance events to the hardware topology, in order to extract synthetic locality metrics. Finally, we propose an automatic locality policy selector, on top of machine learning algorithms, to easily improve applications tasks and data placement.
|
Page generated in 0.0755 seconds