Organizao e Arquitetura de Computadores II Arquiteturas de

  • Slides: 27
Download presentation
Organização e Arquitetura de Computadores II Arquiteturas de Comunicação Introdução, Conceitos e Fundamentos Última

Organização e Arquitetura de Computadores II Arquiteturas de Comunicação Introdução, Conceitos e Fundamentos Última alteração: 20/11/2017 Prof. Ney Laert Vilar Calazans Baseado em notas de aulas originais do Prof. Dr. César Marcon

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

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

3 / 27 • Introdução Conceito – Estrutura básica para a comunicação entre componentes

3 / 27 • Introdução Conceito – Estrutura básica para a comunicação entre componentes de uma 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. . .

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

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

5 / 27 Classificação Segundo Conectividade • Conectividade – Classificação segundo o número de

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

6 / 27 Classificação Segundo Número de Acessos Simultâneos • Número de acessos simultâneos

6 / 27 Classificação Segundo Número de Acessos Simultâneos • 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

7 / 27 Classificação Segundo Dinamicidade refere-se a criação de caminhos variáveis para a

7 / 27 Classificação Segundo Dinamicidade refere-se a criação de caminhos variáveis para a informação durante a operação do sistema • Estáticas – Infraestrutura 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

8 / 27 Classificação Segundo Dinamicidade • Dinâmicas – Definição • Não existe topologia

8 / 27 Classificação Segundo Dinamicidade • Dinâmicas – Definição • Não existe topologia lógica fixa. Infraestrutura é dinâmica se é adaptável às necessidades 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 infraestrutura – Uso • Interligação de processadores com memórias em multiprocessadores • Multicomputadores

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

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

10 / 27 Introdução a Estratégias e Comunicação • Estratégias de comunicação são técnicas

10 / 27 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 infraestrutura 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 sequência de mensagens – Estratégias de compartilhamento de recursos • Como gerenciar o acesso à recursos compartilhados da infraestrutura de comunicação e eliminar, ou pelo menos reduzir, a contenção causada pelo compartilhamento

11 / 27 Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 3. 1

11 / 27 Í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

12 / 27 Estratégias de Roteamento • Definição – Roteamento é o procedimento de

12 / 27 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ó existe um caminho entre o nodo fonte e o nodo destino • Exemplos: redes com topologias 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 infraestrutura mudar suas características

13 / 27 Algoritmos de Roteamento • Momento da realização do roteamento – –

13 / 27 Algoritmos de Roteamento • Momento da realização do roteamento – – • 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 – – – • Dinâmico quando realizado em tempo de execução Estático quando realizado em tempo de projeto Centralizado quando único nodo define o caminho de todos os pacotes (na) 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

14 / 27 Políticas de Roteamento • Store-and-Forward – Armazenar e repassar – Buffer

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

15 / 27 Políticas de Roteamento • Cut-Through – Armazena só parte da mensagem

15 / 27 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)

16 / 27 Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 3. 1

16 / 27 Í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

17 / 27 Estratégias de Conexão • Definição do problema – Uma vez que

17 / 27 Estratégias de Conexão • Definição do problema – Uma vez que mensagens chegam aos seus destinos, processos podem exigir sessões de comunicação para 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-forward • Pode exigir buffers muito grandes em cada nodo – Chaveamento de pacotes (packet switching) • • • Otimização do chaveamento de pacotes Conexão estabelecida durante o envio da mensagem Mensagens quebradas em pacotes de tamanho fixo Utiliza cut-through Requer buffers tipicamente menores que o chaveamento de mensagem

18 / 27 Estratégias de Conexão • Chaveamento de circuito – Alocado pela duração

18 / 27 Estratégias de Conexão • Chaveamento de circuito – Alocado pela duração da comunicação – Inicialmente, estabelece-se um caminho fixo da origem ao destino (fig. a), e só depois são enviadas a(s) mensagem(ns) (Fig. b), – Nenhum outro processo pode utilizar esse caminho durante a comunicação – O sistema de telefonia clássica é baseado neste tipo de chaveamento – O estabelecimento de uma conexão pode ter custo significativo no tempo total de comunicação – Não exige buffers nos nós intermediários – Não tem problemas para aplicações de tempo real

19 / 27 Estratégias de Conexão • Chaveamento de pacotes – – Uma mensagem

19 / 27 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

20 / 27 • Problemas Associados ao Chaveamento por Mensagem ou por Pacotes Deadlock

20 / 27 • Problemas Associados ao Chaveamento por Mensagem ou por Pacotes Deadlock – Situação onde dois ou mais processos esperam um pelo outro, para então utilizar o recurso (criando dependência cíclica). Todos os processos mantém o seu estado indefinidamente • Ex. : Uma rotatória engarrafada com 2 vias de entrada (A e B) e duas vias de saída (a e b): onde os carros de A não conseguem sair por a porque os carros de B estão trancando. Por sua vez, os carros de B não conseguem sair por b, porque os carros de A estão trancando/ • Starvation (postergação indefinida) – É a situação onde o acesso à recurso é postergado indefinida – Ex: Um ou mais processos de maior prioridade acessam continuamente um recurso, impossibilitando que processos de menor prioridade acessem o mesmo • 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 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

21 / 27 Índice 1. Introdução 2. Classificação 3. Estratégias de Comunicação 3. 1

21 / 27 Í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

22 / 27 Estratégias de Compartilhamento do Meio de Comunicação • Definição do problema

22 / 27 Estratégias de Compartilhamento do Meio de Comunicação • Definição do problema – Um enlace (em inglês link) pode conectar diversos nodos • Diversos nodos podem querer transmitir simultaneamente informações sobre este enlace • Requer estratégias para compartilhar o enlace • Enquanto uma mensagem usa o enlace, 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

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

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

24 / 27 Exercícios 1. Como posso medir o desempenho de uma infraestrutura de

24 / 27 Exercícios 1. Como posso medir o desempenho de uma infraestrutura de comunicação? 2. 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 infraestrutura de comunicação 3. Diferencie infraestruturas de comunicação estáticas e dinâmicas 4. Com relação ao roteamento, como pode ser classificada a Internet? 5. Diferencie infraestruturas de comunicação ponto-a-ponto e multiponto 6. Descreva como funciona o chaveamento por pacotes e o chaveamento por circuito. De vantagens e desvantagens de cada chaveamento 7. 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 8. O que significa bloqueante, no contexto de infraestruturas de comunicação? 9. (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? a) b) c) d) e) 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

25 / 27 Resposta de Exercícios 1. Como posso medir o desempenho de uma

25 / 27 Resposta de Exercícios 1. Como posso medir o desempenho de uma infraestrutura de comunicação? 2. 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 infraestrutura de comunicação 3. Diferencie infraestruturas de comunicação estáticas e dinâmicas 4. Com relação ao roteamento, como pode ser classificada a Internet? 5. Diferencie infraestruturas de comunicação ponto-a-ponto e multiponto 6. Descreva como funciona o chaveamento por pacotes e o chaveamento por circuito. De vantagens e desvantagens de cada chaveamento 7. 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 8. O que significa bloqueante, no contexto de infraestruturas de comunicação? 9. (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? a) b) c) d) e) 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

26 / 27 Exercícios 11. (POSCOMP 2002 - 55) Starvation ocorre quando: a) b)

26 / 27 Exercícios 11. (POSCOMP 2002 - 55) Starvation ocorre quando: a) b) c) d) e) 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. 12. (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) A abordagem deve tratar no mínimo dois tipos de defeitos: perda do "token" e colapso de processos b) Para usar essa a abordagem os computadores precisam estar conectados em uma rede com topologia em anel c) Nessa abordagem é impossível evitar a geração espontânea de vários "tokens", mesmo em sistemas livre de falhas d) A abordagem é adequada apenas para sistemas onde possa ser controlado o tempo que cada computador permanece com o "token" e) A abordagem é pouco robusta, pois a perda do "token" por um processo provoca o bloqueio do algoritmo distribuído que a usa

27 / 27 Resposta de Exercícios 11. (POSCOMP 2002 - 55) Starvation ocorre quando:

27 / 27 Resposta de Exercícios 11. (POSCOMP 2002 - 55) Starvation ocorre quando: a) b) c) d) e) 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. 12. (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) A abordagem deve tratar no mínimo dois tipos de defeitos: perda do "token" e colapso de processos b) Para usar essa a abordagem os computadores precisam estar conectados em uma rede com topologia em anel c) Nessa abordagem é impossível evitar a geração espontânea de vários "tokens", mesmo em sistemas livre de falhas d) A abordagem é adequada apenas para sistemas onde possa ser controlado o tempo que cada computador permanece com o "token" e) A abordagem é pouco robusta, pois a perda do "token" por um processo provoca o bloqueio do algoritmo distribuído que a usa