JP2010211544A - マルチコアプロセッサ及びその制御方法 - Google Patents

マルチコアプロセッサ及びその制御方法 Download PDF

Info

Publication number
JP2010211544A
JP2010211544A JP2009057261A JP2009057261A JP2010211544A JP 2010211544 A JP2010211544 A JP 2010211544A JP 2009057261 A JP2009057261 A JP 2009057261A JP 2009057261 A JP2009057261 A JP 2009057261A JP 2010211544 A JP2010211544 A JP 2010211544A
Authority
JP
Japan
Prior art keywords
task
processing time
tasks
processor
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009057261A
Other languages
English (en)
Other versions
JP5293289B2 (ja
Inventor
Hisanori Fujisawa
久典 藤沢
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009057261A priority Critical patent/JP5293289B2/ja
Publication of JP2010211544A publication Critical patent/JP2010211544A/ja
Application granted granted Critical
Publication of JP5293289B2 publication Critical patent/JP5293289B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Power Sources (AREA)

Abstract

【課題】
一群のタスクに着目して、一群のタスクを処理する複数のプロセッサコアへ供給する電源電圧又は動作クロックの周波数を関連をもたせて制御する機能を備えることにより、低電力化を図ったマルチコアプロセッサの提供。
【解決手段】
複数のプロセッサコアと、タスクについての第1タスク群の識別番号と、タスク処理時間と、第1タスク群に含まれるタスクを実行する上限期間を記憶するレジスタと、第1タスク群に含まれるタスクの内、並列に処理される複数のタスクからなる第2タスク群を抽出し、第2タスク群を処理する第1処理時間を、第2タスク群を処理するプロセッサコアの消費電力に応じて第2処理時間として設定する設定回路と、タスク処理時間と、第2処理時間との比率に応じて、各タスクを処理するプロセッサコアへ供給する動作クロックの周波数又は電源電圧を変更する駆動回路と、を備えるマルチコアプロセッサが提供される。

【選択図】 図1

Description

アルチコアプロセッサ及びマルチコアプロセッサの低電力化を図る制御方法に関する。
複数のプロセッサコアを備えるマルチコアプロセッサにおいては、各プロセッサコアがタスクを並列実行するように、タスクが各プロセッサコアに割り振られるため、高い演算性能が実現されている。そして、マルチコアプロセッサの低電力化を図るため、いわゆる、動的電圧周波数制御(DVFS:Dynamic Voltage Frequency Scaling)がマルチコアプロセッサにおいて行われている。
ここで、単一のプロセッサコアを備えるプロセッサにおいて、タスクに対して要求される処理時間が、プロセッサコアの最大性能によって決まるタスク処理可能な時間より長い場合がある。そこで、単一のプロセッサコアにおいて、DFVSは、プロセッサコアへ供給する電源電圧又は動作クロックの周波数を低下させ、要求される処理時間に応じて、実際のタスク処理時間を引き延ばすことによって実行される。
一方、マルチコアプロセッサにおいては、各プロセッサコアにとって、タスクは切れ目なく連続して割り当てられるのではなく、並列性の要因で、他のプロセッサコアの状況に応じて、一つのタスク終了後、次のタスク処理開始までの待ち時間が存在する。そこで、マルチコアプロセッサにおいて、DFVSは、タスクに対して要求される処理時間と、タスク処理開始までの待ち時間の双方を考慮して、プロセッサコアへ供給する電源電圧又は動作クロックの周波数を低下させ、実際のタスク処理時間を引き延ばすことによって実行される(特許文献1参照。)。
すなわち、一般的に、DFVSは注目するプロセッサコアに割り当てられた、一つのタスクとその次に割り当てられたタスクとの関係に着目して、注目するプロセッサコアへ供給する電源電圧又は動作クロックの周波数を制御することにより実行される。
特開2006−293768号公報
一群のタスクに着目して、一群のタスクを処理する複数のプロセッサコアへ供給する電源電圧又は動作クロックの周波数を関連をもたせて制御する機能を備えることにより、低電力化を図ったマルチコアプロセッサ、及び、一群のタスクを処理する複数のプロセッサコアへ供給する電源電圧又は動作クロックの周波数を関連をもたせて制御して、マルチコアプロセッサの低電力化を図る制御方法を提供する。
上記の課題を解決するため、発明の側面によって、
複数のタスクを並列処理する複数のプロセッサコアと、各タスクについて、関連する第1タスク群を識別する識別番号と、プロセッサコアがタスクを処理するのに必要なタスク処理時間と、第1タスク群に含まれるタスクを実行する上限期間を記憶するレジスタと、
第1タスク群に含まれるタスクの内、並列に処理されるタスクであって同一のタスクに繋がる複数のタスクからなる第2タスク群を抽出し、複数のタスクのタスク処理時間の内、最長のタスク処理時間を第2タスク群を処理する第1処理時間とし、第2タスク群を処理するプロセッサコアの消費電力と第1処理時間に応じて、上限期間中に占める第2タスク群を実行する第2処理時間を設定する設定回路と、
タスク処理時間と、第2処理時間との比率に応じて、各タスクを処理するプロセッサコアへ供給する動作クロックの周波数又は電源電圧を予め決められた動作クロックの周波数又は電源電圧から変更させる駆動回路と、を備えることを特徴とするマルチコアプロセッサが提供される。
その結果、大きな消費電力を必要とするタスク群について、上限期間中に占める処理時間が長くなり、そのタスク群を実行するプロセッサコアの消費電力が大きく削減されるため、マルチコアプロセッサの消費電力削減が大きくなる効果がある。
図1は実施例1のマルチコアプロセッサ10を示す図である。 図2は、マルチコアプロセッサ10の低電力化を図る制御方法を説明するフローチャート20である。 図3A、図3B、図3C、図3Dは、オペレーションop1の具体例を説明する図である。 図4A、図4Bは、オペレーションop2の具体例を説明する図である。 図5A、図5B、図5C、図5D、及び、図5Eはオペレーションop2を、より複雑な関係にあるタスクから構成されているタスクグループに対して行う例を示す。 図6はオペレーションop4の具体例を説明する図である。
本発明は、以下に説明する実施例に対し、当業者が想到可能な、設計上の変更が加えられたもの、及び、実施例に現れた構成要素の組み換えが行われたものも含む。また、本発明は、その構成要素が同一の作用効果を及ぼす他の構成要素へ置き換えられたもの等も含み、以下の実施例に限定されない。
図1は実施例1のマルチコアプロセッサ10を示す図である。実施例1のマルチコアプロセッサ10は、スケジューラ11、基準タスク情報用メモリ12、タスク情報用メモリ13、周波数制御回路14、電源電圧制御回路15、n個のプロセッサコア181からプロセッサコア18n(nは1以上の整数)まで、バス19によって構成されている。
マルチコアプロセッサ10は、タスクグループに含まれる複数のタスクを並列に実行するプロセッサである。
スケジューラ11は、各プロセッサコア18nに対してタスクの割り当て、各プロセッサコア18nにおける割り当てたタスクの処理時間を算出し、その処理時間に応じて各プロセッサコアに供給する電源電圧及び動作クロックの周波数を決定する回路である。
基準タスク情報用メモリ12は、タスクグループに含まれる基準タスクについて、その基準タスクが関連するタスクグループを特定するタスクID番号(識別番号)と、予め決められた標準動作において、各プロセッサコア18nが基準タスクを処理する制約時間、基準タスクの開始時間、基準タスクを実行しているか否かを表す実行フラグを記憶するメモリである。
タスク情報用メモリ13は、基準タスクを除く、すべてのタスクを特定するタスクID(識別番号)、そのタスクが関連する基準タスクのID(識別番号)、各プロセッサコア18nの標準動作に対する動作クロックの周波数及び電源電圧においてそのタスクを実行する標準処理時間を記憶するメモリである。
周波数制御回路14は、クロック発生回路を含み、各プロセッサコア18nへ動作クロックを供給する回路である。周波数制御回路14は、各プロセッサコア18nの動作クロックの周波数の情報を、スケジューラ11から、バス19を介して、受け取る。なお、クロック発生回路は異なるクロック周波数をもつ複数のクロックを発生することとし、それらを切替ることにより、ことなる動作クロックを供給することでもよいし、一つのクロックを発生させ、そのクロックを分周することにより、動作クロックを発生させてもよい。
電源電圧制御回路15は、電源電圧発生回路を含み、各プロセッサコア18nへ電源電圧を供給する。電源電圧制御回路15は、各プロセッサコア18nの電源電圧の情報を、スケジューラ11からバス19を介して、受け取る。
プロセッサコア18nは、スケジューラに割り当てられた各タスクを実行するプロセッサである。
バス19は、マルチコアプロセッサ10を構成する各回路間の信号を伝達するために用いられる。
図2は、マルチコアプロセッサ10の低電力化を図る制御方法を説明するフローチャート20である。
オペレーションop1において、スケジューラ11は、時間配分を実施するタスクグループを、基準タスクのタスクID番号により抽出し、そのタスクグループに関連するすべてのタスクを、そのタスクのタスクIDと、そのタスクが関連する基準タスクのIDにより特定する。次いで、スケジューラ11は、タスク間の時間順序関係を、マルチコアプロセッサ10に与えられたプログラムの解析を行うことにより把握する。ここで、時間順序関係には、各タスクの開始時期の順序関係だけでなく、一方のタスクの処理結果を、他方のタスクの実行に用いることとなるか否かの関係も含む。なお、スケジューラ11は、図3Dに示すタスク間の依存グラフについても、プログラムの解析から得られた時間順序関係から構築する。
図3A、図3B、図3C、図3Dは、オペレーションop1の具体例を説明する図である。図3Aは基準タスクとなるタスクEの基準タスク情報を示すテーブルを示す。基準タスク情報は、基準タスクEのタスクID番号、制約時間、開始時間、実行フラグから構成されている。そして、基準タスクEのタスクID番号により、タスクグループを、スケジューラ11は抽出する。図3Bはタスクのタスク情報を示すテーブルを示す。タスク情報は、タスクA、B、C、DのタスクID、基準タスクID、処理量、標準処理時間から構成されている。そこで、スケジューラ11はタスクIDと、基準タスクIDからタスクグループに関連するタスクを特定する。
図3Cはタスクグループにおけるタスク間の時間順序関係を示す図である。スケジューラ11は、与えられたプログラムから、タスクA、B、C、及び基準タスクEの処理が開始後、タスクDの処理が開始され、タスクA、B、Cの処理結果をタスクDで使用することを認識する。さらに、スケジューラ11は、タスクFの処理はタスクDの処理が開始された後に行われ、タスクFは基準タスクE及びタスクDの結果を使用することを認識する。なお、タスクA、B、C、D、Eはこのタスクグループに関連するタスクであり、処理時間の割り振りの対象となるタスクである。タスクFはこのタスクグループの後に続くタスクである。
図3Dはタスクグループの依存関係グラフを示す図である。依存グラフとは、タスクをノード、タスク間の時間順序関係を枝としたグラフをいう。さらに、最終段のノードをルート、自己へ繋がるノードを持たないノードをリーフとする。そうすると、タスクA、B、C及び、基準タスクEはリーフノードであり、タスクD、Fはルートノードとなる。スケジューラ11は、タスクグループにおけるタスク間の順序関係をプログラムの解析から抽出し、図3Dのような依存グラフとして認識する。
図2を参照し、オペレーションop2において、スケジューラ11は、各タスクに処理時間の割り振りを行う。より詳細には、オペレーションop2は以下のように行われる。
オペレーションop2−1において、スケジューラ11は、並列に処理されるタスクであって、同一タスクに繋がるタスクを抽出する。そして、各タスク及び同一タスクを処理するプロセッサコア18nに対して、タスクの処理時間Tlに依存する消費電力Pkを求める。ここで、消費電力Pkは以下の式で与えられる。
Pk=P0×Tl×(Lk/Tl/R0)=Ak×Tl(1-q)―――――(1)式
Ak=P0×(Lk/R0)―――――(2)式
P0:プロセッサコア18nの標準動作に対する、プロセッサコア18nの消費電力
R0:プロセッサコア18nの標準動作に対する、プロセッサコア18nの単位時間あたりの最大処理量
Lk:タスクの処理量
q:DVFSを適用するプロセッサコア18nの特性によってきまる特性係数であり、1.5から2程度の値である
なお、P0、R0については、すべてのプロセッサコア18nにおいて共通値としたが、共通値でなくても、差し支えない。また、P0、R0は予め、スケジューラ11に記憶させておくことができる。
また、消費電力Pkが処理時間Tlの関数として表される理由を以下において説明する。まず、単位時間あたりの電力Pは一般的に周波数fと電源電圧Vとから、P∝f×Vと表される。次いで、論理ゲートの遅延時間は、電源電圧Vと、Td∝V−2.5〜−3.5の関係にある。よって、V∝T−0.57〜−0.8である。一方、f∝1/Tdである。よって、P∝f1.57〜1.8である。さらに、負荷量Lのタスクを周波数fで処理した場合の処理時間Tは、周波数f0で単位時間あたりのR0の負荷を処理できるプロセッサと仮定すると、T=L×f0/R0/fとなる。従って、f∝L/T/R0となる。そこで、処理時間Tの間の消費電力は、P×Tであるから、Pk=P×T∝T×(L/T/R0)1.57〜1.8となる。
次いで、抽出したタスクを統合タスクとし、統合タスクの消費電力として、各タスクの消費電力の和をとる。すなわち、以下のようになる。
統合タスクの総電力=ΣP0×Ts×(Lk/Ts/R0)=(Bs)×Ts(1-q)――――――――(3)式
Bs=ΣAk=ΣP0×(Lk/R0)―――(4)式
ここで、Tsは統合タスクを実行する複数のプロセッサコア18nについて共通の処理時間である。
オペレーションop2−2において、スケジューラ11は、順次直列的に行われる統合タスクを抽出し、シーケンシャルタスクとする。なお、並列に行われるタスクがなく、オペレーションop2−1の統合タスクとはならないが、オペレーションop2−1の統合タスクと直列に行われるタスクも、オペレーションop2−2の統合タスクであるとする。
その結果、複数の統合タスクが順次直列に繋がることになる。そして、m個の統合マスクからシーケンシャルタスクが構成されたとすると、そのシーケンシャルタスクの消費電力CSnは、以下となる。
CSn=Bn1×Tn1(1-q)+Bn2×Tn2(1-q)+.....+Bnm×Tnm(1-q)――――(5)式
なお、Bnmは統合タスクの総電力を表す式における係数Bsであり、電力係数とする。また、Tnmは統合タスクを実行する複数のプロセッサコア18nについて共通の処理時間である。
次いで、スケジューラ11は、それぞれの統合タスクの電力係数の1/q乗の比率と、それぞれの統合タスクの処理時間の比率が一致するように、統合タスクの処理時間の比率を決定する。
すなわち、Bn1(1/q):Bn2(1/q):...:Bnm(1/q)=Tn1:Tn2:...:Tnmとなるように、Tn1、Tn2、...、Tnmの比率を決定する。
シーケンシャルタスク全体を行うための処理時間がTnと与えられた場合には、Tn内における、それぞれの統合タスクの処理時間はTn1=Tn×Bn1(1/q)/(Bn1(1/q)+Bn2(1/q)+...+Bnm(1/q))、....、Tnm=Tn×Bnm(1/q)/(Bn1(1/q) +B2(1/q)+...+Bnm(1/q))のように割り振られ、CSnは(5)式より、
CSn=Tn(1-q)×(Bn1(1/q)+Bn2(1/q)+...+Bnm(1/q))/(Bn1(1/q)+Bn2(1/q)+...+Bnm(1/q)(1-q)=Tn(1-q)×(Bn1(1/q)+Bn2(1/q)+...+Bnm(1/q)q――――(6)式
となる。
オペレーションop2−3において、スケジューラ11は、基準タスクを除く、タスクグループ中のすべてのタスクをオペレーションop2−1、オペレーションop2−2の統合タスク又はオペレーションop2−2のシーケンシャルタスクに組み込む。ここで、上記のタスクをシーケンシャルタスクに取り込む際、オペレーションop2−2のシーケンシャルタスクに並列であり、同一タスクに繋がるオペレーションop2−2又はオペレーションop2−1の統合タスク、又は、オペレーションop2−2シーケンシャルタスクがあった場合は、あらたに、それらを統合してオペレーション2−3の統合タスクを形成する。
上記のあらたなオペレーションop2−3の統合タスクを計算するときに、並列するシーケンシャルタスクを統合タスクとするときは、それぞれのシーケンシャルタスク全体の処理時間Ta、Tbの内、大きいほうTaを採用し、その統合タスクの消費電力CSmは、
CSm=(Ba)×Ta(1-q)
Ba=(Ba1(1/q) +Ba2(1/q)+...+Bam(1/q)q+(Bb1(1/q) +Bb2(1/q)+...+Bbs(1/q)q――――(7)式
なお、並列なシーケンシャルタスクが複数あった場合には、一番長い処理時間をTaとし、上記の(7)式に(Bb1(1/q) +Bb2(1/q)+...+Bbs(1/q)qの項が、シーケンシャルタスクの数分、加算されるものとなる。
一方、統合タスクとシーケンシャルタスクを新たなオペレーション2−3の統合タスクとするときは、統合タスクの総電力を(Bs)×Ts(1-q)、シーケンシャルタスクの消費電力をCSn=Tn(1-q)×(Bn1(1/q) +Bn2(1/q)+...+Bnm(1/q)qとすると、その統合タスクの消費電力CSmは、TsとTnの内長い処理時間をTaとして、
CSm=(Bs)Ta(1-q)+Ta(1-q)×(Bn1(1/q) +Bn2(1/q)+...+Bnm(1/q)q
CSm=(Ba)×Ta(1-q)
Ba=(Bn1(1/q) +Bn2(1/q)+...+Bnm(1/q)q+Bs――――(8)式
となる。
以上より、オペレーションop2−3が終了すると、オペレーションop2−3の統合タスクが順次繋がったシーケンシャルタスクができあがる。
オペレーションop2−4において、スケジューラ11は、それぞれのオペレーションop2−3の統合タスクの電力係数の1/q乗の比率と、それぞれの統合タスクの処理時間の比率が一致するように、統合タスクの処理時間の比率を決定する。
すなわち、B1(1/q):B2(1/q):...:Bn(1/q)=T1:T2:...:Tn―(9)式
となるように、T1、T2、...、Tnの比率を決定する。なお、上記(9)式におけるB1からBnは、(7)式、又は(8)式におけるBaと同様な係数である。
次いで、スケジューラ11は、このタスクグループの基準タスクの制約時間(T基準)を、統合タスクの処理時間の比率で、各統合タスクの処理時間として割り振る。
すなわち、T基準×B1(1/q)/(B1(1/q)+B2(1/q)+...+Bn(1/q))、....、T基準×Bn(1/q)/(B1(1/q) +B2(1/q)+...+Bn(1/q))のように、各統合タスクを実行する、プロセッサコア18nの処理時間を設定しなおす。ただし、再設定された処理時間が、その統合タスクの標準処理時間より短くなった場合は、基準タスクの制約時間から予め、短くなった統合タスクの標準処理時間を差し引き、残りの制約時間を、残りの統合タスクの処理時間の比率で、残りの統合タスクに対して割り振る。
ただし、標準処理時間と短くなった再設定された処理時間との差が少ない場合は、プロセッサコア18nの電源電圧又は動作クロックの周波数を上昇させて対応することも可能である。
次いで、各オペレーションop2−3の統合タスクを構成する、オペレーションop2−1、オペレーションop2−2の統合タスク、オペレーションop2−2のシーケンシャルタスクに対して、そのオペレーションop2−3の統合タスクに割り当てられた処理時間Tmを、さらに、それらを構成する上記タスクの電力係数の1/q乗の比率で、各上記タスクに割り振る。
その結果、統合タスクそれぞれの消費電力CSmは、以下となる。
CSm=T基準(1-q)×Bm(1/q)/(B1(1/q)+B2(1/q)+...+Bm(1/q)(1-q)
また、m個の統合マスクからなるシーケンシャルタスク全体の消費電力は、以下となる。
CS=T基準(1-q)×(B1(1/q) +B2(1/q)+...+Bm(1/q))/(B1(1/q)+B2(1/q)+...+Bm(1/q)(1-q) =T基準(1-q)×(B1(1/q) +B2(1/q)+...+Bm(1/q)q―(10)式
各統合タスクに対する処理時間よりも、タスクグループの基準タスクの制約時間が、長くなる。そこで、qは1.5から2程度であるから、1−qがマイナスの数字となるので、T基準(1-q) が減少するため、消費電力CSは、各統合タスクに対する処理時間を伸ばしたことにより、減少する。
また、上記のように、各統合タスクにおいて、タスクの実行を行うプロセッサコア18nの処理時間を、引き延ばすということは、各統合タスクの処理量に、基準タスクの制約時間内のプロセッサコア18nの処理量をあわせるように、プロセッサコア18nへ供給する動作クロックの周波数及び電源電圧を低下させることを意味する。さらに、各統合タスクの電力係数の1/q乗に応じてプロセッサコア18nの処理時間を伸ばすということは、消費電力が大きいプロセッサコア18n程、消費電力の削減量を大きくしていることを表す。
従って、タスクグループを実行する、マルチプロセッサコア10の消費電力を大幅に減少させることができる。
図4A、図4Bは、オペレーションop2の具体例を説明する図である。図4Aは、タスクグループに関連するタスクA、B、C、DのタスクID、基準タスクID、標準処理時間、時間配分比率、再時間配分比率、処理時間を示すテーブルである。
タスクAの処理量は300Mである。タスクBとタスクCの処理量は、250Mである。タスクDの処理量は100Mである。従って、各プロセッサコア18nの標準動作に対する、単位時間あたりの最大処理量R0が1000Mであるとすると、タスクA、B、C、Dそれぞれの標準処理時間は、300ms、250ms、250ms、100msとなる。なお、タスクA、B、C、Dが関連するタスクグループの標準タスクEの制約時間は600msであり、このタスクグループの後に続く、タスクFの処理時間は100msであるとする。
ここで、プロセッサコア18nの標準動作に対する、プロセッサコア18nの消費電力P0が412mWであるとすると、タスクA、B、Cからなる統合タスクの電力係数の総和(ABC)は、以下のようになる。
電力係数の総和(ABC)=412×(300/1000)1.6+412×(250/1000)1.6+412×(250/1000)1.6=149
一方、タスクDの電力係数(D)は、
電力係数(D)=412×(300/1000)1.6=10
従って、タスクA、B、Cからなる統合タスクの制約時間の比率と、タスクDの制約時間の時間配分比率は、以下となる。
統合タスクの制約時間の比率:タスクDの制約時間の比率=1491/1.6:101/1.6=22.8:4.3=5.3:1
ここで、タスクグループの基準タスクEの制約時間は600msであるので、600msを、5.3:1の割合で、統合タスクとタスクDの処理時間に割り振ると、505msと95msとなる。
しかし、プロセッサコア18nは95msでは、タスクDの処理量を処理することができないため、タスクDを処理できる最小の処理時間100msに、タスクDの処理時間を再設定する。一方、タスクA、B、Cからなる統合タスクの処理時間は、基準タスクEの制約時間600msからタスクDを処理できる最小の処理時間100msを差し引き、500msとする。その結果、タスクA、B、Cからなる統合タスクの処理時間とタスクDの処理時間の再時間配分比率は、5:1となる。
図4Bは、上記のように、タスクA、B、Cからなる統合タスクの処理時間を上記のように割り振ったあとのタスクA、B、Cの処理状況を示す図である。タスクE開始後、500ms後にタスクDは開始される。また、タスクA、B、Cは、タスクEと同時に開始するが処理時間は、500ms後まで延長されている。
図5A、図5B、図5C、図5D、及び、図5Eはオペレーションop2を、より複雑な関係にあるタスクから構成されているタスクグループに対して行う例を示す。図5Aは同一のタスクグループを形成するタスクAからタスクIまでのタスクの依存グラフを示す。図5Aの依存グラフによれば、基準タスクはタスクIである。タスクA、タスクB、及びタスクCは並列に行われ、タスクDに繋がるタスクである。タスクDはタスクA、タスクB、及びタスクCとは直列なタスクであり、タスクEに繋がる。タスクFはタスクGに繋がるタスクである。タスクAからEまでと、並列にタスクF、Gは行われ、タスクEとタスクGはタスクHに繋がる。タスクHは、タスクAからタスクGまでと、直列なタスクであり、基準タスクIとともに、タスクJに繋がっている。
そこで、オペレーションop2−1を行い、スケジューラ11は、タスクA、タスクB、及びタスクCを、並列に処理されるタスクであり、同一のタスクDに繋がる統合タスクA−Cとして抽出する。
図5Bは、オペレーションop2−1を行った結果、統合タスクA−Cを形成したところである。
そこで、タスクA、タスクB、及びタスクCについて(1)、(2)式により、それぞれのタスクを実行するプロセッサコア18nの消費電力を求める。
次いで、(3)、(4)式により、タスクA、B、Cからなる統合タスクを実行するための総電力を求める。
次いで、オペレーションop2−2行う。その結果、スケジューラ11は、統合タスクA−C、タスクD、タスクEをシーケンシャルタスクとして、抽出する。また、タスクF、タスクGをシーケンシャルタスクとして抽出する。
図5Cは、オペレーションop2−2を行った結果、統合タスクA−C、タスクD、タスクEがシーケンシャルタスクA−Eを形成し、同様に、タスクF、GもシーケンシャルタスクF−Gを形成したところである。
そこで、まず、タスクD、タスクEをオペレーションop2−2の統合タスクとして、タスクA−C、タスクD、タスクEからなるシーケンシャルタスクA−Eの消費電力CS1は、(4)式より、以下となる。
CS1=B11×T11(1-q)+B12×T12(1-q)+B13×T13(1-q)
なお、B11×T11(1-q)は統合タスクA−Cの総電力、B12×T12(1-q)はタスクDの総電力、B13×T13(1-q)はタスクEの総電力である。また、T11はタスクAからタスクCに共通の処理時間であり、T12はタスクDの処理時間であり、T13はタスクEの処理時間である。B11、B12、B13はそれぞれのタスクの電力係数である。ここで、シーケンシャルタスクA−E全体の処理時間T1は、T1=T11+T12+T13である。
次いで、T1を各タスクの電力係数の1/q乗に比例して、割り振りをし直すと、(5)式、(6)式から、
CS1=T1(1-q)(B11(1/q)+B12(1/q)+B13(1/q)qとなる。
一方、タスクF、タスクGをオペレーションop2−2の統合タスクとして、タスクF、GからなるシーケンシャルタスクF−Gの消費電力CS2は、(4)式より以下となる。
CS2=B21×T21(1-q)+B22×T22(1-q)
なお、B21×T21(1-q)は統合タスクFの総電力、B22×T22(1-q)はタスクGの総電力である。B21、B22はタスクF、タスクGの電力係数である。また、T21はタスクFの処理時間であり、T22はタスクDの処理時間である。ここで、シーケンシャルタスクF−G全体の処理時間T2は、T2=T21+T22である。
同様に、T2を各タスクの電力係数の1/q乗に比例して、割り振り直すと、(5)式、(6)式から
CS2=T2(1-q)(B21(1/q)+B22(1/q)qとなる。
次いで、オペレーションop2−3行う。その結果、スケジューラ11は、タスクA−C、タスクD、タスクEからなるシーケンシャルタスクA−Eと、タスクF、タスクGからなるシーケンシャルタスクF−Gとから、オペレーションop2−3の統合タスクを形成する。
図5Dは、オペレーションop2−3を行った結果、スケジューラ11が、シーケンシャルタスクA−Eと、シーケンシャルタスクF−Gとから、統合タスクA−Gを形成したところである。
統合タスクA−Gの総電力は、以下である。
統合タスクA−Gの総電力=CS1+CS2=T1(1-q)(B11(1/q)+B12(1/q)+B13(1/q)q+T2(1-q)(B21(1/q)+B22(1/q)q――――(11)式
ここで、T1とT2の長いほうを、T(A−G)とする。そうすると、統合タスクA−Gの総電力は以下のようになる。
統合タスクA−Gの総電力=T(A−G) (1-q)×B(A−G)――――(12)式
(A−G)=(B11(1/q)+B12(1/q)+B13(1/q)q+(B21(1/q)+B22(1/q)q
図5Eは、スケジューラ11が、統合タスクA−Gと統合タスクHから、シーケンシャルタスクA−Hを形成したところを示す。
タスクAからHまでから形成されるシーケンシャルタスクの消費電力CS(A−H)は以下のようになる。
CS(A−H)=T(A−G) (1-q)×B(A−G)+T (1-q)×B(H)――――(13)式
そこで、基準タスクIの標準処理時間をT基準とし、以下の式を満たすように、各統合タスクに処理時間を振り分ける。
(A−G):T=B(A−G) (1/q):B(H) (1/q) ――――(14)式
その結果、CS(A−H)は下記のようになる。
CS(A−H)=T基準×(B(A−G) (1/q)+B(H) (1/q)q――――(15)式
図2を参照して、さらに、オペレーションop3を説明する。オペレーションop3において、スケジューラ11は、基準タスクの実行状況をチェックし、実行中であったときは、実行時間を、基準タスクの制約時間から差し引いた後の値を、新たな制約時間とする。次いで、新たな制約時間に対して、再時間配分比率をもとに、オペレーションop2で決定した各統合タスクの処理時間を補正する。
オペレーションop4において、スケジューラ11は、統合タスクを構成する各タスクの標準処理時間を、統合タスク割り当てられた処理時間で割って、負荷率を計算する。
次いで、フケジューラ11は、のちに説明する図6Bに示すテーブルを予め保有し、図6Bのテーブルに基づいて、上記の負荷率から各タスクを実行するプロセッサコア18nへ供給する動作クロックの周波数及び電源電圧を決定する。次いで、スケジューラ11は、決定した各プロセッサコア18nの動作クロックの周波数及び電源電圧を周波数制御回路14、電源電圧制御回路15に伝達する。周波数制御回路14、及び、電源電圧制御回路15は、各プロセッサコア18nに、スケジューラ11によって決定された周波数をもつ動作クロック及び決定された電圧を有する電源電圧を供給し、各プロセッサコア18nの動作を制御する。
図6は、タスクグループについてのオペレーションop4の具体例を説明する図である。図6Aは、図4A、図4Bに示すタスクグループに関連するタスクA、B、C、Dの標準処理時間と、統合タスクに割り振られた処理時間と、標準処理時間及び統合タスクに割り振られた処理時間から求めた負荷率を表すテーブルを示す。タスクA、B、C、Dの標準処理時間は300ms、250ms、250ms、100msである。一方、統合タスクに割り振られた処理時間はタスクA、B、Cに対しては500ms、タスクDに対しては100msである。その結果、タスクAの負荷率は0.6、タスクBの負荷率は0.5、タスクCの負荷率は0.5、タスクDの負荷率は1.0である。
図6Bは、プロセッサコア18nの負荷率に対する、動作クロックの周波数、電源電圧、消費電力を表したテーブルである。負荷率は1から0.2まで、0.1刻みで記載されている。動作クロックの周波数は負荷率1.0のタスクを実行する場合は1000Mhzである。以下、負荷率が0.1刻みで減少する毎に、動作クロックの周波数は100Mhzずつ減少する。電源電圧は、負荷率が1.0から0.2まで減少すると、1.2V、1.2V、1.15V、1.1V、1.05V、1.0V、0.95V、0.85V、0.75Vと減少する。消費電力は、412mW、412mw、303mW、242mW、190mW、144mW、104mW、63mW、32mWと減少する。スケジューラ11は予め図5Bのテーブルを記憶しておき、計算したタスク毎の負荷率によって、そのタスクを実行するプロセッサコア18nの動作クロックの周波数及び電源電圧を決定する。
さらに、図5Aから図5Eまでに示すタスクグループについての、オペレーションop4の具体例を説明する。スケジューラ11は、(14)式を満足し、かつ、T基準=T(A−G)+TとなるようにT(A−G)及びTを決定し、統合タスクA−Gに処理時間T(A−G)を割り振る。次いで、スケジューラ11は、シーケンシャルタスクA−E、及び、シーケンシュアルタスクF−Gに、T2=T1=T(A−G)となるように処理時間T1、T2を割り振る。次いで、スケジューラ11は、T2=T21+T22となり、かつ、T21:T22=B21(1/q):B22(1/q) となるように処理時間T21、T22を割り振る。次いで、スケジューラ11は、T1=T11+T12+T13となり、かつ、T11:T12:T13=B11(1/q):B12(1/q) :B13(1/q)となるように処理時間T11、T12、T13を割り振る。すなわち、基準タスクIと並列に実行が行われるシーケンシャルタスクを形成した後、そのシーケンシャルタスクを形成する統合タスクにさかのぼって、各タスクの処理時間を決定してことになる。
次いで、スケジューラ11は、タスクA、B、Cの標準処理時間をT11で割り、負荷率を計算し、図6Bのテーブルによって、タスクA、B、Cを実行するプロセッサコアへ供給する動作クロックの周波数及び電源電圧を求める。次いで、タスクD、Eの負荷率を、タスクD、Eの標準処理時間を、T12、T13で割り、求める。次いで、タスクD、Eを実行するプロセッサコアへ供給する動作クロック及び電源電圧を、図6Bのテーブルより求める。次いで、タスクF、Gの標準処理時間を、T21、T22で割り、タスクF、Gの負荷率を求める。次いで、図6Bのテーブルより、タスクF、Gを実行するプロセッサコアへ供給する動作クロックの周波数及び電源電圧を求める。次いで、タスクHの標準処理時間を、Tで割り、タスクHの負荷率を求める。次いで、図6Bのテーブルより、タスクHを実行するプロセッサコアへ供給する動作クロックの周波数及び電源電圧を求める。
上記より、実施例1のプロセッサコアは、
複数のタスクを並列処理する複数のプロセッサコア(プロセッサコア18n)と、
各タスクについて、関連する第1タスク群(タスクA、B、C、D、E)を識別する識別番号と、そのタスクを処理するのに必要なタスク処理時間(タスクA、B、Cの標準処理時間)と、第1タスク群に含まれるタスクを実行する上限期間(タスクEの制約時間)を記憶するレジスタ(基準タスク情報用メモリ12、タスク情報用メモリ13)と、
第1タスク群に含まれるタスクの内、並列に処理されるタスク(タスクA、B、C)であって同一のタスク(タスクD)に繋がる複数のタスクからなる第2タスク群(タスクA、B、Cからなる群)を抽出し、前記複数のタスクのタスク処理時間の内、最長のタスク処理時間を第2タスク群を処理する第1処理時間(タスクAの標準処理時間)とし、第2タスク群を処理するプロセッサコアの消費電力と第1処理時間に応じて、前記上限期間中に占める第2タスク群の第2処理時間(オペレーションop2−4におけるTm)を設定する設定回路と、
第1処理時間と、第2処理時間との比率(オペレーションop4の負荷率)に応じて、第2タスク群を処理するプロセッサコアへ供給する動作クロックの周波数又は電源電圧(図5Bの動作周波数、電源電圧)を低下させる駆動回路(スケジューラ11)と、
を備えることを特徴とするマルチコアプロセッサである。
上記のマルチコアプロセッサによれば、消費電力に応じて第2タスク群を処理するプロセッサコアの処理時間を引き延ばすことになる。
その結果、大きな消費電力を必要とする第2タスク群程、上限期間中に占める第2処理時間が長くなり、第2タスク群を実行するプロセッサコアの消費電力が大きく削減されるため、マルチコアプロセッサの消費電力削減が大きくなる効果がある。
以下に本発明の特徴を付記する。
(付記1)
複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出し、前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する第2処理時間を設定する設定回路と、
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる駆動回路と、
を備えることを特徴とするマルチコアプロセッサ。
(付記2)
前記設定回路は、さらに、前記第1タスク群に含まれる前記タスクについて、前記第2タスク群を含む前記タスクに対して直列に実行される直列タスクを特定し、前記直列タスクの前記タスク処理時間と、前記直列タスクを処理する前記プロセッサコアの消費電力とに応じて、前記上限期間中に占める前記直列タスクを実行する第3処理時間を設定し、
駆動回路は、さらに、前記直列マスクの前記タスク処理時間と、前記第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧より低下させることを特徴とする付記1記載のマルチコアプロセッサ。
(付記3)
前記第2タスク群を処理する前記プロセッサコアの消費電力をA2、前記第2処理時間をT2、前記A2とT2(1−q)との比例係数をB2とし、前記直列タスクを処理する前記プロセッサコアの消費電力をA3、前記直列タスクの前記タスク処理時間をT3、前記A3とT3(1−q)との比例係数をB3とすると、前記設定回路は、B2(1/q):B3(1/q)=T2:T3と設定することを特徴とする付記2記載のマルチコアプロセッサ。
(付記4)
複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、を備える前記マルチコアプロセッサの制御方法であって、
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出する工程と、
前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する前記第2処理時間を設定する工程と、
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる工程と、
を備えることを特徴とするマルチコアプロセッサの制御方法。
(付記5)
前記第1タスク群に含まれる前記タスクについて、前記第2タスク群に含まれる前記タスクに対して直列に実行される直列タスクを特定する工程と、
前記直列タスクの前記タスク処理時間と、前記直列タスクを処理する前記プロセッサコアの消費電力とに応じて、前記上限期間中に占める前記直列タスクを実行する第3処理時間を設定する工程と、
前記直列マスクの前記タスク処理時間と、第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧より低下させる工程と、
をさらに備えることを特徴とする付記4記載のマルチコアプロセッサの制御方法。
(付記6)
複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、を備える前記マルチコアプロセッサの制御方法であって、
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出する工程と、
前記第1タスク群に含まれるタスクについて、前記第2タスク群に含まれる前記タスクに対して直列に実行される直列タスクを特定する工程と、
前記第2タスク群を処理する前記プロセッサコアの消費電力をA2、前記第2処理時間をT2、前記A2とT2(1−q)との比例係数をB2とし、前記直列タスクを処理する前記プロセッサコアの消費電力をA3、前記直列タスクの前記タスク処理時間をT3、前記A2とT2(1−q)との比例係数をB2とすると、前記設定回路は、B2(1/q):B3(1/q)=T2:T3と設定する工程と、
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧より低下させ、前記直列マスクの前記タスク処理時間と、前記第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させ工程と、
を備えることを特徴とするマルチコアプロセッサの制御方法。
本発明によれば、プロセッサコアの消費電力が大きく削減されるため、消費電力削減が大きいマルチコアプロセッサを提供することができる。
10 マルチコアプロセッサ
11 スケジューラ
12 基準タスク情報用メモリ
13 タスク情報用メモリ
14 周波数制御回路
15 電源電圧制御回路
19 バス
20 フローチャート
181−18n プロセッサコア

Claims (5)

  1. 複数のタスクを並列処理する複数のプロセッサコアと、
    各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、
    前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出し、前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する第2処理時間を設定する設定回路と、
    前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる駆動回路と、
    を備えることを特徴とするマルチコアプロセッサ。
  2. 前記設定回路は、さらに、前記第1タスク群に含まれる前記タスクについて、前記第2タスク群を含む前記タスクに対して直列に実行される直列タスクを特定し、前記直列タスクの前記タスク処理時間と、前記直列タスクを処理する前記プロセッサコアの消費電力とに応じて、前記上限期間中に占める前記直列タスクを実行する第3処理時間を設定し、
    駆動回路は、さらに、前記直列マスクの前記タスク処理時間と、前記第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧より低下させることを特徴とする請求項1記載のマルチコアプロセッサ。
  3. 前記第2タスク群を処理する前記プロセッサコアの消費電力をA2、前記第2処理時間をT2、前記A2とT2(1−q)との比例係数をB2とし、前記直列タスクを処理する前記プロセッサコアの消費電力をA3、前記第3処理時間をT3、前記A3とT3(1−q)との比例係数をB3とすると、前記設定回路は、B2(1/q):B3(1/q)=T2:T3と設定することを特徴とする請求項2記載のマルチコアプロセッサ。
  4. 複数のタスクを並列処理する複数のプロセッサコアと、
    各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、を備える前記マルチコアプロセッサの制御方法であって、
    前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出する工程と、
    前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する前記第2処理時間を設定する工程と、
    前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる工程と、
    を備えることを特徴とするマルチコアプロセッサの制御方法。
  5. 複数のタスクを並列処理する複数のプロセッサコアと、
    各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、を備える前記マルチコアプロセッサの制御方法であって、
    前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出する工程と、
    前記第1タスク群に含まれるタスクについて、前記第2タスク群に含まれる前記タスクに対して直列に実行される直列タスクを特定する工程と、
    前記第2タスク群を処理する前記プロセッサコアの消費電力をA2、前記第2処理時間をT2、前記A2とT2(1−q)との比例係数をB2とし、前記直列タスクを処理する前記プロセッサコアの消費電力をA3、前記直列タスクの前記タスク処理時間をT3、前記A3とT3(1−q)との比例係数をB3とすると、前記設定回路は、B2(1/q):B3(1/q)=T2:T3と設定する工程と、
    前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させ、前記直列マスクの前記タスク処理時間と、前記第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる工程と、
    を備えることを特徴とするマルチコアプロセッサの制御方法。
JP2009057261A 2009-03-11 2009-03-11 マルチコアプロセッサ及びその制御方法 Expired - Fee Related JP5293289B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009057261A JP5293289B2 (ja) 2009-03-11 2009-03-11 マルチコアプロセッサ及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009057261A JP5293289B2 (ja) 2009-03-11 2009-03-11 マルチコアプロセッサ及びその制御方法

Publications (2)

Publication Number Publication Date
JP2010211544A true JP2010211544A (ja) 2010-09-24
JP5293289B2 JP5293289B2 (ja) 2013-09-18

Family

ID=42971620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009057261A Expired - Fee Related JP5293289B2 (ja) 2009-03-11 2009-03-11 マルチコアプロセッサ及びその制御方法

Country Status (1)

Country Link
JP (1) JP5293289B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012044015A3 (en) * 2010-09-27 2012-06-21 Samsung Electronics Co., Ltd. Method and apparatus for dynamic resource allocation of processing units
WO2012166207A1 (en) * 2011-05-31 2012-12-06 Intel Corporation Reducing power consumption of uncore circuitry of a processor
JP2014075149A (ja) * 2013-12-05 2014-04-24 Fujitsu Ltd マルチプロセッサシステム、制御方法、および制御プログラム
JP2017537378A (ja) * 2014-10-16 2017-12-14 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 低コスト、低電力、高性能な多重プロセッサシステムのための高速smp/asmpモード切り替えハードウェア装置
US10481671B2 (en) 2015-05-21 2019-11-19 Hitachi, Ltd. Power saving for a computer system and computer based on differences between chip regions in processing and communication times
US10928882B2 (en) 2014-10-16 2021-02-23 Futurewei Technologies, Inc. Low cost, low power high performance SMP/ASMP multiple-processor system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102278475B1 (ko) 2014-10-14 2021-07-19 삼성전자주식회사 전자 장치 및 그 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092867A (ja) * 2003-08-29 2005-04-07 Hewlett-Packard Development Co Lp 回路を制御するための方法および装置
WO2006109887A1 (ja) * 2005-04-12 2006-10-19 Waseda University マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
JP2007305148A (ja) * 2007-06-25 2007-11-22 Univ Waseda マルチプロセッサシステム
JP2008287592A (ja) * 2007-05-18 2008-11-27 Handotai Rikougaku Kenkyu Center:Kk マルチプロセッサ制御装置とその制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092867A (ja) * 2003-08-29 2005-04-07 Hewlett-Packard Development Co Lp 回路を制御するための方法および装置
WO2006109887A1 (ja) * 2005-04-12 2006-10-19 Waseda University マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
JP2008287592A (ja) * 2007-05-18 2008-11-27 Handotai Rikougaku Kenkyu Center:Kk マルチプロセッサ制御装置とその制御方法
JP2007305148A (ja) * 2007-06-25 2007-11-22 Univ Waseda マルチプロセッサシステム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200501564006; 白子準,押山直人,和田康孝,鹿野裕明,木村啓二、笠原博徳: 'ホモジニアスマルチコアにおけるコンパイラ制御低消費電力化手法' 情報処理学会研究報告 第2005巻,第80号, 20050804, 55〜60頁, 社団法人情報処理学会 *
CSNG200600961022; 木村英明,佐藤三久,掘田義彦,朴泰祐,高橋大介: 'DVS制御による負荷不均衡のある並列プログラムの電力量削減手法(Reducing Energy of Parallel Programs' 情報処理学会論文誌 (IPSJ Transactions on Advanced Computing Systems) 第47巻,No.SIG12(ACS15), 20060915, 285〜295頁, 社団法人情報処理学会 (Information Processing Socie *
JPN6012060740; 木村英明,佐藤三久,掘田義彦,朴泰祐,高橋大介: 'DVS制御による負荷不均衡のある並列プログラムの電力量削減手法(Reducing Energy of Parallel Programs' 情報処理学会論文誌 (IPSJ Transactions on Advanced Computing Systems) 第47巻,No.SIG12(ACS15), 20060915, 285〜295頁, 社団法人情報処理学会 (Information Processing Socie *
JPN6012060741; 白子準,押山直人,和田康孝,鹿野裕明,木村啓二、笠原博徳: 'ホモジニアスマルチコアにおけるコンパイラ制御低消費電力化手法' 情報処理学会研究報告 第2005巻,第80号, 20050804, 55〜60頁, 社団法人情報処理学会 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012044015A3 (en) * 2010-09-27 2012-06-21 Samsung Electronics Co., Ltd. Method and apparatus for dynamic resource allocation of processing units
US9311157B2 (en) 2010-09-27 2016-04-12 Samsung Electronics Co., Ltd Method and apparatus for dynamic resource allocation of processing units on a resource allocation plane having a time axis and a processing unit axis
GB2506286B (en) * 2011-05-31 2020-01-29 Intel Corp Reducing power consumption of uncore circuitry of a processor
WO2012166207A1 (en) * 2011-05-31 2012-12-06 Intel Corporation Reducing power consumption of uncore circuitry of a processor
GB2506286A (en) * 2011-05-31 2014-03-26 Intel Corp Reducing power consumption of uncore circuitry of a processor
US8892929B2 (en) 2011-05-31 2014-11-18 Intel Corporation Reducing power consumption of uncore circuitry of a processor
US8892924B2 (en) 2011-05-31 2014-11-18 Intel Corporation Reducing power consumption of uncore circuitry of a processor
US9405358B2 (en) 2011-05-31 2016-08-02 Intel Corporation Reducing power consumption of uncore circuitry of a processor
JP2014075149A (ja) * 2013-12-05 2014-04-24 Fujitsu Ltd マルチプロセッサシステム、制御方法、および制御プログラム
US10248180B2 (en) 2014-10-16 2019-04-02 Futurewei Technologies, Inc. Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system
JP2017537378A (ja) * 2014-10-16 2017-12-14 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 低コスト、低電力、高性能な多重プロセッサシステムのための高速smp/asmpモード切り替えハードウェア装置
US10928882B2 (en) 2014-10-16 2021-02-23 Futurewei Technologies, Inc. Low cost, low power high performance SMP/ASMP multiple-processor system
US10948969B2 (en) 2014-10-16 2021-03-16 Futurewei Technologies, Inc. Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system
US10481671B2 (en) 2015-05-21 2019-11-19 Hitachi, Ltd. Power saving for a computer system and computer based on differences between chip regions in processing and communication times

Also Published As

Publication number Publication date
JP5293289B2 (ja) 2013-09-18

Similar Documents

Publication Publication Date Title
JP5293289B2 (ja) マルチコアプロセッサ及びその制御方法
Kash et al. No agent left behind: Dynamic fair division of multiple resources
US10732684B2 (en) Method and apparatus for managing global chip power on a multicore system on chip
US20120060168A1 (en) Virtualization system and resource allocation method thereof
CN111915195B (zh) 一种结合区块链及大数据的公共电力资源调配方法
KR20130011491A (ko) 태스크 할당 장치, 태스크 할당 방법 및 컴퓨터로 읽을 수 있는 저장 매체
Lu et al. Energy-aware fixed-priority multi-core scheduling for real-time systems
WO2017080276A1 (zh) 资源管理方法和系统、计算机存储介质
US20100162041A1 (en) Fetch operation scheduling
JP2012094136A (ja) セル生産方式における適応型ロットサイズ決定のためのシステムおよび方法
JP5990117B2 (ja) 制御方法、制御サーバ及び制御プログラム
Toporkov et al. Preference-based fair resource sharing and scheduling optimization in Grid VOs
JP2001084287A (ja) ゲーテッドクロック回路、ゲーテッドクロック回路設計支援装置及び方法
WO2010137233A1 (ja) マルチプロセッサシステムにおける省電力制御装置およびモバイル端末
US10853077B2 (en) Handling Instruction Data and Shared resources in a Processor Having an Architecture Including a Pre-Execution Pipeline and a Resource and a Resource Tracker Circuit Based on Credit Availability
JP2020173622A (ja) 並列タスクスケジューリング方法
Seo et al. Optimal integration of inter-task and intra-task dynamic voltage scaling techniques for hard real-time applications
Saifhashemi et al. Performance and area optimization of a bundled-data intel processor through resynthesis
EP3394747A1 (en) Priority trainer for many core processing system
Wang et al. Min-cut based leakage power aware scheduling in high-level synthesis
Ninomiya et al. Task allocation and scheduling for voltage-frequency islands applied NOC-based MPSOC considering network congestion
JP6113066B2 (ja) 制御方法、制御サーバ及び制御プログラム
Chen et al. Power-manageable scheduling technique for control dominated high-level synthesis
Wang et al. Throughput optimization for lifetime budgeting in many-core systems
JP4108530B2 (ja) タスクコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees