Seguindo as melhorias do Windows ReFS, o Linux obtém aumentos de desempenho F2FS, Btrfs e EXT4

Seguindo as melhorias do Windows ReFS, o Linux obtém aumentos de desempenho F2FS, Btrfs e EXT4

A Microsoft vem expandindo gradualmente o suporte para ReFS (Resilient File System) em compilações recentes do Windows 11 Insider. Observado pela primeira vez em janeiro, um recurso oculto dentro do Dev build 25281 permitiria aos usuários instalar o Windows 11 em um volume ReFS . Desde então, a empresa adicionou mais recursos baseados em ReFS, como volumes VHD “Dev Drive” . A Microsoft também atualizou a versão subjacente do ReFS para 3.10 em uma das compilações recentes do canal Canary.

Enquanto o uso do ReFS no Windows cresce, o Linux, por outro lado, também está fazendo algum progresso constante em alguns de seus sistemas de arquivos. De alguns dos recentes patches do kernel do Linux, parece que alguns dos sistemas de arquivos mais populares do Linux, Flash-Friendly File System (F2FS), B-Tree Filesystem (Btrfs) e quarto sistema de arquivos estendido (EXT4), estão recebendo aumentos significativos de desempenho .

Por exemplo, o Btrfs está obtendo um aumento de desempenho de 10% em SSDs SATA. Talvez a melhoria nas unidades NVMe seja ainda maior:

Sempre lido em tamanho de bloco de 64 KiB O tamanho real do bloco de leitura começa em 64 KiB e termina em 512 K. Isso já resulta em um melhor desempenho mesmo para o pior caso:

  • Com patchset: 404,81MiB/s
  • Sem patchset: 369,30 MiB/s

Cerca de 10% de melhoria de desempenho em um SSD SATA.

Passando para EXT4, há uma série de otimizações em vigor:

Há uma série de limpezas importantes no ext4 neste ciclo:

  • O caminho de gravação data=journal foi significativamente limpo e simplificado e reduz um grande número de casos especiais de data=journal por Jan Kara.
  • Ojaswin Muhoo substituiu a lista vinculada usada para rastrear extensões que foram usadas para pré-alocação de inode por uma árvore rubro-negra no alocador multibloco. Isso melhora o desempenho de cargas de trabalho que fazem um grande número de gravações de alocação aleatória.
  • Obrigado a Kemeng Shi por muitas limpezas e correções de bugs no alocador de vários blocos.
  • Matthew Wilcox converteu os caminhos de código para leitura e gravação de páginas ext4 para usar fólios. * Jason Yan continuou a fatorar ext4_fill_super() em funções menores para melhorar a facilidade de manutenção e compreensão.
  • Josh Triplett criou um cabeçalho uapi para APIs de espaço de usuário ext4.

Finalmente, aqui estão as melhorias no F2FS:

Aprimoramento:

  • suporta tamanho de zona sem potência de dois para dispositivo zoneado
  • remova o compartilhamento da estrutura rb_entry no cache de extensão
  • refatorar f2fs_gc para chamar o ponto de verificação em condição urgente – suporte iopoll

No geral, parece que a versão 6.4 do kernel do Linux será bastante decente em termos de desempenho.

Fonte: LKML (1) , (2) , (3) via Phoronix

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *