Поведение регулятора частоты в режиме freq, когда задана cpu quota

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

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

1 ) В cgroup, которая имеет 4 cpus и не имеет ограничений на квоту

2) В cgroup, которая имеет 8 cpus и 50% квоту

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

4CPU@100 8CPU@50 176236 87252.5

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

При дальнейшей отладке, Я заметил, что моя система настроена на использование «powerave» частотного регулятора частоты. В этом режиме частота процессора сердечников, когда программа работает на скорости 4CPU @ 100 до максимума, но для 8CPU @ 50 частота процессора в ядрах была намного ниже.

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

4CPU@100 8CPU@50 175804 163831

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

Ubuntu 16.04.2 LTS

Ядро 4.4.0-103-generic

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

1) Эта ссылка https://github.com/ashu-mehra/cpu-quota-test сообщает: «Власть CPUfreq« powerave »устанавливает CPU статически на самую низкую частоту в границах scaling_min_freq и scaling_max_freq." Тем не менее, я заметил, что частота изменяется по мере увеличения нагрузки. Как работает «powerave»?

2) Wy - частота процессора, не увеличивающаяся до max, когда используется «powerave» частотный регулятор частоты и задана квота процессора. Является ли настройка квоты CPU причиной «powerave» для неправильной работы?

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

2 ответа

Документ, указанный в вашем вопросе 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
ответ дан 17 July 2018 в 20:30

Документ, указанный в вашем вопросе 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
ответ дан 23 July 2018 в 21:09
  • 1
    Вы правы, драйвер масштабирования - intel_pstate. Спасибо что подметил это. – Ashutosh 20 February 2018 в 07:42
  • 2
    Частота процессора не увеличивается или даже вообще при ограничении использования до 50%, потому что алгоритм на основе нагрузки не представлен с достаточной нагрузкой, чтобы гарантировать повышение частоты процессора. Это будет означать если система настроена на использование «powerave», производительность с 8CPU при 50% не будет такой же, как 4CPU @ 100%, даже если «эффективная» CPU тот же. Это может не сработать в облачной среде, которая использует квоту для назначения ресурсов ЦП для приложений, поскольку производительность будет страдать, если только «powersave» не является регулятором по умолчанию. – Ashutosh 20 February 2018 в 07:50

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

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