FERRAMENTAS LINUX: O IO_uring obtém a redução de sobrecarga de rede em 3 a 4%

sexta-feira, 18 de março de 2022

O IO_uring obtém a redução de sobrecarga de rede em 3 a 4%

 Confira !!

Depois de revolucionar a E/S de armazenamento Linux, a interface IO_uring do kernel continua a ser aprimorada para lidar com as necessidades de rede Linux também.

Nos últimos meses, houve trabalho no envio do  IO _uring network zero copy e outros esforços para tornar o IO_uring atraente para casos de uso de rede no Linux. O mantenedor do subsistema de bloco Linux e desenvolvedor líder do IO_uring Jens Axboe esteve envolvido neste esforço de rede e na quarta-feira anunciou mais otimizações. A nova série de patches do Axboe atinge uma redução de 3 a 4% para cargas de trabalho relacionadas à rede com IO_uring. Esse teste de desempenho é baseado em um modelo de gerenciamento de rede do Thrift.

As cargas de trabalho em rede são intensivas no lado do armamento de pesquisa, pois a maioria das operações de recebimento será acionada assíncrona por pesquisa. Para esse tipo de acionamento de enquete, alocamos req->apoll dinamicamente e isso serve como nossa entrada de enquete. Isso significa que poll->events e poll->head não fazem parte das cachelines do io_kiocb e, portanto, geralmente não são quentes no caminho de conclusão. Ao criar perfis de cargas de trabalho, io_poll_check_events() aparece mais quente do que deveria, exatamente porque temos que puxar essa linha de cache separadamente.

Estado de cache no próprio io_kiocb, o que evita puxar dados desnecessários no caminho poll task_work. Isso reduz a sobrecarga em cerca de 3-4%.

Dado todo o interesse e esforços promissores em torno do IO_uring, será divertido ver onde ele terminará até o final do ano.






Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário