Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas de Informação
GRID COMPUTING:
CONCEITOS E APLICAÇÕES
Betim
2006
JAQUELINE HENRIQUE PEREIRA COSTA
GRID COMPUTING:
CONCEITOS E APLICAÇÕES
Betim
2006
Jaqueline Henrique Pereira Costa
Grid Computing
Betim, 2006.
Sandro Laudares
nova tecnologia de soluções anteriores, que de alguma forma contribuíram para sua
Our objective is to present the main concepts of the Grid Computing, being differentiated this
new technology of previous solutions, that of some form had contributed for its conception
and development, in view of, the future implications gifts and of developed computational
structures under this conception. And application of a case study, as a tool auxiliary in the
Ambientes Empresariais...........................................................................................................20
GRÁFICO 2 SpeedUP..............................................................................................................71
LISTA DE TABELAS
TABELA 1 Consumo de Memória e Tempo de Execução.......................................................69
LISTA DE SIGLAS
UFCG - Universidade Federal de Campina Grande
HP - HEWLETT-PACKARD LTDA
TI – Tecnologia da Informação
PC – Personal Computer
LISTA DE SIGLAS
AC - Assistente de Comunicação
SP - Scalable POWERparallel
AP - Scalar Parallel
VO - Organização Virtual
LISTA DE SIGLAS
HPC - High Performance Computing
PV - Parallel Virtual
MB – Mega Byte
HD – Hard Disk
GB – Giga Byte
SUMÁRIO
1 INTRODUÇÃO....................................................................................................................14
1.1JUSTIFICATIVA................................................................................................................16
1.2OBJETIVOS........................................................................................................................17
2 FUNDAMENTAÇÃO TEÓRICA......................................................................................18
3 ANÁLISE COMPARATIVA..............................................................................................43
6 ESTUDO DE CASO............................................................................................................68
7 CONCLUSÃO......................................................................................................................74
8 REFERÊNCIAS...................................................................................................................76
14
1 INTRODUÇÃO
que compõem esta estrutura, mesmo que estes nós se encontrem dispersos geograficamente,
Ian Foster define o Grid Computing como uma “infra-estrutura que permite o uso
(FOSTER, 1998).
2005), ou seja, a Grid Computing é uma infra-estrutura que dispõe recursos computacionais
15
para quem deles precisar, deste que este seja um dos membros da rede. Estes recursos podem
estar em PCs espalhados pelo mundo inteiro, executando suas aplicações sem que este saiba
centros de pesquisa, entre eles podemos citar o projeto OurGrid que conta com a participação
da UFCG (Universidade Federal de Campina Grande) e da empresa HP. Este projeto tem
como foco “a criação de tecnologias que viabilizem o uso de Grids da forma mais rápida e
pontos positivos e negativos do uso deste conceito para solução de problemas relacionados à
especializadas para sua manipulação. A adoção em áreas como TI, por exemplo, exigem a
A empresa Buterfly, por exemplo, de games interativos pela Internet, foi criada com
a idéia de Grid. O modelo exigia computação sob demanda, típicos da Grid
Computing. A solução encontrada foi criar uma Grid composta por 2 clusters,
baseados em plataformas Intel, hospedadas em data centers da IBM. Todos os
servidores são conectados uns aos outros por rede de alta velocidade. Durante a
execução do jogo, cada servidor comunica-se a todos os outros na Grid em tempo
real, criando uma arquitetura peer-to-peer (P2P). (CHEDE, 2004).
1.1 JUSTIFICATIVA
como Grid Computing - no meio acadêmico, surgiu a necessidade de diferenciar esta nova
O conhecimento de seus benefícios futuros e os esforços que vem sendo realizados por
de diversos lugares do mundo, envolvidos em projetos que requerem uma grande capacidade
1.2 OBJETIVOS
literatura;
2 FUNDAMENTAÇÃO TEÓRICA
De maneira simples, podemos disser que a Grid Computing é representada por uma
conceitos próprios que merecem um entendimento de diversas áreas de estudo, como sistemas
distribuídos e computação paralela, e a partir deste momento o conceito começa a ser tornar
mais amplo.
[...] início na década de 90 para atender uma demanda específica da área cientifica.
Ian Foster, do Laboratório Nacional Argonne, apresentou a proposta de uma
associação entre laboratórios mundiais com a finalidade de compartilhar parte de sua
capacidade computacional ociosa e o conhecimento de seus pesquisadores por meio
de uma rede de computadores permeável e interconectável entre si. (SANTOS,
2005a).
De acordo com (FOSTER, 2002), Grid Computing é uma “infra-estrutura que permite
disser que:
19
[...] esta infra-estrutura é análoga à grade de energia elétrica que provê acesso
consistente, pervasivo e transparente a energia elétrica independente da origem. A
grade de energia elétrica disponibiliza energia elétrica sob demanda e esconde do
usuário detalhes como a origem da energia e a complexidade da malha de
transmissão e distribuição. Ou seja, se temos um equipamento elétrico,
simplesmente o conectando na tomada para que ele receba energia. Uma grade
computacional, portanto, seria uma rede na qual o indivíduo se conecta para obter
poder computacional (ciclos, armazenamento, software, periféricos, etc.). (GÓES et
al., 2005).
serem utilizados em diversos projetos de pesquisa de maneira controlada, sem que aja
dos dados que circulam pela rede, quando isso se fizer necessário.
descobertas em beneficio a sociedades, o uso de uma Grid é vista por Chede (2004) como
“computação filantrópica”.
integridade dos dados são uns dos fatores importantes no que diz respeito à segurança dos
“Um ambiente empresarial geralmente mantém seus PCs conectados em redes de alta
Computação Ambiente
Filantrópica Empresarial
Conexões Conexão remota, de baixa Conectados em redes de alta
velocidade. velocidade
Participação Voluntária Pode ser compulsória
Administração e Não existem políticas nem Existem políticas a serem
Segurança obrigatoriedade de adoção seguidas
Homogeneidade Ambientes diversos Padronizadas
Quadro 1: Diferença entre a abordagem adotada entre a Computação Filantrópica e os Ambientes Empresariais.
Fonte: CHEDE, 2004.
que usa computadores interconectados pela Internet na busca por inteligência Extraterrestre1”
“Usando um software que pode ser baixado pela Internet, um microcomputador pode
(PITANGA, 2004).
O poder computacional alcançado com este projeto tem mostrado uma solução rápida
que pode ser considerado um dos mais potentes do mundo”, que é exatamente o que vem
1
“Is a scientific experiment that uses Internet-connected computers in the Search for Extraterrestrial Intelligence
(SETI@Home, 2006).”
21
acontecendo com o projeto SETI@home. “Se todo o trabalho efetuado para o projeto fosse
feito por um único PC com microprocessador Pentium seriam necessários mais de 1.3000.000
criaram o Projeto TopGrid (LAGE, 2005), e apresentam como motivações para o uso da Grid
2004).
temos como grid: “se computadores do tipo que eu imagino, se tornarem os computadores do
futuro, então a computação poderá algum dia ser organizada como um serviço público, assim
como a telefonia o é [...] Esse serviço poderá ser tornar a base da nova e importante
Complementando esta idéia, Gandouf diretor da IBM, acredita que “Bits devem ser
uma torneira que pinga bits. Computação tem que ser utilidade pública.” (VALIM, 2002).
22
Federal de Campina Grande) em parceria com o laboratório HP Labis Bristol no estudo das
Segundo Stanton (2004), Thomas Kuhn se referia às rupturas das evoluções cientificas
como “mudanças de paradigmas”, “um termo que hoje é usado mais genericamente para
alcançar, e quais as contribuições que os esforços até então empreendidos tem a oferecer no
computação em grade.
distribuídos, que são projetados para permitir que usuários trabalhem juntos, e sistemas
O resultado da aplicação destas duas tecnologias é o fato de hoje ser muito fácil
construir sistemas de computação compostos por um grande número de
processadores ligados através de redes de alta velocidade. Tais sistemas são
denominados sistemas distribuídos, em contraste como os sistemas centralizados,
compostos por um único processador, memória, periféricos, e terminais.
(TANENBAUM, 1995).
problemas enfrentados pelos sistemas centralizados oferecendo uma nova proposta para o
[...] previu que em cada período de dezoito meses os sistemas dobrariam seus
desempenhos. Este tipo de previsão foi verificado por vários anos e em alguns casos
até superada. Todavia limitações tais como velocidade da luz, algumas leis de
termodinâmica e o elevado custo de fabricação de novos processadores estão sendo
atingidos, dificultando a progressão de desempenho que vinha acontecendo.
(DANTAS, 2005a).
enfrentam problemas físicos que tem feito com que algumas redes distribuídas alcancem
E o uso de melhores algoritmos para aumento de desempenho também não parece ser
[...]o levado custo de otimização faz com que inúmeras organizações optem por
continuar executando suas aplicações, sem uma preocupação maior de desempenho.
De uma outra forma podemos entender que é difícil modificar aplicações já
existentes e que estejam em produção. (DANTAS, 2005a).
sistemas distribuídos surgiram como uma das propostas mais viáveis, no alcance do poder de
Com o advento dos sistemas com múltiplos processadores, podemos observar através
tarefas em paralelo.
Estes quatros sistemas são: SISD (Single Instruction Single Data), SIMD (Single
Instruction Multiple Data), MISD (Multiple Instrution Single Data) e MIMD (Multiple
contador de programa, com seu próprio programa, e com seus próprios dados.”
(TANENBAUM, 2005).
Conforme proposto por Bell (1985), citado por Tanenbaum (1995), “as arquiteturas
multicomputadores.”
Computadores paralelos e
computadores
distribuídos
Fortemente Fracamente
Acoplado Acoplado
Multiprocessadores Multicomputadores
(memória compartilhada) (memória local privada)
Baseado em Baseado em
Comutados Comutados
Barramento Barramento
28
são formados por máquinas que possuem seu próprio espaço de armazenamento.
44 no endereço 1000, qualquer outro processador que venha a ler posteriormente o conteúdo
comutados.
2
Estrutura onde as placas são fixadas no chassi da máquina (UFRGS, 2005)
29
multiprocessadores.
P P P P P P P P
M M M M M M M M
P – Processador M- Memória
acoplado podendo ser constituído por ambas as configurações: comutada ou por barramento,
forte, o que significa dizer que a comunicação entre processos é efetuada apenas por troca de
mensagens entre processos que estão executando nos processadores.” (DANTAS, 2005a).
M M M M M M M M
P P P P P P P P
30
M – Memória P – Processador
As máquinas das linhas SP da IBM e Balde Servers da HP, IBM, Intel e SUN são
exemplos de casos de fabricantes comerciais que utilizam a abordagem da
arquitetura multicomputador. [...] Nela também se enquadram vários computadores
pessoais interligados por uma rede convencional. (DANTAS, 2005a).
Os sistemas SMP são uma evolução dos sistemas com múltiplos processadores
assimétricos. Na organização assimétrica ou mestre/escravo, somente um
processador, denominado mestre, pode executar serviços do sistema operacional,
como por exemplo, operações de E/S. Sempre que um processador do tipo escravo
precisa realizar uma tarefa de E/S, tem que requisitar o serviço ao processador
mestre. (MACHADO; MAIA, 2002).
quando um número grande de processadores faz requisições ao mesmo tempo, além de haver
um ponto único de falha, que uma vez indisponível afeta todo o sistema. (MACHADO;
MAIA, 2002).
“Sistemas SMP, por outro lado implementam a simetria dos processadores, ou seja,
todos os processadores realizam as mesmas funções. Apenas algumas poucas funções ficam a
arquitetura SMP.
32
Processadores
P P P P
Memória
Sistema
Entrada-
Placa Saída
Rede
Discos
Figura 4: Configuração clássica de uma arquitetura SMP
Fonte: DANTAS, 2005a.
“Um fator particular da configuração é não possuir múltiplas memórias e nem tão
(DANTAS, 2005a).
Segundo, (TEIXEIRA et al., 2000), pode ser usado uma cache por máquina.
Porém, o uso de memória cache enfrenta problemas em relação à coerência dos dados.
O uso de caches nestes sistemas traz, no entanto um problema. Suponha que dois
processadores, A e B, leiam a mesma palavra de suas respectivas caches. Depois
disso A escreve nesta palavra. Quando B efetuar nova leitura desta palavra, ele vai
obter o valor antigo, em vez do valor que A acabou de escrever. O sistema de
memória é, então, considerado incoerente, tornando muito difícil a programação
neste sistema. (TANENBAUM, 1995).
De acordo com Teixeira et al. (2000), para resolver este problema empregam-se
configuração onde n seja muito grande, o custo tende a ser muito alto” (MACHADO; MAIA,
2002).
funcionais. Desta forma é possível que um processador tenha que esperar para poder
acessar um determinado módulo de memória devido à falta de caminho disponível
no momento. (MACHADO; MAIA, 2002).
Porém, temos outro problema: “apesar do menor custo, redes ômega podem introduzir
MAIA, 2002).
ausência de cache, apesar de simplificar e reduzir custo do modelo oferece uma latência4 alta
Sistemas NUMA são uma alternativa às organizações SMP, pois oferecem uma
escalabilidade maior de processadores, menor custo e maior desempenho. Uma
grande dificuldade em sistemas Numa é manter um nível de desempenho
satisfatório, devido à possibilidade de existirem tempos de acesso a memória
principal bem diferentes. Neste caso, o sistema deve garantir o maior número
possível de acesso locais, evitando acessos à memória remota. (MACHADO;
MAIA, 2002).
memórias local e global para evitar que erros de coerência ocorram.” (DANTAS, 2005a).
4
É o tempo que uma mensagem gasta para percorrer a trajetória até ao elemento de destino
Memória
Sistema
Entrada-
Placa
Rede
Saída
Discos
35
Aplicações tais como os serviços de Web, banco de dados, processamento de sinal, CRM e
2005a).
ccNUMA.
Processadores Processadores
P P P P
Cache Cache Cache Cache
Memórias Memórias
AC AC
SWITCH
AC – Assistente de Comunicação.
Sobre os sistemas SMP e NUMA, vistos até aqui, podemos verificar que:
diferentemente das arquiteturas SMP e NUMA, não faz uso de memórias compartilhadas,
De acordo com (MEDEIROS, 2005) “sua estrutura tem centenas de nós com uma
“Uma outra característica da arquitetura é que cada nó possui sua própria cópia do
compartilhada, uma vez que cada nó tem sua própria estrutura de memória.” (DANTAS,
2005a).
(DANTAS, 2005a).
P P
M M
C C
E/S E/S
Rede de Interconexão
E/S
P – Processador M – Memória
respectivamente.
38
funcionamento podem utilizar uma das arquiteturas abordadas para aplicação de seus
MIMD
MIMD
Memória
Memória
Memória
Memória Distribuída
Distribuída
Compartilhada
Compartilhada
SMP
SMP ccNUMA
ccNUMA MPP
MPP Cluster
Cluster Grid
Grid
pudemos observar, os sistemas distribuídos surgiram como uma solução para resolver os
entre máquinas quando necessário, ou seja, quando a máquina que inicia o processo de uma
40
momento, começa a procurar máquinas que possam ceder um dos recursos computacionais
requisitado.
Grid parte do mesmo princípio, mas possui características próprias que a diferencia
ser formado por máquinas heterogêneas cada qual com seu sistema operacional e permitir o
uso de arquiteturas SMP, MPP e clusters, de acordo com Ian Foster, citado por Menegotto
(FOSTER, 2002).
A computação em grade propõe uma solução para a grande demanda por capacidade
computacional e transparência. Seu objetivo é prover uma infra-estrutura
computacional que possibilite o acesso a recursos computacionais distribuídos
geograficamente de forma confiável, consistente, econômica e persistente.
(GERPAVGRID..., 2005).
Segundo (PITANGA, 2004), a computação em grade é vista como uma evolução dos
sistemas distribuídos:
“O grid é um caso particular de computação distribuída, uma vez que os Grids são
(PITANGA, 2004).
que:
A diferença entre ambas tecnologias nem sempre é clara, mas como pudemos notar
problema.
43
3 ANÁLISE COMPARATIVA
Para uma melhoria no desempenho das aplicações nas organizações, tem sido verificado o
agrupamento físico local e virtual de inúmeros computadores. Em outras palavras, devido ao
custo de máquinas do tipo MPP e SMP, em adição a grande oferta de computadores pessoais
existentes nas redes das instruções, políticas de agregar máquinas estão cada vez mais
utilizadas. (DANTAS, 2005b).
A partir deste contexto, podemos abordar duas tecnologias que fazem uso do
Segundo Gregory F. Pfister em seu livro In Search of Clusters, citado por Chede
(2005), diz que “Cluster é um sistema distribuído que consiste na coleção de computadores
multiprocessadas.
conectados em um local apenas, servindo a usuários que estão trabalhando somente em uma
Segundo (DANTAS, 2005a) estas máquinas podem ou não serem usadas de maneira
dedicada:
entendidas como uma agregação de computadores de uma forma dedicada (ou não) para a
distribuídas em uma rede local como elementos de hardware para compor os ambientes de
configurações dispõem de uma rede específica para interligação das máquinas. (DANTAS,
2005a).
arquiteturas SMP.
Benefícios do cluster:
em 12, 16 ou 32.
preparada para rodar neste ambiente, por exemplo, “se o banco de dados
não estiver preparado para este ambiente, ele só poderá rodar em um único
manterem heterogêneos.
47
preciso conhecer o funcionamento de ambas para podemos delimitar a fronteira entre elas.
Quanto ao domínio, podemos “fazer uma analogia entre um cluster e uma rede local
(LAN) e uma grid e uma rede geograficamente distribuída (WAN).” (DANTAS, 2005a).
Sobre a segurança é comum que o controle aos recursos sejam mais fácil de serem
“De uma outra forma, podemos ainda dizer que a principal diferença entre os clusters
e os grids é baseada na maneira pela qual os recursos e serviços são gerenciados.” (DANTAS,
2005a).
Para facilitar este conceito podemos citar uma outra analogia, utilizando os sistemas
telefônicos.
computação, cujo impacto será, alguns afirmam, semelhante ou maior que o da Internet.”
(GERPAVGRID..., 2005).
(GRADE..., 2005), diz que “a grade fará pelos recursos computacionais o que a Web fez pelos
dados”.
Mas não existem especulações de que a grade substitua a Internet. “Grid não é a
próxima geração da internet, mas sim um conjunto adicional de protocolos e serviços que
complementam a funcionalidade da rede e que dela pode ser servir para aumentar sua
um novo protocolo capaz de permitir que as aplicações escolham entre recursos disponíveis e
atendam organizações virtuais com um método mais sofisticado de alocação de recursos, por
Tecnologia, autor da pesquisa, disse que a nova tecnologia aumenta a velocidade de alocação
única rede coesa – este é o conceito de computação pela Internet – permite uma troca de
informações entre os usuários de maneira mais ampla do que é possível hoje.” (NOVO...,
2005).
Na metade dos anos 90, o termo Grid foi usado para denotar uma proposta de
infraestrutura de computação distribuída - um “serviço” para compartilhar poder de
processamento e capacidade de armazenamento através da Internet - o que
potencialmente seria capaz de suprir as necessidades de recursos computacionais
impostas pela ciência.
A idéia de Grid vai além de simples comunicação entre computadores, e objetiva,
em última análise, tornar a rede global de computadores em um único vasto recurso
computacional. (MENEGOTTO, 2005).
Grid Computing apresenta uma abordagem recente, que pode utilizar da infra-estrutura
objetivo de facilitar a submissão de aplicações dos usuários. “Na Web o usuário dispõe de um
suas aplicações para serem resolvidas dentro do ambiente por ele montado.” (PITANGA,
2004).
Uma outra diferença seria que "a conexão a Internet é necessária apenas no momento
(BOMBONATO, 2004).
Em uma outra escala, (FOSTER, 2002) também mostra que a Web não é - pelo menos
ainda - um Grid, pois apesar de ser aberto, utilizar protocolos de propósito gerais que
suportam o acesso a recursos distribuídos, mas estes, não são feitos de forma coordenada com
Vale ressaltar que o problema real e específico que está por traz do conceito de Grid é
indivíduos e/ou instituições definidas pelas regras de compartilhamento formam o que nós
Porém encontramos iniciativa que busca a integração de soluções grid e serviços web,
Com Web Services implementamos uma visão arquitetônica que é denominada SOA
(Service Oriented Architecture), que permite que uma aplicação seja composta por
componentes independentes, distribuídos e cooperativos. Esta visão é compartilhada
pelos conceitos de Grid. (CHEDE, 2004).
Enquanto fazíamos um paralelo da tecnologia grid com sistemas com alguns pontos
em comum, pudemos conhecer atributos que caracterizam uma grid, são eles: distribuição
geográfica dos sistemas, exigindo recursos para o gerenciamento das operações entre
sistema a uma única aplicação; Escalabilidade que permita a sua dinamicidade; adaptabilidade
A tecnologia empregada para a implementação de uma grid espera que esses atributos
A falta de alguns desses atributos pode não existir e segundo Cirne (2004), isso não
características:
preciso que existam mecanismos para lidar com esta diversidade. “Apesar
Kon, 2005).
política de segurança, salário, títulos e por ai vai de acordo com este ambiente.
De qualquer forma, nós estamos lidando com um sistema de gerenciamento
local)
2) Utilizar padrões, abertos e com interfaces e protocolos de
propósito geral - (Sistemas em Grid são construídos de protocolos e interfaces
de propósito geral que se dirige à um fluxo fundamental como a autenticação,
autorização, descobrimento de recursos e aceso a recursos. É importante que
estes protocolos ou interfaces sejam padronizados e abertos. De outra forma,
nos estaremos lidando com um sistema de aplicação específica.
3) Prover o mínimo em qualidade de serviços - (Sistemas em Grid
permitem que os recursos do cliente sejam utilizados em uso coordenado para
entregar várias qualidades de serviço, relatando, por exemplo, o tempo de
resposta, throughput, disponibilidade, segurança e/ou a recolocação de
múltiplos tipos de recursos para se adequar às complexas exigências do usuário,
logo, a utilidade de um sistema combinado é significativamente maior que a
soma das partes). 6 (FOSTER, 2002, tradução nossa).
Para alcançar os objetivos proposto pela Grid Computing, é preciso facilitar as tarefas
necessário criar uma série de protocolos e mecanismos (serviços) de que permitam aos
6
1) coordinates resources that are not subject to centralized control(A Grid integrates and coordinates resources
and users that live within different control domains—for example, the user’s desktop vs. central computing;
different administrative units of the same company; or different companies; and addresses the issues of security,
policy, payment, membership, and so forth that arise in these settings. Otherwise, we are dealing with a local
management system.)
2) using standard, open, general-purpose protocols and interfaces (A Grid is built from multi-purpose
protocols and interfaces that address such fundamental issues as authentication, authorization, resource
discovery, and resource access. As I discuss further below, it is important that these protocols and interfaces be
standard and open. Otherwise, we are dealing with an application specific system.)
3) to deliver nontrivial qualities of service. (A Grid allows its constituent resources to be used in a
coordinated fashion to deliver various qualities of service, relating for example to response time, throughput,
availability, and security, and/or co-allocation of multiple resource types to meet complex user demands, so that
the utility of the combined system is significantly greater than that of the sum of its parts.)
55
categorias: uma que ofereça alto desempenho, e outra que têm a função de integrar recursos
com baixo custo, não preocupando com detalhes referentes a alto desempenho.
Como exemplo de computação em grade com baixo custo, podemos citar o projeto
InteGrade, que procurar aproveitar o tempo ocioso das máquinas utilizando de recursos
afirma que “a tecnologia por trás da Grid Computing é um conjunto de softwares midlleware
integração?
“Um grande desafio é obter uma forma de encapsular estas diferenças sem
A visão da grade requer os protocolos (e relações e políticas) que estão não somente
abertos e de uso geral, mas também padrão. São os padrões que permitem que nós
estabeleçam arranjos de resource-sharing (distribuição de recursos) dinamicamente
com todo o partido interessado e criar assim algo mais do que um plethora de
balkanized, sistemas distribuídos incompatíveis, non-interoperable. Os padrões são
também importantes como meios de permitir serviços de uso geral e ferramentas.
(Foster, 2002b, tradução nossa). 7
Sem estas normas, os serviços prestados podem ser ineficazes. Entretanto, apesar de
não existir uma formalização mundial, existem dois modelos apresentados, que têm
boa aceitação na comunidade científica e que podem se tornar padrões (de facto ou
de direito) de uma arquitetura de grid. (COLVERO; DANTAS; CUNHA, 2005).
7
The Grid vision requires protocols (and interfaces and policies) that are not only open and general-purpose but
also standard. It is standards that allow us to establish resource-sharing arrangements dynamically with any
interested party and thus to create something more than a plethora of balkanized, incompatible, non- The Grid
vision requires protocols (and interfaces and policies) that are not only open and general-purpose but also
standard. It is standards that allow us to establish resource-sharing arrangements dynamically with any interested
party and thus to create something more than a plethora of balkanized, incompatible, non-interoperable
distributed systems. Standards are also important as a means of enabling general-purpose services and tools.
57
Apresentando uma visão geral da Figuras 12, encontramos em Chede (2004) e Dantas
(DANTAS, 2005a).
2005a).
camada “Serviços de Recursos”, lida com a interação entre coleções de recursos. E por
último, temos a camada “Aplicação”, que representa as aplicações dos usuários que “operam
sistema, deixando a cargo do próprio sistema diversas tarefas como: sincronização de tarefas,
Não existe uma classificação oficial dos softwares que podem ser utilizados na
Dantas (2005a) propõe uma categorização geral para entendimento dos ambientes de
Legion).
(DANTAS, 2005a).
Apresentando uma visão geral dos softwares utilizados, citamos abaixo aqueles que
De acordo com Feitas (2004) MPI e PVM são ferramentas baseadas no método
Uma aplicação paralela é composta por várias tarefas. As tarefas que compõem
uma aplicação paralela executam em vários processadores, caracterizando desta
forma o paralelismo da execução da aplicação e conseqüente redução no seu tempo
de execução.
Os processadores usados por uma determinada aplicação constituem a plataforma
de execução da aplicação. (CIRNE, 2004).
PVM
“O PVM é mais antigo que o MPI, tendo surgido em 1989 nos laboratórios da Emory
University e Oak Ridge National Laboratory, onde nasceu com o objetivo de criar e executar
“Pacote de softwares que permite a execução de sistemas operacionais tais como Unix
agregados de uma rede e utilizados como um único e grande computador paralelo”. (Dantas,
2005a).
pode ser agregada de uma maneira produtiva e prover para os usuários de aplicações
uma forma eficiente de execução de suas tarefas. (Dantas, 2005a).
“Como características pode-se citar a eficiência, pois foi projetado para executar
mensagens. O ambiente MPI (Message Passing Interface) está disponível no Grid através da
versão MPICH-G2 (versão portátil do MPI para o Globus). O padrão MPI define uma
biblioteca de rotinas que implementa uma comunicação ponto a ponto, em que a operação
“send” é usada para iniciar uma transferência de dados entre dois programas concorrentes e a
operação “receive” é usada para obter dados do sistema no espaço de memória da aplicação;
existem ainda operações coletivas envolvendo múltiplos processos. Mas que devido a alta
latência provocada na comunicação entre processos, as aplicações mais adequadas ao Grid são
as que possuem tarefas independentes (bag of task), pois as tarefas não dependem da
permitir que aplicações existentes sejam executadas em ambientes grid sem precisar passar
por grandes modificações, “cria-se uma biblioteca que possua as mesmas interfaces de uma já
62
existente fora do contexto da grade, dentre as quais podemos citar MPI, PV, BSP e CGM,
“Tem seu foco principal voltado para a gerência das tarefas e recursos
(DANTAS, 2005a).
1.4.3 Middleware
Globus
Grade, o Globus tem como principal foco do projeto, a integração de recursos computacionais
(FOSTER, 1998).
Serviço Funcionalidade
GSI Segurança, autenticação única na grade
GRAM Submissão e controle de tarefas
Nexus Comunicação entre tarefas
MPI-G MPI sobre Nexus
MDS Informações e diretórios
GASS Transferência de arquivos
GridFTP Transferência de arquivos
Legion
64
É um projeto teve início em 1993 da University of Virginia, e tem como base o estudo
KON, 2005).
nossa).
GridBus
“O projeto cunhado pela palavra GRID e BUSiness visa criar tecnologias que possam
8
Legion is designed to support large degrees of parallelism in application code and manage the complexities of
the physical system for the user.
65
Condor
longo prazo utilizando recursos ociosos na rede. Autores do sistema salientam insistentemente
que o Condor tem como objetivo a alta vazão (high throughput) e não alto desempenho.”
MyGrid
bag-of-tasks não permitindo aplicações que exijam comunicação entre os nós. No entanto,
utiliza um modelo de rede de favores [...] desta forma, um peer sempre prioriza a
5 EXEMPLO DE PROJETOS
para função de checkpoint, que permite que o estado de execução da aplicação seja salvo e
retomado mais adiante, no mesmo ponto em que foi interrompido”. (CHEDE, 2004).
TERAGRID
Criado pelo Argonne National Laboratory, este projeto é reconhecido com um dos
maiores no momento.
EUROGRID
Tem o objetivo de estabelecer uma rede grid européia entre os centros de pesquisa,
através da Internet que ofereça acesso por demanda e segurança par aos usuários.
projeto OurGrid, mencionado anteriormente, tendo como foco a “criação de tecnologias que
viabilizassem o uso de grid de uma forma mais rápida e direta possível [...] e desenvolvimento
de sistemas capazes de interagir com o padrão OGSA (Open Grid Service Architecture).”
6 ESTUDO DE CASO
no uso de arquiteturas com múltiplos processadores com o intuito de executar uma aplicação
que dependa de altas taxas de processamento para que o resultado se apresente o mais rápido
Grid Computing. Realizamos testes entre dois laboratórios para conhecermos quais seriam os
rede.
de 40 GB, S.O. Windows 2000 Service Pack e processador Pentium 1.8 Ghz.
A aplicação usada nos teste é o NAMD para uso de código molecular paralelo. Nos
matematicamente representado por uma grafo com aproximadamente 8 mil vértices (átomos)
e arestas (bonds).
resultados:
Mem Exec
Teste Num Maqs
[kb] [s/passo]
Lab1 Lab2 100 200 300 400 500 600
1 1 0 200167 1,08810 1,06589 1,05326 1,03788 1,02318 1,01803
2 2 0 95507 0,80417 0,79610 0,78667 0,77518 0,76420 0,76035
3 3 0 69465 0,70358 0,69810 0,67616 0,67406 0,67142 0,67057
4 4 0 55261 0,52027 0,51318 0,49122 0,49006 0,48790 0,48606
5 5 0 45356 0,45576 0,45398 0,45223 0,45101 0,45095 0,44680
6 1 1 92419 0,81686 0,80944 0,80368 0,79701 0,79691 0,78956
7 1 2 67219 0,71467 0,70980 0,69633 0,69304 0,70016 0,69079
8 1 3 65893 0,58411 0,57465 0,55058 0,54791 0,54699 0,54481
9 1 4 54082 0,51168 0,50835 0,50688 0,50425 0,50355 0,50281
Realizamos nove testes no total. Em cada um deles utilizamos a ferramenta MPI para
tempo estimado por cada passo de interação, uso de memória, SpeedUp (velocidade de
processamento, levando em conta fatores como distância, troca de mensagens a cada interação
e recursos utilizados.
com a resolução da aplicação em si. Quando o número de nós aumenta, o tempo estimado de
compartilhamento dos dados entre nós. Uma vez concluída esta tarefa, uma nova etapa se
inicia e cada nó volta a trabalhar localmente até que os resultados de todos os nós sejam
Consumo de Memória
kb
250.000
200.000
150.000
100.000
50.000
0
1 2 3 4 5
processadores
SpeedUp
140%
120%
100%
80%
60%
40%
20%
0%
1 2 3 4 5
Lab1 Lab2 processadores
72
Gráfico 2: SpeedUP
Fonte: Dados do Estudo de Caso
Velocidade de Execução
s / passo
1,200
1,000
0,800
0,600
0,400
0,200
0,000
1 2 3 4 5
processadores
de memória e tempo de execução a cada 100 interações. No teste nº 2 foram alocadas duas
no qual utilizamos a comunicação entre dois computadores, sendo que cada um deles se
permitindo agilidade superior na interação entre processos, devido a menor distância física
entre os nós, além de não depender de um dispositivo de rede entre eles para realizar a
comunicação.
o mesmo número de computadores, mas alocando uma delas no Laboratório 02, verificamos
73
Speedup é = t(1)/t(n)
SpeedUp de 128%, quando comparada ao tempo de execução estimado de execução que uma
computacionais, para resolver problemas que exijam grandes taxas de processamento e que
sejam dependentes entre si, necessitando troca de informações constantes depende muitas
eficiente dos resultados esperados utilizando tempo ociosos de PCs para viabilização de custo
do projeto.
74
7 CONCLUSÃO
Computação em Grade - pode se apresentar futuramente como uma solução capaz de dispor
Os conceitos do Grid Computing foram apresentados por Ian Foster e Carl Kesselman,
de empresas, diversas soluções vêm sendo desenvolvidas para aplicação dos conceitos da
Porém, é preciso que aja padronização das diversas ferramentas utilizada em para que
esta tecnologia possa ser incorporada a Internet, integrando de maneira abrangente os serviços
mostrando que com a computação filantrópica é possível agregar máquinas de baixo custo
esta concepção, mostrando que de acordo com as características da aplicação utilizada, dos
resultados pretendidos, e dos recursos disponíveis, sistemas grid podem não se apresentar
Grid Computing, como toda nova tecnologia precisa passar por mudanças para que
8 Referências
GÓES, Fabrício Wanderley; NETO, Dorgival Olavo Guedes; FERREIRA, Renato; CIRNE,
Walfredo. Computação em Grade: Conceitos, Tecnologias, Aplicações e Tendências. In:
IV Escola Regional de Informática de Minas Gerais, Campi PUC MINAS. Belo Horizonte:
Instituto de Informática, 2005. p. 375-414.
GRADE simplificada: Uma grade leve para os que não têm acesso à computação. 12 fev.
2005. Disponível em <http://h41131.www4.hp.com/br/pt/feature_stories/ story2050.html ?
PHPSESSID=5d3aac> Acesso em 03 fev. 2006.
STANTON, Michael. Mudanças de Paradigma. O Estado de São Paulo. São Paulo, 30 jun.
2004. Disponível em. <http://www.softwarelivre.ufsc.br/pipermail/gufsc/2004-
July/000468.html> Acesso em 25 nov. 2005.
MINETTO, Elton Luís. Grid Computing, fev. 2004. 19 slides: color. Disponível em
http://www.unochapeco.edu.br/~elm/> Acesso em 24 nov. 2006.
78
FOSTER Foster, I - "What is the Grid? A Three Point Checklist”, 2002. Disponível em
<http://www-fp.mcs.anl.gov/~foster/Articles/WhatIsTheGrid.pdf > Acesso em 15 jan. 2006.
LEGION. WorldWide Virtual Computer e pluribus unum: one out of many. Disponível em:
<http://www.cs.virginia.edu/~legion/.> Acesso em 15 abr. 2006.
COLVERO, Taís Appe; DANTAS, Mário; CUNHA, Daniel Pezzi da. Ambientes de
Clusters e Grids Computacionais: Características, Facilidades e Desafios. 2005.
Universidade Federal de Santa Catarina; Universidade do Extremo Sul
Catarinense.
SANTANA, Regina Helena Carlucci; SANTANA, Marcos José; SOUZA, Márcio Augusto
de; SOUZA, Paulo Sérgio Lopes de; PIEKARSKI, Ana Elisa Tozetto.
Computação Paralela. São Carlos, Setembro de 1997. Disponível em
<http://black.rc.unesp.br/gpacp/Bibliografia/A-01%2020Computa%C3%A7%C3%A3o
%20Paralela%20-%20ICMC%20-%20USP%20-%20S%C3%A3o%20Carlos.doc> Acesso
em 18 mar. 2006.
TEIXEIRA, Hugo Emanuel Gonçalves; BARROS, Maria João Almeida de Sá; COELHO,
Paulo Jorge Marques. Clusters Beowulf. Faculdade de Engenharia da Universidade do Porto,
Porto, 2000.
FREITAS, Evandro Luiz. Uma comparação entre os modelos de Message Passing MPI e
PVM. Mar. 2004. Disponível em <http://www.inf.ufrgs.br/procpar/disc/cmp
134/trabs/T2/981/mpi.html> Acesso em 14 abr. 2006