Computação em Grid
usando OurGrid
Walfredo Cirne
Universidade Federal de Campina Grande
http://walfredo.dsc.ufcg.edu.br
mailto:[email protected]
© 2004 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice
O que é um Grid?
Computational Grid
(source of computational
resources and services)
Para que serve um Grid?
Para que serve um Grid?
Para que serve um Grid?
Para que serve um Grid?
O Impacto de Grids
VR Simul
MegaCiclos
Databank Inc.
Embratel
Mastercard
Grid Auditing
Estado Atual de Grids
•
A idéia de Grid surgiu na comunidade de
Computação de Alta Performance há pouco
menos de 10 anos
− Agora os primeiros Grids de Alta Performance
começam a entrar em produção
•
Há 3 anos, o mainstream da computação
percebeu a possibilidade de usar tecnologia Grid
para transformar computação em serviço
− A tecnologia Grid está se fundindo com Web Services
O que dá pra fazer hoje?
•
Cada site mantém controle e escalonamento
local
•
É possível configurar o mapeamento de usuários
globais para usuários locais
•
Aplicações usam o Grid como um todo através
de brokers (ou escalonadores de aplicação)
•
Montar um Grid envolve uma negociação off-line
Rodando uma Aplicação Globus
O Projeto OurGrid
•
Projeto desenvolvido em parceria pela UFCG e
HP
A Tecnologia OurGrid
•
OurGrid é uma solução grid para execução de
Aplicações Bag-of-Tasks
•
Aplicações Bag-of-Tasks são aquelas aplicações
cujas tarefas são independentes
•
Não é viável fazer computação em grid de
aplicações fortemente acopladas na Internet de
hoje
Aplicações Bag-of-Tasks
•
Data mining
•
Pesquisa massiva (como quebra de chave e
sequenciamento de gens)
•
Varredura de parâmetros
•
Simulações
•
Fractais (como Mandelbrot)
•
Manipulação de imagem (como tomografia)
•
E muitas outras…
Diferenciais do OurGrid
•
Montagem automática de grids
− Evitando assim todo procedimento de negociação offline
•
Escalonamento de aplicação (brokerage) que
não depende de informações sobre a aplicação e
sobre o grid
Componentes do OurGrid
•
MyGrid Broker: Permite um usuário utilizar todas
as máquinas a que tem acesso
•
OurGrid Community: Fornece acesso a máquinas
dentro do COPAD
•
SWAN: Segurança
Arquitetura OurGrid
Site Manager
User Interface
SWAN
, ... ,
1
n
MyGrid
Sandboxing
OurGrid: Uma Rede de Favores
•
Usuários locais sempre têm prioridade nos
recursos locais
•
Recursos ociosos são doados para comunidade
•
A grande questão é como fazer esta doação de
forma justa
Evitando o “Gerson”
•
É fundamental ter um mecanismo que encoraje
of participantes a doarem seus computadores
ociosos
− Em sistemas como KaZaA, a maioria é “Gerson”
•
OurGrid usa um sistema de reputação peer-topeer
− Todos os peer mantém um balanço local de todos os
peers conhecidos
− Peers com maior balanço têm prioridade
− O comportamento emergente do sistema como um
todo é “quanto mais você doa, mais você recebe”
− Isso funciona sem requerer infra-estrutura adicional
Exemplo do OurGrid [1]
B 60
D 45
MyGrid
A
D
ConsumerQuery
(broadcast)
*
ProviderWorkRequest
C
ConsumerFavor
ProviderFavorReport
B
* = no idle resources now
*
E
Exemplo do OurGrid [2]
B 60
D 45
A
E
0
*
ConsumerQuery
D
ProviderWorkRequest
*
MyGrid
MyGrid
C
B
E
* = no idle resources now
E o “Gerson”?
•
Epsilon is a fração dos recursos consumida por
“Gersons”
Equidade entre colaboradores
MyGrid: o broker do OurGrid
•
Para fechar meu doutorado (em 2000), tive que
rodar 600.000 simulações independentes
•
Dado que as simulações eram independentes, eu
tinha a aplicação perfeita para o grid
•
Eu estava em um laboratório grid de ponta, mas
não consegui usar o grid
− Você precisa da negociação off-line para ter um grid
Objetivos do MyGrid
•
MyGrid possibilita a um usuário de aplicações
Bag-of-Tasks usar qualquer computador a que
ele tem acesso para rodar suas aplicações
•
O grid de Zé são todas as máquinas a que Zé
tem acesso
− Não é necessário ter nenhuma infra-estrutura grid
especial
− Mas infra-estrutura grid pode ser usada (se estiver
disponível)
Arquitetura MyGrid
Home
Machine
Scheduler
Grid Machine Interface
Globus
Proxy
Globus
GRAM
Grid Machine
UA
Proxy
Grid
Script
...
User
Agent
Grid Machine
...
Grid Machine
Fatorando com MyGrid
•
init
put Fat.class $PLAYPEN
•
grid1
java Fat 3 18655 34789789799 output-$TASK
•
collect
•
grid2
get $PLAYPEN/output-$TASK .
java Fat 18655 37307 34789789799 output-$TASK
Como escalonar no MyGrid?
•
Escalonamento tipicamente se baseia em
informação sobre a plataforma (no caso, o grid) e
sobre a aplicação (ex: tempo de execução da
tarefa)
•
Todavia, depender de informação vai contra a
idéia de usar qualquer recurso ao qual o usuário
tenha acesso
− A Grid Machine Interface teria que ser bem mais
sofisticada, e portanto mais difícil de implementar
•
Além disso, pedir informação sobre a aplicação
ao usuário tornaria o sistema mais difícil de usar
Escalonando sem Informação
•
Work-queue with Replication
− Tarefas são enviadas a processadores disponíveis
− Quando não há mais tarefas a iniciar, tarefas são
replicadas nos processadores disponíveis
− A primeira replica a terminar é a “execução oficial”
− As demais replicas são canceladas
− É possível estabelecer um limite para replicação
•
Replicação evita ficar esperando por máquinas
lentas/sobrecarregadas
Work-queue with Replication
•
8000 experimentos
•
Experimentos variaram em:
− heterogeneidade do grid
− heterogeneidade da aplicação
− granularidade da aplicação
•
Sumário dos resultados:
Average
Std. Dev.
Sufferage
13530.26
9556.55
DFPLTF
12901.78
9714.08
Workqueue
23066.99
32655.85
WQR 2x
12835.70
10739.50
WQR 3x
12123.66
9434.70
WQR 4x
11652.80
8603.06
Granularidade da Aplicação
Overhead do WQR
•
•
Obviamente, a desvantagem do WQR são os
recursos desperdiçados pelas replicas
canceladas
Recursos desperdiçados:
Average
Std. Dev.
WQR 2x
23.55%
22.29%
WQR 3x
36.32%
34.79%
WQR 4x
48.87%
48.93%
Prova de Conceito
•
Durante um período de 40 dias, rodei 600,000
simulações usando 178 processadores
espalhados por 6 sites nos EUA
•
As simulações executaram por 16,7 dias
•
Meu computador desktop teria levado 5,3 anos
processando as simulações
•
Speed-up = 115.8 (com 178 processadores)
MyGrid na Luta contra AIDS
?
HIV-1
HIV-2
B,c,F
O
N
M
A
B
C
D
F
G
H
J
K
prevalent in Africa
prevalent in Europe and Americas
majority in the world
18% in Brazil
HIV protease + Ritonavir
RMSD
Subtype F
Subtype B
O MyGrid da luta contra AIDS
•
55 máquinas em 6 sites no Brasil e EUA
•
Tarefa = 3.3 MB entrada, 1 MB saída, 4 a 33
minutos de execução dedicada
•
Rodou 60 tarefas em 38 minutos
•
Speed-up = 29.2 (com 55 máquinas)
Segurança no OurGrid
•
Na comunidade OurGrid, um site roda código
desconhecido que veio do grid
•
Claramente, isto é um (grande) risco de
segurança
− Pode afetar dados e recursos locais das máquinas
− A máquina pode ser usada para atacar outras
•
Aproveitamos o fato de aplicações Bag-of-Tasks
só precisarem se comunicar para receber a
entrada e devolver a saída para rodar a
aplicação do grid em um sandbox sem acesso a
rede
Uma segunda linha de defesa
•
Nós também rebootamos a máquina para
adicionar uma segunda linha de defesa
•
Isto também tem a vantagem extra de possibilitar
o uso de um SO diferente
− Ou seja, mesmo que a máquina seja Windows, nós
ainda podemos ter Linux
•
Retornar ao SO nativo é muito rápido graças a
hibernação
Arquitetura SWAN
Native
Application
Grid Application
reboot
Host OS
Grid OS
Grid Middleware
Guest OS
OurGrid Status
•
A solução OurGrid é software de código aberto
(licença GPL), disponível em www.ourgrid.org
− Contando com colaborações externas do Inst. Eldorado,
Inst. Atlântico, e UFRGS
•
OurGrid está na versão 3.0.2
− É a 9ª versão disponível
− É a 3ª versão a disponibilizar a rede de favores
− Aproximadamente 200 downloads
− Grid aberto em produção desde de dezembro
•
SWAN está em testes finais
− Com lançamento dia 30 de abril de 2005, na versão 3.1
status.ourgrid.org
Projetos que usam OurGrid
•
Segurança Hídrica, liderado pela UFCG
•
Segurança Pública, liderado pela UniFor
•
BioPAUÁ, liderado pelo UniSinos
•
Mineração de dados, liderado pela UniSantos
•
Raciocínio Bayesiano, liderado pela USP
•
Uso do solo amazônico, liderado pela UNIR
•
Ruas de POA, liderado pela PUC-RS
•
HIV Brasileiro, liderado pela LNCC/UFRJ
•
Saúde em Recife, liderado pelo UFPE/CESAR
Muito Obrigado!
Mais em www.ourgrid.org
© 2004 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice
Download

Computação em Grid usando OurGrid