TM X SM. Replicação de Variáveis Compartilhadas. Protocolo de Atualização Síncrono ORCA

Tamanho: px
Começar a partir da página:

Download "TM X SM. Replicação de Variáveis Compartilhadas. Protocolo de Atualização Síncrono ORCA"

Transcrição

1 Replicação Programação Distribuída com Variáveis Compartilhadas TM X SM Replicação de Variáveis Compartilhadas Protocolo de Atualização Síncrono ORCA Variáveis Compartilhadas Replicadas V10.2 s1

2 Autores Autores Rodrigo Gasparoni Santos C. Geyer (revisões) Local Instituto de Informática, UFRGS disciplinas: Sistemas Operacionais II Programação Distribuída e Paralela Versão V10.2 Nov/2012 Variáveis Compartilhadas Replicadas V10.2 s2

3 Súmula Súmula Conceitos de replicação Troca de mensagens X Memória Distribuída Compartilhada Replicação de Variáveis Modelo ORCA Protocolo de Atualização Síncrono Variáveis Compartilhadas Replicadas V10.2 s3

4 Bibliografia Bibliografia Distributed Programming With Shared Data. Bal, Henri E. & Tanenbaum, Andrew S. Computer Languages, volume 16, nº. 2, 1991, pág Tanenbaum, A. S. Distributed Operating Systems capítulo sobre DSM Distributed Shared Data Couloris. Sistemas Distribuídos Conceitos e Projeto. 4ª ed. Bookman. Cap Replicação Variáveis Compartilhadas Replicadas V10.2 s4

5 Replicação Replicação conceitos Replicação de dados Manutenção de cópias dos dados em vários computadores Motivação: fornecer (mais) Melhor desempenho Alta disponibilidade Tolerância a falhas Variáveis Compartilhadas Replicadas V10.2 s5

6 Replicação Replicação conceitos Replicação de dados Exemplos Armazenamento de recursos de servidores em Cache dos navegadores Servidores proxies web Servidores de nomes como o DNS Cópias dos mapeamentos de nomes e atributos de computadores Variáveis Compartilhadas Replicadas V10.2 s6

7 Replicação Replicação vantagens Melhoria de desempenho Em replicação de recursos web de servidores Carga dos clientes é distribuída entre os servidores Ao realizar consulta em um servidor DNS, cliente recebe Uma opção de cópia entre uma lista com diversas opções de servidores idênticos Escolha pode ser por rodízio ou o menos carregado no momento ou... Variáveis Compartilhadas Replicadas V10.2 s7

8 Replicação Replicação vantagens Melhoria de desempenho Quando os dados são (quase) imutáveis o custo de manutenção das cópias é muito baixo Quando os dados são frequentemente alterados, é necessário atualizar as cópias Então deve-se comparar o ganho da distribuição da carga contra a perda pela atualização das cópias Variáveis Compartilhadas Replicadas V10.2 s8

9 Replicação vantagens Maior disponibilidade Índice de disponibilidade: ID Percentagem do tempo que o serviço está disponível e com tempo de resposta razoável (mínimo) Fatores que prejudicam a disponibilidade Falha do servidor... Crash Manutenção de sw Queda de energia Replicação Particionamento de rede e operação desconectada Variáveis Compartilhadas Replicadas V10.2 s9

10 Replicação Replicação vantagens Maior disponibilidade Havendo falha em um servidor o cliente automaticamente acessa um servidor alternativo com cópia dos recursos Cache x replicação de servidores Cache usualmente contém cópia parcial de dados Cache nem sempre melhora disponibilidade Exemplo de índice com replicação Cada servidor tem probabilidade de falha de 5% Havendo dois servidores ID: 1 0,05 2 = 1 0,0025 = 99,75 (%) Variáveis Compartilhadas Replicadas V10.2 s10

11 Replicação Replicação vantagens Maior disponibilidade Sem conexão Motivos Solução Usuário se desconecta para reduzir gastos Usuário móvel é desconectado por atingir localização sem sinal (rede) Falha de rede Trabalho desconectado Cliente (usuário) faz cópia de dados (parcial) Variáveis Compartilhadas Replicadas V10.2 s11

12 Replicação Replicação vantagens Maior disponibilidade Sem conexão Possível problema: durante uso desconectado outro cliente pode alterar a cópia principal (original) Caso: agenda para reservas de horários Deve ser possível resolver conflitos posteriormente Variáveis Compartilhadas Replicadas V10.2 s12

13 Replicação Replicação vantagens Tolerância a falhas Dados com alta disponibilidade podem estar incorretos Por exemplo: não foram atualizados Cópias não estão consistentes (mesmo valor) Sistema deve garantir em certas aplicações um comportamento único, rigoroso, mesmo em casos de falhas Sistemas com TF baseada em replicação exigem algoritmos distribuídos mais complexos Por exemplo, na atualização das cópias Variáveis Compartilhadas Replicadas V10.2 s13

14 Replicação Replicação requisitos Transparência da replicação Usuário (cliente) não percebe a replicação Operações são chamadas sobre um objeto com identificador único abstrato Operações retornam um único valor Mesmo que sejam executadas sobre mais de uma cópia Consistência dos dados Operações devem retornar valores corretos conforme especificação Variáveis Compartilhadas Replicadas V10.2 s14

15 Programação x Replicação Programação x Replicação Paradigmas usuais de programação: Uso de variáveis compartilhadas para sistemas com memória compartilhada (fortemente acoplados) Uso de troca de mensagens para sistemas sem memória compartilhada (fracamente acoplados) Abordagem alternativa: uso de variáveis compartilhadas para sistemas fracamente acoplados (redes, SD com memória fisicamente distribuída) Frequentemente implica o uso de replicação das variáveis compartilhadas Variáveis Compartilhadas Replicadas V10.2 s15

16 Motivação Comparação entre Variáveis Compartilhadas e Troca de Mensagens motivação para modelo com variáveis compartilhadas Exemplo: caso ORCA Variáveis Compartilhadas: VC Troca de Mensagens: TM Comparação feita por grupo de pesquisa do Tanenbaum Variáveis Compartilhadas Replicadas V10.2 s16

17 Comparação SM X TM Semântica VC TM semântica mais próxima de linguagens funcionais, lógicas, e orientadas a objetos Semântica dos pacotes de threads Posix threads Java e C# threads mais antigo (para programação distribuída), eficiente e próximo da noção de HW distribuído Variáveis Compartilhadas Replicadas V10.2 s17

18 Comparação SM X TM Atualização de valores VC: imediata TM: Em memória (fisicamente) compartilhada latência banda Variáveis Compartilhadas Replicadas V10.2 s18

19 Comparação SM X TM Participantes em 1 comunicação VC: 1 para N (broadcast) Todos podem acessar em leitura o novo valor escrito TM: 1 para 1 (ponto-a-ponto; usualmente) Programação segura VC: menos segura (correção ou ausência de bugs) n processos podem escrever na mesma variável TM: protegida apenas 1 têm direito de escrita o que recebe Variáveis Compartilhadas Replicadas V10.2 s19

20 Comparação SM X TM Estruturas complexas VC: natural; por exemplo, grafos TM requer operações para empacotamento e desempacotamento de estruturas complexas Pode ser transparente ao programadores nas linguagens OO Exemplo: Java RMI Sincronização VC TM requer primitivas de exclusão mútua (ex.: semáforos) Sincronização implícita na comunicação Variáveis Compartilhadas Replicadas V10.2 s20

21 Abordagens Abordagens Intermediárias buscam combinar as vantagens de cada modelo, mas em geral trazem novas desvantagens exemplos: Portas de Comunicação: filas compartilhadas; bloqueante na recepção; implementado com troca de mensagens Variáveis ADA: mecanismo de rendez-vous; replicação de variáveis; semântica confusa Modelo de Objetos: encapsulamento de dados; acesso somente através de métodos específicos Variáveis Compartilhadas Replicadas V10.2 s21

22 Abordagens Abordagens Intermediárias exemplos: Memória Compartilhada Orientada a Problemas: ajustada às necessidades de cada aplicação; semântica relaxada Modelo Agora de Memória Compartilhada: permite comunicação entre arquiteturas e linguagens distintas leituras podem retornar valores não atualizados Variáveis Compartilhadas Replicadas V10.2 s22

23 Abordagens Abordagens Intermediárias exemplos: Espaço de Tuplas (Linda): estruturas similares a registros; poucas primitivas atômicas; dados imutáveis Reimplementada em objetos Java Spaces (Sun) Aglets (Java, IBM) Variáveis Compartilhadas Replicadas V10.2 s23

24 Abordagens Abordagens Intermediárias Memória Virtual Compartilhada: similar a memória virtual tradicional garante que cada leitura obtém última escrita baixo desempenho em caso de escritas muito freqüentes Variáveis Lógicas Compartilhadas: propriedade da atribuição única : variáveis não podem mudar de valor depois de terem sido inicializadas Variáveis Compartilhadas Replicadas V10.2 s24

25 Abordagens Abordagens Intermediárias estas técnicas diferem amplamente em termos de semântica, endereçamento e mecanismos de sincronização um ponto-chave na implementação de qualquer uma delas, entretanto, é o conceito de replicação ou seja, a existência de diversas cópias do mesmo dado em máquinas distintas nesse contexto, replicação é utilizada para diminuir o tempo de acesso aos dados e não como um recurso de tolerância a falhas a replicação traz consigo o problema de manter consistentes as diversas cópias de cada variável Variáveis Compartilhadas Replicadas V10.2 s25

26 Variáveis Compartilhadas Modelo Orca de Variáveis Compartilhadas criado por Henri Bal e Andrew Tanenbaum dados compartilhados são encapsulados em objetos passivos sendo acessíveis somente através de um conjunto de operações associadas ao tipo do objeto o paralelismo advém da criação dinâmica de processos seqüenciais podendo o processo criador passar qualquer um de seus objetos para os filhos o objeto compartilhado é visível para todos estes processos alterações feitas por um processo são visíveis para todos os demais Variáveis Compartilhadas Replicadas V10.2 s26

27 Variáveis Compartilhadas Modelo de Dados-Objetos Compartilhados vantagens sobre o modelo usual (em memória) da variáveis compartilhadas: Encapsulamento dos dados e operações todas as operações de acesso aos dados são indivisíveis invocações simultâneas de diversas operações sobre o mesmo dado são automaticamente serializadas mecanismo simples e seguro Obs.: Essa semântica pode ser implementada em memória compartilhada Por exemplo: objetos atômicos em Java Variáveis Compartilhadas Replicadas V10.2 s27

28 Variáveis Compartilhadas Modelo de Dados-Objetos Compartilhados Relembrando diferenças de tempos de acesso Latência, banda,... RAM: 10 a 150 nanosegundos => 100 ns SRAM: 10 ns DRAM: 50 a 150 ns Disco 9 a 15 milisegundos (ms) ou ns Ou 100 a 200 vezes mais lento Variáveis Compartilhadas Replicadas V10.2 s28

29 Variáveis Compartilhadas Modelo de Dados-Objetos Compartilhados Relembrando diferenças de tempos de acesso Rede Round-trip time: ping, tempo de ida e volta 50 a 500 ms Depende se cabo, DSL, satélite, rede local,... Casos especiais: 25 ms Média (?): ns Diferença entre RAM e rede ns / 50 ns RAM: vezes mais rápida Variáveis Compartilhadas Replicadas V10.2 s29

30 Variáveis Compartilhadas Modelo de Dados-Objetos Compartilhados Implementações possíveis: Monitor Centralizado responsável tanto por operações de leitura quanto de escrita 100 a 1000 vezes mais lento do que acesso local Cópias Primárias e Secundárias operações de leitura são feitas na cópia local Tempo usual de memória compartilhada operações de escrita devem ser propagadas pela rede Maior custo que escrita em memória compartilhada Desempenho das aplicações depende da relação de quantidade de leituras por escritas Variáveis Compartilhadas Replicadas V10.2 s30

31 Cópias Primárias & Secundárias Cópias Primárias - Secundárias cada dado: 1 cópia primária, k-1 cópias secundárias k-1: até n, quantidade de processos (computadores) que acessam a variável k: dinamicamente calculada compilador distingue operações de leitura e escrita sobre dados compartilhados sistema de run-time mantém estatísticas sobre a utilização de cada variável por cada processo manter estatísticas apresenta custo desprezível objetivo: minimizar troca de mensagens pela rede se um processo faz muitos acessos de leitura a um mesmo dado, é ideal que tenha uma cópia local deste Variáveis Compartilhadas Replicadas V10.2 s31

32 Cópias Primárias - Secundárias Cópias Primárias & Secundárias o processo que escreve com maior freqüência num certo dado deve ser escolhido para conter a cópia primária do mesmo Variáveis Compartilhadas Replicadas V10.2 s32

33 Cópias Primárias - Secundárias Cópias Primárias & Secundárias é necessário um protocolo de propagação das escritas: invalidação: cada write atualiza cópia local e invalida todas as outras Mensagem curta próximo read busca valor na cópia válida Se ocorrer custo: 3 mensagens por cópia atualização: sobrescrever todas as cópias Mensagem com novo valor (longa?) custo: 1 mensagem por cópia Variáveis Compartilhadas Replicadas V10.2 s33

34 Protocolo de Atualização Protocolo de Atualização de Réplicas descrito usando a linguagem Orca, criada pelos autores do artigo deve manter consistência das diversas cópias deve ser independente das velocidades relativas dos processos e dos links de comunicação considerar links ponto-a-ponto entre cada par de processos, com entrega confiável e garantia de recepção na mesma ordem do envio artigo original inclui também algoritmos com uso de multicast Variáveis Compartilhadas Replicadas V10.2 s34

35 Protocolo de Atualização de Réplicas X, Y: shared object; # inicializados em 0 Protocolo de Atualização Programa aplicação exemplo (para teste do algoritmo): Process P1: for i := 1 to do write(x, i); Process P2: repeat y := read(y); x := read(x); if x > y then write(y, x); Process P3: repeat y := read(y); x := read(x); assert x y; Variáveis Compartilhadas Replicadas V10.2 s35

36 Protocolo de Atualização Protocolo de Atualização de Réplicas programa exemplo X e Y são dados compartilhados, visíveis para os três processos com cópia primária de X em P1 cópia primária de Y em P2 processo P1 incrementa X continuamente processo P2 atualiza Y conforme X garante que X não ultrapasse Y processo P3 aborta indicando erro se, em algum momento, verificar que Y possui valor maior do que X Variáveis Compartilhadas Replicadas V10.2 s36

37 Protocolo de Atualização Protocolo de Atualização de Réplicas Primeira tentativa de protocolo de propagação (incorreto): #Cópia secundária de X que inicia escrita send CPx(X,novoX); #Cópia primária de X receive (X,novoX) from CSx; set write-lock on X; X:=novoX; let S = conjunto de processos com cópia secundária de X forall i S [CSx] do send i(x,novox); for j:=1 to S - 1 do receive ACK; unlock X; #Outras cópias secundárias de X receive (X,novoX) from CPx; set write-lock on X; X:=novoX; send CPx(ACK); unlock X; Variáveis Compartilhadas Replicadas V10.2 s37

38 Protocolo de Atualização Protocolo de Atualização de Réplicas Os locks têm semântica local Só bloqueiam outros processos tentando acessar a cópia local da variável Variáveis Compartilhadas Replicadas V10.2 s38

39 Protocolo de Atualização de Réplicas Seqüência de eventos que gera erro: Protocolo de Atualização P1 X=1 write(x,1) P2 X=1 Y=1 Todas as cópias inicializadas em zero P1 atualiza X e envia mensagens para P2 e P3 P3 X=0 Y=1 P2 tem X=1, atualiza Y e envia mensagem para P3 P3 recebe mensagem de P2 antes da mensagem de P1 assert falha! Variáveis Compartilhadas Replicadas V10.2 s39

40 Protocolo de Atualização de Réplicas problema: Protocolo de Atualização tempo arbitrário que as mensagens levam para chegar ao destino P3 observa as mudanças em X e Y na ordem incorreta é necessário um protocolo de duas fases: lock s das cópias locais só devem ser liberados após cópia primária ter certeza de que todos foram atualizados garante: se um processo i ler novo valor de X, todos os outros terão o novo valor de X no exemplo: se P2 leu novo X, então P3 também lerá novo X Ou: P2 só pode ler novo X após ter confirmação de que P3 também tem novo X Variáveis Compartilhadas Replicadas V10.2 s40

41 Protocolo de Atualização Protocolo de Atualização de Réplicas Versão corrigida (cópias primárias multithreaded): #Cópia primária de X receive (X,novoX) from CSx; fork udpate(x,novox, CSx); process update(x, novox, CSx) begin set write-lock on X; X:=novoX; let S = conjunto de processos com cópia secundária de X #fase 1 forall P S do send P(X,novoX, update-and-lock); for i:=1 to S do receive ACK; #fase 2 forall P S do send P(X,unlock); unlock X; send CSx(ACK); end; #Cópias secundárias de X receive (X,novoX, update-and-lock) from CPx; set write-lock on X; X:=novoX; send CPx(ACK); receive (X, unlock) from CPx; unlock X; Variáveis Compartilhadas Replicadas V10.2 s41

42 Protocolo de Atualização Protocolo de Atualização de Réplicas P1 X=1 update-and-lock (X,1) ACK P2 X=1 Y=0 Todas as cópias inicializadas em zero P1 atualiza X e envia mensagens para P2 e P3 P3 X=0 Y=0 P2 tem X=1, mas não atualiza Y enquanto não receber o unlock de P1, o que só ocorrerá depois que P3 confirmar recebimento falha no assert agora é impossível Variáveis Compartilhadas Replicadas V10.2 s42

43 Protocolo de Atualização Protocolo de Atualização de Réplicas protocolo em 2 fases garante que nenhuma cópia secundária lerá valor antigo de um dado X qualquer se outras cópias secundárias já estão lendo o novo valor de X com n cópias secundárias, são necessárias 3n mensagens para atualizar todas as cópias e 3 passos protocolo denominado de protocolo de 2 fases atualização confirmação ou commit para objetos pequenos (como inteiros) que são atualizados com freqüência, protocolo de invalidação pode ser mais eficiente, se entre duas leituras houver múltiplas escritas Variáveis Compartilhadas Replicadas V10.2 s43

44 Resumo Resumo Conceitos de replicação Vantagens Programação distribuída: modelo VC x modelo TM Algumas vantagens no modelo VC Modelo Orca Processos distribuídos mais opção de variáveis explicitamente compartilhadas Para agilizar leitura: réplicas distribuídas das variáveis (valores) Somente quando há mais leituras que escritas Exige atualização (implícita) das réplicas Protocolo de atualização fortemente síncrono Variáveis Compartilhadas Replicadas V10.2 s44

45 Revisão Revisão temas? comparação SM X TM? semântica, modelo tempo da atualização participantes de 1 comunicação programação segura estruturas complexas sincronização Variáveis Compartilhadas Replicadas V10.2 s45

46 Revisão Revisão abordagens intermediárias exemplos? diferenças? semelhanças? tolerância a falhas x desempenho? qual a conseqüência direta da replicação em termos de implementação/protocolos? Variáveis Compartilhadas Replicadas V10.2 s46

47 Revisão Revisão modelo Orca (autores) dados? processos? compartilhamento? semântica do compartilhamento? possíveis abordagens gerais de implementação? como serializar (atomizar)? Variáveis Compartilhadas Replicadas V10.2 s47

48 Revisão Revisão cópias primária - secundárias quantas? quem tem a primária? quem tem a secundária? como o compilador ajuda? para que servem as estatísticas? custo? tipos de protocolos de atualização? Variáveis Compartilhadas Replicadas V10.2 s48

49 Revisão Revisão princípios do protocolo Orca? exemplo para testes? varíáveis? processos? ordem das leituras? quem é CP? e CS? Variáveis Compartilhadas Replicadas V10.2 s49

50 Revisão Revisão 1o protocolo? ack é necessário? contra-prova com exemplo? explique a origem do problema? Variáveis Compartilhadas Replicadas V10.2 s50

51 Revisão Revisão 2o protocolo tipos de mensagens? descrição na CP? descrição na CS? os locks locais são necessários? CP? CS?explique explique a idéia abstrata da solução? o que garante? qual a complexidade de uma leitura? e de uma escrita? Variáveis Compartilhadas Replicadas V10.2 s51

52 Exercícios Exercícios A) O algoritmo funciona corretamente se o protocolo de comunicação (implementação) não garante a ordem das mensagens entre 2 processos? Explique. B) O algoritmo pode ser otimizado havendo um protocolo de comunicação de multicast com ordenação causal? Explique. multicast com ordenação causal diferentes receptores recebem mensagens na mesma ordem desde que haja uma dependência entre as mensagens por exemplo: send somente após receive Variáveis Compartilhadas Replicadas V10.2 s52

53 Replicação vantagens Melhoria de desempenho Em replicação de recursos web de servidores Carga dos clientes é distribuída entre os servidores Ao realizar consulta em um servidor DNS, cliente recebe Uma opção de cópia entre uma lista com diversas opções de servidores idênticos Escolha pode ser por rodízio ou o menos carregado no momento ou... Quando os dados são (quase) imutáveis o custo de manutenção das cópias é muito baixo Replicação Quando os dados são frequentemente alterados, é necessário atualizar as cópias Então deve-se comparar o ganho da distribuição da carga contra a perda pela atualização das cópias Variáveis Compartilhadas Replicadas V10.2 s53

54

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações entre processos Processos interagem para trocar dados de modo

Leia mais

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência e Replicação Capítulo 7 Agenda Distribuição de Conteúdo Estado versus operações Protocolos de recuperação de atualizações versus protocolos

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens

Leia mais

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de

Leia mais

Concorrência em Processos

Concorrência em Processos Concorrência em Processos Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Baseado nas aulas do professor Alberto Costa Neto da UFS 1 O que fazer com essa apresentação

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito

Leia mais

Replicação. Modelos de Consistência.

Replicação. Modelos de Consistência. Replicação. Modelos de Consistência. December 1, 2009 Sumário Introdução Questões Centrais da Replicação Modelos de Consistência Replicação O que é? O uso de múltiplas cópias de dados ou serviços (e estado

Leia mais

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

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP Introdução Memória Compartilhada e Distribuída _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP Um sistema de memória compartilhada faz a memória física global de um sistema igualmente

Leia mais

Processamento Paralelo

Processamento Paralelo Processamento Paralelo por Helcio Wagner da Silva Introdução Tradicionalmente, o computador tem sido visto como uma máquina seqüencial Esta visão nunca foi completamente verdadeira No nível das µo, vários

Leia mais

Curso de Programação Distribuída e Paralela 29/09/2008. Informática UFRGS. Sistemas Operacionais II (C. Geyer) Sincronização 1. Pg.

Curso de Programação Distribuída e Paralela 29/09/2008. Informática UFRGS. Sistemas Operacionais II (C. Geyer) Sincronização 1. Pg. Sistemas Operacionais Professor Cláudio Geyer Instituto de - Sistemas Operacionais II (C. Geyer) Sincronização 1 Sistemas Operacionais Professor Cláudio Geyer Instituto de - Pg. 1 1 Tópicos ensinados no

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com

Leia mais

Sistemas Distribuídos. maio de simbolopuc

Sistemas Distribuídos. maio de simbolopuc Sistemas Distribuídos maio de 2017 Motivação tolerância a falhas disponibilidade desempenho proximidade divisão da carga de trabalho: escalabilidade Consistência Se várias cópias de um serviço estão disponíveis,

Leia mais

Sistemas Distribuídos Aula 10

Sistemas Distribuídos Aula 10 Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação

Leia mais

TÓPICOS EM COMPUTAÇÃO APLICADA

TÓPICOS EM COMPUTAÇÃO APLICADA TÓPICOS EM COMPUTAÇÃO APLICADA Aula 6 Tecnologias para Sistemas Distribuídos Bacharelado em Ciência da Computação Professor MSc. Ariel da Silva Dias Complexo Educacional FMU Filosofia Computadores estão

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Thaís Vasconcelos Batista UFRN DIMAp http://www.dimap.ufrn.br/~thais thais@ufrnet.br Programa do Curso INTRODUÇÃO Conceitos Básicos Sistemas em Rede X Sistemas Distribuídos Necessidade

Leia mais

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTIPROCESSADORES

Leia mais

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

Sistemas Distribuídos. Capítulo 7 - Aula 16 Sistemas Distribuídos Aula Passada Capítulo 7 - Aula 16 Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual Ordenação de Mensagens Recuperação Aula de hoje Modelos de Consistência Protocolos

Leia mais

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Autor Autor Local Cláudio Geyer Instituto de Informática disciplinas: POD e PDP Versão v4 2010-1 Programação com Objetos Distribuídos

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como

Leia mais

Carlos Eduardo Batista Centro de Informática - UFPB

Carlos Eduardo Batista Centro de Informática - UFPB Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação Arquitetura de computadores modernos Desafios da programação concorrente Definição de concorrência Correr junto Disputa por

Leia mais

Sistemas Distribuídos. abril de 2015

Sistemas Distribuídos. abril de 2015 Sistemas Distribuídos abril de 2015 Motivação tolerância a falhas disponibilidade desempenho proximidade divisão da carga de trabalho: escalabilidade Consistência Se várias copias de um serviço estão disponíveis,

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Introdução a Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Introdução aos Sistemas Operacionais Fundamentação Teórica Evolução Histórica Características

Leia mais

Replicação. Protocolos. June 2, 2010

Replicação. Protocolos. June 2, 2010 Replicação. Protocolos. June 2, 2010 Sumário Arquitectura Protocolos baseados em Primário Protocolos de Escrita Replicada Protocolos para client-centric consistency Leitura Adicional Sumário Arquitectura

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens

Leia mais

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

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA: Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes

Leia mais

O que é? É uma aplicação que consiste em 2 ou mais processos que executam em diferentes processadores que não partilham memória.

O que é? É uma aplicação que consiste em 2 ou mais processos que executam em diferentes processadores que não partilham memória. Sumário: Introdução aos SD (Uma) Definição dum sistema distribuído (SD). Exemplos de SDs. Potenciais vantagens de SDs. Objectivos no desenvolvimento de SDs. Dificuldades/obstáculos no desenvolvimento de

Leia mais

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81 Sumário 1 Caracterização de Sistemas Distribuídos 1 1.1 Introdução 2 1.2 Exemplos de sistemas distribuídos 3 1.3 Tendências em sistemas distribuídos 8 1.4 Enfoque no compartilhamento de recursos 14 1.5

Leia mais

Sistemas Distribuídos Aula 7

Sistemas Distribuídos Aula 7 Sistemas Distribuídos Aula 7 Aula passada Atomicidade Test-and-set Locks revisitado Semáforos Dois problemas Aula de hoje Limitação dos semáforos Monitores Variáveis de condição Semântica do signal Sincronização

Leia mais

MEMÓRIA COMPARTILHADA DISTRIBUÍDA

MEMÓRIA COMPARTILHADA DISTRIBUÍDA MEMÓRIA COMPARTILHADA DISTRIBUÍDA Sistemas Distribuídos 290 Formas de comunicação entre processos (IPC) Troca de mensagens originador: send(destinatário, dados) receptor receive(dados) Memória compartilhada

Leia mais

Consistência e replicação. capítulo

Consistência e replicação. capítulo Consistência e replicação capítulo 7 (i) Razões para replicação Confiança: Se um sistema de arquivos foi replicado, caso uma replica deixe de funcionar, é esperado que ele continue trabalhando normalmente

Leia mais

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro Sistemas MIMD Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas Paralelas (SISD) Single Instruction Stream, Single Data Stream: Monoprocessador

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Transação e Controle de Concorrência Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 20ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquiteturas MIMD As arquiteturas MIMD dividem-se

Leia mais

SSC510 Arquitetura de Computadores. 8ª aula

SSC510 Arquitetura de Computadores. 8ª aula SSC510 Arquitetura de Computadores 8ª aula ARQUITETURAS MIMD COM MEMÓRIA COMPARTILHADA COERÊNCIA DE CACHE PROFA. SARITA MAZZINI BRUSCHI Memórias Cache Políticas de Atualização As memórias caches possuem

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 15

Sistemas Distribuídos Capítulo 8 - Aula 15 Sistemas Distribuídos Capítulo 8 - Aula 15 Aula de hoje Aula Passada Comunicação Confiável Cliente-Servidor Comunicação Confiável de Grupo Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual

Leia mais

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Programação de Alto Desempenho - 2. Prof: Carla Osthoff Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda

Leia mais

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

Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída) Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída) Modelos de consistência de memória João Luís Ferreira Sobral jls@... 29 Março 2011 Resumo Revisão: modelos de threads Qual a necessidade

Leia mais

Linguagem de Programação II

Linguagem de Programação II Linguagem de Programação II Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB bidu@ci.ufpb.br Mo6vação Adaptar a estrutura lógica de um problema (Ex.: Servidores Web). Lidar com disposi6vos independentes

Leia mais

Sistemas Distribuídos. Aleardo Manacero Jr.

Sistemas Distribuídos. Aleardo Manacero Jr. Sistemas Distribuídos Aleardo Manacero Jr. Sistema de arquivos distribuídos Na ótica de sistemas distribuídos o tratamento de sistemas de arquivos deve: Considerar a possibilidade de distribuição das informações,

Leia mais

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Introdução Instructor's Guide for Colouris et al. SDs de diferentes tipos compartilham importantes propriedades fundamentais e

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.

Leia mais

Protótipo tipo de um sistema de arquivos para ambiente distribuído

Protótipo tipo de um sistema de arquivos para ambiente distribuído Universidade Regional de Blumenau Bacharelado em Ciências da Computação Protótipo tipo de um sistema de arquivos para ambiente distribuído do Acadêmica: Catia Silene Possamai Orientador: Antonio Carlos

Leia mais

Protocolo Request-Reply

Protocolo Request-Reply n n n n Protocolo Request-Reply Modelo de Objeto Remoto Semânticas de Invocação Remota Arquitetura de Invocação Remota Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Características de

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 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

Leia mais

Estruturas de Sistemas Operacionais

Estruturas de Sistemas Operacionais Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema

Leia mais

Programação concorrente (processos e threads)

Programação concorrente (processos e threads) Programação concorrente (processos e threads) Programação concorrente Por que precisamos dela? Para utilizar o processador completamente Paralelismo entre CPU e dispositivos de I/O Para modelar o paralelismo

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Sincronização Slide 7 Nielsen C. Damasceno Introdução Utilizando Sistemas Distribuídos, uma grande dificuldade que temos é como garantir o acesso exclusivo a um recurso compartilhado,

Leia mais

Conceitos de Sistemas Distribuídos

Conceitos de Sistemas Distribuídos Conceitos de Sistemas Distribuídos Roteiro Definição de Sistemas Distribuídos (SD) Evolução Histórica Exemplos (SD) Modelos (Vantagens x Desvantagens) 2 O que é um Sistema Distribuído? Definição Coleção

Leia mais

Universidade Federal do Maranhão

Universidade Federal do Maranhão Universidade Federal do Maranhão Banco de Dados II Banco de Dados Distribuídos Carlos Eduardo Portela Serra de Castro * Sumário Introdução Vantagens Projeto de Bases de Dados Distribuídas Classificação

Leia mais

falhas em sistemas distribuídos

falhas em sistemas distribuídos Tolerância a Falhas falhas em sistemas distribuídos Lamport: A distributed system is a system where I can t get any work done if a machine I ve never heard of crashes. sistemas distribuídos e falhas parciais

Leia mais

Aula 03. Evandro Deliberal

Aula 03. Evandro Deliberal Aula 03 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Concorrência Método Sincronização Problemas: Perda de consistência Acesso a dados inconsistentes Perda de atualizações

Leia mais

Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela Aula 6: Comunicação entre processos Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela (-- motivação --) Processos em execução no sistema operacional podem ser: Independentes:

Leia mais

Introdução à Computação: Sistemas de Computação

Introdução à Computação: Sistemas de Computação Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 11ª Aula Threads Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no livro

Leia mais

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 4: Programação Concorrente Diego Passos Últimas Aulas Processos Compostos por: Código (programa). Estado (memória, registradores). Em um sistema com multiprogramação:

Leia mais

The Excitement in Parallel Computing

The Excitement in Parallel Computing The Excitement in Parallel Computing MAC0412 - Organização de Computadores Alberto Ueda, Bruno Ozahata, Camila Matsubara, Gabriel Pugliese, João Paulo Mota, Leonardo Marchetti, Mina Cintho e Pĺınio Esmerio

Leia mais

LINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE

LINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE LINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE Adriana Nery Programação lógica Paradigma Predicados Dedutiva) baseado no Cálculo de (Lógica Matemática Exemplo: Zé Carioca é um papagaio. Todo papagaio é uma

Leia mais

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO IM DCC CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I 2010/2 PROGRAMA DA DISCIPLINA

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO IM DCC CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I 2010/2 PROGRAMA DA DISCIPLINA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO IM DCC CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I 2010/2 Código: MAB366 Créditos: 04 Carga Horária: 60 horas Professor: Antonio Carlos Gay Thomé thome@nce.ufrj.br

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,

Leia mais

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA

Leia mais

SISTEMAS DISTRIBUÍDOS PROCESSOS. Slides cedidos pela professora Aline Nascimento

SISTEMAS DISTRIBUÍDOS PROCESSOS. Slides cedidos pela professora Aline Nascimento SISTEMAS DISTRIBUÍDOS PROCESSOS Slides cedidos pela professora Aline Nascimento INTRODUÇÃO Diferentes tipos de processos desempenham papel crucial em sistemas distribuídos. O conceito de um processo é

Leia mais

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Sistema Operacional. Prof. Leonardo Barreto Campos.   1/30 Sistema Operacional Prof. Leonardo Barreto Campos 1/30 Sumário Introdução Middleware e SO de Rede SO de Rede Processos e Threads Leitura Complementar Bibliografia 2/30 Introdução A tarefa de qualquer sistema

Leia mais

Curso: Redes de Computadores

Curso: Redes de Computadores Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg

Leia mais

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.

Leia mais

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

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; ! Sistemas Distribuídos Aspectos de Projeto de SD Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com Aspectos de Projeto em SD! Transparência;! Abertura;! ;! Heterogeneidade;! Segurança;! Tratamento

Leia mais

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

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar - Aula 3-1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS Na segunda parte abordamos o tema tolerância a falhas, assunto este muito relacionado a redes de computadores, mas que nos mostra

Leia mais

Introdução aos Sistemas Distribuídos

Introdução aos Sistemas Distribuídos Introdução aos Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Ementa; Bibliografia Calendário Site Introdução Características http://sites.google.com/sitew/leonardobcampos

Leia mais

Concorrência. Sistemas Distribuídos e Tolerância a Falhas. Lia Ribeiro 1

Concorrência. Sistemas Distribuídos e Tolerância a Falhas. Lia Ribeiro 1 Concorrência Sistemas Distribuídos e Tolerância a Falhas Lia Ribeiro 1 Índice Consistência Atómica e sequencial Serializability Controle de concorrência One copy Serializability 2 Exclusão Mútua Técnica

Leia mais

Vamos fazer um pequeno experimento

Vamos fazer um pequeno experimento 1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Unitri Prof: Carlos Eduardo de Carvalho Dantas Conceitos Sistema Distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente.

Leia mais

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

Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição 6LVWHPDV'LVWULEXtGV 0GHO&OLHQWH6HUYLGU &PXQLFDom 6XPiUL Introdução Elementos Básicos de Comunicação Comunicação Cliente-Servidor Comunicação em Grupo Chamada emota de Procedimento (PC) Prof a. Cristina

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Tópicos Características de um SD Modelos arquiteturais para implementação de SD Características

Leia mais

Arquiteturas Paralelas

Arquiteturas Paralelas ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Arquiteturas Paralelas Medidas de desempenho Alexandre Amory Edson Moreno Índice 2 1. Introdução 2. Medidas de Desempenho Introdução 3 Aumento de desempenho dos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 23 de fevereiro de 2011 Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador

Leia mais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Caracterização de Faculdades SENAC Análise e Desenvolvimento de Sistemas 24 de fevereiro de 2010 Caracterização de Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Setembro/2003 Tópicos Sincronização em Sistemas Distribuídos Exclusão Mútua Transações Distribuídas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Recuperação Capítulo 8 Agenda Introdução Pontos de Verificação Registro de Mensagens Introdução Essência: Quando ocorre uma falha no sistema, é

Leia mais

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos Sistemas operacionais modernos criam vários processadores virtuais, cada um para executar um programa. Para monitorar

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Introdução: Comunicação, e Coordenação março de 2015 Comunicação entre Processos troca de mensagens é sempre a primitiva básica sobre essa primitiva podemos construir outras visões da comunicação Mensagens

Leia mais

Ruby e JRuby em... Paralelos e Distribuídos. Felipe Barden Lucas Fialho Zawacki

Ruby e JRuby em... Paralelos e Distribuídos. Felipe Barden Lucas Fialho Zawacki Ruby e JRuby em... Paralelos e Distribuídos Felipe Barden 151343 Lucas Fialho Zawacki 172072 Sobre o que vamos falar? A linguagem Ruby e suas aplicações em programação paralela e distribuída. A implementação

Leia mais

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o Sistemas Operacionais um pouco da história... - Evolução dos SO s através do tempo - Novas técnicas não são assimiladas simultaneamente por todos - Década de 40, não existia SO - O programador é o faz

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos 1ª chamada, 19 de Janeiro de 2011 1º Semestre, 2011/2012 NOTAS: Leia com atenção cada questão antes de responder.

Leia mais

Sistema de arquivos Distribuidos

Sistema de arquivos Distribuidos Sistema de arquivos Distribuidos Luiz Carlos, Rafael Tavares, Aline Universidade Estacio de Sá 4 de novembro de 2013 (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 1 / 16 Introdução

Leia mais

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação

Leia mais

Projeto de Sistemas Distribuídos. Considerações

Projeto de Sistemas Distribuídos. Considerações Projeto de Sistemas Distribuídos Considerações Projeto de Sistemas Distribuídos Problemas Objetivos Requisitos de usuário Como são estruturados? 2 Problemas-chave Nomeação Alocação de carga Manutenção

Leia mais

Universidade Federal do RGS Instituto de Informática Departamento de Informática Aplicada

Universidade Federal do RGS Instituto de Informática Departamento de Informática Aplicada Universidade Federal do RGS Instituto de Informática Departamento de Informática Aplicada Disciplina: INF01151 - Sistemas Operacionais II N Turma: A, 2 Sem/2008 Prof. Cláudio Geyer CURSOS : Ciência da

Leia mais

Sistema de Software Distribuído

Sistema de Software Distribuído Sistema de Software Distribuído É composto por uma sequência de instruções, que é interpretada e executada por um processador É composto por instruções concorrentes ou paralelas, que são interpretadas

Leia mais

Aula 04. Evandro Deliberal

Aula 04. Evandro Deliberal Aula 04 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal O que é Replicação repetir ou repetir-se por produção ou multiplicação = reproduzir Definição Mecanismo que

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura de Computadores. Processamento Paralelo Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 2016.1 PROF. MARCIAL PORTO FERNANDEZ MARCIAL@LARCES.UECE.BR PROF. ANDRÉ RIBEIRO CARDOSO ANDREC@LARCES.UECE.BR 1 5. Consistência e Replicação em SD 2 Sumário Introdução Modelos de

Leia mais

Tolerância a Falhas com Máquinas de Estado

Tolerância a Falhas com Máquinas de Estado Sistemas Distribuídos junho de 2013 Histórico Lamport,1984: Using time instead of timeout for fault tolerance in distributed systems Schneider, 1990: Implementing Fault-Tolerant Services using the State

Leia mais