СПОСОБ ОЦЕНКИ ЭНЕРГОПОТРЕБЛЕНИЯ ВЫЧИСЛИТЕЛЯ

Способ оценки энергопотребления вычислителя, заключающийся в:
- запуске прикладного программного обеспечения на вычислителе, имеющего вычислительный кластер со старой процессорной архитектурой;
- выделении профилировщиком в прикладном программном оборудовании наиболее вычислительно-интенсивных участков (ВИУ) выполнения программы, при этом во время каждого ВИУ выполнения программы синхронно замеряют точное энергопотребление вычислительного кластера старой архитектуры и/или узлов, задействованных в ходе расчета;
- определении для каждого ВИУ процессорных инструкций каждого типа;
- запуске этого же прикладного программного обеспечения на симуляторе, симулирующего запуск и работу программного обеспечения на кластере, имеющего новую процессорную архитектуру;
- проведении вычислений в части ВИУ в симуляторе;
- определении при помощи симулятора новой архитектуры для каждого ВИУ точного числа процессорных инструкций каждого типа;
и пропорциональном пересчете энергопотребления старой архитектуры на новую архитектуру, используя соотношение между числом процессорных инструкций, потребовавшейся для выполнения ВИУ на старой и новой архитектуре, вычисляют энергопотребление на новой архитектуре из формулы:
<mrow><mi>P</mi><mo stretchy="false">(</mo><mi>H</mi><mi>A</mi><mo stretchy="false">)</mo><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mrow><mi>n</mi><msub><mrow><mo stretchy="false">(</mo><mi>H</mi><mi>A</mi><mo stretchy="false">)</mo></mrow><mi>i</mi></msub><mo>⋅</mo><msub><mi>α</mi><mi>i</mi></msub><mo>⋅</mo><mi>p</mi><msub><mrow><mo stretchy="false">(</mo><mi>C</mi><mi>A</mi><mo stretchy="false">)</mo></mrow><mi>i</mi></msub><mo>+</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mi>K</mi><mo>−</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mi>n</mi><msub><mrow><mo stretchy="false">(</mo><mi>H</mi><mi>A</mi><mo stretchy="false">)</mo></mrow><mi>j</mi></msub><mo>⋅</mo><mi>p</mi><msub><mrow><mo stretchy="false">(</mo><mi>H</mi><mi>A</mi><mo stretchy="false">)</mo></mrow><mi>j</mi></msub></mrow></mstyle></mrow></mstyle></mrow>
,
где P(НА) - оценка общего энергопотребления для новой архитектуры в ходе выполнения программного обеспечения,
i
n(НА) - число выполненных инструкций с номером i, тип инструкций поддерживается, как на старой, так и на новой архитектуре,
i
α - поправочный коэффициент для энерговыделения при выполнении одной процессорной инструкции i-го типа, поддержанного старой, так и в новой архитектуре, который определяется разработчиком новой архитектуры,
K - число процессорных инструкций старой архитектуры,
i
p(CA) - энерговыделение при выполнении инструкции типа i на старой архитектуре,
N - число процессорных инструкций новой архитектуры,
j
n(HA) - число инструкций с номером j, тип j поддерживается только на новой архитектуре вычислителя,
j
p(HA) - энерговыделение при выполнении инструкции  типа j на новой архитектуре, тип j поддерживается только на новой архитектуре вычислителя;
i
при этом энерговыделение при выполнении инструкции типа i на старой архитектуре - p(CA), определяется путем решения системы линейных алгебраических уравнений вида
<mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mrow><mmultiscripts><mi>n</mi><mprescripts /><mo>−</mo><mo>−</mo></mmultiscripts><msub><mrow><mo stretchy="false">(</mo><mi>C</mi><mi>A</mi><mo stretchy="false">)</mo></mrow><mi>i</mi></msub><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>⋅</mo><mi>p</mi><msub><mrow><mo stretchy="false">(</mo><mi>C</mi><mi>A</mi><mo stretchy="false">)</mo></mrow><mi>i</mi></msub><mo>=</mo><mi>P</mi><mo stretchy="false">(</mo><mi>C</mi><mi>A</mi><mo stretchy="false">)</mo><mo stretchy="false">(</mo><msubsup><mi>t</mi><mo>−</mo><mo>−</mo></msubsup><mo stretchy="false">)</mo></mrow></mstyle></mrow>
,
i
где n(CA)(t) - число выполненных инструкций в момент времени t, для старой архитектуры
P(CA)(t) - общее энергопотребление системы к моменту времени t.