Счетчик power/energy-cores/
perf
основан на регистре MSR с именем MSR_PP0_ENERGY_STATUS
, который является частью интерфейса Intel RAPL (Intel, похоже, называет каждую отдельную RAPL MSR интерфейсом RAPL). Сложная модель, основанная на событиях активности системы, используется для оценки (статического и динамического) потребления энергии. Имя регистра MSR имеет PP0 в нем, что относится к плоскости мощности 0, которая является одним из доменов RAPL, который содержит все ядра сокета, включая частные кэши ядер. PP0, однако, исключает кэш последнего уровня, межсоединение, контроллер памяти, графический процессор и все остальное, что находится в ядре. Невозможно измерить точность MSR_PP0_ENERGY_STATUS
, потому что нет другого способа оценить энергопотребление только для плоскости питания.
Однако можно измерить точность других доменов RAPL. К ним относятся домены Package, DRAM и PSys. Например, точность оценки энергии в области пакета может быть измерена путем сравнения с потреблением энергии всей системы (которое может быть измерено с помощью измерителя мощности) и выполнением рабочей нагрузки, которая сохраняет потребление энергии всего, что находится за пределами пакета, известным. постоянный как можно больше. Точность MSR_PKG_ENERGY_STATUS
и MSR_DRAM_ENERGY_STATUS
была по-разному измерена разными людьми на разных процессорах. Вы можете обратиться к недавнему документу, озаглавленному RAPL в действии: опыт использования RAPL для измерения мощности , для получения дополнительной информации, которая также включает в себя резюме предыдущих работ. В статье рассматриваются Сэнди Бридж, Айви Бридж, Хасвелл и Скайлэйк. Вывод состоит в том, что MSR_PKG_ENERGY_STATUS
и MSR_DRAM_ENERGY_STATUS
, по-видимому, точны для Haswell и Skylake (реализация на Haswell изменилась, см .: Обзор характеристик энергоэффективности процессора Intel Haswell ). Но это не обязательно верно для всех видов рабочих нагрузок, состояний P и процессоров. Таким образом, точность зависит не только от микроархитектуры.
Интерфейс RAPL обсуждается в разделе 14.9 тома 3 Руководства Intel. Я заметил, что в этом разделе есть ошибки. Например, в нем говорится, что клиентские процессоры не поддерживают домен DRAM, что неверно. Клиентский процессор Haswell, который я использую для написания этого ответа, поддерживает домен DRAM. Этот раздел, вероятно, устарел и касается только процессоров Sandy Bridge и Ivy Bridge. Я думаю, что лучше прочитать технические характеристики процессора, на котором вы хотите использовать RAPL.
Счетчик power/energy-pkg/
perf
может использоваться для измерения энергопотребления домена пакета. Это единственный известный домен, который поддерживается всеми процессорами Intel, начиная с Sandy Bridge.