Módulo 16: Estruturas de Sistemas Distribuídos - ppt video online carregar
Módulo 16: Estruturas de Sistemas Distribuídos
PublicouMiguel Noronha Alterado mais de 5 anos atrás
Apresentação em tema: "Módulo 16: Estruturas de Sistemas Distribuídos"— Transcrição da apresentação:
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 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í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 To provide a high-level overview of distributed systems and the networks that interconnect them To discuss the general structure of distributed operating systems
4 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 Vantagens dos 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 – através de mensagens (message passing)
5 Um sistema distribuído
Server: servidor Client: cliente (ou usuário) Communication: comunicação Network: rede Resource: recursos Site A, Site B e Site C O site C possui um servidor com vários recursos disponibilizados que podem ser compartilhados pelos sites A e B. Uma aplicação cliente localizada em um site B solicita a um servidor a um servidor no site A o uso de algum recurso. Percebam que há uma rede de comunicação interligando os sites A, B e C
6 Tipos de Sistemas Operacionais Distribuídos
Sistemas Operacionais de Rede (Network Operating Systems) Sistemas Operacionais Distribuídos (Distributed Operating Systems)
7 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).
8 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 transfer data by transferring entire file, or transferring only those portions of the file necessary for the immediate task
9 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)
Local-Area Network (LAN) – projetada para cobrir uma pequena área geográfica. Redes de barramento multiacesso, anel, ou estrela Velocidade  10 – 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ípica
Application Server = Servidor de Aplicações Workstation Gatweay = equipamento de rede responsável pela interligação entre diferentes redes de computadores Printer = impressora Laptop File Server = servidor de arquivos
12 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 Network
CP – Communication Processor (Processador de comunicação) H – Host Communication subsystem – Sub-sistema de comunicação Host operating system – Sistema operacional do host User processes – processos do usuário
14 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
15 Topologia de Rede Fully Connected Network = Rede Completamente Conectada (todos os nós possui conexões entre si) Partially Connected Network = Rede Parcialmente Conectada (apenas alguns nós possuem mais de uma conexão entre si) Tree-Structured network = estrutura em árvores Ring Networks = Rede em Anel Start Network = Rede em Estrela (apresenta um nó concentrador que distribui as mensagens aos nós da rede)
16 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? How do two processes locate each other to communicate?
17 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)
18 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
19 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ã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) 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 CSMA/CD com Detecção de Colisão – percepção (sentir) a portadora com acessos múltiplos e detecção de colisões
22 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çã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) Camada Física – handles the mechanical and electrical details of the physical transmission of a bit stream Camada de Enlace – handles the frames, or fixed-length parts of packets, including any error detection and recovery that occurred in the physical layer Camada de Rede – provides connections and routes packets in the communication network, including handling the address of outgoing packets, decoding the address of incoming packets, and maintaining routing information for proper response to changing load levels Camada de Transporte – responsible for low-level network access and for message transfer between clients, including partitioning messages into packets, maintaining packet order, controlling flow, and generating physical addresses Camada de Sessão – implements sessions, or process-to-process communications protocols Camada de Apresentação – resolves the differences in formats among the various sites in the network, including character conversions, and half duplex/full duplex (echoing) Camada de Aplicação – interacts directly with the users' deals with file transfer, remote-login protocols and electronic mail, as well as schemas for distributed databases
24 Comunicação Via Modelo de Rede ISO
(7) Camada de Aplicação – interacts directly with the users' deals with file transfer, remote-login protocols and electronic mail, as well as schemas for distributed databases (6) Camada de Apresentação – resolves the differences in formats among the various sites in the network, including character conversions, and half duplex/full duplex (echoing) (5) Camada de Sessão – implements sessions, or process-to-process communications protocols (4) Camada de Transporte – responsible for low-level network access and for message transfer between clients, including partitioning messages into packets, maintaining packet order, controlling flow, and generating physical addresses (3) Camada de Rede – provides connections and routes packets in the communication network, including handling the address of outgoing packets, decoding the address of incoming packets, and maintaining routing information for proper response to changing load levels (2) Camada de Enlace – handles the frames, or fixed-length parts of packets, including any error detection and recovery that occurred in the physical layer (1) Camada Física – handles the mechanical and electrical details of the physical transmission of a bit stream
25 Camadas do Protocolo ISO
The ISO Protocol Layer End-user application processos Distributed information services – serviços de informações distribuidas Camada de aplicação transferencia, acessos e gereneciamento de arquivos; troca de mensagens; traferencia e manipulação de jobs
26 Mensagens de Rede padrão ISO
The ISO Network Message Cabeçalho da camada de enlace de dados Cabeçalho da camada de rede Cabeçalho da camada de transporte Cabeçalho da camada de sessão Cabeçalho da camada de apresentação Cabeçalho da camada de aplicação Mensagem Apendince da camada de enlace de dados
27 Camadas do Protocolos TCP/IP
28 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
29 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 Failure Detection
30 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çã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)
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 Transparência (Transparency) – the distributed system should appear as a conventional, centralized system to the user Tolerância a Falhas (Fault tolerance) – the distributed system should continue to function in the face of failure Escalabilidade (Scalability) – as demands increase, the system should easily accept the addition of new resources to accommodate the increased demand Clusters – a collection of semi-autonomous machines that acts as a single system
33 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 The transmission of a network packet between hosts on an Ethernet network Every host has a unique IP address and a corresponding Ethernet (MAC) address Communication requires both addresses Domain Name Service (DNS) can be used to acquire IP addresses (ARP) is used to map MAC addresses to IP addresses If the hosts are on the same network, ARP can be used If the hosts are on different networks, the sending host will send the packet to a router which routes the packet to the destination network