Módulo 16: Estruturas de Sistemas
Distribuídos
Capítulo 16: Estruturas de Sistemas
Distribuídos
 Motivação
 Tipos de Sistemas Operacionais Distribuídos
 Estrutura de Rede
 Topologia de Rede
 Estrutura de Comunicação
 Protocolos de Comunicação
 Robustez
 Questões de Design
 Um exemplo: Networking (Rede)
2
Objetivos do Capítulo
 Prover uma visão geral de sistemas
distribuídos e das redes que
interconectam eles
 Discutir a estrutura geral de sistemas
operacionais distribuídos
3
Motivação
 Sistema Distribuído é uma coleção de processadores fracamente
acoplados interconectados por uma rede de comunicação
 Processadores são chamados de nós (nodes), computadores
(computers), máquinas (machines), hospedeiro (hosts)
 Site é a localização do processador
 Razões (Vantagens) para sistemas distribuídos

Compartilhamento de Recursos
 Compartilhar e imprimir arquivos em sites remotos
 Processar informações em bases de dados distribuídas
 Usar dispositivos de hardware especializados remotamente
 Aceleramento da Computação – load sharing (compartilhamento
da carga)
 Confiabilidade – detectar e recuperar de uma falha num site,
transferência de função e reintegração do site em falha
 Comunicação – message passing
4
Um sistema distribuído
5
Tipos de Sistemas Operacionais Distribuídos
 Sistemas Operacionais de Rede (Network Operating Systems)
 Sistemas Operacionais Distribuídos (Distributed Operating Systems)
6
Sistemas operacionais de rede
 Usuários estão cientes da multiplicidades de
máquinas. O acesso aos recursos de várias
máquinas é feito explicitamente por:

Login remoto na máquina remota apropriada
usando protocolos telnet e ssh, por exemplo.

Remote Desktop (Microsoft Windows)

Transferência de dados de máquinas remotas
para máquinas locais através de mecanismo de
FTP / SFTP (ou FTP Securo).
7
Sistemas Operacionais Distribuídos
 Usuários não estão conscientes da multiplicidade
de máquinas.

Acesso a recursos remotos são similares ao
acesso a recursos locais
 Migração de Dados – transferência de dados
através da transferência de um arquivo todo ou
transferindo apenas aquelas porções do arquivo
para a tarefa imediata
 Migração da Computação – transferência de
computação, ao invés dos dados, através do
sistema
8
Sistemas Operacionais Distribuídos (Cont.)
 Migração de Processos – executa um processo inteiro, ou partes
disso, em diferentes sites

Balanceamento de carga (Load balancing) – distribui processos
pela rede para igualar o carregamento da rede

Aceleramento (aumento da velocidade) da computação
(Computation speedup) – sub-processos podem executar
concorrentemente em sites diferente

Preferência de Hardware – a execução de processo pode requerer
um processador especializado.

Preferência de Software – o software requerido pode estar
disponível em apenas um site particular

Acesso a dados – executar um processo local ao invés de transferir
todos os dados localmente
9
Estrutura de Rede (Network Structure)
 Local-Area Network (LAN) – projetada para cobrir uma pequena
área geográfica.

Redes de barramento multiacesso, anel, ou estrela

Velocidade  10 – 1.000 megabits/segundo

Broadcast é rápido e barato

Nós:
 Usualmente
 Poucos
workstations e/ou computadores pessoais
(geralmente um ou dois) mainframes
10
Representação de uma LAN típica
11
Tipos de Redes (Cont.)
 Redes de Longa Distância (Wide-Area Network (WAN)) –
liga sites separados geograficamente

Conexões ponto-a-ponto através de linhas long-haul
(longa distância) , freqüentemente alugadas de
companhias telefônicas)

Velocidade  1,544 a 45 Mbps

Broadcast geralmente requer várias mensagens

Nós:
 Geralmente
uma alta porcentagem de mainframes
12
Processadores de Comunicação em uma Wide-Area
Network
13
Topologia de Rede
 Os sites no sistema podem ser conectados fisicamente em uma
variedade de formas; eles são comparados com respeito aos seguintes
critérios:
 Custo básico (Basic cost) - quão caro é ligar os vários sites no
sistema?
 Custo de Comunicação - quanto tempo leva para enviar uma
mensagem do site A até o site B?

Confiabilidade (Reliability) - Se o link ou um site no sistema falha,
os demais site continuam a comunicação com cada um outro?
 As várias topologias são exibidas como grafos cujos nós corresponde a
sites
 Uma aresta do nó A ao nó B corresponde a uma conexão direta
entre dois sites. Os próximos seis itens exibem varias topologias de
rede
14
Topologia de Rede
15
Estrutura de Comunicação
O projeto de uma rede de comunicação (communication network)
deve endereçar quatro questões básicas:
 Nomeação e Resolução de Nomes - como dois processos localizam
uns aos outros para comunicação?
 Estratégia de Roteamento (Routing strategies) -- Como as
mensagens são enviadas pela rede?
 Estratégias de Conexão (Connection strategies) – Como dois
processos enviam uma seqüência de mensagens?
 Contenção – A rede é um recurso compartilhado, então como resolver
os conflitos exigidos por seu uso?
16
Nomeação e Resolução de Nomes
 Sistemas de nome na rede
 Endereçar de mensagens com o identificador do processo
(Address messages with the process-id)
 Identificar processos em sistemas remotos através do par
<host-name, identificador>
 Serviço de Nomes de Domínio (Domain name service (DNS))
– especifica a estrutura de nomes dos hosts, tão bem quanto
resolução de nomes para endereços (Internet)
17
Estratégias de Roteamento
 Roteamento Fixo – Um caminho entre de A a B é especificado
previamente; o caminho se altera apenas se uma falha de hardware
desabilitar o caminho (path changes only if a hardware failure disables it)

Como o menor caminho é geralmente escolhido, o custo de
comunicação é minimizado.

Roteamento fixo não se adapta a mudanças de carregamento

Garantem que as mensagens serão enviadas na ordem que foram
enviadas
 Circuito Virtual - O caminho de A a B é fixo pela duração de uma
sessão. Diferentes sessões envolvendo mensagens de A para B podem
ter caminhos diferentes
 Remédio parcial para se adaptar a mudanças de carregamento

Garante que as mensagens serão entregues na ordem que foram
enviadas
18
Estratégias de Roteamento (Cont.)
 Roteamento Dinâmico (Dynamic routing) - O caminho usado
para enviar uma mensagem de A para B é escolhido apenas
quando a mensagem é enviada

Usualmente um site envia uma mensagem a outro site
usando o link menos usado naquele momento particular

Adapta-se a mudanças de carga evitando mensagens
roteadas em caminhos muito usados

Mensagens podem chegar fora de ordem
 Este
problema pode ser remediado acrescentando-se um
número seqüencial a cada mensagem
19
Estratégias de Conexão

Comutação de Circuitos (Circuit switching) - um link físico permanente é
estabelecido pela duração da comunicação (ex: sistema telefônico)

Comutação de Mensagens (Message switching) – Um link temporário é
estabelecido durante a transferência de uma mensagem (ex: o sistema de
correios)

Comutação de Pacotes (Packet switching) - Mensagens de tamanho variável
são divididos em pacotes de tamanhos fixos e são enviados ao destinatário


Cada pacote pode tomar um caminho diferente através da rede

Os pacotes devem ser remontados em mensagens a medida que eles
chegam
Comutação de Circuitos requer mais tempo de setup mas causa menos overhead
no envio de cada mensagem, e pode gastar a largura de banda da rede

Comutação de Mensagens e Pacotes requerem menos tempo de setup mas
causa um maior overhead por mensagem
Obs: O maior overhead é porque as mensagens deverão sempre carregar o
endereço de destino
20
Contenção (Disputa)
Vários sites podem querer transmitir informações em um link
simultaneamente.
Técnicas para evitar colisões repetidas incluem:
 CSMA/CD - Carrier sense with multiple access (CSMA);
collision detection (CD)

Um site determina se outra mensagem está
correntemente sendo transmitida sobre o link. Se dois
ou mais estações começam a transmissão exatamente
no mesmo momento, então eles registrarão uma
colisão (CD) e a transmissão será interrompidada.

Quando o sistema está muito ocupado, muitas colisões
podem ocorrer e portanto a performance pode ser
degradada
 CSMA/CD é usado com sucesso no sistema Ethernet, o
mais comum sistema de rede
21
Contenção (Cont.)
 Passagem de Fichas (Token passing) - Um único tipo de mensagem,
conhecida como token (ficha) circula continuamente no sistema
(geralmente uma estrutura em anel)
 Uma estação que deseja transmitir uma informação deve aguardar
até o token chegar
 Quando a estação completa sua volya ela retransmite o token (ficha)
 Um esquema de passagem de fichas é usado por alguns sistema
IBM e HP/Apollo
 Slots de Mensagens (Message slots) – Um número fixo de mensagens
de tamanho fixo circulam continuamente no sistema (geralmente uma
estrutura de anel)
 Como cada slot pode conter apenas mensagens de tamanhos fixos
uma única mensagem lógica tem de ser quebrada em um número
pequeno de pacotes pequenos, cada qual enviado em um slot
separado
 Esse esquema foi adotado no experimental Anel de Comunicação
Digital de Cambridge (Cambridge Digital Communication Ring)
22
Protocolos de Comunicação
A rede de comunicação é particionada nas seguintes
múltiplas camadas:
 Camada Física (1)
 Camada de Enlace (2)
 Camada de Rede (3)
 Camada de Transporte (4)
 Camada de Sessão (5)
 Camada de Apresentação (6)
 Camada de Aplicação (7)
23
Comunicação Via Modelo de Rede ISO
24
Camadas do Protocolo ISO
25
Mensagens de Rede padrão ISO
26
Camadas do Protocolos TCP/IP
27
Robustez
Um sistema distribuído pode sofrer de vários tipos de falha de
hardware. A falha de um link, a falha de site e perda de
mensagens.
 Detecção de Falhas
 Reconfiguração
28
Detecção de Falhas
 A detecção de falhas de hardware (falha de um link, a falha de um





site e a perda de uma mensagem) é difícil
Detectar uma falha de um link, um protocolo de handshaking pode
ser usado
Assuma que o Site A e Site B tenham estabelecido um link
 Cada site envia uma mensagem do tipo “Eu estou
funcionando” em intervalos fixos indicando que o site esta up
and running (está em pé e em execução)
Se o Site A não receber a mensagem dentro de um intervalo fixo
ele assume que (a) o outro site não está em pé ou (b) a
mensagem foi perdida
O Site A pode enviar uma mensagem “Você está up?” para o Site
B
Se o Site A não receber uma resposta, ele poderá repetir a
mensagem ou tentar uma rota alternativa para o site B
29
Detecção de Falhas (cont)
 Se o Site A não recebe ultimamente resposta do site B, concluí-se que
algum tipo de falha tenha ocorrido
 Tipos de falhas:
- O Site B está down (inativo)
- O link direto (se houver) entre A e B está down (inativo)
- O link (caminho) alternativo de A a B está down (inativo)
- A mensagem foi perdida
 Contudo, o Site A não pode determinar exatamente porque a falha
ocorreu
30
Reconfiguração
 Quando o Site A determina que uma falha ocorreu ele deve reconfigurar
o sistema:
1. Se o link de A para B falhou essa mensagem deve ser distribuída
(broadcast) a todo site no sistema
2. Se um site falhou, todo outro site deve ser notificado indicando que o
serviço oferecido pelo site não está mais disponível
 Quando um link ou um site torna-se disponível novamente, essa
informação deve ser enviada (broadcast) a todos os outros sites.
31
Questões de Design (Projeto)
 Transparência (Transparency) – o sistema distribuído deve aparecer
como um sistema centralizado convencional para o usuário
 Tolerância a Falhas (Fault tolerance) – o sistema distribuído deve
continuar funcionando diante da ocorrência de uma falha
 Escalabilidade (Scalability) – a medida que a demanda aumenta o
sistema deve facilmente aceitar a adição de novos recursos para
acomodar o aumento da demanda
 Clusters – uma coleção de máquinas semi-autônomas que age um
sistema único
32
Exemplo: Networking
 A transmissão de pacotes de rede entre hosts em uma rede Ethernet
 Cada host possui um único endereço IP e um endereço Ethernet (MAC)
correspondente
 A comunicação requer os dois endereços
 O protocolo DNS pode ser usado para obter o endereço IP
 O protocolo ARP (Address Resolution Protocol) é usado para mapear o
endereçamento MAC ao endereço IP
 Se os hosts estiverem na mesma rede então o protocolo ARP poderá ser
usado

Se os hosts estiverem em redes diferentes o host remetente
(sending) irá enviar um pacote a um roteador que roteia o pacote ao
endereço destino
33
Um pacote Ethernet
34
Referência
Operating System Concepts – 7th Edition, Apr 4, 2005
Silberschatz, Galvin and Gagne ©2005
35
Download

ch16b - estruturas de sistemas distribuidos