Sequências reinicializáveis”RSEQ”foi uma das boas adições ao kernel do Linux nos últimos anos e pode permitir operações mais rápidas no espaço do usuário em dados por CPU, fornecendo uma estrutura de dados compartilhada ABI entre cada thread do espaço do usuário e o kernel. O RSEQ está em processo de expansão para fornecer ainda mais benefícios de desempenho.

A integração RSEQ foi (re)integrada no início deste ano no lado do espaço do usuário com o Glibc 2.35 para fazer uso do sistema Restartable Sequences para operações mais rápidas no espaço do usuário em dados por CPU. O desenvolvedor líder do RSEQ, Mathieu Desnoyers, tem trabalhado mais recentemente na extensão do suporte do kernel para expor um ID de nó NUMA e extensões de ID de CPU virtual.

O ID do nó NUMA a ser exposto pelos patches de kernel RSEQ pendentes permitirá a implementação de uma função getcpu() mais rápida dentro da Glibc e de quaisquer outras bibliotecas C. A função getcpu(), é claro, serve para determinar a CPU e o nó NUMA de onde uma determinada thread está sendo executada.

As extensões de ID de CPU virtual que estão sendo trabalhadas como parte desta série de patches são para aumentar ou diminuir melhor as estruturas de dados por CPU do espaço do usuário. Desnoyers explica sobre esse trabalho:”O ID de CPU virtual permite o dimensionamento ideal (para baixo ou para cima) de estruturas de dados por CPU do espaço do usuário. Os IDs de CPU virtuais alocados em um espaço de memória são rastreados pelo agendador, que leva em de threads em execução simultânea, considerando implicitamente o número de threads, a afinidade da CPU, os cpusets aplicados a esses threads e o número de núcleos lógicos no sistema.”

Esses patches RSEQ mais recentes podem ser encontrados na lista de discussão do kernel .

Mathieu Desnoyers no início deste mês na Linux Plumbers Conference (LPC 2022) apresentou este último trabalho RSEQ. Existe este conjunto de slides em PDF de seu apresentação aos interessados. Há também este apresentação de slides para sua segunda apresentação RSEQ focada no uso em contêineres.

Categories: IT Info