Поведение powersave многократного регулятора, когда квота CPU установлена

Я пытаюсь понять эффект установки CPU cpu_quota_us в CPU cgroup подсистема на производительности приложения. По существу путем сокращения квоты ЦП, но увеличения числа центральных процессоров, таким образом, что "эффективные" центральные процессоры являются все еще тем же, оно повлияло бы на приложение? Например, 4 конфигурации квоты 100% ЦП - то же как 8 конфигураций квоты 50% ЦП?

Я записал простую интенсивную ЦП программу в https://github.com/ashu-mehra/cpu-quota-test и выполнил его в соответствии со следующей cgroup конфигурацией:

1) В cgroup, который имеет 4 CPU и никакой предел на квоту

2) В cgroup, который имеет 8 CPU и 50%-ю квоту

При запущении этой программы для 32 потоков я заметил следующее различие в пропускной способности, о которой сообщает программа для этих двух конфигураций:

4CPU@100    8CPU@50 
176236      87252.5

Производительность 8CPU@50 является меньше чем половиной того, что я получаю с 4CPU@100.

При отладке далее, я заметил, что моя система настроена для использования "powersave" регулятора частоты ЦП. В этом режиме частота ЦП ядер, когда программа работает на выстреле 4CPU@100 к максимуму, но для 8CPU@50 частота ЦП ядер была намного ниже.

Когда я изменил регулятор частоты ЦП на "производительность" (который является единственным другим многократным доступным регулятором), производительность с 8CPU@50 значительно увеличивается, поскольку ядра начали работать на макс. частоте:

4CPU@100    8CPU@50 
175804      163831 

Мои системные детали:

Ubuntu 16.04.2 LTS

4.4.0-103-универсальное ядро

У меня есть следующие вопросы относительно регуляторов CPUFreq:

1) Этот https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt ссылки говорит, "Регулятор CPUfreq "powersave" устанавливает ЦП статически на самую низкую частоту в пределах границ scaling_min_freq и scaling_max_freq". Однако я заметил изменения частоты, когда загрузка увеличивается. Как "powersave" на самом деле работает?

2) Wy является частотой ЦП, не увеличивающейся до макс., когда "powersave" регулятор частоты ЦП используется, и квота ЦП установлена. Квота установки CPU заставляет "powersave" неправильно себя вести?

0
задан 19 February 2018 в 04:55

1 ответ

Документ, на который ссылаются в Вашем вопросе 1, для acpi-cpufreq драйвера частотного масштабирования ЦП. Я думаю, но не является бесспорным, Вы используете intel_pstate драйвер частотного масштабирования ЦП. Способ знать наверняка состоит в том, чтобы спросить Вашу систему:

$ 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

powersave регулятор в intel_pstate драйвере ведет себя так же ondemand регулятору в acpi-cpufreq драйвере. Алгоритмы управления изменялись, но если у Вас есть достаточно недавнее ядро, должна быть базирующаяся загрузка.

частота ЦП не повышается очень, или даже вообще при ограничении использования 50%, потому что основанному на загрузке алгоритму не дарят достаточно загрузки для гарантирования повышения частоты ЦП.

0
ответ дан 30 October 2019 в 10:10

Другие вопросы по тегам:

Похожие вопросы: