módulo 16: estruturas de sistemas distribuídos. 2 capítulo 16: estruturas de sistemas...

35
Módulo 16: Estruturas de Módulo 16: Estruturas de Sistemas Distribuídos Sistemas Distribuídos

Upload: internet

Post on 16-Apr-2015

116 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

Módulo 16: Estruturas de Sistemas Módulo 16: Estruturas de Sistemas DistribuídosDistribuídos

Page 2: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

2

Capítulo 16: Estruturas de Sistemas Capítulo 16: Estruturas de Sistemas DistribuídosDistribuí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)

Page 3: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

3

Objetivos do CapítuloObjetivos 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

Page 4: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

4

MotivaçãoMotivaçã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

Page 5: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

5

Um sistema distribuídoUm sistema distribuído

Page 6: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

6

Tipos de Sistemas Operacionais DistribuídosTipos de Sistemas Operacionais Distribuídos

Sistemas Operacionais de Rede (Network Operating Systems)

Sistemas Operacionais Distribuídos (Distributed Operating Systems)

Page 7: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

7

Sistemas operacionais de redeSistemas 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).

Page 8: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

8

Sistemas Operacionais DistribuídosSistemas 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

Page 9: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

9

Sistemas Operacionais Distribuídos (Cont.)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

Page 10: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

10

Estrutura de Rede (Network Structure)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 workstations e/ou computadores pessoais

Poucos (geralmente um ou dois) mainframes

Page 11: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

11

Representação de uma LAN típicaRepresentação de uma LAN típica

Page 12: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

12

Tipos de Redes (Cont.)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

Page 13: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

13

Processadores de Comunicação em uma Wide-Area Processadores de Comunicação em uma Wide-Area NetworkNetwork

Page 14: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

14

Topologia de RedeTopologia 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

Page 15: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

15

Topologia de RedeTopologia de Rede

Page 16: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

16

Estrutura de ComunicaçãoEstrutura de Comunicação

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?

O projeto de uma rede de comunicação (communication network) deve endereçar quatro questões básicas:

Page 17: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

17

Nomeação e Resolução de NomesNomeaçã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)

Page 18: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

18

Estratégias de RoteamentoEstraté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

Page 19: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

19

Estratégias de Roteamento (Cont.)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

Page 20: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

20

Estratégias de ConexãoEstraté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

Page 21: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

21

Contenção (Disputa)Contenção (Disputa)

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

Vários sites podem querer transmitir informações em um link simultaneamente.

Técnicas para evitar colisões repetidas incluem:

Page 22: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

22

Contenção (Cont.)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)

Page 23: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

23

Protocolos de ComunicaçãoProtocolos de Comunicação

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)

A rede de comunicação é particionada nas seguintes múltiplas camadas:

Page 24: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

24

Comunicação Via Modelo de Rede ISOComunicação Via Modelo de Rede ISO

Page 25: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

25

Camadas do Protocolo ISOCamadas do Protocolo ISO

Page 26: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

26

Mensagens de Rede padrão ISOMensagens de Rede padrão ISO

Page 27: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

27

Camadas do Protocolos TCP/IPCamadas do Protocolos TCP/IP

Page 28: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

28

RobustezRobustez

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

Page 29: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

29

Detecção de FalhasDetecçã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

Page 30: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

30

Detecção de Falhas (cont)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

Page 31: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

31

ReconfiguraçãoReconfiguraçã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.

Page 32: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

32

Questões de Design (Projeto)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

Page 33: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

33

Exemplo: NetworkingExemplo: 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

Page 34: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

34

Um pacote EthernetUm pacote Ethernet

Page 35: Módulo 16: Estruturas de Sistemas Distribuídos. 2 Capítulo 16: Estruturas de Sistemas Distribuídos Motivação Tipos de Sistemas Operacionais Distribuídos

35

ReferênciaReferência

Operating System Concepts – 7th Edition, Apr 4, 2005

Silberschatz, Galvin and Gagne ©2005