Arquiteturas de Comunicação Introdução, Conceitos e Fundamentos

Slides:



Advertisements
Apresentações semelhantes
Coerência de Cache em Multiprocessadores
Advertisements

Paralelismo em Máquinas Multiprocessadas
Integridade de Dados em Memórias Cache
Introdução à Hierarquia de Memória
Transmissão de pacotes
Tecnologias de LAN e topologias de rede
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Aula 02 Topologia de redes Prof. Diovani Milhorim
Barramentos Introdução.
Comunicação de Dados por Fernando Luís Dotti
Redes de Computadores e Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
URL: CSMA/CD Prof. Edgard Jamhour URL:
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Chapter 4: Threads.
Introdução Redes LAN - abrangência: edifícios e campos.
Introdução Estendendo LANs.
Cabeamento LAN, Hardware de topologia e interface físicos
Capítulo 3 Deadlocks - Impasses 3.1. Recurso
Topologias de Rede.
Prof. Marcelo Diniz Fonte:
Prof. Marcelo Diniz Fonte:
Professor Victor Sotero
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Comutação Comutação ou chaveamento em uma rede de comunicação refere-se a alocação de recursos da rede (meios de transmissão e equipamentos) para a envio.
Camada de Enlace Redes de Computadores.
Modelo OSI OSI é um modelo de referência para interligação de sistemas abertos (open systems interconection) Padrão ISO 7498, publicado em 1984 Sistemas.
3 – Projeto Lógico da Rede
Visão Geral de Equipamentos de Rede
Redes de computadores Prof. António dos Anjos
Visão Geral de Equipamentos de Rede
Equipamentos de Redes Aula 2
TOPOLOGIA.
Redes – Unidade 1 Aula 4 Professor: Marcelo Maia.
Tecnologias de Lan e Topologia de redes
SISTEMAS OPERACIONAIS
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
Arquitetura de computadores
Sistemas Operacionais
CCNA 1 – Comutação Ethernet
Equipamentos de Redes Aula 3
Redes de computadores Prof. António dos Anjos
Introdução e Busca Cega
Topologias e Classificação das RC
FUNDAMENTOS DE REDES DE COMPUTADORES
REDES DE COMPUTADORES II
Componentes redes de computadores
Protocolos de Janela Deslizante
Introdução aos Protocolos de Roteamento Dinâmico
AULA 3 – ELEMENTOS DE INTERCONEXÃO DE REDES
Paralelismo em Máquinas Multiprocessadas
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Sistema de Redes 1 Componentes Principais de uma Rede de Computadores Topologia Tipo de redes FAETEC SR1.
Aula 1 – Introdução a Redes de Computadores
Topologia Comunicação de dados Escola Secundaria Sebastião da Gama
REDE DE COMPUTADORES.
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
Rede de Computadores (REC)
FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
Princípios de Redes e Topologia de Redes
Meios de transmissão e componentes de redes e BackBones
Pontes Transparentes Luiz Peralta Prof. Ronaldo Alves Ferreira
Tecnológica da rede física
É o padrão no qual o meio de rede está conectado aos computadores e outros componentes de rede. Essencialmente, é a estrutura topológica da rede, e.
Tecnologias de rede Ethernet e IEEE Token ring ATM FDDI
Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur Arquiteturas Avançadas.
Topologias de redes de compoutadores Redes de Comunicação de Dados Prof. Esp. Cristiano José Cecanho.
COMUNICAÇÃO ENTRE OS MÓDULOS PROCESSADORES
Aula Inicial.
Transcrição da apresentação:

Arquiteturas de Comunicação Introdução, Conceitos e Fundamentos ARQUITETURA DE COMPUTADORES II Arquiteturas de Comunicação Introdução, Conceitos e Fundamentos Prof. César Augusto M. Marcon

Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 4. Exercícios

Introdução Conceito Objetivos Classificações Estratégias Topologias Estrutura básica para a comunicação entre componentes da arquitetura alvo Objetivos Alta taxa de comunicação Fidelidade da comunicação Tolerância a falhas da comunicação ... Classificações Dinamicidade  estática x dinâmica Conectividade  ponto-a-ponto x multiponto Estratégias Estratégias de conexão Estratégias de roteamento Estratégias de compartilhamento Topologias Barramentos Conexões dedicadas Redes em anel

Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 4. Exercícios

Classificação Segundo Conectividade Classificação segundo o número de conexões entre componentes da infra-estrutura de comunicação Ponto-a-ponto Cada canal conecta um par de componentes Multiponto Canais conectam mais de dois componentes

Classificação Segundo Número de Acessos Simultâneos Espacial Todas as conexões são independentes. Podem existir tantas transações, quantas forem as conexões Temporal Todas conexões são interdependentes. Ocorre apenas uma transação por vez Espaço-temporal Combinação das classes acima Topologia lógica variável durante a execução do sistema

Classificação Segundo Dinamicidade Dinamicidade refere-se a criação de caminhos variáveis para a informação durante a operação do sistema Estáticas Infra-estrutura de comunicação estática tem topologia lógica fixa, se mantendo inalterada durante todo ciclo de vida do sistema Ex.: Características Interligadas através de ligações fixas Entre cada componente existe ligação direta dedicada Uso Máquinas paralelas normalmente têm estruturas estáticas regulares com ligações homogêneas Sistemas distribuídos possuem estruturas estáticas irregulares com ligações heterogêneas

Classificação Segundo Dinamicidade Dinâmicas Definição Não existe topologia lógica fixa. Infra-estrutura é dinâmica se é adaptável à necessidade de comunicação durante a operação Classificações de topologias dinâmicas Bloqueante ou não-bloqueante Conexão entre dois pontos impede ou não outra conexão entre componentes quaisquer Unilateral ou bilateral Componente possui uma ligação bidirecional ou uma ligação de envio e outra de recebimento com a infra-estrutura Uso Interligação de processadores com memórias em multiprocessadores Multicomputadores

Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 4. Exercícios

Introdução a Estratégias e Comunicação Estratégias de comunicação são técnicas e mecanismos que permitem entender, projetar e verificar qual infra-estrutura tem melhor desempenho para uma dada aplicação Estratégias básicas da comunicação Estratégias de roteamento Como as mensagens viajam através da rede Estratégias de conexão Como processos se comunicam com uma seqüência de mensagens Estratégias de compartilhamento de recursos Como gerenciar o acesso à recursos compartilhados da infra-estrutura de comunicação e eliminar ou pelo menos reduzir a contenção causada pelo compartilhamento

Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 3.1 Estratégias de Roteamento 3.2 Estratégias de Conexão 3.3 Estratégias de Compartilhamento 4. Exercícios

Estratégias de Roteamento Definição Roteamento é o procedimento de condução de uma mensagem, através de nós intermediários, até seu destino Problema Quando um processo no nodo A deseja se comunicar com um processo no nodo B, como essa mensagem é enviada? Soluções Caminho único  Só existem um caminho entre o nodo fonte e o nodo destino Exemplos: redes estrela ou hierárquicas Múltiplos caminhos  existem diversas opções de roteamento Uso de tabelas de roteamento (na origem ou distribuídas) Indicam todos os caminhos alternativos Podem incluir velocidade e custo dos vários caminhos Devem ser atualizadas sempre que a infra-estrutura mudar suas características

Algoritmos de Roteamento Momento da realização do roteamento Dinâmico quando realizado em tempo de execução Estático quando realizado em tempo de projeto Número de destinos das mensagens Unicast quando os pacotes têm apenas um destino multicast quando os pacotes têm mais de um destino broadcast quando um pacote é enviado para todos os nodos Local onde a decisão de roteamento é tomada Centralizado quando único nodo define o caminho de todos os pacotes Origem quando o caminho do pacote é definido na origem Distribuído quando caminho do pacote é definido durante sua transmissão O processo de seleção do caminho Determinístico quando caminho entre origem e destino é sempre o mesmo Adaptativo quando o caminho entre origem e destino é determinado por fatores da rede, tais como condições de tráfego

Políticas de Roteamento Store-and-Forward Armazenar e repassar Buffer deve ter a capacidade de armazenar toda a mensagem

Políticas de Roteamento Cut-Through Armazena só parte da mensagem (flit) e repassa o restante Cabeçalho abre caminho (Wormhole) Restante da mensagem segue caminho do cabeçalho (pipeline)

Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 3.1 Estratégias de Roteamento 3.2 Estratégias de Conexão 3.3 Estratégias de Compartilhamento 4. Exercícios

Estratégias de Conexão Definição do problema Uma vez que mensagens chegam aos seus destinos, processos podem requerer sessões de comunicação afim de trocar informações Três esquemas comuns para conectar processos Chaveamento de circuito (circuit switching) Conexão totalmente pré-estabelecida antes de iniciar envio da mensagem Chaveamento de mensagem (message switching) Conexão estabelecida durante o envio da mensagem Utiliza store-and-forwarding Requer buffers muito grandes em cada nodo Chaveamento de pacotes (packet switching) Otimização do chaveamento de pacotes Mensagens quebradas em pacotes de tamanho fixo Utiliza cut-through Requer buffers menores que o chaveamento de mensagem

Estratégias de Conexão Chaveamento de circuito Alocado para duração da comunicação Inicialmente, é estabelecido um caminho fixo da origem ao destino (fig. a), e só depois são enviadas todas as mensagens (fig. b), Nenhum outro processo pode utilizar esse caminho durante a comunicação Similar a um sistema de telefonia O estabelecimento de uma conexão pode ter um custo significativo no tempo total da comunicação Não requer buffers temporários nos nós intermediários Não tem problemas para aplicações de tempo real

Estratégias de Conexão Chaveamento de pacotes Uma mensagem lógica pode ser divida em vários pacotes Não existe caminho pré-definido Custo de roteamento distribuído na rede Pacotes são enviados para destino separadamente. Mesma mensagem pode ter pacotes enviados através de caminhos diferentes As mensagens devem ser remontadas novamente no seu destino Estabelecimento dinâmico do caminho pode permitir que os algoritmos de roteamento reajam mais rapidamente a congestionamentos e falhas na rede de interconexão, optando por caminhos alternativos

Problemas Associados ao Chaveamento por Mensagem ou por Pacotes Deadlock É a situação onde dois ou mais processos estão esperando o outro processo terminar, para então utilizar o recurso. Todos os processos mantém o seu estado indefinidamente Ex.: gêmeos gentis: tu podes nascer primeiro, não, tu podes nascer primeiro, não, não, eu faço questão, primeiro tu, ... Starvation (postergação infinita) É a situação onde o acesso à um recurso é postergado infinitamente Um ou mais processos de maior prioridade acessam continuamente o recurso, impossibilitando que os processos de menor prioridade acessem o mesmo recurso Ex.: Uso de rotatória por motorista maluco: preferência é do veículo que está na rotatória e o motorista que está na rotatória nunca sai, fica dando voltas e mais voltas Livelock É um caso especial de starvation. Nesta situação o recurso nunca é acessado, mas processos que concorrem por ele mudam de estado continuamente Ex.: Uso de rotatória por motorista maluco e tentativa de contornar o problema: mesmo problema acima, mas os veículos, ao invés de ficarem parados sempre procuram por novas vias que sempre conduz a mesma rotatória

Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 3.1 Estratégias de Roteamento 3.2 Estratégias de Conexão 3.3 Estratégias de Compartilhamento 4. Exercícios

Estratégias de Compartilhamento do Meio de Comunicação Definição do problema Link pode conectar diversos nodos Diversos nodos podem querer transmitir simultaneamente informações sobre este link Requer estratégias para compartilhar o link Enquanto uma mensagem usa o link, as demais devem estar contidas em estruturas especiais (buffers localizados na rede ou nos próprios nodos) Contenção ocorre principalmente em topologias multiponto e/ou temporais Recursos devem armazenar mensagens ou nodos devem ser notificados para que as mensagem sejam retransmitidas Três técnicas principais para tratar colisão CSMA (carrier sense with multiple access) / CD (collision detection) Nodos devem escutar o link antes de enviar uma mensagem Link livre começa a transmissão da mensagem Dispositivo deve esperar (e continuar escutando) até o link ficar livre Transmissão simultânea de mensagens é registrada como colisão CD (collision detection)  Nodos envolvidos terminam transmissões Máquinas re-tentam depois de algum intervalo de tempo randômico

Estratégias de Compartilhamento do Meio de Comunicação Comunicação com Token Inicialmente um único tipo de mensagem (token) circula no sistema Nodo que deseja transmitir deve esperar pelo token Remove token da rede e começa transmissão Ao término, reenvia token e outros nodos podem transmitir mensagens Se token é perdido, sistema deve detectar e gerar novo token Pacotes de mensagens Número de pacotes com mensagens de tamanho fixo circula na rede Pacotes carregam mensagens junto com informações de controle (origem, destino, cheio/vazio) Nodo que deseja transmitir deve esperar por pacote vazio Então insere mensagem no pacote junto com informação de controle Pacote com mensagem viaja pela rede Cada nodo que recebe pacote faz a inspeção para ver se mensagem é para ele Mensagens no pacote devem ser de tamanho fixo. Portanto, devem ser quebradas de acordo com tamanho definido pelo pacotes

Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 4. Exercícios

Exercícios Como posso medir o desempenho de uma infra-estrutura de comunicação? Porque é importante para sistemas paralelos saber a taxa de comunicação entre as tarefas? Responda a questão analisando o mapeamento de tarefas em processadores se comunicando através de uma infra-estrutura de comunicação Diferencie infra-estruturas de comunicação estáticas e dinâmicas Com relação ao roteamento, como pode ser classificada a Internet? Diferencie infra-estruturas de comunicação ponto-a-ponto e multiponto Descreva como funciona o chaveamento por pacotes e o chaveamento por circuito. De vantagens e desvantagens de cada chaveamento Como pode ser tratado/prevenido o problema de contenção em redes de comunicação? Na sua opinião qual é a melhor solução. Justifique O que significa bloqueante, no contexto de infra-estruturas de comunicação? (ENADE 2008 - 27) Em redes de computadores, o protocolo de controle de acesso ao meio define um conjunto de regras que devem ser adotadas pelos dispositivos que compartilham o meio físico. No caso de uma rede Ethernet IEEE 802.3, conectada a um concentrador (hub), em que abordagem se baseia o protocolo de controle de acesso ao meio? na passagem de permissão em anel na ordenação com contenção na ordenação sem contenção na contenção com detecção de colisão na arbitragem centralizada

Resposta de Exercícios Como posso medir o desempenho de uma infra-estrutura de comunicação? Porque é importante para sistemas paralelos saber a taxa de comunicação entre as tarefas? Responda a questão analisando o mapeamento de tarefas em processadores se comunicando através de uma infra-estrutura de comunicação Diferencie infra-estruturas de comunicação estáticas e dinâmicas Com relação ao roteamento, como pode ser classificada a Internet? Diferencie infra-estruturas de comunicação ponto-a-ponto e multiponto Descreva como funciona o chaveamento por pacotes e o chaveamento por circuito. De vantagens e desvantagens de cada chaveamento Como pode ser tratado/prevenido o problema de contenção em redes de comunicação? Na sua opinião qual é a melhor solução. Justifique O que significa bloqueante, no contexto de infra-estruturas de comunicação? (ENADE 2008 - 27) Em redes de computadores, o protocolo de controle de acesso ao meio define um conjunto de regras que devem ser adotadas pelos dispositivos que compartilham o meio físico. No caso de uma rede Ethernet IEEE 802.3, conectada a um concentrador (hub), em que abordagem se baseia o protocolo de controle de acesso ao meio? na passagem de permissão em anel na ordenação com contenção na ordenação sem contenção na contenção com detecção de colisão na arbitragem centralizada

Exercícios (POSCOMP 2002 - 55) Starvation ocorre quando: Pelo menos um processo é continuamente postergado e não executa. A prioridade de um processo é ajustada de acordo com o tempo total de execução do mesmo. Pelo menos um evento espera por um evento que não vai ocorrer. Dois ou mais processos são forçados a acessar dados críticos alternando estritamente entre eles. O processo tenta, mas não consegue acessar uma variável compartilhada. (POSCOMP 2003 - 63) Algoritmos distribuídos podem usar passagem de "token" por um anel lógico para implementar exclusão mútua ou ordenação global de mensagens. Nesses algoritmos, apenas o processo que possui o "token" tem a permissão de usar um recurso compartilhado ou numerar mensagens, por exemplo. Considerando o conceito acima podemos afirmar que: A abordagem deve tratar no mínimo dois tipos de defeitos: perda do "token" e colapso de processos Para usar essa a abordagem os computadores precisam estar conectados em uma rede com topologia em anel Nessa abordagem é impossível evitar a geração espontânea de vários "tokens", mesmo em sistemas livre de falhas A abordagem é adequada apenas para sistemas onde possa ser controlado o tempo que cada computador permanece com o "token" A abordagem é pouco robusta, pois a perda do "token" por um processo provoca o bloqueio do algoritmo distribuído que a usa

Resposta de Exercícios (POSCOMP 2002 - 55) Starvation ocorre quando: Pelo menos um processo é continuamente postergado e não executa. A prioridade de um processo é ajustada de acordo com o tempo total de execução do mesmo. Pelo menos um evento espera por um evento que não vai ocorrer. Dois ou mais processos são forçados a acessar dados críticos alternando estritamente entre eles. O processo tenta, mas não consegue acessar uma variável compartilhada. (POSCOMP 2003 - 63) Algoritmos distribuídos podem usar passagem de "token" por um anel lógico para implementar exclusão mútua ou ordenação global de mensagens. Nesses algoritmos, apenas o processo que possui o "token" tem a permissão de usar um recurso compartilhado ou numerar mensagens, por exemplo. Considerando o conceito acima podemos afirmar que: A abordagem deve tratar no mínimo dois tipos de defeitos: perda do "token" e colapso de processos Para usar essa a abordagem os computadores precisam estar conectados em uma rede com topologia em anel Nessa abordagem é impossível evitar a geração espontânea de vários "tokens", mesmo em sistemas livre de falhas A abordagem é adequada apenas para sistemas onde possa ser controlado o tempo que cada computador permanece com o "token" A abordagem é pouco robusta, pois a perda do "token" por um processo provoca o bloqueio do algoritmo distribuído que a usa