JP2023548565A - 電力推定機構のアプリケーションオーバーライド - Google Patents

電力推定機構のアプリケーションオーバーライド Download PDF

Info

Publication number
JP2023548565A
JP2023548565A JP2023527065A JP2023527065A JP2023548565A JP 2023548565 A JP2023548565 A JP 2023548565A JP 2023527065 A JP2023527065 A JP 2023527065A JP 2023527065 A JP2023527065 A JP 2023527065A JP 2023548565 A JP2023548565 A JP 2023548565A
Authority
JP
Japan
Prior art keywords
power
power estimation
estimation parameters
parameters
computing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2023527065A
Other languages
English (en)
Other versions
JP7419605B2 (ja
JPWO2022103879A5 (ja
Inventor
デイビッド ハウケ ジョナサン
クラーク アダム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Advanced Micro Devices Inc
Original Assignee
ATI Technologies ULC
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATI Technologies ULC, Advanced Micro Devices Inc filed Critical ATI Technologies ULC
Publication of JP2023548565A publication Critical patent/JP2023548565A/ja
Publication of JPWO2022103879A5 publication Critical patent/JPWO2022103879A5/ja
Application granted granted Critical
Publication of JP7419605B2 publication Critical patent/JP7419605B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

電力推定機構のソフトウェアオーバーライドを実行するためのシステム、装置及び方法が開示される。コンピューティングシステムは、電力消費の推定値を生成するための複数のチューニングされたパラメータを含む。チューニングされたパラメータは、システムの実際の状況下での特性評価に基づいて生成される。デプロイ後、システムは、複数の異なるアプリケーションを実行する。特定のアプリケーションを起動する場合、システムは、複数のチューニングされたパラメータを置き換えるために使用されるオーバーライドパラメータの対応するセットをロードする。システムは、以前に決定されたチューニングされたパラメータではなく、オーバーライドパラメータのセットを使用して、電力消費の推定値を生成する。次に、特定のアプリケーションを実行している間、システムは、電力消費の推定値に基づいて、様々なシステム構成要素の電力値及び周波数値を調整する。【選択図】図4

Description

(関連技術の説明)
現代の集積回路(integrated circuit、IC)の電力消費は、半導体チップの世代ごとに増大する設計課題となっている。ICは、多くの場合、汎用プロセッサ、グラフィックプロセッサ、他の処理ユニット及び他の構成要素等の様々な構成要素の電力消費を管理するための電力管理ユニット(power management unit、PMU)を含む。PMUは、様々な要因に基づいて動的電圧及び周波数スケーリング(dynamic voltage and frequency scaling、DVFS)技術を使用して電力性能状態(P状態)を調整し得る。P状態調整のためのアルゴリズムは、最悪の場合の熱的条件を想定し得る。しかしながら、典型的な使用及び環境の間、最悪の場合の熱的条件が実際には適用されない場合がある。その結果、アルゴリズムにおける想定に起因して、より低い性能状態がこれらの時間中に不必要に選択される場合がある。一般的に言えば、性能が高いほど、消費される電力量が大きくなる。逆に、消費される電力量を制限することは、コンピュータ又は他のタイプのプロセッサベースの電子システムの潜在的な性能を制限する。
いくつかのタイプのコンピューティングシステムでは、システムは、全てのアプリケーションについて固定クロック周波数で動作するようにプログラムされる。多くの異なるタイプのアプリケーションがコンピューティングシステム上で動作することができるので、クロック周波数は最悪の場合のシナリオのために選択され、全てのアプリケーションはこの最悪の場合のクロック周波数を使用する。しかしながら、アプリケーションの挙動は典型的に変化し、異なるアプリケーションによって消費される電力量は、固定周波数で動作している間に大きく変化し得る。
本明細書に記載の方法及び機構の利点は、添付の図面と併せて以下の説明を参照することによってより良く理解され得る。
コンピューティングシステムの一実施形態のブロック図である。 ソフトウェアが電力管理のためのハードウェア機構をオーバーライドすることを可能にするためのシステムの一実施形態のブロック図である。 電力コントローラアルゴリズムの一実施形態のブロック図である。 電力推定機構のアプリケーションオーバーライドを可能にする方法の一実施形態を示す概略的なフロー図である。 新しい電力推定方程式をロードする方法の一実施形態を示す概略的なフロー図である。 オーバーライドパラメータのアプリケーションごとのセットを使用する方法の一実施形態を示す概略的なフロー図である。 電力バジェットをコンピューティングシステムの構成要素に割り当てる方法の一実施形態を示す概略的なフロー図である。 チューニングされた電力推定パラメータに調整を適用する方法の一実施形態を示す概略的フロー図である。
以下の説明では、本明細書に提示される方法及び機構の十分な理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、当業者は、これらの具体的な詳細なしで様々な実施形態が実施され得ることを認識すべきである。いくつかの例では、本明細書に記載のアプローチを不明瞭にすることを避けるために、周知の構造、構成要素、信号、コンピュータプログラム命令及び技術が詳細に示されていない。説明を簡単且つ明確にするために、図に示される要素は必ずしも縮尺どおりに描かれているわけではないことを理解されたい。例えば、いくつかの要素の寸法は、他の要素に対して誇張されている場合がある。
電力推定パラメータのソフトウェアオーバーライドを可能にするためのシステム、装置及び方法が開示される。一実施形態では、コンピューティングシステムは、様々な電力推定パラメータをチューニングするために実際の状況下での特性評価(post-silicon characterization)を受ける。次いで、これらのチューニングされた電力推定パラメータは、システムにハードコードされる。電力管理ユニットは、これらのハードコードされたパラメータを、実世界環境におけるデプロイ(deployment)中の後続の電力推定計算のために使用する。しかしながら、総電力バジェットの一部をシステム内の異なる構成要素に分配する場合に実行される電力バジェッティング(power budgeting)を最適化するために、電力管理ユニットは、システム上で実行されるソフトウェアが、チューニングされた電力推定パラメータをアプリケーションごとにオーバーライドすることを可能にする。これにより、新しいアプリケーションをシステム上でプロファイリングして、チューニングされた電力推定パラメータの代替セットを生成することができる。この代替セットは、新しいアプリケーションを実行する場合に電力管理ユニットにロードされる。これら及び他の強化された電力推定技術について、本開示の残りの部分を通して記載される。
図1を参照すると、コンピューティングシステム100の一実施形態のブロック図が示されている。一実施形態では、コンピューティングシステム100は、少なくともプロセッサ105A~105N、入力/出力(input/output、I/O)インターフェース120、バス125、メモリコントローラ130、ネットワークインターフェース135、メモリデバイス140、表示コントローラ150、ディスプレイ155、及び、電力管理ユニット(PMU)160を含む。他の実施形態では、コンピューティングシステム100は他の構成要素を含み、及び/又は、コンピューティングシステム100は別様に構成される。プロセッサ105A~105Nは、システム100に含まれる任意の数のプロセッサを表す。
一実施形態では、プロセッサ105Aは、中央処理ユニット(central processing unit、CPU)等の汎用プロセッサである。この実施形態では、プロセッサ105Aは、システム100内の他のプロセッサのうち1つ以上と通信するための、及び/又は、それらのプロセッサのうち1つ以上の動作を制御するためのドライバ110(例えば、グラフィックドライバ)を実行する。実施形態に応じて、ドライバ110は、ハードウェア、ソフトウェア及び/又はファームウェアの任意の好適な組み合わせを使用して実装することができることに留意されたい。一実施形態では、プロセッサ105Nは、高並列アーキテクチャを有するデータ並列プロセッサである。データ並列プロセッサは、グラフィックス処理ユニット(graphics processing unit、GPU)、デジタル信号プロセッサ(digital signal processor、DSP)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、特定用途向け集積回路(application specific integrated circuit、ASIC)等を含む。いくつかの実施形態では、プロセッサ105A~105Nは、複数のデータ並列プロセッサを含む。一実施形態では、プロセッサ105Nは、ディスプレイ155に伝達されるように表示コントローラ150にピクセルを提供するGPUである。
メモリコントローラ130は、プロセッサ105A~105Nによってアクセス可能な任意の数及びタイプのメモリコントローラを表す。メモリコントローラ130は、プロセッサ105A~105Nから分離されているものとして示されているが、これは、単に1つの可能な実施形態を表すことを理解されたい。他の実施形態では、メモリコントローラ130は、プロセッサ105A~105Nのうち1つ以上の内部に埋め込むことができ、及び/又は、メモリコントローラ130は、プロセッサ105A~105Nのうち1つ以上と同じ半導体ダイ上に位置することができる。メモリコントローラ130は、任意の数及びタイプのメモリデバイス140に結合されている。メモリデバイス140は、任意の数及びタイプのメモリデバイスを表す。例えば、メモリデバイス140内のメモリのタイプは、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)、NANDフラッシュメモリ、NORフラッシュメモリ、強誘電体ランダムアクセスメモリ(Ferroelectric Random Access Memory、FeRAM)等を含む。
I/Oインターフェース120は、任意の数及びタイプのI/Oインターフェース(例えば、ペリフェラルコンポーネントインターコネクト(peripheral component interconnect、PCI)バス、PCI-Extended(PCI-X)、PCIE(PCI Express)バス、ギガビットイーサネット(登録商標)(gigabit Ethernet、GBE)バス、ユニバーサルシリアルバス(universal serial bus、USB))を表す。様々なタイプの周辺デバイス(図示せず)がI/Oインターフェース120に結合されている。そのような周辺デバイスは、ディスプレイ、キーボード、マウス、プリンタ、スキャナ、ジョイスティック、他のタイプのゲームコントローラ、メディア記録デバイス、外部記憶デバイス、ネットワークインターフェースカード等を含む(が、これらに限定されない)。ネットワークインターフェース135は、ネットワークを介してネットワークメッセージを受信及び送信することができる。
PMU160は、ランタイム中のシステム100の電力消費及び温度に基づいて、システム100の様々な機能ユニットに提供される様々な動作設定(例えば、電圧レベル、クロック周波数)を調整することによって、システム100の電力消費を管理する。一実施形態では、PMU160は、デプロイ中にシステム100の電力消費の推定値を生成するために使用されるハードコードされたパラメータ165を含む。一実施形態では、パラメータ165は、システム100のプロファイリング段階中に決定される。これらのパラメータ165は、1つ以上のキャパシタンス係数、1つ以上のフィルタ係数、1つ以上の誤差係数、1つ以上の誤差率係数、及び、システム100の機能ユニットに関連付けられている他の変数等の変数を含むことができる。一実施形態では、PMU160は、プロセッサ105A~105N上で実行されるソフトウェアが、アプリケーションごとにパラメータ165をオーバーライドすることを可能にする。ソフトウェアは、ハードコードされたパラメータ165を、新しいアプリケーションのためにチューニングされたパラメータの新しいセットに置き換えることができる。これにより、新しいアプリケーションが、システム100の電力推定機構及び電力分配機構をファインチューニングし、ハードコードされたパラメータ165を使用して可能であるよりも高い性能を潜在的に達成することができる。これら及び他の電力推定パラメータオーバーライド技術について、本開示の残りの部分を通して記載される。
様々な実施形態では、コンピューティングシステム100は、コンピュータ、ラップトップ、モバイルデバイス、ゲームコンソール、サーバ、ストリーミングデバイス、ウェアラブルデバイス、又は、様々な他のタイプのコンピューティングシステム若しくはデバイスのうち何れかである。コンピューティングシステム100の構成要素の数は、実施形態ごとに変化することに留意されたい。例えば、他の実施形態では、図1に示される数よりも多い又は少ない各構成要素が存在する。また、他の実施形態では、コンピューティングシステム100は、図1に示されていない他の構成要素を含むことにも留意されたい。加えて、他の実施形態では、コンピューティングシステム100は、図1に示される以外の方法で構築される。
図2を参照すると、ソフトウェアが電力管理のためのハードウェア機構をオーバーライドすることを可能にするためのシステム200の一実施形態のブロック図が示されている。一実施形態では、システム200は、様々な構成要素245A~245Nの電力消費及び/又は電力性能状態を制御するための電力管理ユニット220を含む。電力管理ユニット220は、回路及び/又はプログラム命令の任意の好適な組み合わせを使用して実装され得る。一実施形態では、電力管理ユニット220の制御ユニット222は、構成要素245A~245Nに提供されるクロック周波数及び電圧を調整して、システム200が指定された電力、電流及び熱的制限内で動作していることを保証する。加えて、様々な実施形態では、電力管理ユニット220の制御ユニット222は、電力、電流及び熱的制限を満たしながら、システム200の性能を最大にしようと試みる。構成要素245A~245Nは、任意の数及びタイプの構成要素(例えば、CPU、GPU、メモリサブシステム、キャッシュサブシステム、I/Oデバイス)を表す。
一実施形態では、システム200は、製造後に特定の物理的構成要素の特性に基づいて生成された様々なハードコードされたパラメータ205A~205Nを用いて、電力管理目的のためにチューニングされる。これらのパラメータ205A~205Nは、第1のフィルタアルファ値、第2のフィルタアルファ値、CPU誤差係数、CPU誤差率係数、GPU誤差係数、GPU誤差率係数、キャパシタンス係数値等のうち1つ以上を含む。しかしながら、以前にチューニングされたパラメータ205A~205Nのみを使用するのではなく、システム200は、ソフトウェアがこれらのパラメータ205A~205Nのうち1つ以上をオーバーライドすることを可能にする。例えば、一実施形態では、ソフトウェアは、マルチプレクサ210A~210Nに結合されるオーバーライド値203A~203Nを送信して、ソフトウェアが、記憶されたパラメータ205A~205Nをパラメータごとにオーバーライドすることを可能にする。マルチプレクサ210A~210Nは、個々のパラメータ205A~205Nをオーバーライドするソフトウェアの能力の論理的表現を示すことを意図しているにすぎず、オーバーライド機構の正確な表現であることを意図していないことを理解されたい。
例えば、別の実施形態では、ソフトウェアがオーバーライド値203A~203Nをメモリ内の特定のロケーションに書き込み、次いで、ソフトウェアがオーバーライド要求又はコマンドを送信して(例えば、オーバーライド値をオーバーライドレジスタに書き込む)、オーバーライドモードが有効にされることを電力管理ユニット220に通知する。それに応じて、電力管理ユニット220は、これらのオーバーライド値203A~203Nを、電圧235A~235Nの電圧レベル及びクロック240A~240Nの周波数をどのようにプログラムするかを決定するために実行される計算の一部として使用する。ソフトウェアから電力管理ユニット220にオーバーライド値を供給する他の方法及びオーバーライドモードを開始するための他の技術が可能であり、企図されることに留意されたい。
一実施形態では、オペレーティングシステム(operating system、OS)(又は他のシステムソフトウェア)は、チューニングされたパラメータ205A~205Nをアプリケーションごとにオーバーライドするかどうかを決定する。例えば、一実施形態では、第1のアプリケーションは、ソフトウェアオーバーライド値の第1のセットを有し、第2のアプリケーションは、ソフトウェアオーバーライド値の第2のセットを有し、以下同様である。これにより、各アプリケーションは、アプリケーションがシステム200上でどのように実行されるかのプロファイリング及び分析に基づいて、システム200の性能及び電力消費をファインチューニングすることができる。
様々な実施形態において、電力管理ユニット220は、センサから様々な入力及び/又は測定値を受信する。これらの入力及び/又は測定値は、温度測定値、電流測定値等を含む。また、電力管理ユニット220は、インターフェース212A~212Nを介してオーバーライド値203A~203N及び/又はハードコードされたパラメータ205A~205Nを受信し、電力管理ユニット220は、オーバーライド値203A~203N及び/又はハードコードされたパラメータ205A~205Nをセンサ入力及び測定値に適用することに基づいて、システム200のリアルタイム電力消費の推定値を生成する。インターフェース212A~212Nは、実施形態に応じて単一のインターフェース又は複数のインターフェースとして実装され得ることに留意されたい。電力推定値を生成した後、電力管理ユニット220は、電力推定値を使用して、構成要素245A~245Nに供給される様々な電圧235A~235N及びクロック240A~240Nの周波数をどのように調整するかを決定する。
例えば、一実施形態では、電力管理ユニット220は、所定の構成要素245A~245Nに供給される電圧の指標を受信する。また、電力管理ユニット220は、所定の構成要素245A~245Nの対応するキャパシタンス係数を取り出す。キャパシタンス係数は、元のハードコードされた値であってもよいし、ソフトウェアによって提供されるオーバーライド値であってもよい。次いで、一実施形態では、電力管理ユニット220は、キャパシタンス係数に、スケーリング係数(アルファ)を乗算したクロック周波数を乗算した2乗した電圧を乗算する(すなわち、C*V*F*アルファ)。スケーリング係数は、元のハードコードされた値であってもよいし、ソフトウェアによって提供されるオーバーライド値であってもよい。乗算の結果は、所定の構成要素245A~245Nの電力消費の推定値として使用される。電力管理ユニット220は、同様の方法で他の構成要素245A~245Nの電力消費の推定値を生成し、次いで、それらの推定値を加算して、システム200全体の電力消費の推定値を生成する。これは、電力推定値を生成する一例にすぎないことを理解されたい。当業者は、電力推定値を生成するための他の技術が他の実施形態で使用され得ることを理解するであろう。
様々な実施形態では、システム200の電力推定値を生成した後、電力管理ユニット220は、電力推定値を総電力バジェットと比較する。一実施形態では、電力推定値が総電力バジェットよりも大きい場合、電力管理ユニット220は、構成要素245A~245Nに供給される電圧及び/又は周波数を減少させて、システム200の電力消費を減少させる。一実施形態では、電圧及び/又は周波数が減少される量は、電力推定値と総電力バジェットとの差に比例する。電力推定値が総電力バジェット未満である場合、電力管理ユニット220は、構成要素245A~245Nに供給される電圧及び/又は周波数を増加させて、システム200のより高い性能を可能にする。別の実施形態では、電力管理ユニット220は、各構成要素245A~245Nを所定の構成要素電力バジェット内に保つ一方で、システム200全体を総電力バジェット内に保とうと試みる。
最適な性能を達成するために、構成要素245A~245Nに電力を分配するための他の技術を実装することができる。例えば、別の実施形態では、システム200は全体として電力バジェットを有し、1つの構成要素245A~245Nが、特定の構成要素ごとの制限に制約されるのではなく、電力バジェットからの残りの電力の全てを利用する。システムレベルの電力計算を実行する場合、電力管理ユニット220は、個々の構成要素245A~245Nのためのバジェット値又は計算値の何れかを使用することができる。また、更なる実施形態では、電力管理ユニット220は、ソフトウェアアプリケーション及び/又はOSが、各構成要素245A~245Nに供給される周波数及び電圧を制御することを可能にする。例えば、一実施形態では、周波数及び電圧は、プロファイリング結果に基づいてOS又はアプリケーションによって設定される。システム200を指定された電力バジェット内に保ちながら、構成要素245A~245Nの間で電力を分配する他の方法が可能であり、企図される。
一実施形態では、システム200は、任意の数の異なるゲームを実行することができるビデオゲームコンソールである。典型的には、システム200は製造後に特性評価され、電力計算に使用される下位レベルのパラメータ及び変数(例えば、ハードコードされたパラメータ205A~205N)は、この特性評価段階中にチューニングされる。しかしながら、これは、システム200上でプレイされる異なるタイプのゲームに対してシステム200がどのように電力を消費するかの違いを考慮していない。ゲームは、製造後にシステム200上でプロファイリングすることができるが、これは、システム200が既にデプロイされた後に開発される新しいゲームでは可能ではない。したがって、これらのシナリオを緩和するために、システム200は、下位レベルの変数が、各異なるゲームタイトルに対して、タイトルごとにソフトウェアによってオーバーライドされることを可能にする。これにより、システム200上でプレイされる異なるゲームごとに性能を最適化することができる。この例ではビデオゲームコンソールが記載されるが、他のタイプのシステム及び装置も、本明細書に記載の方法及び機構から利益を得ることができることを理解されたい。
図3を参照すると、電力コントローラアルゴリズム300の一実施形態のブロック図が示されている。一実施形態では、電力コントローラアルゴリズム300は、電力エンベロープ(すなわち、電力消費の所定の範囲)内に留まるように、システムの構成要素の動作条件を調整するために、コンピューティングシステム(例えば、図1のシステム100、図2のシステム200)によって用いられる。別の実施形態では、電力コントローラアルゴリズム300は、システムを熱的エンベロープ(すなわち、所与の温度範囲)内に保つために使用される。更なる実施形態では、電力コントローラアルゴリズム300は、システムを電力エンベロープ及び熱的エンベロープ内に保つために使用される。
一実施形態では、コンピューティングシステムの電力消費の推定値を生成するために電力計算305が実行される。コンピューティングシステムによって実行されているアプリケーションに応じて、電力計算305は、パラメータ値の所定のセットを使用することができるか、又は、電力計算305は、特定のアプリケーションに合わせられたパラメータ値のターゲットセットを使用することができる。一実施形態では、電力計算305は、実際の状況下での特性評価中に以前に決定されたシステムのロードされたパラメータ値のセットをオーバーライドするパラメータのセットを用いて実行される。電力計算305の例は、先に提示した電力方程式(電力=C*V*F*アルファ)である。しかしながら、他の実施形態では、他のタイプの電力方程式を使用することができる。
電力推定値を生成するために電力計算305が実行された後、この電力推定値は入力としてフィルタ310に提供される。一実施形態では、フィルタ310は、時定数を定義する1つの係数(例えば、アルファ係数315)を有する無限インパルス応答フィルタを有する2段アルファフィルタである。アルファ係数315は、電力方程式で使用されるアルファ変数とは異なる変数であることに留意されたい。2段フィルタは、直列の2つのアルファフィルタとして実装することができる。一実施形態によるフィルタ310の例が、フィルタ310の下の破線ボックス312内の方程式に示されている。この実施形態では、フィルタ310は、値(ALPHA)及び(1-ALPHA)に基づいて計算される2つの出力段(OUTPUT_STAGE1及びOUTPUT_STAGE2)を有する。破線ボックス312内の方程式は、フィルタ310を実装するための1つの方法を表すにすぎないことを理解されたい。他の実施形態では、フィルタ310を実装する場合に他のタイプのフィルタ方程式を使用することができることに留意されたい。
フィルタ310の出力(すなわち、破線ボックス322内のFILTER_OUTPUT)は、比例微分(proportional-derivative、PD)コントローラ320に提供される。一実施形態では、PDコントローラ320は、P係数及びD係数325に基づくが、積分係数が0に設定された比例微分制御ループ機構を使用して、制御されているクロックの周波数ターゲットを調整する。P係数及びD係数325は、それぞれ誤差係数及び誤差率係数とも呼ばれ得ることに留意されたい。比例微分制御ループ機構の実施形態の一例が、破線ボックス322の方程式に示されている。他の実施形態では、PDコントローラ320は、比例微分制御に基づくもの以外の他のタイプの制御ループ機構を使用することができる。
破線ボックス322の方程式に示されているように、誤差項は、絶対誤差ではなく百分率誤差として計算される。破線ボックス322の方程式では、誤差係数は「ERROR_COEFF」と称され、誤差率係数は「ERROR_RATE_COEFF」と称される。比例微分コントローラ320の出力は、制御されているクロックの周波数ターゲットを変更するために周波数変更ブロック330に提供される。一実施形態では、PDコントローラ320の出力が計算されると、この出力は、所定のコントローラの前の周波数ターゲットに対する周波数ターゲットに加算される。次いで、最終周波数ターゲットは、そのクロックの最大周波数及び最小周波数内にあるように制限される。所定の構成要素について周波数変更を開始した後、電力管理ユニットは、再び開始して新しい電力計算305を行う前に、待機ブロック335によって示されるように、ある量の時間(例えば、1ミリ秒(ms))待機する。
次に、図4を参照すると、電力推定機構のアプリケーションオーバーライドを可能にするための方法400の一実施形態が示されている。説明のために、この実施形態におけるステップ及び図5~図8のステップは順番に示されている。しかしながら、記載された方法の様々な実施形態では、記載された要素のうち1つ以上が、示されたものとは異なる順序で同時に実行されてもよいし、完全に省略されてもよいことに留意されたい。必要に応じて、他の追加の要素も実行される。本明細書に記載の様々なシステム又は装置の何れも、方法400を実施するように構成されている。
コンピューティングシステムは、新しいソフトウェアアプリケーションの実行の開始を検出する(ブロック405)。新しいソフトウェアアプリケーションが開始されていることを検出したことに応じて、コンピューティングシステムは、新しいソフトウェアアプリケーションの実行中に、電力推定オーバーライドモードで動作するかどうかを決定する(ブロック410)。一実施形態では、新しいソフトウェアアプリケーションは、新しいソフトウェアアプリケーションの実行中に、電力推定オーバーライドモードを使用するかどうかを指定する指標又は設定を含む。他の実施形態では、電力推定オーバーライドモードを実施するかどうかを決定する他の方法が使用され得る。
コンピューティングシステムが電力推定オーバーライドモードで動作することを決定した場合(条件付きブロック415、「はい」)、コンピューティングシステムは、新しいソフトウェアアプリケーションに関連付けられたオーバーライドパラメータの所定のセットをロードする(ブロック420)。次に、コンピューティングシステムは、オーバーライドパラメータの所定のセットを電力管理ユニットにプログラムする(ブロック425)。新しいソフトウェアアプリケーションの実行中に、電力管理ユニットは、様々な電力関連値に関連付けられたランタイム測定値及び設定を受信する(ブロック430)。例えば、これらの測定値は、温度測定値、電流測定値、電圧レベル、周波数設定、並びに、他の測定値及び設定を含むことができるが、これらに限定されない。次いで、電力管理ユニットは、オーバーライドパラメータの所定のセットをランタイム測定値及び設定に適用することに基づいて、新しいアプリケーションのランタイム実行中に、電力推定値を生成する(ブロック435)。次に、電力管理ユニットは、生成された電力推定値に基づいて、1つ以上の構成要素に供給される電圧レベル及び/又はクロック周波数を調整する(ブロック445)。一実施形態では、電力管理ユニットは、所定の電力ターゲットを満たすように、生成された電力推定値に基づいて1つ以上の構成要素に供給される電圧レベル及び/又はクロック周波数を調整する。ブロック445の後、方法400は終了する。
そうではなく、コンピューティングシステムが標準電力推定モードで動作すると決定した場合(条件付きブロック415、「いいえ」)、電力管理ユニットは、パラメータの所定のセットをランタイム測定値及び設定に適用することに基づいて、新しいアプリケーションのランタイム実行中に電力推定値を生成する(ブロック440)。ブロック440の後、電力管理ユニットは、生成された電力推定値に基づいて、1つ以上の構成要素に供給される電圧レベル及び/又はクロック周波数を調整する(ブロック445)。
図5を参照すると、新しい電力推定方程式をロードするための方法500の一実施形態が示されている。コンピューティングシステムは、実行されている新しいアプリケーションを検出する(ブロック505)。次に、コンピューティングシステムは、新しいアプリケーションに関連付けられた新しい電力推定方程式をロードする(ブロック510)。新しい電力推定方程式は、新しいアプリケーションが、現在のコンピューティングシステムに類似又は一致するテストコンピューティングシステム上で実行されている間に、プロファイリング段階中に生成され得ることに留意されたい。システム上で実行されるソフトウェア(例えば、OS)は、新しい電力推定方程式を使用するように電力管理ユニットをプログラムする(ブロック515)。電力管理ユニットは、新しい電力推定方程式によって置き換えられる(すなわち、プリエンプトされる)既存の電力推定方程式を含み、新しい電力推定方程式は、既存の電力推定方程式とは異なることに留意されたい。既存の電力推定方程式は「第1の電力推定方程式」と呼ばれ、新しい電力推定方程式は「第2の電力推定方程式」と呼ばれることに留意されたい。代替的に、電力管理ユニットは、既存の電力推定方程式を保持することができ、アプリケーションは、既存の電力推定方程式又は新しい電力推定方程式の何れかを使用するように選択することができる。他の実施形態では、電力管理ユニットは、3つ以上の個別の電力推定方程式を維持し、任意の方程式が所定のアプリケーションによって選択され得る。
次に、新しいアプリケーションの実行中に、電力管理ユニットは、新しい電力推定方程式を使用して電力推定値を生成する(ブロック520)。電力管理ユニットは、電力推定値に基づいて、1つ以上の構成要素の動作条件(例えば、電圧レベル、クロック周波数)の調整を行う(ブロック525)。ブロック525の後、方法500は終了する。コンピューティングシステムが後の時点で異なるアプリケーションを実行する場合、コンピューティングシステムは、前の電力推定方程式に戻るか、又は、他のアプリケーションに固有の別の新しい電力推定方程式をロードすることができることに留意されたい。場合によっては、各アプリケーションは、アプリケーションの一意のプロファイルを追跡する、それ自体のファインチューニングされた電力推定方程式を有することが可能である。ブロック520及びブロック525は、複数の電力推定値を生成し、対応する調整を行うために、新しいアプリケーションの実行中に任意の回数繰り返すことができることにも留意されたい。
図6を参照すると、オーバーライドパラメータのアプリケーションごとのセットを使用するための方法600の一実施形態が示されている。プロセッサが、電力推定パラメータオーバーライド機構を含む電力管理ユニットを有するコンピューティングシステム上で第1のアプリケーションを実行する(ブロック605)。第1のアプリケーションを実行する前又は実行している間、プロセッサは、オーバーライドパラメータの第1のセットを電力管理ユニットに渡す(ブロック610)。電力管理ユニットは、第1のアプリケーションの実行中に、オーバーライドパラメータの第1のセットを使用してコンピューティングシステムの電力推定値を計算する(ブロック615)。次に、電力管理ユニットは、計算された電力推定値に基づいて、1つ以上の動作設定(例えば、構成要素ごとの供給電圧の大きさ、構成要素ごとのクロック周波数)を調整する(ブロック620)。後の時点で、プロセッサは、第1のアプリケーションとは異なる第2のアプリケーションに実行を切り替える(ブロック625)。
第2のアプリケーションの実行前又は実行中に、プロセッサは、電力管理ユニットに伝達される電力推定パラメータオーバーライド要求を生成する(ブロック630)。また、プロセッサは、オーバーライドパラメータの第2のセットを電力管理ユニットに渡し、オーバーライドパラメータの第2のセットは、オーバーライドパラメータの第1のセットとは異なる(ブロック635)。一実施形態では、オーバーライドパラメータの第2のセットは、第2のアプリケーションによって指定及び/又は提供される。電力推定パラメータオーバーライド要求を検出したことに応じて、電力管理ユニットは、第2のアプリケーションの実行中に、オーバーライドパラメータの第2のセットを使用してコンピューティングシステムの電力推定値を計算する(ブロック640)。次いで、電力管理ユニットは、計算された電力推定値に基づいて1つ以上の動作設定を調整する(ブロック645)。ブロック645の後、方法600は終了する。方法600は、任意の数の他のアプリケーションに対して実行することができ、各アプリケーションは、それ自体のオーバーライドパラメータのセットを有することに留意されたい。また、一実施形態では、第1及び第2のアプリケーションは、ゲームコンソール上で実行されている第1及び第2のゲームを表すことに留意されたい。他の実施形態では、第1及び第2のアプリケーションは、他のタイプのコンピューティングシステム上で実行される他のタイプのソフトウェアアプリケーションであり得る。
図7を参照すると、電力バジェットをコンピューティングシステムの構成要素に割り当てるための方法700の一実施形態が示されている。電力管理ユニットは、N個の構成要素から構成されるコンピューティングシステム全体の総電力バジェットの指標を取り出す(ブロック705)。「N」個の構成要素の数は、システムごとに異なる場合があり、Nは1よりも大きい正の整数である。電力管理ユニットは、コンピューティングシステム全体の総電力バジェットを超えないように、N個の構成要素の各々に電力を割り当てる(ブロック710)。ランタイム中、電力管理ユニットは、複数の下位レベル変数を使用してN個の構成要素の電力消費を計算する(ブロック715)。複数の下位レベル変数は、実際の状況下での特性評価中に決定されたチューニングされた変数だけでなく、OS又はソフトウェアアプリケーションによって提供されるオーバーライド変数を含むことができる。
次に、電力管理ユニットは、総電力バジェットから「N-1」個の構成要素ごとの電力消費値を減算することによって、システム全体の利用可能な電力バジェットを決定する(ブロック720)。次に、電力管理ユニットは、利用可能な電力バジェットの全てをN番目の構成要素に割り当てる(ブロック725)。方法700のN番目の構成要素は、任意のタイプの構成要素とすることができ、そのタイプは実施形態ごとに異なる。例えば、一実施形態では、N番目の構成要素はGPUである。他の実施形態では、N番目の構成要素は、様々な他のタイプの構成要素のうち何れかであり得る。ブロック725の後、方法700は終了する。方法700は、N番目の構成要素に割り当てられる電力バジェットを更新するために周期的に繰り返すことができることに留意されたい。
図8を参照すると、チューニングされた電力推定パラメータに調整を適用するための方法800の一実施形態が示されている。コンピューティングシステムは、システム上で実行される所定のアプリケーションをロードする(ブロック805)。所定のアプリケーションをロードすることの一部として、コンピューティングシステムは、複数のオーバーライド調整値を電力管理ユニットにプログラムする(ブロック810)。電力管理ユニットは、複数の調整値を複数のチューニングされた電力推定パラメータに適用する(ブロック815)。例えば、12個の異なるチューニングされたパラメータがある場合、ソフトウェアは、これらの12個のチューニングされたパラメータに適用する12個の調整値を指定することができる。場合によっては、ソフトウェアは、チューニングされたパラメータの全てを変更するのではなく、チューニングされたパラメータのサブセットについての調整値を指定することができる。各調整値は、一実施形態では、第1の調整値が120%であり、第2の調整値が90%であり、以下同様であるような百分率であり得る。この例では、調整値にチューニングされたパラメータ値を乗算して、調整されたパラメータ値を生成する。
次に、所定のアプリケーションの実行中に、電力管理ユニットは、チューニングされた電力推定パラメータに適用される調整に基づいて電力推定値を生成する(ブロック820)。次いで、電力管理ユニットは、生成された電力推定値に基づいて様々な構成要素に電力を割り当てる(ブロック825)。ブロック825の後、方法800は終了する。
様々な実施形態では、ソフトウェアアプリケーションのプログラム命令を使用して、本明細書に記載の方法及び/又は機構を実装する。例えば、汎用又は専用プロセッサによって実行可能なプログラム命令が企図される。様々な実施形態では、そのようなプログラム命令は、高レベルプログラミング言語によって表される。他の実施形態では、プログラム命令は、高レベルプログラミング言語からバイナリ、中間又は他の形式にコンパイルされる。代替的に、ハードウェアの挙動又は設計を説明するプログラム命令が書かれる。そのようなプログラム命令は、C等の高レベルプログラミング言語によって表される。代替的に、Verilog等のハードウェア設計言語(hardware design language、HDL)が使用される。様々な実施形態では、プログラム命令は、様々な非一時的なコンピュータ可読記憶媒体の何れかに記憶される。記憶媒体は、プログラム実行のためにプログラム命令をコンピューティングシステムに提供するために、使用中にコンピューティングシステムによってアクセス可能である。一般的に言えば、そのようなコンピューティングシステムは、少なくとも1つ以上のメモリと、プログラム命令を実行するように構成された1つ以上のプロセッサと、を含む。
上記の実施形態は、実施形態の非限定的な例にすぎないことを強調しておきたい。上記の開示が十分に理解されると、多数の変形及び修正が当業者に明らかになるであろう。以下の特許請求の範囲は、全てのそのような変形及び修正を包含するものと解釈されることが意図されている。

Claims (20)

  1. コンピューティングシステムであって、
    1つ以上の機能ユニットと、
    電力管理ユニットと、を備え、
    前記電力管理ユニットは、
    前記コンピューティングシステムが第1のアプリケーションを実行している間に、電力推定パラメータの第1のセットに基づいて、ランタイム中の前記1つ以上の機能ユニットによる電力消費の第1の推定値を生成することと、
    前記第1の推定値に基づいて、前記1つ以上の機能ユニットの1つ以上の電力関連設定を調整することと、
    電力推定パラメータオーバーライド要求を検出したことに応じて、前記電力推定パラメータの第1のセットを電力推定パラメータの第2のセットに置き換えることであって、前記電力推定パラメータの第2のセットは、前記電力推定パラメータの第1のセットと異なる、ことと、
    前記コンピューティングシステムが第2のアプリケーションを実行している間に、前記電力推定パラメータの第2のセットに基づいて、ランタイム中の前記1つ以上の機能ユニットによる電力消費の第2の推定値を生成することと、
    前記第2の推定値に基づいて、前記1つ以上の機能ユニットの1つ以上の電力関連設定を調整することと、
    を行うように構成されている、
    コンピューティングシステム。
  2. 前記電力推定パラメータの第1のセットは、デプロイ前の特性評価段階中に生成され、前記1つ以上の電力関連設定は、供給電圧の大きさ及びクロック周波数を含む、
    請求項1のコンピューティングシステム。
  3. 前記電力管理ユニットは、
    前記第2のアプリケーションに関連付けられた複数の調整値を受信することと、
    前記電力推定パラメータの第2のセットを生成するために、前記電力推定パラメータの第1のセットに前記複数の調整値を適用することと、
    を行うように構成されている、
    請求項1のコンピューティングシステム。
  4. 前記電力推定パラメータの第1のセット及び第2のセットは、前記1つ以上の機能ユニットの1つ以上のキャパシタンス係数、1つ以上のフィルタ係数、誤差係数、及び、誤差率係数を含む、
    請求項1のコンピューティングシステム。
  5. 前記1つ以上の機能ユニットは、中央処理ユニット(CPU)及びグラフィックス処理ユニット(GPU)を含む、
    請求項1のコンピューティングシステム。
  6. 前記CPUは、前記電力推定パラメータオーバーライド要求を生成するためのプログラム命令を実行するように構成されている、
    請求項5のコンピューティングシステム。
  7. 前記電力推定パラメータの第2のセットは、前記第2のアプリケーション固有である、
    請求項6のコンピューティングシステム。
  8. 方法であって、
    コンピューティングシステムが第1のアプリケーションを実行している間に、電力管理ユニットが、電力推定パラメータの第1のセットに基づいて、ランタイム中の1つ以上の機能ユニットによる電力消費の第1の推定値を生成することと、
    前記第1の推定値に基づいて、前記1つ以上の機能ユニットの1つ以上の電力関連設定を調整することと、
    電力推定パラメータオーバーライド要求を検出したことに応じて、前記電力推定パラメータの第1のセットを電力推定パラメータの第2のセットに置き換えることであって、前記電力推定パラメータの第2のセットは、前記電力推定パラメータの第1のセットと異なる、ことと、
    前記コンピューティングシステムが第2のアプリケーションを実行している間に、前記電力推定パラメータの第2のセットに基づいて、ランタイム中の前記1つ以上の機能ユニットによる電力消費の第2の推定値を生成することと、
    前記第2の推定値に基づいて、前記1つ以上の機能ユニットの1つ以上の電力関連設定を調整することと、を含む、
    方法。
  9. 前記電力推定パラメータの第1のセットは、デプロイ前の特性評価段階中に生成され、前記1つ以上の電力関連設定は、供給電圧の大きさ及びクロック周波数を含む、
    請求項8の方法。
  10. 前記第2のアプリケーションに関連付けられた複数の調整値を受信することと、
    前記電力推定パラメータの第2のセットを生成するために、前記電力推定パラメータの第1のセットに前記複数の調整値を適用することと、を含む、
    請求項8の方法。
  11. 前記電力推定パラメータの第1のセット及び第2のセットは、前記1つ以上の機能ユニットの1つ以上のキャパシタンス係数、1つ以上のフィルタ係数、誤差係数、及び、誤差率係数を含む、
    請求項8の方法。
  12. 前記1つ以上の機能ユニットは、中央処理ユニット(CPU)及びグラフィックス処理ユニット(GPU)を含む、
    請求項8の方法。
  13. 前記CPUが、前記電力推定パラメータオーバーライド要求を生成するためのプログラム命令を実行することを含む、
    請求項12の方法。
  14. 前記電力推定パラメータの第2のセットは、前記第2のアプリケーション固有である、
    請求項13の方法。
  15. 装置であって、
    複数のオーバーライド電力推定パラメータを受信するように構成されたインターフェースと、
    制御ユニットと、を備え、
    前記制御ユニットは、
    電力推定パラメータオーバーライド要求を検出したことに応じて、電力推定パラメータの第1のセットを電力推定パラメータの第2のセットに置き換えることであって、前記電力推定パラメータの第2のセットは、前記電力推定パラメータの第1のセットと異なる、ことと、
    コンピューティングシステムが所定のアプリケーションを実行している間に、前記電力推定パラメータの第2のセットに基づいて、ランタイム中の1つ以上の機能ユニットによる電力消費の推定値を生成することと、
    前記推定値に基づいて、1つ以上の機能ユニットの1つ以上の電力関連設定に対して調整を行うことと、
    を行うように構成されている、
    装置。
  16. 前記電力推定パラメータの第1のセットは、デプロイ前の特性評価段階中に生成され、前記1つ以上の電力関連設定は、供給電圧の大きさ及びクロック周波数を含む、
    請求項15の装置。
  17. 前記制御ユニットは、
    第2のアプリケーションに関連付けられた複数の調整値を受信することと、
    前記電力推定パラメータの第2のセットを生成するために、前記電力推定パラメータの第1のセットに前記複数の調整値を適用することと、
    を行うように構成されている、
    請求項15の装置。
  18. 前記電力推定パラメータの第1のセット及び第2のセットは、前記1つ以上の機能ユニットの1つ以上のキャパシタンス係数、1つ以上のフィルタ係数、誤差係数、及び、誤差率係数を含む、
    請求項15の装置。
  19. 前記1つ以上の機能ユニットは、中央処理ユニット(CPU)及びグラフィックス処理ユニット(GPU)を含む、
    請求項15の装置。
  20. 前記電力推定パラメータの第2のセットは、前記所定のアプリケーション固有である、
    請求項15の装置。
JP2023527065A 2020-11-10 2021-11-10 電力推定機構のアプリケーションオーバーライド Active JP7419605B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/094,283 US11836031B2 (en) 2020-11-10 2020-11-10 Application override of power estimation mechanism
US17/094,283 2020-11-10
PCT/US2021/058840 WO2022103879A1 (en) 2020-11-10 2021-11-10 Application override of power estimation mechanism

Publications (3)

Publication Number Publication Date
JP2023548565A true JP2023548565A (ja) 2023-11-17
JPWO2022103879A5 JPWO2022103879A5 (ja) 2023-11-27
JP7419605B2 JP7419605B2 (ja) 2024-01-22

Family

ID=78844575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023527065A Active JP7419605B2 (ja) 2020-11-10 2021-11-10 電力推定機構のアプリケーションオーバーライド

Country Status (6)

Country Link
US (1) US11836031B2 (ja)
EP (1) EP4244701A1 (ja)
JP (1) JP7419605B2 (ja)
KR (1) KR20230104886A (ja)
CN (1) CN116635813A (ja)
WO (1) WO2022103879A1 (ja)

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764089A (en) 1995-09-11 1998-06-09 Altera Corporation Dynamic latching device
US6473732B1 (en) 1995-10-18 2002-10-29 Motorola, Inc. Signal analyzer and method thereof
US5712826A (en) 1996-03-26 1998-01-27 Intel Corporation Apparatus and a method for embedding dynamic state machines in a static environment
US5917355A (en) 1997-01-16 1999-06-29 Sun Microsystems, Inc. Edge-triggered staticized dynamic flip-flop with conditional shut-off mechanism
US5940779A (en) 1997-03-05 1999-08-17 Motorola Inc. Architectural power estimation method and apparatus
US6415388B1 (en) * 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US6278308B1 (en) 1999-10-08 2001-08-21 Advanced Micro Devices, Inc. Low-power flip-flop circuit employing an asymmetric differential stage
US6564328B1 (en) 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6625737B1 (en) 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
US6597620B1 (en) 2001-07-18 2003-07-22 Advanced Micro Devices, Inc. Storage circuit with data retention during power down
US7111178B2 (en) 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US7096145B2 (en) 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
US6611435B2 (en) 2002-01-08 2003-08-26 Intel Corporation voltage regulator with voltage droop compensation
US7225349B2 (en) 2003-07-25 2007-05-29 Intel Corporation Power supply voltage droop compensated clock modulation for microprocessors
US7000204B2 (en) 2003-09-02 2006-02-14 Hewlett-Packard Development Company, L.P. Power estimation based on power characterizations
US7770034B2 (en) 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US7301373B1 (en) 2005-08-04 2007-11-27 Advanced Micro Devices, Inc. Asymmetric precharged flip flop
US7454637B2 (en) 2005-09-02 2008-11-18 Intel Corporation Voltage regulator having reduced droop
US7925899B2 (en) 2005-12-29 2011-04-12 Intel Corporation Method, system, and apparatus for runtime power estimation
US7549069B2 (en) * 2006-03-15 2009-06-16 Fujitsu Limited Estimating software power consumption
US7498694B2 (en) 2006-04-12 2009-03-03 02Micro International Ltd. Power management system with multiple power sources
US7642764B2 (en) 2006-05-03 2010-01-05 Intel Corporation Voltage regulator with loadline based mostly on dynamic current
US7420378B2 (en) 2006-07-11 2008-09-02 International Business Machines Corporation Power grid structure to optimize performance of a multiple core processor
EP1887815A1 (en) * 2006-08-11 2008-02-13 Motorola, Inc. Method, system, and apparatus for energy consumption estimation in a wireless terminal
US7673160B2 (en) 2006-10-19 2010-03-02 International Business Machines Corporation System and method of power management for computer processor systems
US8060765B1 (en) 2006-11-02 2011-11-15 Nvidia Corporation Power estimation based on block activity
US8406937B2 (en) * 2008-03-27 2013-03-26 Orion Energy Systems, Inc. System and method for reducing peak and off-peak electricity demand by monitoring, controlling and metering high intensity fluorescent lighting in a facility
US8010824B2 (en) * 2008-04-11 2011-08-30 Advanced Micro Devices , Inc. Sampling chip activity for real time power estimation
US8214663B2 (en) 2009-04-15 2012-07-03 International Business Machines Corporation Using power proxies combined with on-chip actuators to meet a defined power target
US8271809B2 (en) 2009-04-15 2012-09-18 International Business Machines Corporation On-chip power proxy based architecture
US8527794B2 (en) 2010-05-27 2013-09-03 Advanced Micro Devices, Inc. Realtime power management of integrated circuits
US8442786B2 (en) 2010-06-02 2013-05-14 Advanced Micro Devices, Inc. Flexible power reporting in a computing system
US8484593B2 (en) 2010-07-19 2013-07-09 Advanced Micro Devices Method of determining event based energy weights for digital power estimation
US8458501B2 (en) 2010-07-27 2013-06-04 International Business Machines Corporation Measuring data switching activity in a microprocessor
US9092219B2 (en) 2010-11-02 2015-07-28 Advanced Micro Devices, Inc. Method and system of sampling to automatically scale digital power estimates with frequency
US9052359B2 (en) 2010-11-02 2015-06-09 Advanced Micro Devices, Inc. Method and system for varying sampling frequency to avoid software harmonics when sampling digital power indicators
US8635483B2 (en) 2011-04-05 2014-01-21 International Business Machines Corporation Dynamically tune power proxy architectures
US8650428B2 (en) 2011-07-19 2014-02-11 Ati Technologies Ulc Dynamic weight calculation in a digital power estimation and management system
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
JP2013168041A (ja) 2012-02-16 2013-08-29 Nec Casio Mobile Communications Ltd 携帯型機器、その状態通知方法およびプログラム
US9170631B2 (en) * 2013-02-05 2015-10-27 Advanced Micro Devices, Inc. Adaptive temperature and power calculation for integrated circuits
US20140244997A1 (en) * 2013-02-25 2014-08-28 Qualcomm Incorporated Emergency mode for iot devices
US9286568B2 (en) 2013-05-03 2016-03-15 Asurion, Llc Battery drain analysis and prediction for wireless devices
JP2015111326A (ja) * 2013-12-06 2015-06-18 富士通株式会社 電力見積方法、電力見積装置及びプログラム
US9886076B2 (en) 2014-12-04 2018-02-06 Dell Products, Lp User scheduled portable device power management
CN104601822A (zh) 2015-02-04 2015-05-06 上海斐讯数据通信技术有限公司 一种移动终端应用的功耗计算系统及方法
GB2547932B (en) * 2016-03-03 2019-08-14 Arm Ip Ltd Time-limited access to configuration settings
GB201609687D0 (en) * 2016-06-02 2016-07-20 Open En Ltd System and method for controlling an electrical load
CN107357405B (zh) * 2017-06-08 2020-11-27 华为技术有限公司 功耗控制方法及相关设备
WO2019040050A1 (en) * 2017-08-22 2019-02-28 Intel Corporation ENERGY MANAGEMENT BASED ON APPLICATION PRIORITY FOR COMPUTER DEVICE
US10620682B2 (en) * 2017-12-21 2020-04-14 Intel Corporation System, apparatus and method for processor-external override of hardware performance state control of a processor
CN110308782B (zh) * 2018-03-22 2023-09-08 阿里巴巴集团控股有限公司 功耗预测、控制方法、设备及计算机可读存储介质
JP7181464B2 (ja) 2019-02-25 2022-12-01 富士通株式会社 電力推定プログラム、電力推定装置及び電力推定方法

Also Published As

Publication number Publication date
CN116635813A (zh) 2023-08-22
WO2022103879A1 (en) 2022-05-19
KR20230104886A (ko) 2023-07-11
JP7419605B2 (ja) 2024-01-22
US11836031B2 (en) 2023-12-05
US20220147134A1 (en) 2022-05-12
EP4244701A1 (en) 2023-09-20

Similar Documents

Publication Publication Date Title
US9557804B2 (en) Dynamic power limit sharing in a platform
US9176569B2 (en) Apparatus and method for dynamically adjusting frequency of central processing unit
KR102640309B1 (ko) 집적 회로 칩에 대한 전압 조절기들
US8161312B2 (en) Processing data using multiple levels of power control
US11079831B2 (en) Control scheme to temporarily raise supply voltage in response to sudden change in current demand
TW201107957A (en) Altering performance of computational units heterogeneously according to performance sensitivity
US11435813B2 (en) Neural network power management in a multi-GPU system
US11954792B2 (en) Real-time GPU rendering with performance guaranteed power management
CN114424144B (zh) 自适应片上数字功率估计器
CN104951044B (zh) 动态电压和频率调节方法、片上系统及设备
US11703930B2 (en) Platform power manager for rack level power and thermal constraints
US20200089300A1 (en) Load line regulation via clamping voltage
CN106462456B (zh) 基于对生产者/消费者工作负载序列化的检测的处理器状态控制
CN117642710A (zh) 用于响应于电压下降在超频期间启用时钟拉伸的系统和方法
JP7419605B2 (ja) 電力推定機構のアプリケーションオーバーライド
US20190286214A1 (en) Metering gpu workload with real time feedback from a power sensor or block activity to maintain below predetermined power budget
JP2021525936A (ja) プロセッサに適応可能な電圧マージン
US11714442B2 (en) Controlling electrical power consumption for elements in an electronic device based on a platform electrical power limit
KR20210032213A (ko) 전력 스텝에 기초한 동적 다이내믹 전압 주파주 스케일링(dvfs) 수행 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231114

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20231114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240110

R150 Certificate of patent or registration of utility model

Ref document number: 7419605

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150