TerraME HPA (High Performance Architecture)



Documentos relacionados
SIGLA - Sistema Integrado de Gestão Legislativa e Administrativa

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM

(P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS: IMPLEMENTAÇÃO EM JAVA

JSensor: Uma plataforma paralela e distribuída para simulações de redes de sensores

DESENVOLVIMENTO DE FIRMWARE E SOFTWARE APLICATIVO DE CONTROLE PARA UMA MÁQUINA DE ENSAIOS GEOLÓGICOS

(P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS: IMPLEMENTAÇÃO EM JAVA

Construção de Wiki para a MISTOOL, uma Ferramenta de Aplicação do Método de Inspeção Semiótica

Framework de comunicação para Webservices 2P2

Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage

Protocolo de comunicação para redes móveis aplicado ao trânsito

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO

COLETA E MINERAÇÃO DE DADOS DE REDES SOCIAIS

Projeto de Sistemas I

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Proposta de uma Biblioteca Digital para Documentos Técnico-cientícos do Departamento de Computação da Universidade Federal de Ouro Preto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

ESTUDO DE CASO: IMPLEMENTAÇÃO DE UM SERVIÇO DE PARA O DEPARTAMENTO DE COMPUTAÇÃO

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

7.Conclusão e Trabalhos Futuros

Engenharia de Requisitos

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

Pós Graduação Engenharia de Software

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Processos de Desenvolvimento de Software

PROFESSOR: CRISTIANO MARIOTTI

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

UMA ANÁLISE COMPARATIVA ENTRE SERVIDORES PROXY DE ALTO DESEMPENHO.

SWAT - Sistema Web de Avaliação de Trabalhos

Framework de comunicação para Webservices 2P2

Centro de Trabalho Indigenista CTI

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Processo de Desenvolvimento de Software. Engenharia de Software.

UML - Unified Modeling Language

METODOLOGIA PARA ANÁLISE DE DESEMPENHO

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Desenvolvimento de uma Plataforma Gráfica para a Descrição de Modelos de Sistemas Ambientais

ADM041 / EPR806 Sistemas de Informação

Implementação de um módulo simulador de robôs baseado em Unity3D para o SimBot - Simulador de Robôs para Lego NXT.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Cálculo Aproximado do número PI utilizando Programação Paralela

O Processo de Desenvolvimento de Software

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Engenharia de Software

O modelo unificado de processo. O Rational Unified Process, RUP.

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

UNIVERSIDADE FEDERAL DE SANTA CATARINA

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Jonathan J. Campos, Jefferson de Faria, William de O. Sant Ana

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

Projeto de Arquitetura

Fundamentos em Teste de Software. Vinicius V. Pessoni

Introdução à Engenharia de Software

1

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

Introdução ao Modelos de Duas Camadas Cliente Servidor

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Mistool, uma Ferramenta para Aplicação Colaborativa do Método de Inspeção Semiótica

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

PRÓ-REITORIA DE EXTENSÃO, PESQUISA E INOVAÇÃO DIRETORIA DE PESQUISA E INOVAÇÃO Proposta de Projeto de Pesquisa

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Universidade de Santa Cruz do Sul Departamento de Informática

Universidade Federal de Pernambuco

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Análise e Projeto Orientados por Objetos

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

Material de Apoio. Sistema de Informação Gerencial (SIG)

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Técnicas de Caixa Preta de Teste de Software

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

MODELO DE GESTÃO DA INFORMAÇÃO COMO BASE DA AÇÃO COMERCIAL DE PEQUENAS EMPRESAS DE TI

Engenharia de Software I: Análise e Projeto de Software Usando UML

Arquitectura de Sistemas Paralelos e Distribuídos

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Projeto de inovação do processo de monitoramento de safra da Conab

Relatorio do trabalho pratico 2

PLANO DE CONTINGÊNCIA DE BANCO DE DADOS

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Transcrição:

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM TerraME HPA (High Performance Architecture) Aluno: Saulo Henrique Cabral Silva Matricula: 08.1.4137 Orientador: Joubert de Castro Lima Co-orientador: Tiago Garcia de Senna Carneiro Ouro Preto 16 de abril de 2011

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM TerraME HPA (High Performance Architecture) Proposta de monograa apresentada ao curso de Bacharelado em Ciência da Computação, Universidade Federal de Ouro Preto, como requisito parcial para a conclusão da disciplina Monograa I (BCC390). Aluno: Saulo Henrique Cabral Silva Matricula: 08.1.4137 Orientador: Joubert de Castro Lima Co-orientador: Tiago Garcia de Senna Carneiro Ouro Preto 16 de abril de 2011

Resumo Em 2008 foi concluído um projeto CNPq PIBIC que implementou uma arquitetura de alto desempenho para o ambiente de modelagem Terra Modeling Environment - TerraME. O TerraME é um arquitetura de software destinada ao desenvolvimento de modelos dinâmicos espacialmente explícitos, que vem sendo utilizada, por exemplo, para a modelagem e simulação de processos de mudança de uso e cobertura do solo (LUCC) para toda região amazônica, no âmbito do projeto GEOMA, e para o desenvolvimento de modelos epidemiológicos junto à FIOCRUZ [3], como são os casos do controle da Dengue nas cidades do Rio de Janeiro e Recife. A arquitetura implementada em 2008 não permite que os dados de um modelo possam ser distribuídos, impondo restrições a modelos que demandam uma quantidade de recursos computacionais em termos de capacidade de armazenamento em memória, velocidade de processamento matemático ou gráco, e velocidade de armazenamento e recuperação de dados em disco superior a capacidade do nó de processamento de um cluster de máquinas. Desta forma, este trtabalho visa a utilização da plataforma de distribuição Message Passing Interface (MPI) para o desenvolvimento da segunda versão distribuída para a arquitetura TerraME. Palavras-chave: MPI,TerraME,Modelos.

Sumário 1 Introdução 1 2 Justicativa 3 3 Objetivos 4 3.1 Objetivo geral................................ 4 3.2 Objetivos especícos............................ 4 4 Metodologia 5 5 Cronograma de atividades 6

Lista de Figuras 1 Ambiente de desenvolvimento e suporte a modelagem ambiental TerraME. 1 Lista de Tabelas 1 Cronograma de Atividades......................... 6

1 Introdução Os sistemas Terrestres hoje estão submetidos em profundas mudanças cada vez mais intensas que vêm alterando seu funcionamento. Essas alterações têm trago um forte impacto direto na integridade do meio ambiente e na qualidade de vida das pessoas. Diversos estudos apontam as ações humanas como à principal causa das alterações dos biomas. A intensicação das mudanças ambientais causadas por processos antrópicos, cujos impactos são quase sempre negativos ao ambiente, exige que pesquisadores, empresários, e governos forneçam respostas aos desaos cientícos e tecnológicos ligados ao entendimento do funcionamento dos sistemas terrestres, mas para isso eles precisam de ferramentas de modelagem que sejam conáveis e capazes de capturar a dinâmica e os resultados das dinâmicas das ações da sociedade humana. Modelos computacionais que reproduzem de uma forma satisfatória o fenômeno sob estudo contribuem para o ganho do conhecimento cientíco no que diz respeito ao seu funcionamento e este conhecimento cientíco no que diz respeito ao seu funcionamento, este conhecimento pode servir como uma base inicial para o planejamento e denição de políticas públicas através da sua otimização e obtenção de melhores resultados (chamadas políticas saudáveis). O framework TerraME é uma plataforma de domínio público para o desenvolvimento de modelos ambientais espacialmente explícitos integrados a um Sistema de Informação Geográca (SIG), desenvolvido pela parceria TerraLAB-UFOP (Universidade Federal de Ouro Preto) e INPE (Instituto Nacional de Pesquisas Espaciais). Esta plataforma fornece uma linguagem de modelagem de alto nível que é utilizada para a descrição dos modelos/algoritmos e sua posterior integração aos bancos de dados geográcos. Figura 1: Ambiente de desenvolvimento e suporte a modelagem ambiental TerraME. TerraME é um ambiente de desenvolvimento e suporte a modelagem ambiental espacial dinâmica que suporta modelos de computação baseados em autômatos celulares [5] e conceitos de autômatos celulares aninhados (Nested-CA) [1]. Um modelo espacial dinâmico é uma representação abstrata de um fenômeno que evolui no tempo e no espaço, baseado em descrições de entidades, processos e relações entre eles. Dessa forma, o TerraME está associado a um Sistema de Informação Geográca (SIG) que fornece a 1

localização espacial dos dados. Os resultados destes modelos são mapas que mostram a distribuição espacial de um padrão ou de uma variável contínua. TerraME permite simulação em duas dimensões de espaços celulares regulares e irregulares. Dentre os principais problemas entre as plataformas de simulação existentes hoje é, o tempo de execução do modelo e a quantidade de dados utilizada para a execução dos mesmos.com o aumento das mudanças ambientais esses problemas tendem a piorar ainda mais, para tentar reproduzir a dinâmica dos fenômenos naturais, os modelos agora devem considerar mais váriaveis, mais processos passam a interferir na dinâmica do fenômeno e mais dados são necessários. Com todas essas modicações os modelos passaram a car muito mais complexos, fazendo com que o espaço em disco utilizado seja muito grande e seu tempo de execução que ainda maior.para que o modelo seja executado em tempo hábil o modelador muitas das vezes tem que omitir alguns pontos do modelo que prejudicam a delidade do modelo ao tentar expressar a dinâmica do fenômeno. Com o aumento a demanda por plataformas de hardware e software que possam oferecer maior capacidade de processamento para a execução de aplicações associadas a problemas complexos do mundo real, a programação paralela e a abordagem distribuida [4] surgiram como técnicas que tem sido utilizadas para implementar tais aplicações nos casos em que um único processador requeira muito tempo para processá-las sequencialmente e em que o espaço de armazenamento seja insuciente. A proposta deste trabalho visa efetuar a paralelização do Kernel e utilizar a plataforma de distribuição Message Passing Interface (MPI) para o desenvolvimento de uma versão paralela e distribuída da arquitetura TerraME.Como resultado deste projeto, a plataforma TerraME ganhará robustez, pois poderá ser usado por modelos que demandam dados compartilhados ou distribuídos de forma transparente ao usuário nal. 2

2 Justicativa É clara e reconhecida a importância do desenvolvimento de modelos ambientais baseados no impacto que eles podem causar no cotidiano da sociedade. A simulação de processos ambientais ou a simulação das interações humano-ambiente são instrumentos de pesquisa de impacto e predição.mas processos de simulações de sistemas terrestres consomem uma enorme quantidade de recursos computacionais. Modelos ambientais devem ser avaliados em diversas escalas. Atualmente, os modelos ambientais de larga escalas desenvolvidos em TerraME demoram muito tempo para serem executados, mesmo utilizando a versão TerraME HPA proposta no projeto CNPq PI- BIC 2008. Este fato torna penosa a atividade de modelagem e, às vezes, a inviabiliza. As pesquisas nesse sentido levarão ao desenvolvimento de novas técnicas computacionais e de modelagem que poderão ajudar a minimizar o impacto de desastres naturais ou epidemiológicos. Além de contribuir para a elaboração de prognósticos mais precisos acerca do comportamento das interações entre o homem e o ambiente. Por m, o trabalho está em conformidade com os desaos traçados pela Sociedade Brasileira de Computação (SBC) 2006-2016 [2], sejam estes: (i) gestão da informação em grandes volumes de dados, (ii) modelagem computacional de sistemas complexos articiais, naturais e sócio-culturais e da interação homem-natureza. 3

3 Objetivos 3.1 Objetivo geral Este trabalho tem por objetivo o desenvolvimento e documentação de mais um núcleo distribuído para o TerraME, chamado TerraME HPA O novo núcleo construido deverá produzir os seguintes subprodutos: 1. Uma nova versão distribuída do núcleo TerraME sobre a plataforma de distribuição Message Passing Interface (MPI) na linguagem de programação C++ (Grama, 2003) (Marc, 1998); 2. Documento de Especicação que identica os principais requisitos a serem atendidos pela arquitetura TerraME HPA. 3. Documento de Desenvolvimento explicando as estruturas de dados, algoritmos, arquitetura de software e decisões de projeto envolvidas no desenvolvimento do TerraME HPA. 4. Guia de Programação descrevendo como sua Application Programming Interface (API) deve ser utilizada. 5. Tutoriais explicando sua instalação e utilização para o desenvolvimento de modelos dinâmicos espacialmente explícitos de larga escala. 6. Relatórios contendo análises de desempenho da utilização do TerraME HPA II na execução de modelos reais, entre eles, modelos que não podem ser ecientemente executados na atual vrsão de alto desempenho do TerraME. A principal meta deste projeto é reduzir, tanto quanto possível, o tempo de execução de modelos espaciais dinâmicos desenvolvidos através do uso do ambiente de modelagem TerraME. 3.2 Objetivos especícos Estender o núcleo do TerraME, permitindo que os dados de um modelo possam estar compartilhados ou distribuídos. Contribuir para a consolidação das linhas de pesquisa em Modelagem de Sistemas Terrestres, Banco de Dados e Computação de Alto Desempenho do Departamento de Computação da UFOP. 4

4 Metodologia Será utilizada a metodologia de desenvolvimento de software em espiral com prototipação de realize e versões. Assim, as etapas de concepção, projeto,implementação, teste e documentação serão executadas de forma cíclica, e cada ciclo uma nova versão documentada do aplicativo para planejamento de rotas será obtida. As seguintes etapas devem ser realizadas para o desenvolvimento. 1. Concepção de software: Nesta fase, são denidas as questões que a arquitetura TerraME HPA deve responder. Os trabalhos correlatos serão investigados. As informações disponíveis serão analisadas na esperança de que sejam identicados todos os requisitos de software da arquitetura.o documento de especicação será elaborado nesta etapa. 2. Projeto de software: Nesta etapa, serão projetados as estruturas de dados, os algoritmos, as interfaces com o usuário que permitirão ao modelador simular em tempo razoável modelos ambientais em larga escala. Nesta etapa, também será projetada a arquitetura de software do sistema TerraME HPA II. Os diagramas de classe, de sequência e de transição de estados, da metodologia UML serão utilizados para a documentação das decisões de projeto. O documento de projeto será elaborado nesta fase. 3. Implementação de software: Nesta etapa, cada módulo de software projeto na fase etapa anterior será implementado na linguagem de programação C++. O código fonte da arquitetura TerraME HPA II será documentado através do sistema de documentação DOXYGEN ou similar. 4. Teste de software:nesta etapa, cada módulo de software implementado na etapa anterior será avaliado quanto sua corretude e desempenho de forma separa. O uso integrados desses componentes será avaliado através sua aplicação para a simulações de modelos ambientais de larga escala e em múltiplas escalas. Os relatórios de desempenho da arquitetura deverão ser elaborados durante esta etapa. 5. Documentação de software: Nesta etapa, são escritos artigos e relatórios sobre os avanços cientícos e tecnológicos gerados pela pesquisa, o manual do usuário, o guia de programação, e os tutorias da arquitetura TerraME HPA II baseada em dados distribuídos. 5

5 Cronograma de atividades Na Tabela 1, Atividades a serem realizadas para a conclusão do trabalho. Primeira metade das Atividades Maç Abr Mai Jun Jul Revisão Bibliográca X Estudo aprofundado do ambiente X X Estudo aprofundado da Biblioteca X X Elaboração do projeto do sistema X X Implementação usando MPI X X Segunda metade das Atividades Ago Set Out Nov Dez Implementação usando MPI X X Implementar a interface do sistema X X Teste comparativo de rendimento X Teste do módulo X Teste integrado do sistema X X Elaboração da documentação do sistema X Elaboração do Manual do Usuário: X X Redigir a Monograa X X X Apresentação do Trabalho X Tabela 1: Cronograma de Atividades. 6

Referências [1] Tiago G.S. Carneiro. Nested-ca: a foundation for multiscale modeling of land use and land change. [2] A. P. L. Carvalho. Grandes desaos de pesquisa em ciã a ncia da computaãÿã o no brasil. march 2006. [3] Ministà c rio da Saà o de. Abordagens espaciais na saã o de pã o blica. 2006. [4] A. et al. Grama. Introduction to parallel computing. 2003. [5] S. Wolfram. New kind of science. 7