Sistemas Distribuídos Sincronização e Coordenação

Slides:



Advertisements
Apresentações semelhantes
Checkpoint SGBD com alta demanda de transações Checkpoint
Advertisements

Introdução Gdes. bancos de dados: Concorrência: Transação:
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sincronização em Sistemas Distribuídos
Sistemas Distribuídos:Definições e Caracteristicas
Sistemas de Informação Redes de Computadores
Recuperação Como garantir a integridade da informação, em caso de avarias de HW ou SW forma de suportar a reposição de um estado consistente da informação.
Transações Atômicas Distribuídas
Sincronização em Sistemas Distribuídos
Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 1 Sincronização em Sistemas Distribuídos Módulo 4 [C10,C13,T3]
Relógios Lógicos e Físicos
Transações Atômicas Distribuídas
Cap Recuperação Pretende garantir a atomicidade e durabilidade das transações. Atomicidade => É responsabilidade do gerente de recuperação voltar.
Sumário 1 SQL Embutida 2 Processamento de Consultas
Capítulo 4: Estado Global
Processamento de Transação
Sincronização em SDs I Bruno M. Carvalho Sala: 3B2 Horário: 35T34.
Sincronização em SDs II Bruno M. Carvalho Sala: 3B2 Horário: 35T34.
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 4: Mais Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues,
Modelos Fundamentais -> Interação Falhas Segurança.
Capítulo 5 – Tanenbaum Capítulo 10,11,12 e 13 - Coulouris
RECUPERAÇÃO APÓS FALHA
Nazareno Andrade Universidade Federal de Campina Grande 02/2008
Gerenciamento de Transações - Introdução
Um Esquema de Replicação para Suportar Conectividade Fraca em Sistemas de Informação Móveis * Gustavo Fortes Tondello PPGCC – UFSC – 2005 * Original: A.
Banco de Dados II Prof. Antônio Cordeiro.
Tópicos em redes e sistemas distribuídos
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Coordenação e Sincronização em Sistemas Distribuídos
Carlos Oberdan Rolim Ciência da Computação
SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS Hélder Lima e Silva - hmls
Sistemas Distribuídos
Fiabilidade de Sistemas Informáticos Acções Atómicas
Controle de acesso ao Ambiente – floor control. Controle de acesso ao ambiente Introdução.
Controle Distribuído da Concorrência
Exercícios SGBD - CESPE
Transações Atômicas Distribuídas Prof. Alcides Calsavara
Controle de concorrência
Controle de Concorrência Locks. Conceito de Transação Transações podem ser vistas como um grupo de operações combinadas em uma unidade lógica de trabalho.
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação Programa de Pós-Graduação.
Bruna Rafaella da Costa Moura Silvana dos Santos Lima
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Técnicas de Replicação
Sistemas Distribuídos Capítulo 02 – Algoritmos Distribuídos Aula Passada 2.1 – Relógios Físicos e Lógicos Aula de Hoje 2.3 Exclusão Mútua 2.4 Eleição.
1 Sincronização em Sistemas Distribuídos Alcides Calsavara.
Camada de aplicação OSI Liane Tarouco UFRGS. Camada de aplicação do modelo OSI ACSE (Application Control Service Element) CCR (Commitment Concurrency.
SISTEMAS DISTRIBUÍDOS Transações Atômicas
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
Falhas.
Definição um sistema de BD distribuído consistem em uma rede de várias ocorrências de bases de dados interligadas. característica principal para o usuário,
Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi.
ZigBee Tiago Souza Azevedo CPE Roteamento em Redes de Computadores
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
Sincronização 6 capítulo Andrew S. Tanenbaum Maarten Van Steen.
Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki.
Algoritmos Distribuídos. 3.1 Relógios Físicos Porque sincronizar relógios?
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos
Bruna Cavallero Martins Universidade Católica de Pelotas.
Lucas R. Costa Rodrigo R. Bezerra Kaio A. da silva
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Transcrição da apresentação:

Sistemas Distribuídos Sincronização e Coordenação Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum, cap. 5

Sincronização de Relógios Quando cada máquina tem seu próprio relógio, um evento que ocorreu depois de outro pode, não obstante, ser associado a um tempo anterior.

Computação do dia solar médio. Relógios Físicos (1) Computação do dia solar médio.

Relógios Físicos (2) Segundos TAI são de duração constante, diferentemente de segundos solares. Segundos “bissextos” são introduzidos quando necessário para manter em fase com o sol.

Algoritmos de Sincronização de Relógios A relação entre tempo de relógio e o tempo UTC quando os relógios “ticam” com taxas diferentes.

Algoritmo de Cristian's Obtendo o tempo atual a partir de um servidor de tempo.

O Algoritmo de Berkeley O daemon de tempo pergunta a todas as máquinas os valores de seus relógios locais As máquinas respondem O daemon de tempo instrui todas as máquinas a atualizarem seus relógios

Marcas de Tempo de Lamport Três processos, cada um com seu próprio relógio. Os relógios “correm” a taxas diferentes. O algoritmo de Lamport corrige os relógios (relógios lógicos).

Exemplo: Multicast Totalmente Ordenado Atualização de um banco de dados replicado deixando-o em um estado inconsistente.

Estado Global (1) Um corte consistente Um corte inconsistente

Estado Global (2) Organização de um processo e canais para um “instantâneo” distribuído

Estado Global (3) Processo Q recebe um marcador pela primeira vez e registra seu estado local Q registra todas as mensagens que chegam Q recebe um marcador para seu canal entrante e pára de registrar o estado do canal entrante

Eleição de Líder: O Algoritmo de “Bullying” (1) O algoritmo de eleição de bullying Processo 4 inicia a eleição (após detectar a falha do antigo líder) Processos 5 e 6 respondem, dizendo ao processo 4 para parar Agora os processos 5 e 6 cada um iniciam suas eleições

Eleição de Líder: O Algoritmo de “Bullying” (2) Processo 6 diz ao processo 5 para parar Processo 6 vence a eleição e avisa a todos os demais

Eleição utilizando um anel lógico de processos. O Algoritmo do Anel Eleição utilizando um anel lógico de processos.

Exclusão Mútua: Um Algoritmo Centralizado Processo 1 pede permissão ao coordenador para entrar em uma região crítica. A permissão é concedida. Processo 2 então pede permissão para entrar na mesma região crítica. O coordenador não responde. Quando o processo 1 sai da região crítica, ele informa ao coordenador, que então responde ao processo 2.

Exclusão Mútua: Um Algoritmo Distribuído Dois processos desejam entrar na mesma região crítica (RC) ao mesmo tempo. Processo 0 tem a marca de tempo mais baixa; portanto, ele vence. Quando o processo 0 conclui o uso da RC, ele envia um OK para o processo pendente, de forma que 2 possa agora entrar na RC.

Exclusão Mútua: Um Algoritmo de Anel de Token Um grupo não-ordenado de processos em uma rede. Um anel lógico construído em software.

Messages per entry/exit Delay before entry (in message times) Comparação Algorithm Messages per entry/exit Delay before entry (in message times) Problems Centralized 3 2 Coordinator crash Distributed 2 ( n – 1 ) Crash of any process Token ring 1 to  0 to n – 1 Lost token, process crash Uma comparação de três algoritmos de exclusão mútua.

O Modelo de Transações (1) Atualização de um registro mestre com tolerância a falhas.

O Modelo de Transações (2) Primitive Description BEGIN_TRANSACTION Make the start of a transaction END_TRANSACTION Terminate the transaction and try to commit ABORT_TRANSACTION Kill the transaction and restore the old values READ Read data from a file, a table, or otherwise WRITE Write data to a file, a table, or otherwise Exemplos de primitivas para transações.

O Modelo de Transações (3) BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi; END_TRANSACTION (a) BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi full => ABORT_TRANSACTION (b) Transação para reservar três vôos concluída com sucesso, i.e., commit Transação é abortada quando a reserva do terceiro vôo falha

Transações Distribuídas Uma transação aninhada Uma transação distribuída

Espaço de Trabalho Privativo O índice de arquivos e blocos de disco para um arquivo de três blocos Situação após uma transação ter modificado o bloco 0 e concatenado o bloco 3 Após o commit da transação

Writeahead Log a) Uma transação x = 0; y = 0; BEGIN_TRANSACTION; x = x + 1; y = y + 2 x = y * y; END_TRANSACTION; (a) Log [x = 0 / 1] (b) [y = 0/2] (c) [x = 1/4] (d) a) Uma transação b) – d) O log antes de cada sentença ser executada

Controle de Concorrência (1) Organização geral de gerentes para tratar transações.

Controle de Concorrência (2) Organização geral dos gerentes para tratar transações distribuídas.

Serializabilidade a) – c) Três transações: T1, T2, e T3 BEGIN_TRANSACTION x = 0; x = x + 1; END_TRANSACTION (a) BEGIN_TRANSACTION x = 0; x = x + 2; END_TRANSACTION (b) BEGIN_TRANSACTION x = 0; x = x + 3; END_TRANSACTION (c) Schedule 1 x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3 Legal Schedule 2 x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3; Schedule 3 x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3; Illegal (d) a) – c) Três transações: T1, T2, e T3 d) Possíveis escalonamentos

Aquisição e liberação de locks no algoritmo de two-phase locking.

Two-Phase Locking (2) Two-phase locking estrito – todos os locks são liberados ao mesmo tempo.

Ordenação com Marcas de Tempo Pessimista Controle de concorrência usando marcas de tempo.