JP2008276331A - マルチプロセッサの制御装置及び方法 - Google Patents
マルチプロセッサの制御装置及び方法 Download PDFInfo
- Publication number
- JP2008276331A JP2008276331A JP2007116167A JP2007116167A JP2008276331A JP 2008276331 A JP2008276331 A JP 2008276331A JP 2007116167 A JP2007116167 A JP 2007116167A JP 2007116167 A JP2007116167 A JP 2007116167A JP 2008276331 A JP2008276331 A JP 2008276331A
- Authority
- JP
- Japan
- Prior art keywords
- mode
- task
- execution
- time
- multiprocessor
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/522—Barrier synchronisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
【課題】マルチプロセッサの消費電力の低減を図る。
【解決手段】本発明の一態様に係るマルチプロセッサ1の制御装置CPEは、プロセッサエレメントPE0〜PEnに割り当てられる複数のタスクの実行スケジュールに基づいて、プロセッサエレメントPE0〜PEnのそれぞれに対して、タスクの実行中に用いられる通常モードと、タスクの実行されていない時間に用いられ通常モードよりも消費電力が抑制される第1のモードと、タスクの実行されていない時間に用いられ第1のモードよりも消費電力の抑制効果が大きいがモード切替時間が長い第2のモードとのいずれかを選択する選択手段6と、プロセッサエレメントPE0〜PEnのそれぞれに対して、選択手段6によって選択されたモードに応じた制御を実行するモード制御手段7とを具備する。
【選択図】 図1
【解決手段】本発明の一態様に係るマルチプロセッサ1の制御装置CPEは、プロセッサエレメントPE0〜PEnに割り当てられる複数のタスクの実行スケジュールに基づいて、プロセッサエレメントPE0〜PEnのそれぞれに対して、タスクの実行中に用いられる通常モードと、タスクの実行されていない時間に用いられ通常モードよりも消費電力が抑制される第1のモードと、タスクの実行されていない時間に用いられ第1のモードよりも消費電力の抑制効果が大きいがモード切替時間が長い第2のモードとのいずれかを選択する選択手段6と、プロセッサエレメントPE0〜PEnのそれぞれに対して、選択手段6によって選択されたモードに応じた制御を実行するモード制御手段7とを具備する。
【選択図】 図1
Description
本発明は、1チップ上に複数のプロセッサエレメント(内部演算ユニット)が搭載されたマルチプロセッサにおいて、低消費電力化を図るマルチプロセッサの制御装置及び方法に関する。
近年のマイクロプロセッサにおいては、周波数の向上よりむしろ、プロセッサエレメントの数の向上で、演算性能向上を図る傾向にある。
複数のプロセッサエレメントを備えたマルチプロセッサでは、消費電力が低く抑制されることが好ましい。
特許文献1には、チップ上に配置されている複数のプロセッサエレメントにおける消費電力を、各プロセッサエレメントに対しそれぞれ割り当てられたジョブの処理状況に応じて制御できるプロセッサエレメント監視制御手段が開示されている。
特許文献2には、命令実行制御部における命令実行状態を監視し、命令アイドルカウンタにて一定時間の連続した停止状態が検出された場合、クロック分配制御部においてプロセッサ内のクロックを停止する発明が開示されている。
特許文献3には、マルチタスクオペレーティングシステムが各CPUの利用量を監視し、利用量が少ないCPUに対して停止又はサスペンドさせる発明が開示されている。
特許文献4には、待機時間の増減により、並列CPが処理すべきタスク量の増減を知り、実際に並列処理をするCPの数を決定し、残りのCPの動作電源を切断する発明が開示されている。
特許文献5には、待機中のマイクロプロセッサがBUSY信号を出力し、待機中のクロックに切替える発明が開示されている。
特開2004−240669号公報
特開2000−112559号公報
特開平11−202988号公報
特開平6−309288号公報
特開平4−88515号公報
実際のアプリケーションは必ずしも高い並列度を持ったものばかりではない。並列度の低いアプリケーションをマルチプロセッサで実行すると、チップに搭載されている多数のプロセッサエレメントにおいて処理を実行していない時間が増える傾向にある。この場合、マルチプロセッサ全体で、無駄に電力を消費し、熱を発生させるという問題がある。
本発明は、以上のような実情に鑑みてなされたもので、実行されるアプリケーションに対して適切な電力消費を実現するマルチプロセッサの制御装置及び方法を提供することを目的とする。
上記課題は、複数のプロセッサエレメントに割り当てられる複数のタスクの実行スケジュールに基づいて、複数のプロセッサエレメントのそれぞれに対して、タスクの実行中に用いられる通常モードと、タスクの実行されていない時間に用いられ通常モードよりも消費電力が抑制される第1のモードと、タスクの実行されていない時間に用いられ第1のモードよりも消費電力の抑制効果が大きいがモード切替時間が長い第2のモードとのいずれかを選択する選択手段と、複数のプロセッサエレメントのそれぞれに対して、選択手段によって選択されたモードに応じた制御を実行するモード制御手段とを具備するマルチプロセッサの制御装置、により解決される。
本発明により、実行されるアプリケーションに対して適切な電力消費を実現することができる。
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において同様の機能を実現する部分については同一の符号を付して説明を省略する。
(第1の実施の形態)
本実施の形態においては、複数のプロセッサエレメントを1チップ上に搭載するマルチプロセッサにおいて、タスクのスケジューリングを行い、各プロセッサエレメントに対して通常モード、2段階で電力消費を抑制するRestモード及びSleepモードの切り替えを行う制御プロセッサエレメント(制御装置)について説明する。
本実施の形態においては、複数のプロセッサエレメントを1チップ上に搭載するマルチプロセッサにおいて、タスクのスケジューリングを行い、各プロセッサエレメントに対して通常モード、2段階で電力消費を抑制するRestモード及びSleepモードの切り替えを行う制御プロセッサエレメント(制御装置)について説明する。
図1は、本実施の形態に係る制御プロセッサエレメントを具備するマルチプロセッサの構造の一例を示すブロック図である。
マルチプロセッサ1は、1チップ上に複数のプロセッサエレメントPE0〜PEnを具備する。さらに、マルチプロセッサ1は、クロックを発生するPLL(Phase Locked Loop)2、制御プロセッサエレメントCPEを具備する。
プロセッサエレメントPE0〜PEnは、メモリ3に記憶されているアプリケーション・プログラム3aを実行する。
各プロセッサエレメントPE0〜PEnには、それぞれクロックの供給時にON状態となり、クロックの供給停止時にOFF状態となるクロックゲートG0〜Gnが備えられている。
各プロセッサエレメントPE0〜PEnには、それぞれ電源モジュールE0〜Enによって電源が供給される。
電源制御チップ4は、制御プロセッサエレメントCPEからの命令にそって、電源モジュールE0〜EnのON/OFFを切り替える。
本実施の形態においては、各プロセッサエレメントPE0〜PEnのそれぞれに対して、電源モジュールE0〜Enが対応付けされている場合を例として説明する。
制御プロセッサエレメントCPEは、メモリ5に記憶されている制御プログラム5aを実行し、スケジュール管理部8、選択部6、モード制御部7として機能する。
スケジュール管理部8は、プロセッサエレメントPE0〜PEnに対するジョブ投入スケジュールを管理する。本実施の形態においては、スケジュール管理部8は、複数のタスクのうち並列に実行される必要のないタスクが、プロセッサエレメントPE0〜PEnのうちの特定のプロセッサエレメントに優先的に割り当てられるよう、タスクの実行スケジュールを調整する。
選択部6は、プロセッサエレメントPE0〜PEnのそれぞれに割り当てられるアプリケーション・プログラム3aに含まれる複数のタスクの実行スケジュールに基づいて、プロセッサエレメントPE0〜PEnのそれぞれに対して、通常モード、Restモード、Sleepモードのいずれかを選択する。
ここで、通常モードは、タスクを実行する通常の状態を意味する。
Restモードは、モード切替時間がそれほどかからないが消費電力抑制効果が小さいモードである。すなわち、Restモードは、タスクが実行されていない時間に用いられ、通常モードよりも消費電力が抑制されるモードである。
Sleepモードは、モード切替時間がそれなりにかかる代わりに消費電力抑制効果が大きいモードである。すなわち、Sleepモードは、タスクが実行されていない時間に用いられ、Restモードよりも消費電力の抑制効果は大きいがモード切替時間が長いモードである。
なお、本実施の形態においては、Restモード選択時には、クロックの供給停止を行い、Sleepモード選択時には、電源供給の停止を行う場合について説明する。しかしながら、RestモードとSleepモードとしては、上記の関係を有すれば他の消費電力抑制手法を用いるとしてもよい。他の消費電力抑制の手法としては、例えば、電源電圧抑制、周波数抑制、バックバイアス印加などを用いることができる。
具体的には、選択部6は、プロセッサエレメントPE0〜PEnのそれぞれに対して、タスクの実行時間において通常モードを選択する。
また、選択部6は、プロセッサエレメントPE0〜PEnのそれぞれに対して、タスクの実行終了から次のタスクの実行開始までの時間が、設定されているRestモード適用範囲内の場合、このタスクの実行終了から次のタスクの実行開始までの間に対してRestモードを選択する。
さらに、選択部6は、プロセッサエレメントPE0〜PEnのそれぞれに対して、タスクの実行終了から次のタスクの実行開始までの時間が、Restモード適用範囲より長い場合(Sleepモード適用範囲の場合)、このタスクの実行終了から次のタスクの実行開始までの間に対してSleepモードを選択する。
なお、選択部6は、Sleepモードを選択する場合、モード切替時間(Sleepモードの前と後の双方)とSleepモードの実施時間とが、タスクの実行終了から次のタスクの実行開始までの時間を超えない範囲となるように、Sleepモードの実施時間を決定する。
そして、選択部6は、プロセッサエレメントPE0〜PEnのそれぞれに対して、次のタスクの実行時間において通常モードを選択する。
モード制御部7は、プロセッサエレメントPE0〜PEnのそれぞれに対して、選択部6によって選択されたモードに応じた制御を実行する。
具体的には、モード制御部7は、選択部6によってRestモードが選択されたプロセッサエレメントのクロックゲートに対してOFF状態となる旨のモード切替命令を発する。クロックゲートは、このモード切替命令に応じて、このクロックゲートに対応するプロセッサエレメントがタスクを実行していない状態になった後に、OFF状態となる。また、モード制御部7は、Restモードが解消されるプロセッサエレメントのクロックゲートに対してON状態となる旨のモード切替命令を発する。クロックゲートは、モード切替命令に応じて、ON状態となる。
このように、クロックゲートにOFF状態となる旨のモード切替命令を発することで、このクロックゲートに対応するプロセッサエレメントで消費されるクロック消費電力をゼロにすることができる。
さらに、モード制御部7は、選択部6によってSleepモードが選択されたプロセッサエレメントの識別情報と決定されたSleepモードの実施時間とを含むモード切替命令を電源制御チップ4に発する。
電源制御チップ4は、モード切替命令の示すプロセッサエレメントに対応する電源モジュールを、モード切替命令の示すプロセッサエレメントがタスクを実行していない状態になった後、モード切替命令の示すSleepモードの実施時間だけ停止させる。
このように、プロセッサエレメントに対応する電源モジュールをOFFとし、このプロセッサエレメントへの電源供給を停止することにより、このプロセッサエレメントの消費電力そのものをゼロにすることができる。
以下に、上記のような構成の制御プロセッサエレメントCPEを搭載したマルチプロセッサ1を、具体例を用いながら説明する。
本実施の形態に係るマルチプロセッサ1は、1チップ上に、例えば数百MHz〜数GHz級の複数のプロセッサエレメントPE0〜PEnを備えたチッププロセッサシステムである。
マルチプロセッサ1は、プロセッサエレメントPE0〜PEnに対するジョブ投入スケジュールを管理する制御プロセッサエレメントCPEを具備する。
制御プロセッサエレメントCPEは、プロセッサエレメントPE0〜PEnに対するジョブ投入スケジュールを管理する。なお、制御プロセッサエレメントCPEも、他のプロセッサエレメントPE0〜PEnと同様にアプリケーション・プログラム3aの実行に用いられるとしてもよい。
マルチプロセッサ1において消費電力抑制を図る手法としては、例えば、電源電圧抑制、周波数抑制、クロック供給停止、電源供給の停止、バックバイアス印加などがある。
このマルチプロセッサ1では、プロセッサエレメントPE0〜PEn単位、又はその上位のグループで2つの段階の消費電力抑制モードが設定される。
Restモードでは、プロセッサエレメントPE0〜PEnが通常に動作する通常モードからの移行、通常モードへの復帰にSleepモードよりも時間がかからないが、消費電力抑制効果はSleepモードよりも小さい消費電力抑制手法が用いられる。
これに対して、Sleepモードでは、通常モードからの移行、通常モードへの復帰にRestモードよりも時間がかかるがRestモードより消費電力抑制効果が大きい消費電力抑制手法が用いられる。
ここで、制御マルチプロセッサエレメントCPEは、各プロセッサエレメントPE0〜PEnに対し、ジョブの実行を指示する時に、Restモードへの移行、Sleepモードへの移行、移行しない(通常モードのまま)、のいずれかを選択する選択部6を具備する。
制御マルチプロセッサエレメントCPEのモード制御部7は、どのようなタイミングであっても、プロセッサエレメントPE0〜PEn及び電源制御チップ4に対して、モード切替命令を通知可能とする。すなわち、モード制御部7は、各プロセッサエレメントPE0〜PEn及び電源制御チップ4に対して、同時であってもモード切替命令を発行可能である。
なお、本実施の形態において、Sleepモードへ移行するモード切替命令については、このSleepモードの実施時間情報(例えば、何sec経過後に通常モードに復帰するかを示す時間パラメータなど)が付加される。
プロセッサエレメントPE0〜PEnは、指定されたジョブの処理を完了した場合、制御マルチプロセッサエレメントCPEから命令されたモードに移行する。
例えば、Sleepモードへの移行を示すモード切替命令にしたがって電源制御チップ4がいずれかの電源モジュールによる電源供給を停止すると、この電源モジュールに対応するプロセッサエレメントがSleepモードに移行する。このSleepモードのプロセッサエレメントについてSleepモードの実施時間が経過すると、電源制御チップ4がSleepモードのプロセッサエレメントに対する電源供給を開始し、このプロセッサエレメントは自動的に通常モードへ復帰する。
また、プロセッサエレメントPE0〜PEnは、制御マルチプロセッサエレメントCPEからRestモードへの移行を示すモード切替命令を直接受けると、このモード切替命令にしたがってRestモードに移行する。例えば、プロセッサエレメントPE0〜PEnは、Restモードを示すモード切替命令を受けた場合に、自己のクロックゲートG0〜Gnを閉じ、Restモードに移行する。また、例えば、プロセッサエレメントPE0〜PEnは、通常モードへの移行を示すモード切替命令を受けた場合に、自己のクロックゲートG0〜Gnを開き、通常モードに移行する。
図2は、本実施の形態に係る制御プロセッサエレメントCPEの動作の一例を示すフローチャートである。
ステップS1において、制御プロセッサエレメント1の選択部6は、ジョブ投入スケジュールに基づいて、プロセッサエレメントPE0〜PEnのうちのモード切替対象のプロセッサエレメントに対して、通常モード、Restモード、Sleepモードとのうちのいずれかを選択する。
ステップS2において、制御プロセッサエレメント1のモード制御部7は、モード切替対象のプロセッサエレメントに対して、選択部6によって選択されたモードに応じた動作を実行するために、モード切替命令を発する。
図3は、本実施の形態に係るマルチプロセッサ1によって実行されるアプリケーション・プログラム3aの一例を示すタスクフローグラフである。
タスクフローグラフは、アプリケーション・プログラム3aのコンパイル時に作成される。図3において、丸表示されたものがタスクであり、丸の中の文字がタスク番号であり、丸の右上の数値がそのタスクの見込み実行時間(例えばsec)である。見込み実行時間は、コンパイラによる静的解析などによって得られる。
<第1例>として、図3のタスクフローに対するRestモードの選択について説明する。
図4は、Restモードによるバリア同期時の消費電力抑制の一例を表す図である。
タスクT6は、タスクT2,T3の実行結果を必要とし、タスクT7はタスクT3,T4の実行結果を必要とする。
このように、複数のタスク実行結果に依存した後続タスクがある場合、先行の複数のタスク(例えば、タスクT2,T3)間でバリア同期が必要になる。
タスクT2,T3又はタスクT3,T4のように、バリア同期が必要な同程度の見込み実行時間のタスクが投入される場合、両タスクはなるべく同程度の時期に終了し、時間的にも電力的にもロスなく処理されることが期待される。
しかしながら、実際には、プロセッサエレメントのマイクロアーキテクチャ依存の問題、メモリアーキテクチャの問題などにより終了時間にずれが生じる。
そこで、このようにバリア同期が必要であり、かつタスクの見込み実行時間が同程度のタスクを投入するようなケースでは、制御プロセッサエレメントCPEは、制御対象のプロセッサエレメントに、そのタスクの終了後Restモードに移行するように、予めRestモードを示すモード切替命令を通知しておく。
そして、制御対象のプロセッサエレメントは、タスク実行を完了すると直ちにRestモードに移行する。
これにより、バリア同期対象のタスク間において、そのタスクの終了時刻にずれが生じた場合であっても、無駄な電力消費を抑えることができる。
Restモード中のプロセッサエレメントに対して新たなタスクを投入する場合、制御プロセッサエレメントは通常モードへ復帰する旨のモード切替命令を、モード切替対象のプロセッサエレメントに通知する。この場合において、Restモードから通常モードへの復帰時間は短いため、ほとんどロスなくタスクを投入できる。
次に、<第2例>として、上記の図3のタスクフローに対するSleepモードの選択について説明する。
図5は、Sleepモードによるバリア同期時の消費電力抑制の一例を表す図である。
タスクT5は、タスクT6〜T8と同様に、タスクT10を後続に持つ先行依存タスクである。
先で説明した<第1例>にしたがった場合、タスクT5は、タスク実行終了後直ちにRestモードに移行すべきタスクである。
しかしながら、静的スケジューリングによりタスクT5がマップされたプロセッサエレメントPE3には、タスクT5実行終了後、割り当てられる後続タスクがしばらく(あるしきい値を超えて)ないことが認識される。
このような場合、制御プロセッサエレメントCPEは、プロセッサエレメントPE3に対してタスクT5実行終了後、Sleepモードに46secの間移行する旨のモード切替命令を電源制御チップ4に通知する。
通常モードからSleepモードへのモード切替時間、及びSleepモードから通常モードへのモード切替時間は、Restモードの場合と比べて長くなる。すなわち、タスクの処理にプロセッサエレメントPE3が必要となった時点で、Sleepモードから通常モードに復帰するのでは時間ロスが大きくなるため、この<第2例>では、タスクT5実行終了後から、次のタスクT15の開始前までの間に、通常モードからSleepモードへのモード切替時間、Sleepモードの実施時間、Sleepモードから通常モードへのモード切替時間が含まれるように、Sleepモードの実施時間を特定することが有効である。
以上説明した本実施の形態においては、投入されるタスクの特性に応じて、通常モードと、消費電力抑制のための2段階のモードとのうちのいずれかが選択される。これにより、アプリケーション・プログラム3aを実行するマルチプロセッサ1を、適切な消費電力により動作させることができる。
本実施の形態において、Sleepモードの実施時間は、モード切替時間を考慮して決定される。これにより、タスクの実行スケジュールに影響を与えることなく、消費電力を抑制することができる。
本実施の形態においては、並列に実行される必要のないタスクをなるべく1つのプロセッサエレメントに集中させて実行させる。これにより、モード切替回数を少なくすることができ、一層の消費電力抑制効果が得られる。
上記実施の形態において、各構成要素は同様の動作を実現可能であれば配置を変更させてもよく、また各構成要素を自由に組み合わせてもよく、各構成要素を自由に分割してもよく、いくつかの構成要素を削除してもよい。すなわち、本実施の形態については、上記の構成そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
例えば、電源制御チップ4と電源モジュールE0〜Enを削除し、各プロセッサエレメントPE0〜PEn自体がモード切替命令に応じて電源ON/OFFを切り替える機能を持つとしてもよい。すなわち、図6に例示するマルチプロセッサ9のように、プロセッサエレメントPE0〜PEn自体が、モード切替命令を受信し、受信したモード切替命令に応じて自己のモードを切り替える機能を備えるとしてもよい。
また、例えば、複数のプロセッサエレメントPE0〜PEnに一つの電源モジュールが対応付けされており、この一つの電源モジュールが各プロセッサエレメントPE0〜PEnへの電源の供給をON/OFF可能としてもよい。
また、例えば、電源モジュールE0〜Enと電源制御チップ4とを組み合わせた装置により、プロセッサエレメントPE0〜PEnのいずれかには電源を供給し、プロセッサエレメントPE0〜PEnの他のいずれかには電源供給を停止可能としてもよい。
例えば、図7に示すように、プロセッサエレメントPE0〜PEnのいずれかが、本実施の形態に係る制御プロセッサエレメントCPEと同様の動作を実施するとしてもよい。この図7のマルチプロセッサ10は、プロセッサエレメントPE0によりジョブ投入スケジュールが管理され、プロセッサエレメントPE0からから他のプロセッサエレメントPE1〜PEnにモード切替命令が通知され、プロセッサエレメントPE1〜PEnはモード切替命令にしたがってモードを切り替える。プロセッサエレメントPE0もアプリケーション・プログラム3aの実行に用いられるとしてもよい。
(第2の実施の形態)
本実施の形態においては、上記第1の実施の形態の変形例について説明する。本実施の形態では、並列に実行する必要のないタスクを特定のプロセッサエレメントに集中させる最適化を行った場合と、集中させない場合との比較について説明する。
本実施の形態においては、上記第1の実施の形態の変形例について説明する。本実施の形態では、並列に実行する必要のないタスクを特定のプロセッサエレメントに集中させる最適化を行った場合と、集中させない場合との比較について説明する。
本実施の形態では、マルチプロセッサに消費される電力100%のうち、ACで50%、クロックで40%、DCで10%が消費されると仮定する。ここで、ACとは回路が動作することによって消費する電力であり、クロックとはそのブロックに供給されているクロックで消費する電力であり、DCとはその回路のリーク電力である。
また、本実施の形態においては、Restモードは動作周波数を1/4に抑制するモードであり、Sleepモードはクロック供給の停止を行う(クロックゲーティング)モードであるとする。
この場合、図8に例示するように、Restモードでは、ACの割合50%+クロックの割合40%×(3/4)=80%の電力を抑制できる。また、Restモードでは、モード切替時間が0.2secかかるとする。
一方、Sleepモードでは、ACの消費電力の割合50%とクロックの消費電力の割合40%の全てがカットされ、90%の電力を抑制できる。また、Sleepモードでは、モード切替時間が5secかかるとする。
図9は、なるべくプロセッサエレメントPE2にタスクが集められているが、各タスク間ではプロセッサエレメントPE0〜PE3がidle状態となる(モード切替が行われない)場合のタスクフローグラフの一例を示している。
この図9のタスクフローグラフに対するトータルの消費電力の評価値は248.9となる。
図10は、特定のプロセッサエレメントPE2に並列に動作する必要のないタスクを集める最適化を行うとともに、モード切替を行う場合のタスクフローグラフの一例を示している。
この図10のタスクフローグラフに対するトータルの消費電力の評価値は218.7となる。
図11は、タスク配置の最適化は行われないが、モード切替が行われる場合のタスクフローグラフの一例を示している。
この図11のタスクフローグラフに対するトータルの消費電力の評価値は228.5となる。
上記図9から図10のタスクフローグラフにおけるシミュレーションによって得られる評価値は、数が少ないほど消費電力が抑制されている状態を表す。
このシミュレーションにより、Restモード及びSleepモードへの切替を行う方が、Restモード及びSleepモードへの切替を行わない場合よりも消費電力が抑制可能であり、さらに、最適化を行うことで消費電力が抑制されることが確認される。
なお、上記各実施の形態において、Restモードに周波数抑制を用い、Sleepモードに電源停止を用いるとしてもよい。
1,9,10…マルチプロセッサ、2…PLL、3,5…メモリ、3a…アプリケーション・プログラム、4…電源制御チップ、5a…制御プログラム、6…選択部、7…モード制御部、8…スケジュール管理部、CPE…制御プロセッサエレメント、PE0〜PEn…プロセッサエレメント、G0〜Gn…クロックゲート、E0〜En…電源モジュール
Claims (5)
- 複数のプロセッサエレメントに割り当てられる複数のタスクの実行スケジュールに基づいて、前記複数のプロセッサエレメントのそれぞれに対して、前記タスクの実行中に用いられる通常モードと、前記タスクの実行されていない時間に用いられ前記通常モードよりも消費電力が抑制される第1のモードと、前記タスクの実行されていない時間に用いられ前記第1のモードよりも消費電力の抑制効果が大きいがモード切替時間が長い第2のモードとのいずれかを選択する選択手段と、
前記複数のプロセッサエレメントのそれぞれに対して、前記選択手段によって選択されたモードに応じた制御を実行するモード制御手段と
を具備することを特徴とするマルチプロセッサの制御装置。 - 請求項1記載のマルチプロセッサの制御装置において、
前記選択手段は、前記複数のプロセッサエレメントに対して、
前記タスクの実行時間において前記通常モードを選択し、
前記タスクの実行終了から次のタスクの実行開始までの時間が第1のモード適用範囲に含まれる場合、前記タスクの実行終了から前記次のタスクの実行開始までの間に対して、前記第1のモードを選択し、
前記タスクの実行終了から次のタスクの実行開始までの時間が前記第1のモード適用範囲より長い場合、前記タスクの実行終了から前記次のタスクの実行開始までの間に対して、前記第2のモードを選択し、
前記次のタスクの実行時間において前記通常モードを選択する
ことを特徴とするマルチプロセッサの制御装置。 - 請求項1又は請求項2記載のマルチプロセッサの制御装置において、
前記選択手段は、前記第2のモードを選択する場合、前記モード切替時間と前記第2のモードの実施時間とが、前記タスクの実行終了から次のタスクの実行開始までの時間を超えない範囲となるように、前記第2のモードの実施時間を決定し、
前記モード制御手段は、前記選択手段によって決定された前記第2のモードの実施時間だけ、前記第2のモードを実施する旨の命令を発する
ことを特徴とするマルチプロセッサの制御装置。 - 請求項1乃至請求項3のいずれか1項に記載のマルチプロセッサの制御装置において、
前記実行スケジュールでは、前記複数のタスクのうち並列に実行される必要のないタスクが、前記複数のプロセッサエレメントのうちの特定のプロセッサエレメントに優先的に割り当てられていることを特徴とするマルチプロセッサの制御装置。 - 複数のプロセッサエレメントに割り当てられる複数のタスクの実行スケジュールに基づいて、前記複数のプロセッサエレメントのそれぞれに対して、前記タスクの実行中に用いられる通常モードと、前記タスクの実行されていない時間に用いられ前記通常モードよりも消費電力が抑制される第1のモードと、前記タスクの実行されていない時間に用いられ前記第1のモードよりも消費電力の抑制効果が大きいがモード切替時間が長い第2のモードとのいずれかを選択し、
前記複数のプロセッサエレメントのそれぞれに対して、選択されたモードに応じた制御を実行する
ことを特徴とするマルチプロセッサの制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007116167A JP2008276331A (ja) | 2007-04-25 | 2007-04-25 | マルチプロセッサの制御装置及び方法 |
| US12/109,391 US20080271035A1 (en) | 2007-04-25 | 2008-04-25 | Control Device and Method for Multiprocessor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007116167A JP2008276331A (ja) | 2007-04-25 | 2007-04-25 | マルチプロセッサの制御装置及び方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008276331A true JP2008276331A (ja) | 2008-11-13 |
Family
ID=39888600
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007116167A Pending JP2008276331A (ja) | 2007-04-25 | 2007-04-25 | マルチプロセッサの制御装置及び方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20080271035A1 (ja) |
| JP (1) | JP2008276331A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010073313A1 (ja) * | 2008-12-22 | 2010-07-01 | トヨタ自動車株式会社 | 車両用電子制御システム、車両用電子制御ユニット、車両用制御同期方法 |
| JP2013513893A (ja) * | 2009-12-15 | 2013-04-22 | マイクロン テクノロジー, インク. | パターン認識プロセッサにおける消費電力を低減させるための方法及び装置 |
| JP2013200668A (ja) * | 2012-03-23 | 2013-10-03 | Ntt Data Corp | 性能制御方法、そのシステムおよびプログラム |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8219994B2 (en) * | 2008-10-23 | 2012-07-10 | Globalfoundries Inc. | Work balancing scheduler for processor cores and methods thereof |
| US20100250564A1 (en) * | 2009-03-30 | 2010-09-30 | Microsoft Corporation | Translating a comprehension into code for execution on a single instruction, multiple data (simd) execution |
| JP5549131B2 (ja) * | 2009-07-07 | 2014-07-16 | 富士通株式会社 | ジョブ割当装置、ジョブ割当方法及びジョブ割当プログラム |
| JP5381837B2 (ja) * | 2009-08-19 | 2014-01-08 | 株式会社リコー | 情報処理装置、ネットワークシステム、省電力制御方法、省電力制御プログラム及び記録媒体 |
| JP2011059777A (ja) * | 2009-09-07 | 2011-03-24 | Toshiba Corp | タスクスケジューリング方法及びマルチコアシステム |
| GB0919253D0 (en) | 2009-11-03 | 2009-12-16 | Cullimore Ian | Atto 1 |
| US8875276B2 (en) | 2011-09-02 | 2014-10-28 | Iota Computing, Inc. | Ultra-low power single-chip firewall security device, system and method |
| JP5621857B2 (ja) * | 2011-01-31 | 2014-11-12 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
| US8904216B2 (en) * | 2011-09-02 | 2014-12-02 | Iota Computing, Inc. | Massively multicore processor and operating system to manage strands in hardware |
| TWI493332B (zh) * | 2011-11-29 | 2015-07-21 | Intel Corp | 用於電力管理的方法與設備及其平台與電腦可讀取媒體 |
| WO2013158116A1 (en) | 2012-04-20 | 2013-10-24 | Hewlett-Packard Development Company, L.P. | Voltage regulator control system |
| JP5853992B2 (ja) * | 2013-05-24 | 2016-02-09 | 株式会社デンソー | Ecu評価装置 |
| JP6175980B2 (ja) * | 2013-08-23 | 2017-08-09 | 富士通株式会社 | Cpuの制御方法、制御プログラム、情報処理装置 |
| US20150355942A1 (en) * | 2014-06-04 | 2015-12-10 | Texas Instruments Incorporated | Energy-efficient real-time task scheduler |
| US10542233B2 (en) * | 2014-10-22 | 2020-01-21 | Genetec Inc. | System to dispatch video decoding to dedicated hardware resources |
| US20170116154A1 (en) * | 2015-10-23 | 2017-04-27 | The Intellisis Corporation | Register communication in a network-on-a-chip architecture |
| US20170188305A1 (en) * | 2015-12-28 | 2017-06-29 | Kabushiki Kaisha Toshiba | Wireless communication device |
| CN109144695B (zh) * | 2018-08-30 | 2021-08-10 | 百度在线网络技术(北京)有限公司 | 一种任务拓扑关系的处理方法、装置、设备和介质 |
| US11875167B2 (en) | 2020-03-23 | 2024-01-16 | Nubix, Inc. | Method for deploying containerized protocols on very small devices |
| US11874692B2 (en) * | 2019-08-16 | 2024-01-16 | Nubix, Inc. | Method for deploying containerized security technologies on embedded devices |
| CN114020140B (zh) * | 2020-02-12 | 2023-11-28 | 地平线(上海)人工智能技术有限公司 | 控制硬件模块的方法及装置、电子设备和存储介质 |
| US20230367738A1 (en) * | 2022-05-11 | 2023-11-16 | Bae Systems Information And Electronic Systems Integration Inc. | Asic power control |
| CN120996225B (zh) * | 2025-10-24 | 2026-01-23 | 山东云海国创云计算装备产业创新中心有限公司 | 芯片控制方法及装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05242051A (ja) * | 1992-02-28 | 1993-09-21 | Nec Corp | タスクスケジューリング方式 |
| JPH07200496A (ja) * | 1993-12-28 | 1995-08-04 | Fujitsu Ltd | プロセッサ割当て方式 |
| JP2001318742A (ja) * | 2000-05-08 | 2001-11-16 | Mitsubishi Electric Corp | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 |
| JP2006048652A (ja) * | 2004-07-01 | 2006-02-16 | Matsushita Electric Ind Co Ltd | マルチプロセッサ制御装置、その制御方法及び集積回路 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6260150B1 (en) * | 1998-03-10 | 2001-07-10 | Agere Systems Guardian Corp. | Foreground and background context controller setting processor to power saving mode when all contexts are inactive |
| US6711691B1 (en) * | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
| EP1330699B1 (en) * | 2000-10-31 | 2010-12-22 | Millennial Net, Inc | Networked processing system with optimized power efficiency |
| US20030079152A1 (en) * | 2001-08-14 | 2003-04-24 | Triece Joseph W. | Microprocessor with multiple low power modes and emulation apparatus for said microprocessor |
| AU2003281389A1 (en) * | 2002-07-03 | 2004-01-23 | Koninklijke Philips Electronics N.V. | Multi-processor computer system |
| US7634675B2 (en) * | 2002-09-05 | 2009-12-15 | Gateway, Inc. | Monitor power management |
| US7360106B2 (en) * | 2004-08-05 | 2008-04-15 | Matsushita Electric Industrial Co., Ltd. | Power-saving processing unit, power-saving processing method and program record medium |
| US7739527B2 (en) * | 2004-08-11 | 2010-06-15 | Intel Corporation | System and method to enable processor management policy in a multi-processor environment |
| 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 |
| US7797563B1 (en) * | 2006-06-09 | 2010-09-14 | Oracle America | System and method for conserving power |
-
2007
- 2007-04-25 JP JP2007116167A patent/JP2008276331A/ja active Pending
-
2008
- 2008-04-25 US US12/109,391 patent/US20080271035A1/en not_active Abandoned
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05242051A (ja) * | 1992-02-28 | 1993-09-21 | Nec Corp | タスクスケジューリング方式 |
| JPH07200496A (ja) * | 1993-12-28 | 1995-08-04 | Fujitsu Ltd | プロセッサ割当て方式 |
| JP2001318742A (ja) * | 2000-05-08 | 2001-11-16 | Mitsubishi Electric Corp | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 |
| JP2006048652A (ja) * | 2004-07-01 | 2006-02-16 | Matsushita Electric Ind Co Ltd | マルチプロセッサ制御装置、その制御方法及び集積回路 |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010073313A1 (ja) * | 2008-12-22 | 2010-07-01 | トヨタ自動車株式会社 | 車両用電子制御システム、車両用電子制御ユニット、車両用制御同期方法 |
| US8290663B2 (en) | 2008-12-22 | 2012-10-16 | Toyota Jidosha Kabushiki Kaisha | Vehicle electronic control system, vehicle electronic control unit, and vehicle control synchronization method |
| JP2013513893A (ja) * | 2009-12-15 | 2013-04-22 | マイクロン テクノロジー, インク. | パターン認識プロセッサにおける消費電力を低減させるための方法及び装置 |
| US9501705B2 (en) | 2009-12-15 | 2016-11-22 | Micron Technology, Inc. | Methods and apparatuses for reducing power consumption in a pattern recognition processor |
| US10157208B2 (en) | 2009-12-15 | 2018-12-18 | Micron Technology, Inc. | Methods and apparatuses for reducing power consumption in a pattern recognition processor |
| US11151140B2 (en) | 2009-12-15 | 2021-10-19 | Micron Technology, Inc. | Methods and apparatuses for reducing power consumption in a pattern recognition processor |
| JP2013200668A (ja) * | 2012-03-23 | 2013-10-03 | Ntt Data Corp | 性能制御方法、そのシステムおよびプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080271035A1 (en) | 2008-10-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2008276331A (ja) | マルチプロセッサの制御装置及び方法 | |
| US7421601B2 (en) | Method and system for controlling power in a chip through a power-performance monitor and control unit | |
| US8452999B2 (en) | Performance estimation for adjusting processor parameter to execute a task taking account of resource available task inactive period | |
| KR101459140B1 (ko) | 전원관리 제어 장치 및 방법 | |
| JP5469940B2 (ja) | 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法 | |
| TWI464570B (zh) | 用於平衡具有多核心之計算裝置的效能與電力節省的方法、電腦可讀儲存媒體與多邏輯處理器系統 | |
| JP5090569B2 (ja) | ミクロアーキテクチャのバンド幅スロットリングによるプロセッサ電力消費制御及び電圧降下 | |
| EP2149835A1 (en) | Integrated waking/while-awake power management system | |
| Mochocki et al. | A unified approach to variable voltage scheduling for nonideal DVS processors | |
| JPWO2005106623A1 (ja) | Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体 | |
| JP6209042B2 (ja) | データ処理装置 | |
| EP2384462B1 (en) | Method and system for managing the operation of a multicore data processing device | |
| JP4490298B2 (ja) | プロセッサ電力制御装置及びプロセッサ電力制御方法 | |
| KR20160105209A (ko) | 전자 장치 및 이의 전력 제어 방법 | |
| Pereira et al. | PASA: A software architecture for building power aware embedded systems | |
| CN105706022A (zh) | 一种预测处理器利用率的方法、处理装置和终端设备 | |
| Houben et al. | An energy-aware dynamic scheduling algorithm for hard real-time systems | |
| Prasasta et al. | Co-Design of a Power State-Aware Scheduler and an Intelligent Power Manager for Energy-Efficient HPC Systems | |
| Mochocki et al. | Dynamic voltage scaling for the schedulability of jitter-constrained real-time embedded systems | |
| KR101075949B1 (ko) | 모바일 내장형 시스템을 위한 전력 관리 시스템 및 그 방법 | |
| Mohan et al. | Dynamic voltage scaling with reduced frequency switching and preemptions | |
| JP5668293B2 (ja) | 無線通信装置及びプログラム | |
| Jejurikar et al. | Systemwide Energy Minimization in Real-Time Embedded Systems | |
| Medhat et al. | Power-efficient multiple producer-consumer | |
| Baskaran et al. | Dynamic Scheduling of Skippable Periodic Tasks with Energy Efficiency in Weakly Hard Real-Time System |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090918 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110222 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110329 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110802 |