• Nenhum resultado encontrado

Arquitetura de Comunicação em Rede intra Chip (NOC)

No documento CMP238 Projeto e Teste de Sistemas VLSI (páginas 30-56)

• 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

Arquitetura de Comunicação em Rede intra

Chip (NOC)

No documento CMP238 Projeto e Teste de Sistemas VLSI (páginas 30-56)

Documentos relacionados