Я пытаюсь придумать эвристику, чтобы оценить, сколько энергии (скажем, в Джоулях) процесс или поток потребил между двумя точками времени. Это на ПК (Linux / x86), а не на мобильном устройстве, поэтому статистика будет использоваться для сравнения относительной энергоэффективности вычислений, для которых требуется аналогичное время настенных часов.
Идея состоит в том, чтобы собрать или отобрать статистику оборудования, такую как счетчик циклов, состояния p / c или динамическая частота, доступ к шине и т. Д., И придумать разумную формулу для использования энергии между измерениями. Я спрашиваю, возможно ли это и как могла бы выглядеть эта формула.
Некоторые проблемы, которые приходят на ум: поэтому статистика будет использоваться для сравнения относительной энергоэффективности вычислений, которые занимают аналогичное время настенных часов.
Идея состоит в том, чтобы собрать или отобрать статистику оборудования, такую как счетчик циклов, состояния p / c или динамическая частота, доступ к шине и т. Д., И придумать разумную формулу для использования энергии между измерениями. Я спрашиваю, возможно ли это и как могла бы выглядеть эта формула.
Некоторые проблемы, которые приходят на ум: поэтому статистика будет использоваться для сравнения относительной энергоэффективности вычислений, которые занимают аналогичное время настенных часов.
Идея состоит в том, чтобы собрать или отобрать статистику оборудования, такую как счетчик циклов, состояния p / c или динамическая частота, доступ к шине и т. Д., И придумать разумную формулу для использования энергии между измерениями. Я спрашиваю, возможно ли это и как могла бы выглядеть эта формула.
Некоторые проблемы, которые приходят на ум: 1) Правильный учет переключений контекста на другие процессы (или потоки).
2) Правильный учет энергии, используемой вне ЦП. Если мы предполагаем незначительный ввод / вывод, это означает в основном RAM. Как объем распределения и / или модель доступа влияют на потребление энергии? (То есть, предполагая, что у меня есть способ измерить динамическое распределение памяти для начала, например, с помощью модифицированного распределителя.)
3) Использование времени ЦП в качестве оценки ограничено грубым и часто ошибочным учетом, ЦП потребление энергии только и предполагает фиксированные тактовые частоты. Он включает, но не учитывает время ожидания в ОЗУ.