Discussão sobre o aumento da frequência do timer no núcleo Linux para 1000Hz por padrão

Um engenheiro da Google sugeriu aumentar a frequência de geração de interrupções do timer no núcleo do Linux para 1000Hz por padrão, o que resultará em um aumento da frequência de troca de tarefas e na redução da duração do quanta de tempo no escalonador de tarefas. Atualmente, a frequência padrão é de 250Hz, como um compromisso entre desempenho, latências e consumo de energia.

Quando se utilizam displays com taxa de atualização de 120Hz, comuns em PCs e dispositivos móveis modernos, uma frequência de timer de 250Hz resulta em uma ineficácia de quantização de tempo de aproximadamente metade do tempo de um quadro, o que reduz a eficiência na distribuição de recursos e não permite alcançar a melhor relação entre desempenho e consumo de energia. O consumo de energia dos sistemas com baixa frequência de timer pode ser maior, uma vez que o mecanismo DVFS (Dynamic Voltage and Frequency Scaling) utiliza uma estratégia mais agressiva para escolher a frequência, a fim de não atrasar a execução das tarefas.

Existem situações em que uma tarefa já completou as operações desejadas que exigiam cálculos ativos, mas o processador continua operando em uma frequência elevada devido à finitude do quanta de tempo que ainda não se esgotou. Aumentar a frequência de troca de tarefas pode levar a uma redução no consumo de energia devido à maior eficiência da gestão dinâmica de frequência (DVFS), à distribuição mais precisa dos intervalos pelo escalonador de tarefas, à atualização mais frequente das estatísticas de carga do CPU e à diminuição do tempo que as tarefas ficam em estado de espera.

Outro engenheiro da Google sugeriu manter a frequência do timer como está (250Hz), pois aumentar a frequência de geração de interrupções do timer pode resultar em aumento do consumo de energia em dispositivos de baixa potência, como placas para Internet das Coisas. De acordo com sua avaliação, ao definir a frequência em 1000Hz, mesmo em dispositivos Android, foram observados aumentos no consumo de energia do processador em até 7% em algumas situações. Com o aumento da frequência do timer, também é notável um despertar mais frequente do CPU, pois a 250Hz, timers configurados para intervalos t + 1 ms, t + 2 ms, t + 3 ms e t + 4 ms serão agrupados e resultarão em um único despertar, enquanto a 1000Hz haverá quatro despertares separados.

O recurso Phoronix realizou uma comparação de desempenho de PCs com base no CPU AMD Ryzen 9 9950X. A configuração com 1000Hz se mostrou mais rápida nos testes de Llama.cpp, nginx, SuperTuxKart, Selenium e na medição do tempo de compilação do núcleo. Nos testes de Darktable, PostgreSQL, Unvanquished, Xonotic, Blender, SVT-AV1, RawTherapee, o desempenho foi superior quando configurado para 250Hz. Com 1000Hz, o consumo médio de energia foi de 144,2 W, o mínimo — 0,18 W, o máximo — 202,13 W, enquanto com 250Hz: média de 144,37 W, mínimo 0,07 W, máximo — 202 W.

Discussão sobre o aumento da frequência do timer no núcleo Linux para 1000Hz por padrão


Fonte: opennet.ru
Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster