© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to...

Preview:

Citation preview

© 2004 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice

Walfredo Cirne Universidade Federal de Campina Grande

http://walfredo.dsc.ufcg.edu.brmailto:walfredo@dsc.ufcg.edu.br

Computação em Grid usando OurGrid

O que é um Grid?

Computational Grid (source of computational resources and services)

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

Grid Auditing

MegaCiclos

Databank Inc.

Mastercard

Embratel

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 off-line

• 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

1, ... ,

n

User Interface

User Interface

Site ManagerSite Manager

SWAN

SandboxingSandboxingMyGri

d

SWAN

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-to-peer− 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

A

B

C

D

E

Exemplo do OurGrid [1]

ConsumerQuery(broadcast)

ProviderWorkRequest

ConsumerFavorProviderFavorReport

*

*

* = no idle resources now

MyGrid

B 60

D 45

Exemplo do OurGrid [2]

A

B

C

D

E

B 60

D 45

E 0

ConsumerQuery

ProviderWorkRequest

*

* = no idle resources now

*

MyGrid MyGrid

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

HomeMachine

Scheduler

Grid Machine Interface

GlobusProxy

UAProxy

GridScript

...

Grid Machine

GlobusGRAM

Grid Machine

UserAgent

Grid Machine

...

Fatorando com MyGrid

• initput Fat.class $PLAYPEN

•grid1java Fat 3 18655 34789789799 output-$TASK

•collectget $PLAYPEN/output-$TASK .

•grid2java 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: Sufferage DFPLTF Workqueue WQR 2x WQR 3x WQR 4x

Average 13530.26 12901.78 23066.99 12835.70 12123.66 11652.80 Std. Dev. 9556.55 9714.08 32655.85 10739.50 9434.70 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:

WQR 2x WQR 3x WQR 4x Average 23.55% 36.32% 48.87%

Std. Dev. 22.29% 34.79% 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

B,c,F

HIV-2HIV-1

M

O ABCD FGHJK

N?prevalent in Europe and Americasprevalent in Africa

majority in the world

18% in Brazil

HIV protease + Ritonavir

Subtype B

RMSD

Subtype F

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

reboot

Guest OS

Grid OS

Grid Middleware

Grid Application

Host OS

NativeApplication

reboot

Guest OS

Grid OS

Grid Middleware

Grid Application

Guest OS

Grid OS

Grid Middleware

Grid Application

Host OS

NativeApplication

Host OS

NativeApplication

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

© 2004 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice

Muito Obrigado!

Mais em www.ourgrid.org

Recommended