JP5564564B2 - 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置 - Google Patents

計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置 Download PDF

Info

Publication number
JP5564564B2
JP5564564B2 JP2012521824A JP2012521824A JP5564564B2 JP 5564564 B2 JP5564564 B2 JP 5564564B2 JP 2012521824 A JP2012521824 A JP 2012521824A JP 2012521824 A JP2012521824 A JP 2012521824A JP 5564564 B2 JP5564564 B2 JP 5564564B2
Authority
JP
Japan
Prior art keywords
performance
power
group
computing units
sensitivity
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.)
Active
Application number
JP2012521824A
Other languages
English (en)
Other versions
JP2013500520A (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.)
Advanced Micro Devices Inc
Original Assignee
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
Priority claimed from US12/508,902 external-priority patent/US20110022356A1/en
Priority claimed from US12/508,935 external-priority patent/US8443209B2/en
Priority claimed from US12/508,929 external-priority patent/US8447994B2/en
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2013500520A publication Critical patent/JP2013500520A/ja
Application granted granted Critical
Publication of JP5564564B2 publication Critical patent/JP5564564B2/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
    • 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
    • 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
    • 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
    • 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

Description

本発明はコンピュータシステムにおける電力割り当てに関し、より特定的には性能を向上させるために電力を割り当てることに関する。
プロセッサは、電力消費をワークロード要求に釣り合わせることを目的として種々の性能レベルで動作する。性能レベルは、典型的にはプロセッサによって用いられる電圧/周波数の組み合わせにより決定される。プロセッサはこれまで多重コア及び他の機能性を伴いより高度に集積化されてきており、電力の及び熱的な検討が極めて重要なことであることに変わりはない。
改善された性能を提供するために、実施形態は、例えば周波数変化やシステムにおいて利用可能な電力ヘッドルームによる実行能力の変化に対する計算ユニットの性能感度に基づく電力割り当て戦略に基づいて、処理コア及びグラフィックス処理ユニットのような計算ユニット上で実行されるワークロードの解析を可能にし、一定の電力制限のなかでシステム性能を改善する。
そこで、1つの実施形態においては、複数の計算ユニットを含むコンピュータシステムを動作させるための方法が提供される。方法は、計算ユニットのそれぞれの性能感度に従って1つ以上の計算ユニットの性能を変化させることを含む。方法は、1つ以上の計算ユニットのどれが他の計算ユニットよりも高い性能感度を有しているかに従って1つ以上の計算ユニットの性能を変化させることを含んでいてよい。実施形態においては、計算ユニットは複数の処理コアのグループを含み、方法は、処理コアのグループの性能をブーストすることに起因して予想される電力マージンがゼロよりも小さい場合においては、グループ内の他よりも低いブースト感度を伴うコアをグループから除去して小さいグループを形成することと、小さいグループ内のコアの性能がブーストされたときに、新たな予想される電力マージンを計算すると共に新たな予想される電力マージンがゼロよりも大きいかどうかを決定することとを更に含む。新たな予想される電力マージンがゼロよりも大きい場合には、小さいグループ内のコアの性能がブーストされる。小さいグループ内のコアは、小さいグループ内のコアに供給されるクロック信号の少なくとも周波数を増大することによってブーストされてよい。
それぞれの計算ユニットの性能感度は、第1及び第2の性能レベルで決定されるそれぞれの計算ユニットの第1及び第2の性能測定基準に従って決定され得る。
別の実施形態においては、複数の計算ユニットを含む装置が提供される。装置は、それぞれの計算ユニットに対する性能感度を記憶する記憶装置を更に含む。ハードウエア、ファームウエア、及び/又はソフトウエアにおいて実装される電力割り当て機能は、性能感度に従って1つ以上の計算ユニットの性能をブーストする。
電力割り当て機能は、計算ユニットのどの1つ以上が計算ユニットの他よりも高い性能感度を有しているかに応答する。
電力割り当て機能は、計算ユニットの各々の性能感度をスレッショルド値と比較すると共にスレッショルドよりも高い性能感度を有している計算ユニットをブーストするように構成され得る。
電力割り当て機能は、コアのグループの全てをブーストされた性能状態へとブーストするには十分でない予想される電力マージンに応答してよく、計算ユニットのグループから1つ以上の計算ユニットを除去し、新たな予想される電力マージンを再計算するものであってよく、除去は、グループの他の計算ユニットの性能感度よりも低いそれぞれの性能感度を有するグループからの1つ以上の計算ユニットに従って決定される。除去及び再計算は、新たな予想される電力マージンがゼロよりも大きくなるまで繰り返され、それにより計算ユニットの残りの性能をブーストすることを提供する。
添付の図面を参照することによって、当業者にとって、本発明はよりよく理解されるであろうし、またその数々の目的、特徴、及び利点が明らかになるであろう。
図1は本発明の実施形態に従う例示的なチップ上システム(SOC)システムの高位レベルのブロック図である。 図2は本発明の1つの実施形態に従いコア周波数に対する性能感度をプロファイリングするための高位レベルのフロー図である。 図3はシステムブロック図レベルでの周波数トレーニングを示す図である。 図4は周波数トレーニングの追加的な態様を示す図である。 図5は本発明の実施形態に従う電力再割り当ての例示的なフロー図である。 図6は周波数感度に従い計算ユニットをスロットルするための例示的なフロー図である。
異なる図面における同じ参照記号の使用は、類似の又は同一の事項を表す。
プロセッサ集積回路がその熱設計点(thermal design point)(TDP)を下回って動作している場合に、多重コアプロセッサ上のCPUコアの性能レベルを日和見的に引き上げる(例えば周波数を引き上げる)ことを提案してきた多くの方法がある。集積回路が動作する実際の熱点(thermal point)は、熱測定、スイッチングアクティビティ測定、又は電流測定によって決定され得る。そのような手法は、所与のTDPの下での性能を改善するために見積もられた電力、電流、又は熱ヘッドルーム(thermal headroom)がある場合には、複数のCPUコアの動作周波数が同時に引き上げられることを可能にし、また動作がそれらの限界を超えている場合には、CPUコアの動作周波数が減少させられることを可能にする。そのような手法は、全てのアクティブなCPUコアが、それらの周波数が協調的なやり方で引き上げられている場合にそれらの最大性能で動作することを前提としてきた。
別の手法は複数のCPUコアの間での電力再割り当てを提供する。P0(オペレーティングシステム(OS)によって設定される最も高い性能状態)にあるコアは、性能状態が何らかのスレッショルド(より低い性能状態によって定義される)を下回る他の単一又は複数のコア上で利用可能な電力ヘッドルームを再割り当てすることによって、オーバークロックされることがある。
コアの性能状態に基づいて全てのコアに対して又は1つ以上のコアに対して電力を均一に増大するための上述した手法は、アイドル中の計算ユニット、例えばCPU又はグラフィカル処理ユニット(GPU)から電力を再割り当てすることを可能にするが、周波数をディザリング(dithering)し又は定常状態周波数をブーストする場合に全てのアクティブなユニットを均等に扱ってしまう。しかし、幾つかのアクティブなコア又は他の計算ユニットが、より高いコア周波数から性能増大を殆ど獲得していない又は全く獲得していないことがある一方で、他のコア又は計算ユニットは、コア周波数における増大に対してより高い感度を伴うワークロードを動作させているかもしれない。周波数感度に基づきアクティブなコア又は他の計算ユニットの間で電力を選択的に分配することは、均一なワークロード又は不均一なスレッドを伴う多重スレッド化されたワークロードに対して、より大きな全体のシステムスループットを可能にする。このことは、コア周波数の変化に対するワークロード感度を識別する効果的な手法を必要としている。
図1は本発明の実施形態を実装している例示的なチップ上システム(SOC)100の高位レベルを示す図(high-level view)である。SOC100は、多重CPU処理コア101、GPU(グラフィックス処理ユニット)103、I/Oブリッジ105(幾つかの実施形態ではサウスブリッジと称される)、及びノースブリッジ107(幾つかの実施形態ではメモリ制御器と兼ねることがある)を含む。電力割り当て制御器109は、熱設計点(TDP)電力ヘッドルームのダイ上又はプラットフォーム上構成部品への割り当てを制御する機能要素である。性能解析制御論理111は、後で更に説明されるように、コア及び他の計算ユニットの性能感度を解析する。尚、電力割り当て制御器109及び性能解析センタ111はノースブリッジ107の部分として示されているが、他の実施形態においては、それらはSOC100内の別の場所にあってもよい。
TDP(熱設計点)は、SOC全体によって消費され得る電力を表し、そして形状因子(form-factor)、利用可能な冷却解決法、ACアダプタ/バッテリ、及び電圧レギュレータのような因子に依存する。SOC性能は最新のTDPの範囲内で最適化され、ある実施形態においては、TDPに対応する電力限界は超えられない。SOC電力限界がSOCのTDP限界(SOC_TDP_Limit)であると仮定する。SOC特性は、典型的にはダイ上構成部品の各々に対して最大電力を割り当てることに基づくと共にSOC_TDP_Limitの範囲内にとどまる。このことは、最高動作点(周波数(F)及び電圧(V)における)で実行されると最大限予想されるアクティビティでさえも、割り当てられた限界(envelope)に対して電力を超えさせないように、この最高動作点を設定することによって生じる。例えば、4コアSOCの最大電力が40wのTDP限界によって制限されていると仮定する。表1はダイ上構成部品の各々に対して割り当てられる電力割当量(power budget)を箇条書きしている。
Figure 0005564564
8wの電力割り当て量は、コアの最高の公称動作点(F,V)を定義している限界であり、またGPUに対しては5wの電力割当量がそれである。しかし、このような割り当ては、全てのダイ上構成部品の同時使用を前提としているから、保守的でありまた公称最大値でしかない。多くの現実的なアプリケーションは、CPU制約又はGPU制約(GPU-bounded)のいずれかである。あるアプリケーションが両計算エンジンを用いているとしても(例えばビデオ再生はプロセッサコアに対して幾つかのタスクを解放する)、そのアプリケーションは4プロセッサコア全部を利用しはしない。CPU制約のクライアントアプリケーションでさえ、多くの場合、1乃至2個のプロセッサコア(1乃至2スレッドのワークロード)を利用し、またそれらのうちの少数のみが、長時間にわたって4つのコア全部を利用するのに十分な並列性を有している。
ある実施形態は、アイドリング中の又はより活動的でない構成部品から活発に動作している構成部品への電力の再割り当てを、活発に動作している構成部品にもっと多くの電力を割り当てることによって提供する。例えば、4つのうちの2つのコアがアイドリング中であり且つGPUが半分の電力で動作しているワークロードの例において、この状態を反映する電力割当量が表2に示されている。
Figure 0005564564
コア0及びコア1は、全体的なCPUスループットを改善するために16.75wを割り当てられる。両コアの動作点(F,V)は、新たな電力ヘッドルーム(8wの代わりに16.75w)を満たすために高められてよい。代替的には、一方のコアの電力割当量だけが25.5wに増大されると共に、他方のコアは8wの電力割当量に維持されてよい。このような場合、増大された電力割当量を伴うコアは、より高い動作点(F,V)までブーストされてよく、その結果、新たな電力ヘッドルーム(25.5w)が有効に用いられ得る。この特定の場合において、2つのコアを均等にブーストするかあるいは利用可能な全ての電力ヘッドルームを1つのコアへ供給するかの決定は、全体的なSOC性能を改善するために何が最良であるかに依存している。
ブースト感度トレーニング及びデータ構造
ある実施形態によると、改善された性能向上を試み且つ達成するためにコア0とコア1の間でどのように電力を割り当てるかを決定する1つの方法は、2つのコアのどちらが、もしあれば例えば周波数の増大により提供される実行能力における向上をより有効に活かすことができるかを知ることである。実行能力の変化は、例えば、コアが利用可能なキャッシュの量の変化、コアで動作中のパイプラインの数、及び/又は命令フェッチ速度によってもたらされることもある。コアのうちのどれが実行能力における向上をより有効に活かすことができるかを評価するために、1つの実施形態では、周波数変化及び/又は実行能力における他の変化への各計算ユニットの性能感度、ここではブースト感度とも称される、が計算ユニットベースで決定され且つ記憶される。
図2を参照すると、本発明の1つの実施形態に従ってコア周波数変化に対して性能感度をプロファイリングするための高位レベルのフロー図が示されている。まずステップ201では、解析中のCPUコアに所定の低周波数クロック信号が予め定められた又はプログラム可能なインターバル、例えば100μs〜10msで印加される。当該インターバルの間、ハードウエア性能解析制御論理(図1参照、要素111)は、サイクル毎のコア命令(IPC)(コアの報告による)をサンプリングし、そしてその平均をとる。性能解析制御論理は、IPC×コア周波数(低周波数又は第1の性能レベル)に基づいて第1の秒毎命令(IPS)測定基準(first instructions per second (IPS) metric)を第1の性能測定基準として決定する。IPS測定基準は一時レジスタ「A」内に記憶されてよい。次いでステップ205では、性能解析制御論理は、所定の高周波数クロック信号が同じ予め定められた又はプログラム可能な時間インターバルで、解析中のCPUコアに印加されるようにする。性能解析制御論理は、ステップ207において再びIPC(コアの報告による)をサンプリングし、そしてその平均をとる。性能解析制御論理は、IPC×コア周波数(高周波数又は第2の性能レベル)に基づいて第2の秒毎命令(IPS)測定基準を決定し、そして第2のIPS測定基準を一時レジスタ「B」内に第2の性能測定基準として記憶する。性能解析制御論理は、ステップ209でAとBの間の数値差を決定し、そしてその結果を、解析中のコアの番号と解析の間にCPUコア上で実行中のプロセスのコンテクスト番号(process context number)と共に性能テーブル又はブースト感度テーブル内へ性能感度として記憶する(ステップ211)。尚、ブースト感度を決定するために、周波数変化の代わりに又は周波数変化と併せて、実行能力の他の変化が利用されてもよい。
コンテクスト番号は、CR3レジスタの内容又はCRレジスタのハッシュ(hash)がより短い番号が記憶されるのを可能にすることによって決定され得る。当該数値差はコアに対するブースト感度を表している。即ち、当該数値差は、当該特定プロセスコンテクストを実行中のコアの周波数変化に対する感度を表している。感度が高ければ高いほど、周波数を増大することによってより大きな性能向上が得られることになる。プロセッサコアの各々に対して及びその公称最大電力値を超えてブースト(オーバークロック)され得る任意の他の構成部品に対して、図2に示される同じトレーニングが適用され、そして値はブースト感度テーブル内に記憶される。ブースト感度テーブル内の値は、最も高いブースト感度を伴うコア又は他のダイ上構成部品から始まって降べき順で記憶されてよい。
他の実施形態においては、種々の性能状態を実装するためにその周波数が変化させられる可能性のある全ての計算ユニットに対して、それらが公称電力レベルを超えてクロックされ得る(オーバークロックされ得る)かどうかにかかわらず、周波数感度トレーニングが適用される。そのようにして、システムは、周波数変化に対してより繊細なコア(又は他の計算ユニット)については電力割り当て量を与え、また周波数変化に対してより繊細でないコアからは電力割り当て量を取り去るように更に割り当てすることができる。そのようにして、SOCに対する顕著な性能低下を伴うことなしに、コア又は他の計算ユニットはそれらの周波数を低下させて電力を節約することができる。
図3はシステムブロック図レベルでの周波数トレーニングを示している。トレーニング中のコア301が各コアに対する周波数トレーニングを代表している。クロック発生器303は、性能解析制御論理111によって制御されて、高周波数及び低周波数のクロック信号をコア301へ周波数周期の間に供給する。コア301はサイクル毎命令の値を性能解析制御論理111へ供給し、性能解析制御論理111は、図2に従って処理を制御する。図4は第1の時間周期の間にサンプリングし且つ平均をとることによって決定されるサイクル毎命令の測定値(IPC1)を示しており、IPC1は、乗算器401において、第1の時間周期の間に供給される周波数(FREQ1)と乗ぜられる。同様に、第2の時間周期の間に決定されるサイクル毎命令の測定値(IPC2)は、乗算器403において、第2の時間周期の間に供給される周波数(FREQ2)と乗ぜられる。乗算器401及び403において決定された利用測定基準の差が加算器405において決定される。その結果がブースト感度であり、ブースト感度テーブル407内に記憶される。ブースト感度テーブル407は、各測定に対して、結果と共にコア番号(C#)、コアで実行中の処理コンテクスト、及び最後の性能感度測定からの経過時間を記憶する。その結果が、例えば平均IPC×コア周波数によって計算される秒毎命令(IPS)として表現された性能測定基準又はブースト感度である。尚、ブースト感度テーブルは、SOC100(図1)内又はコンピュータシステムにおける他の場所に記憶されてよい。
各コアに対するブースト感度は、最新のプロセッサコンテクストに関連しており、最新のプロセッサコンテクストは、ノースブリッジにより追跡されるCR3のx86レジスタ値によって概算され得る。1つの実施形態においては、コンテクストが変化するときに、感度は再評価される。別の実施形態においては、ブースト感度は、固定の又はプログラム可能なタイマに基づいて各コンテクストに対して満了する(例えば1〜100ms後)。更に他の実施形態においては、タイマ及びコンテクスト切り替えの両方のうちどちらでも最初に生じたものが、ブースト感度再評価を開始するために用いられる。
このように、周波数トレーニングのための1つの実施形態が説明されてきた。図2における機能性は、ハードウエア(例えば性能解析制御ブロック111内の状態マシン)内、ファームウエア(マイクロコード又はマイクロ制御器内の)内、又はソフトウエア(例えばドライバ、BIOSルーチン又は高位レベルソフトウエア)内で実装されてよい。ソフトウエアは、低周波数及び高周波数のクロック信号を供給開始し、IPC値を受信し、IPC値の平均値を求め、そして図2に関連して説明される他の機能を実行するように機能し得る。ソフトウエアは、図1のコンピュータシステムにおいて、コンピュータ可読な電子的、光学的、磁気的、又は他の種類の揮発性若しくは不揮発性のメモリ内に記憶されてよく、そして1つ以上のコアによって実行されてよい。更に他の実施形態においては、図2に示される上述の周波数感度トレーニングは、特定のシステムのニーズ及び能力に応じて、部分的にはハードウエアにおいて、また部分的にはソフトウエアにおいて実装される。例えば、ソフトウエアは、ブースト感度テーブルを維持し、CR3レジスタを読んで処理コンテクストを決定し、そしてブースト感度を再決定するためにソフトウエアタイマを維持することに関与してよい一方で、ハードウエアは、ソフトウエアによって通知されたときに、第1及び第2の周波数を有するクロックを適切な時間周期で印加すると共に平均IPCを決定する。ソフトウエアはIPS値を決定することに関与することがある。
電力割当量の再割り当て
ブースト感度テーブル(BST)は、周波数感度トレーニングセッションの結果として、ブーストされる可能性のある構成部品のために維持される。他の実施形態においては、周波数感度テーブルが、周波数感度トレーニングの結果として、典型的には周波数(及び必要であれば電圧)を調節することを通してその性能が調節され得る全ての構成部品のために維持される。ある実施形態においては、電力割当量の再割り当ては、BST内の情報を用いて、単一又は複数のどのダイ上構成部品がブーストに対して最も敏感で、従って再割り当てが生じたときに再割り当てされるより高いTDP電力マージンを獲得するのに「ふさわしい」のかを決定する。
特定のプロセッサコアは、N個の性能状態の1つにあってよい。性能状態は、コア電圧及び周波数の値の固有のペアによって特徴付けられる。最も高い性能状態は、典型的には、任意の予想されるアクティビティが、コアに対して割り当てられた電力割当量を当該コア電力(動的+静的)が超えることのないようにし得るように、選択されそして特徴付けられる。最新のシステムにおいては、コア性能状態は、現在のコア利用により導かれるオペレーティングシステムソフトウエアによって定義される。他の実施形態においては、コア性能状態は、コアによって現在実行されているコンテクストに基づいて、ハードウエアによって指定されてよい。表3は、オペレーティングシステム(OS)(又は任意の他の高位レベルソフトウエア)が時間インターバルにわたるコア利用に応じて各コアに対して利用し得る4つの性能状態(P0、P1、P2、及びP3)を有する例示的なシステムのための性能状態を示している。1つの例示的なオペレーティングシステムにおける時間インターバルは、1ミリ秒〜100ミリ秒の範囲にある。OS(又は任意の他の高位レベルソフトウエア)がコアを低C状態にセットしている場合、2つのアイドル状態が用いられる。C状態はコア電力状態である。この特定の実施形態においては、コアは、アイドル状態(短時間のアイドルであることが期待される場合)又は深いC状態のいずれかに置かれてよい。最も高い動作点(Pブースト)は、コア電力(CoreBoostPwr)が当該特定コアに対して割り当てられる公称最大電力割当量を超えるときのものである。
Figure 0005564564
GPU電力状態は、従来どおりソフトウエア(グラフィックスドライバ)によって制御される。他の実施形態においては、GPU電力状態は、ハードウエアがGPUアクティビティを追跡すると共に他のグラフィック関連エンジン(ユニファイドビデオデコーダ(UVD)、ディスプレイ等)からの情報を受信することによって制御されてもよい。1つの例示的な実施形態においては、GPUは、表4に示されるように、4つの電力状態のうちの1つであってよい。
Figure 0005564564
1つの実施形態においては、2種類のダイ上構成部品、即ちコアプロセッサ及びGPUのみがより高い性能点までブーストされてよい。コア又はGPUのブースト処理に対して、I/Oモジュール及びメモリ制御器がそれらの「不使用な」電力割り当てをこれらの構成部品へ再割り当てすることによって貢献し得るが、それらはそれら自身によってはブーストされ得ない。他の実施形態においては、メモリ制御器は、ダイナミックランダムアクセスメモリ(DRAM)及びそれ自身の周波数をより高い動作点へ移行させることによるのと同じようにしてブーストされ得る。
計算ユニットへ電力を効率的に割り当てる1つの実施形態は、利用可能な電力ヘッドルームを恒久的に追跡すること、又はTDP電力マージンを基礎としている。SOCのTDPマージン(SOC_TDP_Margin)は、全てのダイ上構成部品の電力消費の和をSOC_TDP_Limitから減ずることによって計算され、即ち、SOC_TDP_Margin=SOC_TDP_Limit−ΣCore(i)Pwr−GPU_Pwr−Memory_Controller_Pwr−I/O_Bridge_Pwrとなる。ダイ上構成部品の状態における任意の変化が、SOC_TDP_Margin値の更新のトリガーとなる。1つの実施形態においては、更新をトリガーする状態の変化は、性能若しくは電力状態の変化又はアプリケーション/ワークロードアクティビティの変化である。他の実施形態においては、更新をトリガーする状態の変化は、処理コンテクスト変化であってよく、又は処理コンテクスト変化若しくは性能状態変化のいずれかであってよい。ある実施形態においては、構成部品によって消費される電力の変化、例えば性能/電力状態の変化又はアプリケーション/ワークロードアクティビティの変化、を結果としてもたらす任意のイベントは、状態トリガーイベントの変化として機能し得る。
一般的には、特定の計算ユニットの電力(電圧×電流)は、クロック信号の周波数、供給電圧、及び計算ユニットにおけるアクティビティの量に基づいている。各計算ユニットの電力を決定する特定の手法は、システムの能力及びニーズに従って変わるであろうし、またハードウエア及び/又はソフトウエア手法に基づいて実装されるであろう。例えば、1つの手法においては、平均電力値=動的電力+静的電力として平均電力値を計算すると共に報告する。動的電力は、動的電力=(平均ワークロードアクティビティ/最大アクティビティ)×最大電力として計算することができ、ここで最大電力は、最大アクティビティに関連する最大動的電力の融合した又は設定可能な値(fused or configurable value)である。静的電力は計算ユニットが動作している電圧に依存し、また静的電力は、テーブルから抽出することができ、さもなければ電力管理資源から利用可能にされ又はハードウエアで決定され得る。平均ワークロードアクティビティは、インターバルにおける計算ユニットでの信号切り替え(signal toggles)の平均数として、又はインターバルにおける平均IPCとして計算され得る。電力計算は、ソフトウエア(例えばドライバ)が計算ユニットで実行中のアプリケーションのアクティビティを知っており且つ上述と同様の手法を用いて平均電力を決定するソフトウエア方法を利用してもよい。
ある実施形態においては、P0状態にあるコア及びGPU_P0状態にあるGPUのみが、他のダイ上構成部品から電力を再割り当てされ得ると共により高い性能点へとブーストされ得る。このことは、P0状態にあるコア又はGPU_P0状態にあるGPUが、現在実行されているタスクが計算的に拘束されていることの本質的な暗示(オペレーティングシステム又は幾つかの高位レベルソフトウエア、例えばグラフィックスドライバによってもたらされる)であるという観察に基づいている。他の実施形態においては、コア及び/又はGPUは、それらが他の非アイドル状態にあるときにブーストされてよい。
図5は電力を割り当てる電力割り当て制御器109(図1)の実施形態の動作の例示的なフロー図を示している。ステップ501では、電力割り当て制御器は、任意のダイ上構成部品に対する状態変化、例えば性能状態変化、アプリケーション/アクティビティ変化、又は処理コンテクスト変化を待つ。状態変化が生じると、ステップ503においてTDP_SOC_Marginが追跡され、そしてステップ505においてマージンが0よりも大きいかどうかの決定がなされる。大きくない場合にはフローはステップ501に行く。マージンが0よりも大きい場合、これは1つ以上のコアをブーストするヘッドルームがあることを意味し、この場合、ステップ507において任意のCPUコアがP0状態にあるかどうかを調べるためにチェックがなされる。この特定の実施形態においては、P0にあるコアのみがブーストされ得る。P0にあるコアがない場合、フローはステップ523においてGPU電力状態をチェックする。少なくとも1つのコアがP0にある場合、電力割り当て制御器は、ステップ509において、P0にある全てのコアに対して、新TDP_SOC_Margin=TDP_SOC_Margin−Σ(CoreBoostPwr−CorePwr)を計算することによって、全てのP0コアをブーストするのに十分なルームがあるかどうかをチェックする。新TDP_SOC_Marginは、P0にある全てのコアがブーストされると仮定した場合に予想されるマージン値である。TDP_SOC_Marginは現在のマージン値である。CoreBoostPwrはブーストされたときのコア電力であり、そしてCorePwrはP0状態にある現在のコア電力である。電力割り当て制御器は、ステップ511において新マージンがゼロよりも大きいかどうかをチェックする。大きい場合には、全てのP0コアをブーストするのに十分なヘッドルームがあることになり、当該処理がステップ515でなされると共にTDP_SOC_Marginが更新される。フローは次いでステップ501へ戻り、別の状態変化を待ち受ける。
ステップ511においてマージンがゼロより大きくない場合には、何らかのマージンが可能であるかどうかを見つけるためにフローはステップ517へ進む。最も高い感度を伴うコアが識別される。このことは、例えば上述したブースト感度トレーニングによりもたらされるブースト感度テーブルにアクセスすることによってなされてよい。ステップ519では、P0状態にあるコアが例えばブースト感度の降べき順で順序付けられる。従って、最後尾は周波数増大に対して感度が最も小さい。ステップ521では、電力割り当て制御器は、最も低いブースト感度を伴うコアを1つずつリストから除去し、そしてリストにまだ残っている全てのコアに対してステップ509におけるように新TDP_SOC_Marginを再計算する。他の実施形態においては、予め定められた又はプログラム可能なスレッショルドを下回るブースト感度を有する全てのコアが一斉にリストから除去される。これに対する論拠は、性能が向上され得ないであろうコアをブーストすることによる電力を浪費しないようにするところにある。新TDP_SOC_Marginがゼロよりも大きい場合には、リストにまだあるP0コアはPブーストに移行させられ、そしてTDP_SOC_Marginが更新される。
ステップ523では、電力割り当て制御器は、GPUがGPU_P0状態にあるかどうかを調べるためにチェックする。GPU_P0状態にない場合には、フローは501に戻って状態変化を待ち受ける。GPUがP0状態にある場合には、電力割り当て制御器は、GPUに対してブーストされる電力とその現在の電力の差を現在のTDP_SOC_Marginから減じて新TDP_SOC_Marginを計算することによって、GPUをブーストするのに十分なヘッドルームがあるかどうかをステップ525で決定する。ステップ527では、電力割り当て制御器は、新マージンがゼロよりも大きいかどうかを調べるためにチェックし、もしゼロよりも大きければ、GPUをそのブーストされた状態へ移行させると共にTDP_SOC_Marginを更新し、そしてステップ501に戻って任意の構成部品における別の状態変化を待ち受ける。十分なマージンがない場合には、フローはステップ501に戻る。
このように、十分なマージンがある場合にはP0状態にある計算ユニットに電力を割り当てると共に、周波数ブーストにそれほど敏感ではない計算ユニットを除くことによって当該マージンを見出すための1つの実施形態が説明されてきた。他の実施形態においては、追加的な電力を保証するために、例えば予め定められた又はプログラム可能なスレッショルドを上回る十分に高いブースト感度を伴う例えば計算ユニットにだけ周波数ブーストがもたらされる。そのようにして、可能であれば低減された電力消費を維持することを試みつつ、性能の向上を図ることができる。
図5における機能性は、ハードウエア(例えば状態マシン)内、ファームウエア(マイクロコード又はマイクロ制御器内の)内、又はソフトウエア(例えばドライバ、BIOSルーチン又は高位レベルソフトウエア)内、あるいはブースト感度に基づいて電力を割り当てるハードウエアやソフトウエアの任意の適切な組み合わせにおいて実装されてよい。ブースト感度情報がブースト感度トレーニングから利用可能であるとすると、1つの実施形態においては、ソフトウエアは、任意の構成部品の状態の変化を通知されて図5に関連して説明された手法を実装してよい。ソフトウエアは、図1のコンピュータシステムにおいて、コンピュータ可読な電子的、光学的、磁気的、又は他の種類の揮発性若しくは不揮発性のメモリ内に記憶されてよく、そして1つ以上のコアによって実行されてよい。更に他の実施形態においては、図5の機能性は、特定のシステムのニーズ及び能力に応じて、部分的にはハードウエアにおいて、また部分的にはソフトウエアにおいて実装される。
ブースト感度情報の有用性は、SOCによって種々の方法で利用され得る。中央処理ユニット(CPU)スロットリングはそのような利用の1つの例である。GPU拘束のアプリケーションが実行中であると仮定する。即ち、GPU上で実行中のアプリケーションは、例えば現在の性能状態が特定のアプリケーションに必要とされるよりも低いことを理由として、GPUの性能によって制限される。その場合、コアの全てにP状態制限(例えばP状態制限=P2状態)を課すことによって、CPUコアがスロットルされてよい(それらの性能を制限してよい)。このことは、利用可能な電力マージンをGPUに対して解放することになる。ある実施形態においては、GPU拘束の又はCPU拘束のアプリケーションは、特定のコア又はGPUがどれくらいビジーであるかを表すデータに基づいて識別される。
代替的には、周波数に対して最も低い性能感度を伴うコアのみがP状態制限へとスロットルされてよい。例えば、4コアシステムにおいては、ブースト感度テーブルに従いコア周波数変化に対して最も低いIPS感度を伴う2つのコアが、P状態制限=P2を課すことによってスロットルされてよい一方で、他のコアの状態は変化しないままであってよい。このことは、GPUに対して((Core_Pwr0−Core_Pwr2)×2)に等しい電力マージンを解放するであろうし、ここでCore_Pwr0はP0状態にあるコアによって消費される電力であり、またCore_Pwr2はP2状態にあるコアによって消費される電力である。
更に他の実施形態においては、CPU拘束の(又は計算拘束の)アプリケーション(1つ以上の処理コアの性能によって制限されるアプリケーション)が実行中である場合、しばしばアプリケーションは利用可能なコアのサブセットで実行されるから、周波数増大(又は周波数低減)にそれほど敏感でないコアは、他のコアに対して追加のマージンをもたらすためにスロットルされてよい。GPU拘束のアプリケーションは、GPUの性能によって制限されるアプリケーションである。
図6はブースト感度情報に基づく性能スロットルの高位のレベルのフロー図を示している。ステップ601では、CPU拘束の又はGPU拘束のアプリケーションが識別される。ステップ603では、記憶されているブースト感度情報又は性能感度情報が精査され、そしてステップ605では、例えば周波数、電圧、コアに利用可能なキャッシュの量、コアで動作しているパイプラインの数、及び/又は命令フェッチ速度の低減のような実行能力の低減に対しては性能に関してそれほど繊細でないコアのサブセットに基づいて、計算ユニットのサブセット、例えば処理コアが、スロットルするものとして識別される。ステップ607では、サブセットの性能が制限され、そしてスロットルすることによって利用可能にされた電力ヘッドルームが、ステップ609において、CPU拘束の及び/又はGPU拘束のアプリケーションを実行中の単一又は複数の計算ユニットに対して提供される。図6において説明される機能性は、電力割り当て制御器109内又は高位のレベルのソフトウエア内に実装されてよく、あるいはハードウエア及びソフトウエアの両方を利用して実装されてよい。
アプリケーションが主としてCPUコアを利用する場合、GPUは、GPU_Pwr0よりも低いP状態制限にGPUを強制すること又はその命令/メモリトラフィックストリームをスロットルすることのいずれかによってスロットルされてよい。スロットルされたGPU電力がGPU_Pwr2に等しい場合、追加の電力マージンGPU_Pwr0−GPU_Pwr2が、ブースト感度テーブル値に応じて1つ以上のCPUコアをブーストするために再割り当てされ得る。
計算拘束ワークロードが多重コアプロセッサ上又はGPU上で動作する場合、メモリもまたスロットルされてよい。1つの方法は、幾つかのサイクルだけDRAMへのアクセスを1つおきにストール(stall)することによって、DRAM_I/O及びDRAM_DIMM電力の動的な部分を2に近い係数で低減することである。別の手法は、幾つかの利用可能なメモリチャネルを中断することを含んでいてよく、これによってもDRAM_I/O及びDRAM_DIMM電力の所与のパーセンテージを解放することができる。低減されたDRAM_I/O電力は、GPU又はCPUコアのいずれかにこれらの構成部品の利用、及びBST値(CPUコアが関係する限り)に応じて再割り当てされてよく、それにより更に高い全体的なSOC性能スループットを導き出すことができる。DRAM_DIMMはSOCの一部ではなくてよく、この場合その電力割当量はSOC_TDPの一部ではない。しかし、低減されたDRAM_DIMM電力マージンがSOC_TDPへと再割り当てし戻され得る状況においては、GPU又は幾つかのCPUコアをブーストするために追加のマージンが用いられ得る。
本発明の幾つかの実施形態に対して回路及び物理的な構造が概して想定されてはいるが、最新の半導体設計及び製造においては、物理的な構造及び回路は、後続の設計、試験、又は製造の段階における使用に適したコンピュータ可読の記述形態において具体化され得ることが、十分に認識されている。例示的な構成における個別的な構成部品として提示されている構造及び機能性は、組み合わされた構造又は構成部品として実装され得る。本発明は、回路、回路のシステム、関連する方法、並びにそのような回路、システム、及び方法を符号化しているコンピュータ可読媒体、並びにここに説明され及び添付の特許請求の範囲で画定されるような全てを包含することが意図されている。ここで用いられるコンピュータ可読媒体は、少なくともディスク、テープ、又は他の磁気的な、光学的な、半導体(例えばフラッシュメモリカード、ROM)の、若しくは電子的な媒体を含む。
このように種々の実施形態が説明されてきた。ここに記載されている本発明の説明は例示的なものであり、そして下記の特許請求の範囲に記載される本発明の範囲を限定することを意図するものでないことを特記しておく。例えば、複数の計算ユニットが多重コアプロセッサの一部であってよい一方で、他の実施形態においては、複数の計算ユニットが、一緒に又は別個にパッケージされ得る複数の別個の集積回路内にあってよい。例えば、グラフィカル処理ユニット(GPU)及びプロセッサは、一緒に又は別個にパッケージされ得る複数の別個の集積回路であってよい。ここに開示される実施形態の変形及び修正が、下記の特許請求の範囲に記載される本発明の範囲から逸脱することなしに、ここに記載される説明に基づいてなされるであろう。

Claims (9)

  1. グループ内の複数の計算ユニットを含むコンピュータシステムを動作させるための方法であって、
    前記グループ内の1つ以上の前記計算ユニットであって前記グループ内の他の前記計算ユニットよりも低い性能感度を伴う1つ以上の前記計算ユニットを、前記グループ内に残っている計算ユニットの予想される電力マージンがゼロよりも大きくなるまで除去することと、
    前記グループ内に残っている前記計算ユニットの性能をブーストすることによって性能を変化させることとを備えた方法。
  2. 性能が変化させられる前記1つ以上の計算ユニットは変化させられる前に同じ電力状態にあり、前記同じ電力状態は公称最大電力状態である請求項1に記載の方法。
  3. 前記計算ユニットは前記グループ内の複数の処理コアを含む、請求項1に記載の方法。
  4. 複数の計算ユニットを含むコンピュータシステムを動作させるための方法であって、
    前記計算ユニットのグループの性能をブーストすることに起因して予想される電力マージンがゼロよりも小さい場合においては、
    前記グループ内の他よりも低い性能感度を伴う計算ユニットを前記グループから除去して計算ユニットの小さいグループを形成することと、
    新たな予想される電力マージンを計算するとともに、前記小さいグループ内の前記計算ユニットの性能がブーストされたときに、前記新たな予想される電力マージンがゼロよりも大きいかどうかを決定することと、
    前記新たな予想される電力マージンが前記小さいグループ内の前記計算ユニットに対してゼロよりも大きいときに、前記小さいグループ内の前記計算ユニットの前記性能をブーストすることによって性能を変化させることと、
    前記小さいグループに対する前記新たな予想される電力マージンが未だにゼロよりも小さいときに、他の計算ユニットに対して低いブースト感度を伴う別の計算ユニットを前記小さいグループから除去して別の小さいグループを形成することとを備える方法。
  5. 現在の実際の電力マージン−Σ(ブーストされた電力−現在の電力)に従って前記新たな予想される電力マージンを決定することを更に備え、前記ブーストされた電力はブーストされた電力レベルで動作させられる前記小さいグループ内の前記計算ユニットの電力であり、前記現在の電力は現在の電力レベルで動作している前記小さいグループ内の前記計算ユニットの電力であり、前記現在の実際の電力マージンは前記計算ユニットの現在の電力消費に対応する電力マージンである請求項に記載の方法。
  6. 記憶装置にアクセスして前記計算ユニットの前記それぞれの性能感度を決定することを更に備え、前記記憶装置は各処理コアで実行中のそれぞれの処理コンテクストに対応する性能感度を記憶している請求項1に記載の方法。
  7. 複数の計算ユニットと、
    前記計算ユニットに対するそれぞれの性能感度を記憶する記憶装置と、
    前記性能感度に従って1つ以上の前記計算ユニットの性能をブーストするように構成される電力割り当て機能と、を備え
    前記電力割り当て機能は、コアのグループの全てをブーストされた性能状態へとブーストするには十分でない予想される電力マージンに更に応答し、計算ユニットの前記グループから1つ以上の計算ユニットを除去し、新たな予想される電力マージンを再計算するものであり、前記除去は、前記グループの他の前記計算ユニットの性能感度よりも低いそれぞれの性能感度を有する前記グループからの前記1つ以上の計算ユニットに従って決定され、前記除去及び前記再計算は前記新たな予想される電力マージンがゼロよりも大きくなるまで繰り返され、それにより前記計算ユニットの残りの性能をブーストすることを提供する装置。
  8. 前記装置は少なくとも1つの集積回路を備え、前記計算ユニットは少なくとも1つの処理コア、メモリ制御器、及びグラフィックス処理ユニットを備え、前記電力割り当て機能はハードウエア、ファームウエア、及びコンピュータ可読媒体に記憶されるソフトウエアの1つ以上において実装される請求項に記載の装置。
  9. 前記それぞれの計算ユニットの前記性能感度は、第1及び第2の性能レベルで決定される前記それぞれの計算ユニットの第1及び第2の性能測定基準に従って決定される請求項に記載の装置。
JP2012521824A 2009-07-24 2010-07-23 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置 Active JP5564564B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US12/508,902 US20110022356A1 (en) 2009-07-24 2009-07-24 Determining performance sensitivities of computational units
US12/508,935 2009-07-24
US12/508,935 US8443209B2 (en) 2009-07-24 2009-07-24 Throttling computational units according to performance sensitivity
US12/508,929 2009-07-24
US12/508,902 2009-07-24
US12/508,929 US8447994B2 (en) 2009-07-24 2009-07-24 Altering performance of computational units heterogeneously according to performance sensitivity
PCT/US2010/043032 WO2011011670A1 (en) 2009-07-24 2010-07-23 Altering performance of computational units heterogeneously according to performance sensitivity

Publications (2)

Publication Number Publication Date
JP2013500520A JP2013500520A (ja) 2013-01-07
JP5564564B2 true JP5564564B2 (ja) 2014-07-30

Family

ID=42953822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012521824A Active JP5564564B2 (ja) 2009-07-24 2010-07-23 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置

Country Status (6)

Country Link
EP (1) EP2457139A1 (ja)
JP (1) JP5564564B2 (ja)
KR (1) KR20120046232A (ja)
CN (1) CN102483646B (ja)
IN (1) IN2012DN00933A (ja)
WO (3) WO2011011668A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5601236B2 (ja) * 2011-02-10 2014-10-08 富士通株式会社 情報抽出プログラム、情報抽出方法、および情報抽出装置
US20120297232A1 (en) * 2011-05-16 2012-11-22 Bircher William L Adjusting the clock frequency of a processing unit in real-time based on a frequency sensitivity value
JP5958395B2 (ja) * 2013-03-22 2016-08-02 日本電気株式会社 コンピュータシステム
US9703613B2 (en) * 2013-12-20 2017-07-11 Qualcomm Incorporated Multi-core dynamic workload management using native and dynamic parameters
US9348380B2 (en) * 2013-12-28 2016-05-24 Samsung Electronics Co., Ltd. Dynamic thermal budget allocation for memory array
JP5986138B2 (ja) * 2014-05-09 2016-09-06 レノボ・シンガポール・プライベート・リミテッド 複数のプロセッサに電力を供給する電源装置の出力を制御する方法、電源システムおよび情報処理装置
US20160077576A1 (en) * 2014-09-17 2016-03-17 Abhinav R. Karhu Technologies for collaborative hardware and software scenario-based power management
US9882383B2 (en) * 2014-12-23 2018-01-30 Intel Corporation Smart power delivery network
US9572104B2 (en) 2015-02-25 2017-02-14 Microsoft Technology Licensing, Llc Dynamic adjustment of user experience based on system capabilities
JP2016177689A (ja) 2015-03-20 2016-10-06 株式会社東芝 メモリシステム
CN108139960B (zh) * 2016-04-18 2020-07-07 华为技术有限公司 中央处理器cpu的调频方法、调频装置和处理设备
US10474221B2 (en) * 2018-01-30 2019-11-12 Hewlett Packard Enterprise Development Lp Power control in a storage subsystem
CN112074793A (zh) * 2018-06-21 2020-12-11 惠普发展公司,有限责任合伙企业 增加cpu时钟速度以改善系统性能
US11630500B2 (en) 2019-07-31 2023-04-18 Hewlett-Packard Development Company, L.P. Configuring power level of central processing units at boot time
CN110442224A (zh) * 2019-09-17 2019-11-12 联想(北京)有限公司 电子设备的电源功率分配方法、电子设备和可读存储介质
KR102103842B1 (ko) * 2019-10-02 2020-05-29 한화시스템 주식회사 차세대 함정 전투체계의 트래픽 모델링 장치
CN114816033A (zh) * 2019-10-17 2022-07-29 华为技术有限公司 处理器的调频方法及装置、计算设备
KR102275529B1 (ko) * 2019-12-23 2021-07-09 주식회사 텔레칩스 멀티-마스터를 지원하는 그래픽 처리 장치를 공유하는 시스템 온 칩 및 그래픽 처리 장치의 동작 방법
CN113078933B (zh) * 2020-01-03 2023-01-24 内蒙古龙图电气有限公司 一种基于北斗卫星通信的组网式终端控制器
GB2605277A (en) * 2020-10-13 2022-09-28 Nvidia Corp Programmable power balancing in a datacenter
CN116521355A (zh) * 2022-01-30 2023-08-01 台达电子企业管理(上海)有限公司 提升处理器峰值算力的方法、用于提升处理器峰值算力的系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10268963A (ja) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
US20020087904A1 (en) * 2000-12-28 2002-07-04 Zhong-Ning (George) Cai Method and apparatus for thermal sensitivity based dynamic power control
US7386739B2 (en) * 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints
US7490254B2 (en) * 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
WO2007056705A2 (en) * 2005-11-03 2007-05-18 Los Alamos National Security Adaptive real-time methodology for optimizing energy-efficient computing
CN101241392B (zh) * 2007-03-01 2012-07-04 威盛电子股份有限公司 根据工作温度的变化来动态改变功耗的微处理器及方法
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture

Also Published As

Publication number Publication date
CN102483646A (zh) 2012-05-30
WO2011011670A1 (en) 2011-01-27
WO2011011668A1 (en) 2011-01-27
JP2013500520A (ja) 2013-01-07
KR20120046232A (ko) 2012-05-09
CN102483646B (zh) 2015-06-03
WO2011011673A1 (en) 2011-01-27
EP2457139A1 (en) 2012-05-30
IN2012DN00933A (ja) 2015-04-03

Similar Documents

Publication Publication Date Title
JP5564564B2 (ja) 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置
US8447994B2 (en) Altering performance of computational units heterogeneously according to performance sensitivity
US8443209B2 (en) Throttling computational units according to performance sensitivity
JP5075274B2 (ja) 電力認識スレッドスケジューリングおよびプロセッサーの動的使用
EP2466460B1 (en) Compiling apparatus and method for a multicore device
US10579132B2 (en) System and method for performing distributed power management without power cycling hosts
JP6668355B2 (ja) 動的時間的電力ステアリングのためのシステム及び方法
US20110022356A1 (en) Determining performance sensitivities of computational units
WO2013036497A2 (en) Dynamically allocating a power budget over multiple domains of a processor
KR101140914B1 (ko) 컴퓨팅 자원들을 제어하는 기술
KR20120066189A (ko) 매니코어 시스템에서 응용 프로그램의 상태를 동적으로 재구성하는 장치 및 방법
US10768684B2 (en) Reducing power by vacating subsets of CPUs and memory
JP6477260B2 (ja) アプリケーションを実行する方法及びリソースマネジャ
US9389919B2 (en) Managing workload distribution among computer systems based on intersection of throughput and latency models
CN117850566A (zh) 一种IaaS云平台中宿主机电源动态管理算法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131218

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140318

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140416

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: 20140604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140616

R150 Certificate of patent or registration of utility model

Ref document number: 5564564

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250