Em algum momento muitos de nós Ousamos brincar com os governadores Em nosso sistema, isso é feito para obter algumas melhorias de desempenho ou para alguma finalidade específica, como carga de trabalho, aplicativos, jogos, etc.
Este tipo de modificações, Eles geralmente não são incluídos nas distribuições gerais E é compreensível o porquê, já que isso se traduz num aumento ou diminuição (dependendo do caso) dos recursos da nossa equipe.
Menciono isto porque recentemente um O engenheiro do Google propôs modificar la configurações padrão do Temporizador do kernel Linux, aumentando sua taxa de interrupção de 250 Hz para 1000 Hz.
Esta mudança implicaria uma maior frequência na troca de tarefas e uma redução no quantum de tempo no agendador de tarefas, o quee a eficiência poderia ser melhorada em certos cenários. Atualmente, 250 Hz é considerado um equilíbrio entre desempenho, latência e consumo de energia.
Motivação para a proposta
um dos principais argumentos a favor dessa mudança é a Otimização de desempenho em dispositivos com telas de 120 Hz, cada vez mais comum em PCs e dispositivos móveis. Na configuração atual de 250 Hz, a imprecisão da quantização de tempo equivale a cerca de metade do tempo do quadro, o que afeta a eficiência da alocação de recursos.
Além disso, foi observado que o mecanismo dinâmico de escala de tensão e frequência (DVFS) tende a adotar estratégias agressivas de seleção de frequência para evitar lentidão. Isso pode resultar em consumo desnecessário de energia quando uma tarefa já terminou o processamento, mas o processador continua a funcionar em uma frequência mais alta porque seu quantum de tempo ainda não expirou.
O aumento da frequência de troca de tarefas permitiria:
- Eficiência aprimorada no gerenciamento de frequência dinâmica (DVFS).
- Alocação mais precisa dos horários do agendador de tarefas.
- Aumento da frequência de atualização das estatísticas de carga da CPU.
- Tempo de espera reduzido para tarefas pendentes.
- Argumentos contra a emenda
Por sua parte, o Outro engenheiro do Google expressou sua discordância com a mudança, argumentando que Manter a frequência do temporizador em 250 Hz é mais benéfico para dispositivos de baixa potência, como placas de IoT e dispositivos móveis.
Segundo sua avaliação, Aumentar a frequência para 1000 Hz pode causar um aumento no consumo de energia. Em dispositivos Android, por exemplo, foi observado um aumento de até 7% no consumo do processador em determinadas situações.
Além disso, Uma frequência de temporizador mais alta implicaria uma reativação mais frequente da CPU. A 250 Hz, os temporizadores programados em t+1 ms, t+2 ms, t+3 ms e t+4 ms são agrupados em um único despertar, enquanto a 1000 Hz haveria quatro despertares individuais, o que poderia aumentar o consumo de energia.
Resultados do teste de desempenho
Sobre o caso, o portal A Phoronix conduziu uma série de testes em um PC com CPU AMD Ryzen 9 9950X para avaliar o impacto da mudança de frequência. Os resultados foram mistos:
- MMelhor desempenho com 1000 Hz em:
Lhama.cpp
nginx
Super Tux Kart
Selênio
Tempos de compilação do kernel - Melhor desempenho a 250 Hz em:
Mesa escura
PostgreSQL
Invencível
Xonótico
liqüidificador
SVT-AV1
RawTherapee
Quanto a consumo de energia, os resultados foram os seguintes:
- Configuração em 1000 Hz:
Consumo médio: 144,2 W
Consumo mínimo: 0,18 W
Consumo máximo: 202,13 W - Configuração em 250 Hz:
Consumo médio: 144,37 W
Consumo mínimo: 0,07 W
Consumo máximo: 202 W
Por fim, vale mencionar que aumentar a taxa de interrupção do temporizador do kernel para 1000 Hz oferece vantagens em certos casos de uso, especialmente em aplicações que exigem troca de tarefas mais frequente e em dispositivos com telas de alta taxa de atualização. No entanto, também apresenta desvantagens em termos de consumo de energia, principalmente em dispositivos de baixo consumo e ambientes onde a eficiência energética é uma prioridade.
Para o momento, A proposta ainda está em debate dentro da comunidade e sua adoção dependerá de uma análise mais profunda dos impactos em diferentes cenários de uso.