• Nenhum resultado encontrado

A Figura 3.2 mostra a estrutura da rede de sincronização que implementamos. Pode-se observar que se trata de uma topologia do tipo árvore, composta por um Sincronizador de Topo, Sincronizadores Intermediários, Nós e cabos de interconexão. Estes elementos estão dispostos hierarquicamente em até quatro níveis na implementação atual, sendo que o Sincronizador de Topo ocupa o nível um, de maior hierarquia, e os Nós podem ocupar os níveis dois, três ou quatro, dependendo do tamanho da rede.

S .T. S .I. S .I. N ó N ív el 1 N ív el 2 N ív el 3 N ív el 4 S .I. N ó S .I. S .I. N ó S .I. N ó

S .T. S incronizador de T opo S .I. S incronizador In term ediári o N ó N ó processador

0 7 504 5 11 0 7 5 6 6 3 0 7 S .T. S .I. S .I. N ó N ív el 1 N ív el 2 N ív el 3 N ív el 4 S .I. N ó S .I. S .I. N ó S .I. N ó

S .T. S incronizador de T opo S .I. S incronizador In term ediári o N ó N ó processador

0 7 504 5 11

0 7 5 6 6 3

0 7

Figura 3.2: Topologia da Rede Auxiliar de Sincronização. Cada Sincronizador possui uma porta up (para cima) e oito portas down (para baixo). A rede mínima possui dois Nós e um Sincronizador e, na implementação corrente, a rede máxima possui 4 níveis (como acima), com um Sincronizador de Topo, 8 sincronizadores no nível 2 e 64 no nível 3 (73 Sincronizadores); os Sincronizadores são independentes mas, correntemente, são alimentados através de slots PCI de máquinas quaisquer. Cada Nó é conectado a um slot PCI de cada um dos computadores que compõem o cluster servido pela rede. Correntemente, o número máximo de Nós é igual a 512.

A presença do Sincronizador de Topo é obrigatória para a implementação da rede auxiliar de sincronização. Ele é o elemento central na difusão das mensagens da rede e tem como função principal controlar as solicitações oriundas dos Nós no que tange a criação e liberação de barreiras e concessão e liberação de locks. Também é função do sincronizador de Topo prover o sinal de relógio que sincroniza os dispositivos da rede. O Sincronizador de Topo conecta-se a até oito Sincronizadores Intermediários, ou diretamente a até oito Nós, mediante portas de comunicação serial especiais de alta velocidade e dos cabos de interconexão. Não é permitido que estejam conectados ao Sincronizador de Topo, simultaneamente, Sincronizadores Intermediários e Nós. Generalizando, um nível sempre é composto de dispositivos de mesma natureza. Se existem Nós conectados diretamente ao Sincronizador de Topo, significa que a rede é composta por no mínimo dois e no máximo oito Nós.

Sincronizadores Intermediários podem ocupar os níveis hierárquicos dois e três da rede auxiliar. Além de possibilitar expansão do número de Nós da rede, estes dispositivos também têm a função de controlar as solicitações oriundas dos dispositivos do nível hierárquico imediatamente inferior conectados a eles, no que diz respeito à criação e liberação de barreiras. Os Sincronizadores Intermediários conectam-se ao nível imediatamente superior na hierarquia da rede, que pode ser um Sincronizador de Topo ou outro Sincronizador Intermediário, através de porta de comunicação serial especial de alta velocidade e de cabo de interconexão. Conectam-se aos dispositivos do nível hierárquico imediatamente inferior, que podem ser Sincronizadores Intermediários ou Nós, fazendo uso de oito portas de comunicação serial e dos cabos de interconexão. Esses dispositivos podem atingir o número máximo de 72 elementos na rede

Nós são os dispositivos da base da hierarquia e são instalados nas estações de trabalho. Conectam-se ao nível imediatamente superior - Sincronizador Intermediário ou Sincronizador de Topo – utilizando uma porta de comunicação serial especial de alta velocidade e cabo de interconexão. A comunicação com os processadores do cluster servido pela rede de sincronização é feita por intermédio do barramento PCI dos processadores, através do qual cada Nó recebe comandos e disponibiliza informações armazenadas nele para seu processador associado. Permanecem armazenadas no Nó informações sobre as condições das barreiras e dos locks, dados associados a mensagens de broadcast, e também o estado do Relógio Global. A estação de trabalho consulta o Nó para saber se uma barreira específica foi atingida e também para saber se um lock específico está liberado ou concedido e, nesse caso, quem

mantém a concessão desse lock. Além disso, o Nó mantém em memória as 1024 últimas mensagens de broadcast propagadas pela rede, que podem ser lidas pela aplicação do usuário a qualquer tempo. Os contadores do Relógio Global também podem ser consultados a qualquer tempo. Correntemente, o número máximo de Nós suportados pela rede é 512 (Figura 3.2, página35).

Finalmente, os cabos de interconexão têm a função de interligar fisicamente os dispositivos da rede e transportar os sinais elétricos entre estes. São cabos formados por quatro pares de fios trançados (por par), finalizados em ambas as extremidades com conectores RJ45 (conector especial de rede de dados de 100Mb/s). Como a freqüência de operação da rede é alta - 64 MHz -, algumas precauções são necessárias para que o sistema não sofra com interferências eletromagnéticas e atenda às restrições de tempo de propagação dos sinais de comunicação, que serão mostradas na Subseção 3.4.4 . Essas precauções incluem a utilização de cabos com o mesmo comprimento físico e conectores, assim como os cabos, protegidos por blindagem eletromagnética. A variação do tamanho dos cabos está associada aos tempos de setup e hold da FPGA utilizada na implementação do hardware e ao período do clock de controle deste

hardware (ver detalhes nas próximas subseções). Os dispositivos internos da FPGA exigem

que uma transição nas mensagens manipuladas por eles ocorra em um tempo no mínimo igual ao tempo de setup antes do clock da FPGA e após um tempo no mínimo igual ao tempo de

hold após o clock da FPGA, como ilustrado na Figura 3.3.

ts th CLK

Entrada

CLK – Sinal de clock

Entrada – Sinal de entrada na FPGA

ts– Tempo de setup th– Tempo de hold ts th CLK Entrada CLK – Sinal de clock

Entrada – Sinal de entrada na FPGA

ts– Tempo de setup

th– Tempo de hold Figura 3.3: Diagrama de tempo de setup e hold.

Documentos relacionados