FERRAMENTAS LINUX: Outra otimização de kernel está em andamento que pode ajudar no desempenho do IO_uring

sábado, 3 de outubro de 2020

Outra otimização de kernel está em andamento que pode ajudar no desempenho do IO_uring

 


Confira !!

É sempre bom começar um novo mês vendo novos trabalhos em otimizações de kernel de baixo nível.

Jens Axboe, engenheiro do Facebook e mantenedor do subsistema de blocos do Linux e desenvolvedor líder do IO_uring , enviou uma nova otimização . A otimização é desacoplar o tratamento do TASK_WORK TWA_SIGNAL dos sinais .

Axboe explica a mudança, "Os usuários do TWA_SIGNAL precisam ter as chamadas do sistema interrompidas e passar por uma transição kernel / usuário para garantir que sejam executados. Isso atualmente funciona bem do ponto de vista funcional, mas é pesado em um aplicativo multithread em que sighand é compartilhado entre os threads e o processo principal. Adicionar TWA_SIGNAL task_work em tais configurações precisa pegar o sighand-> lock, que cria um ponto de acesso para task_work não relacionado de outra forma. Isso adiciona TIF_TASKWORK para x86, que, se definido, retornará verdadeiro na verificação de sinais pendentes. Isso, por sua vez, faz com que as tarefas reiniciem a chamada do sistema, que executará o task_work adicionado. Se TIF_TASKWORK estiver disponível, usaremos isso para notificação quando TWA_SIGNAL for especificado. Se não estiver disponível, o caminho TIF_SIGPENDING existente será usado. "

Para os usuários finais, o que importa é o possível benefício de desempenho. Quando Axboe estava testando com uma implementação IO_uring simples, com este patch ele passou de 1,38 milhão de solicitações por segundo para 1,67 milhão de solicitações por segundo. Não apenas o desempenho aumentou cerca de 20%, mas o uso da CPU também foi menor com o kernel corrigido.

Isso é em parte uma correção de regressão de desempenho depois que foi detectado do Kerel Linux 5.7.15 para o Kernel 5.7.16, resultando em uma queda de desempenho e maior utilização após uma alteração no TWA_SIGNAL.

Existe o patch para os interessados. Esta já é a segunda rodada do dia, pois alguns problemas foram levantados a partir do primeiro patch. Também parece que há alguns detalhes técnicos a serem resolvidos com a segunda iteração, mas espero que isso seja corrigido em pouco tempo.


Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário