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

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

Sistemas Distribuídos. Capítulo 7 - Aula 16

Sistemas Distribuídos Capítulo 8 - Aula 15

2) Em relação aos algoritmos de sincronização de relógios:

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

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

Sistemas Distribuídos Capítulo 6 - Aula 12

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos Aula 16

Sistemas Distribuídos Capítulo 8 - Aula 14

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

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

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

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

Sistemas Distribuídos: Conceitos e Projeto

Consistência e Replicação

Visão do Usuário da DSM

Sincronização em Sistemas Distribuídos

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos: Conceitos e Projeto Resiliência de Processos

Replicação. Modelos de Consistência.

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

Exclusão Mútua em Sistemas Distribuídos

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos

Sistemas Distribuídos. Aleardo Manacero Jr.

MC714 - Sistemas Distribuídos. Leandro Villas

Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos Aula 13

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

SSC510 Arquitetura de Computadores. 8ª aula

Fundamentos de Sistemas Operacionais

MEMÓRIA COMPARTILHADA DISTRIBUÍDA

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

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

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

ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição

Programação Concorrente. 2º Semestre 2010

Sistemas Distribuídos Aula 10

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Canais de Comunicação

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Sincronização. Sincronização de Relógios. Relógios Físicos

Sistemas Distribuídos Aula 17

Por exemplo, no endereço temos:

CCNA 2 Conceitos Básicos de Roteadores e Roteamento. Capítulo 8 - Mensagens de Erro e de Controle do Conjunto de Protocolos TCP/IP

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 Grupos

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014

Linguagem de Programação II

Barramento. Prof. Leonardo Barreto Campos 1

Sistemas Distribuídos

# $ % & ' ( ) * ' ( ) *! " " Orientador +, -

Nível de Rede. Funções do nível de rede GCAR

Comunicação entre Processos

Gerenciamento de Transações em Banco de Dados

O que é um sistema distribuído?

Sistemas de Troca de Mensagens

Programação Concorrente

IPNv2 - Integração da Pós Negociação

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

ORGANIZAÇÃO DE ARQUIVOS INDEXADOS

Sistemas Operacionais

Sistemas Distribuídos Capítulo 5 - Aula 8

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Redes de Computadores

Sistemas Distribuídos

Sincronização e Comunicação entre Processos

Redes de Computadores

DISCO MAGNÉTICO Cabeçote Trilha

Programação Paralela e Distribuída Lista de Exercícios P2 2008/1

Sistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior

Introdução (hardware) INTRODUÇÃO Hardware. Introdução (hardware) Introdução (hardware) Introdução (hardware) Introdução (hardware)

Sistemas Distribuídos Aula 15

Sistemas Distribuídos

Pesquisa em Memória Secundária. Prof. Jonas Potros

SSC-0742 PROGRAMAÇÃO CONCORRENTE. Aula 04 Revisão de Arquiteturas Paralelas -Parte 2 Prof. Jó Ueyama e Julio Cezar Estrella

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

Administração de Banco de Dados. José Antônio da Cunha CEFET-RN

Informações importantes

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

Modelo de Programação Paralela

Exclusão Mútua Distribuída

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

Redes de Computadores e Aplicações. Aula 37 Roteamento IP Unicast Dinâmico RIP

Título: Como configurar o Agente de Backup em Nuvem?

Redes de Computadores

Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída)

OMNET++ APLICADO À ROBÓTICA COOPERATIVA

Organização e Arquitetura de Computadores INTRODUÇÃO

Sistemas Distribuídos

Transcrição:

Sistemas Distribuídos Professora: Ana Paula Couto DCC 064

Consistência Causal(3) Neste exemplo temos uma sequência de eventos permitida quando o depósito é consistente por causalidade, mas proibida quando o depósito é sequencialmente consistente. As escritas W 2 (x)b e W 1 (x)c são concorrentes, não sendo exigido que todos os processos as vejam na mesma ordem

Revisão Capítulos 6,7,8,12

Questão 1 Qual o problema introduzido quando aplicações distribuidas são desenvolvidas e executadas em diferentes máquinas? Defasagem entre os relógios diferença entre os valores dos horários diferenca entre a frequência de um relógio perfeito e um relógio comum Como exemplo, podemos considerar o programa make, onde fonte e executável estão em máquinas diferentes

Questão 2 Descreva o algoritmo de Cristian e o algoritmo de Berkeley em linhas gerais. Qual a principal diferença nos algoritmos? Cristian

Questão 2 Descreva o algoritmo de Cristian e o algoritmo de Berkeley em linhas gerais. Qual a principal diferença nos algoritmos? Berkley

Questão 2 Diferença entre os algoritmos: 1) Cristian: Servidor de tempo passivo; Necessidade de um servidor de tempo, com hora corrente exata 2) Berkley: Servidor de tempo ativo; Basta somente entrar em acordo em relação ao horário do servidor, mesmo que não tenha relação com a hora real

Questão 3 Ao se optar pela sincronização de relógios físicos ou relógios lógicos, deve-se considerar uma característica fundamental da aplicação, que determina a possibilidade da utilização de um dos algoritmos. Qual é esta característica? Para os processos (que formam a aplicação) não importa a hora exata, mas sim a ordem com que os eventos ocorrem

Questão 4 Descreva o algoritmo de Lamport para relógios lógicos. Qual a limitação da relação "acontece antes" que limita a aplicação deste algoritmo? O algoritmo de Lamport é utilizado para sincronizar relógios lógicos, ou seja, somente é importante para aplicação definir a ordem que ocorrem os eventos. É baseado na relação acontece antes ( a b).

Questão 4 Cada processo p i possui um estado consistente s i Processos se comunicam através de mensagens Ações de um processo: enviar e receber mensagens, mudar o próprio status Evento: ocorrência de uma ação associada ao processo Eventos dentro de um processo p i podem ser totalmente ordenados pela relação acontece antes ( happened before ), ou seja, a b, se e somente se a ocorre antes de b em p i Um sistema distribuído pode ser visto como uma coleção P de N processos p i, i = 1,2, N

Questão 4 Ao invés da sincronização de relógios, ordenação dos eventos: 1) Se dois eventos ocorrem no mesmo processo, então eles ocorrem na ordem observada pelo processo p i 2) Quando uma mensagem m é trocada entre dois processos, e a é o evento de envio e b o de recebimento, então a b 3) Relação acontece antes é transitiva

Relógios Lógicos (Lamport,1978)(I) a b ( p1) c d (p2) b c dado m1 d f dado m2 Nem todos os eventos podem ser relacionados através da relação acontece antes Consideremos a e e (processos diferentes, sem a existência de cadeias de mensagens entre os processos) Não estão relacionados através da relação ; são definidos como processos concorrentes; a e p 1 a b m 1 p 2 c d m 2 Physical time p 3 e f

Relógios Lógicos (Lamport,1978) (II) Um relógio lógico é um contador monotonicamente crescente. NÃO precisa estar relacionado com o relógio físico. COMO FUNCIONA Cada processo p i tem o seu relógico lógico, C i que pode ser usado para aplicar timestamps lógicos aos eventos 1) C i é incrementado de 1 antes de cada evento no processo p i 2) Quando um processo p i envia mensagem m, o tempo t = C i é anexado a mensagem 3) Quando p i recebe (m,t), o relógio é atualizado para C i := max(c j, t) antes de aplicar 1)

Relógios Lógicos (Lamport,1978) (III) Em cada um dos processos p1, p2, p3 o relógio lógico é inicializado com zero Os valores dos relógios lógicos são aqueles imediatamente após o evento, por exemplo, 1 para a, 2 para b. Juntamente com m1, o valor 2 é enviado e o relógio em p2, após o evento c, recebe o max(0,2)+1 = 3 a b implica em C(a)<C (b ) MAS C(a)<C (b ) NÃO implica em a b 1 2 p 1 a b m 1 p 2 3 4 c d m 2 Physical time p 3 1 e f 5

Relógios Lógicos (Lamport,1978) (IV)

Questão 4 As mensagens 1 e 3, ocorreram no processo P2, o que significa que m3, foi, de fato, enviada após o recebimento de m1. Isso pode indicar que o envio de m3 dependeu do que foi recebido por meio da mensagem m1. Contudo, recebimento de m1 ocorreu ante do envio de m2, entretanto o envio de m2 NÃO está relacionado com o recebimento de m1!

Questão 4 Relógios de Lamport NÃO capturam causalidade. Causalidade pode ser capturada por meio de relógios vetoriais. No caso de relógios vetoriais, cada um dos processos possui um vetor, onde cada elemento representa o número total de eventos que ocorreram anteriormente nos demais processos. Se VCi[j] = k, então Pi sabe que k eventos ocorreram em Pj.

Algumas considerações... Algoritmos de Cristian e Berkeley sincroniza relógios físicos, apesar da defasagem entre relógios e retardos das mensagens Para ordenar eventos em computadores diferentes, sincronização dos relógios nem sempre pode ser feito A relação acontece antes resulta em uma ordenação parcial dos eventos Relógios de Lamport são contadores que mudam de acordo com o relacionamento de acontece antes entre os eventos Relógios vetoriais são uma melhora nos relógios de Lamport, onde é possível ordenação por causalidade

Questão 5 Descreva o algoritmo do Valentão O algoritmo do Valentão é um algoritmo de eleição de líder em um sistema distribuído. Sempre que um processo P verifica que o coordernador não está respondendo a requisições, inicia uma eleição. 1) P envia msg de eleição para todos os processos com IDs maiores 2) Se ninguém responde, P vence eleição e torna-se coordenador 3) Se algum processo com ID maior responde, ele desiste.

Questão 5 Descreva o algoritmo do Valentão Quando processo recebe msg de eleição de membros com ID mais baixa Envia OK para remetente para indicar que está vivo e assume processo. Eventualmente todos os processos desistem menos um: novo coordenador Se processo que estava indisponível volta, inicia eleição

Questão 5

Questão 6 Descreva o algoritmo distribuído de Ricart e Agrawala para exclusão mútua em sistemas distribuídos. Por quê é necessário a ordenação total de todos os eventos do sistema? Como esta ordenação pode ser feita?

Questão 7 Quais os diferentes tipos de falhas que podem ocorrer em SDs?

No caso do multicast atômico (presença de falhas), deve-se garantir que uma mensagem será entregue a todos os processos, ou a nenhum deles Questão 8 Como podemos definir um multicast confiável? Multicast confiável significa apenas que toda mensagem deve ser entregue a cada membro do grupo no momento em questão. No caso mais simples, não existe nenhum requisito de que todos os membros do grupo devem receber as mensagens na mesma ordem.

Questão 9 Cite e descreva os tipos de recuperação existentes Duas formas principais: Recuperação retroativa: Retorna o sistema a algum estado que antes estava correto, continuando a execução após a recuperação. Mecanismo de ponto de verificação (estado presente do sistema é registrado) Recuperação para frente: Tentativa de levar o sistema para um próximo estado correto.

Questão 9 Cite e descreva os tipos de recuperação existentes Desvantagem da recuperação para frente: É preciso saber de antemão quais erros podem ocorrer. Tendo conhecimento de todos os erros e como levar o sistema para um estado correto, é possível recuperar totalmente o sistema.

Questão 9 Cite e descreva os tipos de recuperação existentes Desvantagens da recuperação retroativa: (1) Pontos de validação podem ser caros para serem implementados (2) Não existem garantias que o erro não acontecerá novamente (3) Em alguns casos não é possível retroagir a um estado sem erros (ex. comando rm -rf *!!)

Questão 10 Qual a principal restrição para que uma fotografia distribuída seja consistente? Para ter um estado global ou uma fotografia distribuída consistente, é necessário que, se um processo P tiver registrado o recebimento de uma mensagem, então também deve existir um processo Q que registrou o envio dessa mensagem. A linha de recuperação é o estado global mais recente do sistema, com a condição da existência da consistência.

Questão 10 Qual a principal restrição para que uma fotografia distribuída seja consistente? Para ter um estado global ou uma fotografia distribuída consistente, é necessário que, se um processo P tiver registrado o recebimento de uma mensagem, então também deve existir um processo Q que registrou o envio dessa mensagem. A linha de recuperação é o estado global mais recente do sistema, com a condição da existência da consistência.

Pontos de Verificação Independentes

Pontos de Verificação Independentes

Questão 11 Cite e descreva as principais razões para a utilização de réplicas de dados em Sistemas Distribuídos.Qual o principal problema da utilização da replicação como técnica de escalabilidade? Réplicas de dados são utilizadas para aumentar a confiabilidade e o desempenho de um sistema distribuído Confiabilidade: se uma não funciona, outra pode substitui-la. Desempenho: Réplicas podem ser colocadas mais próximo do processo que irá consultá-la Problema: Consistência dos dados

Questão 12 O que é um modelo de consistência de dados? Descreva o modelo de consistência com o maior grau de consistência possível, denominado consistência estrita ou severa. O modelo de consistência de dados é um contrato entre processos e o depósito de dados: diz que se os processos concordarem em obedecer a certas regras, o depósito promete funcionar de maneira correta. No caso do modelo de consistênca severa, um processo que executa uma operação de leitura sobre um item de dados espera que a operação retorne um valor que mostre os resultados da última operação de escrita executada sobre aqueles dados.

Modelos de Consistência Consistência Estrita

Consistência Sequencial (a) P 1 executa W(x)a para x. Mais tarde (tempo absoluto), o processo P 2 também executa uma operação de escrita, ajustando o valor de x para b. Os processos P 3 e P 4 primeiro lêem o valor b e, mais tarde, o valor a. A operação de escrita do processo P 2 parace ter ocorrido antes da de P 1

Consistência Sequencial (b) Neste caso é violada a consistência sequencial porque nem todos os processos vêem a mesma intercalação de operações de escrita. Para o processo P 3 parece que o item de dados foi primeiro alterado para b, e mais tarde para a. Por outro lado, P 4 concluirá que o valor final é b

Consistência Causal Neste exemplo temos uma sequência de eventos permitida quando o depósito é consistente por causalidade, mas proibida quando o depósito é sequencialmente consistente. As escritas W 2 (x)b e W 1 (x)c são concorrentes, não sendo exigido que todos os processos as vejam na mesma ordem

Consistência Causal (a) Temos W 2 (x)b potencialmente dependente de W 1 (x)a porque b pode ser resultado de um cálculo ue envolva o valor lido por R 2 (x)a. As duas escritas são relacionadas por causalidade, portanto temos uma violação na ordenação das operações

Consistência Causal (b )Como a leitura R(x)a foi removida, W 2 (x)b e W 1 (x)a agora são escritas concorrentes. Um depósito consistente por causalidade não requer que escritas concorrentes sejam ordenadas globalmente.

Questão 13 Cite os três tipos possíveis de progação de informações entre réplicas 1) Propagação somente da notificação de uma atualização (protocolos de invalidação) 2) Transferir dados de uma cópia para outra 3) Propagar a operação de atualização para outras cópias