Дисертації з теми "Programmation (informatique) – Performances"

Щоб переглянути інші типи публікацій з цієї теми, перейдіть за посиланням: Programmation (informatique) – Performances.

Оформте джерело за APA, MLA, Chicago, Harvard та іншими стилями

Оберіть тип джерела:

Ознайомтеся з топ-50 дисертацій для дослідження на тему "Programmation (informatique) – Performances".

Біля кожної праці в переліку літератури доступна кнопка «Додати до бібліографії». Скористайтеся нею – і ми автоматично оформимо бібліографічне посилання на обрану працю в потрібному вам стилі цитування: APA, MLA, «Гарвард», «Чикаго», «Ванкувер» тощо.

Також ви можете завантажити повний текст наукової публікації у форматі «.pdf» та прочитати онлайн анотацію до роботи, якщо відповідні параметри наявні в метаданих.

Переглядайте дисертації для різних дисциплін та оформлюйте правильно вашу бібліографію.

1

Merlin, Armelle. "Modéles opérationnels communicants : performances et algèbres de chemins." Orléans, 2004. http://www.theses.fr/2004ORLE2052.

Повний текст джерела
Анотація:
Nous développons et étendons le modèle BSP (Bulk Synchronous Parallelism) qui permet une programmation data-parallèle explicite et un calcul de coût simple. Nous exposons d'abord des machines virtuelles pour le langage BSML associant BSP, programmation fonctionnelle et estimation des performances. Nous proposons ensuite d'associer concurrence et parallélisme. Ceci à l'aide d'une extension de l'algèbre de processus CCS, nommée BSPA, qui préserve les caractéristiques de BSP. Nous associons à BSPA un modèle de coût basé sur les algèbres de chemins et fidèle au modèle de performance BSP. Nous montrons comment appliquer ce modèle aux problèmes d'ordonnancement posés par l'informatique globalisée ou meta-computing. Cette méthode de calcul de coût est générale et peut s'appliquer à d'autres algèbres de processus. Ainsi nous proposons un modèle de dépense de resssources mémoire pour l'algèbre de processus SPPA dédiée aux protocoles cryptographiques et en particulier au protocole TCP.
Стилі APA, Harvard, Vancouver, ISO та ін.
2

Pérache, Marc. "Contribution à l'élaboration d'environnements de programmation dédiés au calcul scientifique hautes performances." Bordeaux 1, 2006. http://www.theses.fr/2006BOR13238.

Повний текст джерела
Анотація:
Dans le cadre du calcul scientifique intensif, la quête des hautes performances se heurte actuellement à la complexité croissante des architectures des machines parallèles. Ces dernières exhibent en particulier une hiérarchie importante des unités de calcul et des mémoires, ce qui complique énormément la conception des applications parallèles. Cette thèse propose un support d'exécution permettant de programmer efficacement les architectures de type grappes de machines multiprocesseurs, en proposant un modèle de programmation centré sur les opérations collectives de communication et de synchronisation et sur l'équilibrage de charge. L'interface de programmation, nommée MPC, fournit des paradigmes de haut niveau qui sont implémentés de manière optimisée en fonction de l'architecture sous-jacente. L'environnement est opérationnel sur la plate-forme de calcul du CEA/DAM (TERANOVA) et les évaluations valident la pertinence de l'approche choisie
Стилі APA, Harvard, Vancouver, ISO та ін.
3

Bourgoin, Mathias. "Abstractions performantes pour cartes graphiques." Paris 6, 2013. http://www.theses.fr/2013PA066627.

Повний текст джерела
Анотація:
Les cartes graphiques (GPU) sont des dispositifs performants etspécialisés dotés de nombreuses unités de calcul, dédiés à l'affichageet au traitement 3D. Les systèmes Cuda et OpenCL permettent d'endétourner l'usage pour réaliser des calculs généralistes, normalementeffectués par le CPU : la programmation GPGPU (General Purpose GPU). De très bas niveau d'abstraction, ils demandent de manipulerexplicitement de nombreux paramètres matériels comme la mémoire ou leplacement des calculs sur les différentes unités. Le but de cettethèse est l'étude de solutions de plus haut niveau d'abstraction pourla programmation GPGPU, afin de la rendre à la fois plus accessible etplus sûre. Nous introduisons deux langages de programmation dédiés àla programmation GPGPU, SPML et Sarek ainsi que leur sémantiqueopérationnelle, et les garanties qu'ils apportent. Nous présentonsensuite une implantation de ces langages, en OCaml, à travers labibliothèque SPOC et le langage dédié intégré, Sarek. Des testsmontrent que notre solution permet d'atteindre un haut niveau deperformance, pour des exemples simples, comme pour le portage d'uneapplication numérique réaliste depuis Fortran et Cuda, vers OCaml. Nous montrons alors comment notre solution permet de définir dessquelettes de programmation offrant davantage d'abstractions. Àtravers un exemple, nous présentons comment ils simplifient laprogrammation GPGPU et autorisent le développement d'optimisationssupplémentaires. Enfin, nous discutons les possibilités offertes parl'évolution des systèmes matériels et logiciels pour offrir unesolution unifiée pour la programmation GPGPU
Graphics Processing Units (GPUs) are complex devices with manycomputation units. Dedicated to display management and 3D processing,they are very efficient, but also highly specialized. Since recentyears, it is possible to divert their use to enable them to performgeneral computations normally performed by the CPU of thecomputer. This programming model, GPGPU (General Purpose GPU)programming is mainly based on two frameworks : Cuda and OpenCL. Bothare very low-level and demands explicit management of hardwareparameters such as the memory or the placement of computations on thevarious computation units. The goal of this thesis is the study ofsolutions of higher level of abstraction for GPGPU programming, inorder to make it more accessible and safer. After anintroduction to the context of GPGPU programming, we presnet twoprogramming languages dedicated to GPGPU programming, SPML andSarek. Through their operationnal semantics, we discuss theirproperties and the guarantees they offer. Then, we present animplementation of these languages with OCaml through the SPOC libraryand the domain specific language, Sarek. Performance tests show thatour solution achieves a high level of performance for simple examples,as well as with the translation of a realistic numerical applicationfrom Fortran and Cuda, to OCaml. We also show how our solutions allowto define algorithmic skeletons that offer more abstractions. Throughan example, we present how these skeletons eases GPGPU programming andoffers additional automatic optimizations. Finally we discuss how thecurrent hardware and software evolution can help providing a unifiedsolution for GPGPU programming
Стилі APA, Harvard, Vancouver, ISO та ін.
4

Aouad, Lamine Petiton Serge. "Contribution à l'algorithmique matricielle et évaluation de performances sur les grilles de calcul, vers un modèle de programmation à grande échelle." Villeneuve d'Ascq : Université des sciences et technologies de Lille, 2007. https://iris.univ-lille1.fr/dspace/handle/1908/199.

Повний текст джерела
Анотація:
Reproduction de : Thèse de doctorat : Informatique : Lille 1 : 2005.
N° d'ordre (Lille 1) : 3775. Résumé en français et en anglais. Titre provenant de la page de titre du document numérisé. Bibliogr. p. [121]-133.
Стилі APA, Harvard, Vancouver, ISO та ін.
5

Clet-Ortega, Jérôme. "Exploitation efficace des architectures parallèles de type grappes de NUMA à l’aide de modèles hybrides de programmation." Thesis, Bordeaux 1, 2012. http://www.theses.fr/2012BOR14514/document.

Повний текст джерела
Анотація:
Les systèmes de calcul actuels sont généralement des grappes de machines composés de nombreux processeurs à l'architecture fortement hiérarchique. Leur exploitation constitue le défi majeur des implémentations de modèles de programmation tels MPI ou OpenMP. Une pratique courante consiste à mélanger ces deux modèles pour bénéficier des avantages de chacun. Cependant ces modèles n'ont pas été pensés pour fonctionner conjointement ce qui pose des problèmes de performances. Les travaux de cette thèse visent à assister le développeur dans la programmation d'application de type hybride. Il s'appuient sur une analyse de la hiérarchie architecturale du système de calcul pour dimensionner les ressources d'exécution (processus et threads). Plutôt qu'une approche hybride classique, créant un processus MPI multithreadé par noeud, nous évaluons de façon automatique des solutions alternatives, avec plusieurs processus multithreadés par noeud, mieux adaptées aux machines de calcul modernes
Modern computing servers usually consist in clusters of computers with several multi-core CPUs featuring a highly hierarchical hardware design. The major challenge of the programming models implementations is to efficiently take benefit from these servers. Combining two type of models, like MPI and OpenMP, is a current trend to reach this point. However these programming models haven't been designed to work together and that leads to performance issues. In this thesis, we propose to assist the programmer who develop hybrid applications. We lean on an analysis of the computing system architecture in order to set the number of processes and threads. Rather than a classical hybrid approach, that is to say creating one multithreaded MPI process per node, we automatically evaluate alternative solutions, with several multithreaded processes per node, better fitted to modern computing systems
Стилі APA, Harvard, Vancouver, ISO та ін.
6

Aouad, Lamine. "Contribution à l'algorithmique matricielle et évaluation de performances sur les grilles de calcul, vers un modèle de programmation à grande échelle." Lille 1, 2005. https://pepite-depot.univ-lille.fr/LIBRE/Th_Num/2005/50376-2005-Aouad.pdf.

Повний текст джерела
Анотація:
Les grilles de calcul offrent une alternative intéressante pour les applications de calcul matriciel, grandes consommatrices de ressources de calcul et de mémoire. Néanmoins, les modèles de calcul de type 'task farming' inhérents à la plupart de ces systèmes rendent difficile une programmation efficace car la granularité de ces applications les rend inadaptées Dans cette thèse, nous proposons un modèle de programmation sur grilles de calcul non-dédiées basé sur la gestion de la localité des données; du réseau de communication jusqu'aux mémoires locales des noeuds de calcul, pour des applications matricielles basées sur des distributions par blocs. La technique de programmation out-of-core est introduite comme réponse aux problèmes de restriction mémoire sur les noeuds de calcul. Cette technique tend à minimiser l'impact des entrées/sorties nécessaires au calcul lorsque la taille des tâches excède la taille mémoire allouable. D'un autre côté, des techniques de placement persistant proposant l'anticipation de migration et le clouage des données permettent d'optimiser les besoins en communications et d'atteindre un bon niveau de performances par rapport aux implémentations classiques Les évaluations de performances ont été réalisées sur deux noyaux de l'algèbre matriciel sur de larges plateformes de calcul déployées sur trois sites géographiquement distribués, en France et au Japan, et sur la plateforme expérimentale Grid'5000
Стилі APA, Harvard, Vancouver, ISO та ін.
7

Rochange, Christine. "Evaluation des performances d'architecture multiprocesseurs à mémoire logiquement partagée." Toulouse 3, 1993. http://www.theses.fr/1993TOU30215.

Повний текст джерела
Анотація:
Le modele de memoire partagee presente de nombreux avantages: confort de programmation du fait de l'equilibre de repartition de la charge et des donnees, portabilite du logiciel. . . Or les reseaux d'interconnexion processeurs-memoire classiques constituent un goulet d'etranglement lorsque le nombre de processeurs devient important et interdit la realisation de machines a memoire partagee massivement paralleles. On compare, dans cette these, une solution a memoire physiquement partagee (le multiprocesseur m3s base sur un reseau d'interconnexion compose de liens serie prives a tres haut debit et une organisation multiport de la memoire) a une solution a memoire logiquement partagee mais physiquement distribuee (representee par la machine dash). L'evaluation de ces deux architectures repose sur des modeles par reseaux de files d'attente, resolus de maniere analytique, puis par simulation a evenements discrets (cette derniere methode autorisant la prise en compte de certains aspects complexes du comportement des multiprocesseurs). Les resultats font apparaitre que le reseau et l'organisation memoire originaux de m3s permettent d'atteindre un niveau de performances eleve, par rapport a ce que l'on obtient habituellement dans un environnement a memoire partagee. Par ailleurs, il semble que les performances de dash soient fortement liees a la repartition des donnees dans les grappes: si les donnees se trouvent a proximite des processeurs qui les manipulent, les resultats sont encore meilleurs que ceux de m3s; par contre, dans le cas ou les donnees sont placees aleatoirement, les performances sont limitees par l'importance des temps de latence. Ainsi, ce type d'architecture ne conduit a un niveau de performances satisfaisant qu'au prix de l'abandon de la transparence de programmation, principal avantage du modele de memoire partagee
Стилі APA, Harvard, Vancouver, ISO та ін.
8

Benslimane, Djamal. "Etudes de l'apport des techniques de parallélisme dans l'amélioration des performances des systèmes à base de règles de production." Clermont-Ferrand 2, 1990. http://www.theses.fr/1990CLF21287.

Повний текст джерела
Анотація:
Cette these a pour but l'etude de l'amelioration des performances d'un systeme a base de regles par recours aux techniques de parallelisme. L'etude est limitee aux cas de multiprocesseurs dont la memoire est soit distribuee, soit partagee. Differentes architectures fonctionnelles paralleles des systemes experts sont proposees. Elles permettent d'obtenir un parallelisme: 1) inter-regles; 2) inter-objets equivalent a un parallelisme inter-regles et intra-regle. Une methodologie de simulation de ces fonctionnements paralleles est proposee pour estimer les gains en temps d'execution en fonction du nombre de processeurs. Enfin, pour le cas d'un multiprocesseur a memoire distribuee, le probleme de la recherche d'un partitionnement optimal des regles est formalise. Un algorithme approche qui fournit une solution sous-optimale est ensuite propose
Стилі APA, Harvard, Vancouver, ISO та ін.
9

Aline, Michel. "Evaluation et optimisation de performances en délai en technologie CMOS submicronique." Montpellier 2, 2001. http://www.theses.fr/2001MON20075.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
10

Vienne, Jérôme. "Prédiction de performances d'applications de calcul haute performance sur réseau Infiniband." Phd thesis, Grenoble, 2010. http://www.theses.fr/2010GRENM043.

Повний текст джерела
Анотація:
Afin de pouvoir répondre au mieux aux différents appels d'offres, les constructeurs de grappe de calcul ont besoin d'outils et de méthodes permettant d'aider au mieux la prise de décisions en terme de design architectural. Nos travaux se sont donc intéressés à l'estimation des temps de calcul et à l'étude de la congestion sur le réseau InfiniBand. Ces deux problèmes sont souvent abordés de manière globale. Néanmoins, une approche globale ne permet pas de comprendre les raisons des pertes de performance liées aux choix architecturaux. Notre approche s'est donc orientée vers une étude plus fine. Pour évaluer les temps de calcul, la démarche proposée s'appuie sur une analyse statique ou semistatique du code source afin de le découper en blocs, avant d'effectuer un micro-benchmarking de ces blocs sur l'architecture cible. Pour l'estimation des temps de communication, un modèle de répartition de bande passante pour le réseau InfiniBand a été développé, permettant ainsi de prédire l'impact lié aux communications concurrentes. Ce modèle a ensuite été intégré dans un simulateur pour être validé sur un ensemble de graphes de communication synthétiques et sur l'application Socorro
Manufacturers of computer clusters require tools to assist them in making better decisions in terms of architectural design. To address this need, in this thesis work, we focus on the specific issues of estimating computation times and InfiniBand network congestion. These two problems are often dealt with globally. However, an overall approach does not explain the reasons of performance loss related to architectural choices. So our approach was to conduct a more detailed study. In this thesis work, we focus on the following : 1) the estimation of computation time in a Grid, and 2) the estimation of communication times over Infiniband networks. To evaluate the computation time, the proposed approach is based on a static or semi-static analysis of the source code, by cutting it into blocks, before making a micro-benchmarking of these blocks on the targeted architecture. To estimate the communication time, a model of bandwidth sharing for Infiniband networks has been developed, allowing one to predict the impact related to concurrent communications. This model was then incorporated into a simulator to be validated on a set of synthetic communication graphs and on the application Socorro
Стилі APA, Harvard, Vancouver, ISO та ін.
11

Geneves, Sylvain. "Etude de performances sur processeurs multicoeur : environnement d'exécution événementiel efficace et étude comparative de modèles de programmation." Phd thesis, Université de Grenoble, 2013. http://tel.archives-ouvertes.fr/tel-00842012.

Повний текст джерела
Анотація:
Cette thèse traite des performances des serveurs de données en multi-cœur. Plus précisément nous nous intéressons au passage à l'échelle avec le nombre de cœurs. Dans un premier temps, nous étudions le fonctionnement interne d'un support d'exécution événementiel multi-cœur. Nous montrons tout d'abord que le faux-partage ainsi que les mécanismes de communications inter-cœurs dégradent fortement les performances et empêchent le passage à l'échelle des applications. Nous proposons alors plusieurs optimisations pour pallier ces comportements. Dans un second temps, nous comparons les performances en multi-cœur de trois serveurs Web chacun représentatif d'un modèle de programmation. Nous remarquons que les différences de performances observées entre les serveurs varient lorsque le nombre de cœurs augmente. Après une analyse approfondie des performances observées, nous identifions la cause de la limitation du passage à l'échelle des serveurs étudiés. Nous présentons une proposition ainsi qu'un ensemble de pistes pour lever cette limitation.
Стилі APA, Harvard, Vancouver, ISO та ін.
12

Gobert, Daniel. "Incidence des activités de programmation en logo sur les performances en géométrie au cycle moyen et en sixième." Paris 7, 1991. http://www.theses.fr/1991PA077038.

Повний текст джерела
Анотація:
Les progrès réalises en technologie et en informatique depuis 1960, ont contribue a l'introduction de l'informatique dans l'action éducative. La programmation en logo comme activité structurante distincte du registre question/réponse, à beaucoup mobilise les pédagogues et les chercheurs en didactique des mathématiques depuis 1975. Parallèlement, une évolution des instructions officielles en mathématiques depuis 1970 en France, a conduit de nombreuses équipes de recherche à prendre en compte la notion de situation-problème dans le processus de construction des apprentissages. Dans ce contexte, cette recherche en didactique des mathématiques et de l'informatique a pour objet d'étude les effets résultant de différentes pratiques pédagogiques lors d'activités de programmation en logo avec des élèves de cycle moyen et de 6eme, sur leurs résultats en géométrie. Une première expérimentation auprès de 350 élèves étudie les incidences en géométrie, d'une pratique pédagogique orientée sur le projet de l'élève. Une seconde expérimentation sur 3 classes de cm2 étudie les incidences en géométrie d'une pratique guidée, autour d'un même thème de travail en logo et en géométrie choisi par l'enseignant. Les resultats obtenus plaident en faveur d'une démarche guidée bien que la démarche projet de l'élève nous conduise à repérer des effets significatifs sur certaines classes d'exercices, en particulier les reproductions de figures géométriques. Ces résultats apportent des arguments supplémentaires pour l'introduction de logo à l'école, dans un cadre d'objectifs suffisamment souples et de conditions matérielles satisfaisantes. Une dernière partie décrit des réalisations en logo de futurs enseignants en formation. Cette description illustre la richesse des notions et propriétés mathématiques utilisées, et suggère des pistes possibles en matière de formation des maitres.
Стилі APA, Harvard, Vancouver, ISO та ін.
13

Riyanto. "Simulation, optimisation, et analyse de performances pour les systèmes industriels d'acquisition d'images." Toulouse, INPT, 1997. http://www.theses.fr/1997INPT107H.

Повний текст джерела
Анотація:
Le systeme d'acquisition d'images est un element crucial dans un systeme de vision par ordinateur. Meilleures seront les images obtenues, meilleurs seront les resultats des algorithmes de traitement d'images. Ce memoire presente une etude approfondie sur les systemes d'acquisition d'images utilises dans un contexte industriel dans le but d'evaluer leur performance et de proposer des voies d'amelioration. L'etude est divisee en trois parties : la premiere partie realise une etude theorique de ces systemes. Une modelisation complete du processus de la formation d'images est proposee. La deuxieme partie propose l'utilisation de ce modele sous forme d'un simulateur. La mesure de performance d'un systeme d'acquisition en terme de la qualite de l'eclairage et des images obtenues est introduite. Utilisant la methode de monte carlo pour simuler les perturbations aleatoires des parametres de ce systeme, les parametres critiques peuvent ainsi etre determines. La troisieme partie propose un outil d'optimisation des parametres d'eclairage par une approche semi-automatique. Il est base sur la resolution de problemes d'optimisation non lineaires avec contraintes utilisant la methode sqp (sequential quadratic programming).
Стилі APA, Harvard, Vancouver, ISO та ін.
14

Zeaiter, Diana. "Prédiction de l'insatisfaction des utilisateurs liée aux performances des applications de l'Internet." Paris 6, 2012. http://www.theses.fr/2012PA066683.

Повний текст джерела
Анотація:
De nos jours, nous dépendons énormément sur les activités en ligne telles que l'envoi de courriels à des collègues, la lecture de nouvelles, la réservation de billets de vol et les services VoIP pour rester en contact avec la famille et les amis. Bien que l'Internet fonctionne bien la plupart du temps, la dégradation des performances du réseau se produit encore. Cette thèse développe une méthodologie de prédiction automatique de l'insatisfaction des utilisateurs avec la performance du réseau pour toutes les applications de l'Internet actives sur l'ordinateur. Nous suivons trois étapes pour combler l'écart entre la performance des applications réseau et l'insatisfaction des utilisateurs. Tout d'abord, nous développons HostView, un outil qui fonctionne sur les ordinateurs des utilisateurs et qui collecte des mesures de performance du réseau annotées avec la perspective des utilisateurs. En plaçant la collecte de données sur l'ordinateur de l'utilisateur, nous obtenons le point de vue de l'utilisateur sur la performance du réseau et d'observer l'utilisateur à partir d'un certain nombre d'environnements réseau différents, tels que la maison, le travail, les cafés ou les aéroports. Notre deuxième étape consiste à analyser si les performances du réseau d'un ordinateur (par exemple, les débits et les délais aller-retour) sont très différentes d'un environnement à l'autre. Enfin, nous développons des prédicteurs de l'insatisfaction des utilisateurs avec les performances du réseau. Chaque prédicteur est un classificateur binaire (utilisateur satisfait ou pas) basé sur un ensemble clé de caractéristiques qui sont compilées à partir des mesures de performance du réseau
Network disruptions can adversely impact a user's web browsing, cause video and audio interruptions, or render web sites and services unreachable. Such problems are frustrating to Internet users, who are oblivious to the underlying problems, but completely exposed to the service degradations. This thesis develops a methodology to automatically predict user dissatisfaction with network application performance. We follow an empirical approach. We design HostView to collect network performance data annotated with user feedback at the end-hosts. Our first contribution is to present the results of a survey we did with 400 computer scientists to collect their perspectives on privacy issues and willingness to provide feedback. Guided by the survey results, we implement a first prototype of HostView to evaluate the CPU overhead of candidate techniques to collect network performance data. Then, we implement a second prototype of HostView to tune our algorithm for collecting user feedback to minimize the user annoyance. We recruit users in a large-scale release of HostView. Our user population connects from different networking environments (e. G. , work, home, or coffee shop). Thus, we investigate if the network performance depends on the networking environment. Our third contribution is to show that for most users RTTs and download data rates are significantly different across networking environments. The mix of application determines data rates but it is the environment that determines RTTs. Finally, our fourth contribution is to develop predictors of user dissatisfaction with network application performance. Our predictors consistently achieve true positive rates above 0. 9
Стилі APA, Harvard, Vancouver, ISO та ін.
15

Vienne, Jérôme. "Prédiction de performances d'applications de calcul haute performance sur réseau Infiniband." Phd thesis, Université de Grenoble, 2010. http://tel.archives-ouvertes.fr/tel-00728156.

Повний текст джерела
Анотація:
Afin de pouvoir répondre au mieux aux différents appels d'offres, les constructeurs de grappe de calcul ont besoin d'outils et de méthodes permettant d'aider au mieux la prise de décisions en terme de design architectural. Nos travaux se sont donc intéressés à l'estimation des temps de calcul et à l'étude de la congestion sur le réseau InfiniBand. Ces deux problèmes sont souvent abordés de manière globale. Néanmoins, une approche globale ne permet pas de comprendre les raisons des pertes de performance liées aux choix architecturaux. Notre approche s'est donc orientée vers une étude plus fine. Pour évaluer les temps de calcul, la démarche proposée s'appuie sur une analyse statique ou semistatique du code source afin de le découper en blocs, avant d'effectuer un micro-benchmarking de ces blocs sur l'architecture cible. Pour l'estimation des temps de communication, un modèle de répartition de bande passante pour le réseau InfiniBand a été développé, permettant ainsi de prédire l'impact lié aux communications concurrentes. Ce modèle a ensuite été intégré dans un simulateur pour être validé sur un ensemble de graphes de communication synthétiques et sur l'application Socorro.
Стилі APA, Harvard, Vancouver, ISO та ін.
16

Drebes, Andi. "Dynamic optimization of data-flow task-parallel applications for large-scale NUMA systems." Thesis, Paris 6, 2015. http://www.theses.fr/2015PA066330/document.

Повний текст джерела
Анотація:
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
Стилі APA, Harvard, Vancouver, ISO та ін.
17

Saidani, Tarik. "Optimisation multi-niveau d’une application de traitement d’images sur machines parallèles." Thesis, Paris 11, 2012. http://www.theses.fr/2012PA112268/document.

Повний текст джерела
Анотація:
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
Стилі APA, Harvard, Vancouver, ISO та ін.
18

Coquereau, Albin. "[ErgoFast] Amélioration de performances du solveur SMT Alt-Ergo grâce à l’intégration d’un solveur SAT efficace." Thesis, Université Paris-Saclay (ComUE), 2019. http://www.theses.fr/2019SACLY007.

Повний текст джерела
Анотація:
Les démonstrateurs automatiques de la famille SMT (Satisfiability Modulo Theories) sont de plus en plus utilisés dans l’industrie et dans le monde académique. La raison de ce succès est liée d’une part à l’expressivité des langages d’entrée de ces solveurs (logique du premier ordre avec de nombreuses théories prédéfinies), et d’autre part, à leur efficacité toujours croissante. La rapidité des solveurs SMT est principalement liée aux procédures de décision qu’ils implémentent (SAT solvers, Simplex, etc.). Ainsi, les structures de données utilisées et les mécanismes de gestion mémoire ont un impact immédiat sur les performances. De même, le langage de programmation utilisé et les optimisations de code disponibles dans le compilateur sont très importants. Dans l’équipe VALS du LRI, nous développons le solveur SMT Alt-Ergo. Cet outil est programmé avec le langage OCaml et il est principalement utilisé pour prouver des formules logiques issues d’ateliers pour la preuve de programme comme Why3, Spark, Frama-C ou l’Atelier B. Ses concurrents directs sont z3 (Microsoft), CVC4 (Univ. New-York et Iowa) et yices2 (SRI). Malgré nos efforts dans la conception et l’optimisation des procédures de décision implantées, il ressort qu’Alt-Ergo est plus lent que ses concurrents sur certaines suites d’essais. Les raisons à cela sont multiples. Nous avons identifié trois causes importantes. — La première semble être liée aux structures de données utilisées dans le solveur. Pour des rai- sons de sûreté, la plus grande partie d’Alt-Ergo est développée dans un style de programmation purement fonctionnel avec des structures persistantes. Mais, l’efficacité de ces structures est en général moins bonne que des structures impératives. — La deuxième semble être liée à la gestion mémoire par ramasse-miettes du langage OCaml qui, comparée à une gestion manuelle, engendre de nombreux déplacements de blocs mémoire et probablement trop de défauts de cache. La différence entre un accès à la mémoire cache d’un ordinateur et un accès à la RAM étant de l’ordre de 150 cycles d’horloge, l’utilisation maximale de la mémoire cache est très importante pour les performances. — Enfin, la troisième semble être liée au manque d’optimisations du compilateur OCaml. En effet, nous avons constaté que l’écart de performance entre Alt-Ergo et certains de ses concurrents (écrits principalement en C ou C++) était fortement réduit lorsque l’on re-compilait ces derniers en baissant le niveau d’optimisation du compilateur
The automatic SMT (Satisfiability Modulo Theories) solvers are more and more used in the industry and in the academic world. The reason of this success is connected on to the expressiveness of the languages of entrance of these solvers (first order logic with predefined theories), and on their increasing efficiency. The speed of SMT solvers is mainly connected to the decision-making procedures which they implement (SAT solvers, Simplex, etc.). The data structures used and the memory management mechanisms have an immediate impact on the performances. Also, the programming language and the available optimizations of code in the compiler are very important. In the team VALS of the LRI, we develop the SMT solver Alt-Ergo. This tool is programmed with the language OCaml and it is mainly used to prove logical formulas from proof of program workshops as Why3, Spark, Frama-C or the B workshop. His direct competitors are z3 (Microsoft), CVC4 (Univ. New York and Iowa) and yices2 ( SRI). In spite of our efforts in the design and the optimization of the implanted decision-making procedures, it appears that Alt-Ergo is slower than his competitors on certain benchmarks. The reasons are multiple. We identified three important causes. - The first one seems to be connected to the data structures used in the solver. For safety reason, the largest part of Alt-Ergo is developed in a purely functional style of programming with persistent structures. But, the efficiency of these structures is generally worse than imperative structures. - The second seems to be connected to the memory management by the Garbage Collector of the language OCaml, which, compared with a manual management, engenders numerous movements of memory blocks and probably too many cache miss. The difference between cache memory access and RAM access being of the order of 150 clock cycles, the maximal use of the cache memory is very important for the performances. - Finally, the third seems to be connected to the lack of optimizations of the OCaml compiler. Indeed, we noticed that the gap from performance between Alt-Ergo and some of his competitors (written mainly in C or C ++) was strongly reduced when we recompiled them by lowering the compiler optimization level
Стилі APA, Harvard, Vancouver, ISO та ін.
19

Pilla, Laércio L. "Équilibrage de charge prenant en compte la topologie des plates-formes de calcul parallèle pour la portabilité des performances." Phd thesis, Université de Grenoble, 2014. http://tel.archives-ouvertes.fr/tel-00981136.

Повний текст джерела
Анотація:
Cette thèse présente nos travaux de recherche qui ont comme principal objectif d'assurer la portabilité des performances et le passage à l'échelle des applications scientifiques complexes exécutées sur des plates-formes multi-coeurs parallèles et hiérarchiques. La portabilité des performances est obtenue lorsque l'ordonnancement des tâches d'une application permet de réduire les périodes d'inactivité des coeurs de la plate-forme. Cette portabilité des performances peut être affectée par différents problèmes tels que des déséquilibres de charge, des communications coûteuses et des surcoûts provenant de l'ordonnancement des tâches. Le déséquilibre de charge est la conséquence de comportements de charges irrégulières et dynamiques, où le volume de calcul varie dynamiquement en fonction de la tâche et de l'étape de simulation. Les communications coûteuses sont provoquées par un ordonnancement qui ne prend pas en compte les différents temps de c! ommunication entre tâches sur une plate-forme hiérarchique. Cela est accentué par des communications non uniformes et asymétriques au niveau mémoire et réseau. Enfin, ces surcoûts peuvent être générés par des algorithmes de placement trop complexes dont les coûts ne seraient pas compensés par les gains de performance. Pour atteindre cet objectif de portabilité des performances, notre approche repose sur une récolte d'informations précises sur la topologie de la machine qui vont aider les algorithmes d'ordonnancement de tâches à prendre les bonnes décisions. Dans ce contexte, nous avons proposé une modélisation générique de la topologie des plates-formes parallèles. Le modèle comprend des latences et des bandes passantes mesurées de la mémoire et du réseau qui mettent en évidence des asymétries. Ces informations sont utilisées par nos trois algorithmes d'équilibrage de charge nommés NucoLB, HwTopoLB, et HierarchicalLB. De plus, ces algorithmes utilisent des informations provenant de l'exécution de l'application. NucoLB se concentre sur les aspects non uniformes de plates-formes parallèles, alors que HwTopoLB considère l'ensemble de la hiérarchie pour ses décisions, et HierarchicalLB combine ces algorithmes hiérarchiquement pour réduire son surcoût d'ordonnanceme! nt de tâches. Ces algorithmes cherchent à atténuer le déséquilibre de charge et des communications coûteuses tout en limitant les surcoûts de migration des tâches. Les résultats expérimentaux avec les trois régulateurs de charge proposés ont montré des améliorations de performances sur les meilleurs algorithmes de l'état de l'art: NucoLB a présenté jusqu'à 19% d'amélioration de performances sur un noeud de calcul; HwTopoLB a amélioré les performances en moyenne de 19%, et HierarchicalLB a surclassé HwTopoLB de 22% en moyenne sur des plates-formes avec plus de dix noeuds de calcul. Ces résultats ont été obtenus en répartissant la charge entre les ressources disponibles, en réduisant les coûts de communication des applications, et en gardant les surcoûts d'équilibrage de charge faibles. En ce sens, nos algorithmes d'équilibrage de charge permettent la portabilité des performances pour les applications scientifiques tout en étant indépendant de l'application et de l'architecture du système.
Стилі APA, Harvard, Vancouver, ISO та ін.
20

Gamatié, Abdoulaye. "Modélisation polychrone et évaluation de systèmes temps réel." Phd thesis, Université Rennes 1, 2004. http://tel.archives-ouvertes.fr/tel-00879359.

Повний текст джерела
Анотація:
Les systemes temps reel sont des dispositifs constitues de materiels et de logiciels soumis a des contraintes a la fois fonctionnelles et temporelles pour realiser des traitements, et agir sur leur environnement. Des exemples de domaines o u on rencontre de tels systemes sont les telecommunications, le nucl eaire, l'avionique ou le medical. Ces systemes sont souvent critiques a cause d'enjeux humains et economiques importants. Leur developpement exige donc des methodes tres ables. L'approche synchrone a et e proposee dans le but de repondre a cette attente. Ses fondements mathematiques o rent un cadre formel propice a la description et la validation des systemes temps reel. Parmi les modeles de specification synchrone, le modele multi-horloge ou polychrone se distingue par le fait qu'il permet de decrire des systemes o u chaque composant peut avoir sa propre horloge d'activation. Outre la validation formelle, il favorise des approches orientees composants et le d eveloppement modulaire de systemes a grande echelle. Cette these propose une m ethodologie de conception de syst emes temps reel en utilisant comme formalisme de description le langage synchrone Signal fond e sur le mod ele polychrone. Elle utilise les outils et techniques formels bas es sur ce modele pour verifier des proprietes comportementales portant sur des aspects tant fonctionnels que non fonctionnels. Cette demarche facilite l' evaluation des choix de conception. La methodologie propos ee permet de concevoir des systemes comportant des m ecanismes asynchrones a l'aide de l'approche synchrone. Elle illustre la caracterisation de comportements temps r eel dans le modele polychrone. L'avionique est le domaine d'application privilegie par la these. Cette derniere s'inscrit dans le cadre du projet europ een IST SafeAir (Advanced Design Tools for Aircraft Systems and Airborne Software), regroupant plusieurs industriels. Nous nous sommes particulierement interesses a la conception d'applications suivant le mod ele d'architecture IMA (Integrated Modular Avionics) sur lequel repose la norme avionique ARINC. Cela a conduit a la r ealisation d'une bibliotheque Signal de composants, constituee en majeure partie de services d'un ex ecutif temps reel d e nis par ARINC.
Стилі APA, Harvard, Vancouver, ISO та ін.
21

Martin, Alexis. "Infrastructure pour la gestion générique et optimisée des traces d’exécution pour les systèmes embarqués." Thesis, Université Grenoble Alpes (ComUE), 2017. http://www.theses.fr/2017GREAM001/document.

Повний текст джерела
Анотація:
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
Стилі APA, Harvard, Vancouver, ISO та ін.
22

Jurkowiak, Bernard. "Programmation haute performance pour la résolution des problèmes SAT et CSP." Amiens, 2004. http://www.theses.fr/2004AMIE0410.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
23

Habel, Rachid. "Programmation haute performance pour architectures hybrides." Thesis, Paris, ENMP, 2014. http://www.theses.fr/2014ENMP0025/document.

Повний текст джерела
Анотація:
Les architectures parallèles hybrides constituées d'un grand nombre de noeuds de calcul multi-coeurs/GPU connectés en réseau offrent des performances théoriques très élevées, de l'ordre de quelque dizaines de TeraFlops. Mais la programmation efficace de ces machines reste un défi à cause de la complexité de l'architecture et de la multiplication des modèles de programmation utilisés. L'objectif de cette thèse est d'améliorer la programmation des applications scientifiques denses sur les architectures parallèles hybrides selon trois axes: réduction des temps d'exécution, traitement de données de très grande taille et facilité de programmation. Nous avons pour cela proposé un modèle de programmation à base de directives appelé DSTEP pour exprimer à la fois la distribution des données et des calculs. Dans ce modèle, plusieurs types de distribution de données sont exprimables de façon unifiée à l'aide d'une directive "dstep distribute" et une réplication de certains éléments distribués peut être exprimée par un "halo". La directive "dstep gridify" exprime à la fois la distribution des calculs ainsi que leurs contraintes d'ordonnancement. Nous avons ensuite défini un modèle de distribution et montré la correction de la transformation de code du domaine séquentiel au domaine distribué. À partir du modèle de distribution, nous avons dérivé un schéma de compilation pour la transformation de programmes annotés de directives DSTEP en des programmes parallèles hybrides. Nous avons implémenté notre solution sous la forme d'un compilateur intégré à la plateforme de compilation PIPS ainsi qu'une bibliothèque fournissant les fonctionnalités du support d'exécution, notamment les communications. Notre solution a été validée sur des programmes de calcul scientifiques standards tirés des NAS Parallel Benchmarks et des Polybenchs ainsi que sur une application industrielle
Clusters of multicore/GPU nodes connected with a fast network offer very high therotical peak performances, reaching tens of TeraFlops. Unfortunately, the efficient programing of such architectures remains challenging because of their complexity and the diversity of the existing programming models. The purpose of this thesis is to improve the programmability of dense scientific applications on hybrid architectures in three ways: reducing the execution times, processing larger data sets and reducing the programming effort. We propose DSTEP, a directive-based programming model expressing both data and computation distribution. A large set of distribution types are unified in a "dstep distribute" directive and the replication of some distributed elements can be expressed using a "halo". The "dstep gridify" directive expresses both the computation distribution and the schedule constraints of loop iterations. We define a distribution model and demonstrate the correctness of the code transformation from the sequential domain to the parallel domain. From the distribution model, we derive a generic compilation scheme transforming DSTEP annotated input programs into parallel hybrid ones. We have implemented such a tool as a compiler integrated to the PIPS compilation workbench together with a library offering the runtime functionality, especially the communication. Our solution is validated on scientific programs from the NAS Parallel Benchmarks and the PolyBenchs as well as on an industrial signal procesing application
Стилі APA, Harvard, Vancouver, ISO та ін.
24

Henry, Sylvain. "Modèles de programmation et supports exécutifs pour architectures hétérogènes." Phd thesis, Université Sciences et Technologies - Bordeaux I, 2013. http://tel.archives-ouvertes.fr/tel-00948309.

Повний текст джерела
Анотація:
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é).
Стилі APA, Harvard, Vancouver, ISO та ін.
25

Abdelfeteh, Sadok. "Formulation de matériaux de construction à base de sous-produits industriels avec des méthodes issues de l’intelligence artificielle." Thesis, Lille 1, 2016. http://www.theses.fr/2016LIL10077/document.

Повний текст джерела
Анотація:
La question environnementale est désormais une préoccupation majeure pour les gouvernements et les industriels. La gestion efficace des déchets s’inscrit dans les actions prioritaires dans une optique d’économie circulaire. Cette gestion efficace préconise en premier lieu la valorisation maximale des déchets. Le domaine du génie civil est particulièrement concerné. La valorisation des matériaux alternatifs dans le domaine du génie civil connaît un essor important ces dernières années, toutefois cette pratique connait certaines limites, notamment le manque de réglementation claire et surtout le manque d’outils et méthodes de formulation adaptées et adaptables à l’utilisation des matériaux alternatifs. Dans ce contexte, le présent travail porte sur la mise en place de méthode de formulation de matériaux de construction à base de sous-produits industriels. Cette méthode hybride basée sur des outils de l’intelligence artificielle, combine les Algorithmes Génétique (AG) comme outils optimisation multiobjectifs et la Programmation Génétique (PG) dans ses deux versions, la PG classique et la MGGP (MultiGène Genetic Programming) comme outils de modélisation des problèmes complexes par Apprentissage Automatique (Machine Learning). La méthode de formulation des matériaux de construction à base de sous produits industriels, proposée dans ce travail a été testée sur deux cas d’étude (la formulation de bétons à hautes performances et la formulation de mortiers à base de matériaux alternatifs ou multi-déchets) et validée par des testes au laboratoire. Les résultats obtenus sont concluants et très prometteurs
The environmental issue has become a major concern for governments and industry. Effective waste management is part of the priority actions in order to achieve a green circular economy. This efficient management imposes first maximum recovery of waste, knowing the large tonnage produced is different sectors. The field of civil engineering is particularly concerned. The valorization of alternative materials in the field of civil engineering has grown significantly in recent years. However, this practice knows some limitations, including the lack of clear regulations and especially the lack of tools and methods suitable for design of materials including alternatives materials. In this context, the present work focuses on the development of mix design method of building materials based on industrial by-products. This hybrid method combines the Genetic Algorithms (GA) as multi-objective optimization tools and Genetic Programming (GP) in its two versions, classical GP and MGGP (MultiGene Genetic Programming) as modeling tools for complex problems by Machine Learning approach. Specific studies were carried out also or these innovative tools, to demontrates benefits and weaknesses of these tools on these applications in civil engineering. Finally, this method of formulation of building materials based on industrial sub products proposed in this work was tested on two case studies (design of high performance concrete and mortars made of alternative materials) and validated by the laboratory tests. The results are conclusive and promising to generalize the method to other applications of Civil Engineering
Стилі APA, Harvard, Vancouver, ISO та ін.
26

Chassin, de Kergommeaux Jacques. "Implémentation et évaluation d'un système logique parallèle." Phd thesis, Grenoble 1, 1989. http://tel.archives-ouvertes.fr/tel-00122736.

Повний текст джерела
Анотація:
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
Стилі APA, Harvard, Vancouver, ISO та ін.
27

Le, Folgoc Lionel. "Personal data server engine : design and performance considerations." Versailles-St Quentin en Yvelines, 2012. http://www.theses.fr/2012VERS0052.

Повний текст джерела
Анотація:
L'émergence de dispositifs portables et sécurisés de stockage de masse promet une véritable avancée dans la gestion des données sensibles. Ces systèmes peuvent héberger des données personnelles ou les métadonnées pour des documents chiffrés stockés dans le nuage et en assurer le contrôle des droits d'accès. Les techniques efficaces de stockage et d'indexation sont très difficiles à concevoir à cause des contraintes de la Flash NAND ajoutées à celles des systèmes embarqués. Dans cette thèse, nous proposons un nouveau modèle reposant sur deux principes fondamentaux : la sérialisation et la stratification de l'entière base de données. La séquentialité totale évite les écritures aléatoires et leurs effets négatifs sur les temps d'écriture de la Flash ; la stratification globale permet un passage à l'échelle en terme de performance sans renoncer aux bénéfices de la sérialisation. Les résultats expérimentaux montrent que cette nouvelle approche répond très bien aux exigences de l'embarqué
Mass-storage Secure Portable Tokens are emerging and provide a real breakthrough in the management of sensitive data. They can embed personal data and metadata referencing documents stored encrypted in the Cloud and can manage them under the holder's control. Efficient embedded database techniques are very challenging to design due to conflicting constraints from NAND Flash and embedded systems. In this thesis, we propose an alternative model relying on two key concepts: serialization and stratification of the complete database. A database fully organized sequentially precludes random writes and their negative side effects on Flash write cost. Then, the global stratification allows us to solve the scalability issue of a serialized design and to maintain acceptable performance, without abandoning the benefits of serialization in terms of random writes. We show the effectiveness of this approach through a comprehensive performance study
Стилі APA, Harvard, Vancouver, ISO та ін.
28

Perez-Seva, Jean-Paul. "Les optimisations d'algorithmes de traitement de signal sur les architectures modernes parallèles et embarquées." Phd thesis, Université de Nice Sophia-Antipolis, 2009. http://tel.archives-ouvertes.fr/tel-00610865.

Повний текст джерела
Анотація:
Cette thèse s'intéresse aux méthodologies d'optimisation d'algorithmes de traitement de signal sur les architectures parallèles de processeurs embarqués. L'état de l'art des différentes architectures destinées au milieu embarqué permet de mettre en évidence les différents outils d'optimisation mis à disposition par les concepteurs de processeurs. L'accent est particulièrement mis sur les solutions bénéfiques aux calculs flottants intensifs, tout en notifiant les points communs et les divergences entre les différents processeurs. Le choix de l'algorithme de transformée de Fourier, comme algorithme représentatif des applications de traitement de signal, permet de détailler étape par étape les différents choix d'optimisation dans le cas d'une implémentation sur un PowerPC 970FX. Nous montrons comment à partir d'un algorithme radix-2, il est possible de réduire au plus prés du minimum la complexité de calcul grâce à l'usage de l'instruction de multiplication addition fusionnée. Nous proposons enfin une méthodologie de programmation multi-architectures utilisant le retour d'expérience précédent afin d'optimiser l'ordonnancement des instructions constituant l'algorithme.
Стилі APA, Harvard, Vancouver, ISO та ін.
29

Denis, Alexandre. "Contribution à la conception d'une plate-forme haute performance d'intégration d'exécutufs communicants pour la programmation des grilles de calcul." Rennes 1, 2003. https://tel.archives-ouvertes.fr/tel-00009595.

Повний текст джерела
Анотація:
Cette thèse étudie un modèle de plate-forme de communication pour la programmation des grilles de calcul. Notre but est d'étendre la portée des grilles en permettant l'exécution d'applications parallèles et/ou réparties sans imposer de contrainte de programmation ou d'exécutif particulier. Le modèle proposé permet l'utilisation d'exécutifs variés, adaptés à l'application plutôt que ceux dictés par les réseaux disponibles. Notre approche est basée sur : un arbitrage des accès aux ressources, pour permettre plusieurs exécutifs simultanément ; une adaptation d'abstraction qui permet de voir les ressources selon le paradigme choisi par l'utilisateur ; une virtualisation des ressources, qui permet l'utilisation d'exécutifs existants sans les modifier. Nous avons mis en oeuvre ce modèle dans la plate-forme PadicoTM, et porté divers exécutifs sur cette plate-forme, tels que MPI, CORBA, et SOAP. Les réseaux utilisables vont des SAN jusqu'aux WAN. Les performances obtenues sont excellentes.
Стилі APA, Harvard, Vancouver, ISO та ін.
30

Le, Louët Guillaume. "Maîtrise énergétique des centres de données virtualisés : D'un scénario de charge à l'optimisation du placement des calculs." Phd thesis, Ecole des Mines de Nantes, 2014. http://tel.archives-ouvertes.fr/tel-01044650.

Повний текст джерела
Анотація:
Cette thèse se place dans le contexte de l'hébergement de services informatiques virtualisés et apporte deux contributions. Elle propose premièrement un système d'aide à la gestion modulaire, déplaçant les machines virtuelles du centre pour le maintenir dans un état satisfaisant. Ce système permet en particulier d'intégrer la notion de consommation électrique des serveurs ainsi que des règles propres à cette consommation. Sa modularité permet de plus l'adaptation de ses composants à des problèmes de grande taille. Cette thèse propose de plus un outil pour comparer différents gestionnaires de centres virtualisés. Cet outil injecte un scénario de montée en charge reproductible dans une infrastructure virtualisée. L'injection d'un tel scénario permet d'évaluer les performances du système de gestion du centre grâce à des sondes spécifiques. Le langage utilisé pour cette injection est extensible et permet l'utilisation de scénarios paramétrés.
Стилі APA, Harvard, Vancouver, ISO та ін.
31

Abouchi, Nacer. "Analyse et mesure de performance des reseaux de communication par simulation." Lyon, INSA, 1990. http://www.theses.fr/1990ISAL0057.

Повний текст джерела
Анотація:
La complexité des réseaux de communications, qu'ils soient locaux ou étendus, ne peut être modélisée que partiellement par les méthodes mathématiques existantes. L'analyse des performances et du comportement des réseaux étendus en fonction des techniques de routage adaptatifs est encore mal maîtrisée. De même, il peut être utile d'étudier quantitativement les techniques d'accès aux réseaux locaux en fonction de leur configuration ou de leur utilisation. La simulation aléatoire à événement discret est une solution qui peut prendre en compte toutes les spécifications d'un réseau sans les simplifier, il existe encore peu d'outils spécialisés dans la simulation de réseaux. Dans une première partie, après avoir évoqué les rôles de la modélisation et de la simulation dans les systèmes notamment les systèmes de communications, nous présentons les principaux critères qu'il faut étudier afin de pouvoir faire un choix correct d'outil de modélisation et de simulation; une étude comparative des outils les plus utilisés est présentées. La présentation des modèles de simulations que nous avons conçu pour représenter les réseaux de communications locaux et étendus fait l'objet du deuxième chapitre. La troisième partie sera consacrée à "OSIRES",· l'outil de simulation de réseaux que nous avons développé. Notre étude est poursuivie par l'analyse des différents algorithmes de routages déterministes ou adaptatifs rencontrés dans des réseaux existants ou proposés dans la littérature. Dans une dernière partie les techniques d'accès aux réseaux locaux retenues par l'OSI sont analysées et comparées. Nous concluons ce mémoire par les perspectives et les suites à donner à ce travail
The of communication networks either local area or wide area networks can be partially modelized using the existing mathematical methods. The analysis or the wide area network's performances and of the behaviour as a function of adaptive routing techniques is still badly controlled. In the same way for local area networks, it may be usefully to study quantitatively their access random discrete event simulation is a solution which can take all the specifications of a network into consideration without any simplification. In the first part, after the evocation of the system modelling and simulation roles, more particularly of the communication systems, we introduce ·the principal criteria that should be studied in order to choose correctly the tools of modelling and simulation. A comparative study of the mostly used tools is also included. The goal of the second part is to present the simulation models that we designed to represent the communication networks (local or wide). The 3 rd part is dedicated for "OSIRES" the network simulation tool we developed. Our study will be guided by the analysis of different deterministic or adaptive routing algorithms either found in the existing networks or proposed in the literature. In the last part, the local area network access techniques proposed by ISO will be analysed and compared. Finally, we conclude this thesis by the perspective and what could be do more
Стилі APA, Harvard, Vancouver, ISO та ін.
32

Khizakanchery, Natarajan Surya Narayanan. "Modeling performance of serial and parallel sections of multi-threaded programs in many-core era." Thesis, Rennes 1, 2015. http://www.theses.fr/2015REN1S015/document.

Повний текст джерела
Анотація:
Ce travail a été effectué dans le contexte d'un projet financé par l'ERC, Defying Amdahl's Law (DAL), dont l'objectif est d'explorer les techniques micro-architecturales améliorant la performance des processeurs multi-cœurs futurs. Le projet prévoit que malgré les efforts investis dans le développement de programmes parallèles, la majorité des codes auront toujours une quantité signifiante de code séquentiel. Pour cette raison, il est primordial de continuer à améliorer la performance des sections séquentielles des-dits programmes. Le travail de recherche de cette thèse porte principalement sur l'étude des différences entre les sections parallèles et les sections séquentielles de programmes multithreadés (MT) existants. L'exploration de l'espace de conception des futurs processeurs multi-cœurs est aussi traitée, tout en gardant à l'esprit les exigences concernant ces deux types de sections ainsi que le compromis performance-surface
This thesis work is done in the general context of the ERC, funded Defying Amdahl's Law (DAL) project which aims at exploring the micro-architectural techniques that will enable high performance on future many-core processors. The project envisions that despite future huge investments in the development of parallel applications and porting it to the parallel architectures, most applications will still exhibit a significant amount of sequential code sections and, hence, we should still focus on improving the performance of the serial sections of the application. In this thesis, the research work primarily focuses on studying the difference between parallel and serial sections of the existing multi-threaded (MT) programs and exploring the design space with respect to the processor core requirement for the serial and parallel sections in future many-core with area-performance tradeoff as a primary goal
Стилі APA, Harvard, Vancouver, ISO та ін.
33

Serrano, Manuel. "Vers une compilation portable et performante des langages fonctionnels /." Le Chesnay : INRIA, 1995. http://catalogue.bnf.fr/ark:/12148/cb370188956.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
34

Castañeda, Retiz Martha Rosa. "Étude quantitative des mécanismes d'équilibrage de charge dans les systèmes de programmation pour le calcul parallèle." Grenoble INPG, 1999. https://theses.hal.science/tel-00004815.

Повний текст джерела
Анотація:
Cette thèse se concentre sur l'évaluation des performances des mécanismes d'équilibrage de charge. Pour l'utilisation efficace d'une architecture parallèle, il est nécessaire de développer des techniques de régulation de charge appropriées. Nous étudions en détail le problème de l'ordonnancement dynamique d'une application parallèle. Les fonctionnalités d'un ordonnanceur générique sont analysées et son implémentation dans le système Athapascan est décrit. Athapascan est un environnement de programmation pour les applications parallèles irrégulières. La structure de l'ordonnanceur permet l'implémentation de différents algorithmes d'équilibrage de charge. Pour étudier les différentes stratégies d'équilibrage et comparer leurs performances nous proposons une méthodologie. Nous avons construit des modèles de programmes synthétiques avec un caractère dynamique et aléatoire, à partir desquels nous avons établi un jeu d'essai. Nous avons choisi d'étudier les effets simultanés des différents paramètres des ordonnanceurs et de la charge synthétique. Une planification factorielle a été choisie parce qu'elle permet une vision globale de l'influence des différents paramètres. Les tests sont effectués sur une machine SP1-IBM. Deux méthodes d'analyse de données multivariée sont utilisées, l'analyse en composantes principales et la régression multiple. L'interprétation des modèles linéaires obtenus permet de comprendre le comportement de chaque ordonnanceur et l'influence de ses paramètres par rapport à la charge applicative
The aim of this thesis is the performance evaluation of the the load-balancing mechanisms. The development of load balancing techniques is necessary in order to obtain an effective use of a parallel architecture. We study the problem of the dynamic scheduling of a parallel application. We start with the analysis of the functionalities of a generic scheduler and its implementation in the Athapascan system. Athapascan is a multithreaded system for parallel applications. The structure of the schedule gives the possibility of different algorithms of load balancing. We propose a methodology for a quantitative evaluation of the different algorithms of load balancing. We built a benchmark of synthetic algorithms with dynamic and random features. We study the combined effects of all the parameters of the schedule and of the synthetic load. A factorial design has been choosen because it permits a global view of the influence of the different parameters. Our benchmark has been carried out on a SP1-IBM computer. We used two different methods to analyze our results: the principal components analyses (ACP) and the multilinear regression. The linear models obtained from the analysis give us the possibility of understanding the behavior of every schedule and the influence of its parameters with respect to the synthetic load
Стилі APA, Harvard, Vancouver, ISO та ін.
35

Cojean, Terry. "Programmation des architectures hétérogènes à l'aide de tâches divisibles ou modulables." Thesis, Bordeaux, 2018. http://www.theses.fr/2018BORD0041/document.

Повний текст джерела
Анотація:
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
Стилі APA, Harvard, Vancouver, ISO та ін.
36

Truong, Phuoc Hoa. "Optimisation des performances de la machine synchrone à réluctance variable : approches par la conception et par la commande." Thesis, Mulhouse, 2016. http://www.theses.fr/2016MULH8861/document.

Повний текст джерела
Анотація:
L'objectif principal de nos travaux consiste à développer des méthodes d’optimisation des performances de la MSRV sur le plan de la conception et de la commande. La première partie est consacrée à la commande de la MSRV avec prise en compte de la saturation, de l'effet croisé et des pertes-fer. Deux stratégies de commande permettant d’améliorer les performances de la machine en régime permanent sont présentées: commande à rendement optimal et commande à couple maximum par ampère. La deuxième partie de ce travail porte sur la commande de la MSRV en vue de réduire les ondulations de couple. L’optimisation des courants statoriques a été obtenue selon deux critères : un couple électromagnétique constant et des pertes par effet Joule minimales. Une formule originale a été présentée dans le cas où le courant homopolaire est pris en compte. Des schémas de commande neuronale en couple et en vitesse sont ensuite proposés. L’apprentissage, réalisé en ligne, fait que cette proposition est tout à fait adaptée aux applications en temps réel. La troisième partie traite de la conception au moyen de la méthode de calcul numérique par élément finis. Grâce au logiciel JMAG, les barrières du flux au rotor de la MSRV ont été optimisées permettant d’augmenter le couple moyen, le facteur de puissance et le rendement de la machine. Enfin, toutes les approches neuromimétiques ont été validées par de tests expérimentaux. De plus, des comparaisons avec les méthodes de commande classique démontrent la validité des méthodes proposées
The main objective of our work is to develop the methods for performance optimization of the SynRM in terms of the design and control. The first part is devoted to control of the SynRM taking into account the saturation, cross coupling and iron losses. Two strategies control to improve the performances of the machine in steady-state are presented: optimal efficiency control and maximum torque per ampere control. The second part of this work focuses on the control of the non-sinusoidal SynRM to reduce torque ripple. Optimal stator currents were obtained with the objectives: a constant electromagnetic torque and minimum ohmic losses. An original formula was presented in the case where the homopolar current is considered. The torque and speed control based on artificial neural networks are then proposed to obtain optimal currents online in real time. The third part deals with the design optimization of SynRM by finite element method. With JMAG software, the barriers of the rotor SynRM were optimized to maximize the average torque, power factor and efficiency of the machine. Finally, all the approaches based on neural networks have been validated by experimental tests. Moreover, the comparisons with conventional methods demonstrate the validity of the proposed methods
Стилі APA, Harvard, Vancouver, ISO та ін.
37

Li, Chong. "Un modèle de transition logico-matérielle pour la simplification de la programmation parallèle." Phd thesis, Université Paris-Est, 2013. http://tel.archives-ouvertes.fr/tel-00952082.

Повний текст джерела
Анотація:
La programmation parallèle et les algorithmes data-parallèles sont depuis plusieurs décennies les principales techniques de soutien l'informatique haute performance. Comme toutes les propriétés non-fonctionnelles du logiciel, la conversion des ressources informatiques dans des performances évolutives et prévisibles implique un équilibre délicat entre abstraction et automatisation avec une précision sémantique. Au cours de la dernière décennie, de plus en plus de professions ont besoin d'une puissance de calcul très élevée, mais la migration des programmes existants vers une nouvelle configuration matérielle et le développement de nouveaux algorithmes à finalité spécifique dans un environnement parallèle n'est jamais un travail facile, ni pour les développeurs de logiciel, ni pour les spécialistes du domaine. Dans cette thèse, nous décrivons le travail qui vise à simplifier le développement de programmes parallèles, en améliorant également la portabilité du code de programmes parallèles et la précision de la prédiction de performance d'algorithmes parallèles pour des environnements hétérogènes. Avec ces objectifs à l'esprit, nous avons proposé un modèle de transition nommé SGL pour la modélisation des architectures parallèles hétérogènes et des algorithmes parallèles, et une mise en œuvre de squelettes parallèles basés sur le modèle SGL pour le calcul haute performance. SGL simplifie la programmation parallèle à la fois pour les machines parallèles classiques et pour les nouvelles machines hiérarchiques. Il généralise les primitives de la programmation BSML. SGL pourra plus tard en utilisant des techniques de Model-Driven pour la génération de code automatique á partir d'une fiche technique sans codage complexe, par exemple pour le traitement de Big-Data sur un système hétérogène massivement parallèle. Le modèle de coût de SGL améliore la clarté de l'analyse de performance des algorithmes, permet d'évaluer la performance d'une machine et la qualité d'un algorithme
Стилі APA, Harvard, Vancouver, ISO та ін.
38

Dollinger, Jean-François. "A framework for efficient execution on GPU and CPU+GPU systems." Thesis, Strasbourg, 2015. http://www.theses.fr/2015STRAD019/document.

Повний текст джерела
Анотація:
Les verrous technologiques rencontrés par les fabricants de semi-conducteurs au début des années deux-mille ont abrogé la flambée des performances des unités de calculs séquentielles. La tendance actuelle est à la multiplication du nombre de cœurs de processeur par socket et à l'utilisation progressive des cartes GPU pour des calculs hautement parallèles. La complexité des architectures récentes rend difficile l'estimation statique des performances d'un programme. Nous décrivons une méthode fiable et précise de prédiction du temps d'exécution de nids de boucles parallèles sur GPU basée sur trois étapes : la génération de code, le profilage offline et la prédiction online. En outre, nous présentons deux techniques pour exploiter l'ensemble des ressources disponibles d'un système pour la performance. La première consiste en l'utilisation conjointe des CPUs et GPUs pour l'exécution d'un code. Afin de préserver les performances il est nécessaire de considérer la répartition de charge, notamment en prédisant les temps d'exécution. Le runtime utilise les résultats du profilage et un ordonnanceur calcule des temps d'exécution et ajuste la charge distribuée aux processeurs. La seconde technique présentée met le CPU et le GPU en compétition : des instances du code cible sont exécutées simultanément sur CPU et GPU. Le vainqueur de la compétition notifie sa complétion à l'autre instance, impliquant son arrêt
Technological limitations faced by the semi-conductor manufacturers in the early 2000's restricted the increase in performance of the sequential computation units. Nowadays, the trend is to increase the number of processor cores per socket and to progressively use the GPU cards for highly parallel computations. Complexity of the recent architectures makes it difficult to statically predict the performance of a program. We describe a reliable and accurate parallel loop nests execution time prediction method on GPUs based on three stages: static code generation, offline profiling, and online prediction. In addition, we present two techniques to fully exploit the computing resources at disposal on a system. The first technique consists in jointly using CPU and GPU for executing a code. In order to achieve higher performance, it is mandatory to consider load balance, in particular by predicting execution time. The runtime uses the profiling results and the scheduler computes the execution times and adjusts the load distributed to the processors. The second technique, puts CPU and GPU in a competition: instances of the considered code are simultaneously executed on CPU and GPU. The winner of the competition notifies its completion to the other instance, implying the termination of the latter
Стилі APA, Harvard, Vancouver, ISO та ін.
39

Brodu, Etienne. "Fluxional compiler : Seamless shift from development productivity to performance efficiency, in the case of real-time web applications." Thesis, Lyon, 2016. http://www.theses.fr/2016LYSEI061/document.

Повний текст джерела
Анотація:
La plupart des grands services web commencèrent comme de simples projets, et grossirent exponentiellement. Internet supporte cette croissance en étendant les communications et réduisant leur latence. Pendant son développement, une application doit croître exponentiellement, sans quoi elle risque de se faire dépasser par la compétition. Dès le début, il est important de s'assurer de répondre aux besoins du marché : Fail fast. Des langages comme Ruby ou Java sont devenus populaires en proposant la productivité nécessaire pour itérer rapidement sur les retours utilisateurs. Une application web qui répond correctement aux besoins des utilisateurs peut être adoptée de manière virale. Mais à terme, une application doit être efficace pour traiter cette augmentation de trafic. Il est difficile pour une application d'être à la fois productive et efficace. Quand l'audience devient trop importante, il est souvent nécessaire de remplacer l'approche productive pour un modèle plus efficace. Aucune plateforme de développement ne permet de concilier ces deux objectifs, il est donc nécessaire de réécrire l'application vers un modèle plus efficace, tel qu'un pipeline. Ce changement représente un risque. Il implique une quantité de travail conséquente et incertaine. Pour éviter ce risque, cette thèse propose de maintenir conjointement les représentations productives et efficaces d'une même application. Javascript est un langage productif avec une communauté importante. C'est l’environnement d’exécution le plus largement déployé puisqu'il est omniprésent dans les navigateurs, et également sur certains serveurs avec Node.js. Il est maintenant considéré comme le langage principal du web, détrônant Ruby ou Java. De plus, sa boucle évènementielle est similaire à un pipeline. Ces deux modèles d’exécution traitent un flux de requêtes en chaînant des fonctions les unes après les autres. Cependant, la boucle évènementielle permet une approche productive grâce à sa mémoire globale, tandis que le pipeline permet une exécution efficace du fait de sa parallélisation. Cette thèse étudie la possibilité pour une équivalence de transformer une implémentation d'une représentation vers l'autre. Avec cette équivalence, l'équipe de développement peut suivre les deux approches simultanément. Elle peut itérer continuellement pour prendre en compte les avantages des deux approches. Cette thèse présente un compilateur qui permet d'identifier un pipeline dans une application Javascript, et d'isoler chaque étape dans une fluxion. Une fluxion est nommée par contraction entre fonction et flux. Elle exécute une fonction pour chaque datum sur le flux. Les fluxions sont indépendantes, et peuvent être déplacées d'une machine à l'autre pour amortir l'augmentation du trafic. L'équipe de développement peut commencer à développer avec la productivité de la boucle évènementielle. Et avec la transformation, elle peut itérer pour progressivement atteindre l’efficacité du pipeline
Most of the now popular web services started as small projects created by few individuals, and grew exponentially. Internet supports this growth because it extends the reach of our communications world wide, while reducing their latency. During its development, an application must grow exponentially, otherwise the risk is to be outpaced by the competition. In the beginning, it is important to verify quickly that the service can respond to the user needs: Fail fast. Languages like Ruby or Java became popular because they propose a productive approach to iterate quickly on user feedbacks. A web application that correctly responds to user needs can become viral. Eventually, the application needs to be efficient to cope with the traffic increase. But it is difficult for an application to be at once productive and efficient. When the user base becomes too important, it is often required to switch the development approach from productivity to efficiency. No platform conciliates these two objectives, so it implies to rewrite the application into an efficient execution model, such as a pipeline. It is a risk as it is a huge and uncertain amount of work. To avoid this risk, this thesis proposes to maintain the productive representation of an application with the efficient one. Javascript is a productive language with a significant community. It is the execution engine the most deployed, as it is present in every browser, and on some servers as well with Node.js. It is now considered as the main language of the web, ousting Ruby or Java. Moreover, the Javascript event-loop is similar to a pipeline. Both execution models process a stream of requests by chaining independent functions. Though, the event-loop supports the needs in development productivity with its global memory, while the pipeline representation allows an efficient execution by allowing parallelization. This thesis studies the possibility for an equivalence to transform an implementation from one representation to the other. With this equivalence, the development team can follow the two approaches concurrently. It can continuously iterate the development to take advantage of their conflicting objectives. This thesis presents a compiler that allows to identify the pipeline from a Javascript application, and isolate its stages into fluxions. A fluxion is named after the contraction between function and flux. It executes a function for each datum on a stream. Fluxions are independent, and can be moved from one machine to the other, so as to cope with the increasing traffic. The development team can begin with the productivity of the event-loop representation. And with the transformation, it can progressively iterate to reach the efficiency of the pipeline representation
Стилі APA, Harvard, Vancouver, ISO та ін.
40

Taïani, François. "Programmation des grands systèmes distribués: quelques mécanismes, abstractions, et outils." Habilitation à diriger des recherches, Université Rennes 1, 2011. http://tel.archives-ouvertes.fr/tel-00643729.

Повний текст джерела
Анотація:
À l'interface entre informatique distribuée et en génie logiciel, nous présentons trois contributions liées aux problématiques de réutilisation du logiciel dans trois cas représentatifs de systèmes distribués grande échelle: les réseaux logiques pair-à-pair, les protocoles épidémiques, et les intergiciels de grille. Les travaux que nous présentons portent sur trois problématiques différentes mais néanmoins liées de ces systèmes: la tolérance aux pannes modulaire (dans les réseaux pair-à-pair), la programmabilité des systèmes à composants (dans les protocoles épidémiques), et l'analyse interactive de performances (dans les intergiciels de grille). Le message qui se dégage de nos travaux est double. Nos contributions démontrent tout d'abord en termes concrets l'intérêt d'abstractions logicielles réutilisables pour les systèmes distribués grande échelle. Nos travaux illustrent par ailleurs la tension inhérente entre réutilisation et complexité logicielle dans les plates-formes distribuées modernes. Notre travail sur les protocoles épidémiques montre par exemple comment une approche de développement par composants peut être combinée à un langage métier dédié pour une plus grande programmabilité. De même notre analyse d'un intergiciel de grille (Globus) illustre clairement les difficultés introduites par la réutilisation logicielle dans les plates-formes distribuées d'aujourd'hui, et comment ces difficultés peuvent être abordées dans le cas du diagnostic en combinant des principes de rétro-conception architecturale avec une analyse dynamique de performances.
Стилі APA, Harvard, Vancouver, ISO та ін.
41

Masliah, Ian. "Méthodes de génération automatique de code appliquées à l’algèbre linéaire numérique dans le calcul haute performance." Thesis, Université Paris-Saclay (ComUE), 2016. http://www.theses.fr/2016SACLS285/document.

Повний текст джерела
Анотація:
Les architectures parallèles sont aujourd'hui présentes dans tous les systèmes informatiques, allant des smartphones aux supercalculateurs en passant par les ordinateurs de bureau. Programmer efficacement ces architectures en fonction des applications requiert un effort pluridisciplinaire portant sur les langages dédiés (Domain Specific Languages - DSL), les techniques de génération de code et d'optimisation, et les algorithmes numériques propres aux applications. Dans cette thèse, nous présentons une méthode de programmation haut niveau prenant en compte les caractéristiques des architectures hétérogènes et les propriétés existantes des matrices pour produire un solveur générique d'algèbre linéaire dense. Notre modèle de programmation supporte les transferts explicites et implicites entre un processeur (CPU) et un processeur graphique qui peut être généraliste (GPU) ou intégré (IGP). Dans la mesure où les GPU sont devenus un outil important pour le calcul haute performance, il est essentiel d'intégrer leur usage dans les plateformes de calcul. Une architecture récente telle que l'IGP requiert des connaissances supplémentaires pour pouvoir être programmée efficacement. Notre méthodologie a pour but de simplifier le développement sur ces architectures parallèles en utilisant des outils de programmation haut niveau. À titre d'exemple, nous avons développé un solveur de moindres carrés en précision mixte basé sur les équations semi-normales qui n'existait pas dans les bibliothèques actuelles. Nous avons par la suite étendu nos travaux à un modèle de programmation multi-étape ("multi-stage") pour résoudre les problèmes d'interopérabilité entre les modèles de programmation CPU et GPU. Nous utilisons cette technique pour générer automatiquement du code pour accélérateur à partir d'un code effectuant des opérations point par point ou utilisant des squelettes algorithmiques. L'approche multi-étape nous assure que le typage du code généré est valide. Nous avons ensuite montré que notre méthode est applicable à d'autres architectures et algorithmes. Les routines développées ont été intégrées dans une bibliothèque de calcul appelée NT2.Enfin, nous montrons comment la programmation haut niveau peut être appliquée à des calculs groupés et des contractions de tenseurs. Tout d'abord, nous expliquons comment concevoir un modèle de container en utilisant des techniques de programmation basées sur le C++ moderne (C++-14). Ensuite, nous avons implémenté un produit de matrices optimisé pour des matrices de petites tailles en utilisant des instructions SIMD. Pour ce faire, nous avons pris en compte les multiples problèmes liés au calcul groupé ainsi que les problèmes de localité mémoire et de vectorisation. En combinant la programmation haut niveau avec des techniques avancées de programmation parallèle, nous montrons qu'il est possible d'obtenir de meilleures performances que celles des bibliothèques numériques actuelles
Parallelism in today's computer architectures is ubiquitous whether it be in supercomputers, workstations or on portable devices such as smartphones. Exploiting efficiently these systems for a specific application requires a multidisciplinary effort that concerns Domain Specific Languages (DSL), code generation and optimization techniques and application-specific numerical algorithms. In this PhD thesis, we present a method of high level programming that takes into account the features of heterogenous architectures and the properties of matrices to build a generic dense linear algebra solver. Our programming model supports both implicit or explicit data transfers to and from General-Purpose Graphics Processing Units (GPGPU) and Integrated Graphic Processors (IGPs). As GPUs have become an asset in high performance computing, incorporating their use in general solvers is an important issue. Recent architectures such as IGPs also require further knowledge to program them efficiently. Our methodology aims at simplifying the development on parallel architectures through the use of high level programming techniques. As an example, we developed a least-squares solver based on semi-normal equations in mixed precision that cannot be found in current libraries. This solver achieves similar performance as other mixed-precision algorithms. We extend our approach to a new multistage programming model that alleviates the interoperability problems between the CPU and GPU programming models. Our multistage approach is used to automatically generate GPU code for CPU-based element-wise expressions and parallel skeletons while allowing for type-safe program generation. We illustrate that this work can be applied to recent architectures and algorithms. The resulting code has been incorporated into a C++ library called NT2. Finally, we investigate how to apply high level programming techniques to batched computations and tensor contractions. We start by explaining how to design a simple data container using modern C++14 programming techniques. Then, we study the issues around batched computations, memory locality and code vectorization to implement a highly optimized matrix-matrix product for small sizes using SIMD instructions. By combining a high level programming approach and advanced parallel programming techniques, we show that we can outperform state of the art numerical libraries
Стилі APA, Harvard, Vancouver, ISO та ін.
42

Thévenoux, Laurent. "Synthèse de code avec compromis entre performance et précision en arithmétique flottante IEEE 754." Perpignan, 2014. http://www.theses.fr/2014PERP1176.

Повний текст джерела
Анотація:
La précision numérique et le temps d'exécution des programmes utilisant l'arithmétique flottante sont des enjeux majeurs dans de nombreuses applications de l'informatique. L'amélioration de ces critères fait l'objet de nombreux travaux de recherche. Cependant, nous constatons que l'amélioration de la précision diminue les performances et inversement. En effet, les techniques d'amélioration de la précision, telles que les expansions ou les compensations, augmentent le nombre de calculs que devra exécuter un programme. Plus ce coût est élevé, plus les performances sont diminuées. Ce travail de thèse présente une méthode d'amélioration automatique de la précision prenant en compte l'effet négatif sur les performances. Pour cela nous automatisons les transformations sans erreur des opérations élémentaires car cette technique présente un fort potentiel de parallélisme. Nous proposons de plus des stratégies d'optimisation permettant une amélioration partielle des programmes afin de contrôler plus finement son impact sur les performances. Des compromis entre performances et précision sont alors assurés par la synthèse de code. Nous présentons de plus, à l'aide d'outils implantant toutes les contributions de ce travail, de nombreux résultats expérimentaux
Numerical accuracy and execution time of programs using the floating-point arithmetic are major challenges in many computer science applications. The improvement of these criteria is the subject of many research works. However we notice that the accuracy improvement decrease the performances and conversely. Indeed, improvement techniques of numerical accuracy, such as expansions or compensations, increase the number of computations that a program will have to execute. The more the number of computations added is, the more the performances decrease. This thesis work presents a method of accuracy improvement which take into account the negative effect on the performances. So we automatize the error-free transformations of elementary floating-point operations because they present a high potential of parallelism. Moreover we propose some transformation strategies allowing partial improvement of programs to control more precisely the impact on execution time. Then, tradeoffs between accuracy and performances are assured by code synthesis. We present also several experimental results with the help of tools implementing all the contributions of our works
Стилі APA, Harvard, Vancouver, ISO та ін.
43

Li, Zheng. "Support architectural pour l'environnement de parallélisation CAPSULE." Paris 11, 2010. http://www.theses.fr/2010PA112328.

Повний текст джерела
Анотація:
En raison de la multi-cores, il y a une forte incitation à paralléliser des applications. Cependant, il n'y a pas de consensus sur la façon de paralléliser facilement de tels programmes, et la situation est en train de devenir critique. Pour cela, le groupe ALCHEMY de l'INRIA a proposé CAPSULE, une approche de parallélisation conditionnelle. En déléguant la division des tâches et la distribution des tâches à l'architecture ou à runtime, CAPSULE a à la fois simplifié la tâche du programmeur, et a réalisé une meilleure exploitation des ressources matérielles. Cette thèse a présenté une implémentation purement logicielle de CAPSULE, qui est basée sur les threads Posix, mais fournit des primitives simples pour le programmeur. Les résultats expérimentaux ont montré que l'implémentation logicielle est bien adaptée à multi-cores de mémoire partagée avec un petit nombre de cœurs. La thèse a également montré que l'approche de division conditionnelle pourrait améliorer la performance ainsi que la stabilité des exécutions parallèles en temps réel dans les systèmes embarqués. Si multi-cores devient many-cores, il faudra probablement adopter des architectures à mémoire physiquement distribuée. Nous avons constaté qu'un processor composé d'un grand nombre de cœurs avec une mémoire physiquement distribuée vraiment favorise un support matériel que un support logiciel pour le probing et la division. Nous avons proposé un support matériel sur lequel le contrôle de la division est uniquement basé sur des informations locales et non pas centralisé. Nos expériences montrent que cette approche de support matériel surperforme les régimes de division centrale et est plus scalable
Due to the multi-cores, there is a strong incentive to parallelize applications. However, there is no consensus on how to easily parallelize such programs, and the issue is now becoming critical. For this purpose, the ALCHEMY group of INRIA proposed CAPSULE, a conditional parallelization approach. By delegating component spawning and mapping decisions to the architecture or runtime, CAPSULE both simplified the task of the programmer, and achieved a better exploitation of hardware resources. This thesis presented a pure software implementation of CAPSULE, which is based on the Posix threads, but provides simple primitives for the programmer. The experimental results showed that the software implementation is well suited to shared-memory multi-cores with few cores. The thesis also showed that the conditional division approach could improve both the performance and the stability of the real-time execution of parallel programs in embedded systems by maximally using the available cores. If multi-cores become "many-cores", they will likely have to transition to physically distributed memory architectures. We have found that a large number of cores with a physically distributed memory do favor a hardware support over a software support for probing and division. We have proposed a hardware support where the division control is only based on local information and is not centralized. Our experiments show that this hardware-supported localized approach does outperform the central division schemes and is more scalable
Стилі APA, Harvard, Vancouver, ISO та ін.
44

Garcia, Pinto Vinicius. "Stratégies d'analyse de performance pour les applications basées sur tâches sur plates-formes hybrides." Thesis, Université Grenoble Alpes (ComUE), 2018. http://www.theses.fr/2018GREAM058/document.

Повний текст джерела
Анотація:
Les techniques de programmations pour le calcul de haute performanceont adopté les modèles basés sur parallélisme de tâche qui sontcapables de s’adapter plus facilement à des superordinateurs avec desarchitectures hybrides. La performance des applications basées surtâches dépende fortement des heuristiques d'ordonnancement dynamiqueset de sa capacité à exploiter les ressources de calcul et decommunication.Malheureusement, les stratégies d'analyse de performancetraditionnelles ne sont pas convenables pour comprendre les supportsd'exécution dynamiques et les applications basées sur tâches. Cesstratégies prévoient un comportement régulier avec des phases decalcul et de communication, par contre, des applications basées surtâches ne manifestent pas de phases précises. Par ailleurs, la granularitéplus fine des applications basées sur tâches typiquement provoque descomportements stochastiques qui donnent lieu aux structuresirrégulières qui sont difficiles à analyser.Dans cette thèse, nous proposons des stratégies d'analyse deperformance qui exploitent la combinaison de la structure del'application, d'ordonnancement et des informations de laplate-forme. Nous présentons comment nos stratégies peuvent aider àcomprendre des problèmes de performance dans des applications baséesur tâches qui exécutent dans des plates-formes hybrides. Nosstratégies d'analyse de performance sont construites avec des outilsmodernes pour l'analyse de données, ce que permettre la création despanneaux de visualisation personnalisés. Ces panneaux permettent lacompréhension et l'identification de problèmes de performancesoccasionnés par de mauvaises décisions d'ordonnancement etconfiguration incorrect du support d'exécution et de laplate-forme. Grâce à combinaison de simulation et débogage nouspouvons aussi construire une représentation visuelle de l'état interneet des estimations calculées par l'ordonnancer durant l'ordonnancementd'une nouvelle tâche.Nous validons notre proposition parmi de l'analyse de tracesd'exécutions d'une factorisation de Cholesky implémenté avec lesupport d'exécution StarPU et exécutée dans une plate-forme hybride(CPU/GPU). Nos études de cas montrent comment améliorer la partitiondes tâches entre le multi-(GPU, coeur) pour s'approcher des bornesinférieures théoriques, comment améliorer le pipeline des opérationsMPI entre le multi-(noeud, coeur, GPU) pour réduire le démarrage lentedans les noeuds distribués et comment optimiser le support d'exécutionpour augmenter la bande passante MPI. Avec l'emploi des stratégies desimulation et débogage, nous fournissons un workflow pourl'examiner, en détail, les décisions d'ordonnancement. Cela permet deproposer des changements pour améliorer les mécanismes d'ordonnancementet prefetch du support d'exécution
Programming paradigms in High-Performance Computing have been shiftingtoward task-based models that are capable of adapting readily toheterogeneous and scalable supercomputers. The performance oftask-based applications heavily depends on the runtime schedulingheuristics and on its ability to exploit computing and communicationresources.Unfortunately, the traditional performance analysis strategies areunfit to fully understand task-based runtime systems and applications:they expect a regular behavior with communication and computationphases, while task-based applications demonstrate no clearphases. Moreover, the finer granularity of task-based applicationstypically induces a stochastic behavior that leads to irregularstructures that are difficult to analyze.In this thesis, we propose performance analysis strategies thatexploit the combination of application structure, scheduler, andhardware information. We show how our strategies can help tounderstand performance issues of task-based applications running onhybrid platforms. Our performance analysis strategies are built on topof modern data analysis tools, enabling the creation of customvisualization panels that allow understanding and pinpointingperformance problems incurred by bad scheduling decisions andincorrect runtime system and platform configuration.By combining simulation and debugging we are also able to build a visualrepresentation of the internal state and the estimations computed bythe scheduler when scheduling a new task.We validate our proposal by analyzing traces from a Choleskydecomposition implemented with the StarPU task-based runtime systemand running on hybrid (CPU/GPU) platforms. Our case studies show howto enhance the task partitioning among the multi-(GPU, core) to getcloser to theoretical lower bounds, how to improve MPI pipelining inmulti-(node, core, GPU) to reduce the slow start in distributed nodesand how to upgrade the runtime system to increase MPI bandwidth. Byemploying simulation and debugging strategies, we also provide aworkflow to investigate, in depth, assumptions concerning the schedulerdecisions. This allows us to suggest changes to improve the runtimesystem scheduling and prefetch mechanisms
Стилі APA, Harvard, Vancouver, ISO та ін.
45

Ejjaaouani, Ksander. "Conception du modèle de programmation INKS pour la séparation des préoccupations algorithmiques et d’optimisation dans les codes de simulation numérique : application à la résolution du système Vlasov/Poisson 6D." Thesis, Strasbourg, 2019. http://www.theses.fr/2019STRAD037.

Повний текст джерела
Анотація:
Le modèle de programmation InKS vise à améliorer la lisibilité, la portabilité et la maintenabilité des codes de simulation tout en accroissant la productivité des développeurs de telles applications. Pour atteindre ces objectifs, InKS propose deux langages, chacun dédié à une partie de l’application. Le premier, InKS PIA , permet d’exprimer les aspects algorithmiques d’un code de simulation scientifique tout en laissant les choix d’optimisation de côté. Il s’agit de décrire les fondations de la simulation : son algorithme. Le second langage, InKS PSO , permet aux spécialistes de l’optimisation de réutiliser les informations contenues dans l’algorithme pour exprimer une large variété de choix d’optimisation. Le modèle permet d’écrire de nombreuses versions des optimisations, typiquement une par architecture, à partir d’un unique algorithme. En basant les différentes versions d’un programme sur sa partie invariante, l’algorithme, le modèle InKS limite la réécriture du code, boostant la productivité des développeurs. Suite à la proposition du modèle InKS et de son implémentation, nous avons évalué le modèle au travers de l'implémentation de simulations de plasma: le système Vlasov-Poisson 6D. Cette évaluation a permis de mettre en évidence certaines bonnes propriétés du modèle, notamment en matière de séparation des aspects, mais aussi à montrer sa généralité et ses performances. Pour ce faire, nous avons comparé l'efficacité de deux implémentations du système Vlasov-Poisson 6D, écrite sur InKS ou Fortran. Pour les optimisations les plus importantes, le nombre de lignes dans les deux cas est similaire. Cependant, la présence de l'algorithme permet d'ordonnancer automatiquement, en une simple ligne, un large ensemble de calcul, verbeux et potentiellement sujet aux erreurs. Ainsi, dans les parties non critiques du code, InKS PSO peut résumer une partie du programme de manière concise, permettant de se concentrer sur les parties de calcul intensif. Par ailleurs, en limitant la réécriture du code aux seules optimisations, InKS permet de tester plusieurs stratégies d'optimisations afin d'identifier la plus adaptée à une architecture donnée. En comparaison, dans ces situations, les applications traditionnelles requièrent la réécriture d'une plus grande partie du code, limitant le temps consacré à la recherche des meilleures stratégies d'optimisation
The InKS programming model aims to improve readability portability and maintainability of simulation codes as well as boosting developer productivity. To fulfill these objectives, InKS proposes two languages, each dedicated to a specific concern. First, InKS PIA provides concepts to express simulation algorithms with no concerns for optimization. Once this foundation is set, InKSPSO enables optimization specialists to reuse the algorithm in order to specify the optimization part. The model offers to write numerous versions of the optimizations, typically one per architecture, from a single algorithm. This strategy limits the rewriting of code for each new optimization specification, boosting developer productivity.We have evaluated the InKS programming model by using it to implement the 6D Vlasov-Poisson solver and compared our version with a Fortran one. This evaluation highlighted that, in addition to the separation of concerns, the InKS approach is not more complex that traditional ones while offering the same performance. Moreover, using the algorithm, it is able to generate valid code for non-critical parts of code, leaving optimization specialists more time to focus on optimizing the computation intensive parts
Стилі APA, Harvard, Vancouver, ISO та ін.
46

Vömel, Christof. "Contributions à la recherche en calcul scientifique haute performance pour les matrices creuses." Toulouse, INPT, 2003. http://www.theses.fr/2003INPT003H.

Повний текст джерела
Анотація:
Nous nous intéressons au développement d'un nouvel algorithme pour estimer la norme d'une matrice de manière incrémentale, à l'implantation d'un modèle de référence des Basic Linear Algebra Subprograms for sparse matrices (Sparse BLAS), et à la réalisation d'un nouveau gestionnaire de tâches pour MUMPS, un solveur multifrontal pour des architectures à mémoire distribuée. Notre méthode pour estimer la norme d'une matrice s'applique aux matrices denses et creuses. Elle peut s'avérer utile dans le cadre des factorisations QR, Cholesky, ou LU. Le standard Sparse BLAS définit des interfaces génériques. Nous avons été amenés à répondre aux questions concernant la représentation et la gestion des données. Le séquencement de tâches devient un enjeu important dès que nous travaillons sur un grand nombre de processeurs. Grâce à notre nouvelle approche, nous pouvons améliorer le passage a l'échelle du solveur MUMPS.
Стилі APA, Harvard, Vancouver, ISO та ін.
47

Peretti, Pezzi Guilherme. "High performance hydraulic simulations on the grid using Java and ProActive." Nice, 2011. http://www.theses.fr/2011NICE4118.

Повний текст джерела
Анотація:
Optimization of water distribution is a crucial issue which has been targeted by many modelling tools. Useful models, implemented several decades ago, need to be updated and implemented in more powerful computing environments. This thesis presents the redesign of a legacy hydraulic simulation software (IRMA) written in FORTRAN that has been used for over 30 years by the Société du Canal de Provence in order to design and to maintain water distribution networks. IRMA was developed aiming mainly the treatment of irrigation networks. The growing complexity and size of networks requested to update IRMA and to rewrite the code by using modern tools and language (Java). This thesis presents IRMA’s simulation model, including its head loss equations, linearization methods, topology analysis algorithms, equipments modelling and the linear system construction? Some new specific simulation features are presented : scenarios with probabilistic demands (Débit de Clément), pump profiling, pipe sizing, and pressure driven analysis. The new adopted solution for solving the linear system is describer and a comparison with the previous FORTRAN results of all networks maintained by the Société du Canal de Provence and the values obtained from a standard and well-known simulation tool (EPANET). Regarding the performance of the new solution, a sequential benchmark comparing with the former FORTRAN version is presented. Finally, two use cases are presented in order to demonstrate the capability of executing distributed simulations in a Grid infrastructure, using the ProActive solution. The new solution has been already deployed in a production environment and demonstrates clearly its efficiency with a significant reduction of the computation time, an improved quality of results and a transparent integration with the company’s modern software infrastructure (spatial databases)
L’optimisation de la distribution de l’eau est un enjeu crucial qui a déjà été ciblé par de nombreux outils de modélisation. Des modèles utiles, implémentés il y a des décennies, ont besoin d’évoluer vers des formalismes et des environnements informatiques plus récents. Cette thèse présente la refonte d’un ancien logiciel de simulation hydraulique (IRMA) écrit en FORTRAN, qui a été utilisé depuis plus de 30 ans par la Société du Canal de Provence, afin de concevoir et maintenir les réseaux de distribution d’eau. IRMA a été développé visant principalement pour le traitement des réseaux d’irrigation – en utilisant le modèle probabiliste d’estimation de la demande de Clément – et il permet aujourd’hui de gérer plus de 6000 km de réseaux d’eau sous pression. L’augmentation de la complexité et de la taille des réseaux met en évidence le besoin de moderniser IRMA et de le réécrire dans un langage plus actuel (Java). Cette thèse présente le modèle de simulation implémenté dans IRMA, y compris les équations de perte de charge, les méthodes de linéarisation, les algorithmes d’analyse de la topologie, la modélisation des équipements et la construction du système linéaire. Quelques nouveaux types de simulation sont présentés : la demande en pointe avec une estimation probabiliste de la consommation (débit de Clément), le dimensionnement de pompe (caractéristiques indicées), l’optimisation des diamètres des tuyaux, et la variation de consommation en fonction de la pression. La nouvelle solution adoptée pour résoudre le système linéaire est décrite et une comparaison avec les solveurs existant en Java est présentée. La validation des résultats est réalisée d’abord avec une comparaison avec une comparaison entre les résultats obtenus avec l’ancienne version FORTRAN et la nouvelle solution, pour tous les réseaux maintenus par la Société du Canal de Provence. Une deuxième validation est effectuée en comparant des résultats obtenus à partir d’un outil de simulation standard et bien connu (EPANET). Concernant les performances de la nouvelle solution, des mesures séquentielles de temps sont présentées afin de les comparer avec l’ancienne version FORTRAN. Enfin, deux cas d’utilisation sont présentés afin de démontrer la capacité d’exécuter des simulations distribuées dans une infrastructure de grille, utilisant la solution ProActive. La nouvelle solution a déjà été déployée dans un environnement de production et démontre clairement son efficacité avec une réduction significative du temps de calcul, une amélioration de la qualité des résultats et une intégration facilitée dans le système d’information de la Société du Canal de Provence, notamment la base de données spatiales
Стилі APA, Harvard, Vancouver, ISO та ін.
48

Loussert, Arthur. "Understanding and Guiding the Computing Resource Management in a Runtime Stacking Context." Thesis, Bordeaux, 2019. http://www.theses.fr/2019BORD0451.

Повний текст джерела
Анотація:
Avec l’avènement des processeurs multi-coeur et many-coeur comme bloc de base des supercalculateurs, beaucoup d’applications évoluent. Au lieu de n’utiliser qu’un seul modèle de programmation parallèle à mémoire distribuée (comme MPI), elles se doivent d’ajouter des modèles à mémoire partagée (comme OpenMp). Ces deux types de modèles se retrouvent en cohabitation au sein de l’application. Cela conduit à une meilleure exploitation des communications en mémoire partagée, tout en réduisant l’empreinte mémoire globale des applications. Cependant, cette évolution a un large impact sur la pile logicielle car les développeurs mélangent généralement plusieurs modèles de programmation pour passer à l’échelle sur un grand nombre de nœuds de calcul. Un effet de bord de cette approche de la programmation est l’empilement de modèles (‘runtime stacking’) : mélanger plusieurs modèles implique que plusieurs bibliothèques fonctionnent en même temps. Gérer plusieurs bibliothèques peut mener à un grand nombre de fils d’exécution utilisant les ressources sous-jacentes de manière non optimale.Nous présentons tout d’abord une étude du mélange de modèles de programmation. Elle introduit des configurations et catégories qui décrivent comment le mélange peut apparaitre dans les applications. Nous explorons les configurations spatiales et temporelles de mélange en nous concentrant sur le placement des fils d’exécution, provenant de plusieurs bibliothèques, sur les ressources matérielles. Nous construisons cette taxonomie en nous basant sur l’analyse de l’état de l’art des modèles de programmation et de leurs mélanges.Nous proposons ensuite des algorithmes pour détecter les mauvaises utilisations des ressources de calcul lors de l’exécution d’une application mélangeant plusieurs modèles de programmation. Nous avons implémenté ces algorithmes dans un outil dynamique appelé ‘Overseer’. Cet outil surveille l’application, et produit un rapport présentant l’utilisation des ressources tout au long de l’exécution. Le but de cette analyse est de mettre en lumière la sur- ou sous-utilisation des ressources de calcul.Enfin, nous proposons un second outil appelé ‘Overmind’, dont le but est de surveiller et de gérer le placement des fils d’exécution à la volée. La topologie des ressources des calculs ainsi que le comportement de l’application sont pris en compte pour utiliser au mieux toutes les ressources à disposition. En capturant une vue globale de l’utilisation des ressources, l’Overmind adapte le placement des fils d’exécution, et vise à prendre la meilleure décision pour améliorer l’utilisation des ressources de calcul de chaque nœud du supercalculateur.Nous démontrons la pertinence de notre approche et montrons qu’avec son faible surcout, notre implémentation est capable d’améliorer les performances d’applications, même si celles-ci utilisaient les ressources de calcul de manière non optimale à l’origine
With the advent of multicore and manycore processors as building blocks of HPC supercomputers, many applications shift from relying solely on a distributed programming model (e.g., MPI) to mixing distributed and shared memory models (e.g., MPI+OpenMP). This leads to a better exploitation of shared-memory communications and reduces the overall memory footprint. However, this evolution has a large impact on the software stack as applications’ developers do typically mix several programming models to scale over a large number of multicore nodes while coping with their hierarchical depth. One side effect of this programming approach is runtime stacking: mixing multiple models involve various runtime libraries to be alive at the same time. Dealing with different runtime systems may lead to a large number of execution flows that may not efficiently exploit the underlying resources.We first present a study of runtime stacking. It introduces stacking configurations and categories to describe how stacking can appear in applications. We explore runtime-stacking configurations (spatial and temporal) focusing on thread/process placement on hardware resources from different runtime libraries. We build this taxonomy based on the analysis of state-of-the-art runtime stacking and programming models.We then propose algorithms to detect the misuse of compute resources when running a hybrid parallel application. We have implemented these algorithms inside a dynamic tool, called the Overseer. This tool monitors applications, and outputs resource usage to the user with respect to the application timeline, focusing on overloading and underloading of compute resources.Finally, we propose a second external tool called Overmind, that monitors the thread/process management and (re)maps them to the underlying cores taking into account the hardware topology and the application behavior. By capturing a global view of resource usage the Overmind adapts the process/thread placement, and aims at taking the best decision to enhance the use of each compute node inside a supercomputer. We demonstrate the relevance of our approach and show that our low-overhead implementation is able to achieve good performance even when running with configurations that would have ended up with bad resource usage
Стилі APA, Harvard, Vancouver, ISO та ін.
49

Sergent, Marc. "Passage à l'echelle d'un support d'exécution à base de tâches pour l'algèbre linéaire dense." Thesis, Bordeaux, 2016. http://www.theses.fr/2016BORD0372/document.

Повний текст джерела
Анотація:
La complexification des architectures matérielles pousse vers l’utilisation de paradigmes de programmation de haut niveau pour concevoir des applications scientifiques efficaces, portables et qui passent à l’échelle. Parmi ces paradigmes, la programmation par tâches permet d’abstraire la complexité des machines en représentant les applications comme des graphes de tâches orientés acycliques (DAG). En particulier, le modèle de programmation par tâches soumises séquentiellement (STF) permet de découpler la phase de soumission des tâches, séquentielle, de la phase d’exécution parallèle des tâches. Même si ce modèle permet des optimisations supplémentaires sur le graphe de tâches au moment de la soumission, il y a une préoccupation majeure sur la limite que la soumission séquentielle des tâches peut imposer aux performances de l’application lors du passage à l’échelle. Cette thèse se concentre sur l’étude du passage à l’échelle du support d’exécution StarPU (développé à Inria Bordeaux dans l’équipe STORM), qui implémente le modèle STF, dans le but d’optimiser les performances d’un solveur d’algèbre linéaire dense utilisé par le CEA pour faire de grandes simulations 3D. Nous avons collaboré avec l’équipe HiePACS d’Inria Bordeaux sur le logiciel Chameleon, qui est une collection de solveurs d’algèbre linéaire portés sur supports d’exécution à base de tâches, afin de produire un solveur d’algèbre linéaire dense sur StarPU efficace et qui passe à l’échelle jusqu’à 3 000 coeurs de calcul et 288 accélérateurs de type GPU du supercalculateur TERA-100 du CEA-DAM
The ever-increasing supercomputer architectural complexity emphasizes the need for high-level parallel programming paradigms to design efficient, scalable and portable scientific applications. Among such paradigms, the task-based programming model abstracts away much of the architecture complexity by representing an application as a Directed Acyclic Graph (DAG) of tasks. Among them, the Sequential-Task-Flow (STF) model decouples the task submission step, sequential, from the parallel task execution step. While this model allows for further optimizations on the DAG of tasks at submission time, there is a key concern about the performance hindrance of sequential task submission when scaling. This thesis’ work focuses on studying the scalability of the STF-based StarPU runtime system (developed at Inria Bordeaux in the STORM team) for large scale 3D simulations of the CEA which uses dense linear algebra solvers. To that end, we collaborated with the HiePACS team of Inria Bordeaux on the Chameleon software, which is a collection of linear algebra solvers on top of task-based runtime systems, to produce an efficient and scalable dense linear algebra solver on top of StarPU up to 3,000 cores and 288 GPUs of CEA-DAM’s TERA-100 cluster
Стилі APA, Harvard, Vancouver, ISO та ін.
50

Collet, Julien. "Exploration of parallel graph-processing algorithms on distributed architectures." Thesis, Compiègne, 2017. http://www.theses.fr/2017COMP2391/document.

Повний текст джерела
Анотація:
Avec l'explosion du volume de données produites chaque année, les applications du domaine du traitement de graphes ont de plus en plus besoin d'être parallélisées et déployées sur des architectures distribuées afin d'adresser le besoin en mémoire et en ressource de calcul. Si de telles architectures larges échelles existent, issue notamment du domaine du calcul haute performance (HPC), la complexité de programmation et de déploiement d’algorithmes de traitement de graphes sur de telles cibles est souvent un frein à leur utilisation. De plus, la difficile compréhension, a priori, du comportement en performances de ce type d'applications complexifie également l'évaluation du niveau d'adéquation des architectures matérielles avec de tels algorithmes. Dans ce contexte, ces travaux de thèses portent sur l’exploration d’algorithmes de traitement de graphes sur architectures distribuées en utilisant GraphLab, un Framework de l’état de l’art dédié à la programmation parallèle de tels algorithmes. En particulier, deux cas d'applications réelles ont été étudiées en détails et déployées sur différentes architectures à mémoire distribuée, l’un venant de l’analyse de trace d’exécution et l’autre du domaine du traitement de données génomiques. Ces études ont permis de mettre en évidence l’existence de régimes de fonctionnement permettant d'identifier des points de fonctionnements pertinents dans lesquels on souhaitera placer un système pour maximiser son efficacité. Dans un deuxième temps, une étude a permis de comparer l'efficacité d'architectures généralistes (type commodity cluster) et d'architectures plus spécialisées (type serveur de calcul hautes performances) pour le traitement de graphes distribué. Cette étude a démontré que les architectures composées de grappes de machines de type workstation, moins onéreuses et plus simples, permettaient d'obtenir des performances plus élevées. Cet écart est d'avantage accentué quand les performances sont pondérées par les coûts d'achats et opérationnels. L'étude du comportement en performance de ces architectures a également permis de proposer in fine des règles de dimensionnement et de conception des architectures distribuées, dans ce contexte. En particulier, nous montrons comment l’étude des performances fait apparaitre les axes d’amélioration du matériel et comment il est possible de dimensionner un cluster pour traiter efficacement une instance donnée. Finalement, des propositions matérielles pour la conception de serveurs de calculs plus performants pour le traitement de graphes sont formulées. Premièrement, un mécanisme est proposé afin de tempérer la baisse significative de performance observée quand le cluster opère dans un point de fonctionnement où la mémoire vive est saturée. Enfin, les deux applications développées ont été évaluées sur une architecture à base de processeurs basse-consommation afin d'étudier la pertinence de telles architectures pour le traitement de graphes. Les performances mesurés en utilisant de telles plateformes sont encourageantes et montrent en particulier que la diminution des performances brutes par rapport aux architectures existantes est compensée par une efficacité énergétique bien supérieure
With the advent of ever-increasing graph datasets in a large number of domains, parallel graph-processing applications deployed on distributed architectures are more and more needed to cope with the growing demand for memory and compute resources. Though large-scale distributed architectures are available, notably in the High-Performance Computing (HPC) domain, the programming and deployment complexity of such graphprocessing algorithms, whose parallelization and complexity are highly data-dependent, hamper usability. Moreover, the difficult evaluation of performance behaviors of these applications complexifies the assessment of the relevance of the used architecture. With this in mind, this thesis work deals with the exploration of graph-processing algorithms on distributed architectures, notably using GraphLab, a state of the art graphprocessing framework. Two use-cases are considered. For each, a parallel implementation is proposed and deployed on several distributed architectures of varying scales. This study highlights operating ranges, which can eventually be leveraged to appropriately select a relevant operating point with respect to the datasets processed and used cluster nodes. Further study enables a performance comparison of commodity cluster architectures and higher-end compute servers using the two use-cases previously developed. This study highlights the particular relevance of using clustered commodity workstations, which are considerably cheaper and simpler with respect to node architecture, over higher-end systems in this applicative context. Then, this thesis work explores how performance studies are helpful in cluster design for graph-processing. In particular, studying throughput performances of a graph-processing system gives fruitful insights for further node architecture improvements. Moreover, this work shows that a more in-depth performance analysis can lead to guidelines for the appropriate sizing of a cluster for a given workload, paving the way toward resource allocation for graph-processing. Finally, hardware improvements for next generations of graph-processing servers areproposed and evaluated. A flash-based victim-swap mechanism is proposed for the mitigation of unwanted overloaded operations. Then, the relevance of ARM-based microservers for graph-processing is investigated with a port of GraphLab on a NVIDIA TX2-based architecture
Стилі APA, Harvard, Vancouver, ISO та ін.
Ми пропонуємо знижки на всі преміум-плани для авторів, чиї праці увійшли до тематичних добірок літератури. Зв'яжіться з нами, щоб отримати унікальний промокод!

До бібліографії