Modernizando o Data Center com Rede Acelerada

por Tim Lustig

A rede acelerada combina CPUs, GPUs, DPUs (unidades de processamento de dados) ou SuperNICs em uma malha de computação acelerada projetada especificamente para otimizar as cargas de trabalho de rede. Ele usa hardware especializado para descarregar tarefas exigentes para aprimorar os recursos do servidor. À medida que a IA e outras novas cargas de trabalho continuam a crescer em complexidade e escala, a necessidade de redes aceleradas torna-se primordial.

Os data centers são a nova unidade de computação, e as cargas de trabalho modernas estão começando a desafiar a infraestrutura de rede à medida que os serviços de rede sobrecarregam ainda mais a CPU. A infraestrutura de rede, com uma estrutura ágil, automatizada e programável com aceleradores e descargas, é fundamental para desbloquear todo o potencial das tecnologias de IA e impulsionar a inovação.

Este post explora os benefícios e as táticas de implementação de tecnologias de rede acelerada em data centers, destacando seu papel no aprimoramento do desempenho, escalabilidade e eficiência.

Acelerando Sua Rede

A aceleração de rede requer a otimização de todos os aspectos da rede, incluindo processadores, placas de interface de rede (NICs), switches, cabos, óptica e software de aceleração de rede. Aproveitar a rede sem perdas, o acesso remoto direto à memória (RDMA), o roteamento adaptativo, o controle de congestionamento, o isolamento de desempenho e a computação em rede ajudará as organizações a liberar todo o potencial dos aplicativos modernos, incluindo IA.

A máxima eficiência em redes compartilhadas pode ser obtida controlando adequadamente as taxas de injeção de dados. Ao lidar com grandes fluxos de dados, os switches Ethernet que implementam algoritmos de roteamento adaptáveis podem balancear dinamicamente a carga dos dados na rede, evitar congestionamentos e reduzir a latência. As técnicas de multipathing e pulverização de pacotes de switches podem melhorar ainda mais a eficiência da rede, garantindo a chegada oportuna dos dados e minimizando os gargalos. Isso evita colisões de dados entre o switch e NICs ou DPUs, enquanto as técnicas de isolamento de fluxo de tráfego garantem a entrega em tempo hábil, evitando que um fluxo afete negativamente outros.

Outra técnica de otimização é implantar SuperNICs e DPUs. Uma SuperNIC é um tipo de acelerador de rede para data centers em nuvem de IA que oferece conectividade robusta e perfeita entre servidores GPU. Uma DPU é uma classe de processador rapidamente emergente que permite redes aprimoradas e aceleradas. Com a ajuda de SuperNICs e DPUs, as cargas de trabalho podem ser descarregadas do processador do host para acelerar as comunicações, permitindo que os data centers lidem com a necessidade cada vez maior de mover dados.

Para implementar a rede acelerada, considere as técnicas a seguir.

Serviços Acelerados

As cargas de trabalho passaram por uma mudança significativa de paradigma, fazendo a transição para a descentralização, dividindo as cargas de trabalho por meio de contêineres e microssegmentação. Isso causou um aumento dramático na largura de banda na rede entre servidores (tráfego leste-oeste).

As cargas de trabalho de IA são um problema de computação distribuída, exigindo a utilização de vários servidores ou nós interconectados. Isso coloca uma tremenda pressão sobre a rede e CPU. A descentralização da carga de trabalho requer reexaminar a infraestrutura de rede para adicionar aceleradores para aliviar a CPU e as GPUs do processamento de serviços de rede, armazenamento e segurança. Isso libera a CPU para se concentrar nas cargas de trabalho do aplicativo. A aceleração garante transferências de dados de alta velocidade e baixa latência entre esses nós e permite uma distribuição eficiente da carga de trabalho e um treinamento mais rápido do modelo.

Abstração de Rede

A mudança para data centers altamente virtualizados e modelos de nuvem está sobrecarregando as redes legadas. As redes tradicionais de data center não foram projetadas para suportar a natureza dinâmica das cargas de trabalho virtualizadas atuais. A abstração de rede, incluindo sobreposições de rede, pode executar várias camadas de rede virtualizadas separadas e discretas sobre a rede física. Estes são cruciais para fornecer flexibilidade, escala e aceleração. No entanto, se não forem implementados corretamente, eles podem impedir os fluxos de rede.

Otimização de Rede

Uma grande quantidade de dados coletados e processados moveu as cargas de trabalho para uma era centrada em dados. A disponibilidade de grandes conjuntos de dados combinada com avanços tecnológicos, como aprendizado de máquina e IA generativa, aumenta a necessidade de mais dados para alimentar algoritmos de aprendizagem. Uma ramificação dessa explosão de dados é a necessidade de mover, processar, recuperar e armazenar grandes conjuntos de dados.

A rede sem perdas pode garantir a transmissão precisa de dados sem qualquer perda ou corrupção e é vital para mover, processar, recuperar e armazenar esses grandes conjuntos de dados. A tecnologia RDMA melhora o desempenho da rede, permitindo transferências diretas de dados entre locais de memória sem envolver CPUs. A combinação de rede sem perdas e RDMA pode otimizar a eficiência da transferência de dados e reduzir o tempo ocioso da CPU e da GPU, permitindo a movimentação eficiente de dados para alimentar aplicativos modernos.

Otimização de Stack de Ponta a Ponta

As cargas de trabalho modernas têm padrões de tráfego de rede exclusivos. As cargas de trabalho tradicionais geram padrões de tráfego com muitos fluxos, pacotes pequenos e baixa variância. O tráfego para aplicativos modernos envolve pacotes grandes, menos fluxos e alta variância, incluindo fluxos de elefantes e mudanças frequentes nos padrões de tráfego.

Os algoritmos de roteamento adaptável são usados para balancear dinamicamente a carga de dados em toda a rede, evitando congestionamento e alta latência para esses novos padrões de tráfego. Os mecanismos de controle de congestionamento, como a notificação explícita de congestionamento (ECN), também garantem um fluxo de dados eficiente e minimizam a degradação do desempenho. Para dar conta disso, as redes devem ser arquitetadas com uma pilha otimizada de ponta a ponta para acelerar novos padrões de tráfego.

Computação em Rede

Os grandes conjuntos de dados de cargas de trabalho modernas exigem processamento ultrarrápido de algoritmos altamente paralelizados e, portanto, são mais complexos. À medida que os requisitos de computação crescem, a computação em rede oferece aceleração baseada em hardware das operações de comunicação coletiva, descarregando efetivamente as operações coletivas da CPU para a rede. Esse recurso melhora significativamente o desempenho do treinamento de modelos de IA distribuídos, reduz a sobrecarga de comunicação e acelera a convergência do modelo para eliminar a necessidade de enviar dados várias vezes entre pontos de extremidade e acelera o desempenho da rede.

A aceleração de rede reduz a utilização da CPU, deixando mais capacidade para as CPUs processarem cargas de trabalho de aplicativos. Ele também reduz o jitter para melhorar os fluxos de dados e oferece maior taxa de transferência geral, o que permite que mais dados sejam processados mais rapidamente.