Dynamic LLC Buffer Allocation for Networking with Dual Receive Ring
Placas de rede (NICs) de até 800 Gbps modernas escrevem pacotes recebidos diretamente na Last Level Cache (LLC) do processador por meio de DMA assistido por cache (Intel DDIO e equivalentes). Esse mecanismo cria um dilema na configuração do anel de recepção, conhecido como Leaky DMA: anéis grandes absorvem rajadas de tráfego, mas poluem a LLC com pacotes ainda não processados; anéis pequenos preservam a cache, mas descartam pacotes sob picos. Este trabalho propõe e avalia o DualRing, uma arquitetura de dois anéis de recepção assimétricos, um pool pequeno residente em cache para o caminho rápido e um pool grande em DRAM para absorver rajadas, implementada inteiramente sobre as APIs padrão do DPDK, sem qualquer modificação em driver, kernel ou firmware. A avaliação experimental, conduzida em hardware AMD EPYC 7452 com NICs ConnectX-5 de 100 GbE e gerador de tráfego T-Rex, mostra que o DualRing reduz a latência de cauda (p99) em 17% sob tráfego em rajada e praticamente elimina os outliers de latência de ordem de milissegundos observados no baseline (l2fwd) sob tráfego contínuo, sem degradar a vazão sustentada. Os resultados sustentam a viabilidade da abordagem e a hipótese de que o isolamento de um working set pequeno e residente em cache reduz a pressão sobre a LLC mesmo em processadores com cache de última geração de grande capacidade.
2026/1 - POC2
Orientador: Marcos Augusto Menezes Vieira
Palavras-chave: Redes de Alto Desempenho, DPDK, Gerenciamento de Cache, DDIO, Anéis de Recepção
PDF Disponível