Ordenação. Sistemas Distribuídos e Tolerância a Falhas. Universidade da Beira Interior 07/08

Documentos relacionados
Ordenação. Relógios lógicos

Sistemas Distribuídos

Relógios Lógicos. Sumário. November 27, Relação Happened-Before. Relógios de Lamport. Relógios Vectoriais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sincronização em Sistemas Distribuídos

Modelos Fundamentais. Introdução. Interação. Falhas. Segurança. Prof. Adriano Fiorese

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua

Sistemas Distribuídos Capítulo 6 - Aula 10

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Comunicação de Grupo: Disfusão Confiável e Atômica

Sistemas Distribuídos Capítulo 8 - Aula 15

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos Estados globais. Vinícius Fernandes Soares Mota

Tolerância a Falhas com Máquinas de Estado

Sistemas Distribuídos Aula 16

Comunicação orientada a mensagens

Sistemas Distribuídos Aula 15

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos Capítulo 8 - Aula 14

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Consistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por:

Relógio Lógico Algoritmo de Lamport. Relógio Lógico Algoritmo de Lamport. Relógio Físico Algoritmo Centralizado. Relógio Físico Algoritmo Centralizado

Tempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos

SISTEMAS DISTRIBUÍDOS

Sincronização de Relógios e Relógios Lógicos. Histórico da comunicação. Tempo Global. Mecanismos de ordenação total

SISTEMAS DISTRIBUÍDOS

Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sincronização e Concorrência

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

PADI. Tempo em Sistemas Distribuídos PJPF, LAV INESC-ID/IST

Modelos Fundamentais de um SD. Modelo de Interação ou Sincronismo

Redes de Computadores. Prof. MSc André Y. Kusumoto

Introdução Tempo Lógico Relógios Lógicos de Lamport Relógios Lógicos Vetoriais. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol

Modelos Fundamentais de um SD. Modelo de Interação ou Sincronismo

Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol.

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Um sistema de difusão de informação a nível da aplicação

Aluísio Augusto Silva Gonçalves 17 de maio de 2018

Capítulo 3 Camada de transporte

Capítulo 3 Camada de transporte

falhas em sistemas distribuídos

Serviços de Comunicações Capítulo 3

Camada de Enlace. OSI x IEEE. Arquitetura IEEE 802. Redes. Nível de Enlace: Controle de Erros e Fluxo Multiplexação

Redes de Computadores. Prof. André Y. Kusumoto

Por exemplo, no endereço temos:

Trabalho do Curso de Redes de Computadores COS765/MAB /1

Sistemas Distribuídos. abril de 2015

Redes de Computadores

A camada de enlace de dados executa diversas funções específicas. Dentre elas

PROVIDING DEPENDABILITY FOR WEB SERVICES

Um Algoritmo Probabilista de Recuperação de Erros para Difusão Fiável

Sistemas Distribuídos Capítulo 8 - Aula 13

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

Nível de Enlace. Nível de Enlace. Serviços. Serviços oferecidos os nível de rede

Sistemas Distribuídos Capítulo 6 - Aula 12

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede

Sistemas Distribuídos

Redes de Computadores

Redes de Computadores RES 12502

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Canais de Comunicação

Desenvolvimento de um Middleware Distribuído para Ordenação de Mensagens Segundo os Algoritmos FIFO, Causal e Total

Sistemas entre Pares e Redes Sobrepostas

Rede Digital com Integração de Serviços RDIS

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

SECUNDÁRIA DE CAMARATE Plataforma Office 365. Gestão de alertas para correio eletrónico

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1

Inteligência Artificial Projecto 2

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIADO RIO GRANDE DO NORTE IFRN

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Teste A

Sistemas Distribuídos. Capítulo 6 - Aula 10

Transmissão Multicast Confiável e Experimentos na Internet

Redes de Computadores e Telecomunicações - Camada de Transporte

Portal Cliente MYG SYSTEM

Sincronização. Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol

Sistemas Distribuídos

Vamos fazer um pequeno experimento

Redes de Computadores

Jéfer Benedett Dörr

Departamento de Informática

POLÍTICA GESTÃO DA INFORMAÇÃO/CONFIDENCIALIDADE

O NÍVEL DE LIGAÇÃO DE DADOS. Nível de ligação de dados Controle de Fuxo Detecção de erros Controle de Erros

Telefonia IP. Transmissão de mídias pela Internet vs melhor esforço. Prof. Emerson Ribeiro de Mello. Instituto Federal de Santa Catarina IFSC

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Exame A

Sistemas Distribuídos

Novas Propostas para Protocolos de Streaming Luiz Eduardo Fontes Mello de Almeida

Sistemas Distribuídos. 7 Coordenação e Acordo. Coordenação e Acordo. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

PROTOCOLO DE COMUNICAÇÃO SÉRIE RS-232

1- Confiabilidade ( 2 ) Proteção contra perdas e estragos. 2- Integridade ( 3 ) Proteção contra interferência de cortes de funcionamento

PROTOCOLOS DE COMUNICAÇÃO

Controlo de Congestão TCP. Redes e Serviços de Comunicação Multimédia Secção de Redes de Comunicação de Dados

Camada de Transporte Protocolos TCP e UDP

Transcrição:

Ordenação Sistemas Distribuídos e Tolerância a Falhas Universidade da Beira Interior 07/08 Benjamim Marques M1440 Daniel Félix M1441 João Duarte a14951

Índice Introdução Problema FIFO Ordenação Causal Ordenação Total Ordenação Temporal Algoritmos

Introdução A ordenação é essencial em sistemas distribuídos. A primeira noção que temos é a de ordem física (ordem em relação a tempo). Se não considerarmos o tempo, temos apenas uma sequência de eventos.

Introdução (continuação) Ordenação: Objectivo Garantir que os eventos ocorrem sobre uma determinada ordem. Isto é conseguido por protocolos de entrega ordenada. Resultado - Permite indicar quais os eventos que ocorreram primeiro e assumir ou excluir, as causas e efeitos relacionadas entre os mesmos.

Problema A ordem que existe mais intuitiva é a ordem física, em que os eventos ocorrem numa linha de tempo real.

Problema (Exemplo) Considerando um grupo de utilizadores e uma lista de emails: X, Y, Z e A. O utilizador X envia um mensagem com o assunto Meeting. Os utilizadores Y e Z respondem enviando uma mensagem com o assunto Re:Meeting. Em tempo real, a mensagem de X foi primeiro enviada para Y. Y lê a mensagem e responde. Z lê ambas as mensagens de X e Y e então envia uma outra resposta que referencia as mensagens de X e de Y.

Problema (Exemplo) Mas, devido aos atrasos nas entregas das mensagens, estas podem ser entregues como na figura abaixo e alguns utilizadores poderiam ver estas mensagens de resposta (replies) na ordem errada, como por exemplo, o usuário A poderia ver:

Problema (Exemplo) Se os clocks dos computadores de X, Y e Z pudessem estar sincronizados, então cada mensagem poderia transportar o tempo do clock do computador local (um rótulo de tempo), quando ela fosse enviada. Se os clocks são aproximadamente sincronizados, então esses rótulos de tempo, estarão frequentemente na ordem correcta. Dado que clocks não podem ser sincronizados na perfeição num Sistema Distribuido, Lamport [1978] propôs um modelo de tempo lógico que pode ser usado para ordenar vários eventos em processos executados em diferentes computadores de um SD.

Precedência Se a e b são eventos no mesmo processo e a precede b, então a b. Se a é o envio da mensagem m e b é a recepção da mensagem m, então a b. Se a b e b c, então a c.

FIFO Quaisquer duas mensagens enviadas pelo mesmo processo são entregues a qualquer processo pela ordem de envio. A ordem FIFO é assegurada pela atribuição de um número de sequência local. O receptor entrega as mensagens à aplicação pela ordem dos seus números de sequência.

FIFO (continuação) Para isso o receptor deve ter um buffer temporário de mensagens recebidas fora de ordem e caso exista alguma em falta pedir a retransmissão da mesma.

FIFO (continuação) A ordenação FIFO pode ser insuficiente. Como John está à espera de receber as mensagens por ordem de execução das tarefas. Mas como recebe as mensagens de processos diferentes e o protocolo FIFO ignora a relação existente entre r e s existe um conflito e m2 é recebido antes de m1 (prococado também por um atraso na entrega de m1).

Ordenação causal Consiste na garantia que as mensagens enviadas por processos diferentes são entregues pela ordem correcta no receptor. Causal delivery envio p (m) envio q (n) entrega r (m) entrega r (n).

Ordenação causal (continuação) Limitações: Não garante que as mensagens dos processos concorrentes sejam ordenadas. Solução do FIFO Problema Causal

Ordenação Total Garante que quaisquer duas mensagens entregues a qualquer par de receptores são entregues na mesma ordem para ambos. Consiste na garantia que a entrega das mensagens se fazem em todos os processos pela mesma ordem. Se um processo entregar m1 entes de entregar m2, então qualquer outro processo que entregar m2 irá entregar antes m1.

Ordenação Total (continuação) Não implica nem a ordenação FIFO nem a Causal, a ordem de entrega pode ser arbitrária, desde que seja a mesma em todos os processos.

Ordenação Temporal Uma mensagem m1 precede temporalmente m2 e será recebida por essa ordem por todos os membros do grupo se e só se m1 for enviada antes de m2 com um certo intervalo de tempo ( t). Este tempo é o tempo aproximado que demora uma mensagem a ser entregue dentro de um sistema, ou o tempo de execução de um processo, ou a tempo de resposta de um controlo num processo físico.

Algoritmos de ordenação Causal Objectivo: Assegurar que as mensagens são entregues à aplicação de forma a respeitar a ordem causal, se m1 e m2 devem ser entregues ao mesmo processo e m1 precede m2 então m2 é entregue depois de m1.

Algoritmos de ordenação Causal (continuação) Uma das maneiras mais intuitivas é fazer com que cada mensagem carregue o sua própria lista passado. Para isto é necessário que cada processo mantenha uma lista de mensagens enviadas.

Algoritmos de ordenação Causal (continuação) Protocolo: Quando uma mensagem é enviada, leva a lista passado do seu processo emissor no campo de controlo. Depois de enviar a mensagem, o emissor adiciona essa mensagem á sua lista. Quando uma mensagem é recebida é verificado o seu campo de controlo. As mensagens que se encontram nessa lista que ainda não foram entregues podem ser imediatamente entregues mesmo que não tenham sido recebidas ainda.

Algoritmos de ordenação Causal (continuação) Depois de essas mensagens terem sido entregues á aplicação a mensagem recebida é adicionada a lista passado de mensagens recebidas do receptor. Isto garante que as mensagens enviadas serão todas entregues mesmo que as anteriores se percam, pois a última carrega todas as outras como garantia. Um ponto negativo deste protocolo é o tamanho exagerado do campo de controlo, pois este pode crescer indefinidamente podendo conter muitas mensagens. O que torna este protocolo impraticável.

Algoritmos de ordenação Causal (continuação) Deve ser completado com um mecanismo fundamental para eliminar informação obsoleta. Por exemplo no envio de 4 mensagens as 2 primeiras são entregues antes das 2 duas últimas serem enviadas, e então os receptores enviam uma mensagem a confirmar que receberam de forma a que as 2 últimas mensagens não carreguem as 2 primeiras.

Algoritmos de ordenação Causal (continuação) Uma forma de resolver este problema é reduzir o tamanho do campo de controlo guardando na lista passado apenas os identificadores das mensagens, em vez das mensagens completas. Nesta ideia assume-se que um 3º componente é responsável pela garantia de entrega. Ou seja, se uma mensagem for perdida, é de alguma forma retransmitida até ser recebida por todos os receptores pretendidos.

Algoritmos de ordenação Causal (continuação) Nesta forma a diferença é que quando uma mensagem é entregue e o campo de controlo é verificado se alguma mensagem ainda não tiver sido entregue a última é posta em espera até todas as outras chegarem e serem entregues. Só depois a última é entregue e o seu identificador adicionado a lista passado do receptor.

Algoritmos de ordenação Causal(continuação) Lamport Regras O relógio local é incrementado antes de cada evento no processo em 1 unidade. Quando um processo envia uma mensagem envia o número do clock do processo. Quando um processo recebe uma mensagem compara o valor do clock local cm o da mensagem e actualiza o clock local para o máximo entre os dois mais uma unidade.

Algoritmos de ordenação Total O objecto da ordenação total é assegurar que todas as mensagens são entregues a todos os receptores pela mesma ordem.

Algoritmos de ordenação Total (continuação) Relógios vectoriais Se no final todos os vectores forem iguais não se consegue ver a ordenação dos eventos e então associa-se, por exemplo, o numero do processo a cada um para ordenar.

Algoritmos de ordenação Total (continuação) Sequenciador Esta ideia consiste em seleccionar um processo especial e atribuir-lhe a tarefa de ordenar todas as mensagens. Todos os emissores enviam as suas mensagens para o sequenciador. Que por sua vez atribui um número de sequência único a todas mensagens e posteriormente irá retransmiti-las a todos os receptores pretendidos.

Algoritmos de ordenação Total (continuação) A ordenação total é a ordem pela qual o sequenciador processa as mensagens que chegam. Neste protocolo, a falha do sequenciador traz o problema da indisponibilidade e pode até requerer processos de recuperação complexos para assegurar o ordenamento correcto das mensagens.