FERRAMENTAS LINUX: Linux 7.3: A Revolução no Armazenamento com RWF_DONTCACHE

sexta-feira, 28 de agosto de 2026

Linux 7.3: A Revolução no Armazenamento com RWF_DONTCACHE

 


O Linux 7.3 chega com RWF_DONTCACHE para os block devices: Com ganhos de até +105% em escrita e +56% em leitura. Entenda como essa tecnologia revoluciona o I/O no kernel. 


A busca por desempenho em I/O no universo Linux nunca foi tão intensa. Com a crescente demanda de cargas de trabalho em HPC (High-Performance Computing) e o avanço implacável da inteligência artificial, o subsistema de block do kernel Linux recebeu uma atualização que promete mudar o jogo: o suporte a RWF_DONTCACHE para os dispositivos de bloco no Linux 7.3.


O que é RWF_DONTCACHE e por que isso importa ?


Entendendo o problema: o custo do cache


Tradicionalmente, quando você realiza operações de leitura e escrita em um dispositivo de bloco no Linux, o kernel utiliza o page cache — uma camada de memória RAM que armazena dados recentemente acessados para acelerar operações futuras. 

Embora isso seja benéfico para muitos cenários, em cargas de trabalho intensivas, como bancos de dados rodando diretamente em dispositivos raw ou aplicações de alta performance, esse cache pode se tornar um gargalo.

O page cache consome memória RAM valiosa, pode introduzir latência adicional e, em alguns casos, atrapalha mais do que ajuda. Era exatamente esse problema que o RWF_DONTCACHE veio resolver.


A solução: I/O sem cache


O RWF_DONTCACHE é uma flag que permite operações de I/O bufferizado sem cache. Na prática, quando você utiliza essa flag, o kernel executa a leitura ou escrita, mas imediatamente após a operação ser concluída, as páginas relacionadas são removidas do page cache.

O resultado? Menos pressão sobre a memória RAM, redução da latência em cenários de alta concorrência e, principalmente, ganhos expressivos de desempenho para cargas de trabalho que interagem diretamente com dispositivos de bloco.


Produto Recomendado


Este livro oferece um guia abrangente e bem estruturado sobre os aspectos essenciais da construção de sistemas de IA generativa.  Ele é uma leitura obrigatória para qualquer profissional que queira escalar a IA para toda a empresa.”

 Engenharia de IA: Construindo aplicações com modelos de fundação

 -> https://link.amazon/B0eg7K8bY

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


Benchmarks: números que impressionam


Os testes realizados por Tal Zussman, desenvolvedor responsável por habilitar o suporte ao RWF_DONTCACHE para os dispositivos de bloco, revelam resultados surpreendentes:


Os testes foram conduzidos em uma máquina virtual com um único dispositivo de bloco. O ganho de mais de 100% em escrita é particularmente notável e demonstra o potencial transformador dessa tecnologia para aplicações que exigem alto throughput.


Para quem o RWF_DONTCACHE é útil ?

Bancos de dados em dispositivos raw


Empresas que rodam bancos de dados diretamente em dispositivos de bloco (sem sistemas de arquivos intermediários) serão as maiores beneficiadas. 

O RWF_DONTCACHE permite que essas aplicações tenham um controle mais fino sobre o gerenciamento de cache, evitando que o kernel "polua" a memória com dados que não serão reutilizados.


Aplicações de HPC e IA


Cargas de trabalho de alto desempenho, como simulações científicas e treinamento de modelos de IA, frequentemente lidam com conjuntos de dados massivos. O RWF_DONTCACHE ajuda a manter a memória RAM livre para os dados que realmente importam, melhorando a eficiência geral do sistema.


Ambientes virtualizados


Provedores de nuvem e ambientes de virtualização podem se beneficiar significativamente, já que o RWF_DONTCACHE reduz a contenção de recursos de cache entre diferentes VMs, melhorando a previsibilidade de desempenho.


IO_uring: mais inovações no horizonte


Além do RWF_DONTCACHE, o Linux 7.3 trouxe melhorias significativas para o IO_uring, a revolucionária interface de I/O assíncrono do kernel.


Zero-Copy Receive (ZCRX) aprimorado


O destaque fica por conta do aprimoramento do Zero-Copy Receive (ZCRX). A novidade é o provisionamento dinâmico de áreas, que permite que regiões de memória sejam alocadas e provisionadas sob demanda, em vez de exigir alocação estática prévia. 

Isso torna o IO_uring ainda mais eficiente para aplicações de rede de alta performance.

Correções e otimizações

Diversas correções de bugs e outras otimizações foram incorporadas, consolidando o IO_uring como a escolha preferencial para aplicações que exigem I/O de baixa latência e alto throughput.


Outras melhorias no subsistema de block do Linux 7.3



NVMe: paralelismo e suporte a Clang


O driver NVMe host recebeu suporte para análise de contexto do Clang, permitindo a paralelização da alocação de filas I/O RDMA e sua inicialização. Isso significa que sistemas com múltiplos dispositivos NVMe podem ter um desempenho ainda melhor em cenários de alta demanda.

Correções para o Apple NVMe


Problemas específicos relacionados a dispositivos NVMe em hardware Apple foram corrigidos, melhorando a compatibilidade e estabilidade.


Melhorias no MD RAID


O subsystema MD RAID (Multiple Device) recebeu diversas melhorias e aprimoramentos, aumentando a confiabilidade e o desempenho de arrays RAID em software.


FAQ - Perguntas Frequentes


1. O RWF_DONTCACHE é seguro para todos os tipos de aplicação ?

R: Não necessariamente. O RWF_DONTCACHE é mais adequado para aplicações que realizam I/O em grandes conjuntos de dados e não se beneficiam do reuso de cache, como bancos de dados rodando em dispositivos raw. Para aplicações que acessam repetidamente os mesmos dados (como servidores web), o uso do page cache tradicional ainda é recomendado.


2. Preciso recompilar o kernel para usar o RWF_DONTCACHE ?

R: Não. O suporte ao RWF_DONTCACHE para dispositivos de bloco já está presente no kernel Linux 7.3. Você só precisa garantir que sua aplicação utilize a flag RWF_DONTCACHE nas chamadas de sistema apropriadas (como preadv2 e pwritev2).


3. O RWF_DONTCACHE funciona em qualquer dispositivo de bloco?

R: Sim, o suporte foi implementado para dispositivos de bloco em geral, incluindo SSDs NVMe, SATA, e até mesmo dispositivos virtuais em ambientes de virtualização. No entanto, os ganhos de desempenho serão mais perceptíveis em dispositivos de alta velocidade.


📋 Checklist para Migrar para o Linux 7.3


Copie e cole esse Checklist

Verifique a compatibilidade do seu hardware com o kernel 7.3

Faça um backup completo dos seus dados e configurações

Atualize seu sistema para o kernel Linux 7.3 (ou aguarde a disponibilidade em sua distribuição)

Identifique aplicações que podem se beneficiar do RWF_DONTCACHE (bancos de dados, HPC, etc.)

Atualize o código de suas aplicações para utilizar a flag RWF_DONTCACHE onde apropriado

Realize testes de desempenho para validar os ganhos obtidos

Monitore o uso de memória para garantir que o RWF_DONTCACHE está funcionando como esperado






Conclusão


O Linux 7.3 representa um marco importante na evolução do subsistema de block do kernel. 

O suporte ao RWF_DONTCACHE para dispositivos de bloco, combinado com as melhorias no IO_uring e no driver NVMe, oferece um ganho significativo de desempenho para aplicações que exigem o máximo de suas infraestruturas de armazenamento.

Se você trabalha com bancos de dados, HPC, IA ou qualquer carga de trabalho com I/O intensivo, o Linux 7.3 é uma atualização que você não pode ignorar.

Nenhum comentário:

Postar um comentário