Um dos vários As melhorias que estão sendo preparadas para o sistema de arquivos XFS com o próximo ciclo do Linux 5.20 estão focadas em melhorar a escalabilidade CIL para sistemas com muitos núcleos de CPU.
Darrick Wong do XFS tem trabalhado para melhorar a escalabilidade CIL e fundiu este trabalho em xfs-5.20-merge antes da janela de mesclagem do Linux 5.20 abrir no final do mês.
Aqui está o resumo desta melhoria de escalabilidade específica:
Esta série visa melhorar a escalabilidade de commits de transação XFS em máquinas com grande número de CPU. Minha máquina 32p atinge os limites de contenção em xlog_cil_commit() em cerca de 700.000 transações confirma uma seção. Ele atinge isso em cargas de trabalho de 16 threads e cargas de trabalho de 32 threads não são mais rápidas e apenas queimam a CPU nos spinlocks CIL.
Este conjunto de patches elimina spinlocks e pontos de serialização globais no caminho xlog_cil_commit(). Ele faz isso movendo para uma combinação de contadores por CPU, listas por CPU não ordenadas e listas por CPU pós-ordenadas.
Isso resulta em taxas de confirmação de transação superiores a 1,4 milhão de confirmações/s ao desvincular determinadas cargas de trabalho e, embora a contenção de bloqueio de log tenha desaparecido, ainda há uma contenção de bloqueio significativa no VFS (cache dentry, cache de inode e segurança camadas) em >600.000 transações/s que ainda limitam a escalabilidade.
…
No geral, isso empurra o gargalo de confirmação de transação para as atualizações de cabeça de concessão de reserva sem bloqueio. Essas atualizações atômicas não começam a ser um fato limitante até que > 1,5 milhão de transações/s estejam sendo executadas, momento em que as funções de contabilidade começam a aparecer nos perfis como os maiores usuários de CPU. Ainda assim, esta série dobra a taxa de transferência de transações sem aumentar o uso da CPU antes de chegarmos ao ponto de interrupção da contenção de cache…
Esta melhoria de escalabilidade é uma boa notícia para aqueles em grandes Threadripper/Core i9/Xeon/Plataformas EPYC que executam o sistema de arquivos XFS. O xfs-5.20-merge também está coletando várias outras adições e melhorias de recursos para introdução na próxima janela de mesclagem.