Os engenheiros de software de código aberto da Intel são conhecidos por suas excelentes otimizações de desempenho no kernel Linux.
Ao longo dos anos, a Intel contribuiu com inúmeras otimizações de desempenho para o kernel e componentes relacionados ao Linux, resultando em melhorias significativas não apenas para o hardware da Intel, mas também para a arquitetura x86_64 como um todo. Algumas dessas melhorias são independentes da arquitetura da CPU. Uma das séries mais recentes de patches de otimização de desempenho concentra-se no ajuste automático do conjunto de páginas por CPU (PCP).
Essa nova série de patches tem como objetivo ajustar automaticamente o conjunto de páginas por CPU em cada núcleo, visando otimizar o desempenho na alocação de páginas.
O resultado final demonstrou uma redução de 5% no tempo de compilação do kernel Linux em um sistema de teste Intel Sapphire Rapids, com menor contenção de bloqueio.
Além disso, o desempenho do Netperf melhorou em até 7%, e uma pontuação no caso de teste lmbench alcançou 196% da pontuação base.
As necessidades de desempenho na alocação de páginas podem variar entre diferentes cargas de trabalho. Portanto, o ajuste automático do PCP (Per-CPU Pageset) em cada CPU se torna essencial para otimizar o desempenho da alocação de páginas.
A série de patches consiste nas seguintes etapas:
1- Evitar a drenagem do PCP quando o processo é encerrado.
2- Calcular o tamanho do cache de dados por CPU.
3- Reduzir a contenção de bloqueio ao drenar páginas de alta ordem.
4- Restringir o fator de escala de lote do PCP para evitar latências muito longas.
5- Dimensionar o número de páginas alocadas em lote.
6- Adicionar uma estrutura para ajuste automático de PCP alto.
7- Ajustar automaticamente o PCP alto.
8- Diminuir o PCP alto se o número de páginas livres estiver abaixo de um limite.
9- Evitar a redução desnecessária da altura do PCP.
10- Otimizar a drenagem do PCP para liberação consecutiva de páginas de alta ordem com base no ajuste automático do PCP alto.
Essa série de patches é empolgante, pois demonstra as otimizações contínuas e incansáveis do kernel Linux, em grande parte conduzidas pela Intel.
Até a próxima !!
Nenhum comentário:
Postar um comentário