Mdulo 16 Estruturas de Sistemas Distribudos Captulo 16
Módulo 16: Estruturas de Sistemas Distribuídos
Capítulo 16: Estruturas de Sistemas Distribuídos n Motivação n Tipos de Sistemas Operacionais Distribuídos n Estrutura de Rede n Topologia de Rede n Estrutura de Comunicação n Protocolos de Comunicação n Robustez n Questões de Design n Um exemplo: Networking (Rede) 2
Objetivos do Capítulo n Prover uma visão geral de sistemas distribuídos e das redes que interconectam eles n Discutir a estrutura geral de sistemas operacionais distribuídos 3
Motivação n Sistema Distribuído é uma coleção de processadores fracamente acoplados interconectados por uma rede de comunicação n Processadores são chamados de nós (nodes), computadores (computers), máquinas (machines), hospedeiro (hosts) l Site é a localização do processador n Razões (Vantagens) para sistemas distribuídos l Compartilhamento de Recursos 4 Compartilhar e imprimir arquivos em sites remotos 4 Processar informações em bases de dados distribuídas 4 Usar dispositivos de hardware especializados remotamente Aceleramento da Computação – load sharing (compartilhamento da carga) l Confiabilidade – detectar e recuperar de uma falha num site, transferência de função e reintegração do site em falha l Comunicação – message passing l 4
Um sistema distribuído 5
Tipos de Sistemas Operacionais Distribuídos n Sistemas Operacionais de Rede (Network Operating Systems) n Sistemas Operacionais Distribuídos (Distributed Operating Systems) 6
Sistemas operacionais de rede n Usuários estão cientes da multiplicidades de máquinas. O acesso aos recursos de várias máquinas é feito explicitamente por: l Login remoto na máquina remota apropriada usando protocolos telnet e ssh, por exemplo. l Remote Desktop (Microsoft Windows) l 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 n Usuários não estão conscientes da multiplicidade de máquinas. l Acesso a recursos remotos são similares ao acesso a recursos locais n 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 n 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. ) n Migração de Processos – executa um processo inteiro, ou partes disso, em diferentes sites l Balanceamento de carga (Load balancing) – distribui processos pela rede para igualar o carregamento da rede l Aceleramento (aumento da velocidade) da computação (Computation speedup) – sub-processos podem executar concorrentemente em sites diferente l Preferência de Hardware – a execução de processo pode requerer um processador especializado. l Preferência de Software – o software requerido pode estar disponível em apenas um site particular l Acesso a dados – executar um processo local ao invés de transferir todos os dados localmente 9
Estrutura de Rede (Network Structure) n Local-Area Network (LAN) – projetada para cobrir uma pequena área geográfica. l Redes de barramento multiacesso, anel, ou estrela l Velocidade 10 – 1. 000 megabits/segundo l Broadcast é rápido e barato l Nós: 4 Usualmente 4 Poucos workstations e/ou computadores pessoais (geralmente um ou dois) mainframes 10
Representação de uma LAN típica 11
Tipos de Redes (Cont. ) n Redes de Longa Distância (Wide-Area Network (WAN)) – liga sites separados geograficamente l Conexões ponto-a-ponto através de linhas long-haul (longa distância) , freqüentemente alugadas de companhias telefônicas) l Velocidade 1, 544 a 45 Mbps l Broadcast geralmente requer várias mensagens l Nós: 4 Geralmente uma alta porcentagem de mainframes 12
Processadores de Comunicação em uma Wide-Area Network 13
Topologia de Rede n Os sites no sistema podem ser conectados fisicamente em uma variedade de formas; eles são comparados com respeito aos seguintes critérios: l 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? l Confiabilidade (Reliability) - Se o link ou um site no sistema falha, os demais site continuam a comunicação com cada um outro? n As várias topologias são exibidas como grafos cujos nós corresponde a sites l l 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: n Nomeação e Resolução de Nomes - como dois processos localizam uns aos outros para comunicação? n Estratégia de Roteamento (Routing strategies) -- Como as mensagens são enviadas pela rede? n Estratégias de Conexão (Connection strategies) – Como dois processos enviam uma seqüência de mensagens? n 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 n Sistemas de nome na rede n Endereçar de mensagens com o identificador do processo (Address messages with the process-id) n Identificar processos em sistemas remotos através do par <host-name, identificador> n 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 n 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) l Como o menor caminho é geralmente escolhido, o custo de comunicação é minimizado. l Roteamento fixo não se adapta a mudanças de carregamento l Garantem que as mensagens serão enviadas na ordem que foram enviadas n 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 n Remédio parcial para se adaptar a mudanças de carregamento l Garante que as mensagens serão entregues na ordem que foram enviadas 18
Estratégias de Roteamento (Cont. ) n Roteamento Dinâmico (Dynamic routing) - O caminho usado para enviar uma mensagem de A para B é escolhido apenas quando a mensagem é enviada l Usualmente um site envia uma mensagem a outro site usando o link menos usado naquele momento particular l Adapta-se a mudanças de carga evitando mensagens roteadas em caminhos muito usados l Mensagens podem chegar fora de ordem 4 Este problema pode ser remediado acrescentando-se um número seqüencial a cada mensagem 19
Estratégias de Conexão n 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) n 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 l Cada pacote pode tomar um caminho diferente através da rede l Os pacotes devem ser remontados em mensagens a medida que eles chegam n 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 l Comutação de Mensagens e Pacotes requerem menos tempo de setup mas causa um maior overhead por mensagem n 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: n CSMA/CD - Carrier sense with multiple access (CSMA); collision detection (CD) l 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. l Quando o sistema está muito ocupado, muitas colisões podem ocorrer e portanto a performance pode ser degradada n CSMA/CD é usado com sucesso no sistema Ethernet, o mais comum sistema de rede 21
Contenção (Cont. ) n Passagem de Fichas (Token passing) - Um único tipo de mensagem, conhecida como token (ficha) circula continuamente no sistema (geralmente uma estrutura em anel) l 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) l Um esquema de passagem de fichas é usado por alguns sistema IBM e HP/Apollo n Slots de Mensagens (Message slots) – Um número fixo de mensagens de tamanho fixo circulam continuamente no sistema (geralmente uma estrutura de anel) l 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 l Esse esquema foi adotado no experimental Anel de Comunicação Digital de Cambridge (Cambridge Digital Communication Ring) l 22
Protocolos de Comunicação A rede de comunicação é particionada nas seguintes múltiplas camadas: n Camada Física (1) n Camada de Enlace (2) n Camada de Rede (3) n Camada de Transporte (4) n Camada de Sessão (5) n Camada de Apresentação (6) n 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. n Detecção de Falhas n Reconfiguração 28
Detecção de Falhas n A detecção de falhas de hardware (falha de um link, a falha de um site e a perda de uma mensagem) é difícil n Detectar uma falha de um link, um protocolo de handshaking pode ser usado n Assuma que o Site A e Site B tenham estabelecido um link l 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) n 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 n O Site A pode enviar uma mensagem “Você está up? ” para o Site B n 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) n Se o Site A não recebe ultimamente resposta do site B, concluí-se que algum tipo de falha tenha ocorrido n 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 n Contudo, o Site A não pode determinar exatamente porque a falha ocorreu 30
Reconfiguração n 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 n 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) n Transparência (Transparency) – o sistema distribuído deve aparecer como um sistema centralizado convencional para o usuário n Tolerância a Falhas (Fault tolerance) – o sistema distribuído deve continuar funcionando diante da ocorrência de uma falha n 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 n Clusters – uma coleção de máquinas semi-autônomas que age um sistema único 32
Exemplo: Networking n A transmissão de pacotes de rede entre hosts em uma rede Ethernet n Cada host possui um único endereço IP e um endereço Ethernet (MAC) correspondente n A comunicação requer os dois endereços n O protocolo DNS pode ser usado para obter o endereço IP n O protocolo ARP (Address Resolution Protocol) é usado para mapear o endereçamento MAC ao endereço IP n Se os hosts estiverem na mesma rede então o protocolo ARP poderá ser usado l 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 – 7 th Edition, Apr 4, 2005 Silberschatz, Galvin and Gagne © 2005 35
- Slides: 35