• Nenhum resultado encontrado

Um Serviço Escalável e Robusto para Gerenciamento de Membros em Grades Computacionais de Grande Escala*

N/A
N/A
Protected

Academic year: 2021

Share "Um Serviço Escalável e Robusto para Gerenciamento de Membros em Grades Computacionais de Grande Escala*"

Copied!
35
0
0

Texto

(1)

Um Serviço Escalável e Robusto para

Gerenciamento de Membros em Grades

Computacionais de Grande Escala*

Fernando Castor Filho

1

, Rodrigo Castro

2

,

Augusta Marques

2

, Francisco M. Soares-Neto

2

,

Raphael Y. Camargo

3

e Fabio Kon

4

1

Universidade Federal de Pernambuco

2

Universidade de Pernambuco

3

Universidade Federal do ABC

(2)

Falhas em Grades

Problema importante

Desperdício de recursos computacionais e de rede

Perda de tempo (recursos podem precisar ser reservados

novamente)

Escala

piora o problema

Defeitos se tornam comuns

Grades

oportunistas

Infraestrutura de grade compartilhada

Nós saem/falham com frequência

(3)

Alcançando Tolerância a Falhas

Primeiro passo:

detectar

defeitos...

Então

fazer algo

sobre isso

Outros nós da grade também devem ter

consciência

da situação

Senão, o

progresso

pode ser

prejudicado

Cada nó deve ter uma visão atualizada dos

membros do grupo

(4)

Requisitos para Gerenciamento de

Membros em Grades

1. Escalabilidade

2. Autonomia

3. Eficiência

4. Capacidade de lidar com dinamismo

5. Independência de plataforma

6. Distribuição (Descentralização)

7. Facilidade de Configuração

(5)

Nossa Proposta

Um serviço de gerenciamento de membros que

satisfaça os requisitos mencionados

Foco em manter uma visão consistente do grupo a

todos os processos

mesmo com

falhas catastróficas

Combina avanços recentes em

Disseminação Epidêmica

Detectores Adaptativos

(6)

Disseminação de Informação

Epidêmica/Baseada em Boatos

Baseada na maneira como doenças infecciosas

se espalham

Periodicamente, cada participante infecta

aleatoriamente um de seus “vizinhos”

Infecta = envia informação que

(potencialmente)

modifica seu estado

Protocolos de consistência fraca

(7)

Arquitetura do Serviço de

Gerenciamento de Membros

Tratador de

Defeitos 1

Processo Monitorado

Disseminação

de Informação

Gerenciamento

de Membros

Monitor

Detector

Cumulativo

de Defeitos

Detector de Defeitos

Tratador de

Defeitos 2

Tratador de

Defeitos N

Nó1

Nó3

Nó4

Nó2

Cada nó roda uma instância do serviço

de gerenciamento de membros

(8)

Gerenciamento de Membros

Trata pedidos de inclusão ao

grupo

Dissemina informação sobre

novos membros

Informa-os sobre membros existentes

Remove membros defeituosos do grupo

Processos defeituosos podem também voltar

(9)

Detector de Defeitos

Coleta dados

sobre

K

processos

Envia heartbeats

Disseminados

periodicamente (

T

hb

)

se p

1

monitora p

2

então há uma conexão

TCP entre eles

Detector Cumulativo de Defeitos

(10)

Coletando Informação Suficiente

Detectores adaptativos precisam

receber informação sobre processos

monitorados

regularmente

Também se aplica a detectores

cumulativos

Protocolos epidêmicos tradicionais não são regulares

Solução:

relações de monitoramento persistentes

entre processos

Estabelecidas aleatoriamente

Exibem as propriedades desejadas de protocolos

epidêmicos

(11)

Tratadores de Defeitos

Para cada processo monitorado,

um conjunto de limiares é

configurado

Por exemplo: 85, 90, e 95%

Um tratador é associado a cada um

Várias estratégias de tratamento são possíveis

Cada uma é executada quando o limiar

correspondente é alcançado

(12)

Disseminação de Informação

Responsável por espalhar a

informação

Sobre nós falhos

(mensagens específicas)

Importante para tratamento de defeitos

Sobre membros corretos

(de carona em mensagens de

heartbeat)

Velocidade de disseminação é baseada no

parâmetro

J

(13)

Implementação

Escrita em

Lua

Compacta, eficiente, extensível, e independente de

plataforma

O serviço é empacotado como um módulo Lua

reusável

Usa um

ORB CORBA

leve (OiL) para IPC

Também escrito em Lua

(14)

Garantindo um Mínimo de

Processos Monitores

Caso um processo

p

detecte que um processo

q

que o monitora

falhou

Solicita a outro processo

s

que o monitore

s

escolhido aleatoriamente

Caso

s

também tenha falhado

Não tenta novamente de imediato

Poderia resultar em muitas

mensagens adicionais

(15)

Garantindo um Mínimo de

Processos Monitores

Garante que cada processo seja monitorado

por pelo menos

K

outros (parâmetro

H

)

Garante a

robustez

do grupo

Mecanismo simples e econômico

Cada processo executa a cada

T

hb

segundos

(16)

É monitorado por

Foi pedido monitoramento

Legenda:

Exemplo com K = 4

A

B

C

D

E

F

G

Quantidade de nós

que monitora

A

é

igual a

K

(17)

É monitorado por

Foi pedido monitoramento

Legenda:

Exemplo com K = 4

A

B

C

D

E

F

G

Dado defeito em

G

,

é desfeita a relação

de monitoramento

(18)

É monitorado por

Foi pedido monitoramento

Legenda:

Exemplo com K = 4

A

B

C

D

E

F

G

A

solicita a

F

que o

monitore. A união de

processos que

monitoram

A

e aos

quais ele solicitou é

igual a

K

(19)

É monitorado por

Foi pedido monitoramento

Legenda:

Exemplo com K = 4

A

B

C

D

E

F

G

Enquanto a união

dos conjuntos citados

não for menor que

K

,

não é possível fazer

mais solicitações

(20)

É monitorado por

Foi pedido monitoramento

Legenda:

Exemplo com K = 4

A

B

C

D

E

F

G

Sendo detectado

defeito em

F

,

espera

antes de fazer novos

pedidos

, de forma a

não sobrecarregar a

rede em casos de

falhas catastróficas

(21)

É monitorado por

Foi pedido monitoramento

Legenda:

Exemplo com K = 4

A

B

C

D

E

F

G

Após espera,

A

pode

fazer nova solicitação

de monitoramento

(22)

É monitorado por

Foi pedido monitoramento

Legenda:

Exemplo com K = 4

A

B

C

D

E

F

G

Sendo aceita, o

número de processos

que monitoram

A

(23)

Heartbeats informativos

O serviço proposto garante que todos

processos

são monitorados

Não garante

que todos monitorem processos

Podem haver processos que

nunca recebam

informações

sobre novos processos

Solução

A cada

T

hb

segundos, envia-se um heartbeat para

um processo

p

monitorado

Função meramente

informativa

(24)

Heartbeats Informativos

Resultam em custo constante por processo (em

termos de mensagens enviadas por turno)

Custo pode ser significativo

Para valores baixos de

K

,

custo alto

(se

K

= 4,

custo equivale a aumentar em 25%)

Para valores altos (

K

>10), custo pequeno

Pode ser configurados para enviar HBIs com menor

(25)

Avaliação

Meta principal: avaliar

escalabilidade

e

robustez

40-200 nós concorrentes

Distribuídos entre sete máquinas equipadas com 1GB de

RAM, rodando Kubuntu 8.04

Rede 100Mbps Fast Ethernet

WAN Emulada

latência = 500ms e jitter = 250ms

Parâmetros

T

hb

= 2s,

K

= 4,

J

= 6,

(26)

Robustez

Capacidade de criar novas relações de

monitoramento quando falhas catastróficas

ocorrem

Para cada processo

p

Garantir que o número de processos que o

monitoram mais o número de processos a quem

ele pediu que o monitorassem seja igual a

K

Não deve resultar em processos isolados ou

(27)

Falhas em Blocos Separados

100 falhas

separadas em 2 blocos

(28)
(29)

Escalabilidade

Avaliação baseada na quantidade média de

mensagens enviadas

40, 80, 120, 160, e 200 instâncias do serviço

Cada experimento com 10000 turnos de trocas de

(30)
(31)

Com Falhas

Usando 200 processos, com 10% de falhas injetadas, crescimento de 4,4%

Com 50% de falhas, crescimento de 11,79%

(32)

Falhas em Blocos Separados

(33)

Comparação de Uso de HBIs

Produção de mais mensagens é um trade-off válido

pela rapidez na descoberta de mudanças no grupo

(34)

Conclusões

Principal contribuição: um serviço de gerenciamento de

membros robusto e escalável

garantindo que a rede se mantém estável;

e que a estabilidade é alcançada rapidamente;

de maneira escalável (sem exigir muito mais mensagens

para isso);

Trabalho atual:

Integração com plataformas de Middleware (InteGrade e

OurGrid)

(35)

Obrigado!

Dúvidas?

Contato:

Francisco M. Soares-Neto

fmssn@dsc.upe.br

Referências

Documentos relacionados

Antes de ingressar na sociedade em 2014, trabalhou na “Raposo Subtil e Associados - Sociedade de Advogados, R.L.”, entre 2013 e 2014, e na “Nuno Cerejeira Namora, Pedro

radia¸c˜ ao do campo espalhado para uma perturba¸c˜ ao de 10% na velocidade compressional para modelos: homogˆ eneos (em verde) e final (frequˆ encia de corte de 30 Hz) (em azul) -

In the present study, IPost protected the heart against IR injury in the C-IPost group through the recovery of LVEDP, LVDP and ± dp/dt, whereas no significant effects on the hearts

Gráfico 1 Porcentagem de enraizamento e de brotação A, número médio de raízes e brotos B de estacas caulinares e radiculares de amoreira vermelha Rubusrosifolius tratadas com

Não houve diferenças estatísticas no tipo de bactéria isolada segundo os grupos definidos (Streptococcus sp, outros aeróbios e anaeróbios) com relação ao uso ou não

No período de primeiro de janeiro a 30 de junho de 2011, foram encaminhadas, ao Comitê de Segurança do Paciente da instituição sede do estudo, 218 notificações de

Um líder arrojado de pulso firme(infundir respeito e temor aos insubmissos) (infundir respeito e temor aos insubmissos) e. Aos liderados vai a dica de estarem sempre ligados

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças