Please use this identifier to cite or link to this item: http://www.repositorio.ufc.br/handle/riufc/18450
Title in Portuguese: Infra-estrutura de componentes paralelos para aplicações de computação de alto desempenho
Title: Infrastructure of parallel components for applications of computation of high performance
Author: Silva, Jefferson de Carvalho
Advisor(s): Carvalho Junior, Francisco Heron de
Keywords: Ciência da computação
Arcabouços
Componentes
Paralelismo
Skeleton
Components
Issue Date: 2008
Citation: SILVA, Jefferson de Carvalho. Infra-estrutura de componentes paralelos para aplicações de computação de alto desempenho. 2008. 116 f. Dissertação (Mestrado em ciência da computação) - Universidade Federal do Ceará, Fortaleza-CE, 2008.
Abstract in Portuguese: A construção de novas aplicações voltadas à Computação de Alto Desempenho (CAD) têm exigido ferramentas que conciliem um alto poder de abstração e integração de software. Dentre as soluções apresentadas pela comunidade científica estamos particularmente interessados naquelas baseadas em tecnologia de componentes. Os componentes têm sido usados para abordar novos requisitos de aplicações de alto desempenho, entre as quais destacamos: interoperabilidade, reusabilidade, manutenibilidade e produtividade. As abordagens das aplicações atuais baseadas em tecnologia de componentes, no entanto, não conseguem abstrair formas mais gerais de paralelismo de maneira eficiente, tornando ainda o processo de desenvolvimento difícil, principalmente se o usuário for leigo no conhecimento das peculiaridades de arquiteturas de computação paralela. Um tempo precioso, o qual deveria ser utilizado para a solução do problema, é perdido na implementação eficiente do código de paralelização. Diante desse contexto, esta dissertação apresenta o HPE (Hash Programming Environment), uma solução baseada no modelo # de componentes paralelos e na arquitetura Hash. O HPE define um conjunto de espécies de componentes responsáveis pela construção, implantação e execução de programas paralelos sobre clusters de multiprocessadores. A arquitetura Hash é constituída de três módulos distintos: o Front-End, o Back-End e o Core. A contribuição principal deste trabalho reside na implementação de um Back-End, como uma plataforma de componentes paralelos que estende o Mono, plataforma de componentes de código aberto baseado no padrão CLI (Common Language Interface). Feito isso, unimos o back-End às implementações já existentes do Front-End e do Core, ambos em java e sobre a plataforma de desenvolvimento Eclipse, através de serviços web (web service). Ao final, apresentaremos um pequeno teste de conceito, construído por um programa paralelo construído a partir de componentes #, segundo as premissas e conceitos apresentados neste trabalho.
Abstract: The development of new High Performance Computing (HPC) application has demanded a set of tools for reconciling high level of a abstraction with software integration. In particular, we are interested in component-based solutions presented by the scientific community in the last years. Components have been applied to meet new requirements of high performance application such as: interoperability, reusability, maintainability and productivity. Recent approaches for component based development time in HPC context, however, have not reconciled more expressive ways for parallel programming and efficiency. Unfortunately, this issue increases the software development time and gets worse when user have poor knowledge of architectural details of parallel computers and of requirements of applications. Precious time is lost optimizing parallel code, probably with non-portable results, instead of being applied to the solutions of the problem. This dissertation presents the Hash Programming Environment (HPE), a solution based on the # (reads "Hash") Component Model and on the Hash Framework Architecture. HPE defines a set of component kinds for building, deploying and executing parallel programs targeted at clusters of multiprocessors. The Hash Framework Architecture has three loosely coupled modules: the Front-End, the Back-End and the Core. The main contribution of this work is the implementation of the Back-End and the Core. The main contribution of this work is the implementation of the Back-End, since we have an early version of the Front-End and Core, both developed in Java on top of the Eclipse Platform. The Back-End was implemented as a parallel extension of a Mono, an open source component platform based on CLI (Common Language Interface) standard. Once independently done, we bound all the modules together, using web services technology. For evaluating the proposed Back-End, we have developed a small conceptual test application, composed by # components.
URI: http://www.repositorio.ufc.br/handle/riufc/18450
metadata.dc.type: Dissertação
Appears in Collections:DCOMP - Dissertações defendidas na UFC

Files in This Item:
File Description SizeFormat 
2008_dis_jcsilva.pdf2,13 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.