O uso de gravações assíncronas em buffer baseadas em io_uring reduziu a latência no XFS em até 80 vezes

Uma série de patches foi publicada para inclusão no kernel Linux 5.20, adicionando suporte para gravações assíncronas em buffer no sistema de arquivos XFS usando o mecanismo io_uring. Testes preliminares de desempenho realizados usando o kit de ferramentas fio (1 thread, tamanho de bloco de 4kB, 600 segundos, gravações sequenciais) mostram um aumento nas operações de entrada/saída por segundo (IOPS) de 77k para 209k, taxas de transferência de dados de 314MB/s para 854MB/ se uma queda na latência de 9600ns para 120ns (80 vezes). gravações sequenciais: sem patch com patch libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s clat: 9600ns 120ns 540ns 3000ns

Para os interessados ​​​​no estado do io_uring em meados de 2022, é recomendável que você se familiarize com os slides e a gravação de vídeo do relatório do Kernel Recipes 2022. As alterações já incluídas no kernel e as planejadas são brevemente mencionadas, por por exemplo, você pode observar o suporte para:

  • aceitação multi-shot().
  • recv múltiplo (multi-shot) () - de acordo com os testes, um aumento de 6-8% - de 1150000 para 1200000 RPS.
  • atualização e correções na biblioteca liburing, adicionando documentação e testes.

No contexto da portabilidade do io_uring, os slides mencionam semelhanças significativas com os “I/O Rings” utilizados no subsistema Direct Storage do Windows 11, bem como a possibilidade de operação multiplataforma, mas das demais plataformas do slide do autor, apenas o FreeBSD é mencionado com um ponto de interrogação.



Fonte: opennet.ru

Adicionar um comentário