• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 337
  • 189
  • 134
  • 56
  • 45
  • 44
  • 4
  • 4
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 922
  • 922
  • 922
  • 404
  • 394
  • 351
  • 351
  • 329
  • 325
  • 320
  • 319
  • 316
  • 314
  • 313
  • 313
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
331

De l’interaction des communications et de l’ordonnancement de threads au sein des grappes de machines multi-cœurs / About the interactions between communication and thread scheduling in clusters of multicore machines

Trahay, François 13 November 2009 (has links)
La tendance actuelle des constructeurs pour le calcul scientifique est à l'utilisation de grappes de machines dont les noeuds comportent un nombre de coeurs toujours plus grand. Le modèle basé uniquement sur MPI laisse peu à peu la place à des modèles mélangeant l'utilisation de threads et de MPI. Ce changement de modèle entraîne de nombreuses problématiques car les implémentations MPI n'ont pas été conçues pour supporter les applications multi-threadées. Dans cette thèse, afin de garantir le bon fonctionnement des communications, nous proposons un module logiciel faisant interagir l'ordonnanceur de threads et la bibliothèque de communication. Ce gestionnaire d'entrées/sorties générique prend en charge la détection des événements du réseau et exploite les multiples unités de calcul présentes sur la machine de manière transparente. Grâce à la collaboration étroite avec l'ordonnanceur de threads, le gestionnaire d'entrées/sorties que nous proposons assure un haut niveau de réactivité aux événements du réseau. Nous montrons qu'il est ainsi possible de faire progresser les communications réseau en arrière-plan et donc de recouvrir les communications par du calcul. La parallélisation de la bibliothèque de communication est également facilité par un mécanisme d'exportation de tâches capable d'exploiter les différentes unités de calcul disponible tout en prenant en compte la localité des données. Les gains obtenus sur des tests synthétiques et sur des applications montre que l'interaction entre la bibliothèque de communication et l'ordonnanceur de threads permet de réduire le coût des communications et donc d'améliorer les performances d'une application. / The current trend of constructors for scientific computation is to build clusters whose node include an increasing number of cores.The classical programming model that is only based on MPI is being replaced by hybrid approaches that mix communication and multi-threading. This evolution of the programming model leads to numerous problems since MPI implementations were not designed for multi-threaded applications. In this thesis, in order to guarantee a smooth behavior of communication, we propose a software module that interact with both the threads scheduler and the communication library. This module, by working closely with the thread scheduler, allows to make communication progress in the background and guarantees a high level of reactivity to network events, even when the node is overloaded. We show that this permits to make communication progress in the background and thus to overlap communication and computation. The parallelization of the communication library is also made easier thanks to a task onloading mechanism that is able to exploit the available cores while taking data locality into account. The results we obtain on synthetic application as well as real-life applications show that the interaction between the thread scheduler and the communication library allows to reduce the overhead of communication and thus to improve the application performance.
332

Modèles de programmation et supports exécutifs pour architectures hétérogènes / Programming Models and Runtime Systems for Heterogeneous Architectures

Henry, Sylvain 14 November 2013 (has links)
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é). / This work takes part in the context of high-performance computing on heterogeneous architectures. Runtime systems are increasingly used to make programming these architectures easier and to ensure performance portability by automatically dealing with some tasks (management of the distributed memory, scheduling of the computational kernels...). We propose a low-level approach based on the OpenCL specification as well as a high-level approach based on parallel functional programming.
333

Geração adaptativa de malhas de superfícies paramétricas em paralelo com controle de curvatura / An adaptive parametric surface mesh generation parallel method guided by curvatures

Sombra, Tiago Guimarães January 2016 (has links)
SOMBRA, Tiago Guimarães. Geração adaptativa de malhas de superfícies paramétricas em paralelo com controle de curvatura. 2016. 71 f. Dissertação (Mestrado em ciência da computação)- Universidade Federal do Ceará, Fortaleza-CE, 2016. / Submitted by Elineudson Ribeiro (elineudsonr@gmail.com) on 2016-07-12T19:12:42Z No. of bitstreams: 1 2016_dis_tgsombra.pdf: 7997002 bytes, checksum: 8e8712a9b19d272a16ac263f62596436 (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2016-07-22T16:43:38Z (GMT) No. of bitstreams: 1 2016_dis_tgsombra.pdf: 7997002 bytes, checksum: 8e8712a9b19d272a16ac263f62596436 (MD5) / Made available in DSpace on 2016-07-22T16:43:38Z (GMT). No. of bitstreams: 1 2016_dis_tgsombra.pdf: 7997002 bytes, checksum: 8e8712a9b19d272a16ac263f62596436 (MD5) Previous issue date: 2016 / This work describes a technique for generating parametric surfaces meshes using parallel computing, with distributed memory processors. The input for the algorithm is a set of parametric patches that model the surface of a given object. A structure for spatial partitioning is proposed to decompose the domain in as many subdomains as processes in the parallel system. Each subdomain consists of a set of patches and the division of its load is guided following an estimate. This decomposition attempts to balance the amount of work in all the subdomains. The amount of work, known as load, of any mesh generator is usually given as a function of its output size, i.e., the size of the generated mesh. Therefore, a technique to estimate the size of this mesh, the total load of the domain, is needed beforehand. This work makes use of an analytical average curvature calculated for each patch, which in turn is input data to estimate this load and the decomposition is made from this analytical mean curvature. Once the domain is decomposed, each process generates the mesh on that subdomain or set of patches by a quad tree technique for inner regions, advancing front technique for border regions and is finally applied an improvement to mesh generated. This technique presented good speed-up results, keeping the quality of the mesh comparable to the quality of the serially generated mesh. / Este trabalho descreve uma técnica para gerar malhas de superfícies paramétricas utilizando computação paralela, com processadores de memória compartilhada. A entrada para o algoritmo é um conjunto de patches paramétricos que modela a superfície de um determinado objeto. Uma estrutura de partição espacial é proposta para decompor o domínio em tantos subdomínios quantos forem os processos no sistema paralelo. Cada subdomínio é formado por um conjunto de patches e a divisão de sua carga é guiada seguindo uma estimativa de carga. Esta decomposição tenta equilibrar a quantidade de trabalho em todos os subdomínios. A quantidade de trabalho, conhecida como carga, de qualquer gerador de malha é geralmente dada em função do tamanho da saída do algoritmo, ou seja, do tamanho da malha gerada. Assim, faz-se necessária uma técnica para estimar previamente o tamanho dessa malha, que é a carga total do domínio. Este trabalho utiliza-se de um cálculo de curvatura analítica média para cada patch, que por sua vez, é dado de entrada para estimar esta carga e a decomposição é feita a partir dessa curvatura analítica média. Uma vez decomposto o domínio, cada processo gera a malha em seu subdomínio ou conjunto de patches pela técnica de quadtree para regiões internas, avanço de fronteira para regiões de fronteira e por fim é aplicado um melhoramento na malha gerada. Esta técnica apresentou bons resultados de speed-up, mantendo a qualidade da malha comparável à qualidade da malha gerada de forma sequencial.
334

Migration and evaluation of a numerical weather prediction application in a cloud computing infrastructure / Migração e avaliação de uma aplicação de previsão numérica do tempo em uma infrastructura de computação em nuvem

Carreño, Emmanuell Diaz January 2015 (has links)
O uso de clusters e grids tem beneficiado durante anos a comunidade de computação de alto desempenho (HPC). O uso deste tipo de sistemas tem permitido aos cientistas usar conjuntos de dados maiores para executar cálculos mais complexos. A computação de alto desempenho tem ajudado para obter aqueles resultados em menos tempo, mas aumentou o custo das despesas de capital nesta área da ciência. Como alguns projetos de e-science são realizados também em ambientes de rede altamente distribuídos, ou usando conjuntos de dados imensos que muitas vezes requerem computação em grade, eles são muito bons candidatos para as iniciativas de computação em nuvem. O paradigma Cloud Computing surgiu como uma solução prática com foco comercial para realizar computação científica em larga escala. A elasticidade da nuvem e o modelo pay-as-you-go apresenta uma oportunidade interessante para aplicações comumente executados em supercomputadores ou clusters. Esta tese apresenta e avalia os desafios da migração e execução da previsão numérica de tempo (NWP) numa infra-estrutura de computação em nuvem. Foi realizada a migração desta aplicação HPC e foi avaliado o desempenho em um cluster local e na nuvem utilizando diferentes tamanhos de instâncias virtuais. Analisamos as principais características da aplicação executando na nuvem. As experiências demonstram que, embora o processamento e a rede criam um fator limitante, o armazenamento dos conjuntos de dados de entrada e saída na nuvem apresentam uma opção atraente para compartilhar resultados e facilitar a implantação de um ambiente de ensaio para investigação meteorológica. Os resultados mostram que a infraestrutura de nuvem pode ser usada como uma alternativa viável de HPC para software de previsão numérica do tempo. / The usage of clusters and grids has benefited for years the High Performance Computing (HPC) community. These kind of systems have allowed scientists to use bigger datasets and to perform more intensive computations, helping them to achieve results in less time but has also increased the upfront costs associated with this area of science. As some e-Science projects are carried out also in highly distributed network environments or using immense data sets that sometimes require grid computing, they are good candidates for cloud computing initiatives. The Cloud Computing paradigm has emerged as a practical solution to perform large-scale scientific computing. The elasticity of the cloud and its pay-as-you-go model presents an attractive opportunity for applications commonly executed in clusters or supercomputers. In this context, the user does not need to buy infrastructure, the resources can be rented from a provider and used for a period of time. This thesis presents the challenges and solutions of migrating a numerical weather prediction (NWP) application to a cloud computing infrastructure. We performed the migration of this HPC application and evaluated its performance in a local cluster and the cloud using different instance sizes. We analyzed the main characteristics of the application running in the cloud. The experiments demonstrate that, although processing and networking create a limiting factor, storing input and output datasets in the cloud presents an attractive option to share results and ease the deployment of a test-bed for a weather research platform. Results show that cloud infrastructure can be used as a viable HPC alternative for numerical weather prediction software.
335

Imagerie ultrasonore 2D et 3D sur GPU : application au temps réel et à l'inversion de forme d'onde complète / 2D and 3D ultrasoundimaging using GPU : toward real-time and full waveform inversion

Bachmann, Etienne 07 October 2016 (has links)
Si les avancées majeures en imagerie ultrasonore ont longtemps été liées à la qualité de l'instrumentation, l'avènement de l'informatique a incontestablement changé la donne en introduisant des possibilités croissantes de traitement des données pour obtenir une meilleure image. Par ailleurs, les GPUs, composants principaux des cartes graphiques, offrent de par leur architecture des vitesses de calcul bien supérieures aux processeurs, y compris à des fins de calcul scientifique. Le but de cette thèse a été de tirer parti de ce nouvel outil de calcul, en ciblant deux applications complémentaires. La première est d'autoriser une imagerie en temps réel de meilleure qualité que les autres techniques d'imagerie échographique, en parallélisant le procédé d'imagerie FTIM (Fast Topological IMaging). La seconde est d'introduire l'imagerie quantitative et en particulier la reconstruction de la carte de vitesse du milieu inconnu, en utilisant l'inversion de la forme d'onde complète. / If the most important progresses in ultrasound imaging have been closely linked to the instrumentation's quality, the advent of computing science revolutionized this discipline by introducing growing possibilities in data processing to obtain a better picture. In addition, GPUs, which are the main components of the graphics cards deliver thanks to their architecture a significantly higher processing speed compared with processors, and also for scientific calculation purpose. The goal of this work is to take the best benefit of this new computing tool, by aiming two complementary applications. The first one is to enable real-time imaging with a better quality than other sonographic imaging techniques, thanks to the parallelization of the FTIM (Fast Tpological IMaging) imaging process. The second one is to introduce quantitative imaging and more particularly reconstructing the wavespeed map of an unknown medium, using Full Waveform Inversion.
336

Viability and performance of high-performance computing in the cloud / Viabilidade e desempenho de processamento de alto desempenho na nuvem

Roloff, Eduardo January 2013 (has links)
Computação em nuvem é um novo paradigma, onde recursos computacionais são disponibilizados como serviços. Neste cenário, o usuário não tem a necessidade de adquirir infraestrutura, ele pode alugar os recursos de um provedor e usá-los durante um certo período de tempo. Além disso, o usuário pode facilmente alocar e desalocar quantos recursos ele desejar, num ambiente totalmente elástico. O usuário só é cobrado pelo efetivo uso que for feito dos recursos alocados, isso significa que ele somente pagará pelo que for utilizado. Por outro lado, usuários de processamento de alto desempenho (PAD) tem a necessidade de utilizar grande poder computacional como uma ferramenta de trabalho. Para se ter acesso a estes recursos, são necessários investimentos financeiros adequados para aquisição de sistemas para PAD. Mas, neste caso, duas situações podem incorrer em problemas. O usuário necessita ter acesso aos recursos financeiros totais para adquirir e manter um sistema para PAD, e esses recusros são limitados. O propósito dessa dissertação é avaliar se o paradigma de computação em nuvem é um ambiente viável para PAD, verificando se este modelo de computação tem a capaciodade de prover acesso a ambientes que podem ser utilizados para a execução de aplicações de alto desempenho, e também, se o custo benefício apresentado é melhor do que o de sistemas tradicionais. Para isso, todo o modelo de computação em nuvem foi avaliado para se identificar quais partes dele tem o potencial para ser usado para PAD. Os componentes identificados foram avaliados utilizando-se proeminentes provedores de computação em nuvem. Foram analisadas as capacidades de criação de ambientes de PAD, e tais ambientes tiveram seu desempenho analisado através da utilização de técnicas tradicionais. Para a avaliação do custo benefício, foi criado e aplicado um modelo de custo. Os resultados mostraram que todos os provedores analisados possuem a capacidade de criação de ambientes de PAD. Em termos de desempenho, houveram alguns casos em que os provedores de computação em nuvem foram melhores do que um sistema tradicional. Na perspectiva de custo, a nuvem apresenta uma alternativa bastante interessante devido ao seu modelo de cobrança de acordo com o uso. Como conclusão dessa dissertação, foi mostrado que a computação em nuvem pode ser utilizada como uma alternativa real para ambientes de PAD. / Cloud computing is a new paradigm, where computational resources are offered as services. In this context, the user does not need to buy infrastructure, the resources can be rented from a provider and used for a period of time. Furthermore the user can easily allocate as many resources as needed, and deallocate them as well, in a totally elastic environment. The resources need to be paid only for the effective usage time. On the other hand, High-Performance Computing (HPC) requires a large amount of computational power. To acquire systems capable for HPC, large financial investments are necessary. Apart from the initial investment, the user must pay the maintenance costs, and has only limited computational resources. To overcome these issues, this thesis aims to evaluate the cloud computing paradigm as a candidate environment for HPC. We analyze the efforts and challenges for porting and deploy HPC applications to the cloud. We evaluate if this computing model can provide sufficient capacities for running HPC applications, and compare its cost efficiency to traditional HPC systems, such as clusters. The cloud computing paradigm was analyzed to identify which models have the potential to be used for HPC purposes. The identified models were then evaluated using major cloud providers, Microsoft Windows Azure, Amazon EC2 and Rackspace and compare them to a traditional HPC system. We analyzed the capabilities to create HPC environments, and evaluated their performance. For the evaluation of the cost efficiency, we developed an economic model. The results show that all the evaluated providers have the capability to create HPC environments. In terms of performance, there are some cases where cloud providers present a better performance than the traditional system. From the cost perspective, the cloud presents an interesting alternative due to the pay-per-use model. Summarizing the results, this dissertation shows that cloud computing can be used as a realistic alternative for HPC environments.
337

Viability and performance of high-performance computing in the cloud / Viabilidade e desempenho de processamento de alto desempenho na nuvem

Roloff, Eduardo January 2013 (has links)
Computação em nuvem é um novo paradigma, onde recursos computacionais são disponibilizados como serviços. Neste cenário, o usuário não tem a necessidade de adquirir infraestrutura, ele pode alugar os recursos de um provedor e usá-los durante um certo período de tempo. Além disso, o usuário pode facilmente alocar e desalocar quantos recursos ele desejar, num ambiente totalmente elástico. O usuário só é cobrado pelo efetivo uso que for feito dos recursos alocados, isso significa que ele somente pagará pelo que for utilizado. Por outro lado, usuários de processamento de alto desempenho (PAD) tem a necessidade de utilizar grande poder computacional como uma ferramenta de trabalho. Para se ter acesso a estes recursos, são necessários investimentos financeiros adequados para aquisição de sistemas para PAD. Mas, neste caso, duas situações podem incorrer em problemas. O usuário necessita ter acesso aos recursos financeiros totais para adquirir e manter um sistema para PAD, e esses recusros são limitados. O propósito dessa dissertação é avaliar se o paradigma de computação em nuvem é um ambiente viável para PAD, verificando se este modelo de computação tem a capaciodade de prover acesso a ambientes que podem ser utilizados para a execução de aplicações de alto desempenho, e também, se o custo benefício apresentado é melhor do que o de sistemas tradicionais. Para isso, todo o modelo de computação em nuvem foi avaliado para se identificar quais partes dele tem o potencial para ser usado para PAD. Os componentes identificados foram avaliados utilizando-se proeminentes provedores de computação em nuvem. Foram analisadas as capacidades de criação de ambientes de PAD, e tais ambientes tiveram seu desempenho analisado através da utilização de técnicas tradicionais. Para a avaliação do custo benefício, foi criado e aplicado um modelo de custo. Os resultados mostraram que todos os provedores analisados possuem a capacidade de criação de ambientes de PAD. Em termos de desempenho, houveram alguns casos em que os provedores de computação em nuvem foram melhores do que um sistema tradicional. Na perspectiva de custo, a nuvem apresenta uma alternativa bastante interessante devido ao seu modelo de cobrança de acordo com o uso. Como conclusão dessa dissertação, foi mostrado que a computação em nuvem pode ser utilizada como uma alternativa real para ambientes de PAD. / Cloud computing is a new paradigm, where computational resources are offered as services. In this context, the user does not need to buy infrastructure, the resources can be rented from a provider and used for a period of time. Furthermore the user can easily allocate as many resources as needed, and deallocate them as well, in a totally elastic environment. The resources need to be paid only for the effective usage time. On the other hand, High-Performance Computing (HPC) requires a large amount of computational power. To acquire systems capable for HPC, large financial investments are necessary. Apart from the initial investment, the user must pay the maintenance costs, and has only limited computational resources. To overcome these issues, this thesis aims to evaluate the cloud computing paradigm as a candidate environment for HPC. We analyze the efforts and challenges for porting and deploy HPC applications to the cloud. We evaluate if this computing model can provide sufficient capacities for running HPC applications, and compare its cost efficiency to traditional HPC systems, such as clusters. The cloud computing paradigm was analyzed to identify which models have the potential to be used for HPC purposes. The identified models were then evaluated using major cloud providers, Microsoft Windows Azure, Amazon EC2 and Rackspace and compare them to a traditional HPC system. We analyzed the capabilities to create HPC environments, and evaluated their performance. For the evaluation of the cost efficiency, we developed an economic model. The results show that all the evaluated providers have the capability to create HPC environments. In terms of performance, there are some cases where cloud providers present a better performance than the traditional system. From the cost perspective, the cloud presents an interesting alternative due to the pay-per-use model. Summarizing the results, this dissertation shows that cloud computing can be used as a realistic alternative for HPC environments.
338

Migration and evaluation of a numerical weather prediction application in a cloud computing infrastructure / Migração e avaliação de uma aplicação de previsão numérica do tempo em uma infrastructura de computação em nuvem

Carreño, Emmanuell Diaz January 2015 (has links)
O uso de clusters e grids tem beneficiado durante anos a comunidade de computação de alto desempenho (HPC). O uso deste tipo de sistemas tem permitido aos cientistas usar conjuntos de dados maiores para executar cálculos mais complexos. A computação de alto desempenho tem ajudado para obter aqueles resultados em menos tempo, mas aumentou o custo das despesas de capital nesta área da ciência. Como alguns projetos de e-science são realizados também em ambientes de rede altamente distribuídos, ou usando conjuntos de dados imensos que muitas vezes requerem computação em grade, eles são muito bons candidatos para as iniciativas de computação em nuvem. O paradigma Cloud Computing surgiu como uma solução prática com foco comercial para realizar computação científica em larga escala. A elasticidade da nuvem e o modelo pay-as-you-go apresenta uma oportunidade interessante para aplicações comumente executados em supercomputadores ou clusters. Esta tese apresenta e avalia os desafios da migração e execução da previsão numérica de tempo (NWP) numa infra-estrutura de computação em nuvem. Foi realizada a migração desta aplicação HPC e foi avaliado o desempenho em um cluster local e na nuvem utilizando diferentes tamanhos de instâncias virtuais. Analisamos as principais características da aplicação executando na nuvem. As experiências demonstram que, embora o processamento e a rede criam um fator limitante, o armazenamento dos conjuntos de dados de entrada e saída na nuvem apresentam uma opção atraente para compartilhar resultados e facilitar a implantação de um ambiente de ensaio para investigação meteorológica. Os resultados mostram que a infraestrutura de nuvem pode ser usada como uma alternativa viável de HPC para software de previsão numérica do tempo. / The usage of clusters and grids has benefited for years the High Performance Computing (HPC) community. These kind of systems have allowed scientists to use bigger datasets and to perform more intensive computations, helping them to achieve results in less time but has also increased the upfront costs associated with this area of science. As some e-Science projects are carried out also in highly distributed network environments or using immense data sets that sometimes require grid computing, they are good candidates for cloud computing initiatives. The Cloud Computing paradigm has emerged as a practical solution to perform large-scale scientific computing. The elasticity of the cloud and its pay-as-you-go model presents an attractive opportunity for applications commonly executed in clusters or supercomputers. In this context, the user does not need to buy infrastructure, the resources can be rented from a provider and used for a period of time. This thesis presents the challenges and solutions of migrating a numerical weather prediction (NWP) application to a cloud computing infrastructure. We performed the migration of this HPC application and evaluated its performance in a local cluster and the cloud using different instance sizes. We analyzed the main characteristics of the application running in the cloud. The experiments demonstrate that, although processing and networking create a limiting factor, storing input and output datasets in the cloud presents an attractive option to share results and ease the deployment of a test-bed for a weather research platform. Results show that cloud infrastructure can be used as a viable HPC alternative for numerical weather prediction software.
339

Dynamic load-balancing : a new strategy for weather forecast models

Rodrigues, Eduardo Rocha January 2011 (has links)
Weather forecasting models are computationally intensive applications and traditionally they are executed in parallel machines. However, some issues prevent these models from fully exploiting the available computing power. One of such issues is load imbalance, i.e., the uneven distribution of load across the processors of the parallel machine. Since weather models are typically synchronous applications, that is, all tasks synchronize at every time-step, the execution time is determined by the slowest task. The causes of such imbalance are either static (e.g. topography) or dynamic (e.g. shortwave radiation, moving thunderstorms). Various techniques, often embedded in the application’s source code, have been used to address both sources. However, these techniques are inflexible and hard to use in legacy codes. In this thesis, we explore the concept of processor virtualization for dynamically balancing the load in weather models. This means that the domain is over-decomposed in more tasks than the available processors. Assuming that many tasks can be safely executed in a single processor, each processor is put in charge of a set of tasks. In addition, the system can migrate some of them from overloaded processors to underloaded ones when it detects load imbalance. This approach has the advantage of decoupling the application from the load balancing strategy. Our objective is to show that processor virtualization can be applied to weather models as long as an appropriate strategy for migrations is used. Our proposal takes into account the communication pattern of the application in addition to the load of each processor. In this text, we present the techniques used to minimize the amount of change needed in order to apply processor virtualization to a real-world application. Furthermore, we analyze the effects caused by the frequency at which the load balancer is invoked and a threshold that activates rebalancing. We propose an automatic strategy to find an optimal threshold to trigger load balancing. These strategies are centralized and work well for moderately large machines. For larger machines, we present a fully distributed algorithm and analyze its performance. As a study case, we demonstrate the effectiveness of our approach for dynamically balancing the load in Brams, a mesoscale weather forecasting model based on MPI parallelization. We choose this model because it presents a considerable load imbalance caused by localized thunderstorms. In addition, we analyze how other effects of processor virtualization can improve performance.
340

Contribution à la conception à base de composants logiciels d'applications scientifiques parallèles / Contribution to the design of scientific parallel applications based on software components

Pichon, Vincent 05 November 2012 (has links)
La conception d'applications scientifiques à base de couplage de code est une tâche complexe car elle demande de concilier une facilité de programmation et une obtention de haute performance. En outre, les ressources matérielles (supercalculateurs, grappes de calcul, grilles) permettant leur exécution forment un ensemble hétérogène en constante évolution. Les modèles à base de composants logiciels forment une piste prometteuse pour gérer ces deux sources de complexité car ils permettent d’exprimer les interactions entre les différents constituants d’une application tout en offrant des possibilités d'abstraction des ressources. Néanmoins, les modèles existants ne permettent pas d'exprimer de manière satisfaisante les applications constituées de motifs répliqués dynamiques et hiérarchiques. Ainsi, cette thèse vise à améliorer l'existant – et en particulier la plate-forme générique de simulation numérique SALOME – pour une classe d'applications très répandue : les applications à base de décomposition de domaine et la variante utilisant le raffinement de maillage adaptatif. Tout d'abord, nous avons proposé d’étendre le modèle de composition spatial et temporel de SALOME en ajoutant la possibilité de définir dynamiquement la cardinalité des composants. Cela demande en particulier de gérer les communications de groupes ainsi induites. La proposition a été implémentée dans SALOME et validée via une application de décomposition de domaine à base de couplage de plusieurs instances de Code_Aster. Ensuite, nous avons étudié la pertinence d'utiliser un modèle de composant supportant des connecteurs natifs (MPI, mémoire partagée, appel de méthode) pour permettre une composition plus fine des interactions entre composants. Les résultats d'expériences montrent que des performances équivalentes aux versions natives sont obtenues tout en permettant de manipuler facilement l'architecture de l'application. Enfin, nous avons étudié les extensions nécessaires aux modèles à composants (abstraction,hiérarchie, dynamicité) pour la conception d’applications de raffinement de maillage adaptatif. Les modèles de composants spatio-temporels les plus avancés permettent ainsi d'exprimer ce type d'application mais les performances sont limitées par leur mise en œuvre centralisée ainsi que par le manque de moyens efficaces pour modifier à la volée des assemblages de composants. / Designing scientific applications based on code coupling is a complex task. It requires both an easy programming process and high-performance. In addition, execution resources (supercomputers, computer clusters, grids)  are heterogeneous and constantly evolving. Software components models offer a promising perspective to manage this double complexity because they can express interactions between the different parts of an application while providing abstraction of resources. However, existing models cannot accurately express the applications made of dynamic and hierarchical patterns. The aim of this thesis is to improve the existing models, and in particular the generic platform for numerical simulation SALOME, for a class of widespread applications : applications based on domain decomposition, and its dynamic variant using adaptive mesh refinement. Firstly, we proposed to extend the spatial and temporal composition model provided by SALOME, by adding the ability to dynamically set component cardinality. This requires in particular to manage group communications induced. The proposal has been implemented into SALOME and validated via a domain decomposition application based on coupling several instances of Code_Aster.Then, we have studied the relevance of using a component model supporting native connectors (MPI, shared memory, method invocation), in order to allow finer composition interactions between components.The experiment results show that performances obtained are equivalent to those of the native versions, while allowing to easily manipulate the application architecture. Finally, we studied the necessary component models extensions (abstraction, hierarchy, dynamicity) for designing adaptative mesh refinement applications. The most advanced spatio-temporal component models can express this type of application but performances are limited by their centralized implementation and by the lack of efficient ways of modifying component assembling at execution time.

Page generated in 0.0695 seconds