Algoritmo da ByteDance previsto para lançamento no final do ano melhora desempenho do NVMe no Linux 7.3 em 14%

2026-07-03 10:32
Favoritos

De acordo com pt.wedoany.com-O engenheiro da ByteDance, Fengnan Chang, projetou um algoritmo para o kernel Linux que simplifica o caminho de processamento de E/S direta, a fim de resolver o gargalo de desempenho em cenários de leitura aleatória de 4KB em SSDs NVMe PCIe Gen5. Este patch foi mesclado no repositório Git do subsistema VFS e está previsto para ser lançado oficialmente com a versão Linux 7.3 no final deste ano.Comparação de desempenho antes e depois da otimização. Fonte.

Ao realizar leituras aleatórias de 4KB em um SSD NVMe PCIe Gen5, os engenheiros descobriram que a causa raiz da limitação de throughput estava na camada do sistema operacional. O kernel Linux consumia muitos recursos de CPU ao processar cada requisição de bloco pequeno, com a sobrecarga do subsistema IOmap sendo particularmente proeminente. O IOmap é responsável por mapear endereços lógicos de arquivos para blocos físicos do disco durante a E/S direta, mas a alocação de memória para estruturas auxiliares e a manutenção de máquinas de estado complexas consumiam uma quantidade significativa de recursos computacionais, tornando-se o principal gargalo que limitava o alto throughput.

O caminho de E/S direta simplificado (simple dio path) projetado por Fengnan Chang reduz a latência ao remover operações intensivas em recursos. Este mecanismo exige que as requisições atendam simultaneamente a quatro condições: o tipo de operação é apenas leitura; a quantidade de dados lidos não excede o tamanho do bloco do sistema de arquivos (geralmente 4KB); o arquivo de destino não está criptografado; e o sistema de arquivos é EXT4 ou XFS. Requisições que atendem a essas condições contornam as fases de máquina de estado e alocação dinâmica de memória do subsistema IOmap, sendo enviadas diretamente para a camada inferior da pilha de E/S do kernel Linux pelo caminho mais curto.

Testes realizados em conjunto com o subsistema io_uring mostraram que, ao executar leituras aleatórias de 4KB em EXT4 e XFS, o desempenho aumentou de 1,92 milhão de IOPS para 2,19 milhões de IOPS, uma melhoria de aproximadamente 14%. Atualmente, este patch, chamado de "IOmap Simple DIO", foi revisado e mesclado no branch vfs-7.3.iomap do repositório Git do subsistema VFS. O código será submetido ao branch principal de Linus Torvalds e incluído na janela de mesclagem do Linux 7.3.

 

Este boletim é uma compilação e reprodução de informações de parceiros estratégicos e da internet global, destinado apenas para troca de informações entre leitores. Em caso de infração ou outros problemas, por favor, informe-nos imediatamente, e este site fará as devidas modificações ou exclusões. A reprodução deste artigo é estritamente proibida sem autorização formal. E-mail: news@wedoany.com