Ubuntu поддерживает Core Parking?

13

Базовая парковка - это новая функция, появившаяся в Windows 7 для повышения производительности аккумулятора .

В зависимости от использования ресурсов операционной системой, она может парковать одно или несколько ядер многоядерного процессора, чтобы снизить энергопотребление компьютера и тепловыделения. Как только операции требуют большей вычислительной мощности, припаркованные ядра снова активируются, чтобы помочь в выполнении задач

Итак, мой вопрос, есть ли способ сделать это на Ubuntu 12.04 «Core Parking» ?

Касим
источник
3
Отличный вопрос!
NlightNFotis

Ответы:

9

В настоящее время у меня нет четкого ответа на это, однако очевидно, что ядро ​​Linux использует некоторые механизмы энергосбережения .

Однако, проведя небольшое исследование, я быстро понял, что самые последние ядра Linux используют функцию под названием ACPI, которая является аббревиатурой от Advanced Configuration и Power Interface .

Что делает ACPI:

спецификация расширенного интерфейса конфигурации и питания (ACPI) предоставляет открытый стандарт для конфигурации устройства и управления питанием операционной системой.

через википедию .

По сути, ACPI позволяет контролировать различные состояния ЦП, чтобы обеспечить лучшее управление питанием.

Различные состояния CPU ACPI:

CPU C-States (управление питанием)

В принципе, вам, вероятно, не о чем беспокоиться о «состояниях C» процессора. Они автоматически контролируются системой ядро ​​+ ACPI с учетом текущей загрузки системы. (CAVEAT: ознакомьтесь с примечанием о процессорах AMD Athlon и Duron ниже). Код ACPI в более новых (2.6+) ядрах автоматически переводит ваш процессор в спящий режим, когда есть время простоя (примечание: это не меняет частоту процессора. Это контролируется "состояниями P" - см. Ниже).

Единственное, что нужно понять, это то, что ваша система полностью «осознана», когда процессор на мгновение останавливается - вы не заметите большой разницы. Однако экономия электроэнергии может быть значительной. Просто подумайте, что ваш процессор берет тысячи «микро-сна», когда он простаивает.

Состояния CPU-T (регулирование)

Они очень похожи на «состояния C» (используется та же инструкция HLT), однако отличие состоит в том, что регулирование выполняется «вами» (подобно тому, как каждый 4-й цикл является циклом ожидания, в отличие от «состояний C»). «выше которого автоматически определяются нагрузка системы). Обратите внимание, что частота НЕ была изменена ... см. "P состояния" ниже.

Состояние CPU-P (производительность)

Многие процессоры в наши дни (особенно ноутбуки) могут иметь тактовую частоту, фактически замедленную «на лету». Это приводит к огромной экономии энергии. Intel называет это «SpeedStep», а AMD - «Cool'n'Quiet» или «PowerNow». В более общем смысле эти состояния называются «P состояниями». Вам почти наверняка придется зайти в BIOS и включить эту функцию для своего ЦП.

** Некоторые показатели потребления: **

Какова экономия энергии из вышеуказанных состояний процессора? Следующие данные взяты с сайта AMD. Рассмотрим AMD 64 3400 + / 2200 МГц с 1 МБ кэш-памяти второго уровня. Кстати, пока я здесь, позвольте мне пожаловаться на соглашение об именах AMD. Число 3400+ не означает приседания на джек. Это просто способ AMD сказать, что этот процессор «похож на» Intel Pentium-4, работающий на частоте 3400 МГц. Я думаю, что это их способ не потерять долю рынка. Вот значения энергопотребления в состоянии P и T (состояние C - это та же инструкция HLT, что и состояние T):

  • Состояние производительности 0 (полностью активен) (2200 МГц): 89 Вт
  • Состояние производительности 1 (2000 МГц): 70 Вт
  • Состояние производительности 2 (800 МГц): 35 Вт
  • Дросселирование (инструкция HLT): 2,2 Вт

Некоторые ссылки для дальнейшего чтения

редактирует

[РЕДАКТИРОВАТЬ # 1]: Погуглив, я нашел некоторые другие посты и на некоторых форумах (форум OpenSuse, кажется, имеет отношение к тому, что вы ищете) и обнаружил, что это не такая большая проблема для Linux, как для Windows и особенно в играх. Я также выкопал некоторую информацию в двух письмах ( первое и второе [продолжение] ) в списках рассылки RedHat, которые, похоже, связаны между собой. В настоящее время я изучаю информацию в нем.

[РЕДАКТИРОВАТЬ # 2]: Я немного исследовал проблему, и я становлюсь все более и более уверенным в том, что в Linux нет механизма основной парковки, если только нет одного ACPI, о котором я не знаю. Некоторыми интересными находками являются некоторые части программного обеспечения, которые позволяют напрямую манипулировать процессором и процессами, выполняемыми на нем, например процессором , numactl и, наконец, CPUfreq . Продолжу мое исследование.

NlightNFotis
источник
Я думаю, что некоторые устройства Android могут отключить одно или несколько ядер. Не уверен, что это управляется напрямую оборудованием или ядром.
Лев
2

Там есть статья здесь отметить , что основная парковка относится к установке сердечников заранее с-состояниям для экономии энергии. С-состояния устанавливаются с помощью инструкции остановки. Как упоминает NlightNFotis, это делается с помощью поддержки ACPI в linux.

Возможно, вы сможете получить больше информации о состояниях, в которые ваши ядра устанавливаются с помощью Linux с помощью программы с открытым исходным кодом powertop( sudo apt-get install powertop), написанной Intel.Если ваше оборудование поддерживает различные c-состояния, оно должно быть в состоянии сказать вам, какой процент времени ваши ядра переводят в эти состояния пониженной мощности в Ubuntu Linux. См. ниже. Чем выше число в c-состоянии, тем больше энергии сохраняется.

Он также предоставляет гораздо больше информации.

Также, как и в Windows, когда есть работа, Linux может регулировать частоту работы ядер в зависимости от количества запросов, желания экономить электроэнергию и т. Д.

Мой ноутбук не поддерживает c-состояния, хотя он может быть приостановлен. Как мы видим ниже, маленький Acer с процессором Atom поддерживает их.

введите описание изображения здесь

Джон С. Грубер
источник