Spelling suggestions: "subject:"computação distribuídas"" "subject:"computação distribuídos""
1 |
Simulação computacional distribuída: aplicação a problemas de folding de heteropolímeros / Distributed computer simulation: Application on folding of heteropolymers problemsSilva, Pablo Andrei 17 January 2017 (has links)
Nesta dissertação apresentamos o desenvolvimento de ferramentas computacionais dedicadas a racionalizar processos que envolvem simulações Monte Carlo e análises de suas aplicações; são evocados conceitos pertinentes às principais áreas envolvidas (computação, tecnologia da informação, matemática e física). São introduzidas e discutidas técnicas de simulação computacional distribuída e o método Monte Carlo, com ênfase à aplicação em heteropolímeros. Exemplos ilustrativos de aplicação da ferramenta também são providos, mediante simulações e análise dos resultados de três tipos de cadeias heteropoliméricas em rede regular: cadeia polar (todos monômeros polares); cadeia hidrofóbica (todos monômeros apolares); cadeia com mescla de monômeros polares e apolares (modelo HP). O propósito motivador deste trabalho é o estudo do problema de folding de heteropolímeros, o que inclui proteínas. Contudo, a ferramenta em questão, poderá ser generalizada e aplicada a praticamente todos os tipos de polímeros lineares em rede, pois o usuário poderá definir e implementar o modelo de cadeia que desejar / We present the development of computational tools dedicated to streamlining processes involving Monte Carlo simulations and analysis of some applications. Relevant concepts to the main areas involved (computation, information technology, mathematics and physics) are evoked. We introduce and discuss techniques of distributed computer simulation and Monte Carlo method with emphasis on heteropolymers. Illustrative examples of the application of the tool are also provided through simulations and analysis of results from three types of polymeric chains: polar chain (all polar monomers); hydrophobic chain (all nonpolar monomers); and a chain with mixture of polar and nonpolar monomers (HP model). The motivating purpose of this work is the study of the folding problem of heteropolymers, which includes proteins. However, the tool in question, can be generalized and applied to virtually all types of linear polymers network, once users can define and implement the chain models they want
|
2 |
Uma infraestrutura para aplicações distribuídas baseadas em atores Scala / An infrastructure for distributed applications based on Scala actorsCoraini, Thiago Henrique 28 November 2011 (has links)
Escrever aplicações concorrentes é comumente tido como uma tarefa difícil e propensa a erros. Isso é particularmente verdade para aplicações escritas nas linguagens de uso mais disseminado, como C++ e Java, que oferecem um modelo de programação concorrente baseado em memória compartilhada e travas. Muitos consideram que o modo de se programar concorrentemente nessas linguagens é inadequado e dificulta a construção de sistemas livres de problemas como condições de corrida e deadlocks. Por conta disso e da popularização de processadores com múltiplos núcleos, nos últimos anos intensificou-se a busca por ferramentas mais adequadas para o desenvolvimento de aplicações concorrentes. Uma alternativa que vem ganhando atenção é o modelo de atores, proposto inicialmente na década de 1970 e voltado especificamente para a computação concorrente. Nesse modelo, cada ator é uma entidade isolada, que não compartilha memória com outros atores e se comunica com eles somente por meio de mensagens assíncronas. A implementação mais bem sucedida do modelo de atores é a oferecida por Erlang, a linguagem que (provavelmente) explorou esse modelo de forma mais eficiente. A linguagem Scala, surgida em 2003, roda na JVM e possui muitas semelhanças com Java. No entanto, no que diz respeito à programação concorrente, os criadores de Scala buscaram oferecer uma solução mais adequada. Assim, essa linguagem oferece uma biblioteca que implementa o modelo de atores e é fortemente inspirada nos atores de Erlang. O objetivo deste trabalho é explorar o uso do modelo de atores na linguagem Scala, especificamente no caso de aplicações distribuídas. Aproveitando o encapsulamento imposto pelos atores e a concorrência inerente ao modelo, propomos uma plataforma que gerencie a localização dos atores de modo totalmente transparente ao desenvolvedor e que tem o potencial de promover o desenvolvimento de aplicações eficientes e escaláveis. Nossa infraestrutura oferece dois serviços principais, ambos voltados ao gerenciamento da localização de atores: distribuição automática e migração. O primeiro deles permite que o programador escreva sua aplicação pensando apenas nos atores que devem ser instanciados e na comunicação entre esses atores, sem se preocupar com a localização de cada ator. É responsabilidade da infraestrutura definir onde cada ator será executado, usando algoritmos configuráveis. Já o mecanismo de migração permite que a execução de um ator seja suspensa e retomada em outro computador. A migração de atores possibilita que as aplicações se adaptem a mudanças no ambiente de execução. Nosso sistema foi construído tendo-se em mente possibilidades de extensão, em particular por algoritmos que usem o mecanismo de migração para melhorar o desempenho de uma aplicação. / Writing concurrent applications is generally seen as a dificult and error-prone task. This is particularly true for applications written in the most widely used languages, such as C++ and Java, which offer a concurrent programming model based upon shared memory and locks. Many claim that the way concurrent programming is done in these languages is inappropriate and makes it harder to build systems free from problems such as race conditions and deadlocks. For that reason, and also due to the popularization of multi-core processors, the pursuit for tools better suited to the development of concurrent applications has increased in recent years. An alternative that is gaining attention is the actor model, originally proposed in the 1970s and focused specifically in concurrent computing. In this model, each actor is an isolated entity, which does not share memory with other actors and communicates with them only by asynchronous message passing. The most successful implementation of the actor model is likely to be the one provided by Erlang, a language that supports actors in a very efficient way. The Scala language, which appeared in 2003, runs in the JVM and has many similarities with Java. Its creators, however, sought to provide a better solution for concurrent programming. So the language has a library that implements the actor model and is heavily inspired by Erlang actors. The goal of this work is to explore the usage of the actor model in Scala, speciffically for distributed applications. Taking advantage of the encapsulation imposed by actors and of the concurrency inherent to their model, we propose a platform that manages actor location in a way that is fully transparent to the developer. Our proposed platform has the potential of promoting the development of efficient and scalable applications. Our infrastructure offers two major services, both aimed at managing actor location: automatic distribution and migration. The first one allows the programmer to write his application thinking only about the actors that must be instantiated and about the communication among these actors, without being concerned with where each actor will be located. The infrastructure has the responsibility of defining where each actor will run. It accomplishes this task by using some configurable algorithm. The migration mechanism allows the execution of an actor to be suspended and resumed in another computer. Actor migration allows applications to adapt to changes in the execution environment. Our system has been built with extension possibilities in mind, and particularly to be extended by algorithms that use the migration mechanism to improve application performance.
|
3 |
Desenvolvimento e implementação de software para aplicação de grids computacionais em modelagem para inovação terapêuticaFerreira, Luiz Felipe Gomes Rebello 21 February 2013 (has links)
Submitted by Daniella Sodre (daniella.sodre@ufpe.br) on 2015-04-15T14:00:46Z
No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
GriDoMol_dissertacao_final_definitiva.pdf: 3189365 bytes, checksum: 4e40c0bceaf848cd426c93d77d325502 (MD5) / Made available in DSpace on 2015-04-15T14:00:46Z (GMT). No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
GriDoMol_dissertacao_final_definitiva.pdf: 3189365 bytes, checksum: 4e40c0bceaf848cd426c93d77d325502 (MD5)
Previous issue date: 2013-02-21 / FACEPE / A utilização de computadores no desenvolvimento de produtos ligados à inovação terapêutica tem tomado proporções significativas, particularmente na área de planejamento molecular baseado em métodos computacionais. Estima-se que o uso destas metodologias pode reduzir os custos e o tempo de desenvolvimento de um novo fármaco em até 50%. Isto ocorre porque muitas vezes o número de moléculas que precisam ser sintetizadas e testadas experimentalmente passa a ser drasticamente reduzido por conta da alta preditividade e confiabilidade dos métodos computacionais (in silico). O docking molecular determina se pode haver interação energética favorável entre duas moléculas (ligante e alvo biológico), no intuito de elucidar as razões moleculares responsáveis pela potência farmacológica destes fármacos em potencial. Ocorre que estes métodos podem apresentar, por vezes, uma alta demanda computacional quando o número de ligantes e alvos a serem testados é alto e quando se busca alta precisão nos resultados numéricos obtidos. Este trabalho apresenta a plataforma GriDoMol para execução de cálculos de docking molecular no ambiente distribuído através de um grid computacional. O programa GriDoMol pode ser usado tanto com o programa AutoDock quanto com o programa AutoDock Vina, para realizar os cálculos de docking. Através da interface intuitiva do GriDoMol é possível acompanhar o andamento com dados do conjunto de cálculos de docking e criar o arquivo Job Description File (JDF) contendo a lista de cálculos de docking que será realizado em paralelo no ambiente de grid computacional. Tanto no programa AutoDock quanto no AutoDock Vina, o tempo necessário para a realização de 500 cálculos de docking molecular foi reduzido em até 97% do tempo necessário quando comparado a não utilizar nenhuma estratégia de paralelização, ou de computação distribuída.
|
4 |
Uma infraestrutura para aplicações distribuídas baseadas em atores Scala / An infrastructure for distributed applications based on Scala actorsThiago Henrique Coraini 28 November 2011 (has links)
Escrever aplicações concorrentes é comumente tido como uma tarefa difícil e propensa a erros. Isso é particularmente verdade para aplicações escritas nas linguagens de uso mais disseminado, como C++ e Java, que oferecem um modelo de programação concorrente baseado em memória compartilhada e travas. Muitos consideram que o modo de se programar concorrentemente nessas linguagens é inadequado e dificulta a construção de sistemas livres de problemas como condições de corrida e deadlocks. Por conta disso e da popularização de processadores com múltiplos núcleos, nos últimos anos intensificou-se a busca por ferramentas mais adequadas para o desenvolvimento de aplicações concorrentes. Uma alternativa que vem ganhando atenção é o modelo de atores, proposto inicialmente na década de 1970 e voltado especificamente para a computação concorrente. Nesse modelo, cada ator é uma entidade isolada, que não compartilha memória com outros atores e se comunica com eles somente por meio de mensagens assíncronas. A implementação mais bem sucedida do modelo de atores é a oferecida por Erlang, a linguagem que (provavelmente) explorou esse modelo de forma mais eficiente. A linguagem Scala, surgida em 2003, roda na JVM e possui muitas semelhanças com Java. No entanto, no que diz respeito à programação concorrente, os criadores de Scala buscaram oferecer uma solução mais adequada. Assim, essa linguagem oferece uma biblioteca que implementa o modelo de atores e é fortemente inspirada nos atores de Erlang. O objetivo deste trabalho é explorar o uso do modelo de atores na linguagem Scala, especificamente no caso de aplicações distribuídas. Aproveitando o encapsulamento imposto pelos atores e a concorrência inerente ao modelo, propomos uma plataforma que gerencie a localização dos atores de modo totalmente transparente ao desenvolvedor e que tem o potencial de promover o desenvolvimento de aplicações eficientes e escaláveis. Nossa infraestrutura oferece dois serviços principais, ambos voltados ao gerenciamento da localização de atores: distribuição automática e migração. O primeiro deles permite que o programador escreva sua aplicação pensando apenas nos atores que devem ser instanciados e na comunicação entre esses atores, sem se preocupar com a localização de cada ator. É responsabilidade da infraestrutura definir onde cada ator será executado, usando algoritmos configuráveis. Já o mecanismo de migração permite que a execução de um ator seja suspensa e retomada em outro computador. A migração de atores possibilita que as aplicações se adaptem a mudanças no ambiente de execução. Nosso sistema foi construído tendo-se em mente possibilidades de extensão, em particular por algoritmos que usem o mecanismo de migração para melhorar o desempenho de uma aplicação. / Writing concurrent applications is generally seen as a dificult and error-prone task. This is particularly true for applications written in the most widely used languages, such as C++ and Java, which offer a concurrent programming model based upon shared memory and locks. Many claim that the way concurrent programming is done in these languages is inappropriate and makes it harder to build systems free from problems such as race conditions and deadlocks. For that reason, and also due to the popularization of multi-core processors, the pursuit for tools better suited to the development of concurrent applications has increased in recent years. An alternative that is gaining attention is the actor model, originally proposed in the 1970s and focused specifically in concurrent computing. In this model, each actor is an isolated entity, which does not share memory with other actors and communicates with them only by asynchronous message passing. The most successful implementation of the actor model is likely to be the one provided by Erlang, a language that supports actors in a very efficient way. The Scala language, which appeared in 2003, runs in the JVM and has many similarities with Java. Its creators, however, sought to provide a better solution for concurrent programming. So the language has a library that implements the actor model and is heavily inspired by Erlang actors. The goal of this work is to explore the usage of the actor model in Scala, speciffically for distributed applications. Taking advantage of the encapsulation imposed by actors and of the concurrency inherent to their model, we propose a platform that manages actor location in a way that is fully transparent to the developer. Our proposed platform has the potential of promoting the development of efficient and scalable applications. Our infrastructure offers two major services, both aimed at managing actor location: automatic distribution and migration. The first one allows the programmer to write his application thinking only about the actors that must be instantiated and about the communication among these actors, without being concerned with where each actor will be located. The infrastructure has the responsibility of defining where each actor will run. It accomplishes this task by using some configurable algorithm. The migration mechanism allows the execution of an actor to be suspended and resumed in another computer. Actor migration allows applications to adapt to changes in the execution environment. Our system has been built with extension possibilities in mind, and particularly to be extended by algorithms that use the migration mechanism to improve application performance.
|
5 |
Um ambiente para o desenvolvimento de aplicações de realidade virtual baseadas em aglomerados gráficos. / An environment for the development of virtual reality applications based on graphic clusters.Guimarães, Marcelo de Paiva 15 December 2004 (has links)
A busca por ambientes de alto desempenho e com baixo custo vem impulsionando as pesquisas relacionadas com aglomerados de computadores. Aliado a este fato está o aumento da necessidade e interesse pelas aplicações de Realidade Virtual. Isso motiva a pesquisa e o desenvolvimento de aglomerados de computadores, bibliotecas de desenvolvimento e de estratégias de desenvolvimento de aplicações de Realidade Virtual. Este trabalho apresenta um ambiente para o desenvolvimento de aplicações de Realidade Virtual baseadas em aglomerados gráficos, que são aglomerados de computadores específicos para a Realidade Virtual. O ambiente desenvolvido é voltado principalmente para a construção de aplicações de multiprojeção, como as executadas em CAVERNAs Digitais. Para testar o ambiente criado, foram desenvolvidas diversas aplicações. Além disso, são mostradas as pesquisas que estão sendo realizadas na área; uma revisão dos problemas relacionados ao uso de aglomerados gráficos; a Glass, que é a biblioteca desenvolvida neste projeto; e estratégias para o desenvolvimento das aplicações. / The search for high performance and low cost environments has stimulated the field of computer clusters. Allied to this fact is the increasing interest and the need for Virtual Reality applications. Together, they motivate the research and the development of computer clusters, libraries and of strategies for the development of Virtual Reality applications. This thesis presents an environment for the development of Virtual Reality applications, based on graphic clusters, which are computer clusters tailored for Virtual Reality. This environment was targeted at multi-projection applications, such as those executed in CAVEs (CAVE Automatic Virtual Environment). Several multi-projection applications were developed to test it. Moreover, this thesis presents an overview of the current state of the research in the area; a study of the problems related with the use of graphic clusters; Glass, a software library developed in this project; and strategies for the development of those applications.
|
6 |
Um ambiente para o desenvolvimento de aplicações de realidade virtual baseadas em aglomerados gráficos. / An environment for the development of virtual reality applications based on graphic clusters.Marcelo de Paiva Guimarães 15 December 2004 (has links)
A busca por ambientes de alto desempenho e com baixo custo vem impulsionando as pesquisas relacionadas com aglomerados de computadores. Aliado a este fato está o aumento da necessidade e interesse pelas aplicações de Realidade Virtual. Isso motiva a pesquisa e o desenvolvimento de aglomerados de computadores, bibliotecas de desenvolvimento e de estratégias de desenvolvimento de aplicações de Realidade Virtual. Este trabalho apresenta um ambiente para o desenvolvimento de aplicações de Realidade Virtual baseadas em aglomerados gráficos, que são aglomerados de computadores específicos para a Realidade Virtual. O ambiente desenvolvido é voltado principalmente para a construção de aplicações de multiprojeção, como as executadas em CAVERNAs Digitais. Para testar o ambiente criado, foram desenvolvidas diversas aplicações. Além disso, são mostradas as pesquisas que estão sendo realizadas na área; uma revisão dos problemas relacionados ao uso de aglomerados gráficos; a Glass, que é a biblioteca desenvolvida neste projeto; e estratégias para o desenvolvimento das aplicações. / The search for high performance and low cost environments has stimulated the field of computer clusters. Allied to this fact is the increasing interest and the need for Virtual Reality applications. Together, they motivate the research and the development of computer clusters, libraries and of strategies for the development of Virtual Reality applications. This thesis presents an environment for the development of Virtual Reality applications, based on graphic clusters, which are computer clusters tailored for Virtual Reality. This environment was targeted at multi-projection applications, such as those executed in CAVEs (CAVE Automatic Virtual Environment). Several multi-projection applications were developed to test it. Moreover, this thesis presents an overview of the current state of the research in the area; a study of the problems related with the use of graphic clusters; Glass, a software library developed in this project; and strategies for the development of those applications.
|
7 |
Metodologia e ferramentas para paralelização de laços perfeitamente aninhados com processamento heterogêneo. / Methodology and tools for parallelization of nested perfectly loops with heterogeneous processing.Luz, Cleber Silva Ferreira da 01 February 2018 (has links)
Aplicações podem apresentar laços perfeitamente aninhados que demandam um alto poder de processamento. Diversas aplicações científicas contêm laços aninhados em suas estruturas. Tais laços podem processar computações heterogêneas. Uma solução para reduzir o tempo de execução desta classe de aplicações é a paralelização destes laços. A heterogeneidade dos tempos de execução de computações presentes nas iterações de laços perfeitamente aninhados demanda uma paralelização adequada visando uma distribuição de carga homogênea entre os recursos computacionais para reduzir a ociosidade de tais recursos. Esta heterogeneidade implica em um número ideal de recursos computacionais a partir do qual, o seu aumento não impactaria no ganho de desempenho, uma vez que, o tempo mínimo possível é o tempo de execução da tarefa que consome o maior tempo de processamento. Neste trabalho é proposta uma metodologia e ferramentas para paralelização de laços perfeitamente aninhados sem dependência de dados e com processamento heterogêneo em sistemas paralelos e distribuídos. A implementação da metodologia proposta em aplicações melhora o desempenho da execução e reduz a ociosidade dos recursos de processamento. Na metodologia proposta, alguns procedimentos são apoiados por ferramentas desenvolvidas para auxiliá-los. O sistema de processamento poderá ser: um computador Multicore, um Cluster real ou virtual alocado na nuvem. Resultados experimentais são apresentados neste trabalho. Tais resultados mostram a viabilidade e eficiência da metodologia proposta. / Applications may have nested perfectly loops that require a high processing power. Various scientific applications contain nested loops in their structures. Such loops can process heterogeneous computations. A solution to reduce the execution time of this class of applications is the parallelization of these loops. The heterogeneity of the execution times of computations present in the iterations of nested perfectly loops demands an adequate parallelization aiming at a homogeneous load distribution among the computational resources to reduce the idleness of such resources. This heterogeneity implies an ideal number of computational resources which, its increase would not impact the performance gain, since the minimum possible time is the execution time of the task that consumes the longest processing time. In this work is proposed a methodology and tools for parallelization of loops perfectly nested with heterogeneous processing in parallel and distributed systems. The implementation of proposed methodology in application improves execution performance and reduce idles of the processing resources. In the methodology proposed, some procedures are supported by tools developed to assist them. The processing system can be: a computer multicore, a cluster real or virtual allocated in cloud. Experimental results are presented in this work. These results show the feasibility and efficiency of the proposed methodology.
|
8 |
Otimização de operações de entrada e saída visando reduzir o tempo de resposta de aplicações distribuídas que manipulam grandes volumes de dados / Optimization input output operations aiming at reduce execution time of distributed applications which handle large amount of dataIshii, Renato Porfirio 01 September 2010 (has links)
Aplicações científicas atuais têm produzido volumes de dados cada vez maiores. O processamento, a manipulação e a análise desses dados requerem infraestruturas computacionais de larga escala tais como aglomerados e grades de computadores. Nesse contexto, várias pesquisas visam o aumento de desempenho dessas aplicações por meio da otimização de acesso a dados. Para alcançar tal objetivo, pesquisadores têm utilizado técnicas de replicação, migração, distribuição e paralelismo de dados. No entanto, uma das principais lacunas dessas pesquisas está na falta de emprego de conhecimento sobre aplicações com objetivo de realizar essa otimização. Essa lacuna motivou esta tese que visa empregar comportamento histórico e preditivo de aplicações a fim de otimizar suas operações de leitura e escrita sobre dados distribuídos. Os estudos foram iniciados empregando-se informações previamente monitoradas de aplicações a fim de tomar decisões relativas à replicação, migração e manutenção de consistência. Observou-se, por meio de uma nova heurística, que um conjunto histórico de eventos auxilia a estimar o comportamento futuro de uma aplicação e otimizar seus acessos. Essa primeira abordagem requer ao menos uma execução prévia da aplicação para composição de histórico. Esse requisito pode limitar aplicações reais que apresentam mudanças comportamentais ou que necessitam de longos períodos de execução para completar seu processamento. Para superar essa limitação, uma segunda abordagem foi proposta baseada na predição on-line de eventos comportamentais de aplicações. Essa abordagem não requer a execução prévia da aplicação e permite adaptar estimativas de comportamento futuro em função de alterações adjacentes. A abordagem preditiva analisa propriedades de séries temporais com objetivo de classificar seus processos geradores. Essa classificação aponta modelos que melhor se ajustam ao comportamento das aplicações e que, portanto, permitem predições com maior acurácia. As duas abordagens propostas foram implementadas e avaliadas utilizando o simulador OptorSim, vinculado ao projeto LHC/CERN, amplamente adotado pela comunidade científica. Experimentos constataram que as duas abordagens propostas reduzem o tempo de resposta (ou execução) de aplicações que manipulam grandes volumes de dados distribuídos em aproximadamente 50% / Current scientific applications produce large amount of data and handling, processing and analyzing such data require large-scale computing infrastructure such as clusters and grids. In this context, various studies have focused at improving the performance of these applications by optimizing data access. In order to achieve this goal, researchers have employed techniques of replication, migration, distribution and parallelism of data. However, these common approaches do not use knowledge about the applications at hand to perform this optimization. This gap motivated the present thesis, which aims at applying historical and predictive behavior of applications to optimize their reading and writing operations on distributed data. Based on information previously monitored from applications to make decisions regarding replication, migration and consistency of data, a new heuristic was initially proposed. Its evaluation revealed that considering sets of historical events indeed helps to estimate the behavior of future applications and to optimize their access operations. Thus it was embedded into two optimization approaches. The first one requires at least a previous execution for the history composition. This requirement may limit real world applications which present behavioral changes or take very long time to execute. In order to overcome this issue, a second technique was proposed. It performs on-line predictions about the behavior of the applications, mitigating the need of any prior execution. Additionally, this approach considers the future behavior of an application as a function of its underlying changes. This behavior can be modeled as time series. The method works by analyzing the series properties in order to classify their generating processes. This classification indicates models that best fit the applications behavior, allowing more accurate predictions. Experiments using the OptorSim simulator (LHC/CERN project) confirmed that the proposed approaches are able to reduce the response time of applications that handle large amount of distributed data in approximately 50%
|
9 |
VirD-GM: Uma Contribuição Para o Modelo de Distribuição e Paralelismo do Projeto D-GM / VIRD-GM: A CONTRIBUTION TO THE MODEL OF DISTRIBUTION AND PARALLELISM OF DE PROJECT D-GMFonseca, Vanessa Souza da 07 August 2008 (has links)
Made available in DSpace on 2016-03-22T17:26:09Z (GMT). No. of bitstreams: 1
Vanessa_Souza_da_Fonseca.pdf: 1687661 bytes, checksum: 6dbf2a6dc47f997aa3e8aa0c8f37aced (MD5)
Previous issue date: 2008-08-07 / This research describes the main contributions of the VirD-GM (Virtual Distributed
Geometric Machine Model) for the model of parallelism and distribution of the
Project D-GM (Distributed Geometric Machine Project). In order to provide the abstractions
of the GM model (Geometric Machine) on a platform to support the implementation
distributed and / or parallel computations, the middleware EXEHDA (Execution Environment
for High Distributed Applications) is considered as the execution environment.
The work enabled to create and manage an environment of parallel and directed programming,
and promote the implementation, in this environment, of applications developed in
the visual environment VPE-GM (Visual Programming Environment for the Geometric
Machine Model). These applications are, by nature, parallel and restricted to the study
of parallel algorithms for Scientific Computation. The work focuses on the design and
construction of the software architecture of the VirD-GM, which is responsible for managing
parallel computations obtained by the application of process constructors defined
by the GM model. In this context, this research does not only disposes the construction
of the structural vision of the project D-GM but also consolidates its integration with the
functional vision. It is characterized by an extension of the visual environment VPEGM,
which is responsible for the environment development and code generation for the
Project D-GM. Among the main contributions, one may consider: (i) formalization of
the concepts of concurrency and conflict intermittent with the notions of communication
and synchronization of processes, directly related to the space-time structure of the GM
model; (ii) modeling and implementation of the loading, management and control structures
of the VirD-GM; (iii) implementation and customization of services provided by
the EXEHDA; (iv) construction of the levels of applications, support of execution environment
and basic systems; (v) data flow control and manipulation of adjacency matrix
related to concurrent computations, including the implementation of barriers of synchronization.
The prototyping of VirD-GM and avaliaton achieved through the development
of test applications have implemented the viability of theoretical-practical approach proposed
in Project D-GM / Este trabalho descreve as principais contribuic¸ oes da VirD-GM (Virtual Distributed
Geometric Machine Model) para o modelo de distribuic¸ ao e paralelismo do Projeto
D-GM (Distributed Geometric Machine Project). Para disponibilizar as abstrac¸ oes
do modelo GM (Geometric Machine) em uma plataforma com suporte `a execuc¸ ao distribu
´ıda e/ou concorrente, considera-se o middleware EXEHDA ( Execution Environment
for High Distributed Applications) como ambiente de suporte `a execuc¸ ao. O trabalho
possibilitou criar e gerenciar um ambiente de programac¸ ao paralela e distribu´ıda, bem
como promover a execuc¸ ao, sob este ambiente, das aplicac¸ oes desenvolvidas no ambiente
visual VPE-GM (Visual Programming Environment for the Geometric Machine
Model). Estas aplicac¸ oes s ao, por natureza, paralelas e direcionadas ao estudo de algoritmos
paralelos para a Computac¸ ao Cient´ıfica. O trabalho est´a centrado na concepc¸ ao e
construc¸ ao da arquitetura de software da VirD-GM, respons´avel pelo gerenciamento das
computac¸ oes paralelas obtidas pela aplicac¸ ao de construtores de processos definidos no
modelo GM. Neste contexto, esta dissertac¸ ao n ao s´o viabilizou construc¸ ao da vis ao estrutural
do projeto D-GM como tamb´em consolidou sua integrac¸ ao com a vis ao funcional,
caracterizada pela extens ao do ambiente VPE-GM, respons´avel pelo ambiente de desenvolvimento
e gerac¸ ao de c´odigo para o Projeto D-GM. Dentre as principais contribuic¸ oes,
destacam-se: (i) formalizac¸ ao das noc¸ oes de concorr encia e conflito intermitentes com
as noc¸ oes de comunicac¸ ao e sincronizac¸ ao de processos, diretamente relacionadas com a
estrutura espac¸o-temporal do modelo GM; (ii) definic¸ ao compreendendo a modelagem e
implementac¸ ao dos m´odulos de carregamento, gerenciamento e controle da VirD-GM;
(iii) estudo, aplicac¸ ao e customizac¸ ao dos servic¸os disponibilizados pelo middleware
EXEHDA; (iv) implementac¸ ao das camadas de aplicac¸ ao, de suporte ao ambiente de
execuc¸ ao e de sistemas b´asicos; (v) controle do fluxo de dados e manipulac¸ ao das depend
encias entre as computac¸ oes concorrentes pelo uso de matrizes de adjac encias, incluindo
a implementac¸ ao de barreiras de sincronizac¸ ao, garantindo a correta execuc¸ ao.
A prototipac¸ ao da VirD-GM e a avaliac¸ ao obtida com o desenvolvimento de aplicac¸ oes
de teste demonstraram a viabilidade da abordagem te´orica-pr´atica proposta no Projeto
D-GM
|
10 |
Metodologia e ferramentas para paralelização de laços perfeitamente aninhados com processamento heterogêneo. / Methodology and tools for parallelization of nested perfectly loops with heterogeneous processing.Cleber Silva Ferreira da Luz 01 February 2018 (has links)
Aplicações podem apresentar laços perfeitamente aninhados que demandam um alto poder de processamento. Diversas aplicações científicas contêm laços aninhados em suas estruturas. Tais laços podem processar computações heterogêneas. Uma solução para reduzir o tempo de execução desta classe de aplicações é a paralelização destes laços. A heterogeneidade dos tempos de execução de computações presentes nas iterações de laços perfeitamente aninhados demanda uma paralelização adequada visando uma distribuição de carga homogênea entre os recursos computacionais para reduzir a ociosidade de tais recursos. Esta heterogeneidade implica em um número ideal de recursos computacionais a partir do qual, o seu aumento não impactaria no ganho de desempenho, uma vez que, o tempo mínimo possível é o tempo de execução da tarefa que consome o maior tempo de processamento. Neste trabalho é proposta uma metodologia e ferramentas para paralelização de laços perfeitamente aninhados sem dependência de dados e com processamento heterogêneo em sistemas paralelos e distribuídos. A implementação da metodologia proposta em aplicações melhora o desempenho da execução e reduz a ociosidade dos recursos de processamento. Na metodologia proposta, alguns procedimentos são apoiados por ferramentas desenvolvidas para auxiliá-los. O sistema de processamento poderá ser: um computador Multicore, um Cluster real ou virtual alocado na nuvem. Resultados experimentais são apresentados neste trabalho. Tais resultados mostram a viabilidade e eficiência da metodologia proposta. / Applications may have nested perfectly loops that require a high processing power. Various scientific applications contain nested loops in their structures. Such loops can process heterogeneous computations. A solution to reduce the execution time of this class of applications is the parallelization of these loops. The heterogeneity of the execution times of computations present in the iterations of nested perfectly loops demands an adequate parallelization aiming at a homogeneous load distribution among the computational resources to reduce the idleness of such resources. This heterogeneity implies an ideal number of computational resources which, its increase would not impact the performance gain, since the minimum possible time is the execution time of the task that consumes the longest processing time. In this work is proposed a methodology and tools for parallelization of loops perfectly nested with heterogeneous processing in parallel and distributed systems. The implementation of proposed methodology in application improves execution performance and reduce idles of the processing resources. In the methodology proposed, some procedures are supported by tools developed to assist them. The processing system can be: a computer multicore, a cluster real or virtual allocated in cloud. Experimental results are presented in this work. These results show the feasibility and efficiency of the proposed methodology.
|
Page generated in 0.1 seconds