SlideShare uma empresa Scribd logo
Eduardo Elael 
Pedro de Vasconcellos
• Introdução 
• DSM x Troca de Mensagens 
• Arquitetura 
• Algoritmos 
• Modelos de Consistência 
• Bibliografia
• Distribuited Shared Memory (DSM) 
• “Abstração usada para o compartilhamento de dados 
entre computadores que não compartilham memória 
física.” - Colouris, Dollimore & Kindberg
• Memória compartilhada 
▫ memória física global de um sistema igualmente acessível 
por todos processadores 
• Memória distribuída 
▫ cada processador tem sua própria memória privada; 
comunicação por mensagens
• Memória compartilhada distribuída 
▫ as memórias são distribuídas fisicamente em cada nó, mas 
todos os processadores podem endereçar essa memória
• Modelo de Programação 
▫ Dados compartilhados diretamente por processos 
▫ Não há encapsulamento de variáveis 
▫ DSM 
 write(endereço, dados) 
 var d = read(endereço) 
▫ Troca de Mensagens 
 send(destinatário, dados) 
 receive(dados) 
▫ No DSM torna-se necessário mecanismos de controle de 
concorrência
• Eficiência 
▫ Experiências: programas paralelos para DSM podem ser 
executados tão bem quanto equivalentes escritos com o 
paradigma de troca de mensagens para um número 
específico de computadores 
▫ Não há generalização (resultado depende de muitos fatores)
• Persistência 
▫ DSM 
 Um processo pode deixar dados em uma posição de memória 
específica (esperada), para que outro processo examine o 
conteúdo a ser executado, gerando persistência. 
▫ Troca de Mensagens 
 Processos são executados ao mesmo tempo.
• Simplicidade 
▫ DSM 
 Programação mais simples 
 Programador não se preocupa com comunicação entre 
processos 
 Comunicação: processo escreve dados na memória, a serem 
lidos por outros processos 
 Sincronização: seções críticas, semáforos, monitores. 
▫ Troca de Mensagens 
 Várias dificuldades: 
 Controle de Fluxo 
 Mensagens perdidas 
 Bloqueio
• Algoritmos: 
▫ Algoritmo do Servidor Central 
▫ Algoritmo da Migração 
▫ Algoritmo da Replicação para Leitura 
▫ Algoritmo da Replicação Total 
• Problemas: 
▫ Consistência dos dados 
▫ Velocidade de resposta 
▫ Coerência dos dados
• Nó central 
▫ Administra todos os dados 
• Primitivas de comunicação: 
▫ Read 
▫ Write 
• Proibir a replicação e migração dos dados. 
• O servidor é fator crítico na performance dos sistema. 
• Possibilidade de mais de um servidor.
• Leitura simples/ Escrita simples 
• Armazenamento local 
▫ Redução da latência. 
• Bloqueio acontece no nível de página. 
▫ Reduzir o tamanho da tabela de lock. 
• Localização de páginas: 
▫ Servidor central 
▫ Broadcasting 
▫ Servidor distribuído fixo 
 gerente do bloco 
▫ Servidor distribuído dinâmico 
 probable owner
• Leitura múltipla/ Escrita simples 
• Somente um processador possui permissão para 
atualizar uma cópia replicada em um dado momento 
• Localização de páginas necessário. 
• Invalidação das outras cópias: 
▫ Write Invalidate 
▫ Write Update (alternativa) 
• Write Invalidate x Write Update: 
▫ Write Update: Uso intenso da rede. 
▫ Write Invalidade: Necessidade de busca do bloco na hora 
do uso.
• Leitura múltipla/ Escrita múltipla 
• Semelhante ao de replicação para leitura. 
• Um novo elemento chamado de seqüenciador. 
• Seqüenciador: 
▫ Atribuir um número a cada alteração feita em um dado 
replicado 
▫ Atualizar todas as cópias na ordem que as alterações foram 
executadas
• Manter a coerência a partir de limitações 
• Exemplo: 
▫ a e b são variáveis armazenadas na DSM 
▫ Limitação: sempre a = b 
▫ Dois ou mais processos executando o seguinte código 
 a = a+1 
 b = b+1 
▫ Execução imprópria 
 a = b = 0 
 Processo 1: 
 a = a + 1 = 1 
 Processo 2 interrompe: 
 a = a + 1 = 2 
 b = b + 1 = 1 
▫ Limitação quebrada 
• Solução: seção crítica; semáforos; monitores
• Problema de réplicas e atualizações 
▫ Dado é lido a partir de réplicas locais (> eficiência), mas as 
atualizações devem ser propagadas a todos os gestores de 
réplicas 
• Exemplo: 
▫ Variáveis a e b acessíveis por dois ou mais processos; ar e 
br variáveis locais 
▫ Processo 1: 
 br = b 
 ar = a 
 If (ar>=br) then print (“OK”) 
▫ Processo 2: 
 a = a+1 
 b = b+1
• Exemplo (cont): 
▫ a = b = 0 
▫ Processo 1 deveria ler uma dessas: 
 ar = br = 0 
 ar = 1 e br = 0 
 ar = br = 1 
 Todas satisfazendo (ar>=br) 
▫ Uma implementação DSM pode entregar as atualizações de 
a e b fora de ordem para o gestor de réplicas durante o 
processo 1 
 ar = 0 e br=1 pode ocorrer
• Modelos fortes aumentam a latência de acesso à 
memória e a banda requerida, mas facilitam a 
programação 
• Modelos “relaxados” permitem reordenação, pipelining e 
sobreposição, que aumentam a performance, mas 
exigem alto envolvimento do programador na 
sincronização de acesso a dados compartilhados
• Consistência Sequencial 
▫ Garante que todos os nós recebam as alterações na mesma 
ordem 
▫ O efeito de cada acesso à memória deve ser executado 
globalmente antes que o próximo acesso tenha permissão 
para executar 
▫ Dispendioso pois requer controle de concorrência e 
ordenação de mensagens
• Consistência Sequencial 
▫ No exemplo passado, a combinação ar=0 e br=1 não 
ocorreria, pois o processo 1 estaria lendo valores 
conflitantes com a ordem de programa do processo 2
• Consistência Sequencial 
▫ Exemplo 1: 
 W(x)a -> escrita pelo processo para o item de dados x com o 
valor a 
 R(x)b ->leitura pelo processo do item de dados x retornando 
o valor b 
 P1 executa uma escrita para o item de dados x, modificando 
o seu valor para a. Operação feita localmente e depois 
propagada para os outros processos. 
 Mais tarde, P2 lê o valor NIL e, pouco tempo, depois lê a. 
Existe um retardo para propagar a atualização de x para P2.
• Consistência Sequencial 
▫ Exemplo 2: 
 P1 executa uma escrita para o item de dados x, modificando 
o seu valor para a. 
 Depois, P2 realiza outra escrita, substituindo x por b. 
 P3 e P4 primeiro lêem o valor b e, mais tarde, o valor a 
 Operação de escrita do processo P2 ocorreu antes à do 
processo P1 
 O modelo (a) é sequencialmente consistente 
 O modelo (b) não é sequencialmente consistente, pois nem 
todos os processos vêem a mesma intercalação de operações 
de escrita (acaba em resultados finais diferentes)
• Consistência Causal 
▫ Distinção entre eventos potencialmente relacionados por 
causalidade e os que não são 
▫ Se o evento b é causado ou influenciado por um evento 
anterior a, a causalidade requer que todos vejam primeiro 
a, para depois ver b 
▫ Operações não relacionadas por causalidade são 
concorrentes 
▫ Escritas potencialmente relacionadas por causalidade 
devem ser vistas por todos os processos na mesma ordem; 
escritas concorrentes podem ser vistas em ordem diferente
• Consistência Causal 
▫ Exemplo 1: 
 Sequência de eventos permitida na consistência por 
causalidade, mas proibida na sequencial 
 Escritas W2(x)b e W1(x)c são concorrentes -> não exige que 
todos os processos as vejam na mesma ordem
• Consistência Causal 
▫ Exemplo 2: 
 Em (a), W2(x)b potencialmente dependente de W1(x)a 
porque b pode ser resultado de um cálculo que envolva o 
valor lido por R2(x)a. As duas escritas são relacionadas por 
causalidade, portanto temos uma violação na ordenação das 
operações
• Consistência Causal 
▫ Exemplo 2: 
 Em (b), a leitura R(x)a foi removida, e W(x)b e W(x)a 
agora são escritas concorrentes. Assim, há uma sequência 
correta de eventos em um depósito consistente por 
causalidade
• Consistência Causal 
▫ Exemplo 2: 
 Em (b), a leitura R(x)a foi removida, e W(x)b e W(x)a 
agora são escritas concorrentes. Assim, há uma sequência 
correta de eventos em um depósito consistente por 
causalidade
• Consistência Causal 
▫ Exemplo 2: 
 Em (b), a leitura R(x)a foi removida, e W(x)b e W(x)a 
agora são escritas concorrentes. Assim, há uma sequência 
correta de eventos em um depósito consistente por 
causalidade
• Weak Consistency 
▫ Nem toda operação de escrita precisa ser vista pelos outros 
processos 
▫ acesso a variável de sincronização (S) diz quando 
sincronizar valores - aumenta trabalho de programadores
Bibliografia 
• Colouris, Dollimore, Kindberg. Distribuited Systems: Concepts and Design, Third Edition 
• http://www.fisiocomp.ufjf.br/anapaula/SD/SD_aula_16.pdf (último acesso em 21/05/2012) 
• http://web.fe.up.pt/~pfs/aulas/sd2009/at/20cons.pdf (último acesso em 21/05/2012) 
• http://www.tlc-networks.polito.it/oldsite/anapaula/Aula_Cap07a.pdf (último acesso em 
21/05/2012) 
• http://www.adonaimedrado.pro.br/principal/index.php? 
option=com_content&view=article&id=57&Itemid=92 (último acesso em 21/05/2012) 
• http://www.inf.ufrgs.br/gppd/disc/cmp134/trabs/T1/991/DSM/DSM-Hardware. 
html#_Toc455993147 (último acesso em 21/05/2012) 
• http://www.ic.unicamp.br/~ranido/mc704/DSM.pdf (último acesso em 21/05/2012) 
• http://www.inf.ufsc.br/~frank/INE5418/2.5.DSM-Folhetos.pdf (último acesso em 21/05/2012) 
• http://www.inf.pucrs.br/~fldotti/sod/dsm.PDF (último acesso em 21/05/2012)

Mais conteúdo relacionado

Mais procurados

04 Introdução à Microeconomia
04   Introdução à Microeconomia04   Introdução à Microeconomia
04 Introdução à Microeconomia
Ricardo Barbosa
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
Leonardo Soares
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
Helder Lopes
 
Redes de computadores, tipologias e elementos de rede
Redes de computadores, tipologias e elementos de redeRedes de computadores, tipologias e elementos de rede
Redes de computadores, tipologias e elementos de redeandreaires
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Messias Batista
 
ORIENTAÇÃO DE TCC
ORIENTAÇÃO DE TCCORIENTAÇÃO DE TCC
ORIENTAÇÃO DE TCC
UFMA e UEMA
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objetoelliando dias
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
Vagner Santana
 
Big Data
Big DataBig Data
Memória - Psicologia
Memória - PsicologiaMemória - Psicologia
Memória - Psicologia
Ana Felizardo
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
Messias Batista
 
Tema 1 fundamentos de pesquisa científica final1
Tema 1 fundamentos de pesquisa científica final1Tema 1 fundamentos de pesquisa científica final1
Tema 1 fundamentos de pesquisa científica final1
Francisco Lindume Lindume
 
Construindo um projeto de pesquisa
Construindo um projeto de pesquisaConstruindo um projeto de pesquisa
Construindo um projeto de pesquisa
Aliny Lima
 
Psicologia Da EducaçãO Aula IntrodutóRia
Psicologia Da EducaçãO  Aula IntrodutóRiaPsicologia Da EducaçãO  Aula IntrodutóRia
Psicologia Da EducaçãO Aula IntrodutóRia
Silvia Marina Anaruma
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introdução
Wise Systems
 
Aprendizagem I
Aprendizagem IAprendizagem I
Aprendizagem I
Caio Maximino
 
Banco de dados distribuídos mnt bd
Banco de dados distribuídos mnt bdBanco de dados distribuídos mnt bd
Banco de dados distribuídos mnt bd
M Serafim
 
TDAH SLIDES.pdf
TDAH SLIDES.pdfTDAH SLIDES.pdf
TDAH SLIDES.pdf
riannevanessa1
 

Mais procurados (20)

04 Introdução à Microeconomia
04   Introdução à Microeconomia04   Introdução à Microeconomia
04 Introdução à Microeconomia
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
Redes de computadores, tipologias e elementos de rede
Redes de computadores, tipologias e elementos de redeRedes de computadores, tipologias e elementos de rede
Redes de computadores, tipologias e elementos de rede
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
 
ORIENTAÇÃO DE TCC
ORIENTAÇÃO DE TCCORIENTAÇÃO DE TCC
ORIENTAÇÃO DE TCC
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objeto
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Big Data
Big DataBig Data
Big Data
 
Memória - Psicologia
Memória - PsicologiaMemória - Psicologia
Memória - Psicologia
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
 
Tema 1 fundamentos de pesquisa científica final1
Tema 1 fundamentos de pesquisa científica final1Tema 1 fundamentos de pesquisa científica final1
Tema 1 fundamentos de pesquisa científica final1
 
Construindo um projeto de pesquisa
Construindo um projeto de pesquisaConstruindo um projeto de pesquisa
Construindo um projeto de pesquisa
 
Psicologia Da EducaçãO Aula IntrodutóRia
Psicologia Da EducaçãO  Aula IntrodutóRiaPsicologia Da EducaçãO  Aula IntrodutóRia
Psicologia Da EducaçãO Aula IntrodutóRia
 
Transtornos Globais do Desenvolvimento
Transtornos Globais do DesenvolvimentoTranstornos Globais do Desenvolvimento
Transtornos Globais do Desenvolvimento
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introdução
 
Aprendizagem I
Aprendizagem IAprendizagem I
Aprendizagem I
 
Banco de dados distribuídos mnt bd
Banco de dados distribuídos mnt bdBanco de dados distribuídos mnt bd
Banco de dados distribuídos mnt bd
 
TDAH SLIDES.pdf
TDAH SLIDES.pdfTDAH SLIDES.pdf
TDAH SLIDES.pdf
 

Destaque

Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
Antonio Alves
 
DQguru
DQguruDQguru
Editor de Video Sony Vegas PRO
Editor de Video Sony Vegas PROEditor de Video Sony Vegas PRO
Editor de Video Sony Vegas PRO
Ariäną Căstillø
 
FEBRL
FEBRLFEBRL
Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção - Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Pedro de Vasconcellos
 
Análise Comparativa: MP3 e AAC
Análise Comparativa: MP3 e AACAnálise Comparativa: MP3 e AAC
Análise Comparativa: MP3 e AAC
Pedro de Vasconcellos
 
cARdapp - cardápio em realidade aumentada
cARdapp - cardápio em realidade aumentadacARdapp - cardápio em realidade aumentada
cARdapp - cardápio em realidade aumentada
Pedro de Vasconcellos
 
BitTorrent
BitTorrentBitTorrent
Managing Innovation - 3rd edition – Capítulos 10 e 11
Managing Innovation - 3rd edition – Capítulos 10 e 11Managing Innovation - 3rd edition – Capítulos 10 e 11
Managing Innovation - 3rd edition – Capítulos 10 e 11
Pedro de Vasconcellos
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01
Antonio Alves
 
Efeitos Visuais
Efeitos VisuaisEfeitos Visuais
Efeitos Visuais
Pedro de Vasconcellos
 
Trabalhando com Chromakey
Trabalhando com ChromakeyTrabalhando com Chromakey
Trabalhando com Chromakey
Antonio Alves
 
Sistema gerenciadores de bancos de dados
Sistema gerenciadores de bancos de dadosSistema gerenciadores de bancos de dados
Sistema gerenciadores de bancos de dados
Antonio Alves
 
Edición de Video - Sony Vegas Pro
Edición de Video - Sony Vegas Pro Edición de Video - Sony Vegas Pro
Edición de Video - Sony Vegas Pro
InstitutoInformaticaUASF
 
Lógica de programação em java
Lógica de programação em javaLógica de programação em java
Lógica de programação em java
Antonio Alves
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
Antonio Alves
 
Escopo de variaveis
Escopo de variaveisEscopo de variaveis
Escopo de variaveis
Antonio Alves
 
Bluetooth Low Energy
Bluetooth Low EnergyBluetooth Low Energy
Bluetooth Low Energy
Pedro de Vasconcellos
 

Destaque (20)

Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
 
DQguru
DQguruDQguru
DQguru
 
Editor de Video Sony Vegas PRO
Editor de Video Sony Vegas PROEditor de Video Sony Vegas PRO
Editor de Video Sony Vegas PRO
 
FEBRL
FEBRLFEBRL
FEBRL
 
Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção - Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
 
Análise Comparativa: MP3 e AAC
Análise Comparativa: MP3 e AACAnálise Comparativa: MP3 e AAC
Análise Comparativa: MP3 e AAC
 
cARdapp - cardápio em realidade aumentada
cARdapp - cardápio em realidade aumentadacARdapp - cardápio em realidade aumentada
cARdapp - cardápio em realidade aumentada
 
Modelos de Cor
Modelos de CorModelos de Cor
Modelos de Cor
 
BitTorrent
BitTorrentBitTorrent
BitTorrent
 
Managing Innovation - 3rd edition – Capítulos 10 e 11
Managing Innovation - 3rd edition – Capítulos 10 e 11Managing Innovation - 3rd edition – Capítulos 10 e 11
Managing Innovation - 3rd edition – Capítulos 10 e 11
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01
 
Efeitos Visuais
Efeitos VisuaisEfeitos Visuais
Efeitos Visuais
 
Trabalhando com Chromakey
Trabalhando com ChromakeyTrabalhando com Chromakey
Trabalhando com Chromakey
 
Sistema gerenciadores de bancos de dados
Sistema gerenciadores de bancos de dadosSistema gerenciadores de bancos de dados
Sistema gerenciadores de bancos de dados
 
Edición de Video - Sony Vegas Pro
Edición de Video - Sony Vegas Pro Edición de Video - Sony Vegas Pro
Edición de Video - Sony Vegas Pro
 
Lógica de programação em java
Lógica de programação em javaLógica de programação em java
Lógica de programação em java
 
Modelos de Cor
Modelos de Cor Modelos de Cor
Modelos de Cor
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
 
Escopo de variaveis
Escopo de variaveisEscopo de variaveis
Escopo de variaveis
 
Bluetooth Low Energy
Bluetooth Low EnergyBluetooth Low Energy
Bluetooth Low Energy
 

Semelhante a Memória Compartilhada Distribuída (DSM)

Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
Regis Magalhães
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdf
HurgelNeto
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Johnes Castro
 
Banco de Dados Distribuídos
Banco de Dados DistribuídosBanco de Dados Distribuídos
Banco de Dados DistribuídosAdail Viana Neto
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
Fabio Telles Rodriguez
 
Boas práticas na configuração de jobs no Kubernetes
Boas práticas na configuração de jobs no KubernetesBoas práticas na configuração de jobs no Kubernetes
Boas práticas na configuração de jobs no Kubernetes
Graziella Bonizi
 
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Amostra   Resolucao da Prova Sefaz 2007   Prof JaimeAmostra   Resolucao da Prova Sefaz 2007   Prof Jaime
Amostra Resolucao da Prova Sefaz 2007 Prof JaimeWalter Cunha
 
Google File System
Google File SystemGoogle File System
Google File System
Aline Sonnewend Adriano
 
Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de Dados
Valdir Junior
 
Alta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/LinuxAlta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/Linux
Mario Bittencourt
 
MapReduce
MapReduceMapReduce
MapReduce
Juliana Félix
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool II
Matheus Espanhol
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
Thiago Cifani
 
Distribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com CassandraDistribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com Cassandra
Mário Marroquim
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Rodrigo Recio
 
Gerência de Transações Distribuídas de Consultas
Gerência de Transações Distribuídas de ConsultasGerência de Transações Distribuídas de Consultas
Gerência de Transações Distribuídas de Consultas
Wendel Moreira
 

Semelhante a Memória Compartilhada Distribuída (DSM) (20)

Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdf
 
Gfs slides
Gfs slidesGfs slides
Gfs slides
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQL
 
No sql std
No sql stdNo sql std
No sql std
 
Banco de Dados Distribuídos
Banco de Dados DistribuídosBanco de Dados Distribuídos
Banco de Dados Distribuídos
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 
Boas práticas na configuração de jobs no Kubernetes
Boas práticas na configuração de jobs no KubernetesBoas práticas na configuração de jobs no Kubernetes
Boas práticas na configuração de jobs no Kubernetes
 
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Amostra   Resolucao da Prova Sefaz 2007   Prof JaimeAmostra   Resolucao da Prova Sefaz 2007   Prof Jaime
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
 
Google File System
Google File SystemGoogle File System
Google File System
 
Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de Dados
 
Alta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/LinuxAlta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/Linux
 
MapReduce
MapReduceMapReduce
MapReduce
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool II
 
Conceitoseaplicaes
ConceitoseaplicaesConceitoseaplicaes
Conceitoseaplicaes
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Distribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com CassandraDistribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com Cassandra
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
 
Gerência de Transações Distribuídas de Consultas
Gerência de Transações Distribuídas de ConsultasGerência de Transações Distribuídas de Consultas
Gerência de Transações Distribuídas de Consultas
 

Mais de Pedro de Vasconcellos

Gestão da Inovação - Produção acadêmica no Brasil
Gestão da Inovação - Produção acadêmica no BrasilGestão da Inovação - Produção acadêmica no Brasil
Gestão da Inovação - Produção acadêmica no Brasil
Pedro de Vasconcellos
 
Redes Sociais
Redes SociaisRedes Sociais
Redes Sociais
Pedro de Vasconcellos
 
Créditos de Carbono e MDL
Créditos de Carbono e MDLCréditos de Carbono e MDL
Créditos de Carbono e MDL
Pedro de Vasconcellos
 
MapReduce
MapReduceMapReduce
Inteligência de enxames - Cardume (PSO + AFSA)
Inteligência de enxames - Cardume (PSO + AFSA)Inteligência de enxames - Cardume (PSO + AFSA)
Inteligência de enxames - Cardume (PSO + AFSA)
Pedro de Vasconcellos
 
O computador e a contracultura
O computador e a contraculturaO computador e a contracultura
O computador e a contracultura
Pedro de Vasconcellos
 

Mais de Pedro de Vasconcellos (6)

Gestão da Inovação - Produção acadêmica no Brasil
Gestão da Inovação - Produção acadêmica no BrasilGestão da Inovação - Produção acadêmica no Brasil
Gestão da Inovação - Produção acadêmica no Brasil
 
Redes Sociais
Redes SociaisRedes Sociais
Redes Sociais
 
Créditos de Carbono e MDL
Créditos de Carbono e MDLCréditos de Carbono e MDL
Créditos de Carbono e MDL
 
MapReduce
MapReduceMapReduce
MapReduce
 
Inteligência de enxames - Cardume (PSO + AFSA)
Inteligência de enxames - Cardume (PSO + AFSA)Inteligência de enxames - Cardume (PSO + AFSA)
Inteligência de enxames - Cardume (PSO + AFSA)
 
O computador e a contracultura
O computador e a contraculturaO computador e a contracultura
O computador e a contracultura
 

Último

AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______
JairGaldino4
 
Curso de operador de guindauto e guindaste
Curso de operador de guindauto e guindasteCurso de operador de guindauto e guindaste
Curso de operador de guindauto e guindaste
NetoSilva63
 
Treinamento de boas práticas de fabricação
Treinamento de boas práticas de fabricaçãoTreinamento de boas práticas de fabricação
Treinamento de boas práticas de fabricação
helder866682
 
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdfPresentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
DanielMangoldNieves
 
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
JairGaldino4
 
slides Seminário Transição Energética.pptx
slides  Seminário Transição Energética.pptxslides  Seminário Transição Energética.pptx
slides Seminário Transição Energética.pptx
Izaliver
 
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
Consultoria Acadêmica
 
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
Consultoria Acadêmica
 
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
JairGaldino4
 
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdfINSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
marcyomendona
 
Experiência da EDP na monitorização de vibrações de grupos hídricos
Experiência da EDP na monitorização de vibrações de grupos  hídricosExperiência da EDP na monitorização de vibrações de grupos  hídricos
Experiência da EDP na monitorização de vibrações de grupos hídricos
CarlosAroeira1
 
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVACONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
JairGaldino4
 
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdfCircuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
JrBennitoBennito
 
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoesENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
liviafernandesft0807
 
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
eliasmar2
 

Último (15)

AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______
 
Curso de operador de guindauto e guindaste
Curso de operador de guindauto e guindasteCurso de operador de guindauto e guindaste
Curso de operador de guindauto e guindaste
 
Treinamento de boas práticas de fabricação
Treinamento de boas práticas de fabricaçãoTreinamento de boas práticas de fabricação
Treinamento de boas práticas de fabricação
 
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdfPresentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
 
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
 
slides Seminário Transição Energética.pptx
slides  Seminário Transição Energética.pptxslides  Seminário Transição Energética.pptx
slides Seminário Transição Energética.pptx
 
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
 
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
 
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
 
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdfINSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
 
Experiência da EDP na monitorização de vibrações de grupos hídricos
Experiência da EDP na monitorização de vibrações de grupos  hídricosExperiência da EDP na monitorização de vibrações de grupos  hídricos
Experiência da EDP na monitorização de vibrações de grupos hídricos
 
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVACONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
 
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdfCircuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
 
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoesENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
 
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
 

Memória Compartilhada Distribuída (DSM)

  • 1. Eduardo Elael Pedro de Vasconcellos
  • 2. • Introdução • DSM x Troca de Mensagens • Arquitetura • Algoritmos • Modelos de Consistência • Bibliografia
  • 3. • Distribuited Shared Memory (DSM) • “Abstração usada para o compartilhamento de dados entre computadores que não compartilham memória física.” - Colouris, Dollimore & Kindberg
  • 4. • Memória compartilhada ▫ memória física global de um sistema igualmente acessível por todos processadores • Memória distribuída ▫ cada processador tem sua própria memória privada; comunicação por mensagens
  • 5. • Memória compartilhada distribuída ▫ as memórias são distribuídas fisicamente em cada nó, mas todos os processadores podem endereçar essa memória
  • 6. • Modelo de Programação ▫ Dados compartilhados diretamente por processos ▫ Não há encapsulamento de variáveis ▫ DSM  write(endereço, dados)  var d = read(endereço) ▫ Troca de Mensagens  send(destinatário, dados)  receive(dados) ▫ No DSM torna-se necessário mecanismos de controle de concorrência
  • 7. • Eficiência ▫ Experiências: programas paralelos para DSM podem ser executados tão bem quanto equivalentes escritos com o paradigma de troca de mensagens para um número específico de computadores ▫ Não há generalização (resultado depende de muitos fatores)
  • 8. • Persistência ▫ DSM  Um processo pode deixar dados em uma posição de memória específica (esperada), para que outro processo examine o conteúdo a ser executado, gerando persistência. ▫ Troca de Mensagens  Processos são executados ao mesmo tempo.
  • 9. • Simplicidade ▫ DSM  Programação mais simples  Programador não se preocupa com comunicação entre processos  Comunicação: processo escreve dados na memória, a serem lidos por outros processos  Sincronização: seções críticas, semáforos, monitores. ▫ Troca de Mensagens  Várias dificuldades:  Controle de Fluxo  Mensagens perdidas  Bloqueio
  • 10.
  • 11. • Algoritmos: ▫ Algoritmo do Servidor Central ▫ Algoritmo da Migração ▫ Algoritmo da Replicação para Leitura ▫ Algoritmo da Replicação Total • Problemas: ▫ Consistência dos dados ▫ Velocidade de resposta ▫ Coerência dos dados
  • 12. • Nó central ▫ Administra todos os dados • Primitivas de comunicação: ▫ Read ▫ Write • Proibir a replicação e migração dos dados. • O servidor é fator crítico na performance dos sistema. • Possibilidade de mais de um servidor.
  • 13. • Leitura simples/ Escrita simples • Armazenamento local ▫ Redução da latência. • Bloqueio acontece no nível de página. ▫ Reduzir o tamanho da tabela de lock. • Localização de páginas: ▫ Servidor central ▫ Broadcasting ▫ Servidor distribuído fixo  gerente do bloco ▫ Servidor distribuído dinâmico  probable owner
  • 14. • Leitura múltipla/ Escrita simples • Somente um processador possui permissão para atualizar uma cópia replicada em um dado momento • Localização de páginas necessário. • Invalidação das outras cópias: ▫ Write Invalidate ▫ Write Update (alternativa) • Write Invalidate x Write Update: ▫ Write Update: Uso intenso da rede. ▫ Write Invalidade: Necessidade de busca do bloco na hora do uso.
  • 15. • Leitura múltipla/ Escrita múltipla • Semelhante ao de replicação para leitura. • Um novo elemento chamado de seqüenciador. • Seqüenciador: ▫ Atribuir um número a cada alteração feita em um dado replicado ▫ Atualizar todas as cópias na ordem que as alterações foram executadas
  • 16. • Manter a coerência a partir de limitações • Exemplo: ▫ a e b são variáveis armazenadas na DSM ▫ Limitação: sempre a = b ▫ Dois ou mais processos executando o seguinte código  a = a+1  b = b+1 ▫ Execução imprópria  a = b = 0  Processo 1:  a = a + 1 = 1  Processo 2 interrompe:  a = a + 1 = 2  b = b + 1 = 1 ▫ Limitação quebrada • Solução: seção crítica; semáforos; monitores
  • 17. • Problema de réplicas e atualizações ▫ Dado é lido a partir de réplicas locais (> eficiência), mas as atualizações devem ser propagadas a todos os gestores de réplicas • Exemplo: ▫ Variáveis a e b acessíveis por dois ou mais processos; ar e br variáveis locais ▫ Processo 1:  br = b  ar = a  If (ar>=br) then print (“OK”) ▫ Processo 2:  a = a+1  b = b+1
  • 18. • Exemplo (cont): ▫ a = b = 0 ▫ Processo 1 deveria ler uma dessas:  ar = br = 0  ar = 1 e br = 0  ar = br = 1  Todas satisfazendo (ar>=br) ▫ Uma implementação DSM pode entregar as atualizações de a e b fora de ordem para o gestor de réplicas durante o processo 1  ar = 0 e br=1 pode ocorrer
  • 19. • Modelos fortes aumentam a latência de acesso à memória e a banda requerida, mas facilitam a programação • Modelos “relaxados” permitem reordenação, pipelining e sobreposição, que aumentam a performance, mas exigem alto envolvimento do programador na sincronização de acesso a dados compartilhados
  • 20. • Consistência Sequencial ▫ Garante que todos os nós recebam as alterações na mesma ordem ▫ O efeito de cada acesso à memória deve ser executado globalmente antes que o próximo acesso tenha permissão para executar ▫ Dispendioso pois requer controle de concorrência e ordenação de mensagens
  • 21. • Consistência Sequencial ▫ No exemplo passado, a combinação ar=0 e br=1 não ocorreria, pois o processo 1 estaria lendo valores conflitantes com a ordem de programa do processo 2
  • 22. • Consistência Sequencial ▫ Exemplo 1:  W(x)a -> escrita pelo processo para o item de dados x com o valor a  R(x)b ->leitura pelo processo do item de dados x retornando o valor b  P1 executa uma escrita para o item de dados x, modificando o seu valor para a. Operação feita localmente e depois propagada para os outros processos.  Mais tarde, P2 lê o valor NIL e, pouco tempo, depois lê a. Existe um retardo para propagar a atualização de x para P2.
  • 23. • Consistência Sequencial ▫ Exemplo 2:  P1 executa uma escrita para o item de dados x, modificando o seu valor para a.  Depois, P2 realiza outra escrita, substituindo x por b.  P3 e P4 primeiro lêem o valor b e, mais tarde, o valor a  Operação de escrita do processo P2 ocorreu antes à do processo P1  O modelo (a) é sequencialmente consistente  O modelo (b) não é sequencialmente consistente, pois nem todos os processos vêem a mesma intercalação de operações de escrita (acaba em resultados finais diferentes)
  • 24. • Consistência Causal ▫ Distinção entre eventos potencialmente relacionados por causalidade e os que não são ▫ Se o evento b é causado ou influenciado por um evento anterior a, a causalidade requer que todos vejam primeiro a, para depois ver b ▫ Operações não relacionadas por causalidade são concorrentes ▫ Escritas potencialmente relacionadas por causalidade devem ser vistas por todos os processos na mesma ordem; escritas concorrentes podem ser vistas em ordem diferente
  • 25. • Consistência Causal ▫ Exemplo 1:  Sequência de eventos permitida na consistência por causalidade, mas proibida na sequencial  Escritas W2(x)b e W1(x)c são concorrentes -> não exige que todos os processos as vejam na mesma ordem
  • 26. • Consistência Causal ▫ Exemplo 2:  Em (a), W2(x)b potencialmente dependente de W1(x)a porque b pode ser resultado de um cálculo que envolva o valor lido por R2(x)a. As duas escritas são relacionadas por causalidade, portanto temos uma violação na ordenação das operações
  • 27. • Consistência Causal ▫ Exemplo 2:  Em (b), a leitura R(x)a foi removida, e W(x)b e W(x)a agora são escritas concorrentes. Assim, há uma sequência correta de eventos em um depósito consistente por causalidade
  • 28. • Consistência Causal ▫ Exemplo 2:  Em (b), a leitura R(x)a foi removida, e W(x)b e W(x)a agora são escritas concorrentes. Assim, há uma sequência correta de eventos em um depósito consistente por causalidade
  • 29. • Consistência Causal ▫ Exemplo 2:  Em (b), a leitura R(x)a foi removida, e W(x)b e W(x)a agora são escritas concorrentes. Assim, há uma sequência correta de eventos em um depósito consistente por causalidade
  • 30. • Weak Consistency ▫ Nem toda operação de escrita precisa ser vista pelos outros processos ▫ acesso a variável de sincronização (S) diz quando sincronizar valores - aumenta trabalho de programadores
  • 31. Bibliografia • Colouris, Dollimore, Kindberg. Distribuited Systems: Concepts and Design, Third Edition • http://www.fisiocomp.ufjf.br/anapaula/SD/SD_aula_16.pdf (último acesso em 21/05/2012) • http://web.fe.up.pt/~pfs/aulas/sd2009/at/20cons.pdf (último acesso em 21/05/2012) • http://www.tlc-networks.polito.it/oldsite/anapaula/Aula_Cap07a.pdf (último acesso em 21/05/2012) • http://www.adonaimedrado.pro.br/principal/index.php? option=com_content&view=article&id=57&Itemid=92 (último acesso em 21/05/2012) • http://www.inf.ufrgs.br/gppd/disc/cmp134/trabs/T1/991/DSM/DSM-Hardware. html#_Toc455993147 (último acesso em 21/05/2012) • http://www.ic.unicamp.br/~ranido/mc704/DSM.pdf (último acesso em 21/05/2012) • http://www.inf.ufsc.br/~frank/INE5418/2.5.DSM-Folhetos.pdf (último acesso em 21/05/2012) • http://www.inf.pucrs.br/~fldotti/sod/dsm.PDF (último acesso em 21/05/2012)