FERRAMENTAS LINUX: O IO_uring obtém uma enorme correção de desempenho - até 755x de aprimoramento

segunda-feira, 22 de julho de 2019

O IO_uring obtém uma enorme correção de desempenho - até 755x de aprimoramento



Confira !!



O IO_uring foi projetado para oferecer operações de E / S rápidas e eficientes graças a uma interface redesenhada introduzida no Linux 5.1 com várias melhorias de eficiência em comparação com o código de E / S assíncrona existente no kernel. Mas acontece que houve um grande gargalo dentro do atual código de IO-ativo até agora.

IO_uring foi uma grande característica do Linux 5.1, embora ainda precise ser mais amplamente adotado. Ao trabalhar com o uso de IO_uring, um desenvolvedor descobriu que o tempo de envio de I / O cai terrivelmente quando se registra um grande buffer fixo e a I / O está sendo feita nas últimas páginas desse buffer.

O especialista em E / S de Linux e também o desenvolvedor IO_uring, Jens Axboe, descobriram que a causa é a iteração de bvecs para encontrar o buffer de que precisam, mas na realidade pode ser muito mais eficiente com base nas informações existentes para encontrar esse deslocamento no buffer.

Com esta correção, a leitura no início do buffer é cerca de 10% mais rápida, mas se ler no final é um benefício muito maior para essa correção ... Originalmente, levaria 1039879 ns, enquanto agora caiu para apenas 1377 ns. Ou, sim, "sobre uma melhoria de 755x para a página final".

Esta é a correção postada no sábado para o IO_uring e esperamos que em breve chegue à árvore de kernel da linha principal.

Fonte

Até a próxima  !!

Nenhum comentário:

Postar um comentário