JP5235870B2 - マルチプロセッサ制御装置、その制御方法および集積回路 - Google Patents
マルチプロセッサ制御装置、その制御方法および集積回路 Download PDFInfo
- Publication number
- JP5235870B2 JP5235870B2 JP2009510759A JP2009510759A JP5235870B2 JP 5235870 B2 JP5235870 B2 JP 5235870B2 JP 2009510759 A JP2009510759 A JP 2009510759A JP 2009510759 A JP2009510759 A JP 2009510759A JP 5235870 B2 JP5235870 B2 JP 5235870B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- barrier
- execution
- block
- time
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Description
ジェイ・リー(J.Li)、ジェイ・マルティネス(J.Martinez)、エム・ホアン(M.Huang)、「ザ スリフティ バリア: エナジ−アウェア シンクロナイゼイション イン シェアード−メモリ マルチプロセッサーズ(The Thrifty Barrier: Energy−Aware Synchronization in Shared−Memory Multiprocessors)」、イン プロシーディングス オブ ハイ−パフォーマンス コンピューター アーキテクチャ (エイチピーシーエー) '04,(In Proceedings of High−Performance Computer Architechture (HPCA) '04,)、アイトリプルイー コンピュータ ソサエティ ワシントン ディーシー ユーエスエー(IEEE Computer Society Washington, DC, USA)、米国、2004年、p14―23
(バリア成立時間BET)=(バリア到達時間BAT−n)+(バリア待ち時間BWT−n) ・・・(1)
(スレッド非実行時間TNPT−n)=(スレッド開始時間TST−n)+(バリア待ち時間BWT−n) ・・・(2)
<構成>
図3を参照して、本発明の実施の形態1に係るマルチプロセッサ制御装置を用いた共有記憶型のマルチプロセッサシステムの構成について説明する。図3は、実施の形態1に係るマルチプロセッサ制御装置を用いた共有記憶型のマルチプロセッサシステムの構成例を示す図である。図3において、マルチプロセッサシステムは、マルチプロセッサ制御装置1、プロセッサP−1〜P−N(Nは1以上の自然数)、共有メモリバス2、主記憶装置3、及び電源装置4により構成される。プロセッサP−1〜P−Nそれぞれは、共有メモリバス2を介して主記憶装置3と接続されており、主記憶装置3上の特定の共有メモリアドレスに割り当てたロック変数を用いた排他制御を行いながら、バリア同期を実現している。ただし、ロック変数は必ずしも主記憶装置3上に設けられる必要はない。例えば、マルチプロセッサ制御装置1上の特定の共有メモリアドレスにマッピングされた専用レジスタ上に設けられてもよい。
次に図8を参照して、実施の形態1に係るマルチプロセッサ制御装置1の動作について説明する。図8は、マルチプロセッサ制御装置1全体の動作の流れを示すフローチャートである。
図5に示したように、実施の形態1において、履歴情報格納部112は、バリア識別情報BID毎にスレッド非実行時間TNPT−1〜TNPT−Nを格納していた。このため、マルチプロセッサシステムに搭載するプロセッサ数に比例してデータ部の記憶容量を増やす必要がある。その結果、マルチプロセッサ制御装置1の回路規模が増大する可能性があった。そこで、本変形例1では、履歴情報格納部112に格納されるデータ量を削減し、マルチプロセッサ制御装置1の回路規模の増大を抑制することを目的とする。
図12は、本変形例1に係るマルチプロセッサ制御装置を用いた共有記憶型のマルチプロセッサシステムの構成例を示す図である。本変形例1に係るマルチプロセッサシステムは、図3に示した構成に対し、マルチプロセッサ制御装置1がマルチプロセッサ制御装置1aに入れ代わり、マルチプロセッサ制御装置1aが予測情報取得部11a、タイマ12、及び電力制御部13aにより構成される点のみ異なる。以下、異なる点を中心に説明する。
次に図16を参照して、変形例1に係るマルチプロセッサ制御装置1aの動作について説明する。図16は、マルチプロセッサ制御装置1a全体の動作の流れを示すフローチャートである。図16に示すステップS21、S22、S25、S26、S29は、図8に示したステップS11、S12、S15、S16、S19と同様の処理を行うので、それ以外のステップを中心に説明する。
実施の形態1においては、各プロセッサ毎の個別制御を図9に示すようなフローで行っていた。しかしながら、図11に示したように、異なる並列プログラムブロックが連続して実行される場合、スリープモードの継続時に取得されるスレッド非実行時間が、前回取得されたスレッド非実行時間よりも大きくなる場合がある。本変形例2では、スリープモードの継続時に取得されるスレッド非実行時間が、前回取得されたスレッド非実行時間よりも大きくなる場合に、より深いスリープモードに設定し直すことで、更なる省電力化を実現させることを目的とする。
図19を参照して、本変形例2に係るプロセッサP−1〜P−Nそれぞれ個別の制御(ステップS14−1〜S14−N)について具体的に説明する。ステップS14−1〜S14−Nの制御の流れは同じであるため、図19の例ではプロセッサP−nの制御の流れを記載している。図19に示すステップS341〜S344は、図9に示すステップS141〜S144と同様の処理を行い、ステップS347〜S349は、図9に示すステップS145〜S147と同様の処理を行うので、それ以外のステップを中心に説明する。
実施の形態1においては、バリア待ち状態のプロセッサを非動作のスリープモードとすることで、省電力化を実現させていた。つまり、実施の形態1においては、動作中のプロセッサについての省電力化については考慮されていなかった。そこで、実施の形態2においては、動作中のプロセッサへ供給するクロック周波数や電源電圧を予測情報に応じて動的にスケーリングさせるDVFS(Dynamic Voltage and Frequency Scaling)制御技術を新たに適用することを考える。このDVFS制御技術は、米Intel社のSpeedStep(登録商標)や米AMD(Advanced Micro Devices)社のPowerNow!(登録商標)等のような技術で既に実用化されている。実施の形態2では、この実用化されたDVFS技術と同様の制御を行う。
図20は、実施の形態2に係るマルチプロセッサ制御装置を用いた共有記憶型のマルチプロセッサシステムの構成例を示す図である。実施の形態2に係るマルチプロセッサシステムは、図3に示した構成に対し、マルチプロセッサ制御装置1がマルチプロセッサ制御装置6に入れ代わり、マルチプロセッサ制御装置6が予測情報取得部61、タイマ12、及び電力制御部63により構成される点のみ異なる。以下、異なる点を中心に説明する。
=(基準クロック周波数Fbase)×(低速動作率)
=(基準クロック周波数Fbase)×(1−(スレッド非実行予測時間PTNPT−n)/(バリア成立予測時間PBET)) ・・・(3)
次に図25を参照して、実施の形態2に係るマルチプロセッサ制御装置6の動作について説明する。図25は、マルチプロセッサ制御装置6全体の動作の流れを示すフローチャートである。
図22に示したように、実施の形態2において、履歴情報格納部612は、バリア識別情報BID毎にバリア到達時間BAT−1〜BAT−Nとスレッド開始時間TST−1〜TST−Nとを格納していた。このため、実施の形態1と同様、マルチプロセッサシステムに搭載するプロセッサ数に比例してデータ部の記憶容量を増やす必要がある。その結果、マルチプロセッサ制御装置6の回路規模が増大する可能性があった。そこで、本変形例1では、履歴情報格納部612に格納されるデータ量を削減し、マルチプロセッサ制御装置6の回路規模の増大を抑制することを目的とする。
図29は、本変形例1に係るマルチプロセッサ制御装置を用いた共有記憶型のマルチプロセッサシステムの構成例を示す図である。本変形例1に係るマルチプロセッサシステムは、図20に示した構成に対し、マルチプロセッサ制御装置6がマルチプロセッサ制御装置6aに入れ代わり、マルチプロセッサ制御装置6aが予測情報取得部61a、タイマ12、及び電力制御部63aにより構成される点のみ異なる。以下、異なる点を中心に説明する。
次に図33を参照して、変形例1に係るマルチプロセッサ制御装置6aの動作について説明する。図33は、マルチプロセッサ制御装置6a全体の動作の流れを示すフローチャートである。図33に示すステップS51、S52、S55、S56、S59は、図25に示したステップS41、S42、S45、S46、S49と同様の処理を行うので、それ以外のステップを中心に説明する。
実施の形態2においては、各プロセッサ毎の個別制御を図26に示すようなフローで行っていた。しかしながら、図28に示したように、異なる並列プログラムブロックが連続して実行される場合、スリープモードの継続時に取得されるスレッド非実行時間が、前回取得されたスレッド非実行時間よりも大きくなる場合がある。本変形例2では、スリープモードの継続時に取得されるスレッド非実行時間が、前回取得されたスレッド非実行時間よりも大きくなる場合に、より深いスリープモードに設定し直すことで、更なる省電力化を実現させることを目的とする。
図35を参照して、本変形例2に係るプロセッサP−1〜P−Nそれぞれ個別の制御(ステップS44−1〜S44−N)について具体的に説明する。ステップS44−1〜S44−Nの制御の流れは同じであるため、図35の例ではプロセッサP−nの制御の流れを記載している。図35に示すステップS641〜S647は、図26に示すステップS441〜S447と同様の処理を行い、ステップS650〜S652は、図26に示すステップS448〜S450と同様の処理を行うので、それ以外のステップを中心に説明する。
2 共有メモリバス
3 主記憶装置
4 電源装置
5、5a プログラム
7 メモリコントローラ
8 IOインタフェイス
11、11a、61、61a 予測情報取得部
111、111a、611、611a バリア監視部
112、112a、612、612a 履歴情報格納部
113、113a、613、613a 予測情報生成部
12 タイマ
13、13a、63、63a 電力制御部
131、131a、631、631a 電力モード制御部
132、632 クロック信号制御部
133、633 電源電圧制御部
91 光ディスクドライブ
92 光ディスク
93 メモリカードドライブ
94 メモリカード
Claims (19)
- プログラムに含まれる第1プログラムブロックを複数の第1ブロックに分割してバリア同期を行いながら各第1ブロックを並列実行した後、当該第1プログラムブロックに連続する第2プログラムブロックを複数の第2ブロックに分割してバリア同期を行いながら各第2ブロックを並列実行する複数のプロセッサへの電力供給を制御するマルチプロセッサ制御装置であって、
前記第1プログラムブロックのバリア同期開始からバリア同期成立までの第1バリア成立時間のうち前記第1ブロックが実行されない時間の履歴に基づく予測値を表す第1非実行時間であって前記プロセッサ毎に表された第1非実行時間に関する第1非実行時間情報と、前記第2プログラムブロックのバリア同期開始からバリア同期成立までの第2バリア成立時間のうち前記第2ブロックが実行されない時間の履歴に基づく予測値を表す第2非実行時間であって前記プロセッサ毎に表された第2非実行時間に関する第2非実行時間情報とを取得する取得手段と、
前記取得手段において取得された前記第1及び第2非実行時間情報を用いて、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサに対して、前記第2プログラムブロックのバリア同期開始から前記第2非実行時間だけ前記第2ブロックの実行開始タイミングを遅延させるとともに、前記第1ブロックの実行終了から前記第2ブロックの実行開始までの間の電力供給を抑制する電力制御手段とを備える、マルチプロセッサ制御装置。 - 前記電力制御手段は、
前記プロセッサを通常動作状態にする電力を表す通常動作モードと、前記プロセッサをスリープ状態にする電力を表すスリープモードとが予め設定されており、各前記プロセッサの電力モードを通常動作モード又はスリープモードに設定する電力モード制御手段と、
各前記プロセッサへのクロック信号及び/又は電源電圧の供給を制御して、各前記プロセッサの電力モードを前記電力モード制御手段において設定された電力モードにそれぞれ移行させる移行手段とを有し、
前記電力モード制御手段は、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサに対して、前記第2プログラムブロックのバリア同期開始から前記第2非実行時間情報が表す時間だけ前記第2ブロックの実行開始タイミングを遅延させるとともに、前記第1ブロックの実行終了から前記第2ブロックの実行開始までの間の電力モードを、前記スリープモードに設定することを特徴とする、請求項1に記載のマルチプロセッサ制御装置。 - 前記第2非実行時間情報は、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサの前記第2非実行時間であることを特徴とする、請求項2に記載のマルチプロセッサ制御装置。
- 前記電力モード制御手段は、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサの電力モードを、前記第1ブロックの実行終了から前記第2ブロックの実行開始までの間、前記第1非実行時間情報が表す時間に応じたスリープモードに設定することを特徴とする、請求項2に記載のマルチプロセッサ制御装置。
- 前記電力モード制御手段は、前記第2非実行時間情報が表す時間が前記第1非実行時間情報が表す時間よりも大きい場合、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサの電力モードを、前記第1ブロックの実行終了から前記第1プログラムブロックのバリア同期成立までの間、前記第1非実行時間情報が表す時間に応じたスリープモードに設定し、前記第2プログラムブロックのバリア同期開始から前記第2ブロックの実行開始までの間、前記第2非実行時間情報が表す時間に応じたスリープモードに設定することを特徴とする、請求項2に記載のマルチプロセッサ制御装置。
- 前記第1及び第2プログラムブロックは、同一のプログラムブロックであり、
前記電力モード制御手段は、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサの電力モードを、前記第1非実行時間情報が表す時間と前記第2非実行時間情報が表す時間との和に応じたスリープモードに設定することを特徴とする、請求項2に記載のマルチプロセッサ制御装置。 - 前記第1非実行時間情報は、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサの前記第1非実行時間であり、
前記第2非実行時間情報は、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサの前記第2非実行時間であることを特徴とする、請求項4から請求項6のいずれか1項に記載のマルチプロセッサ制御装置。 - 前記取得手段は、前記第1及び第2非実行時間情報を記憶しており、
前記第1非実行時間情報は、前記プロセッサ毎に表された第1非実行時間の統計時間であり、
前記第2非実行時間情報は、前記プロセッサ毎に表された第2非実行時間の統計時間であることを特徴とする、請求項1、請求項2、請求項4から請求項6のいずれか1項に記載のマルチプロセッサ制御装置。 - 前記第1非実行時間情報は、前記プロセッサ毎に表された第1非実行時間の平均時間であり、
前記第2非実行時間情報は、前記プロセッサ毎に表された第2非実行時間の平均時間であることを特徴とする、請求項8に記載のマルチプロセッサ制御装置。 - 前記第1非実行時間情報は、前記プロセッサ毎に表された第1非実行時間のうち最小の第1非実行時間を除いて算出された平均時間であり、
前記第2非実行時間情報は、前記プロセッサ毎に表された第2非実行時間のうち最小の第2非実行時間を除いて算出された平均時間であることを特徴とする、請求項8に記載のマルチプロセッサ制御装置。 - 前記取得手段は、前記第1及び第2非実行時間情報を記憶しており、
前記第1非実行時間情報は、前記プロセッサ毎に表された第1非実行時間のうちの最小の第1非実行時間であり、
前記第2非実行時間情報は、前記プロセッサ毎に表された第2非実行時間のうちの最小の第1非実行時間であることを特徴とする、請求項1、請求項2、請求項4から請求項6のいずれか1項に記載のマルチプロセッサ制御装置。 - 前記電力モード制御手段には、さらに、前記プロセッサを低速動作状態にする電力を表す低速動作モードが予め設定されており、
前記電力モード制御手段は、
前記第1プログラムブロックのバリア同期開始時に前記第1ブロックの実行を開始するプロセッサに対して、前記第1ブロックの実行終了から前記第1プログラムブロックのバリア同期成立までの間の電力モードを前記第1非実行時間情報が表す時間に応じたスリープモードに設定した場合に前記プロセッサで消費される電力と、前記第1ブロックの実行終了から前記第1プログラムブロックのバリア同期成立までの間の電力モードを前記低速動作モードに設定した場合に前記プロセッサで消費される電力とを比較して、前記プロセッサの電力モードを前記プロセッサで消費される電力が少ない方の電力モードに設定し、
前記第2プログラムブロックのバリア同期開始時に前記第2ブロックの実行を開始するプロセッサに対して、前記第2ブロックの実行終了から前記第2プログラムブロックのバリア同期成立までの間の電力モードを前記第2非実行時間情報が表す時間に応じたスリープモードに設定した場合に前記プロセッサで消費される電力と、前記第2ブロックの実行終了から前記第2プログラムブロックのバリア同期成立までの間の電力モードを前記低速動作モードに設定した場合に前記プロセッサで消費される電力とを比較して、前記プロセッサの電力モードを前記プロセッサで消費される電力が少ない方の電力モードに設定することを特徴とする、請求項2に記載のマルチプロセッサ制御装置。 - 前記取得手段は、前記第1及び第2バリア成立時間をさらに取得しており、
前記電力モード制御手段は、前記第1プログラムブロックのバリア同期開始時に前記第1ブロックの実行を開始するプロセッサの電力モードを前記低速動作モードに設定する場合、前記第1非実行時間情報が表す時間と前記第1バリア成立時間との比に応じた、前記通常動作状態であるプロセッサへ供給されるクロック信号の周波数よりも低い第1周波数を算出し、算出した第1周波数を前記低速動作モードとして設定し、前記第2プログラムブロックのバリア同期開始時に前記第2ブロックの実行を開始するプロセッサの電力モードを前記低速動作モードに設定する場合、前記第2非実行時間情報が表す時間と前記第2バリア成立時間との比に応じた、前記通常動作状態であるプロセッサへ供給されるクロック信号の周波数よりも低い第2周波数を算出し、算出した第2周波数を前記低速動作モードとして設定し、
前記移行手段は、前記第1プログラムブロックのバリア同期開始時に前記第1ブロックの実行を開始するプロセッサの電力モードが前記低速動作モードに設定された場合、当該プロセッサへのクロック信号の周波数を前記第1周波数に設定し、前記第2プログラムブロックのバリア同期開始時に前記第2ブロックの実行を開始するプロセッサの電力モードが前記低速動作モードに設定された場合、当該プロセッサへのクロック信号の周波数を前記第2周波数に設定することを特徴とする、請求項12に記載のマルチプロセッサ制御装置。 - 前記電力モード制御手段は、各前記プロセッサの電力モードを全て前記低速動作モードに設定したとき、各前記プロセッサの電力モードを前記通常動作モードに設定し直すことを特徴とする、請求項12に記載のマルチプロセッサ制御装置。
- 前記取得手段は、前記第1プログラムブロックのバリア同期開始時に前記第1ブロックの実行を開始するプロセッサの電力モードが前記低速動作モードに設定された場合、当該プロセッサが低速動作状態で前記第1ブロックの実行を開始してから実行を終了するまでの時間を、当該プロセッサが前記通常動作状態で前記第1ブロックの実行を開始してから実行を終了するまでの時間に換算し、換算した時間を前記第1バリア成立時間から減算して前記第1非実行時間を取得し、前記第2プログラムブロックのバリア同期開始時に前記第2ブロックの実行を開始するプロセッサの電力モードが前記低速動作モードに設定された場合、当該プロセッサが低速動作状態で前記第2ブロックの実行を開始してから実行を終了するまでの時間を、当該プロセッサが前記通常動作状態で前記第2ブロックの実行を開始してから実行を終了するまでの時間に換算し、換算した時間を前記第2バリア成立時間から減算して前記第2非実行時間を取得することを特徴とする、請求項12に記載のマルチプロセッサ制御装置。
- 前記取得手段は、前記第1及び第2非実行時間情報を記憶しており、
前記第1非実行時間情報は、前記プロセッサ毎に表された第1非実行時間の統計時間であり、
前記第2非実行時間情報は、前記プロセッサ毎に表された第2非実行時間の統計時間であることを特徴とする、請求項12から請求項15のいずれか1項に記載のマルチプロセッサ制御装置。 - 前記第1非実行時間情報は、前記プロセッサ毎に表された第1非実行時間の平均時間であり、
前記第2非実行時間情報は、前記プロセッサ毎に表された第2非実行時間の平均時間であることを特徴とする、請求項16に記載のマルチプロセッサ制御装置。 - プログラムに含まれる第1プログラムブロックを複数の第1ブロックに分割してバリア同期を行いながら各第1ブロックを並列実行した後、当該第1プログラムブロックに連続する第2プログラムブロックを複数の第2ブロックに分割してバリア同期を行いながら各第2ブロックを並列実行する複数のプロセッサへの電力供給を制御するマルチプロセッサ制御装置で行われる制御方法であって、
前記第1プログラムブロックのバリア同期開始からバリア同期成立までの第1バリア成立時間のうち前記第1ブロックが実行されない時間の履歴に基づく予測値を表す第1非実行時間であって前記プロセッサ毎に表された第1非実行時間に関する第1非実行時間情報と、前記第2プログラムブロックのバリア同期開始からバリア同期成立までの第2バリア成立時間のうち前記第2ブロックが実行されない時間の履歴に基づく予測値を表す第2非実行時間であって前記プロセッサ毎に表された第2非実行時間に関する第2非実行時間情報とを取得する取得ステップと、
前記取得手段において取得された前記第1及び第2非実行時間情報を用いて、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサに対して、前記第2プログラムブロックのバリア同期開始から前記第2非実行時間だけ前記第2ブロックの実行開始タイミングを遅延させるとともに、前記第1ブロックの実行終了から前記第2ブロックの実行開始までの間の電力供給を抑制する電力制御ステップとを含む、制御方法。 - プログラムに含まれる第1プログラムブロックを複数の第1ブロックに分割してバリア同期を行いながら各第1ブロックを並列実行した後、当該第1プログラムブロックに連続する第2プログラムブロックを複数の第2ブロックに分割してバリア同期を行いながら各第2ブロックを並列実行する複数のプロセッサへの電力供給を制御する集積回路であって、
前記第1プログラムブロックのバリア同期開始からバリア同期成立までの第1バリア成立時間のうち前記第1ブロックが実行されない時間の履歴に基づく予測値を表す第1非実行時間であって前記プロセッサ毎に表された第1非実行時間に関する第1非実行時間情報と、前記第2プログラムブロックのバリア同期開始からバリア同期成立までの第2バリア成立時間のうち前記第2ブロックが実行されない時間の履歴に基づく予測値を表す第2非実行時間であって前記プロセッサ毎に表された第2非実行時間に関する第2非実行時間情報とを取得する取得手段と、
前記取得手段において取得された前記第1及び第2非実行時間情報を用いて、前記第1プログラムブロックのバリア同期成立前に前記第1ブロックの実行を終了したプロセッサに対して、前記第2プログラムブロックのバリア同期開始から前記第2非実行時間だけ前記第2ブロックの実行開始タイミングを遅延させるとともに、前記第1ブロックの実行終了から前記第2ブロックの実行開始までの間の電力供給を抑制する電力制御手段とを備える、集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009510759A JP5235870B2 (ja) | 2007-04-09 | 2008-03-13 | マルチプロセッサ制御装置、その制御方法および集積回路 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007101507 | 2007-04-09 | ||
JP2007101507 | 2007-04-09 | ||
JP2009510759A JP5235870B2 (ja) | 2007-04-09 | 2008-03-13 | マルチプロセッサ制御装置、その制御方法および集積回路 |
PCT/JP2008/000579 WO2008129786A1 (ja) | 2007-04-09 | 2008-03-13 | マルチプロセッサ制御装置、その制御方法および集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008129786A1 JPWO2008129786A1 (ja) | 2010-07-22 |
JP5235870B2 true JP5235870B2 (ja) | 2013-07-10 |
Family
ID=39875321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009510759A Expired - Fee Related JP5235870B2 (ja) | 2007-04-09 | 2008-03-13 | マルチプロセッサ制御装置、その制御方法および集積回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8214662B2 (ja) |
EP (1) | EP2073119A1 (ja) |
JP (1) | JP5235870B2 (ja) |
CN (1) | CN101542442B (ja) |
WO (1) | WO2008129786A1 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5469940B2 (ja) * | 2009-07-13 | 2014-04-16 | 株式会社日立製作所 | 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法 |
US8479215B2 (en) * | 2009-08-18 | 2013-07-02 | International Business Machines Corporation | Decentralized load distribution to reduce power and/or cooling costs in an event-driven system |
ES2357923B1 (es) * | 2009-10-16 | 2012-03-12 | Starlab Barcelona Sl | Sistema de procesamiento de datos y dispositivo de computación. |
US9043585B2 (en) * | 2010-03-31 | 2015-05-26 | Cisco Technology, Inc. | Dynamic energy savings for digital signal processor modules using plural energy savings states |
JPWO2012127534A1 (ja) * | 2011-03-23 | 2014-07-24 | 富士通株式会社 | バリア同期方法、バリア同期装置及び演算処理装置 |
US9086883B2 (en) | 2011-06-10 | 2015-07-21 | Qualcomm Incorporated | System and apparatus for consolidated dynamic frequency/voltage control |
JP5206858B2 (ja) * | 2011-11-24 | 2013-06-12 | パナソニック株式会社 | 無線通信装置 |
CN102521039B (zh) * | 2011-12-08 | 2014-08-13 | 汉柏科技有限公司 | 网络通信产品的时间组实现方法及系统 |
US9092272B2 (en) * | 2011-12-08 | 2015-07-28 | International Business Machines Corporation | Preparing parallel tasks to use a synchronization register |
KR101901587B1 (ko) * | 2011-12-13 | 2018-10-01 | 삼성전자주식회사 | 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치 |
US9563254B2 (en) * | 2011-12-22 | 2017-02-07 | Intel Corporation | System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time |
WO2013147850A1 (en) * | 2012-03-30 | 2013-10-03 | Intel Corporation | Controlling power gate circuitry based on dynamic capacitance of a circuit |
US9360909B2 (en) | 2012-04-19 | 2016-06-07 | Intel Corporation | System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time |
US9176563B2 (en) * | 2012-05-14 | 2015-11-03 | Broadcom Corporation | Leakage variation aware power management for multicore processors |
US20150212570A1 (en) * | 2012-09-03 | 2015-07-30 | Hitachi, Ltd. | Computer system and control method for computer system |
JP5994601B2 (ja) * | 2012-11-27 | 2016-09-21 | 富士通株式会社 | 並列計算機、並列計算機の制御プログラム及び並列計算機の制御方法 |
US9448803B2 (en) * | 2013-03-11 | 2016-09-20 | Nvidia Corporation | System and method for hardware scheduling of conditional barriers and impatient barriers |
US9442755B2 (en) | 2013-03-15 | 2016-09-13 | Nvidia Corporation | System and method for hardware scheduling of indexed barriers |
US10108454B2 (en) | 2014-03-21 | 2018-10-23 | Intel Corporation | Managing dynamic capacitance using code scheduling |
US9552033B2 (en) * | 2014-04-22 | 2017-01-24 | Qualcomm Incorporated | Latency-based power mode units for controlling power modes of processor cores, and related methods and systems |
JP6349908B2 (ja) * | 2014-04-22 | 2018-07-04 | 富士通株式会社 | データ処理方法、データ処理装置及びプログラム |
EP2937783B1 (en) * | 2014-04-24 | 2018-08-15 | Fujitsu Limited | A synchronisation method |
EP2960791A1 (en) * | 2014-06-27 | 2015-12-30 | Fujitsu Limited | Method of executing an application on a distributed computer system, a resource manager and a distributed computer system |
JP6330569B2 (ja) * | 2014-08-14 | 2018-05-30 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
JP2016162303A (ja) * | 2015-03-03 | 2016-09-05 | 株式会社東芝 | 無線通信装置 |
US20170185128A1 (en) * | 2015-12-24 | 2017-06-29 | Intel Corporation | Method and apparatus to control number of cores to transition operational states |
US11422842B2 (en) * | 2019-10-14 | 2022-08-23 | Microsoft Technology Licensing, Llc | Virtual machine operation management in computing devices |
GB2597945B (en) * | 2020-08-11 | 2022-11-16 | Graphcore Ltd | Predictive clock control |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052568A (ja) * | 1990-09-14 | 1993-01-08 | Hitachi Ltd | プロセツサ間の同期処理装置 |
JPH08190535A (ja) * | 1995-01-04 | 1996-07-23 | Nec Corp | 要素プロセッサおよび電力分散マルチプロセッサ |
JP2006048652A (ja) * | 2004-07-01 | 2006-02-16 | Matsushita Electric Ind Co Ltd | マルチプロセッサ制御装置、その制御方法及び集積回路 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308279B1 (en) * | 1998-05-22 | 2001-10-23 | Intel Corporation | Method and apparatus for power mode transition in a multi-thread processor |
US7318164B2 (en) * | 2001-12-13 | 2008-01-08 | International Business Machines Corporation | Conserving energy in a data processing system by selectively powering down processors |
US7219241B2 (en) * | 2002-11-30 | 2007-05-15 | Intel Corporation | Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode |
US7398403B2 (en) | 2004-07-01 | 2008-07-08 | Matsushita Electric Industrial Co., Ltd. | Multiprocessor control apparatus, control method thereof, and integrated circuit |
JP4487744B2 (ja) * | 2004-11-29 | 2010-06-23 | 富士通株式会社 | マルチスレッド制御装置及び制御方法 |
US7627770B2 (en) * | 2005-04-14 | 2009-12-01 | Mips Technologies, Inc. | Apparatus and method for automatic low power mode invocation in a multi-threaded processor |
JP4231516B2 (ja) * | 2006-08-04 | 2009-03-04 | 株式会社日立製作所 | 実行コードの生成方法及びプログラム |
US7882379B2 (en) * | 2006-09-22 | 2011-02-01 | Sony Computer Entertainment Inc. | Power consumption reduction in a multiprocessor system |
EP2159694B1 (en) * | 2007-06-20 | 2019-03-27 | Fujitsu Limited | Method and device for barrier synchronization, and multicore processor |
US8966488B2 (en) * | 2007-07-06 | 2015-02-24 | XMOS Ltd. | Synchronising groups of threads with dedicated hardware logic |
US7930574B2 (en) * | 2007-12-31 | 2011-04-19 | Intel Corporation | Thread migration to improve power efficiency in a parallel processing environment |
-
2008
- 2008-03-13 CN CN2008800005135A patent/CN101542442B/zh not_active Expired - Fee Related
- 2008-03-13 EP EP08720465A patent/EP2073119A1/en not_active Withdrawn
- 2008-03-13 US US12/377,938 patent/US8214662B2/en active Active
- 2008-03-13 WO PCT/JP2008/000579 patent/WO2008129786A1/ja active Application Filing
- 2008-03-13 JP JP2009510759A patent/JP5235870B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052568A (ja) * | 1990-09-14 | 1993-01-08 | Hitachi Ltd | プロセツサ間の同期処理装置 |
JPH08190535A (ja) * | 1995-01-04 | 1996-07-23 | Nec Corp | 要素プロセッサおよび電力分散マルチプロセッサ |
JP2006048652A (ja) * | 2004-07-01 | 2006-02-16 | Matsushita Electric Ind Co Ltd | マルチプロセッサ制御装置、その制御方法及び集積回路 |
Non-Patent Citations (1)
Title |
---|
JPN7008004613; Jian Li, Jose F.Martinz and Michael C.Huang: 'The Thrifty Barrier: Energy-Aware Synchronization in Shared-Memory Multiprocessors' Proceedings of 10th International Symposium on High Performance Computer Architecture , 20040214, 第14頁-第23頁, IEEE * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2008129786A1 (ja) | 2010-07-22 |
US8214662B2 (en) | 2012-07-03 |
EP2073119A1 (en) | 2009-06-24 |
WO2008129786A1 (ja) | 2008-10-30 |
CN101542442A (zh) | 2009-09-23 |
US20100153761A1 (en) | 2010-06-17 |
CN101542442B (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5235870B2 (ja) | マルチプロセッサ制御装置、その制御方法および集積回路 | |
KR101957555B1 (ko) | 상시-온 프로세서를 갖는 시스템 온 칩 | |
JP5312478B2 (ja) | データ・プロセッサのパフォーマンス予測 | |
JP5469940B2 (ja) | 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法 | |
US6647472B2 (en) | Fast suspend to disk | |
EP2695063B1 (en) | Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device | |
US8112647B2 (en) | Protocol for power state determination and demotion | |
JP4837456B2 (ja) | 情報処理装置 | |
US8898495B2 (en) | Method and apparatus for switching an operating system by determining whether a boot-up mode is a general mode or a switch mode | |
US8954983B2 (en) | Conserving power through work load estimation for a portable computing device using scheduled resource set transitions | |
EP3332306B1 (en) | System and method for cache aware low power mode control in a portable computing device | |
JP2001318742A (ja) | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 | |
JP2011521365A (ja) | 電力消費低減のためのスリープ状態を提供する補助メモリ制御器を有する集積回路及びそのための方法 | |
TW201602791A (zh) | 具有重組態系統單晶片並支援儘記憶體通訊模式之常開處理器之系統單晶片 | |
JP6276470B2 (ja) | ポータブルコンピューティングデバイスの揮発性メモリのスタンバイ電力を低減するためのシステムおよび方法 | |
EP3440531B1 (en) | Enhanced dynamic clock and voltage scaling (dcvs) scheme | |
JP2019159802A (ja) | 記憶装置の電力制御方法および記憶装置 | |
US9959075B2 (en) | System and method for flush power aware low power mode control in a portable computing device | |
KR101467072B1 (ko) | 멀티쓰레딩된 프로그램의 저전력 실행 | |
TWI485623B (zh) | 快速喚醒電腦系統方法與電腦系統 | |
US11861781B2 (en) | Graphics processing units with power management and latency reduction | |
KR20090086866A (ko) | 멀티-코어 프로세서의 전원제어장치 및 방법 | |
JP5913770B2 (ja) | 回転式のディスクを備える記憶装置のパワー・ステートを制御する方法および携帯式コンピュータ | |
JP2011013853A (ja) | 情報処理装置 | |
JP2013196112A (ja) | メモリシステムとその省電力制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101202 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110826 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120924 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130212 |
|
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: 20130306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130326 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5235870 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160405 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |