Оценка энергопотребления процесса на ПК (x86)

Я пытаюсь придумать эвристику, чтобы оценить, сколько энергии (скажем, в Джоулях) процесс или поток потребил между двумя точками времени. Это на ПК (Linux / x86), а не на мобильном устройстве, поэтому статистика будет использоваться для сравнения относительной энергоэффективности вычислений, для которых требуется аналогичное время настенных часов.

Идея состоит в том, чтобы собрать или отобрать статистику оборудования, такую ​​как счетчик циклов, состояния p / c или динамическая частота, доступ к шине и т. Д., И придумать разумную формулу для использования энергии между измерениями. Я спрашиваю, возможно ли это и как могла бы выглядеть эта формула.

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

Идея состоит в том, чтобы собрать или отобрать статистику оборудования, такую ​​как счетчик циклов, состояния p / c или динамическая частота, доступ к шине и т. Д., И придумать разумную формулу для использования энергии между измерениями. Я спрашиваю, возможно ли это и как могла бы выглядеть эта формула.

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

Идея состоит в том, чтобы собрать или отобрать статистику оборудования, такую ​​как счетчик циклов, состояния p / c или динамическая частота, доступ к шине и т. Д., И придумать разумную формулу для использования энергии между измерениями. Я спрашиваю, возможно ли это и как могла бы выглядеть эта формула.

Некоторые проблемы, которые приходят на ум: 1) Правильный учет переключений контекста на другие процессы (или потоки).

2) Правильный учет энергии, используемой вне ЦП. Если мы предполагаем незначительный ввод / вывод, это означает в основном RAM. Как объем распределения и / или модель доступа влияют на потребление энергии? (То есть, предполагая, что у меня есть способ измерить динамическое распределение памяти для начала, например, с помощью модифицированного распределителя.)

3) Использование времени ЦП в качестве оценки ограничено грубым и часто ошибочным учетом, ЦП потребление энергии только и предполагает фиксированные тактовые частоты. Он включает, но не учитывает время ожидания в ОЗУ.

19
задан Eitan 19 December 2010 в 21:17
поделиться