|
O que é Grid Computing
O termo Grid foi usado inicialmente
nos anos 90, no meio acadêmico. Foi originalmente proposto para
denotar um sistema de computação distribuída que deveria prover
serviços computacionais sob demanda, da mesma forma que as
grades de energia elétrica e de água fazem.
Ian Foster definiu as três
características básicas de um grid:
- Recursos coordenados que
não se sujeitam a um controle centralizado (sistemas em
Grid podem englobar recursos entre os mais variados
tipos, desde o desktop de um usuário até um
supercomputador. Pode haver um controle local em uma
empresa, mas não existe um controle central para todo o
grid)
- Utilizar padrões
abertos, interfaces e protocolos de propósito geral. (a
utilização de protocolos e padrões abertos é essencial
para que os sistemas em Grid possam realizar funções
fundamentais como autenticação, autorização,
descobrimento de recursos e acesso a eles, sem perder a
capacidade de escalar e interagir com diferentes
plataformas de hardware e software)
- Prover o mínimo em
qualidade de serviços (como segurança, tempo de resposta
e disponibilidade)
Grid vs Cluster
Um ambiente de cluster constitui
em um sistema formado por hardware e software conectados em um
local apenas, servindo a usuários que estão trabalho somente em
um projeto, usado exclusivamente para resolver os problemas
computacionais de uma determinada organização. Por outro lado,
um Grid presta serviços de uma forma geograficamente
distribuída. Em um cluster, os recursos são gerenciados por uma
entidade central, e os computadores agem como se fosse um único
dispositivo.
Para sacramentarmos Grid x Cluster, utilizaremos a referência do
Prof Buyya. “Se acontece o compartilhamento de recursos
gerenciado por um único sistema global sincronizado e
centralizado, então é um cluster [...]".
Benefícios
- Explorar recursos
subutilizados e recursos adicionais (Recursos que podem ser
utilizados: ciclos de CPU, espaço em disco, conexões de
rede, equipamentos científicos)
- Capacidade de processamento
paralelo (Uma aplicação escrita utilizando-se de algoritmos
e técnicas de programação paralela pode ser dividida em
partes menores e estes podem ser separados e processados
independentemente. Cada uma destas partes de código podem
ser executadas em uma máquina distinta no Grid, melhorando a
performance)
- Dispositivos e organizações
virtuais (Recursos e máquinas podem ser agrupados e
trabalharem juntos formando o que pode ser chamado de uma
Organização Virtual )
- Confiabilidade
(Utilizando-se uma abordagem baseada em Grids, com máquinas
espalhadas em diversos lugares diferentes, quando uma falha
atinge uma parte do Grid as demais podem continuar sua
operação normalmente)
Tipos de Grid
- Grids computacionais
- Ciclos de processamento são os recursos compartilhados
neste tipo. Existem três formas de explorar os recursos
computacionais em um grid:
- executar uma aplicação
em qualquer máquina disponível do grid,independentemente
de onde esteja localizada;
- quebrar o aplicativo em
partes menores para que estas possam ser executadas
paralelamente através do grid;
- executar uma tarefa que
precisa rodar várias vezes em diferentes máquinas do
grid.
- Grids de dados - O
espaço de armazenamento disponível em cada máquina é
compartilhado pelo grid. Desta forma aumenta a capacidade de
armazenamento como um todo, além de aumentar a performance,
compartilhamento e confiabilidade dos dados. Utilizando todo
o espaço como se fosse um sistema de arquivos só para todo o
grid facilita a localização de determinado arquivo, sendo
que este pode estar dividido em partes menores e espalhado
pelas máquinas participantes. Sistemas de gerenciamento
podem duplicar dados sensíveis em várias máquinas provendo
uma redundância.
- Grids de rede - Este
tipo de grid tem como principal funcionalidade prover
serviços de comunicação tolerantes a falhas e com alta
performance. Máquinas com conexões ociosas podem ser
utilizadas para enviar porções de dados ou prover
redundância nas transmissões.
Aplicações
|
Área de pesquisa |
Computacional |
Dados |
Rede |
| Física |
X |
X |
|
| Biologia e
genética |
X |
X |
|
| Química |
X |
X |
|
| Materiais |
X |
|
|
| Astrofísica |
X |
|
|
| Aeroespacial |
X |
|
|
| Automotiva |
X |
|
|
| Análises
econômicas |
X |
|
|
|
Processamento de imagens |
X |
X |
X |
| Acesso
remoto a aparelhos |
|
X |
X |
Ferramentas e padrões
A utilização de padrões é um
requisito para os Grids. Os padrões estão sendo desenvolvidos
pelo Global Grid Forum, uma entidade que possui centenas de
membros, representando mais de 400 organizações e empresas
em mais de 50 países. Os padrões desenvolvidos:
- Open Grid Services
Architecture (OGSA): define o que são os serviços e toda a
estrutura que pode ser provida em um ambiente grid . É
baseada nos padrões já definidos para os Web Services e
considera um serviço em um grid como um Web Service com
algumas particularidades
- Open Grid Services
Infrastructure (OGSI): OGSI é a especificação concreta da
infraestrutura da OGSA. Baseado nas tecnologias de Grids e
Web Services, é o middleware para os chamados grid services,
ou serviços do Grid, definindo como construir, gerenciar e
expandir um serviço.
- Novos padrões estão sendo
desenvolvidos e aprimorados.
- Globus Toolkit :
implementação das especificações OGSA/OGSI. Bindings para C
e Java. Usando os Commodity Grid Toolkits é possível
trabalhar em outras linguagens como Python, Perl, entre
outras.
- IBM Grid Toolbox : versão
comercial do Globus. C e Java
- Legion
- Ourgrid : projeto brasileiro
desenvolvido pela Universidade Federal de Campina Grande
- Ferramentas comerciais:
Platform LSF, Avaki Grid Server,
- Diversas ferramentas para
portais de Grids: Grid Portal Development Kit. Legion Grid
Portal. GridPort. Sun Techical Computing Portal. GridSphere.
Exemplos no mundo
- ChinaGrid (interligação de
universidades e governo)
- Projeto eDiamond
(processamento de mamografias)
- Molecular Modeling
Laboratory – UNC (desenvolvimento de drogas)
- DEISA (interligação de
laboratórios científicos)
- AccessGrid (video
conferência e e-learning)
- TeraGrid (interligação de
universidades)
- World Community Grid
(utilização de processamento de desktops para vários
projetos)
Futuro
- Não existe expert em Grids
(os padrões são recentes e a tecnologia ainda está sendo
desenvolvida e se solidificando)
- Grid Economy (empresas
vendendo ciclos de CPU e espaço em disco ociosos )
- Grid mundial (todas as
máquinas no mundo conectadas e compartilhando recursos )
- “Desktop virtual” ( quanto o
usuario liga o computador este se conecta a um grid e passa
a compartilhar seus recuros (cpu,storage). Todos os
aplicativos estão instalados no grid e nãonco computador
local. Quanto solicita por um aplicativo este é fornecido
pelo grid. Seu processamento é distribuído. O usuário sempre
salva seus dados no grid. Pode acessá-los em
qualquer lugar do grid )
Fonte:
www.eltonminetto.netdocspalestra_grids.pdf
Tópicos Relacionados:
|