Redes Avançadas Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - Computação Distribuída de Alto Desempenho • Quando os primeiros computadores foram interconectados em rede, já se apresentava a idéia de agregar os recursos computacionais • Nos anos noventa, então, surgem os primeiros resultados interessantes – Objetivo principal: executar problemas de difícil resolução em uma única máquina – Sendo assim, utilizar diversas máquinas distribuídas geograficamente cooperando para uma resolução de problema é possível • SETI@Home Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Aumento da quantidade de serviços disponibilizados aos usuários de redes – Facilidades que acompanhem esta prestação de serviços com qualidade • Avanço dos processadores começa a não aumentar a eficiência – Aquecimento dos processadores – Ineficiência da topologia de barramento das máquinas convencionais (colisões) – Limitação de armazenamento na memória Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Todos estes problemas ainda somam-se ao fator CUSTO • Assim, o processamento distribuído em larga escala (ou processamento de alto desempenho) procura sanar alguns obstáculos – Agregando recursos computacionais dispersos em diferentes lugares • Usualmente clusters e grades computacionais – Tem por objetivo a melhoria de desempenho de aplicações • Duas grandes classes de aplicações: distribuídas e paralelas Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Aplicações distribuídas – Utilizam recursos computacionais distribuídos sem a necessidade de uma relação entre si – As tarefas são divididas, porém, sem interdependência das partes – Não têm necessariamente o intuito de melhorar o desempenho de uma aplicação (acelerar) – São aplicações de organizações, por exemplo, que parecem estarem sendo executadas localmente – Por exemplo: terminais bancários Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Aplicações paralelas – Uma única aplicação é dividida em porções menores – Estas porções são distribuídas para processadores diferentes – Existe, assim, a interdependência das partes – As partes divididas, então, são agrupadas e produzem um resultado – Normalmente aplicações que precisam de ganhos de desempenho (executar mais rapidamente) – Por exemplo: construir a figura de um carro Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Ambientes de Clusters – Maneira de agrupar computadores, auxiliando na execução de aplicações paralelas e distribuídas – Também chamados de agregados de computadores – Características • • • • Computadores em um cluster são dedicados ou não Computadores podem ser homogêneos ou heterogêneos Tamanho do cluster (limites físicos) Características da conexão dos computadores (compartilhada, ponto-a-ponto, híbrida) • Aplicações devem ser orientadas para alto desempenho ou alto disponibilidade Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Ambientes de Grids – Configuração em crescimento ultimamente – Parte da idéia de utilização de recursos geograficamente distribuídos – O usuário tem acesso aos recursos computacionais sem (necessariamente) saber onde estão localizados – Trata-se de uma plataforma de computadores dispersos, acessados pelos usuários através de uma única interface – Foca muito no compartilhamento dos recursos Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Cloud computing (computação nas nuvens) – Poder utilizar a qualquer momento, qualquer lugar e em qualquer plataforma diversas aplicações – Utilização através da Internet – Sem a necessidade de ter as aplicações instaladas no seu computador • Sem preocupações com software ou hardware, trabalho corporativo facilitado, sem necessidade de gastos Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Como percebemos, a evolução das redes traz um panorama do que temos e do que vamos ter futuramente – Maiores larguras de banda – Transmissão com menor retardo • Todas estas características fazem com que surja a necessidade de evolução também nos protocolos de comunicação para ambientes de alto desempenho Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Arquitetura TCP/IP e alguns protocolos FTP, SMTP, DNS, POP, IMAP TCP, UDP Protocolo padrão da Internet Como as aplicações solicitam serviços IP, ICMP, ARP Sub-rede de acesso Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Os protocolos da arquitetura TCP/IP foram projetados quando as redes físicas tinham baixa qualidade – Muita ocorrência de erros nas redes • Assim, o protocolo TCP foi planejado para ser um protocolo robusto – Fornecendo padrão de qualidade para as aplicações • Assim, o TCP possui deficiências quando utilizado em boas redes (com baixas taxas de erros) Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Por exemplo, no estabelecimento da conexão TCP Envia SYN seq=x Recebe SYN Envia ACK x+1, SYN seq=y Recebe SYN + ACK Envia ACK y+1 Recebe ACK Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Handshake inicial contém 3 pacotes • Abordagem de alto custo quando, por exemplo, for realizada a troca de pequenos pacotes em uma comunicação via satélite – Largura de banda cara sendo utilizada de maneira não otimizada Redes Avançadas – Prof. Mateus Raeder Computação Distribuída de Alto Desempenho • Mais um exemplo pode ser percebido quando da perda de um pacote • Go-back-n 1 2 3 4 5 6 7 8 9 - Reprocessamento dos pacotes que já haviam chegado corretamente Retransmissão de todos os pacotes 3 4 5 6 7 8 - Desperdício de largura de banda 9 Redes Avançadas – Prof. Mateus Raeder Protocolos de Alto Desempenho • Fica, então, clara a idéia de que esta abordagem não é adequada quando da utilização de infraestruturas com maior largura de banda e pouca latência • A utilização de clusters e grids (com estas redes mais avançadas) mostram a necessidade de outras abordagens • Acreditou-se, então, que melhorias nas falhas dos protocolos de transporte seriam menos complexas Redes Avançadas – Prof. Mateus Raeder Protocolos de Alto Desempenho • Assim, algumas tentativas de melhoria são colocadas em prática – Protocolos para fins específicos (com alta vazão, por exemplo); – Outras funcionalidades: • Controles de freqüência de pacotes; 1 • Retransmissão seletiva; 3 2 3 4 5 6 7 Retransmissão do pacote com erro • Novos tipos de Handshake; – Negociação de parâmetros de serviço; Redes Avançadas – Prof. Mateus Raeder 8 9 NETBLT • NETwork BLock Transfer Protocol • Foi desenvolvido para a transferência de grandes quantidades de dados – Unidade de transmissão é um grande buffer – Mais eficiente que pacote-a-pacote • Conexão é unidirecional, normalmente fechada por quem enviou o pacote • Controle de erros e fluxo – Retransmissão seletiva – Controle de frequência de pacotes Redes Avançadas – Prof. Mateus Raeder NETBLT • Pacotes na conexão: 2 pacotes – OPEN – REFUSED ou RESPONDE • Parâmetros são negociados no começo da conexão Redes Avançadas – Prof. Mateus Raeder NETBLT Sender NETBLT Estabelecimento de conexão (negociação de tamanho de buffer, número de buffers concorrentes, tamanho de pacote e taxa de pacotes) Receiver NETBLT CONTROL[GO[1]] ACK DATA[1, 1] DATA[1, 2] LDATA[1, 3] CONTROL[RESEND[1(2, 3)]] timer para 3 pacotes ACK DATA[1, 2] LDATA[1, 3] CONTROL[OK[1]] timer para 2 pacotes ACK Finalização da conexão Redes Avançadas – Prof. Mateus Raeder XTP • Xpress Transport Protocol (XTP) • Foi criado para atender uma grande variedade de aplicações (serviços) – Datagramas em tempo real – Multicasting – Grande quantidade de informações • Oferece como controle – Controle de fluxo – Retransmissão seletiva Redes Avançadas – Prof. Mateus Raeder APPN • Advanced Peer-to-Peer Networking • Funções de transporte foram implementadas utilizando um serviço orientado a conexão virtual • É baseado na confiabilidade do enlace – Não realiza tratamento nas mensagens – Confia na qualidade das camadas inferiores da rede Redes Avançadas – Prof. Mateus Raeder Datakit • Protocolo de transporte universal • Independente de aplicação ou ambiente • Serviço orientado a circuito virtual – Entrega pacotes sem erros – Entrega pacotes em ordem • Controle de fluxo • Controle de erros com detecção e retransmissão de dados perdidos • Utiliza um protocolo chamado URP (Universal Receiver Protocol) para evitar gargalos Redes Avançadas – Prof. Mateus Raeder Outros protocolos • VMTP (Versatile Message Transfer Protocol) • OSI/TP4 • Delta-t Redes Avançadas – Prof. Mateus Raeder