• Definições básicas
• As redes de interconexão são tipicamente utilizadas
para interconectar os nodos de um computador paralelo, sendo que um nodo pode ser simplesmente um
processador, um módulo de memória ou até um
computador completo com processador e memória local e uma interface de rede.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
• Uma rede de interconexão é constituída basicamente por roteadores e enlaces (links).
• Os enlaces ligam os roteadores entre si e aos nodos do computador paralelo, enquanto que os roteadores
estabelecem o caminho necessário à transferência de dados pela rede.
• Esses dados são transferidos sob a forma de
mensagens, as quais podem ser divididas em unidades menores chamadas pacotes.
• Uma rede de interconexão é caracterizada pela sua topologia e por um conjunto de mecanismos que definem a forma como ocorrerá a transferência de
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Roteador
• Um roteador é constituído por um núcleo de chaveamento
(crossbar), uma lógica de controle para roteamento e arbitragem, e portas de entrada-e-saída para comunicação com outros roteadores e/ou com os nodos do computador paralelo.
• Essas portas de comunicação incluem canais de entrada e de saída, os quais podem possuir uma pequena memória para
armazenamento temporário de informações (a qual é denominada
buffer de memorização ou, simplesmente, buffer).
• As portas possuem ainda controladores de enlace para a implementação do protocolo físico de comunicação.
• Eles regulam o tráfego das informações que entram e saem do roteador.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Enlaces
• Um enlace liga um roteador a outro roteador ou a um
nodo do computador paralelo e pode possuir um ou dois canais físicos de comunicação, sendo implementado
sob a forma de um cabo elétrico ou óptico.
• Tipicamente, os enlaces utilizados em redes de
interconexão são full-duplex, sendo constituídos por dois canais unidirecionais opostos de modo a permitir a
transferência simultânea de informação nas duas direções do enlace.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Mensagens e Pacotes
• As informações trocadas pelos nodos fonte (emissor) e destinatário (receptor) de uma comunicação são
organizadas sob a forma de mensagens.
• Em geral, uma mensagem possui três partes:
– um cabeçalho (header), – a carga útil (payload) e – um terminador (trailer),
• sendo que o cabeçalho e o terminador formam um envelope ao redor da carga útil da mensagem.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
• Tipicamente, as mensagens são quebradas em pacotes para transmissão.
• Um pacote é a menor unidade de informação que contém detalhes sobre o roteamento e seqüenciamento dos dados e mantém uma estrutura semelhante à de uma mensagem, com um cabeçalho, uma carga útil e um terminador.
• Um pacote é constituído por uma seqüência de palavras cuja
largura é igual à largura física do canal, a qual é denominada phit. • Em outras palavras, um phit é definido pelo número de bits de dado
transmitidos simultaneamente, sendo igual a 1 bit nos enlaces seriais e a n bits nos enlaces paralelos de n bits.
• Além dos bits de dado, o phit pode incluir sinais de enquadramento e de controle da integridade do dado.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Parâmetros de desempenho
• O desempenho de uma rede de interconexão pode ser avaliado:
– largura de banda,
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Parâmetros de desempenho
• A largura de banda (bandwitdh) refere-se à taxa máxima com a qual a rede de interconexão pode propagar as
informações uma vez que uma mensagem entra na rede.
• Tradicionalmente, no cálculo da largura de banda, são contados os bits do cabeçalho, da carga útil e do
terminador da mensagem, sendo que a unidade de medida utilizada é “bit por segundo” (ou bps)
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Parâmetros de desempenho
• Vazão (throughput) é definido como o tráfego máximo aceito pela rede ou, em outras palavras, a quantidade máxima de informação entregue na unidade de tempo. • Para que a vazão seja independente do tamanho das
mensagens e da rede, seu valor pode ser normalizado, dividindo-o pelo tamanho das mensagens e pelo
tamanho da rede.
• Como resultado, a vazão normalizada é medida em bits por nodo por ciclo de relógio (ou por microssegundo).
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Parâmetros de desempenho
• A latência é o tempo envolvido desde o início da
transmissão de uma mensagem até o momento em que ela é completamente recebida.
• Em geral, a latência individual de cada mensagem é de pouca importância.
• Pode ser medida em tempo ou em numero de ciclos do simulador.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
• Uma rede de interconexão pode ser caracterizada pela estrutura como seus roteadores são interligados.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
• Topologias – Redes indiretas
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Situações de erro onde o pacote não chega ao destinatário
• Starvation
• Muitas vezes, em um roteador, podem existir dois ou mais buffers de entrada com pacotes destinados a uma mesma saída.
• Quando isso acontece, uma política de
arbitragem deve ser utilizada para selecionar qual dos buffers de entrada deve ser conectado à saída.
• Dependendo do esquema de arbitragem
adotado, um pacote em um buffer de entrada, ao competir com outros pacotes por uma
mesma saída, pode ficar bloqueado
permanentemente se o recurso requisitado for sempre concedido a outros pacotes.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Situações de erro onde o pacote não chega ao destinatário
• Livelock
• Uma outra situação, conhecida pelo nome de livelock, ocorre
quando um pacote mantém-se trafegando permanentemente pela rede porque os canais necessários para ele chegar ao nodo
destinatário nunca se encontram disponíveis.
• Esse tipo de problema ocorre, tipicamente, em algoritmos de roteamento tolerantes a falhas, os quais utilizam caminhos não- mínimos para rotear os pacotes.
• A forma mais simples de se evitar o livelock é justamente permitir apenas o uso de caminhos mínimos, ou seja, os caminhos mais curtos até o destinatário.
• Entretanto, quando o uso de caminhos não-mínimos é vital para oferecer tolerância a falhas, pode-se prevenir o livelock através da
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Situações de erro onde o pacote não chega ao destinatário
• Deadlock
• Esse problema ocorre quando existe uma dependência cíclica de recursos na rede.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
• Deadlock
• Na estratégia de evitar o deadlock, os recursos são
requisitados na medida em que um pacote avança pela rede.
• Um recurso qualquer é garantido a um pacote apenas se sua alocação não levar a um estado global inseguro.
• Uma forma de evitar o deadlock é limitar as voltas que o
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Roteamento:
• O roteamento é o método usado por um pacote (ou mensagem) para escolher um
• caminho através dos canais da rede.
• O desempenho da comunicação na rede de
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Roteamento:
Em geral, o algoritmo de roteamento visa atender a alguns objetivos
específicos, os quais têm conseqüência direta em algumas propriedades da rede de interconexão, como:
a) Conectividade – capacidade de rotear pacotes de qualquer nodo fonte para qualquer nodo destinatário.
b) Liberdade de deadlock e livelock – capacidade de garantir que nenhum pacote ficará bloqueado ou circulando pela rede sem atingir o seu
destinatário.
c) Adaptatividade – capacidade de rotear pacotes através de caminhos alternativos quando ocorrer congestionamento ou falha em algum componente do caminho em uso.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Chaveamento:
• Em uma rede de interconexão, os dados são transferidos entre os nodos da rede através dos canais físicos que interligam esses
nodos.
• O chaveamento define a formapela qual esses dados são
transferidos de um canal de entrada de um nodo para um dos seus canais de saída.
• Os dois tipos principais de técnicas de chaveamento são baseados:
– no estabelecimento de um caminho completo entre o fonte e o destinatário da mensagem (circuito)
– na divisão das mensagens em pacotes os quais reservam seus
caminhos dinamicamente na medida em que avançam em direção ao destinatário.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Chaveamento SAF:
• Os pacotes são enviados um a um e cada pacote reserva apenas os recursos necessários para avançar de nodo em nodo.
• Em cada canal de entrada do roteador, deve ser incluído um buffer (tipicamente uma fila) com capacidade para armazenar um pacote inteiro.
• Quando um roteador recebe um pacote, ele é armazenado no buffer do canal de entrada pelo qual chegou ao roteador.
• Após, um circuito de roteamento identificar o destinatário do pacote e requisita um canal de saída.
• Essa requisição é escalonada por um árbitro que determina quando o cada canal de entrada será conectado ao canal de saída
requisitado.
• Quando a conexão é realizada, os pacotes armazenados nos
buffers de entrada são encaminhados para os roteadores
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Chaveamento VCT:
• O chaveamento por pacote com transpasse virtual (do inglês, virtual
cut-through ou VCT) foi proposto por Kermani e Kleinrock [KER 79]
como uma alternativa ao chaveamento SAF.
• Ele visa reduzir a latência na comunicação quando um pacote
chega a um roteador e o canal desejado já encontra-se disponível. • Na técnica SAF, quando isso ocorre, o pacote deve ser armazenado
inteiramente para então ser retransmitido pelo canal de saída desejado, mesmo que ele esteja ocioso.
• No chaveamento VCT, quando o cabeçalho do pacote contendo as informações de roteamento chega a um roteador e o canal de saída desejado encontra-se disponível, o restante do pacote (carga útil e terminador) desvia o buffer, reduzindo a latência da comunicação.
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Chaveamento Wormhole
• É uma variação do chaveamento VCT e tem como objetivo principal reduzir a quantidade de buffer
necessária para manter pacotes bloqueados na rede.
• Um pacote é dividido em flits que avançam pela rede em um modo pipeline.
• Um flit é a menor unidade de dados sobre a qual é
realizado o controle de fluxo e pode ser pequeno e ter tantos bits quanto um phit (largura do canal físico de dados), ou ser tão grande quanto um pacote.
• Em geral, um flit tem o tamanho de um a quatro phits, para conter, no mínimo, a informação necessária ao
Arquitetura de Comunicação em Rede intra
Chip (NOC)
• Nas redes baseadas nesta técnica, os buffers dos
roteadores têm capacidade para armazenar poucos flits, de modo que os flits de um pacote bloqueado são
mantidos em diferentes roteadores na rede se o tamanho do pacote for maior que o espaço livre no
buffer.
• Como a informação de roteamento é incluída no flit de cabeçalho, os flits de dado devem seguir o flit do
cabeçalho através da rede. • Maior chance de deadlock • Porem buffers menores
Arquitetura de Comunicação em Rede intra
Chip (NOC)
Roteador:
• Todo roteador com chaveamento por pacote (seja do tipo SAF, VCT ou wormhole) deve ser capaz de
armazenar aqueles pacotes destinados a saídas que já estejam sendo utilizadas por outros pacotes e, então, realizar o controle de fluxo de modo a evitar a perda de dados recebidos em cada canal de entrada.
• Isso exige a implementação de algum esquema de memorização para a manutenção dos pacotes
bloqueados dentro do roteador.
• Um roteador ideal deveria dispor de uma capacidade de armazenamento infinita e garantir que um pacote
Arquitetura de Comunicação em Rede intra
Chip (NOC)
• Memória do roteador