特表2018-515870(P2018-515870A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エイエムディー プロダクツ (チャイナ) カンパニー リミテッドの特許一覧

特表2018-515870一時的な熱結合を考慮した電力バジェット方法
<>
  • 特表2018515870-一時的な熱結合を考慮した電力バジェット方法 図000003
  • 特表2018515870-一時的な熱結合を考慮した電力バジェット方法 図000004
  • 特表2018515870-一時的な熱結合を考慮した電力バジェット方法 図000005
  • 特表2018515870-一時的な熱結合を考慮した電力バジェット方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2018-515870(P2018-515870A)
(43)【公表日】2018年6月14日
(54)【発明の名称】一時的な熱結合を考慮した電力バジェット方法
(51)【国際特許分類】
   G06F 1/26 20060101AFI20180518BHJP
   G06F 9/50 20060101ALI20180518BHJP
【FI】
   G06F1/26 334G
   G06F9/46 465C
   G06F9/46 462Z
   G06F1/26 331E
【審査請求】未請求
【予備審査請求】未請求
【全頁数】13
(21)【出願番号】特願2018-511309(P2018-511309)
(86)(22)【出願日】2015年10月30日
(85)【翻訳文提出日】2018年1月4日
(86)【国際出願番号】CN2015093473
(87)【国際公開番号】WO2016179977
(87)【国際公開日】20161117
(31)【優先権主張番号】201510239507.7
(32)【優先日】2015年5月12日
(33)【優先権主張国】CN
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US
(71)【出願人】
【識別番号】517393433
【氏名又は名称】エイエムディー プロダクツ (チャイナ) カンパニー リミテッド
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】グオチン チェン
(72)【発明者】
【氏名】ウェイ ホアン
【テーマコード(参考)】
5B011
【Fターム(参考)】
5B011KK03
5B011MB14
(57)【要約】
本発明は、電力バジェット方法及びシステムに関する。電力バジェット方法は、プログラムの周波数に影響されにくいステージと、周波数に影響されやすいステージと、を予測することと、プロセッサによって実行されるプログラムが周波数に影響されにくいステージに移行した場合に、プロセッサに供給される電力を低下させることと、プロセッサによって実行されるプログラムが周波数に影響されやすいステージに移行した場合に、プロセッサに供給される電力を増加させることと、を含む。本発明によって提供される方法及びシステムは、プログラムを実行する全体的なパフォーマンスをブーストさせることによって、プログラムの実行効率を改善することができる。また、本発明の電力バジェット方法及びシステムは、熱を考慮し、プロセッサの信頼性を保証することができる。
【選択図】図2
【特許請求の範囲】
【請求項1】
プログラムの周波数に影響されにくいステージと、周波数に影響されやすいステージと、を予測することと、
プロセッサによって実行される前記プログラムが前記周波数に影響されにくいステージに移行した場合に、前記プロセッサに供給される電力を低下させることと、
前記プロセッサによって実行される前記プログラムが前記周波数に影響されやすいステージに移行した場合に、前記プロセッサに供給される電力を増加させることと、
を含む、電力バジェット方法。
【請求項2】
前記周波数に影響されやすいステージは、前記周波数に影響されにくいステージの後に続く、請求項1に記載の電力バジェット方法。
【請求項3】
前記プロセッサに供給される前記電力は、現在のステージと次のステージとの周波数感度レベルの相対的な関係に基づいて低下する、請求項2に記載の電力バジェット方法。
【請求項4】
前記プロセッサに供給される前記電力を低下させることは、前記プロセッサの動作周波数を低下させることを含み、前記プロセッサに供給される前記電力を増加させることは、前記プロセッサの動作周波数を増加させることを含む、請求項1〜3の何れかに記載の電力バジェット方法。
【請求項5】
前記周波数に影響されにくいステージは、メモリ関連の動作が行われるステージであり、前記周波数に影響されやすいステージは、演算関連の動作が行われるステージである、請求項1〜3の何れかに記載の電力バジェット方法。
【請求項6】
複数のプログラムの周波数に影響されにくいスレッドと、周波数に影響されやすいスレッドと、を判別することと、
前記複数のプログラムの前記周波数に影響されにくいスレッドと、前記周波数に影響されやすいスレッドと、を同じコアに交互に割り当てることと、
前記プロセッサが前記周波数に影響されにくいスレッドを実行する場合に、前記プロセッサに供給される電力を低下させることと、
前記プロセッサが前記周波数に影響されやすいスレッドを実行する場合に、前記プロセッサに供給される電力を増加させることと、
を含む、電力バジェット方法。
【請求項7】
前記周波数に影響されやすいスレッドは、前記周波数に影響されにくいスレッドの後に続く、請求項6に記載の電力バジェット方法。
【請求項8】
前記プロセッサに供給される前記電力は、現在のスレッドと次のスレッドとの周波数感度レベルの相対的な関係に基づいて低下する、請求項7に記載の電力バジェット方法。
【請求項9】
前記プロセッサに供給される前記電力を低下させることは、前記プロセッサの動作周波数を低下させることを含み、前記プロセッサに供給される前記電力を増加させることは、前記プロセッサの動作周波数を増加させることを含む、請求項6〜8の何れかに記載の電力バジェット方法。
【請求項10】
前記周波数に影響されにくいスレッドは、メモリ関連の動作を含むスレッドであり、前記周波数に影響されやすいスレッドは、演算関連の動作を含むスレッドである、請求項6〜8の何れかに記載の電力バジェット方法。
【請求項11】
プログラムの周波数に影響されにくいステージと、周波数に影響されやすいステージと、を予測する手段と、
プロセッサによって実行される前記プログラムが前記周波数に影響されにくいステージに移行した場合に、前記プロセッサに供給される電力を低下させる手段と、
前記プロセッサによって実行される前記プログラムが周波数に影響されやすいステージに移行した場合に、前記プロセッサに供給される電力を増加させる手段と、
を備える、電力バジェットシステム。
【請求項12】
前記周波数に影響されやすいステージは、前記周波数に影響されにくいステージの後に続く、請求項11に記載の電力バジェットシステム。
【請求項13】
前記プロセッサに供給される前記電力は、現在のステージと次のステージとの周波数感度レベルの相対的な関係に基づいて低下する、請求項12に記載の電力バジェットシステム。
【請求項14】
前記プロセッサに供給される前記電力を低下させる手段は、前記プロセッサの動作周波数を低下させる手段を備え、前記プロセッサに供給される前記電力を増加させる手段は、前記プロセッサの動作周波数を増加させる手段を備える、請求項11〜13の何れかに記載の電力バジェットシステム。
【請求項15】
前記周波数に影響されにくいステージは、メモリ関連の動作が行われるステージであり、前記周波数に影響されやすいステージは、演算関連の動作が行われるステージである、請求項11〜13の何れかに記載の電力バジェットシステム。
【請求項16】
複数のプログラムの周波数に影響されにくいスレッドと、周波数に影響されやすいスレッドと、を判定する手段と、
前記複数のプログラムの前記周波数に影響されにくいスレッドと、前記周波数に影響されやすいスレッドと、を同じコアに交互に割り当てる手段と、
前記プロセッサが前記周波数に影響されにくいスレッドを実行する場合に、前記プロセッサに供給される電力を低下させる手段と、
前記プロセッサが前記周波数に影響されやすいスレッドを実行する場合に、前記プロセッサに供給される電力を増加させる手段と、
を備える、電力バジェットシステム。
【請求項17】
前記周波数に影響されやすいスレッドは、前記周波数に影響されにくいスレッドの後に続く、請求項16に記載の電力バジェットシステム。
【請求項18】
前記プロセッサに供給される前記電力は、現在のスレッドと次のスレッドとの周波数感度レベルの相対的な関係に基づいて低下する、請求項17に記載の電力バジェットシステム。
【請求項19】
前記プロセッサに供給される前記電力を低下させる手段は、前記プロセッサの動作周波数を低下させる手段を備え、前記プロセッサに供給される前記電力を増加させる手段は、前記プロセッサの動作周波数を増加させる手段を備える、請求項16〜18の何れかに記載の電力バジェットシステム。
【請求項20】
前記周波数に影響されにくいスレッドは、メモリ関連の動作を含むスレッドであり、前記周波数に影響されやすいスレッドは、演算関連の動作を含むスレッドである、請求項16〜18の何れかに記載の電力バジェットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、プロセッサのパフォーマンスの最適化に関する。より詳細には、本発明は、プロセッサのパフォーマンスを改善するための電力バジェット方法及びシステムに関する。
【背景技術】
【0002】
コンピュータ分野において、プロセッサのパフォーマンスを改善することは重要な側面である。プロセッサは、特定の範囲の動作周波数で設計されている。プロセッサに供給することができる最大電力は、例えば、温度、電力供給システムの電力供給能力、電力供給ネットワークの抵抗降下問題(resistance drop issue)等のいくつかの要因によって制限される。如何にして、プロセッサにアプリケーションやプログラムをより高速に実行させ、その電力制限内でより良いパフォーマンスを達成させるかは、難しい問題である。
【0003】
現在、プロセッサの電力制限内でプロセッサのパフォーマンスを最適化するために様々な方法が提案されている。例えば1つの従来の方法は、加速処理ユニット(APU)システムで電力管理を行うために使用される協調ブースティング方法(cooperative boosting method)である。この方法では、CPUとGPUとの間に電力が割り当てられ、パフォーマンス結合及び熱結合の効果を考慮して最適なパフォーマンスを達成する。
【0004】
別の提案方法は、電力トークン分散方法(power token balancing method)であり、この方法は、電力を電力バジェット内に維持しながら(すなわち、重要でない(non-critical)スレッドから電力を取り出し、この電力を重要なスレッドに供給しながら)、電力バジェットを多重スレッドのワークロードに並行して割り当てて、パフォーマンスを改善する。図1は、この提案方法の概略図であって、コアC1,C2,C3,C4の各々には、同じ量の電力(例えば、図1に示す「10」等)が割り当てられている。コア2(C2)及びコア3(C3)のスレッドがバリアに到達してスピン状態に移行すると、これらは少量の電力(図1に示す「4」等)しか消費せず、そして、電力トークン分散(PTB)部は、冗長な電力バジェット(すなわち、図に示す「6」)をコア2/コア3からコア1(C1)/コア4(C4)に割り当てて、コア1/コア4内のスレッドの実行を加速させる。これにより、プロセッサのパフォーマンスを改善することができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来技術における上記の方法は、実行パフォーマンスを改善することができるが、プロセッサのパフォーマンスを改善するための上記の従来方法は、空間的な電力の割り当てに基づいており、所定の短いタイミングウィンドウにおいてパフォーマンスを最適化しようとする。これらの従来の方法は、プロセッサのパフォーマンスに対する一時的な熱結合の影響を考慮しておらず、これにより、最適な結果に及ばない可能性がある。
【0006】
従来のパフォーマンス改善方法の欠点を克服してプロセッサのパフォーマンスをさらに最適化するために、本発明は、プロセッサのパフォーマンスに対する一時的な熱結合の影響を考慮した電力バジェット方法及びシステムを提供する。
【課題を解決するための手段】
【0007】
第1の態様では、電力バジェット方法が提供される。この方法は、プログラムの周波数に影響されにくいフェーズと、周波数に影響されやすいフェーズと、を予測することと、プロセッサによって実行されるプログラムが周波数に影響されにくいフェーズに移行する場合に、プロセッサに供給される電力を低下させることと、プロセッサによって実行されるプログラムが周波数に影響されやすいフェーズに移行する場合に、プロセッサに供給される電力を増加させることと、を含む。周波数に影響されやすいフェーズは、周波数に影響されにくいフェーズの後に続いてもよく、電力は、プロセッサの最大許容温度を超えることなく供給され得る。
【0008】
第2の態様では、電力バジェット方法が提供される。この方法は、複数のプログラムの周波数に影響されにくいスレッドと、周波数に影響されやすいスレッドと、を判別することと、複数のプログラムの周波数に影響されにくいスレッドと、周波数に影響されやすいスレッドと、を同じコアに交互に割り当てることと、プロセッサが周波数に影響されにくいスレッドを実行する場合に、プロセッサに供給される電力を低下させることと、プロセッサが周波数に影響されやすいスレッドを実行する場合に、プロセッサに供給される電力を増加させることと、を含む。周波数に影響されやすいスレッドは、周波数に影響されにくいスレッドの後に続いてもよく、電力は、プロセッサの最大許容温度を超えることなく供給され得る。
【0009】
第3の態様では、電力バジェットシステムが提供される。このシステムは、プログラムの周波数に影響されにくいフェーズと、周波数に影響されやすいフェーズと、を予測する手段と、プロセッサによって実行されるプログラムが周波数に影響されにくいフェーズに移行する場合に、プロセッサに供給される電力を低下させる手段と、プロセッサによって実行されるプログラムが周波数に影響されやすいフェーズに移行する場合に、プロセッサに供給される電力を増加させる手段と、を備える。周波数に影響されやすいフェーズは、周波数に影響されにくいフェーズに続いて移行されてもよく、電力は、プロセッサの最大許容温度を超えることなく供給され得る。
【0010】
第4の態様では、電力バジェットシステムが提供される。このシステムは、複数のプログラムの周波数に影響されにくいスレッドと、周波数に影響されやすいスレッドと、を判別する手段と、複数のプログラムの周波数に影響されにくいスレッドと、周波数に影響されやすいスレッドと、を同じコアに交互に割り当てる手段と、プロセッサが周波数に影響されにくいスレッドを実行する場合に、プロセッサに供給される電力を低下させる手段と、プロセッサが周波数に影響されやすいスレッドを実行する場合に、プロセッサに供給される電力を増加させる手段と、を備える。周波数に影響されやすいスレッドは、周波数に影響されにくいスレッドに続いて移行されてもよく、電力は、プロセッサの最大許容温度を超えることなく供給され得る。
【0011】
上述した方法のステップ及び上述したシステムを提供することによって、本発明は、プロセッサに供給される電力を一時的に最適化することによって、従来の電力管理スキームの欠点を克服し、プロセッサのパフォーマンスをさらに改善することができる。また、本発明の電力バジェット方法及びシステムは、熱を考慮し、プロセッサの信頼性を保証することもできる。
【0012】
本発明は、限定ではなく一例として添付の図面に例示されており、これらの図において、同様の参照番号は同様の要素を示している。
【図面の簡単な説明】
【0013】
図1】従来技術におけるプロセッサのパフォーマンスを改善するための電力トークン分散方法の概略図である。
図2】(a)は、従来技術の電力管理スキームによるプログラムの異なる実行フェーズにおける電力、温度及び最大許容温度の状態を示す図であり、(b)は、本発明の電力バジェット方法において従来技術と比較した電力、温度及び最大許容温度の状態を示す図である。
図3】1つのプログラムを実行する間に使用される、一時的な熱結合を考慮した電力バジェット方法のフローチャートである。
図4】複数のプログラムを実行する間に使用される、一時的な熱結合を考慮した電力バジェット方法の例示的な実施形態のフローチャートである。
【発明を実施するための形態】
【0014】
本発明は、添付の図面に示されるように、そのいくつかの態様を参照して詳細に記載される。以下の説明では、本発明を十分に理解するために、多数の具体的な詳細が記載されている。しかしながら、本発明の実施形態は、これらの具体的な詳細の一部又は全てを用いることなく実施され得ることが当業者には明らかであろう。他の例では、本発明を不必要に不明瞭にしないために、周知のプロセスステップ及び/又は構造が詳細に記載されていない。
【0015】
プロセッサのパフォーマンスは、アーキテクチャ、キャッシュのサイズ等のいくつかのハードウェアの特性によって影響を受けることに加えて、プロセッサで実行されるワークロード又はプログラムの特性によっても影響を受ける。つまり、プログラムやアプリケーションの特性もプロセッサの実行パフォーマンスに影響を与える。一部のアプリケーション又はプログラムは、周波数に影響されやすい。それらがプロセッサによって実行される場合、プロセッサの実行パフォーマンスは、プロセッサの動作周波数のブーストによって大幅に向上し得る。一部のアプリケーション又はプログラムは、周波数に影響されにくい。それらがプロセッサによって実行される場合、周波数の変化によってプロセッサの実行パフォーマンスに及ぼす影響は小さい。一方、単一のプログラム又はアプリケーションの場合、周波数感度(frequency sensitivity)が様々な実行フェーズで変化し得る。プログラム又はアプリケーションの一部の実行フェーズは、周波数に影響されにくいものがあれば、周波数に影響されやすいものもあり、プロセッサの実行パフォーマンスにも影響する。
【0016】
図2は、例えば双方向性のアプリケーション電力管理(BAPM)等の従来の電力管理スキームに従ってプログラム又はアプリケーションがプロセッサによって実行される場合のプログラム又はアプリケーションの様々な実行フェーズにおける電力、温度、最大許容温度の状態を、一時的な熱結合を考慮した電力バジェット方法と比較して示す概略図である。示されるように、図2は、(a)及び(b)の2つの図を含んでおり、図2(a)は、例えばBAPM等の従来の電力管理スキームに従ってプログラムが実行される場合のプログラムの様々な実行フェーズにおける電力、温度、最大許容温度の状態を示しており、図2(b)は、本発明の説明的な一実施形態による、一時的な熱結合を考慮した電力バジェット方法に従ってプログラムが実行される場合のプログラムの様々な実行フェーズにおける電力、温度、最大許容温度の状態を示している。
【0017】
図2において、図2(a)及び図2(b)の2本の線Mは、プロセッサが到達することが許容され得る最大許容温度を示している。線Pは、プロセッサが従来の電力管理スキームに従って単一のプログラムを実行する場合に、プロセッサに供給される電力を表示しており、P’は、プロセッサが本発明の電力バジェット管理スキームに従って単一のプログラムを実行する場合に、プロセッサに供給される電力を示している。線Tは、プロセッサが従来の電力管理スキームに従って単一のプログラムを実行する場合のプロセッサの温度を示しており、T’は、プロセッサが本発明の電力バジェット管理スキームに従って単一のプログラムを実行する場合のプロセッサの温度を示している。
【0018】
図2の例に示されるように、最初に、例示されたプログラムは、周波数に影響されにくいフェーズS1を有し、これは、プロセッサの実行パフォーマンスが周波数の変化による影響を受けにくいことを意味している。このフェーズでは、図2(b)に示すように、プロセッサに供給される電力P’を従来技術における電力P(図2(a)を参照)よりも低くすることによって、プロセッサの温度を下げることができる。これにより、パフォーマンスがわずかに低下するだけで、このフェーズでより多くのサーマルヘッドルーム(thermal headroom)を得ることができる。例えば、プロセッサの動作周波数を低下させることで、プロセッサの電力を低下させることができる。その後、プログラムは、周波数に影響されやすいフェーズS2に移行する。ここで、周波数のブーストに伴って実行パフォーマンスを大幅に向上させることができる。このフェーズでは、図2(b)に示すように、周波数に影響されにくいフェーズS1において得られた追加のサーマルヘッドルームを使用することによって、フェーズS2においてプロセッサに供給される電力P’を、プロセッサの最大許容温度Mを超えることなく、図2(a)に示されている同じフェーズにおいてプロセッサに供給される電力Pよりも高くなるように増加させることができる。あるいは又はさらに、プロセッサの電力をP’よりも低い電力に増加させて、最大許容温度Mを超えることなく、より長期間に亘ってこの電力で動作させることもできる。一態様では、プロセッサの動作周波数をブーストさせて、プロセッサの電力を増加させることができる。このようにして、プログラムの実行パフォーマンスを長期のタイミングウィンドウに亘って最適化することができ、これにより、全体的により高いパフォーマンスを達成することができる。図2に示すように、例えばBAPM等の従来の電力管理スキームを使用してプログラムを終了するのに時間T2を要する。これと比較して、本発明の一時的な熱結合を考慮した電力バジェット方法では、時間T2より短い時間T1でプログラムを終了することができる。
【0019】
説明的な態様では、図3は、単一のプログラム又はアプリケーションを実行する場合に用いられる、一時的な熱結合を考慮した電力バジェット方法のフローチャートを示している。この方法は、以下のステップを含む。先ず、ステップ30において、プログラムの周波数に影響されにくいフェーズと、周波数に影響されやすいフェーズと、を予測する。次に、ステップ32において、プロセッサによって実行されるプログラムが周波数に影響されにくいフェーズに移行した場合に、プロセッサに供給される電力を低下させる。次いで、方法は、ステップ34において、プロセッサによって実行されるプログラムが周波数に影響されやすいフェーズに移行した場合に、プロセッサに供給される電力を増加させることを含む。一実施形態では、周波数に影響されやすいフェーズは、周波数に影響されにくいフェーズの後に続く。一態様では、プロセッサの動作周波数を増加又は低下させることによって、プロセッサに供給される電力を増減させることができる。
【0020】
一態様において、上記のステップ32において、現在のフェーズの周波数感度と次のフェーズの周波数感度とを用いて、現在のフェーズに対する最適な電力バジェットを決定する。すなわち、ステップ32において、現在のフェーズと次のフェーズとの感度レベルの相対的な関係を用いて、電力低下度を決定する。例えば、一態様では、周波数感度レベルが現在のフェーズにおいて非常に低く、次のフェーズでは非常に高い場合に、現在のフェーズの電力を最小レベルまで低下させることができる。この結果、現在のフェーズのパフォーマンスを著しく低下させることなく、次のフェーズで最高の周波数ブーストを得ることができる。現在のフェーズの周波数感度レベルが中程度に低く、次のフェーズの感度が中程度である場合、現在のフェーズの電力を、最初のケースほど積極的ではない程度の比較的低いレベルに低下させることができる。極端な場合には、現在のフェーズと次のフェーズの周波数感度レベルが類似している場合、電力は低下しない。
【0021】
一態様では、プログラムの周波数に影響されにくいフェーズは、例えば、ストレージ動作、アクセス動作等のメモリ関連の動作が実行されるフェーズであってもよい。プログラムの周波数に影響されやすいフェーズは、例えば、算術演算、論理演算等の演算関連の動作が実行されるフェーズであってもよい。
【0022】
図3に示す上記の方法によれば、プログラムが周波数に影響されにくいフェーズに移行した場合に、プロセッサに供給される電力を低下させることによって、プロセッサがより低い温度で動作することができ、より多くの温度ヘッドルーム(すなわち、プロセッサの現在の温度と最大許容温度との差)を提供することができる。これを用いて、プロセッサが、プログラムの周波数に影響されやすいフェーズにおいて、より高い電力で動作するのを可能にし得る。この方法によって、周波数に影響されにくいフェーズにおけるパフォーマンスがわずかに低下しても、周波数に影響されやすいフェーズにおけるパフォーマンスは、周波数に影響されにくいフェーズにおいて低下したパフォーマンスよりも大幅に向上する。よって、全体として、プログラムを実行するためのプロセッサの全体的なパフォーマンスが改善される。
【0023】
一態様では、図4は、複数のプログラムを実行するための一時的な熱結合を考慮した電力バジェット方法の例示的な実施形態のフローチャートを示している。この方法は、以下のステップを含む。先ず、ステップ40において、複数のプログラムの周波数に影響されにくいスレッドと、周波数に影響されやすいスレッドと、を判別する。次に、ステップ42において、複数のプログラムの周波数に影響されにくいスレッドと、周波数に影響されやすいスレッドと、を同じコアに交互に割り当てる。次いで、ステップ44において、プロセッサが周波数に影響されにくいスレッドを実行する場合に、プロセッサに供給される電力を低下させる。そして、この方法は、ステップ46において、プロセッサが周波数に影響されやすいスレッドを実行する場合に、プロセッサに供給される電力を増加させることを含む。一態様では、プロセッサは、周波数に影響されにくいスレッドに続いて周波数に影響されやすいスレッドを実行する場合に、プロセッサの最大許容温度を超えることなく電力を増加させることができる。一態様では、プロセッサの動作周波数を増加又は低下させることによって、プロセッサに供給される電力を増減させることができる。一態様では、プログラムの周波数に影響されにくいスレッドは、例えば、ストレージ動作、アクセス動作等のメモリ関連の動作を含むスレッドであってもよい。プログラムの周波数に影響されやすいスレッドは、例えば、算術演算、論理演算等の演算関連の動作を含むスレッドであってもよい。
【0024】
一態様では、上記のステップ44では、現在のスレッドの周波数感度と、次のスレッドの周波数感度とを用いて、現在のスレッドの最適な電力バジェットを決定する。すなわち、現在のスレッドと次のスレッドとの感度レベルの相対的な関係を用いて、ステップ44における電力低下度を決定する。例えば、一態様では、周波数感度レベルが現在のスレッドにおいて非常に低く、次のスレッドにおいて非常に高い場合に、現在のスレッドの電力を最小レベルに下げることができる。この結果、現在のスレッドのパフォーマンスを著しく低下させることなく、次のスレッドにおいて最高の周波数ブーストを得ることができる。現在のスレッドの周波数感度レベルが中程度に低く、次のスレッドの感度が中程度の場合に、現在のスレッドの電力を、最初のケースほど積極的ではない程度の比較的低いレベルに下げることができる。極端な場合には、現在のスレッドと次のスレッドの周波数感度レベルが類似している場合、電力は低下しない。
【0025】
図4に示す上記の方法によれば、プロセッサが周波数に影響されにくいスレッドを実行する場合に、プロセッサに供給される電力を低下させることによって、プロセッサがより低い温度で動作することができ、より多くの温度ヘッドルームを提供することができる。これを用いて、プロセッサが、プログラムの周波数に影響されやすいスレッドを実行する場合に、より高い電力で動作するのを可能にし得る。この方法によって、周波数に影響されにくいスレッドを実行するパフォーマンスがわずかに低下しても、周波数に影響されやすいスレッドを実行するパフォーマンスは、低下したパフォーマンスよりも大幅に向上する。よって、全体として、複数のプログラムを実行するためのプロセッサの全体的なパフォーマンスが改善される。
【0026】
プログラムを実行するための全体のパフォーマンスを改善することに加えて、本発明の電力バジェット方法は、他の利点を生み出すことができる。例えば、本発明の電力バジェット方法は、熱を考慮し、プロセッサの信頼性を保証することができる。また、本発明の電力バジェット方法は、一時的な電力の割り当てに基づく電力バジェット方法であって、他の空間的な電力バジェット方法と組み合わせて、プロセッサのパフォーマンスの総合的な空間的及び時間的な最適化を実現することができる。
【0027】
特徴及び要素は、特定の組み合わせで上記のように説明されているが、各特徴又は要素は、他の特徴及び要素なしに単独で、又は、他の特徴及び要素の有無にかかわらず様々な組み合わせで使用することができる。本明細書で提供される方法又はフローチャートは、汎用コンピュータ又はプロセッサによる実行のためにコンピュータ可読記憶媒体に組み込まれたコンピュータプログラム、ソフトウェア、ファームウェアに実装されてもよい。コンピュータ可読媒体の例には、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープ等の磁気媒体や、CD−ROM及びホログラフィックデバイス等の光学媒体や、フロプティカルディスク等の光磁気媒体や、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス、ROM及びRAMデバイス等のようにプログラムコードを記憶し実行するように特別に構成されたハードウェアデバイス等が含まれるが、これらに限定されない。
【0028】
特許請求の範囲に記載された発明の趣旨及び範囲から逸脱することなく、本明細書に記載された実施形態に対して様々な修正及び変形を加え得ることが当業者には明らかであろう。よって、本明細書では、添付の特許請求の範囲及びその均等物の範囲内であれば、本明細書に記載された様々な実施形態の修正及び変形を包含することを意図している。
図1
図2
図3
図4
【国際調査報告】