Uma Abordagem de Classificação de Imagens de Satélites em uma Configuração de Grid Computacional



Documentos relacionados
SISTEMAS DISTRIBUÍDOS

O que é Grid Computing

Sistemas Operacionais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

1

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Um Driver NDIS Para Interceptação de Datagramas IP

Arquitetura dos Sistemas de Informação Distribuídos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Tipos de Sistemas Distribuídos (Cluster e Grid)

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Conceitos de Banco de Dados

REDES DE COMPUTADORES

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Distribuídos

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Aula 01 Introdução ao Gerenciamento de Redes

Virtualização de Sistemas Operacionais

4 Um Exemplo de Implementação

SISTEMAS OPERACIONAIS

Supercomputadores dominavam o mercado

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Sistemas de Informação I

Profs. Deja e Andrei

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC GOVERNO FEDERAL SOFTWARE PÚBLICO

} 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

IW10. Rev.: 02. Especificações Técnicas

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

1 INTRODUÇÃO. 1.1 Motivação e Justificativa

Administração de Sistemas de Informação Gerenciais

Sistemas Distribuídos

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

SISTEMAS OPERACIONAIS

Noções de. Microsoft SQL Server. Microsoft SQL Server

4 Estrutura do Sistema Operacional Kernel

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Aula 03-04: Modelos de Sistemas Distribuídos

SISTEMAS OPERACIONAIS

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

ENGENHARIA DE SOFTWARE I

SISTEMA DE MONITORAMENTO DE CONDIÇÕES CLIMÁTICAS

REDES DE COMPUTADORES

Processos Técnicos - Aulas 4 e 5

Dell Infrastructure Consulting Services

Uso do Netkit no Ensino de Roteamento Estático

Segurança Internet. Fernando Albuquerque. (061)

3 Trabalhos Relacionados

Organização e Arquitetura de Computadores I. de Computadores

UNIVERSIDADE FEDERAL DO CEARÁ PRÓ-REITORIA DE GRADUAÇÃO CAMPUS DE SOBRAL

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Figura 1 Taxas de transmissão entre as redes

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

Engenharia de Sistemas Computacionais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

GT Computação Colaborativa (P2P)

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Introdução aos Computadores

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

Evolução na Comunicação de

Proposta de Avaliação de Empresas para o uso do SAAS

PEER DATA MANAGEMENT SYSTEM

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

Solitaire Interglobal

Rede Corporativa. Tutorial 10 mar 2009 Fabio Montoro. Introdução

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Aula 03 Redes Industriais. Informática Industrial II ENG1023 Profª. Letícia Chaves

ESTUDO DE CASO WINDOWS VISTA

Sistemas Operacionais Introdução. Professora: Michelle Nery

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

7.Conclusão e Trabalhos Futuros

Everson Scherrer Borges João Paulo de Brito Gonçalves

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

SISTEMAS OPERACIONAIS 2007

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat:

esip- Sistema Integrado de Processo

*HUPRQGR±0DQXDOGR8VXiULR

AULA 5 Sistemas Operacionais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

Um Modelo de Virtualização em Grades Computacionais para Inserção de Recursos Ociosos

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Sistemas Operacionais


UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Transcrição:

Uma Abordagem de Classificação de Imagens de Satélites em uma Configuração de Grid Computacional Henrique Silva 1, MAR Dantas 2 1 Departamento de Ciência da Computação Universidade de Brasília (UNB) Caixa Postal 4466 70.919-970 Brasília DF Brasil 2 Departamento de Informática e Estatística Universidade Federal de Santa Catarina (UFSC) Caixa Postal 476 88.040-900 Florianópolis SC Brasil henrique@cic.unb.br, mario@inf.ufsc.br Abstract. In this article we present an approach for classification of satellite images in a Grid Computing environment. In our research we used the Globus environment with MPICH-G2. This environment was our experimental configuration of Grid Computing, where the Euclidian Distance image classification algorithm was implemented. Our results show advantages in the use of the environment, in relation to other applications available today, for the classification of images of satellites. Resumo. Neste artigo é apresentada uma proposta para classificação de imagens de satélites, em um ambiente de Grid Computacional. Em nossa pesquisa utilizamos o ambiente Globus com o MPICH-G2, como uma configuração experimental de Grid computacional, onde foi implementado o algoritmo de classificação de imagens por Distância Mínima (Euclidiana). Nossos resultados indicam vantagens na utilização desse ambiente, em relação a outros aplicativos atualmente disponíveis, para a classificação de imagens de satélites. 1. Introdução O crescimento do desempenho das redes de computadores tem possibilitado a ampliação da capacidade computacional e de armazenamento de inúmeros ambiente computacionais. O paradigma conhecido como Grid Computacional tem evoluído no sentido do possibilitar um melhor compartilhamento e uso coordenado de recursos geograficamente distribuídos. Esse aumento na capacidade de processamento dos dispositivos computacionais despertou a idéia de acabar com o desperdiço (tempo e processamento) computacional. Grid computacional tem por objetivo acoplar recursos distribuídos, oferecendo acesso consistente e de baixo custo a esses recursos, independente da sua localização física, provendo acesso remoto, seguro e escalável a computação, dados, e outros recursos computacionais, que podem ser utilizados como um recurso unificado. A possibilidade de redução de custos e tempo, aumento de produtividade, compartilhamento de recursos e informações, gera um maior poder computacional, o que viabiliza a execução, com uma performance diferenciada, de uma série de aplicações. O processamento digital de imagens é um exemplo. Neste tipo de processamento, a manipulação com maior detalhe de uma imagem depende diretamente do desempenho computacional. A área de processamento digital de imagens tem atraído grande interesse nas últimas duas décadas. A evolução da tecnologia de computação digital, bem como o desenvolvimento de novos algoritmos para lidar com sinais multidimensionais está permitindo o desenvolvimento de uma gama de aplicações cada vez maior.

A classificação de imagens é o processo de extração de informação em imagens para reconhecer padrões e objetos homogêneos. Seu objetivo é obter informações suficientes para distinguir entre diferentes regiões de interesse. O objetivo principal deste artigo é apresentar uma abordagem de classificação de imagens de satélite, utilizando uma configuração de Grid Computacional. Nossa pesquisa visa apresentar novas soluções para problemas envolvendo a classificação de imagens, num ambiente aberto, sob o paradigma da computação distribuída paralela. O artigo é organizado como segue. Na seção 2, apresentamos a fundamentação sobre classificação de imagens de satélite, incluindo suas características, métodos e algoritmos de classificação. Na seção 3, mostramos nossa investigação sobre Grid computacional, destacando características, aplicações, arquiteturas e ambientes. A classificação de imagens no ambiente do Grid, considerando as características abordadas nas seções anteriores, é apresentado na seção 4. Na seção 5, destacamos o ambiente experimental e os resultados obtidos. Finaliza o artigo na seção 6 com as conclusões obtidas e as perspectivas para trabalhos futuros. 2. Classificação de Imagens A análise e interpretação de imagens de satélites abrangem inúmeras tarefas. Uma dessas principais tarefas é a classificação de imagens, ou seja, reconhecimento e separação em classes das feições nela presentes. Esse é um processo feito principalmente com a utilização de recursos computacionais e seu objetivo é obter informações suficientes para distinguir entre diferentes regiões de interesse. O processo de classificação digital transforma um grande número de níveis de cinza, em cada banda espectral da imagem, em um pequeno número de classes em uma única banda da imagem. A classificação consiste em associar cada pixel da imagem a uma classe específica de um conjunto de classes (água, areia, floresta, urbana, etc). O resultado final de um processo de classificação é uma imagem digital que constitui um mapa de pixels classificados, representados por símbolos gráficos ou cores. 2.1. Processamento de Imagens Por Processamento Digital de Imagens (PDI) entende-se a manipulação de uma imagem por computador de modo que a entrada e a saída do processo sejam imagens. Por comparação, na disciplina de reconhecimento de padrões, a entrada do processo é uma imagem e a saída constitui-se numa classificação ou descrição da mesma. e.g. [Gonzalez and Woods 2000] O objetivo de se usar processamento digital de imagens, é melhorar o aspecto visual de certas feições estruturais para o analista humano e fornecer outros subsídios para a sua interpretação, inclusive gerando produtos que possam ser posteriormente submetidos a outros processamentos. 2.2. Métodos de Classificação Os métodos de classificação são usados para mapear áreas da superfície terrestre que apresentam um mesmo significado em imagens digitais. Uma informação espectral específica de uma cena pode ser captada por um sensor e gerar uma respectiva imagem correspondente. Cada pixel de uma banda possui uma correspondência espacial com um outro pixel (pixels homólogos), em todas as outras bandas, ou seja, para uma imagem de K bandas, existem K níveis de cinza associados a cada pixel, sendo um para cada banda espectral. Os métodos de classificação dividem-se basicamente em duas categorias, quanto ao tipo da classificação: classificação não-supervisionada e a supervisionada, e em relação ao método empregado: classificação por região e classificação pixel a pixel. A seguir destacaremos apenas os métodos utilizados no projeto.

Classificação Supervisionada: envolve duas fases, a etapa de treinamento e a etapa de reconhecimento. Na fase de treinamento, o objetivo é definir amostras das classes de interesse da imagem. O usuário dispõe de informações que permitem a identificação de uma classe de interesse. Para um treinamento supervisionado o usuário deve identificar na imagem uma área representativa de cada classe. É importante que a área de treinamento seja uma amostra que inclua toda a variabilidade dos níveis de cinza da imagem a ser classificada. Na fase de reconhecimento, a classificação ocorre de acordo com os valores dos pixels das amostras, onde se atribui o valor aos pixels da imagem classificada, de acordo com a maior similaridade entre os valores dos pixels das amostras e da imagem original. Classificação Pixel a Pixel: utilizam apenas a informação espectral isoladamente de cada pixel para achar as regiões homogêneas. Estes classificadores podem ser ainda separados em métodos estatísticos (que utilizam regras da teoria de probabilidade) e determinísticos (que não o fazem). 3. Grid Computing O termo Grid foi concebido por volta da década de 90 para denotar uma proposta de uma infraestrutura de computação distribuída, a fim de integrar arquiteturas heterogêneas e não dedicadas, em diferentes organizações, para o processamento em larga escala e de alto desempenho. O Grid é uma infra-estrutura dinâmica de hardware e software. De uma forma generalizada, consistente, confiável e barata, interliga recursos heterogêneos e distribuídos, localizados em diversas organizações, que estejam conectadas. e.g. [Foster 2000] Percebe-se que esta infra-estrutura é complexa pelo fato de interligar recursos que estão dentro de instituições com configurações, softwares, políticas de acesso e propósitos específicos. O Grid tem que interligar estes recursos heterogêneos e fazer com que estes recursos trabalhem em conjunto de forma transparente aos usuários, como se todos enxergassem esta estrutura como um único supercomputador virtual. Fala-se em infra-estrutura de hardware, para conseguir a interconexão necessária para o acesso aos recursos, e de software para monitorar e controlar estes complexos recursos. Esta infra-estrutura deve permitir o acesso consistente aos recursos, através de serviços padronizados, com interfaces e parâmetros definidos. O maior desafio dessa padronização é encapsular a heterogeneidade dos recursos, sem comprometer o alto desempenho. Vale ressaltar que os recursos dos Grids computacionais podem ser acessíveis a partir de qualquer ponto, mas que a maneiras de limitar sua disponibilidade, assim como, controlar o acesso aos seus recursos. O Grid, como não tem limite de espaço físico, se apresenta como uma solução muito econômica. Sem ter limitação de espaço físico e recursos, o Grid pode usar quantos computadores forem possíveis de se conectar pela Internet. 3.1. Organização Virtual As pessoas, instituições e recursos que participam e utilizam o Grid para fazer o compartilhamento controlado de recursos computacionais formam as Organizações Virtuais. São grupos de atuação em um determinado tema, podendo estar geograficamente e institucionalmente dispersos. Para a operacionalidade de tais organizações precisamos de ambientes colaborativos, seja na elaboração e desenvolvimento de aplicações associadas, ou na utilização de outras aplicações. A proposta do Grid é que as organizações existentes no mundo disponibilizem seus recursos computacionais interligando-os. A quantidade de recursos é dinâmica, pois a qualquer hora uma nova organização pode querer participar ou sair do Grid. Como se pode perceber é preciso haver mecanismos de controle de acesso complexos para permitir que as organizações proprietárias de recursos estabeleçam como querem compartilhá-los. Além disso,

deve ser possível também que os usuários determinem como desejam acessar os recursos. E para garantir a integridade dos recursos e informações compartilhadas, os usuários devem estar devidamente autorizados. 3.2. Características Pelos objetivos a que se propõe atingir, um ambiente de Grid deve ser capaz de lidar com aspectos operacionais bem distintos dos até então presentes em outros sistemas distribuídos. Entre eles: Segurança: devido à dispersão dos recursos e à interação entre domínios administrativos distintos, passa a ser fundamental o emprego de tecnologias que garantam, por exemplo, a autenticação de usuários, o controle de acesso aos recursos, a privacidade e a integridade das informações trocadas; Escalabilidade: pela abrangência, que pode podem chegar a milhões de dispositivos, os algoritmos utilizados, principalmente para gerenciamento de recursos e funções de controle, deverão ser capazes de lidar com estas quantidades e de administrar sua distribuição geográfica; Heterogeneidade: a multiplicidade de tipos de recursos, e em ambientes diversificados; Distribuição Geográfica: os recursos poderão estar distribuídos, o que implica em características de desempenho para a rede de interconexão. Controle descentralizado: não há uma autoridade central que seja capaz de impor políticas operacionais ou que garanta a qualidade dos recursos. Confiabilidade: infraestrutura de tecnologia da informação: robusta, coordenada e eficaz. 3.3. Aplicações Apresentaremos a seguir exemplos de como a tecnologia do Grid pode ser útil e aplicável ao processo colaborativo de pesquisa e desenvolvimento. Supercomputação Distribuída: estas aplicações utilizam o Grid para agregar os recursos computacionais de que necessitam, tendo por objetivo maximizar sua performance absoluta, o que não seria possível em um único sistema; Computação de Alta Taxa de Rendimento: estas aplicações objetivam executar o maior número possível de tarefas por período de tempo, tendo uma grande quantidade de dados trafegando pela rede. Utilizam o Grid para escalonar essas tarefas fracamente acopladas e independentes, otimizando os ciclos de processamento; Computação Sob Demanda: permite o acesso a recursos especializados, cuja aquisição não é economicamente compensadora, e cujo uso é feito de forma infreqüente. As aplicações desta classe preocupam-se em maximizar a razão performance/custo. Computação Orientada a Dados: estas aplicações envolvem a síntese de informações a partir de um volume muito grande de dados que são mantidos em repositórios geograficamente distribuídos. Normalmente se faz uso intensivo de processamento e comunicação; Computação Colaborativa: objetivam permitir a interação entre pessoas e recursos computacionais, que estejam geograficamente distribuídas. Normalmente fazem uso de um espaço virtual compartilhado. 3.4. Arquitetura O Grid integra recursos computacionais heterogêneos e de propriedade de diversas. Os proprietários destes recursos têm plataformas, linguagens, ambientes de programação, políticas de utilização de recursos e de segurança distintos. Isso exige que sejam definidas regras para o compartilhamento destes recursos e é por isso que a arquitetura dele é construída a partir de um conjunto de protocolos.

A arquitetura do Grid, que proverá serviços de autenticação, autorização, controle de processos, alocação de recursos, mecanismos de proteção entre outros, foi dividia em cinco níveis, conforme apresentado na figura 1. Figura 1. Cinco níveis da arquitetura de grid. Fabric: controla os recursos a serem disponibilizados para os usuários, permitindo obter informações sobre a estrutura, o estado e as possibilidades dos recursos. Connectivity: constituída por protocolos de comunicação (troca de dados entre os recursos da camada Fabric) e autenticação (identificação e verificação segura dos usuários e recursos). Resource: baseia-se nos protocolos da camada Connectivity, para permitir a segurança na negociação, monitoramento, controle e outros detalhes referentes aos recursos individuais. Sua preocupação é a de oferecer informações sobre os recursos e permitir a especificação de políticas de uso de cada recurso. Collective: permite a utilização em conjunto dos recursos. Applications: compreende as aplicações dos usuários, que utilizarão as demais camadas existentes produzindo soluções específicas para as diversas organizações virtuais. 3.5. Projeto Globus O projeto Globus, feito em conjunto pelo Argonne National Laboratory e a University of Southern California s Information Sciences Institute, é o desenvolvimento de uma tecnologia necessária à construção do Grid Computacional. O núcleo deste projeto é o desenvolvimento da infra-estrutura básica para aplicações que integram sistemas geograficamente distribuídos. O Globus é composto por um conjunto integrado de serviços básicos de Grid. Este conjunto integrado de ferramentas e software facilita a criação de aplicações que podem explorar as capacidades avançadas de um Grid. As ferramentas Globus são desenvolvidas para permitir o alto desempenho. Os desafios técnicos do projeto Globus são: gerenciamento de recursos, serviços de comunicação, serviços de escalonamento, protocolos de segurança, serviços de informação, acessos a dados, serviços de tolerância à falhas e facilidade de acesso a dados remotos. 3.6. MPI Message Passing (MP) é o método de comunicação baseada no envio e recebimento de mensagens através da rede seguindo as regras do protocolo de comunicação entre vários processadores que possuam memória própria. O programador é responsável pela sincronização das tarefas. Message Passing Interface (MPI) é uma biblioteca de MP desenvolvida para ambientes de memória distribuída, máquinas paralelas, redes de computadores e redes heterogêneas. Define um conjunto de rotinas para facilitar a comunicação (troca de dados e sincronização) entre processos paralelos.

Mpich-G2 é uma implementação padrão do MPI para o Globus. Permite relacionar múltiplas máquinas, de arquiteturas diferentes, para executarem aplicações de MPI. 4. Classificação de Imagens no Ambiente do Grid O classificador de imagens satélites desenvolvido baseia-se no cálculo da distância mínima (Euclidiana), entre os valores dos pixels da imagem a ser classificada e de cada classe definida na coleta das amostras dessa imagem, para determinar a qual classe pertence cada pixel homólogo (pixels relacionados nas bandas da imagem). O método desenvolvido é um procedimento de classificação pixel a pixel, do tipo classificação supervisionada. A fase do treinamento, a qual define as classes, não é incorporada nesse projeto. Os valores médios dos pixels das classes em cada banda estão sendo obtidas num processo externo ao projeto apresentado. Vale ressaltar que os valores padrões (médios) dos pixels de cada classe são obtidos, após uma coleta e análise de amostras retiradas da imagem a ser classificada. Para cada imagem utilizada no experimento, foram colhidas quinze amostras de aproximadamente trezentos pixels cada. Das amostras colhidas, foram definidas seis classes (água, campo, cerrado, mata, cultura e urbano), a serem utilizadas no processo de classificação da imagem. A imagem a ser classificada possui três bandas espectrais. O classificador compara a distância do valor do pixel em cada banda à média de cada classe. Esse procedimento ocorre para todos os pixels de cada banda da imagem. O pixel será incorporado a classe que apresenta a menor distância euclidiana. Este procedimento é repetido até que toda a imagem seja classificada. A imagem classificada possuíra apenas uma banda, pois os três pixels homólogos (três bandas), serão representados por um pixel, cujo valor, estará relacionado a uma classe, de acordo com as rotinas do algoritmo desenvolvido. Todo o procedimento de classificação ocorre no ambiente experimental de Grid implementado. Vale ressaltar, que para efeito de testes e comparação dos resultados, esse procedimento também foi executado em outros ambientes. O classificador foi desenvolvido na linguagem C e utiliza a biblioteca MPI. O projeto desenvolvido recebe como dado de entrada os valores das amostras das classes pré-definidas e as informações (nº linha e nº colunas) da imagem original, além da imagem original bruta (sem cabeçalho), e gera como saída uma imagem classificada. A ferramenta utilizada para o gerenciamento e controle do Grid, assim como para a implementação do projeto foi o Globus + Mpich-G2. O algoritmo criado é compilado pelo Mpicc, que gera um arquivo executável. O projeto desenvolvido é executado a partir de chamadas ao Mpirun, programa disponível no Mpich-G2. Este programa recebe um arquivo criado, de extensão rsl, de Resource Specification Language, que é uma linguagem específica para o Globus. Esse arquivo instrui ao Globus que processos criar e em que máquinas. Assim, o Globus carrega todos os processos e depois permite que as trocas de mensagens com o MPI, cujas regras seguem as rotinas utilizadas no algoritmo desenvolvido, sejam executadas. Os processos são executados paralelamente nas máquinas do Grid, onde cada uma classifica uma parte da imagem. Ao final de todos os processos, temos a imagem classificada. Vale ressaltar, que o procedimento de classificação de imagem, pode ser iniciado a partir de qualquer nodo do Grid. 5. Ambiente Experimental e Resultados Obtidos O ambiente de Grid empregado no experimento está localizado no Laboratório de Sistemas Integrados e Concorrentes (LAICO), do Departamento de Ciência da Computação da UNB. Este

ambiente é composto por três máquinas com as seguintes configurações: Pentium IV 1,7GHz, 128MB de memória RAM com o sistema operacional Debian 3.0. A comunicação ocorre por uma rede de cabo par trançado, através de um HUB 10/100 Mbps. Para comparação e ilustração dos resultados, analisou-se o desempenho de outros programas disponíveis atualmente: Envi (software comercial) e Spring (software gratuito, desenvolvido pelo INPE). Ambos os programas não oferecem a classificação de imagens de satélite num ambiente distribuído, e foram testados em máquinas (estações de trabalho) com as mesmas configurações das máquinas do Grid, exceto por estarem com o sistema operacional Windows NT 4.0 e XP Professional. Na execução dos testes, foram utilizadas três imagens, de aproximadamente 150Mb, da cena do Distrito Federal, tiradas pelos satélites Landsat5, Landsat7 e Spot. Nossos resultados comprovam o ganho de performance esperado na classificação dessa imagem, quando executada no ambiente experimental de Grid proposto. Vale ressaltar que quanto maior a quantidade de amostras das classes da imagem, e o número de máquinas participando do Grid, o ganho de processamento, aumenta consideravelmente em relação aos outros programas comparados. Temos que destacar, que as máquinas com capacidade de processamento inferior as outras do Grid, retardam e prejudicam o resultado, caso não se tenha um balanceador de carga eficaz. Analisando a média dos tempos obtidos e as combinações possíveis de processamentos das imagens, num certo tempo e em certo host, veremos que, o Grid mostra-se superior na relação tempo x processamento, comparado ao resultado dos programas utilizados no experimento, quando executados nas três máquinas independentes (estações de trabalho). A figura 2 mostra um gráfico comparativo dos ambientes utilizados e os tempos de processamento gastos, na classificação das imagens utilizadas. Figura 2. Resultados obtidos (Tempo x Imagens). A figura 3 mostra um gráfico comparativo destacando a média da quantidade de imagens classificadas em certo tempo, nos ambientes do experimento. Figura 3. Resultados obtidos (Qtd Imagem x Tempo).

Convém destacar ainda outras vantagens de se utilizar o Grid, que foram ressaltadas no projeto desenvolvido. São elas: aproveitamento do tempo ocioso, participação em outros Grids, otimização dos processos de classificação e reserva de recursos. 6. Conclusões e Trabalhos Futuros Neste artigo apresentamos uma abordagem de classificação de imagens de satélites utilizando uma ambiente de Grid Computacional. Foi apresentado um embasamento teórico sobre os tópicos relevantes para um melhor esclarecimento do objetivo de se criar e implementar um algoritmo de classificação de imagens de satélites para um ambiente computacional distribuído paralelo. Convém ressaltar que o objetivo foi alcançado com sucesso, e destacar as vantagens que a utilização do ambiente de Grid pode apresentar em relação aos ambientes atualmente oferecidos para o procedimento de classificação de imagens, assim como para outras diversas aplicações. Como trabalhos futuros, seria interessante para uma melhor observação dos resultados o aumento do número de máquinas que integram o Grid, testando, também, ambientes de Grids abertos disponíveis na Internet. Outro caminho para extensão deste trabalho seria o desenvolvimento de outros algoritmos para outras fases do processamento de imagens. Um fator diferencial será o projeto de desenvolvimento de uma interface amigável (portal grid), onde o usuário poderia definir novas classes para classificação, monitorar todo o processo de classificação, assim como visualizar a imagem origem e a resultante desse processo. Referências BANNISTER, J.; FOSTER, I.; HWANG, S.; et al. The Quality of Service Component for the Globus Metacomputing System. Proc. IWQoS 98, pp. 140-142, 1998. BAXEVANIDIS, K.; DAVIES, H.; FOSTER, I.; et al. Grids and Research Networks as Drivers and Enablers of Future Internet Architectures. Computer Networks, 2002. FOSTER, I. Grid Computing. Advance, 51-56, 2000. FOSTER, I. The Emergence of the Grid. Nature Yearbook of Science and Technology, Nature Publishing Group, 2001. FOSTER, I.; GEISLER, J.; GROPP, W.; et al. Wide-Area Implementation of the Message Passing Interface. Parallel Computing, 24(12):1735-1749, 1998. FOSTER, I.; GROPP, W.; KARONIS, N.; et al. MPICH-GQ: Quality-of-Service for Message Passing Programs. Proceedings of the IEEE/ACM SC2000 Conference, November 4-10, 2000. FOSTER, I.; KARONIS, N. A Grid-Enabled MPI: Message Passing in Heterogeneous Distributed Computing Systems. Proc. 1998 SC Conference, November, 1998. FOSTER, I.; KESSELMAN, C. Computational Grids. Chapter 2 of "The Grid: Blueprint for a New Computing Infrastructure", Morgan-Kaufman, 1999. FOSTER, I.; KESSELMAN, C. Globus: A Metacomputing Infrastructure Toolkit. Intl J. Supercomputer Applications, 11(2):115-128, 1997. FOSTER, I.; KESSELMAN, C.; LEE, C.; et al. A Network Performance Tool for Grid Computations. Supercomputing 99, 1999. FOSTER, I.; KESSELMAN, C.; TUECKE, S. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International J. Supercomputer Applications, 15(3), 2001. GONZALEZ, R.; WOODS, R. Processamento de Imagens Digitais, tradução do original Digital Image Processing. Edgard Blucher, 2000. KACSUK, P.; KRANZLMULLER, D.; VOLKERT, J.; et al. Distributed and Parallel Systems: Cluster and Grid Computing. In Kluwer International Series in Engineering and Computer Science, 2002.