Escolar Documentos
Profissional Documentos
Cultura Documentos
vs
Sistemas distribuídos
Prof. Me. Fábio Gomes
Características de sistemas centralizados
• Acesso local;
• Homogeneidade;
• Facilidade de gerência;
• Maior consistência;
• Segurança contra intrusos.
Características de sistemas distribuídos
•Acesso remoto;
•Heterogeneidade;
•Modularidade;
•Escalabilidade;
•Compartilhamento de recursos;
•Degradação paulatina;
•Mais sujeito a ataques;
Que valores a distribuição pode
• Confiabilidade: adicionar?
•Como calcular a confiabilidade de um
sistema?
•Redundância é natural.
• Crescimento modular;
• Integração de serviços;
• Custo:
•É importante considerar o aumento do custo
com gerência!
Antes dos sistemas distribuídos
• Acesso remoto
Primeiras formas de distribuição
serviços
resiliência de processos
resiliência de dados
ações atômicas
• modelo lógico
processos e canais
15
Modelo físico
relógio
local memória NODO j
local
processador interface
de mensagens
rede
disco
NODO k
16
Comunicação:
topologias ponto a ponto
totalmente
estrela
conectado
árvore
17
Arquiteturas peer-to-peer
Topologia barramento
bus, barra ou via
nodos
barramento
comum
nodos
19
Modelo lógico
cada processo pode estar em
um nodo diferente
• aplicação distribuída
• conjunto de processos concorrentes
• processos cooperam para realizar uma computação
• cada processo é seqüencial
todos os processos avançam na execução
• progresso finito
• nada pode ser dito sobre velocidades relativas entre os processos
20
Modelo lógico
•rede completamente conectada
• topologia não é considerada
•processos e canais
• existe um canal entre quaisquer dois processos que
interagem
• canais com buffer infinito e livres de erros
• canais entregam mensagens na ordem que foram
enviadas (ordem preservada no canal)
21
•Observe-se que estas características não são necessariamente
válidas para o meio físico
Modelo lógico
•ordenação de mensagens
• ordem das mensagens é preservada em um canal
• nada é estabelecido sobre mensagens que chegam a
um nodo vindos de diferentes canais
cb
preservada ordem de
pi
a
envio
can cb
al a
no modelo físico, as
mensagens a, b e c podem pj
trafegar por rotas diferentes
23
Canal
xy
pa pc mxyn
xy
pb mn
pd xmny
24
Sistemas síncronos e assíncronos
definidos pela existência de limites de tempo
• sistema síncrono
• existe um limite de tempo finito e conhecido
• sistema assíncrono
• não existe um limite de tempo
• impossível determinar se o sistema está simplesmente atrasado por
sobrecarga ou se está com defeito 25
Limites de tempo
26
Vantagem do sistema síncrono
• detecção de defeito
• defeito de um componente do sistema pode ser deduzido pela ausência
de resposta
usado para detectar defeitos em nodos
• timeout e perda de mensagens
27
Classificação de defeitos
mais restritiva de todas as classes modelo de Cristian
• colapso ou crash
• uma falha que causa a parada de um componente ou a perda do seu estado interno
• omissão
• um componente não responde a determinadas entradas
• engloba crash também chamada falha de
desempenho
• temporização
• o componente responde ou muito cedo ou muito tarde
• engloba omissão 28
Classificação de falhas
• resposta
• computação incorreta, o componente produz respostas incorretas para
algumas entradas
considerada caso especial de
• não engloba as anteriores bizantinas
arbitrária
comportamento
resposta adiantada ou retardada totalmente arbitrário e
imprevisível
30
Exemplos de classes de falhas
• Processador:
• crash ou bizantinas
• Meio de armazenamento
• temporização, omissão ou resposta
• Software: resposta 31
Modelos de falhas
várias classificações
• Fred B. Schneider diferentes na literatura,
• Failstop (detectável pelos demais) mas que não diferem
muito das de Cristian e
• Crash (Lamport and Fischer, 1982) Schneider
• crash + link (Budhiraja et al., 1992)
• omissão de recepção (Perry and Toueg, 1986)
• omissão de envio (Hadzilacos, 1984)
• omissão geral (Perry and Toueg, 1986)
• comportamento bizantino (Lamport, Shostak and Pease, 1982) 32
Comunicação entre processos
• troca de mensagens
• SEND e RECEIVE
• primitivas de comunicação e sincronização
• troca de mensagens
• assíncrona
• síncrona (sem buffer - CSP)
• RPC
• call service (value_args, result_args)
• comunicação síncrona
• falhas executando RPC
• órfãos
• execuções indesejadas de procedimento remoto, ocasionada por defeito
durante invocação
• ordem de chamadas 35
Orientação a objetos
• Lamport (78)
• meio de assinalar um número a um evento
• clock lógico
• carimba um evento de forma que a relação de ordem parcial é mantida
• pode ser facilmente implementado
• usando contadores
42
Ordenação total com clock lógico
• relógio lógico pode ser usado para ordenação total
(Lamport 78)
• mensagens de diferentes processos podem possuir o
mesmo timestamp
• se duas mensagens possuem o mesmo timestamp devem
ter sido originadas em diferentes processos
• para estabelecer uma ordem, basta ordenar os processos
de alguma forma
a mesma forma de ordenação deve ser seguida
por todos os processos
43
Ordenação total
• uma implementação possível
• eventos com mesmo timestamp são ordenados pela ordem
lexicográfica dos nomes dos processos
44
Exemplo
Pb envia b1 antes de Pa enviar a1
a1 b1 a2 b3
pa pc
a1 a2
ordem total
preservada
a2 ordem parcial
preservada
a1 b1 a2 b3
pb b1 b3
pd
Pb recebe a2 após enviar b1 b1 a1 b3 a2
45
Atividades
46
Arquitetura de sistemas distribuídos
• Material baseado
• Pankaj Jalote. Fault Tolerance in Distributed Systems. Prentice Hall,
1994.
47