JP2010211544A - マルチコアプロセッサ及びその制御方法 - Google Patents
マルチコアプロセッサ及びその制御方法 Download PDFInfo
- 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
Links
Classifications
-
- 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
- Power Sources (AREA)
Abstract
一群のタスクに着目して、一群のタスクを処理する複数のプロセッサコアへ供給する電源電圧又は動作クロックの周波数を関連をもたせて制御する機能を備えることにより、低電力化を図ったマルチコアプロセッサの提供。
【解決手段】
複数のプロセッサコアと、タスクについての第1タスク群の識別番号と、タスク処理時間と、第1タスク群に含まれるタスクを実行する上限期間を記憶するレジスタと、第1タスク群に含まれるタスクの内、並列に処理される複数のタスクからなる第2タスク群を抽出し、第2タスク群を処理する第1処理時間を、第2タスク群を処理するプロセッサコアの消費電力に応じて第2処理時間として設定する設定回路と、タスク処理時間と、第2処理時間との比率に応じて、各タスクを処理するプロセッサコアへ供給する動作クロックの周波数又は電源電圧を変更する駆動回路と、を備えるマルチコアプロセッサが提供される。
【選択図】 図1
Description
ここで、単一のプロセッサコアを備えるプロセッサにおいて、タスクに対して要求される処理時間が、プロセッサコアの最大性能によって決まるタスク処理可能な時間より長い場合がある。そこで、単一のプロセッサコアにおいて、DFVSは、プロセッサコアへ供給する電源電圧又は動作クロックの周波数を低下させ、要求される処理時間に応じて、実際のタスク処理時間を引き延ばすことによって実行される。
複数のタスクを並列処理する複数のプロセッサコアと、各タスクについて、関連する第1タスク群を識別する識別番号と、プロセッサコアがタスクを処理するのに必要なタスク処理時間と、第1タスク群に含まれるタスクを実行する上限期間を記憶するレジスタと、
第1タスク群に含まれるタスクの内、並列に処理されるタスクであって同一のタスクに繋がる複数のタスクからなる第2タスク群を抽出し、複数のタスクのタスク処理時間の内、最長のタスク処理時間を第2タスク群を処理する第1処理時間とし、第2タスク群を処理するプロセッサコアの消費電力と第1処理時間に応じて、上限期間中に占める第2タスク群を実行する第2処理時間を設定する設定回路と、
タスク処理時間と、第2処理時間との比率に応じて、各タスクを処理するプロセッサコアへ供給する動作クロックの周波数又は電源電圧を予め決められた動作クロックの周波数又は電源電圧から変更させる駆動回路と、を備えることを特徴とするマルチコアプロセッサが提供される。
マルチコアプロセッサ10は、タスクグループに含まれる複数のタスクを並列に実行するプロセッサである。
スケジューラ11は、各プロセッサコア18nに対してタスクの割り当て、各プロセッサコア18nにおける割り当てたタスクの処理時間を算出し、その処理時間に応じて各プロセッサコアに供給する電源電圧及び動作クロックの周波数を決定する回路である。
基準タスク情報用メモリ12は、タスクグループに含まれる基準タスクについて、その基準タスクが関連するタスクグループを特定するタスクID番号(識別番号)と、予め決められた標準動作において、各プロセッサコア18nが基準タスクを処理する制約時間、基準タスクの開始時間、基準タスクを実行しているか否かを表す実行フラグを記憶するメモリである。
周波数制御回路14は、クロック発生回路を含み、各プロセッサコア18nへ動作クロックを供給する回路である。周波数制御回路14は、各プロセッサコア18nの動作クロックの周波数の情報を、スケジューラ11から、バス19を介して、受け取る。なお、クロック発生回路は異なるクロック周波数をもつ複数のクロックを発生することとし、それらを切替ることにより、ことなる動作クロックを供給することでもよいし、一つのクロックを発生させ、そのクロックを分周することにより、動作クロックを発生させてもよい。
プロセッサコア18nは、スケジューラに割り当てられた各タスクを実行するプロセッサである。
バス19は、マルチコアプロセッサ10を構成する各回路間の信号を伝達するために用いられる。
オペレーションop1において、スケジューラ11は、時間配分を実施するタスクグループを、基準タスクのタスクID番号により抽出し、そのタスクグループに関連するすべてのタスクを、そのタスクのタスクIDと、そのタスクが関連する基準タスクのIDにより特定する。次いで、スケジューラ11は、タスク間の時間順序関係を、マルチコアプロセッサ10に与えられたプログラムの解析を行うことにより把握する。ここで、時間順序関係には、各タスクの開始時期の順序関係だけでなく、一方のタスクの処理結果を、他方のタスクの実行に用いることとなるか否かの関係も含む。なお、スケジューラ11は、図3Dに示すタスク間の依存グラフについても、プログラムの解析から得られた時間順序関係から構築する。
図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のような依存グラフとして認識する。
オペレーションop2−1において、スケジューラ11は、並列に処理されるタスクであって、同一タスクに繋がるタスクを抽出する。そして、各タスク及び同一タスクを処理するプロセッサコア18nに対して、タスクの処理時間Tlに依存する消費電力Pkを求める。ここで、消費電力Pkは以下の式で与えられる。
Pk=P0×Tl×(Lk/Tl/R0)q=Ak×Tl(1-q)―――――(1)式
Ak=P0×(Lk/R0)q―――――(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×V2と表される。次いで、論理ゲートの遅延時間は、電源電圧Vと、Td∝V−2.5〜−3.5の関係にある。よって、V2∝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)q=(Bs)×Ts(1-q)――――――――(3)式
Bs=ΣAk=ΣP0×(Lk/R0)q―――(4)式
ここで、Tsは統合タスクを実行する複数のプロセッサコア18nについて共通の処理時間である。
その結果、複数の統合タスクが順次直列に繋がることになる。そして、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の統合タスクを計算するときに、並列するシーケンシャルタスクを統合タスクとするときは、それぞれのシーケンシャルタスク全体の処理時間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の統合タスクが順次繋がったシーケンシャルタスクができあがる。
すなわち、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=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は、各統合タスクに対する処理時間を伸ばしたことにより、減少する。
従って、タスクグループを実行する、マルチプロセッサコア10の消費電力を大幅に減少させることができる。
タスク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であるとする。
電力係数の総和(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
図4Bは、上記のように、タスクA、B、Cからなる統合タスクの処理時間を上記のように割り振ったあとのタスクA、B、Cの処理状況を示す図である。タスクE開始後、500ms後にタスクDは開始される。また、タスクA、B、Cは、タスクEと同時に開始するが処理時間は、500ms後まで延長されている。
そこで、オペレーション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)式
B(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)+TH (1-q)×B(H)――――(13)式
そこで、基準タスクIの標準処理時間をT基準とし、以下の式を満たすように、各統合タスクに処理時間を振り分ける。
T(A−G):TH=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)式
オペレーションop4において、スケジューラ11は、統合タスクを構成する各タスクの標準処理時間を、統合タスク割り当てられた処理時間で割って、負荷率を計算する。
次いで、フケジューラ11は、のちに説明する図6Bに示すテーブルを予め保有し、図6Bのテーブルに基づいて、上記の負荷率から各タスクを実行するプロセッサコア18nへ供給する動作クロックの周波数及び電源電圧を決定する。次いで、スケジューラ11は、決定した各プロセッサコア18nの動作クロックの周波数及び電源電圧を周波数制御回路14、電源電圧制御回路15に伝達する。周波数制御回路14、及び、電源電圧制御回路15は、各プロセッサコア18nに、スケジューラ11によって決定された周波数をもつ動作クロック及び決定された電圧を有する電源電圧を供給し、各プロセッサコア18nの動作を制御する。
次いで、スケジューラ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の標準処理時間を、THで割り、タスクHの負荷率を求める。次いで、図6Bのテーブルより、タスクHを実行するプロセッサコアへ供給する動作クロックの周波数及び電源電圧を求める。
複数のタスクを並列処理する複数のプロセッサコア(プロセッサコア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処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させ工程と、
を備えることを特徴とするマルチコアプロセッサの制御方法。
11 スケジューラ
12 基準タスク情報用メモリ
13 タスク情報用メモリ
14 周波数制御回路
15 電源電圧制御回路
19 バス
20 フローチャート
181−18n プロセッサコア
Claims (5)
- 複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出し、前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する第2処理時間を設定する設定回路と、
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる駆動回路と、
を備えることを特徴とするマルチコアプロセッサ。 - 前記設定回路は、さらに、前記第1タスク群に含まれる前記タスクについて、前記第2タスク群を含む前記タスクに対して直列に実行される直列タスクを特定し、前記直列タスクの前記タスク処理時間と、前記直列タスクを処理する前記プロセッサコアの消費電力とに応じて、前記上限期間中に占める前記直列タスクを実行する第3処理時間を設定し、
駆動回路は、さらに、前記直列マスクの前記タスク処理時間と、前記第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧より低下させることを特徴とする請求項1記載のマルチコアプロセッサ。 - 前記第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記載のマルチコアプロセッサ。
- 複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、を備える前記マルチコアプロセッサの制御方法であって、
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出する工程と、
前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する前記第2処理時間を設定する工程と、
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる工程と、
を備えることを特徴とするマルチコアプロセッサの制御方法。 - 複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第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処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる工程と、
を備えることを特徴とするマルチコアプロセッサの制御方法。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102278475B1 (ko) | 2014-10-14 | 2021-07-19 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Citations (4)
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 | マルチプロセッサ制御装置とその制御方法 |
-
2009
- 2009-03-11 JP JP2009057261A patent/JP5293289B2/ja not_active Expired - Fee Related
Patent Citations (4)
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)
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)
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 |