O documento discute as principais topologias de rede utilizadas em clusters de computação de alto desempenho, comparando suas vantagens e desvantagens em termos de largura de banda, latência, diâmetro, grau e largura de bisseção. As topologias discutidas incluem barramento, anel, malha, torus e hipercubo.
1. 1 Luiz Arthur
Redes em Cluster de Computadores
Tecnologias de Redes de Computadores para Clusters de Alta Performance
A escolha de uma melhor solução de interconexão para um cluster é muito
importante, e pode ser muito difícil construir uma rede que atenda todas as
necessidades dos inúmeros problemas a serem resolvidos pelo cluster, já que
esses problemas podem ter necessidades particulares quanto ao uso da rede.
Desta forma, se não houver um bom balanceamento entre os nós de
processamento e a comunicação entre eles, tais nós poderão desperdiçar
recursos enquanto estiverem aguardando por dados dos outros nós. Ou seja,
devido a rede de interconexão alguns nós podem ficar ociosos.
Por outro lado, dependendo do tipo de rede escolhida, tal rede pode se
tornar financeiramente inviável devido ao seu alto custo e o projeto do
cluster pode então não ser concluido para algumas empresas e corporações,
assim é preciso fazer um bom estudo de qual tipo de rede atende a demanda
de processamento do cluster, sem torná-la uma parte dispendiosa no custo
final do cluster.
Nos últimos anos, tem havido um grande esforço quanto a pesquisas e
desenvolvimento, tanto por parte da indústria quanto pela comunidade
acadêmica, para o aumento da performance das redes no que se refere à
redução da latência, ao aumento da largura de banda e à redução dos custos
para a utilização da computação de alta performance.
2. 2 Luiz Arthur
Redes em Cluster de Computadores
A grande vantagem evidenciada pelos clusters é o seu baixo custo, em
relação aos supercomputadores, o que os torna uma opção mais viável para
alguns projetos.
Além, disso incessantes aprimoramentos na tecnologia empregadas na redes
de interconexão conferem uma ótima relação custo/desempenho. Já que o
ponto crítico para a performance de um cluster, é a intercomunicação
dos nós (tempo de transferência de mensagens), já que a performance das
LANs tradicionais não acompanham a dos processadores.
Atualmente, dentre as tecnologias de interconexão de alto desempenho que
estão em evidência no contexto de cluster encontram-se:
Fast-Ethernet;
Gigabit Ethernet;
10 Gigabit Ethernet;
Myrinet;
SCI.
Metas a serem alcançadas em redes para cluster de alta performance
Como as redes são um dos principais vilões na performance de um cluster, faz-
se necessário uma análise de alguns conceitos primordiais para um melhor
entendimento sobre a tecnologia de redes de alta performance.
3. 3 Luiz Arthur
Redes em Cluster de Computadores
Para um melhor desenvolvimento da estrutura da rede que será acoplada ao
cluster, alguns itens devem ser muito bem estudados e analisados, esses itens
são:
Largura de Banda: é a capacidade de transporte de dados em uma rede,
normalmente medido em bits por segundo (bps), em um cluster quanto maior
a largura de banda melhor deve ser a performance alcançada. Com isso, é
possível enviar uma quantidade de dados maior entre os nós que compõem o
cluster.
Vasão: é o termo utilizado para definir a quantidade de pacotes de dados
livres de erros que trafegam por uma rede em unidade de tempo (Mbits/s,
MB/s, GB/s). Outro tópico relacionado é a precisão com que os dados são
transmitidos entre os nós.
Eficiência da rede: é a medida da quantidade de esforço utilizado para que
os dados fluam com uma boa vasão de dados. A eficiência depende muito da
tecnologia da camada de enlace utilizada. O tamanho máximo do seu
problema (granularidade dos dados) deve ser encaixado dentro do frame
correspondente de acordo com a topologia lógica escolhida. Estruturas de
dados menores tendem a ser menos eficientes que estruturas de dados
maiores, mas é preciso em equilíbrio para um bom funcionamento de sua rede
de alto desempenho.
4. 4 Luiz Arthur
Redes em Cluster de Computadores
Latência: é outro fator de grande importância na comunicação entre os nós
dentro do cluster, a latência é definida como o intervalo de tempo que um nó
transmite seu pacote de dados pela rede até o momento da recepção pela
outra extremidade (ns, µs, ms). Fatores como o meio físico empregado na
transmissão, comutação dos pacotes e protocolos de acesso ao meio tendem
a aumentar o atraso na comunicação. A latência depende muito da
velocidade dos circuitos internos, da CPU, do tipo de switch, da pilha de
protocolos e até mesmo do Sistema Operacional. E com isso, a latência gera
uma influência negativa em outro termo muito utilizado em redes de alto
desempenho, o tempo de resposta.
Sobrecarga da CPU: Se todo o processamento de uma rede etá
acontecendo na CPU de um host, então esta carga competirá com o conjunto
de instruções dentro da própria aplicação. Muitas placas de rede inteligentes
podem controlar vários pedaços de processamento de rede, o que alivia o
trabalho da CPU. Para uma rede altamente ocupada, como é o caso de uma
rede para cluster, isso pode ser um critério crítico na busca de performance.
Por isso algumas placas de rede possuem um processador dedicado na sua
estrutura, de tal forma que diminua a sobrecarga da CPU e cuide da passagem
de mensagem entre os nós do cluster.
5. 5 Luiz Arthur
Redes em Cluster de Computadores
Outra significante otimização da sobrecarga da CPU é a utilização de
“protocolos leves” (light-weight protocols).
Estes protocolos são projetados para especificamente transportar mensagens
relativamente pequenas por uma topologia de rede controlada, como no caso
dos clusters.
Tradicionalmente, protocolos como TCP/IP, são projetados para executar
em um ambiente de rede muito generalizado e conseqüentemente tem
que cuidar de muitas exceções e erros que não são pertinente para a
computação em cluster.
A implementação de tais protocolos geralmente requer algum nível de
inteligência sobre a interface de rede. Isso pode vir em forma de um
processador dedicado, como o processador Lanai na interface de rede
Myrinet, ou também na forma de um firmware especial na placa de rede.
Multithreading: referencia a capacidade de uma rede transmitir múltiplas
mensagens concorrentemente e também na habilidade de um nó usar os
dispositivos da rede sobre diferentes contextos. Certas placas de rede e seus
drivers correspondentes são capazes de falar com múltiplos processos de alto
nível para troca de mensagens, considerando que algumas placas de rede
ficam presas a um processo até que tal processo tenha completado sua
comunicação e libere a placa de rede.
6. 6 Luiz Arthur
Redes em Cluster de Computadores
Então a Largura de Banda, Vasão, Eficiência da rede, Latência, Sobrecarga da
CPU e Multithreading são os principais itens para avaliação de um projeto em
rede de alta performance para clusters, e que devem ser tratados com muito
cuidado, para que a rede de interconexão do cluster atenda perfeitamente os
requisitos de alto desempenho.
Topologia de redes em cluster
A interconexão direta de todos os processadores, entre si, não é viável
quando o número dos nós aumenta. Como regra geral é utilizado um padrão
para definir as ligações entre os nós do cluster. Este padrão é denominado de
topologia da rede de interconexões.
Três parâmetros podem ser utilizados para caracterizar o possível
desempenho de uma topologia. Os mesmos são: a largura da bisseção, o
diâmetro e o grau.
Largura da bisseção: Indica quantas mensagens simultâneas podem ser
trocadas entre duas metades da rede de interconexão. Número mínimo de
linhas de conexão que precisam ser removidas para que a rede seja dividida
pela metade. Também pode ser chamada de número de ligações.
7. 7 Redes em Cluster de Computadores Luiz Arthur
Diâmetro: Distância máxima entre dois nós quaisquer. Indica qual o menor
número de nós intermediários que precisam ser envolvidos, para que dois
processadores, o mais distantes possível, se comuniquem. Ou seja, maior
distância entre dois componentes (quanto menor, melhor para o cluster).
Grau: Número de ligações de rede de cada componente, pode ser visto como
o número de rotas possíveis entre qualquer par de nós do cluster. Pode indicar
o número máximo de mensagens que podem ser manipuladas
simultaneamente por cada um dos processadores, também pode ser chamado
de conectividade.
Topologia em Barramento
Nesta topologia, todos os processadores estão conectados em um único
barramento compartilhado. Quando um processador necessita comunicar-se
com outro, ele aguarda que o barramento esteja livre e propaga no mesmo a
mensagem; o destinatário, por sua vez, identifica que a mensagem é para si e
a recebe.
No caso de duas transmissões simultâneas, o software detector de colisões
interrompe as transmissões e os processadores voltam a tentar novamente
após um período de tempo determinado aleatoriamente.
Assim sendo, a sua largura da bisseção é 1. Isto significa que esta topologia
não permite mais do que um par de processadores em comunicação
simultaneamente.
8. 8 Luiz Arthur
Redes em Cluster de Computadores
A topologia barramento também é denominada Array Linear e não possui
caminhos alternativos em caso de falha.
Tal topologia linear, consistem em organizar os nós em seqüência, ligando
cada nó ao seus vizinhos. As vantagens da topologia linear são o baixo custo
e a simplicidade.
Entretanto, como há sempre apenas uma rota para cada mensagem, o centro
da rede tende a ser um gargalo e comunicações entre os nós distantes tem
grande latência.
Então temos que o número de nós é N e o número de ligações (L) é N-1, neste
caso como temos 4 nós o número de ligações entre os nós é 3 (L=N-1).
Nesta rede o diâmetro é N/2, o grau é 1e a largura de bisseção é 1.
9. 9 Luiz Arthur
Redes em Cluster de Computadores
Topologia circular ou em anel
A topologia circular é semelhante a topologia linear, mas tem uma linha de
conexão entre o primeiro e o último processo, gerando um anel. Desta forma,
há sempre duas rotas para cada nó, diminuindo os problemas da topologia
linear. Porém, o custo da rede é ligeiramente superior.
A rede circular é adequada para pequenas redes, mas em redes maiores a
baixa largura da bisseção torna-se um problema.
O diâmetro na topologia circular é N/2, o grau é 2 e a Largura da Bissecão é
igual a 2. Ou seja, temos duas rotas para qualquer nó em caso de falha de uma
rota outra pode ser utilizada.
10. 10 Luiz Arthur
Redes em Cluster de Computadores
Topologia em Malha
A topologia em malha ou mesh consiste em dividir uma rede linear de
tamanho N em diversas sub-redes de tamanho K, tal que N=K² e conectar os
nós correspondentes gerando uma grade.
A topologia mesh tem o diâmetro inferior e a largura da bisseção superior às
topologias linear e circular, e portanto menos gargalos.
Entretanto, a topologia é assimétrica e a conectividade da rede é baixa. Os
processadores nesta topologia tem um canal de comunicação direto com o seu
vizinho.
O hardware para este tipo de tecnologia é de simples construção e expansão.
A malha se adapta bem a algoritmos utilizados em cálculos científicos, os
quais se destacam a manipulação de matrizes.
Neste tipo de rede o diâmetro é 2(k − 1), o
grau é igual a 2 e a Largura da Bisseção é K.
11. 11 Luiz Arthur
Redes em Cluster de Computadores
Topologia Torus
Assim como a topologia mesh consiste em dividir uma rede em sub-redes
lineares, a topologia torus consiste em dividir uma rede em sub-redes
circulares e conectar os nós correspondentes.
No caso de redes com muito nós, pode-se utilizar uma topologia torus
multidimensional. Neste caso a rede é complexa, mas a conectividade e a
largura de bisseção são maiores, evitando gargalos. O diâmetro diminui com o
número de dimensões, reduzindo a latência.
Na topologia Torus 0 diâmetro é k a, conectividade é 4 e a Largura da
Bissecao é 2k.
12. 12 Luiz Arthur
Redes em Cluster de Computadores
Topologia Hipercubo
A topologia hipercubo consiste em organizar os nós em forma de um cubo de
dimensão d tal que N=2^d, todos os nós são conectados a outros d nós. Assim,
os tamanhos de hipercubos são definidos por potências de 2 onde d é a
dimensão do hipercubo e N é o número de processadores.
Toda rede de interconexão hipercúbica está alicerçada sobre uma estrutura
multidimensional baseada em endereços binários. Em função disto, todos os
nós podem ser identificados por um número binário. Cada nó é conectado a
todos os seus vizinhos; isto faz com que o hipercubo tenha grau variável e de
valor D.
d=3
d=4
13. 13 Luiz Arthur
Redes em Cluster de Computadores
A topologia hipercúbica confere boas propriedades à rede de interconexão do
cluster; a largura da bisseção é N/2, e o diâmetro é log2N.
Apesar de apresentar bom desempenho para muitos padrões de comunicação,
sua eficiência se mostra bastante dependente do algoritmo de roteamento a
ser empregado.
Um aspecto inconveniente do hipercubo é sua escalabilidade, o número de
processadores sempre deve crescer em potência de 2.
Além disso, com o grau de cada nó é em função do tamanho do cubo, toda
expansão no número de processadores implica em adicionar mais um canal de
comunicação a todos os nós. Para cubos maiores, estas características podem
trazer inconvenientes para a administração de custo/beneficio quando da
expansão da arquitetura.
Um equipamento que emprega esta topologia é o Ncube2.
14. 14 Luiz Arthur
Redes em Cluster de Computadores
Topologia em Árvore
Na topologia em árvore, um nó raiz divide em duas subárvores, que por sua
vez também tem uma raiz que a subdivide em duas, e assim sucessivamente.
Os nós mais abaixo na árvore são conhecidos como nós folha.
A topologia em árvore é adequada a aplicações regulares com comunicação
local, e aplicações com esta topologia são comuns.
Em uma árvore larga, a largura de ramos (canal) cresce a medida em que se
sobe das folhas em direção à raiz. A largura da bisseção a árvore é
normalmente N e o seu diâmetro proporcional a 2(logN). A arquitetura da CM-
5 da Thinking Machines utiliza uma versão modificada da árvore larga.
A topologia em árvore é uma boa opção de topologia para arquiteturas paralelas.
Pois o diâmetro cresce de forma linear com a altura h, o grau de nó máximo é
igual à 3, mas não existem caminhos alternativos e o nó raiz é um gargalo.
15. 15 Luiz Arthur
Redes em Cluster de Computadores
Tecnologias e dispositivos de interconexão
Atualmente já estão disponíveis comercialmente dispositivos de interconexão
que propiciam a criação de ambientes similares aos antigos
supercomputadores, mas utilizando computadores convencionais.
Existem atualmente duas grandes classes de dispositivos de interconexão para
alto desempenho.
Uma primeira classe é formada por dispositivos cuja solução é baseada em
programação por troca de mensagens entre processadores no nível de
placa de rede, esta solução permite a criação de multicomputadores.
Exemplos de equipamentos desta classe são as tecnologias: Myrinet, Gigabyte
System Network e Giganet, sistemas que utilizam rede Gigabit ethernet
também são encontradas, mas com desempenho de rede mais baixo.
A segunda classe é formada por interconexões e tem como peculiaridade
uma solução que cria a abstração de uma memória virtual única
(multiprocessador) entre todos os computadores interligadso no dispositivo.
Exemplo desta são o Quadrics Network (QSNET) e Dolphin SCI.
16. 16 Luiz Arthur
Redes em Cluster de Computadores
Ethernet e Fast-Ethernet
O padrão Ethernet foi bastante utilizado nas primeiras construções de
clusters. Seu funcionamento consiste basicamente de um meio compartilhado,
com banda passante de 10 Mbps, onde os computadores conectados
competem entre si para ter acesso ao mesmo.
Os dados somente eram enviados caso o meio estivesse livre. No entanto,
poderia ocorrer o problemas de colisão de dados, a qual acontece quando
duas máquinas tentam transmitir ao mesmo tempo os seus dados. Para evitar
que tal situação ocorra, foi então criado um protocolo próprio no para o
controle de aceso ao meio (MAC), denominado de CSMA/CD (Carrier Sense
Multiple Access/Collision Detect).
Uma versão melhorada do mesmo padrão, conhecida como Fast-Ethernet,
fornece uma largura de banda de 100 Mbps sobre cabos par trançado UTP ou
fibra óptica. Assim, a substituição do padrão Ethernet para o Fast-Ethernet,
aumentou consideravelmente. Atualmente, esta é a tecnologia mais utilizada
em termos de redes locais de alta velocidade, pois o custo de implantação é
relativamente baixo.
Apesar do aumento da largura de banda do Fast-Ethernet, para alguns
sistemas em clusters, ainda não é grande o suficiente para um cada de
comunicação entre os nós de um cluster de alta performance.
17. 17 Luiz Arthur
Redes em Cluster de Computadores
Assim, para aumentar ainda mais a largura de banda, é possível utilizar uma
técnica especial chamada de channel Bonding.
Em termos bem simples, a técnica de channel bonding (união de canais)
consiste em se agregar múltiplas redes e transformá-las em uma única rede
com mais largura de banda. O uso da banda resultante é totalmente
transparente para o cluster, exceto pelo ganho de velocidade como
resultado positivo.
A implementação física é bem simples também, consiste em unir os canais
através de caminhos alternativos para cada placa de rede. Significa que
cada máquina do cluster deverá possuir duas placas de rede e também duas
redes diferentes, criadas através de dois switches, ou um único switch que
possua recursos de VLANS.
O uso do channel bonding aumenta a performance da rede em 75% quando
duas redes são utilizadas. Três redes ou mais não provêem uma melhoria de
desempenho pois acabam sendo saturadas por aplicação de comunicação
intensiva e desta forma não são tão interessantes de se implementar.
18. 18 Luiz Arthur
Redes em Cluster de Computadores
A performance do bonding channel pode ser observada e comparada (com
Gigabit Ethernet e uma rede Fast-Ethernet comum) no gráfico a seguir:
19. 19 Luiz Arthur
Redes em Cluster de Computadores
A primeira interconexão usando duas redes Ethernet em paralelo, foi chamada
de bonded dual net ou multi-bus.
O objetivo deste arranjo é distribuir o tráfego entre as redes (inicialmente
duas e posteriormente três).
Para seja possível, foi alterado o Kernel do sistema operacional Linux, de
modo que fosse feito um balanceamento de carga, distribuindo os pacotes
entre as filas de transmissão disponíveis dos dispositivos, formando um
barramento virtual.
20. 20 Luiz Arthur
Redes em Cluster de Computadores
Malha chaveada (Switched Routed Mesh)
Esta é uma rede malha porém com o uso da técnica de channel bonding,
tal rede tem acrescenta comutadores Ethernet (switchs) de alta velocidade
em substituição ao roteamento entre os segmentos (que são empregados na
rede em malha tradicional). Esta topologia, além de ser totalmente conectada
ainda provê sempre dois caminhos entre dois nós quaisquer.
Switch 1
S
w
i
t
c
h
2
21. 21 Luiz Arthur
Redes em Cluster de Computadores
Entendendo melhor o channel bonding
Então quando uma única placa de rede Ethernet não basta é necessário unir
diversas placas em uma única interface. A documentação de referência sobre
o assunto esta contido no arquivo bonding.txt, da documentação do kernel
em uso, por exemplo:
/usr/src/linux-2.6.21.4/Documentation/networking/bonding.txt
Depois da configuração de uma interface mestre virtual (começando por
bond0) e o mapeamento das interfaces físicas (como eth0 e eth1) nessa
interface mestre, deve-se iniciar o módulo de bonding com os parâmetros
apropriados. Os modos 0 e 2 são responsáveis pelo balanceamento de carga
do link, e o modo 1 oferece um backup ativo deste link. O modo 0 divide a
carga com um processo Round-Robin, enquanto o modo 2 aplica um algoritmo
XOR.
Então o bonding possui os seguintes módulos:
Mode 0 ou balance-rr – Utiliza política Round-Robin para tolerância a falhas
e balanceamento de carga. Os pacotes são recebidos e enviados
sequencialmente em cada interface bonded iniciando pela primeira disponível.
Mode 1 ou active-backup – Utiliza uma política de backup ativo para
tolerância a falhas. Neste modo apenas um link é utilizado, o outro só será
ativo caso este primeiro falhar.
22. 22 Luiz Arthur
Redes em Cluster de Computadores
Mode 2 ou balance-xor - Utiliza a política de XOR (exclusive-or) para
tolerância a falhas e balanceamento de carga.
Mode 3 ou broadcast – Transmite todos os pacotes em todas as interfaces de
rede. Esse modo fornece tolerância a falhas.
Modo 4 ou 802.3ad – O IEEE 802.3ad Dynamic link aggregation. Cria
grupos de placas de rede que compartilham a mesma velocidade e
configurações. Transmite utilizando uma politica de hash XOR via
xmit_hash_policy.
Modo 5 ou balance-tlb – Transmissão adaptativa para balanceamento de
carga (transmit load balancing). O channel bonding não requer qualquer
configuração especial no switch. O tráfego de saída é distribuído de acordo
com a carga atual (calculado através da velocidade) de cada interface de rede.
O tráfego de entrada é recebido pela interface atual, se essa interface falhar
outra interface pode receber estes pacotes.
Modo 6 ou balance-alb – Modo Adaptive load balancing inclui o balance-tlb
mais recebe balanceamento de carga (rlb) para tráfegos IPv4 e não requer
nenhuma função especial dos switches. O driver bonding intercepta
requerimentos ARP pela sistema local e reescreve o endereço de hardware
para um endereço de hardware de uma interface escrava.
23. 23 Luiz Arthur
Redes em Cluster de Computadores
O modo 0 realmente distribui os pacotes igualmente para todos os links, mas
existe a possibilidade de pacotes posteriores chegarem antes de seus
antecessores, devido ao fato de cada um ter saído por uma placa de rede
diferente, isto pode causar alguns problemas para algumas aplicações,
principalmente as que utilizam UDP.
O XOR constrói um hash dos MACs de origem e destino para decidir qual link
disponível deve ser usado para a conexão. Deste que os MACs de origem e de
destino não se alterem, a escolha da placa de saída permanece inalterada, o
que significa que todos os pacotes de uma mesma sessão utilizarão o mesmo
caminho.
Gibabit Ethernet
O padrão Gigabit Ethernet é uma extensão dos padrões 10 Mbps e 100
Mbps Fast Ethernet para interconexão em redes. Esse padrão surgiu da
necessidade criada pelo aumento da largura de banda nas “pontas” das redes
e também pela redução constante dos custos entre as tecnologias
compartilhadas e comutadas, juntamente com as demandas das aplicações
atuais.
24. 24 Luiz Arthur
Redes em Cluster de Computadores
O padrão Gigabit Ethernet tem como principais vantagens a popularidade
da tecnologia Ethernet e o seu baixo custo. Trata-se de uma tecnologia
padrão, protegendo o invertimento feito em recursos humanos em
equipamentos. Não há nenhuma nova camada de protocolo para ser estudada,
conseqüentemente, há uma pequena curva de tempo de aprendizagem em
relação à atualização dos profissionais. Graças às vantagens trazidas por essa
tecnologia, ela torna-se também outra possibilidade para a interconexão em
clusters.
O padrão do Gigabit Ethernet ou IEEE 802.3z fornece uma largura de banda
mínima de 1 Gbps, tanto em modo full-duplex, como em half-duplex, sendo
que, neste último, é necessário o uso de CSMA/CD para a detecção de
colisões. Outro detalhe que não se pode esquecer é que, no modo full-
duplex, a largura de banda é de até 2Gbps, pois os equipamentos
conectados podem transmitir e receber dados simultaneamente.
O Gigabit Ethernet tem como principais vantagens a popularidade da
tecnologia Ethernet e o seu custo. Mas existem outras vantagens:
●Facilidade de Migração: O Gigabit Ethernet mantém o mesmo formato de
quadro, método de acesso, operação Full-duplex e controle de fluxo, dispondo
dos mesmos objetivos de gerência de rede dos protocolos predecessores.
25. 25 Luiz Arthur
Redes em Cluster de Computadores
●Operação Full e Half-duplex: Quase todos os dispositivos Gigabit Ethernet
no mercado suportam o modo Full-duplex.
●Controle de Fluxo: Mesmo controle de fluxo da Ethernet para evitar
congestionamento e sobrecarga da rede. A técnica de retransmissão é a
mesma (algoritmo de recuo binário exponencial). O CSMA/CD foi modificado
para se manter o diâmetro de colisão a 200 metros, com exceção da operação
no modo Full-duplex, em que o método de acesso não sofreu modificações.
Assim, todas as velocidades de Ethernet, 10, 100 e 1000Mbps, utilizam o
mesmo formato de encapsulamento, métodos de controle de fluxo e
operações full-duplex, não havendo necessidade de tradução entre
formatos de encapsulamento, o que reduz a complexidade e aumenta o
desempenho da comutação de pacotes.
Apesar da alta velocidade, o padrão Gigabit Ethernet não garante o
fornecimento de QoS (Qualidade de Serviço), que é um dos pontos mais fortes
da tecnologia ATM. Desta forma, o padrão Gigabit Ethernet não pode garantir
o cumprimento das exigências de aplicações, como a videoconferência com
grande número de participantes, ou mesmo uma transmissão de vídeo em
tempo-real de um ponto para muitos outros. Mas com o uso de switches é
possível criar redes ponto-a-ponto sem colisão e com a ajuda de alguns
protocolos das camadas superiores tal como protocolos de reserva de recurso
(RSVP), novos padrões tal como 802.1Q (redes virtuais) e 802.1p
(prioridades de serviço).
26. 26 Luiz Arthur
Redes em Cluster de Computadores
10 Gigabit Ethernet
Mesmo com o advento da tecnologia Gigabit Ethernet em cobre (1000 Base -T
ou 1G Base -T), a demanda ainda continua crescente, exigindo taxas de bits
ainda maiores.
Nos backbones, edifícios e grandes anéis metropolitanos (MAN - Metropolitan
Area Network) já existem conexões a esta taxa (10 Gbit/s) utilizando fibra
óptica.
No entanto, nos Data Centers, escritórios e redes locais bem capilarizadas, a
utilização dos pares metálicos de cobre ainda é a mais difundida
(legado), e por isso se faz necessário o estudo e a padronização do 10G Base
-T para estes casos, o que viabilizará o uso deste tipo de rede em clusters de
pequeno e médio porte.
No entanto, o problema e/ou solução a ser discutido com as redes 10Gb é
“como” esta velocidade será possível no cabeamento estruturado
legado atual. As dificuldades do 10Gb existem, por vários motivos:
adaptações, compatibilidade eletromagnética (alien crosstalk), interfaces e
equipamentos da rede (switchs), entre outros.
27. 27 Luiz Arthur
Redes em Cluster de Computadores
No padrão 10 Gigabit Ethernet, definido pela recomendação IEEE 802.3an, a
largura de banda pode ser escalada de 1 até 10 Gbit/s sem sacrificar nenhum dos
serviços inteligentes de rede, tais como o Multiprotocol Label Switching (switching
de camada 3), o ajuste de qualidade de serviço (QoS - Quality of Service), o
balanceamento de carga de servidores e qualquer outra política prévia que altera o
roteamento desta rede.
Esses serviços podem ser entregues a uma taxa de 10 Gbit/s em uma rede
Ethernet e podem suportar quase todas as infra-estruturas e tecnologias de
rede física em LANs, MANs e WANs.
A recomendação IEEE 802.3an define também o controle de acesso ao meio (MAC
– Media Access Control) e o formato e tamanho do quadro. O novo padrão 10
Gigabit Ethernet suporta somente o modo de operação full duplex, diferente
neste sentido dos modos Gigabit e Fast Ethernet que suportam os dois modos (half
– CSMA/CD – e full-duplex). O grande trunfo desse padrão é poder implementar
LAN, MAN e WAN (internetworking) e, além disso, suportar a tecnologia legada.
Para suportar distâncias entre 50 e 100 m, os projetistas do padrão 802.3an
desenvolveram uma nova entidade, na camada física (PHY), que faz a
interface entre as já existentes camadas de controle de acesso ao meio (MAC) e a
Gigabit Media Independente Interface (XGMII) do modelo IEEE. Essa nova entidade
possui a funcionalidade de transmitir, receber e gerenciar sinais codificados que
são retirados e injetados na infra-estrutura de cabeamento.
28. 28 Luiz Arthur
Redes em Cluster de Computadores
Para o padrão 802.3an ainda não existe uma definição sobre a utilização da
codificação do sinal. Os padrões PAM8 e PAM12 estão sendo discutidos,
porém ainda não existe um consenso em relação ao método a ser utilizado.
O objetivo principal no desenvolvimento do padrão 10 Gigabit Ethernet é o de
utilizar o mesmo quadro MAC especificado em outros padrões Ethernet
(802.3u, 802.3z, 802.3ab, e outros). Isso possibilita a integração dessas redes
com as redes Ethernet existentes.
Não há a necessidade de fragmentação, remontagem e tradução de endereços,
o que implica em um switching de pacotes rápido. Como a operação é só em
modo full duplex, portanto a distância do link não afeta o tamanho do quadro
MAC (pois não há necessidade em detectar colisões). O tamanho mínimo para
o quadro MAC é o mesmo especificado para os outros padrões Ethernet, ou
seja, 64 Bytes.
O Gigabit Ethernet (tanto o 1G como o 10G), quando utiliza o cabeamento de
cobre (CAT-5, ou CAT-5e , CAT-6 ou seus predecessores), é a melhor
escolha se o quesito for custo.
Entretanto, o legado de CAT-5 ficará sujeito a distâncias menores que os
100 m desejados para os cabos estruturados melhores (CAT-5e, CAT-6).
29. 29 Luiz Arthur
Redes em Cluster de Computadores
Tecnologia Myrinet
A Myrinet é uma tecnologia de rele local de alta performance, que utiliza
comunicação de pacotes e tecnologia de comutação, usada largamente para
interconexão de clusters de computadores, workstations e servidores.
A Myrinet é uma rede local comutada, baseada nos conceitos utilizados em
redes de interconexão de multiprocessadores. Desenvolvida a partir de dois
projetos de pesquisa patrocinados pela US-ARPA: o multicomputador Caltech
7 Mosaic e a rede local USC/ISI 8 Atomic. A rede Atomic (ATM over Mosaic)
foi construída com o uso de componentes do Mosaic e a experiência adquirida
no seu projeto serviu de base para o desenvolvimento da rede Myrinet.
As redes de alta velocidade devem disponibilizar para cluster as seguintes
características:
● Alta performance - distribuindo toda a computação existente entre os hosts
da rede com uma interconexão de alta velocidade para os dados e baixa
latência na comunicação entre os processos.
● Alta disponibilidade - a interconexão deverá ser capaz de detectar e isolar
falhas e utilizar um caminho alternativo para a comunicação.
30. 30 Luiz Arthur
Redes em Cluster de Computadores
Redes convencionais como Fast Ethernet podem ser utilizadas para a
construção de clusters, mas não provêem características necessárias para
uma rede de alta performance e alta disponibilidade.
Algumas características que distinguem a Myrinet de outras redes são
descritas a seguir:
● Full-duplex 2+2 Gbp/s de velocidade, portas de switch e portas de
interfaces;
●Controle de fluxo, controle de erros e “heartbeat” para monitoramento
contínuo de cada link;
● Baixa latência, switches cut-through (atalho) e crossbar, com
monitoramento de aplicações que necessitam alta disponibilidade;
● Os switches de rede podem ser escaláveis de 10 a uma centena de hosts, e
também possibilita caminhos alternativos entre os hosts;
As interfaces de rede Myrinet executam um programa de controle que
interage diretamente com os processos do host, o que faz “ultrapassar” o
sistema operacional, fazendo com que exista a baixa latência de comunicação
e que “converse” diretamente com a rede para transmitir, receber e fazer
buffers de pacotes.
31. 31 Luiz Arthur
Redes em Cluster de Computadores
Componentes de uma rede Myrinet
A interface de rede baseia-se no chip VLSI denominado LANai, projetado
especificamente para Myrinet. O LANai inclui um processador RISC local
para a execução do programa de controle da Myrinet (MCP – Myrinet
Control Program) e um controlador DMA para acesso direto à memoria do
nó de processamento. O cartão de interface possui ainda uma memória local
de 128 Kbytes para armazenamento de pacotes e do software MCP de uma
memória de SRAM de 512Kb até 1Mbytes.
Os dados devem ser primeiramente escritos na SRAM da placa de rede para
depois serem colocados na rede.
O programa executa na interface a transferência do pacote de dados entre a
memória do host e a rede, através de device drivers ou bibliotecas, no espaço
de usuário, por meio de filas de tarefas residente na SRAM. Esse programa
disponibiliza outras funções de gerenciamento da rede, incluindo
translação entre os endereços do host e os roteadores Myrinet e
mapeando e monitorando a rede.
Essas interfaces PCI possuem barramento de 32 ou 64 bits e trabalham com
freqüências de 33 e 66 MHz. A interface alcança uma taxa de acesso à
memória local de 1GB/s. A memória local pode ser de 2 ou 4 MB e opera no
dobro da freqüência do relógio do processador RISC.
32. 32 Luiz Arthur
Redes em Cluster de Computadores
Quanto ao custo de uma interface de rede Myrinet, o valor fica em torno de
US$ 495 a 595 mas existem interfaces com duas portas que custam em torno
de 795 US$. Já os switchs de 8 portas custam aproximadamente de US$
4.000,00 a 5.000,00, switches de 16 portas custam algo em torno de 6,600
US$. Mas existem switches de 32, 64 e 128 portas que custam
respectivamente 3.200, 6.400 e 12.800 US$.
33. 33 Luiz Arthur
Redes em Cluster de Computadores
A estratégia de controle de fluxo utilizada na Myrinet é a slack buffer. O
buffer é dividido em três regiões: inferior, central e superior, com capacidades
de 32, 16 e 32 bytes, respectivamente.
A região central é separada das demais regiões por duas marcas de níveis.
Sempre que o nível de buffer ultrapassar a marca superior, um comando
Stop é enviado ao transmissor para solicitar a interrupção de fluxo. Por outro
lado, quando o nível diminui abaixo da marca inferior, um comando Go é
enviado para solicitar o restabelecimento do fluxo.
Os comutadores Myrinet são componentes de múltiplas portas, responsáveis
por rotear pacotes que chegam pelas portas de entrada para as portas de
saída especificadas no cabeçalho dos pacotes.
Os switches Myrinet usam roteamento baseado em atalhos (cut-through). No
momento em que um pacote é recebido pelo switch, seu cabeçalho é
decodificado de modo a descobrir a porta de saída. Se esta se encontra
livre, o cabeçalho do pacote é reduzido de forma a conter apenas os próximos
passos, e o pacote é enviado para a porta de saída determinada. Caso a porta
se encontre ocupada por outro pacote ou bloqueada, o pacote recebido é
armazenado até a liberação da porta, ou o final do prazo de espera.
34. 34 Luiz Arthur
Redes em Cluster de Computadores
O roteamento dos pacotes ao longo de uma rede Myrinet é feito através do
seu cabeçalho. Quando um pacote é injetado na rede por uma interface, este
contém um cabeçalho de um ou mais bytes.
O cabeçalho tem apenas um byte no caso de uma rede composta apenas de
duas interfaces e nenhum switch.
Para redes com três ou mais nós, para as quais é necessária a presença de um
switch, o cabeçalho deve possuir dois ou mais bytes.
Somente o primeiro byte do cabeçalho é examinado quando um pacote é
recebido por um switch ou uma interface. Uma vez que esse byte é
utilizado para selecionar uma porta do switch, ele é descartado e retirado
do cabeçalho antes do envio do pacote pela porta selecionada.
A marcação contida no último byte do cabeçalho é utilizada pelo programa
de controle para distinguir entre diferentes tipos de pacotes, tais como
pacotes de usuário e pacotes utilizados pelo protocolo de mapeamento da
rede. Ela é lida pelo programa e controle quando o pacote é recebido e
utilizado para selecionar a rotina de tratamento do tipo de pacote indicado.
35. 35 Luiz Arthur
Redes em Cluster de Computadores
Todos os bytes que indicam a rota a ser seguida possuem seu bit mais
significativo marcado em um (1). Sendo que o último byte, a marcação
(tag), possui esse bit em zero (0). Quando um comutador encontra um
pacote com esse bit em 0, indica que o pacote não alcançou o seu destino
final por algum problema na criação do cabeçalho, por exemplo. Neste caso o
pacote é descartado e é informado um erro.
Os pacotes de uma rede Myrinet podem ser de tamanhos variados; desta
forma, podem encapsular outros tipos de pacotes, incluindo pacotes IP,
sem precisar de nenhuma camada de adaptação. Cada pacote é identificado
por um tipo, de tal forma que a Myrinet, assim como Ethernet, pode carregar
pacotes de vários tipos de protocolos concorrentemente, suportando desta
forma, vários tipos de interfaces de software.
Assim sendo, vários tipos de softwares são utilizados, como o próprio TCP/IP
(ou UDP/IP), os quais conseguem taxas de transmissão, aproximadamente, de
250 a 1147 Mbits/s. Entretanto, implementações mais específicas para
Myrinet conseguem desempenhos melhores, tais como MPI e VIA desenvolvida
pela própria Myricom.
O software desenvolvido pela própria Myricom baseado em troca de
mensagens está disponível, com código aberto para uma série de plataformas
diferentes (Linux, Windows, etc).
36. 36 Luiz Arthur
Redes em Cluster de Computadores
Tecnologia Scalable Coherent Interface – SCI
O SCI é uma tecnologia de comunicação de alto desempenho, especificada
pelo padrão ANSI/IEEE iniciado em 1989 e finalizado em 1992. É uma
estrutura de rede rápida, muito flexível, com protocolo de link baseado em
comunicações de pacotes ponto a ponto. O SCI foi desenvolvido para fornecer
uma comunicação de dados com altíssima eficiência e compartilhar a
memória entre processadores, placas de sistema, etc.
Essa é uma das principais tecnologias utilizadas para a construção de sistemas
de multiprocessadores escaláveis. Ela evita os tradicionais gargalos
existentes entre os barramentos e as tecnologias de rede. O SCI é muito
utilizado na atualidade em multiprocessamento na área militar e em
aplicações aeroespaciais, e também extensivamente utilizado em aplicações
massivamente paralelas.
A grande vantagem nesta plataforma consiste na programação com
memória compartilhada ao invés de troca de mensagens, o que facilita
um pouco a programação.
Ao invés da tradicional troca explícita de mensagens entre os nós do cluster, o
SCI permite que um processo tenha mapeado em seu espaço de
endereçamento um segmento de memória fisicamente alocado em outro nó.
37. 37 Luiz Arthur
Redes em Cluster de Computadores
Um cluster utilizando a tecnologia SCI torna-se um sistema de coerência
global compartilhada entre seus nós, permitindo o uso do modelo de
memória compartilhada, a mesma filosofia encontrada em arquiteturas SMP.
O controle de caches e acesso ao barramento interno de um nó é feito
diretamente pelo hardware de comunicação, diferente dos modelos que
emulam memória compartilhada distribuída, o que proporciona melhorias
no desempenho e diminui a complexidade no desenvolvimento ao nível de
software.
O SCI pode ser implementada como uma ligação paralela de 16 bits usando
uma topologia em anel ou comutada em estrela, dependendo da
performance requerida.
Cada interface de rede possui dois canais de comunicação, um de entrada e o
outro de saída, com uma performance de 200 Mbytes/s até 1000 Mbytes/s,
cobrindo uma distância de 10 metros para cabos elétricos e alguns
quilômetros para fibra óptica. Mas podem chegar a 1.333Gbytes/s.
38. 38 Luiz Arthur
Redes em Cluster de Computadores
Essa placas são fabricadas pelas empresas Dolphin e Scali.
Além dos beneficios do desempenho e do baixo custo, uma das características
principais é a alta escalabilidade, na ordem de centenas de nós, bem como a
garantia da entrega de dados, o que permite soluções robustas e seguras.
39. 39 Luiz Arthur
Redes em Cluster de Computadores
O protocolo SCI é executado diretamente na memória do sistema,
contudo as exigências para ciclos de processador para remapeamento são
minímas possíveis. O consumo de ciclos de processador para transmissão são
também minimizados, porque a placa faz o trabalho sem o uso das pilhas de
protocolo de software, o que economiza processamento da CPU.
Enquanto as pequenas mensagens são tratadas com as instruções Load e
Store do processador, as mensagens longas e as transferências de dados
memória a memória são controladas diretamente pelo controlador de DMA
Dolphin da placa SCI.
A programação com SCI baseia-se na criação e mapeamento remotos de
segmentos de memória a serem compartilhados. O princípio de funcionamento
dessa características é feito via hardware, pela utilização de janela de
endereçamento do barramento PCI, com largura de 64 bits, e manipulação de
tabelas de páginas relativas ao espaço de endereçamento de um processo.
Uma falha de acesso a um endereço de memória indica uma referência
a um segmento remoto; esta falha é então tratada pelo device driver da
interface SCI, que executa a operação remotamente, através do meio de
comunicação.
É claro que a implementação dos devices drivers devem estar fortemente
acoplada ao sistema operacional, normalmente exigindo alterações ou
extensões nos módulos de gerência de memória.
40. 40 Luiz Arthur
Redes em Cluster de Computadores
Memória Virtual host A Memória Virtual host B
Memória Física host A Memória Física host B
PCI/ PCI/
SCI SCI
host A host B
A padronização SCI inclui a implementação de todos os protocolos de
comunicação e controle de cache nas próprias interfaces de interconexão. O
protocolo de comunicação é baseado na transferência de pacotes, mas o
controle de coerência de cache não pode ser implementado por
completo na interface de rede, pois as transações entre o processador e a
memória física de modo não são visíveis ao barramento PCI.
A performance da tecnologia SCI é semelhante a da Myrinet. Assim, além do
alto desempenho, a possibilidade de programação com memória
compartilhada gera um enorme atrativo, e torna o SCI uma tecnologia muito
promissora para cluster de computadores.
41. 41 Luiz Arthur
Redes em Cluster de Computadores
InfiniBand
InfiniBand é uma arquitetura que define um barramento de computador serial
de alta velocidade, projetado tanto para conexões internas quanto externas.
Ele é o resultado da combinação de duas tecnologias concorrentes, Future I/O,
desenvolvida pela Compaq, IBM e Hewlett-Packard com a Next Generation I/O
(ngio), desenvolvido por Intel, Microsoft, Dell, Hitachi, Siemens e Sun
Microsystems.
Em agosto de 1999, os sete líderes da indústria, Compaq, Dell, Hewlett-
Packard, IBM, Intel, Microsoft e Sun Microsystems formaram a IBTA
(InfiniBand Trade Association). A primeira especificação da arquitetura
InfiniBand foi feita em junho de 2001.
InfiniBand é uma arquitetura ponto-a-ponto que se destina a fornecer aos
centros de dados uma conectividade para entradas/saídas melhoradas e
adaptadas a qualquer tipo de tráfego. Uma conexão InfiniBand substituirá os
vários cabos atuais e servirá simultaneamente para a conectividade do cluster,
da rede e do armazenamento. É uma tecnologia comutada que utiliza três
tipos de dispositivos, comutadores, interfaces HCA (Host Channel Adapter),
que são os conectores usados na comunicação interprocessadores do lado dos
servidores e nas interfaces TCA (Target Channel Adapter), que são
tipicamente usadas para conexão nos subsistemas de E/S.
42. 42 Luiz Arthur
Redes em Cluster de Computadores
Algumas caracteristicas da InfiniBand são:
●Alta Performance: InfiniBand fornece alta performance chegando a 10Gb/s
de nó-para-nó e 60 Gb/s de switch-para-switch. Mas pode apresentar conexões
de até 120 Gb/s.
●Redução de Complexidade: Permite a consolidação de múltiplas interfaces de
I/O em um único cabo.
●Alta eficiência de interconexão: Tal tecnologia foi desenvolvida para prover
escalabilidade para múltiplos sistemas e o processo de comunicação é feito
pelo próprio hardware de rede, poupando a CPU dos hosts. O InfiniBand
também fornece suporte a Remote Direct Memory Access que otimiza a
transferência de dados.
●Estabilidade de conexões: O InfiniBand fornece redundância de conexão o
que dificulta falhas de comunicação entre os nós. Tal tecnologia permite
também que um nó tenha várias conexões dedicadas na rede, isto ajuda a
prover estabilidade para aplicações que trabalham em ambientes
virtualizados, por exemplo.
43. 43 Luiz Arthur
Redes em Cluster de Computadores
Devido a suas características, InfiniBand é uma tecnologia adequada para
aplicações de HPC (High Performance Computing). Enquanto InfiniBand provê
muitas características avançadas que servem para um grande leque de
aplicações, contudo esta tecnologia ainda é um padrão em evolução e deve
sofrer muitas melhorias. Algumas das melhorias planejadas para InfiniBand
incluem especificações de maiores taxas de sinalização, controle de
congestionamento e qualidade de serviço (QoS).
44. 44 Luiz Arthur
Redes em Cluster de Computadores
Gigabyte System Network
GSN é um padrão ANSI (American National Standards Institute) de tecnologia
de rede que foi desenvolvida para redes de alta performance enquanto
mantém compatibilidade com tecnologias de rede como HIPPI (High
Performance Parallel Interface), Ethernet, e outros padrões de rede. GSN tem
uma alta capacidade de banda de 6400 Mbps em full-duplex e baixa latência.
Características:
Capacidade de Banda: acima de 800MB por segundo em full-duplex.
●
Velocidade comparável com Fibre Channel, ATM OC12, Gigabit Ethernet, e
HIPPI;
Latência: latência de 4 microseconds; latência do MPI é de 13 microseconds;
●
Interoperabilidade: IP sob GSN, ST sob GSN, BDS sob GSN e ARP sob GSN;
●
Biblioteca para diversos S.O.
●
45. 45 Luiz Arthur
Redes em Cluster de Computadores
Fim