Escolar Documentos
Profissional Documentos
Cultura Documentos
Projeto
Autoria
1a versão
Alunos de disciplina do PPGC
Revisões
C. Geyer
Versão atual
V13.2, nov 2013
C. Geyer
Súmula
Projeto
Implementação
Obs.: outro conjunto de slides
Tendências
Obs.: no mesmo arquivo de slides da “Implementação”
Bibliografia
Tanenbaum: MOS (1ª versão), DOS, DS
Distributed Systems – Principles and Paradigms.
Prentice-Hall, 2002.
Cap. 10
Bibliografia
Coulouris
Sistemas Distribuídos – Conceitos e Projeto. 4ª edição,
Bookman, 2007.
Cap. 8
Desempenho
questão importante porque acessos remotos podem ser
significativamente mais lentos que os locais
não se pretende em geral que o SAD seja mais rápido
que um SA local
mas sim que a degradação seja aceitável
Heterogeneidade do hardware e SO
Escalabilidade
Particionamento da rede
Coulouris
NFS e AFS
Silberschatz
AFS
visão do cliente
Usuário e programador
implementação
Usualmente inteiros
Módulo cliente
Servidor
Um sw executando em 1 (uma) máquina
Cliente
Um processo (1 máquina) fazendo uso do serviço
Através de operações
Organização de Diretórios
Máquina 1
A0
A
B2 C1
B C
D1 E1 Máquina 2
D E
caminho: /servidori/path
diversos
Transparência de nomes
Transparência de Localidade
nome completo (path) não indica a localização do
arquivo (qual máquina)
exemplo: /servidor1/arquivo
exemplo: NFS
Independência de Localidade
transparência de migração
De localização
Nome não indica local
De concorrência
Mecanismos de controle de acesso concorrente
Padrões e opcionais
De falhas
Correção das operações em caso de falhas de um cliente
ou de rede (mensagens perdidas, ...)
De desempenho
Desempenho satisfatório em variação forte da # de
clientes
Sistemas Distribuidos Sistema de Arquivos Distribuídos 22
Interface do Sistema de Diretórios
Mais usada
Nomeação em dois-níveis
nomes binários múltiplos
usualmente original e cópias de segurança
mais disponível
registros (mainframes)
organizações indexadas
atributos de arquivos
proprietário, tamanho, datas, direitos de acesso, ...
Segurança
capabilities: por usuário/objeto (arquivo)
Acesso Remoto
(1)
(2) (3)
Arquivo atual
1. O arquivo completo é transferido para o cliente
2. Os acessos ao arquivo são feitos exclusivamente no cliente
3. Quando o cliente termina, o arquivo completo é reenviado ao
servidor
- ou somente todas as alterações (menos comunicação,
mais complexo)
Sistemas Distribuidos Sistema de Arquivos Distribuídos 28
Interface do Serviço de Arquivos
Modelo Upload/Download
Vantagens
Interface simples:
2 primitivas principais
Read/Write arquivo
Desvantagens
Espaço suficiente nos clientes
Exemplos:
com caching: NFS, Locus, Sprite, Spring
Cache em disco
Propriedades inversas
Cache híbrido
Chamado de cachef no NFS do Solaris (“Unix” da Sun)
Tamanho da cache
Tamanho do arquivo
Quantidade de escritas
Quando?
Periodicamente
NFS
Quando?
Periodicamente
tolerância a falhas
melhor desempenho
Semântica de Sessão
Efetua ordenação temporal das operações (R/W) efetuadas
nos arquivos por sessão
Sessão: open – close de um cliente (programa)
“Mudanças em um arquivo aberto
são visíveis somente ao processo que modificou o
arquivo
somente no fechamento as atualizações são visíveis aos
outros processos”
Não garante a leitura dos valores “reais” (atuais)
Semântica de Sessão
Problema:
2 ou mais clientes modificando o mesmo arquivo => qual o
conteúdo final?
SGBDs devem usar outra semântica (“Serialização”)
Resumo Comparativo
Abordagem Comentário
Cada operação em um arquivo
Semântica do tipo UNIX é visível a todos os processos
Nenhuma mudança é vista
Semântica de Sessão por outros processos até
a execução de um CLOSE
Arquivos Imutáveis Nenhuma atualização é permitida
Exemplo: AFS
Em caso de falhas
Exemplo
UNIX 4.2 BSD:
cache de 400Kb,
blocos de 4Kb,
Exemplos
Amoeba (Univ. Vrije, Holanda)
Sem caching,
write-through,
kernel-mode
delayed-write,
NFS (Sun)
Acesso remoto + caching (UDP & RPC),
read-ahead e delayed-write,
cache (4Kb),
Exemplos
AFS (Univ. Carnegie Mellon)
Caching (64Kb)
semântica de sessão,
kernel-mode
Spring (Sun)
Caching,
capabilities, e ACLs,
user-mode
Bibliografia Adicional
Projeto