Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduo
Aplicaes em rede de
computadores
Motivaes:
Maior confiabilidade
Crescimento incremental
2
Definio
Sistema distribudo um sistema no qual os
componentes de hardware e software,
localizados em computadores de uma rede,
comunicam e coordenam suas aes somente
pela troca de mensagens (Coulouris)
Concorrncia de componentes
Ausncia de relgio global
Falhas independentes
3
Definio (cont)
Computao distribuda ou sistema
distribudo o processo de agregar o
poder de vrias componentes
computacionais para colaborativamente
executar uma nica tarefa
computacional de modo coerente e
transparente de tal forma que elas
aparentam ser um sistema nico e
centralizado (Wikipedia)
4
Definio (cont)
Coleo de computadores independentes
que se apresentam ao usurio como
um nico sistema coerente (Tanenbaum)
Definio (cont)
Sistema distribudo
Aplicao distribuda
Classificao
Sistema Operacional
Centralizado
aplicativo
aplicativo
Sistema Operacional
informaes
processamento
armazenamento
Sistema Operacional
Centralizado
Principais caractersticas
Recursos centralizados
Arquiteturas mono ou multi-processadas
Sistemas multi-tarefas e multi-usurios
Objetivos
aplicativo
aplicativo
Sistema Operacional
Sistema Operacional
rede
10
Transferncias explcitas
Exemplos:
Sistema Operacional
Distribudo
aplicativo
aplicativo
aplicativo
Sistema
Operacional
Sistema
Operacional
Sistema
Operacional
rede
processamento
armazenamento
informaes
12
Sistema Operacional
Distribudo
Objetivos:
O SO distribudo deve:
Quadro comparativo
Tipo
Servios
Centralizado
Gerenciamento de processos,
memria, dispositivos, arquivos
Gerenciar recursos
Mquina estendida
Virtualizao
Acesso Remoto
Troca de Informaes
Compartilhar recursos
Interoperabilidade
Unificar os computadores
em uma viso global
Diversas transparncias
de Rede
Distribudo
Objetivos
14
Tabela Comparativa
Centralizado
(mono ou multiprocessado)
de Rede
Distribudo
Sim
No
Sim
Sim
No
Sim
Memria
compartilhada
Arquivos
compartilhados
Protocolos de
transporte
Trocas de
mensagens
Sim
No
No
15
Vantagens dos SD
Economia
Distribuio inerente
Tolerncia a falhas
Crescimento incremental
Flexibilidade
Desvantagens dos SD
Segurana
Dependncia da rede
Falhas
Capacidade de trfego insuficiente
17
Exemplos
Internet
Computao mvel
Conceitos de hardware
Classificao
Organizaes de
processadores e memria
20
10
Conexo de
multiprocessadores
Por Barramento
21
Conexo de
multiprocessadores
n*log2n switches
Maior atraso
22
11
Conexo de
multiprocessadores
23
Conexo de
multiprocessadores
24
12
Conexo de
multicomputadores
Barramento
Rede Local
Switch
Grade (grid)
Hipercubo
Conexo de
multicomputadores
26
13
Classificao
fortemente acoplado
fracamente acoplado
SOs
Questes de projeto
Transparncia
Heterogeneidade
Abertura
Flexibilidade
Confiabilidade
Desempenho
Escalabilidade
28
14
Transparncia
Objetivo
Nveis de transparncia
Tipos de Transparncia
Acesso
Localizao
Replicao
Migrao
Concorrncia
15
Falha
Paralelismo
Desempenho
Escala
31
Transparncia de acesso
16
Transparncia de localizao
\\servidor1\shared\recibos.doc
http://www.puc-campinas.edu.br
Transparncia de migrao
Dados
Computao
Processos
Dependncia residual
17
Migrao de dados
Transferncia de arquivos:
Migrao de computao
18
Migrao de processos
Balanceamento de carga
Queda de uma mquina
Preferncias de hardware
Preferncias de software
Proximidade dos recursos
MOSIX
37
Transparncia de replicao
19
Transparncia de concorrncia
Transparncia de falha
Deteco
Reconfigurao
Recuperao
40
20
Transparncia de paralelismo
Transparncia de desempenho
42
21
Transparncia de escala
Heterogeneidade
Redes de computadores
Hardware dos computadores
Sistemas operacionais
Linguagens de programao
Implementaes por diferentes desenvolvedores
44
22
Abertura
45
Flexibilidade
46
23
Confiabilidade
Em teoria
Na prtica
Aspectos da confiabilidade
Disponibilidade
Segurana
Tolerncia a falhas
47
Disponibilidade
redundncia de hardware
Processadores, discos
redundncia de software
24
Segurana
Autenticidade
Autorizao
Privacidade
Integridade
No-repudio
Disponibilidade
Tolerncia a falhas
50
25
Faltas
Erro
Decorrncia da falta
Estado interno incorreto do software
Ex: queda de uma conexo TCP, varivel com valor errado
Falha
Decorrncia do erro
Servio oferecido ao usurio no cumpre sua especificao
Ex: banco de dados fora do ar, aplicao mostrando dados
incorretos
51
Desempenho
Tempo de resposta
Throughput (nmero de tarefas / tempo)
Utilizao do sistema
Uso da capacidade da rede
Em um sistema distribudo:
26
Custo de comunicao
Granularidade
Fina
Mdia
Grossa
27
Escalabilidade
Noo intuitiva
Inimigos da escalabilidade:
Nveis de escalabilidade
Escalabilidade de Arquitetura
Linguagem de programao
Aplicao
56
28
Melhorando a escalabilidade
Sistemas escalveis
57
Bibliografia
29
Exerccios
1.
2.
3.
59
Exerccios
4.
5.
6.
60
30
Exerccios
Considere um sistema distribudo com duas
mquinas, A e B. Determine se a mquina A
pode distinguir as seguintes situaes:
7.
a.
b.
c.
31