FERRAMENTAS LINUX: KNOD: A Revolução do Processamento de Pacotes em GPUs no Kernel Linux

domingo, 11 de outubro de 2026

KNOD: A Revolução do Processamento de Pacotes em GPUs no Kernel Linux

 



O KNOD usa as GPUs AMD para processar pacotes de rede dentro do kernel Linux. 70 Mpps em XDP e 80 Gbit/s em IPsec. Saiba como funciona e teste no seu servidor.


O que é o KNOD e por que ele está mudando a computação de rede?


O KNOD (in-kernel network offload device) é um projeto open-source revolucionário que permite usar GPUs para processar pacotes de rede diretamente dentro do kernel Linux, sem depender de CUDA, ROCm ou qualquer componente em espaço de usuário. 

Em vez de sobrecarregar a CPU com cada pacote, o KNOD compila programas XDP em código de máquina para GPU via JIT, a placa de rede DMA os pacotes diretamente para a memória acessível pela GPU, e a GPU processa lotes inteiros em paralelo. 

O resultado? Até 70 milhões de pacotes por segundo em cargas XDP e 80 Gbit/s em RX IPsec, medidos em hardware de GPU de consumidor.


Como o KNOD funciona na prática?

A arquitetura in-kernel sem espaço de usuário


A grande inovação do KNOD é que ele opera inteiramente dentro do kernel. 

Enquanto projetos acadêmicos anteriores de processamento de pacotes em GPU dependiam de runtimes em espaço de usuário (como CUDA), o KNOD gerencia as filas da GPU, compila o programa e despacha o trabalho diretamente do kernel. 

Isso significa que ele se integra aos caminhos de offload existentes (XDP, xfrm) sem nada para instalar ou manter rodando em espaço de usuário.

O fluxo é direto: um programa XDP é compilado JIT para o código de máquina da GPU, a NIC coloca os pacotes diretamente na memória da GPU via DMA, e a GPU executa o programa em paralelo sobre um lote de pacotes. 

Apenas o resultado volta para o host: um veredito para cada pacote (PASS, DROP, TX) mais o pacote em si para os que se destinam ao host.


Números que impressionam


Os benchmarks apresentados no Linux Plumbers Conference 2026 em Praga são notáveis. Em uma carga derivada do Katran (o balanceador de carga XDP open-source da Meta), o KNOD atingiu 70 milhões de pacotes por segundo. Em RX IPsec, alcançou 80 Gbit/s em hardware de consumidor. 

Para efeito de comparação, processar essas cargas apenas com CPU consumiria vários núcleos, enquanto a GPU escala com a ocupação de lanes, não com a contagem de núcleos.


Por que usar GPU em vez de CPU para processamento de pacotes?

Eficiência energética e custo


A lógica é econômica e energética. Saturar um link rápido com XDP usando apenas núcleos de CPU consome muitos recursos, enquanto SmartNICs e DPUs são caros e específicos de fornecedor. 

Uma GPU de consumidor que custa uma fração de uma DPU — ou que já está no servidor — é uma alternativa tentadora. Os desenvolvedores argumentam que o KNOD é mais barato e mais eficiente em energia do que o processamento apenas em CPU. 

Embora as comparações de custo e consumo tenham sido apresentadas como gráficos, os números de referência são promissores: 70 Mpps em uma Radeon PRO V620 (80 W) e 32 Mpps em uma RX 6600 (41 W).


Produto Recomendado

Sua paixão por Linux agora tem lugar na mesa.


Para devs, sysadmins e fãs do Ubuntu, a Caneca Linux B-Orange Ubuntu é o item perfeito para acompanhar o café da manhã ou aquele deploy de madrugada. 

Com um design dark, estilo geek e a identidade do Ubuntu em destaque. Ideal para o uso próprio ou para presentear quem vive e respira tecnologia.

Caneca Linux B-Orange Ubuntu.   

Clique no link e garanta a sua agora mesmo:  ->  https://link.amazon/B04XnP5oW

Eu ganho uma comissão quando você faz uma compra.


O que a CPU deixa de pagar


Com o KNOD, a CPU não paga mais o custo por pacote do programa. A GPU roda o mesmo pequeno programa sobre muitos pacotes de uma vez (modelo SIMT — Single Instruction, Multiple Threads), que é exatamente o formato do modelo de programa por pacote do XDP. 

O throughput escala com a ocupação da GPU, não com o número de núcleos da CPU.


O que há de novo no KNOD em 2026?


Expansão para o Intel Arc e as GPUs integradas


Enquanto as GPUs AMD têm sido o alvo principal até agora — graças ao driver amdgpu totalmente open-source e já no mainline — a equipe anunciou no LPC 2026 que vai explorar suporte a Intel Arc e a GPUs integradas da AMD. No lado da rede, o KNOD já funciona com NICs Broadcom e Intel.


RX IPsec além do XDP


O projeto começou como uma forma de rodar programas XDP em GPU, mas recentemente adicionou suporte a RX IPsec (descriptografia ESP), transformando-o de um truque XDP em um modelo mais geral de dispositivo de offload. 

Isso abre portas para aplicações de segurança de rede aceleradas por GPU.




FAQ: perguntas frequentes sobre o KNOD


O KNOD funciona com GPUs NVIDIA?

Atualmente, não. O KNOD foi desenvolvido exclusivamente para GPUs AMD porque o driver amdgpu é totalmente open-source e já está no mainline do kernel Linux. 

No lado da NVIDIA, há o driver oficial open-source, mas não upstream, e os drivers Nouveau/NOVA ainda não são maduros o suficiente para esse tipo de trabalho. A equipe mencionou que pode explorar suporte a Intel Arc no futuro, mas por enquanto tudo é baseado em AMD.


O KNOD já está disponível no kernel Linux estável?

Não. O KNOD foi postado como uma série de patches RFC (Request For Comments) em julho de 2026 e ainda não foi mesclado ao kernel principal. Há muitas questões em aberto na lista de discussão, e o projeto está em fase experimental. Para testá-lo, é necessário aplicar os patches manualmente e compilar o kernel.


Qual a diferença entre KNOD e SmartNICs/DPUs?

SmartNICs e DPUs são hardware especializado, caro e específico de fornecedor. O KNOD usa uma GPU de consumidor que custa uma fração do preço ou que já está presente no servidor. Além disso, o KNOD opera inteiramente dentro do kernel, sem depender de runtimes em espaço de usuário, o que simplifica a implantação e reduz a latência.


Checklist: como testar o KNOD no seu servidor


✅ Hardware necessário:


  • GPU AMD compatível (RDNA2 ou GCN, como Radeon RX 6600 ou Radeon PRO V620)

  • Placa de rede com suporte a DMA para memória da GPU (Broadcom ou Intel)

  • Servidor com kernel Linux 6.x ou superior

  • Mínimo de 8 GB de RAM


✅ Passos para começar:


  • Aplicar os patches RFC do KNOD no kernel (disponíveis na Linux kernel mailing list)

  • Compilar o kernel com suporte ao amdgpu e ao KNOD habilitados

  • Instalar as ferramentas de compilação BPF (clang, llvm, bpftool)

  • Escrever ou adaptar um programa XDP existente (ex: Katran para balanceamento de carga)

  • Carregar o programa XDP no modo offload

  • Monitorar com bpftool e ethtool para verificar o offload na GPU

  • Medir throughput com pktgen ou iperf3 para validar os ganhos



Conclusão: o futuro do processamento de rede é híbrido


O KNOD representa uma mudança de paradigma: em vez de comprar hardware especializado caro, você usa a GPU que já tem. Com 70 milhões de pacotes por segundo e eficiência energética superior à CPU, o projeto mostra que GPUs podem ser aceleradores de rede de alto desempenho. 

Embora ainda seja experimental e não esteja no kernel estável, o potencial é enorme — especialmente com a expansão planejada para o Intel Arc e GPUs integradas.

Baixe nosso checklist completo de configuração do KNOD para ter todos os passos em mãos. Compartilhe este artigo com colegas que trabalham com infraestrutura de rede e deixe um comentário contando se você testaria o KNOD no seu servidor!


Nenhum comentário:

Postar um comentário