A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura de sistemas distribuídos

Apresentações semelhantes


Apresentação em tema: "Arquitetura de sistemas distribuídos"— Transcrição da apresentação:

1 Arquitetura de sistemas distribuídos
Ingrid Jansch Pôrto 2006 Agradecimentos a Taisy Silva Weber pelo conjunto de slides original, a partir do qual este foi realizado.

2 Arquitetura de sistemas distribuídos
Material baseado Pankaj Jalote. Fault Tolerance in Distributed Systems. Prentice Hall, 1994. Mukesh Singhal & Niranjan Shivaratri. Advanced Concepts in Operating Systems. McGraw Hill, 1994. Sape Mullender. Distributed Systems. Addison-Wesley, 2nd edition, 1994. Ingrid Jansch Porto

3 Níveis serviços software tolerante a falhas resiliência de processos
resiliência de dados ações atômicas recuperação para um estado consistente difusão confiável e atômica blocos básicos processador fail-stop, armazenamento estável, comunicação confiável, consenso bizantino, sistema distribuído Ingrid Jansch Porto

4 Sistemas distribuídos
Modelos de Sistemas Distribuídos (SD): modelos físico e lógico; comunicação entre processos Relógios lógicos e ordenação de eventos Estado global do SD Canais de comunicação Modelos de computação. Modelos de defeitos Acordo bizantino Ingrid Jansch Porto

5 Modelos de sistemas distribuídos
Modelo físico: definido pelos componentes físicos do sistema. Ë o nível de realização da computação (rede real). Modelo lógico: definido do ponto de vista do processamento ou da computação. Corresponde ao ponto de vista do usuário; serve de base para a definição de serviços. Em sistemas robustos, o modelo lógico é independente das falhas que ocorrem sobre o modelo físico. Ingrid Jansch Porto

6 Sistemas distribuídos
sem memória compartilhada sem relógio global modelos modelo físico modelo lógico processador relógio local memória local volátil armazenamento não volátil interface de rede software nodos e rede o modelo físico é de interesse secundário nessa disciplina; entretanto, para melhorar o desempenho, características físicas especiais do meio podem ser consideradas processos e canais Ingrid Jansch Porto

7 Modelo físico - memória não é compartilhada com demais nodos
- o relógio é local a cada nodo NODO i relógio local memória local NODO j processador interface de rede mensagens disco NODO k Ingrid Jansch Porto

8 Comunicação: topologias ponto a ponto
totalmente conectado estrela árvore Ingrid Jansch Porto

9 Topologia barramento bus, barra ou via nodos barramento comum nodos
uma mensagem enviada pelo barramento pode ser recebida simultaneamente por todos os nodos (broadcast) Ingrid Jansch Porto

10 Modelo lógico aplicação distribuída progresso finito
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 progresso finito nada pode ser dito sobre velocidades relativas entre os processos todos os processos avançam na execução Ingrid Jansch Porto

11 Modelo lógico rede completamente conectada processos e canais
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) Observe-se que estas características não são necessariamente válidas para o meio físico Ingrid Jansch Porto

12 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 não existe ordenação total de mensagens, apenas ordenação parcial razão: retardos nos canais (delay) Ingrid Jansch Porto

13 Canal ordem de mensagens preservada c b a p i c b a canal p j processo
ordem de envio c b a canal c b a no modelo físico, as mensagens a, b e c podem trafegar por rotas diferentes p j Ingrid Jansch Porto

14 Canal p a p c p b p d x y m x y n x y m n m n x m n y
ordem parcial preservada ordem total não preservada m n p b m n p d x m n y Ingrid Jansch Porto

15 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 correto opera dentro desse limite 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 Ingrid Jansch Porto

16 Limites de tempo canal de comunicação síncrono processador síncrono
retardo (delay) máximo é conhecido processador síncrono tempo de execução de um conjunto de instruções é conhecido e limitado existem limites de tempo que podem ser estabelecidos para determinar a conclusão de uma atividade Ingrid Jansch Porto

17 Vantagem do sistema síncrono
detecção de defeito defeito de um componente do sistema pode ser deduzido pela ausência de resposta timeout usado para detectar defeitos em nodos e perda de mensagens se um nodo não reponde após certo intervalo de tempo sistema síncrono - nodo com defeito sistema assíncrono - nada se pode afirmar Ingrid Jansch Porto

18 Classificação de defeitos
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 temporização o componente responde ou muito cedo ou muito tarde engloba omissão mais restritiva de todas as classes também chamada falha de desempenho Ingrid Jansch Porto

19 Classificação de falhas
resposta computação incorreta, o componente produz respostas incorretas para algumas entradas não engloba as anteriores bizantinas (arbitrárias ou maliciosas) falha arbitrária que provoca um comportamento totalmente arbitrário e imprevisível do componente durante o defeito engloba todas as classes de falhas considerada caso especial de bizantinas Ingrid Jansch Porto

20 Classificação de falhas
parada ou perda do estado interno sem resposta para algumas entradas respostas incorretas para algumas entradas crash omissão resposta temporização arbitrária comportamento totalmente arbitrário e imprevisível resposta adiantada ou retardada Ingrid Jansch Porto

21 Exemplos de classes de falhas
Processador: crash ou bizantinas Rede de comunicação: todos os tipos Clock: temporização ou bizantinas Meio de armazenamento temporização, omissão ou resposta Software: resposta Ingrid Jansch Porto

22 Modelos de falhas Fred B. Schneider
várias classificações diferentes na literatura, mas que não diferem muito das de Cristian e Schneider Fred B. Schneider Failstop (detectável pelos demais) Crash (Lamport and Fischer, 1982) 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) Ingrid Jansch Porto

23 Comunicação entre processos
troca de mensagens SEND e RECEIVE primitivas de comunicação e sincronização RPC (remote procedure call) mais alto nível que SEND e RECEIVE interação cliente / servidor invocação remota de métodos orientação a objetos Ingrid Jansch Porto

24 Comunicação entre processos
troca de mensagens assíncrona síncrona (sem buffer - CSP) troca de mensagens assíncrona buffer infinito transmissor nunca bloqueia buffered message passing buffer finito opera assincronamente até buffer ficar cheio Ingrid Jansch Porto

25 Comunicação entre processos
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 Ingrid Jansch Porto

26 Orientação a objetos modelo orientado a objetos
outro paradigma de comunicação de alto nível atualmente muito popular um processo executa um método em um objeto particular objeto pode residir em qualquer nodo processo envia mensagem ao objeto objeto executa uma ação e retorna resultado Ingrid Jansch Porto

27 Ordenação de eventos dificuldade de determinar relações temporais
RAZÃO: inexistência de clock global problema determinar ordenação temporal de eventos que ocorrem em nodos diferentes, medidos por relógios diferentes relação: a “aconteceu antes de” b : a b Ingrid Jansch Porto

28 Ordenação de eventos ordem parcial
se a e b são eventos do mesmo processo e a é executado antes de b então a  b se a é send e b é receive da mesma mensagem então a  b a  b e b  c então a  c eventos concorrentes: nem a  b, nem b  a Ingrid Jansch Porto

29 Clocks lógicos Lamport (78) sistema de clock lógico
relógios lógicos Lamport (78) meio de assinalar um número a um evento nenhuma relação com o tempo físico sistema de clock lógico Ci - clock local ao proc Pi, C - sistema de clock um sistema de clock lógico é correto se é consistente com a relação  para quaisquer eventos a e b, se a  b então C(a) < C(b) Ingrid Jansch Porto

30 Clocks lógicos clock lógico
a maior parte dos problemas de ordenação podem ser resolvidos com clocks lógicos, sem necessidade de relógios físicos sincronizados clock lógico carimba um evento de forma que a relação de ordem parcial é mantida pode ser facilmente implementado usando contadores numerando mensagens com numeração crescente exemplo de implementação: timestamp T Ingrid Jansch Porto

31 Timestamps Pi inclui seu timestamp nas mensagens m que envia
Tm: timestamp da mensagem m Duas condições: cada Pi incrementa Ci entre 2 eventos sucessivos recebendo mensagem m com Tm , Pj torna Cj maior ou igual ao seu valor atual e maior que Tm Ci - clock local ao processo Pi Ingrid Jansch Porto

32 Timestamps as duas condições asseguram realização da ordem parcial
implementação: um contador por nodo é suficiente impossível assinalar timestamps consistentes com a relação de ordem parcial puramente usando relógios físicos clocks físicos precisariam ser sincronizados para assegurar a relação de ordem parcial Ingrid Jansch Porto

33 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 Ingrid Jansch Porto

34 Ordenação total uma implementação possível
eventos com mesmo timestamp são ordenados pela ordem lexicográfica dos nomes dos processos preserva a relação de ordem parcial  todos os nodos classificam os eventos na mesma ordem, não assegura preservação de ordem temporal dos eventos concorrentes se a ordem temporal for importante, clocks lógicos não podem ser empregados Ingrid Jansch Porto

35 Exemplo a1 b1 a2 b3 a1 a2 a2 a1 b1 a2 b3 b1 b3 b1 a1 b3 a2 p a p c p b
Pb envia b1 antes de Pa enviar a1 a1 b1 a2 b3 p a p c a1 a2 ordem total preservada a2 ordem parcial preservada a1 b1 a2 b3 b1 b3 p b p d b1 a1 b3 a2 Pb recebe a2 após enviar b1 Ingrid Jansch Porto


Carregar ppt "Arquitetura de sistemas distribuídos"

Apresentações semelhantes


Anúncios Google