Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Sistemas Distribuídos Sistemas Distribuídos
n Dificuldades n Dificuldades
n Acesso concorrente a dados e recursos n Sujeito a falhas
n Dados/recursos em diferentes máquinas n Asmáquinas e a rede podem falhar
n Como controlar o acesso concorrente? n Como evitar que estas falhas comprometam
7
sigilo dos dados trocados pela rede? 8
2
Tempo Global Tempo Global
n NTP (Network Time Protocol) n Características do NTP
n Barato por não exigir relógios precisos
1o Nível (atômicos ou com GPS) em todas as máquinas
n Impreciso devido ao tempo de propagação
das mensagens pela rede não ser constante
2o Nível n O algoritmo de sincronizaç
sincronização dos reló
relógios
leva em conta uma estimativa do tempo de
propagaç
propagação das mensagens pela rede
n Mesmo assim, existe um erro implícito que
pode chegar a dezenas de ms, e que deve
ser levado em conta pelos sistemas
13 14
1 5 (0,0,1) (2,2,2)
p3 p3
e f 17 e f 18
© Colouris
Colouris,, Dollimore & Kindberg © Colouris
Colouris,, Dollimore & Kindberg
3
Estado Global Estado Global
n Estado Global de um Sistema Distribuído n Quando é preciso obter o Estado Global?
nÉ o conjunto dos estados locais dos processos n Garbage Collection : verificar se existem
clientes de objetos acessados remotamente
n Como o estado local de cada processo muda
n Debugging Distribuído: verificar os valores das
continuamente, é muito difícil conhecer o
variáveis de um programa distribuído
estado global do sistema
n Controle de Membership : listar os membros
n Tentar obter o estado global consultando cada
de um grupo de processos ou usuários
processo pode levar a inconsistências n ...
n Exemplos: n Como obter um Estado Global consistente?
n Crianças trocando figurinhas nÉ preciso considerar o efeito das mensagens
n Saldo das contas de correntistas de um banco 19
trafegando na rede para obter o estado global 20
4
Transações Distribuídas Transações Distribuídas
n Execução de Transações Distribuídas n Coordenador de Transações
n Coordenadores de transações coordenam a n Inicia a execução da transação
execução das transações iniciadas localmente n Divide a transação em sub-
sub-transações e as
n Gerenciadores de transações administram a distribui no sistema para execução
execução da parte local da transação n Efetiva ou faz o rollback em todos os sites
29 30
5
Controle de Concorrência Controle de Concorrência
n Protocolo da Maioria n Protocolo Parcial
n Usado no acesso a dados replicados n Cada máquina tem o seu gerenciador de
n Cada máquina possui um gerenciador para bloqueio das réplicas locais de dados
bloqueio de réplicas de dados locais n Bloqueios compartilhados são obtidos
n O bloqueio de dados com réplicas é contatando o gerenciador de somente uma
concedido se a maioria dos sites permitir réplica do dado
n Mais complexo para implementar que os n Bloqueios exclusivos devem ser solicitados em
anteriores, e difícil detectar deadlocks todos os gerenciadores de bloqueio de todas
as máquinas com réplicas
escalável, mas difícil detectar deadlocks
n Bem escalável,
31 32
Controle de Concorrência
n Detecção de Deadlocks Distribuídos
n Cada máquina monta um gráfico de espera
com os bloqueios mantidos localmente
n Um nó PEX é adicionado ao
gráfico para representar P1 P2
uma espera por recursos
externos bloqueados P3 PEX
n Um ciclo passando apenas
por nós locais representa um deadlock
n Um ciclo envolvendo PEX indica um possível
deadlock, que deve ser verificado junto às
máquinas envolvidas 33