Comportamento do governador de frequência powersave quando a cota cpu é definida

0

Estou tentando entender o efeito da configuração de cpu.cpu_quota_us em cpu cgroup subsytem no desempenho do aplicativo. Essencialmente, reduzindo a cota de CPU, mas aumentando o número de CPUs de tal forma que CPUs "eficazes" ainda são as mesmas, impactariam aplicação? Por exemplo, é 4 CPU 100% quota configuração mesmo como 8 CPU 50% quota configuração?

Eu escrevi um programa simples com uso intensivo de CPU link e correu em seguida configuração do cgroup:

1) No cgroup que tem 4 cpus e sem limite de cota

2) No cgroup que tem 8 cpus e 50% cota

Ao executar este programa para 32 encadeamentos, percebi a seguinte diferença o rendimento relatado pelo programa para as duas configurações:

4CPU@100    8CPU@50 
176236      87252.5

O desempenho de 8CPU @ 50 é menos da metade do que recebo com 4CPU @ 100.

Ao depurar ainda mais, percebi que meu sistema está configurado para usar "powersave" Governador de frequência da CPU. Neste modo, a freqüência da CPU dos núcleos quando programa está sendo executado em 4CPU @ 100 tiro ao máximo, mas para 8CPU @ 50 CPU a frequência dos núcleos foi muito menor.

Quando eu mudei o governador freq da CPU para "performance" (que é o único outro governador de freq disponível), desempenho com aumentos de 8CPU @ 50 consideravelmente à medida que os núcleos começaram a funcionar na frequência máxima:

4CPU@100    8CPU@50 
175804      163831 

Os detalhes do meu sistema são:

Ubuntu 16.04.2 LTS

Kernel 4.4.0-103-generic

Eu tenho as seguintes perguntas sobre os governadores da CPUFreq:

1) Este link link diz, "O governador CPUfreq" powersave "define a CPU estaticamente para o menor frequência dentro das fronteiras de scaling_min_freq e scaling_max_freq. " No entanto, notei que a frequência muda à medida que a carga aumenta. Como funciona o "powersave"?

2) Wy é a frequência da CPU que não aumenta para o máximo quando O governador de frequência da CPU "powersave" está em uso e a quota da CPU está definida. A definição da cota da CPU está causando o "powersave" se comportando mal?

    
por Ashutosh 19.02.2018 / 12:55

1 resposta

0

O documento referenciado em sua pergunta 1 é para o driver de ajuste de frequência da CPU acpi-cpufreq. Eu acho, mas não tenho certeza, você está usando o driver de escala de freqüência da CPU intel_pstate. A maneira de saber com certeza é perguntar ao seu sistema:

$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate

O governador powersave no driver intel_pstate se comporta de maneira semelhante ao governador ondemand no driver acpi-cpufreq. Os algoritmos de controle estão mudando, mas se você tiver um kernel recente o suficiente, deve ser baseado em carga.

A frequência da CPU não sobe muito, ou nem um pouco, quando você limita o uso a 50% porque o algoritmo baseado em carga não é apresentado com carga suficiente para justificar o aumento da frequência da CPU.

    
por Doug Smythies 19.02.2018 / 16:54