FERRAMENTAS LINUX: AMD Zen 6 IBS Memory Profiler: O Que É e Por Que Ele Muda o Jogo da Memória em Servidores Linux

quinta-feira, 8 de outubro de 2026

AMD Zen 6 IBS Memory Profiler: O Que É e Por Que Ele Muda o Jogo da Memória em Servidores Linux

 


Descubra como o IBS Memory Profiler do AMD Zen 6 revoluciona a detecção de hot pages no Linux com o subsistema pghot, otimizando servidores EPYC com memória CXL e DRAM.


O Que É o IBS Memory Profiler do AMD Zen 6?


O AMD Zen 6 introduziu uma funcionalidade que passou relativamente despercebida até agora: o IBS Memory Profiler (Instruction-Based Sampling Memory Profiler). Trata-se de uma segunda instância de IBS, independente da instância primária, projetada exclusivamente para profiling de acesso à memória.

Diferente do IBS tradicional usado pelo perf, essa nova instância é leve e dedicada a rastrear acessos à memória em nível de hardware. 

Cada amostra reporta tanto o endereço linear quanto o endereço físico do dado acessado, permitindo que o kernel obtenha o PFN (Page Frame Number) diretamente — sem necessidade de varredura de tabelas de páginas, hint faults ou qualquer tradução de endereço por software.

Essa característica é revolucionária para sistemas com memória em camadas (tiered memory), onde a DRAM rápida e memória CXL mais lenta coexistem. O profiler permite que o kernel saiba exatamente quais páginas estão sendo acessadas com mais frequência na camada lenta, para então promovê-las para a camada rápida.


Produto Recomendado


Para quem ama o Linux de verdade.


A Caneca I Love Linux é o companheiro ideal para devs, sysadmins e entusiastas do open source. Cerâmica de alta qualidade, estampa nítida e aquele design que diz tudo sem precisar abrir o terminal.

✅ Perfeita para o café, o chimarrão ou o energético da madrugada.

🎁 Ótima ideia de presente para o time de TI.

🛒 Compre agora: Caneca I Love Linux 330 ml -> https://link.amazon/B075XgY2H

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


Como Funciona a Integração com o Linux pghot?


O subsistema pghot (page hotness tracking and promotion) é uma infraestrutura proposta por Bharata B. Rao, engenheiro da AMD, para rastreamento e promoção de páginas quentes. Seus objetivos incluem:

  • Unificar a detecção de hot pages de múltiplas fontes (hint faults, varreduras de tabela de páginas, hardware hints via AMD IBS)

  • Desacoplar a detecção da migração

  • Centralizar a lógica de promoção via thread de kernel kmigrated por nó de camada inferior

  • Mover o rate-limiting de promoção e a lógica de threshold dinâmico do scheduler para o pghot


O IBS Memory Profiler se conecta ao pghot através da API pghot_record_access(), reportando acessos observados pelo hardware. A configuração é habilitada pela opção HWMEM_PROFILER no kernel, e o driver específico da AMD é o AMD_IBS_MEMPROF.


Características Técnicas do Profiler


O hardware do Zen 6 amostra uma operação a cada N ciclos de core ou N operações despachadas, com período programável por software. Isso permite trocar overhead de amostragem por cobertura em tempo de execução.

As amostras incluem uma indicação de fonte de dados que identifica de onde o acesso foi satisfeito (cache, DRAM, memória externa, etc.), permitindo ao software distinguir tráfego de DRAM local de acessos a CXL ou outras camadas inferiores.

O hardware também oferece filtragem para reportar apenas os acessos relevantes para o posicionamento de memória: apenas o L3-miss, threshold de latência de carga e exclusão por bit 63 do endereço da instrução (user vs kernel). As amostras filtradas são descartadas pelo hardware e nunca interrompem o kernel.


Benchmarks no AMD EPYC Venice de 256 Núcleos


Os resultados apresentados no LPC 2026 (Linux Plumbers Conference) em Praga mostram números promissores. 

Em um sistema de 3 nós (DRAM top tier + CXL sem CPU como camada inferior), o Redis com dataset de ~64 GB foi testado com promoção de hot pages via IBS Memory Profiler.


Fonte: LKML — Bharata B. Rao, Setembro 2026


O ponto crucial aqui é o overhead extremamente baixo do IBS Memory Profiler. Mesmo com amostragem a cada 5.008 ciclos (o mínimo do kernel), o impacto na taxa de operações foi praticamente nulo. 

Em contrapartida, o NUMAB2 tradicional realizou mais de 10 milhões de promoções com atualizações de PTE e hint faults, enquanto o IBS registrou apenas ~1,1 milhão de acessos com um overhead mínimo.

Isso demonstra que a abordagem baseada em hardware é significativamente mais eficiente que as técnicas tradicionais baseadas em software.


Estado Atual no Kernel Linux


O trabalho do pghot e do IBS Memory Profiler ainda está em fase de RFC (Request for Comments). A versão mais recente do patchset é a v8, e o driver do IBS Memory Profiler foi separado em um patchset próprio para facilitar a revisão.

A discussão no LKML tem sido intensa. Matthew Wilcox expressou ceticismo sobre a necessidade do pghot, argumentando que pode não ser um caso de uso que os clientes realmente desejam. 

No entanto, Gregory Price, da Meta, confirmou que a empresa está "ativamente interessada neste trabalho e ajudando a impulsionar o design".

David Hildenbrand observou que, mesmo após oito revisões, não há tags de revisão nos patches e a série está "longe de ser mergeable". O debate sobre se o DAMON (já presente no kernel) poderia desempenhar a mesma função também permanece sem resposta definitiva.


Perguntas Frequentes (FAQ)

1. O IBS Memory Profiler do Zen 6 substitui o IBS tradicional?

Não. O IBS Memory Profiler é uma segunda instância independente do IBS, com interrupção própria roteada por um offset LVT estendido dedicado. Isso significa que ele pode ser usado pelo kernel sem interferir com usuários existentes do IBS, como o perf.


2. Preciso de memória CXL para usar o IBS Memory Profiler?

Tecnicamente, o profiler funciona em qualquer sistema Zen 6, mas seu principal caso de uso é em sistemas com memória em camadas (tiered memory). Sem uma camada inferior (como CXL), não há páginas "frias" para promover. O ganho real aparece em servidores EPYC que combinam DRAM rápida com memória CXL mais lenta e barata.


3. Quando o suporte estará disponível no kernel mainline?

Atualmente, os patches estão em fase de RFC (v8) e enfrentam debates significativos na comunidade. Não há previsão definida para merge no mainline. O trabalho continua evoluindo, com suporte da Meta e outros players, mas revisões substanciais ainda são necessárias antes da aceitação.


Checklist: Como Preparar Seu Servidor para o IBS Memory Profiler


Copie e cole este checklist para avaliar sua infraestrutura:


☐ Verificar se o processador é AMD Zen 6 (EPYC Venice ou posterior).

☐ Confirmar suporte a CXL 3.1 na placa-mãe.

☐ Instalar kernel Linux 6.12+ (para patches pghot mais recentes).

☐ Verificar se o kernel foi compilado com CONFIG_HWMEM_PROFILER=y

☐ Verificar se o kernel foi compilado com CONFIG_AMD_IBS_MEMPROF=y

☐ Confirmar que o sistema possui memória em camadas (DRAM + CXL).

☐ Monitorar vmstat: pghot_recorded_accesses e pgpromote_success

☐ Ajustar /proc/sys/vm/pghot_promote_freq_window_ms conforme workload

☐ Testar com benchmarks Redis/NGINX antes e depois da ativação.

☐ Acompanhar o LKML para novas versões dos patches pghot.


Conclusão: O Futuro da Memória em Servidores


O AMD Zen 6 IBS Memory Profiler representa uma mudança de paradigma na forma como o Linux lida com memória em camadas. Ao transferir a detecção de hot pages do software para o hardware, a AMD está endereçando um dos maiores gargalos em servidores modernos: a gestão eficiente de DRAM e CXL.

Embora o caminho até o kernel mainline ainda seja longo — com debates acalorados sobre a necessidade do pghot e a competição com o DAMON —, os resultados preliminares são promissores. 

A combinação de overhead mínimo, precisão de hardware e integração com o pghot coloca o IBS Memory Profiler como uma das funcionalidades mais interessantes do Zen 6 para o ecossistema de servidores.

💬 E você, o que achou do IBS Memory Profiler? Acha que essa abordagem baseada em hardware é o futuro da gestão de memória? Comente abaixo!

📤 Compartilhe este artigo com colegas que trabalham com infraestrutura Linux e servidores AMD EPYC.

📥 Copie o checklist completo em PDF e receba atualizações sobre o pghot diretamente no seu e-mail.

Nenhum comentário:

Postar um comentário