Por que a NVIDIA faz switches? Como isso se relaciona com a IA generativa?

A maior parte da atenção da Computex foi focada nos novos DGX GH200 e MGX da NVIDIA — ambos produtos de IA em nível de sistema da NVIDIA, independentemente de serem designs de referência ou servidores completos. Esses chips, placas e sistemas relacionados a CPUs e GPUs sempre foram tópicos importantes para a NVIDIA, já que IA e HPC são muito populares.

Mas, na verdade, no contexto de IA HPC, especialmente IA generativa, ou o que muitas pessoas agora chamam de computação de “grande modelo”, a rede também é muito importante. Em outras palavras, é necessário um grande número de servidores para trabalhar juntos para resolver problemas, e um cluster de grande escala é necessário para expandir o poder de computação entre sistemas e nós. Portanto, os problemas de desempenho não são apenas sobre o poder de computação de CPUs, GPUs e chips de IA em um nó.

Anteriormente, o Google mencionou que, na infraestrutura geral de IA, a importância da arquitetura no nível do sistema é ainda maior do que a da microarquitetura do chip TPU. É claro que esse “nível de sistema” pode não cobrir necessariamente a rede entre os nós, mas, obviamente, quando vários chips trabalham juntos para fazer cálculos, o sistema e a rede se tornam gargalos de desempenho.

É por isso que o DPU é tão importante — em vez de uma forma subjetiva de vender ou competir com produtos existentes no mercado. O DPU da NVIDIA e outros produtos de rede são mais como suplementos de shortboard para seus próprios produtos, subjetivamente não como competir com outros ou com produtos existentes no mercado. A partir dessa perspectiva, os produtos de hardware da NVIDIA constituem um ecossistema completo horizontalmente: por exemplo, o DPU subjetivamente não pretende competir com ninguém, mas é uma parte de seus produtos existentes.

Computex

Na Computex, a NVIDIA anunciou produtos de rede centrados em sua plataforma Spectrum-X Ethernet. A NVIDIA afirma que este é o primeiro produto Ethernet de alto desempenho do mundo projetado especificamente para IA, particularmente para “cargas de trabalho generativas de IA que exigem um novo tipo de Ethernet”. Não falamos muito sobre os produtos de rede da NVIDIA no passado, incluindo sua unidade de processamento de dados (DPU). Com a introdução do Spectrum-X, este artigo tenta discutir este produto Ethernet, bem como a lógica por trás dos produtos de rede da NVIDIA.

Por que a NVIDIA quer construir um “switch”?

Os dois principais componentes dentro da plataforma Spectrum-X são o Spectrum-4 Ethernet Switch e o BlueField-3 DPU. A parte sobre o DPU não é muito explicada; a outra parte relacionada ao switch Spectrum, o GTC real no ano passado, a NVIDIA lançou o switch Spectrum-4 400Gbps. O nível do chip é baseado no Spectrum ASIC – Huang Renxun mostrou o chip na palestra da Computex, que é um cara grande que inclui 100 bilhões de transistores, 90x90mm, 800 esferas de solda na parte inferior do pacote do chip e 500W de consumo de energia.

Huang Renxun mostrou o chip

O anúncio da “primeira arquitetura Ethernet de alto desempenho” construída especificamente para IA, o sistema Spectrum-4 Ethernet Switch, já está disponível para CSPs.

Conforme mostrado na figura, o sistema possui um total de 128 portas com uma capacidade de largura de banda de 51.2 TB/s, que é o dobro dos switches Ethernet tradicionais. De acordo com a empresa, essa nova tecnologia permitirá que engenheiros de rede, cientistas de dados de IA e provedores de serviços de nuvem produzam resultados e tomem decisões em um ritmo mais rápido, além de permitir nuvens de IA generativas. Alta largura de banda e baixa latência são cruciais para aliviar gargalos de desempenho durante o escalonamento de GPU entre os nós. O switch inteiro consome 2800W de potência.

o sistema possui um total de 128 portas

No GTC do ano passado, a NVIDIA explicou que o switch não pretendia competir com os switches de rede convencionais no tratamento do tráfego rotineiro de “fluxo de mouse”, mas, em vez disso, se concentra no processamento de tráfego de “fluxo de elefante”, alavancando produtos de hardware para inteligência artificial em larga escala, digital gêmeos e aplicações de simulação.

“Os switches tradicionais são muito lentos para lidar com as atuais cargas de trabalho de IA generativa. Além disso, ainda estamos no início da revolução da IA. Os switches tradicionais podem ser suficientes para nuvens de commodities, mas não podem fornecer o desempenho necessário para cargas de nuvem de IA que envolvem IA generativa”, disse Gilad Shainer, vice-presidente sênior de rede da NVIDIA durante seu discurso de abertura.

Durante o pré-briefing, um repórter perguntou especificamente se o NVIDIA Spectrum concorre diretamente com os switches da Arista e de outras empresas. A resposta de Shainer foi que não há concorrência: “Outros switches Ethernet no mercado são usados ​​para construir nuvens de commodities comuns ou tráfego norte-sul que inclui acesso de usuário e controle de nuvem. No entanto, atualmente não há solução no mercado que possa atender às demandas de IA generativa para Ethernet. Como a primeira rede Ethernet do mundo para tráfego leste-oeste em IA generativa, o Spectrum-4 criou uma nova solução Ethernet voltada especificamente para esse objetivo.” Shainer também mencionou durante o briefing que os produtos de comutação existentes da Broadcom não competem com o Spectrum-4. A NVIDIA enfatiza que o Spectrum-X cria uma rede Ethernet sem perdas, o que pode ser particularmente importante para explicar a plataforma Spectrum-X.

InfiniBand versus Ethernet

A Ethernet evoluiu com o tempo. Lossless é específico porque a Ethernet foi originalmente projetada para ambientes de rede com perdas. Em outras palavras, a perda de pacotes é permitida nesta rede. Para garantir a confiabilidade, a camada superior da rede IP requer o protocolo TCP. Ou seja, se ocorrer perda de pacote durante a transmissão do pacote, o protocolo TCP permite que o remetente retransmita os pacotes perdidos. No entanto, devido a esses mecanismos de correção de erros, a latência aumenta, o que pode causar problemas para determinados tipos de aplicativos. Além disso, para lidar com picos repentinos de tráfego na rede, os switches precisam alocar recursos extras de cache para armazenar informações temporariamente, razão pela qual os chips de switch Ethernet são maiores e mais caros do que os chips InfiniBand de especificações semelhantes.

No entanto, “redes com perdas são inaceitáveis ​​para data centers de computação de alto desempenho (HPC)”. Huang Renxun declarou: “Todo o custo de execução de uma carga de trabalho HPC é muito alto e qualquer perda na rede é difícil de suportar”. Além disso, devido a requisitos como isolamento de desempenho, redes com perdas são realmente difíceis de suportar. A NVIDIA tem usado um padrão de comunicação de rede chamado InfiniBand. InfiniBand é comumente usado em aplicativos HPC que exigem alta taxa de transferência e baixa latência. Ao contrário da Ethernet, que é mais universal, o InfiniBand é mais adequado para aplicativos com uso intensivo de dados.

InfiniBand não é exclusivo da NVIDIA. Foi originalmente desenvolvido por várias empresas, incluindo Intel, IBM e Microsoft, entre outras, e havia até uma aliança especializada chamada IBTA. A Mellanox começou a promover os produtos InfiniBand por volta de 2000. De acordo com a introdução da Wikipedia, o objetivo inicial do InfiniBand era substituir PCI em E/S e Ethernet em salas de máquinas e clusters de interconexão.

Infelizmente, o InfiniBand foi desenvolvido durante o período do estouro da bolha pontocom e seu desenvolvimento foi suprimido. Participantes como Intel e Microsoft tiveram novas escolhas. No entanto, de acordo com a lista de supercomputadores TOP500 em 2009, já havia 181 conexões internas baseadas em InfiniBand (o restante era Ethernet) e, em 2014, mais da metade deles estava usando InfiniBand, embora a Ethernet de 10 Gb tenha se recuperado rapidamente nos dois anos seguintes. Quando a NVIDIA adquiriu a Mellanox em 2019, a Mellanox já havia se tornado a principal fornecedora de produtos de comunicação InfiniBand do mercado.

Do ponto de vista do design, a Ethernet, que nasceu na década de 1980, preocupava-se apenas em alcançar a interoperabilidade de informações entre vários sistemas. Por outro lado, o InfiniBand nasceu para eliminar o gargalo na transmissão de dados do cluster em cenários de HPC, como em termos de latência, e seu design de processamento de comutação de Camada 2 é bastante direto, o que pode reduzir bastante a latência de encaminhamento. Portanto, é naturalmente adequado para HPC, data centers e clusters de supercomputadores: alta taxa de transferência, baixa latência e alta confiabilidade.

alta taxa de transferência, baixa latência e alta confiabilidade

Do ponto de vista da confiabilidade, o próprio InfiniBand possui uma definição de protocolo completa para as camadas de rede 1-4: evita a perda de pacotes por meio de mecanismos de controle de fluxo de ponta a ponta, que por si só atingem a propriedade sem perdas. Outra grande diferença entre os dois é que o InfiniBand é baseado em um projeto de rede de malha comutada, enquanto a Ethernet é baseada em um canal compartilhado de meio compartilhado. Teoricamente, o primeiro é mais capaz de evitar problemas de conflito de rede.

Já que o InfiniBand é tão bom, por que a Nvidia quer desenvolver Ethernet? Pensando por intuição, a base de mercado, versatilidade e flexibilidade da Ethernet devem ser fatores importantes. Em sua palestra, Huang falou sobre como “queremos trazer IA generativa para todos os data centers”, o que requer compatibilidade futura; “muitas empresas estão implantando Ethernet” e “obter o recurso InfiniBand é difícil para elas, então estamos trazendo esse recurso para o mercado Ethernet. Essa é a lógica de negócios por trás do lançamento do Spectrum-4. Mas achamos que definitivamente não é toda a história.

A NVIDIA está trabalhando em produtos Ethernet e InfiniBand, sendo o primeiro a plataforma Spectrum Ethernet e o último chamado Quantum InfiniBand. Se você olhar para o offpágina inicial, você descobrirá que as soluções InfiniBand “oferecem desempenho inigualável a custo e complexidade mais baixos sobre HPC, AI e infraestruturas de nuvem de supercluster”; enquanto o Spectrum é uma comutação Ethernet acelerada para IA e nuvem. Claramente, os dois estão competindo até certo ponto.

Por que Ethernet?

Em sua palestra, Huang explicou cientificamente os diferentes tipos de data centers – na verdade, na GTC do ano passado, a NVIDIA dividiu claramente os data centers em seis categorias. E no cenário de IA que estamos discutindo hoje, os data centers podem ser divididos em duas categorias principais. Uma categoria é aquela que precisa ser responsável por várias cargas de aplicativos diferentes, onde pode haver muitos inquilinos e dependências fracas entre as cargas.

Mas há outra categoria normalmente, como a supercomputação ou a agora popular supercomputação de IA, que possui muito poucos inquilinos (apenas 1 bare metal) e cargas fortemente acopladas – exigindo alto rendimento para grandes problemas computacionais. A diferença na infraestrutura exigida por esses dois tipos de data centers é significativa. A julgar pela intuição, o ambiente com perdas mais primitivo da Ethernet não seria adequado para o último requisito. As razões para isso já foram abordadas no artigo anterior.

SemiAnalysis recentemente escreveu um artigo que fala especificamente sobre os muitos problemas com o InfiniBand – principalmente técnicos, que podem ser usados ​​como referência para a NVIDIA desenvolver Ethernet ao mesmo tempo. Alguns deles são extraídos aqui para referência. Na verdade, tanto o InfiniBand quanto a própria Ethernet estão em constante evolução.

O controle de fluxo do InfiniBand usa um mecanismo de controle de fluxo baseado em crédito. Cada link é pré-atribuído com alguns créditos específicos - refletindo atributos como largura de banda do link. Quando um pacote é recebido e processado, o destinatário devolve um crédito ao remetente. Idealmente, tal sistema garantiria que a rede não fosse sobrecarregada, pois o remetente precisaria aguardar o retorno dos créditos antes de enviar mais pacotes.

Por que Ethernet

Mas há problemas com esse mecanismo. Por exemplo, se um nó de envio envia dados para um nó de recebimento em uma taxa mais rápida do que o nó de recebimento pode processar os dados, o buffer do nó de recebimento pode ficar cheio. O nó receptor não pode devolver os créditos ao nó remetente e, como resultado, o nó remetente não pode enviar mais pacotes de dados porque os créditos se esgotaram. Se o nó receptor não puder devolver créditos e o nó emissor também for um nó receptor para outros nós, a incapacidade de devolver créditos no caso de sobrecarga de largura de banda pode levar a um espalhamento de contrapressão para uma área maior. Outros problemas incluem deadlocks e taxas de erro causadas por diferentes componentes.

Alguns problemas inerentes ao InfiniBand tornam-se mais graves à medida que a escala e a complexidade do sistema aumentam. Atualmente, a maior solução InfiniBand implementada comercialmente é provavelmente da Meta, onde um cluster de pesquisa implantou um total de 16,000 NICs e 16,000 GPUs A100.

Essa escala é, sem dúvida, massiva, mas a SemiAnalysis afirma que o treinamento do GPT-4 exigirá uma escala ainda maior, e futuros desenvolvimentos de “modelos grandes” provavelmente exigirão a expansão do cluster. Em teoria, o InfiniBand pode continuar expandindo sua capacidade geral, mas sofrerá cada vez mais os efeitos de problemas inerentes. De uma perspectiva de inferência, a latência e o desempenho ainda podem se beneficiar do InfiniBand, mas para cargas de inferência, diferentes solicitações serão transmitidas continuamente em várias velocidades. Além disso, as arquiteturas futuras exigirão que vários modelos grandes sejam incluídos em vários tamanhos de lote no mesmo cluster de grande escala, o que exige mudanças contínuas no controle de fluxo baseado em crédito.

O mecanismo de controle do fluxo de crédito é difícil de responder rapidamente às mudanças no ambiente de rede. Se houver uma grande quantidade de tráfego diverso dentro da rede, o estado do buffer do nó receptor pode mudar rapidamente. Se a rede ficar congestionada, o nó remetente ainda está processando as informações de crédito anteriores, tornando o problema ainda mais complexo. Além disso, se o nó emissor espera constantemente por créditos e alterna entre os dois estados de transmissão de dados, pode facilmente causar flutuações de desempenho.

Em termos de praticidade, o atual Quantum-2 da NVIDIA atinge larguras de banda de 25.6 TB/s, que pelo menos numericamente falando, é inferior aos 4 TB/s do Spectrum-51.2. Os chips Quantum mais rápidos e a infraestrutura não estarão disponíveis até o próximo ano, o que cria um ritmo diferente. Além disso, do ponto de vista de custo, atingir a mesma escala (mais de 8000 GPUs) de implantação convencional de GPU requer uma camada adicional de comutação e significativamente mais cabos (cabos ópticos de alto custo). Portanto, o custo típico de implantação da rede InfiniBand em escala é significativamente maior do que o da Ethernet. (DPU e NIC os custos não são considerados aqui.)

Do ponto de vista do cliente, o mercado de Ethernet é muito maior do que o de InfiniBand, o que também ajuda a reduzir os custos de implantação. Existem outros fatores comparáveis ​​específicos, como sistemas front-end de serviço tradicionais baseados em Ethernet e o problema de vinculação do fornecedor com InfiniBand para clientes. A Ethernet obviamente oferece mais opções, e sua elasticidade de implantação e escalabilidade também podem ser melhores. No nível técnico, parece haver valor potencial em futuras implantações de infraestrutura de transmissão óptica para Ethernet.

Essa pode ser a base teórica para o foco da NVIDIA na Ethernet ou parte do motivo pelo qual a NVIDIA escolheu a Ethernet para nuvens de IA generativas. No entanto, um motivo que deve ser tomado apenas como referência é que o InfiniBand evoluiu muito com a NVIDIA e muitos problemas inerentes têm solução.

Quântico-2

Finalmente, vamos falar sobre a questão mencionada no início, que é que a Ethernet era originalmente uma rede com perdas. Mas, na verdade, com o desenvolvimento de tecnologias como RoCE (RDMA over Converged Ethernet), algumas das vantagens do InfiniBand também foram trazidas para a Ethernet. De fato, a expansão da tecnologia é, até certo ponto, a integração das vantagens de diferentes tecnologias, incluindo o alto desempenho e sem perdas do InfiniBand, a universalidade, a economia e a flexibilidade da Ethernet, etc.

O RoCE mencionado nos recursos da plataforma Spectrum-X atinge a ausência de perdas em redes Ethernet, contando com controle de fluxo baseado em prioridade (PFC) na NIC do lado do terminal, em vez de dispositivos de comutação. Além disso, o RoCE++ possui algumas novas extensões otimizadas, como ASCK, que lida com problemas de perda e ordem de chegada de pacotes, permitindo que a extremidade receptora notifique a extremidade transmissora para retransmitir apenas pacotes perdidos ou danificados, alcançando maior utilização de largura de banda; há também ECN, mecanismo de controle de fluxo e otimização de erros, que contribuem para melhorar a eficiência e a confiabilidade. Além disso, para aliviar os problemas de escalabilidade de NICs de endpoint em Ethernet padrão com redes RoCE, o modo Bluefield NIC pode ser usado e o custo geral de DPU ainda pode ser diluído por Ethernet e algumas novas tecnologias.

Em seu discurso de abertura, Huang Renxun mencionou especificamente o Spectrum-X, que traz principalmente duas características importantes para a Ethernet: roteamento adaptativo e controle de congestionamento. Além disso, a NVIDIA cooperou anteriormente com a IDC para emitir um relatório de white paper sobre o valor comercial das soluções de comutação Ethernet.

Em aplicações de IA de larga escala, talvez a Ethernet seja uma escolha inevitável no futuro. Portanto, na promoção do Spectrum-X, a posição da NVIDIA é especialmente preparada para nuvens de IA generativa, a “primeira” solução para tráfego leste-oeste de IA generativa. No entanto, pode haver mais razões do que a forte universalidade da Ethernet. Sob cargas AI HPC, há uma certa probabilidade da possibilidade de uma mudança abrangente para Ethernet.

O desenvolvimento de diferentes padrões é em si um processo de verificação e complementação constantes das deficiências uns dos outros e de absorção da essência. Assim como o InfiniBand, existem várias soluções de mitigação para resolver defeitos inerentes, e alguns atributos estendidos do InfiniBand também são muito úteis para sua aplicação em IA. Este é um problema de comparação entre escolha e desenvolvimento de tecnologia. Podemos esperar e ver se a NVIDIA se inclinará para o desenvolvimento de InfiniBand ou Ethernet no futuro, mesmo que esses dois tenham seus respectivos cenários de aplicação.

Deixe um comentário

Voltar ao Topo