módulo 16: estruturas de sistemas distribuídos. 2 capítulo 16: estruturas de sistemas...
Post on 16-Apr-2015
116 Views
Preview:
TRANSCRIPT
Módulo 16: Estruturas de Sistemas Módulo 16: Estruturas de Sistemas DistribuídosDistribuí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)
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
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
5
Um sistema distribuídoUm sistema distribuído
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)
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).
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
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
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
11
Representação de uma LAN típicaRepresentação de uma LAN típica
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
13
Processadores de Comunicação em uma Wide-Area Processadores de Comunicação em uma Wide-Area NetworkNetwork
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
15
Topologia de RedeTopologia de Rede
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:
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)
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
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
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
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:
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)
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:
24
Comunicação Via Modelo de Rede ISOComunicação Via Modelo de Rede ISO
25
Camadas do Protocolo ISOCamadas do Protocolo ISO
26
Mensagens de Rede padrão ISOMensagens de Rede padrão ISO
27
Camadas do Protocolos TCP/IPCamadas do Protocolos TCP/IP
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
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
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
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.
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
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
34
Um pacote EthernetUm pacote Ethernet
35
ReferênciaReferência
Operating System Concepts – 7th Edition, Apr 4, 2005
Silberschatz, Galvin and Gagne ©2005
top related