JPWO2014061141A1 - 並列計算装置 - Google Patents

並列計算装置 Download PDF

Info

Publication number
JPWO2014061141A1
JPWO2014061141A1 JP2014541885A JP2014541885A JPWO2014061141A1 JP WO2014061141 A1 JPWO2014061141 A1 JP WO2014061141A1 JP 2014541885 A JP2014541885 A JP 2014541885A JP 2014541885 A JP2014541885 A JP 2014541885A JP WO2014061141 A1 JPWO2014061141 A1 JP WO2014061141A1
Authority
JP
Japan
Prior art keywords
core
computing device
calculation
cores
cycle
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
Application number
JP2014541885A
Other languages
English (en)
Inventor
渡邊 智
智 渡邊
宏太 佐多
宏太 佐多
加古 純一
純一 加古
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Publication of JPWO2014061141A1 publication Critical patent/JPWO2014061141A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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

Abstract

本発明は、処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置に関する。本発明に係る並列計算装置は、新たにコアを起動させて前記新たなコアと稼動中のコアとに前記複数のタスクを割り当てる場合、前記稼動中のコアの演算周波数を高くする。

Description

本発明は、マルチコアタイプの並列計算装置に関する。詳しくは、処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置に関する。
演算周波数が可変のCPUコアを備える計算装置の場合、計算装置の演算能力、具体的には、単位時間当たりの演算量は、コアの演算周波数を高めることによって高くすることができる。しかし、コアの演算周波数を高くするほど、コアで消費される電力は大きくなる。しかも、コアの演算周波数と演算能力との関係は略線形であるのに対し、演算周波数の変化に対する消費電力の変化率は演算周波数が高くなるほど大きくなる。このため、消費電力に対する演算能力、すなわち、電力効率の観点では、演算周波数の高周波数化による高性能化には限界があった。
そこで、近年では、1つの半導体チップ上に複数のコアを搭載したマルチコアタイプの並列計算装置が注目されている。マルチコアタイプの並列計算装置によれば、処理すべきタスクが複数存在する場合、それらを複数のコアに割り当てて並列計算することにより、1コア当りの演算負荷を低減することができる。すなわち、同じ量の演算を処理するのであれば、マルチコアタイプの並列計算装置は、シングルコアタイプの計算装置に比較して各コアの演算周波数を低くすることができる。コアの電力効率は演算周波数が高くなるほど低下することから、マルチコアタイプの並列計算装置によれば、シングルコアタイプの計算装置よりも計算装置全体としての電力効率を高めることができる。
ただし、計算装置の電力効率に関する上記の理屈は、必ずしも全ての状況で成立するものではない。実際には複数のタスクをマルチコアタイプの並列計算装置で並列計算する場合、タスクの処理に要する演算時間とは別にコア間通信に伴うオーバーヘッドが発生する。このため、処理するタスクの数は同じであっても、その処理のための演算時間の総和はマルチコアタイプの並列計算装置の方がシングルコアタイプの計算装置よりも大きくなる。タスク処理のための演算量が多いときには、全体に対するオーバーヘッドの割合は小さいため、上述のように、マルチコアタイプの並列計算装置の方が高い電力効率を得ることができる。しかしながら、タスク処理のための演算量が少ないときには、全体に対するオーバーヘッドの割合が大きくなるため、逆にシングルコアタイプの計算装置の方が電力効率は高くなる。
以上の例では、シングルコアタイプの計算装置とマルチコアタイプの並列計算装置との比較について述べたが、電力効率に関する上述の問題は、マルチコアタイプの並列計算装置において稼動コア数を変更する場合にも当てはまる問題でもある。マルチコアタイプの並列計算装置において稼動コア数を変更する場合、稼動コア数に応じてコア間通信に伴うオーバーヘッドが増減するからである。この点に関し、先行技術である特開2006−344162号公報に開示された並列計算装置は、複数のコアによる消費電力量の合計が最小になるように、並列処理によるオーバーヘッドを考慮して稼動するコアの数と演算周波数とを決定するようになっている。
しかしながら、上記先行技術には問題がある。その問題とは処理すべきタスクの抜けが発生しうることである。コアを新たに稼動する場合、その起動にはある程度の時間を要する。このため、稼動コア数を増やす必要が生じてから、実際に新たなコアが稼動し、その新たなコアを含む複数のコアにタスクが割り当てられるようになるまでには、コアの起動処理に起因するタイムラグが生じることになる。このタイムラグの間は、既に稼動中のコアのみで全てのタスクを処理することになる。繰り返し処理されるタスクの場合、その処理完了時間には制約があるため、オーバーヘッドと演算時間とを含む必要処理時間と、要求されている処理完了時間との関係によっては、一部のタスクが処理完了時間内で処理しきれない可能性がある。
また、稼動中のコアのうちの一部のコアを休止する場合にもタスクの抜けが発生する可能性がある。コアを休止する場合には、演算に必要な情報が休止させるコアから継続して稼動させるコアに送信される。このため、ある演算サイクルにおいてコアを休止する場合、休止処理に伴うコア間通信によってオーバーヘッドが発生し、継続して稼動されるコアの演算時間にそのオーバーヘッドが加算されることになる。結果、オーバーヘッドと演算時間とを含む必要処理時間と、要求されている処理完了時間との関係によっては、一部のタスクが処理完了時間内で処理しきれない可能性がある。
特開2006−344162号公報
本発明は、処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置において、前記複数のタスクの処理に使用するコアの数を増減させる際に生じうるタスクの抜けを防止することを課題とする。そして、そのような課題を達成するために、本発明は次のようなマルチコアタイプの並列計算装置を提供する。
本発明が提供する第1の並列計算装置は、新たにコアを起動させてその新たなコアと稼動中のコアとに処理対象タスクを割り当てる場合、稼動中のコアの演算周波数を高くする。演算周波数が高くなれば稼動中のコアの演算能力は高まることから、要求されている処理完了時間が短くなったとしても、或いは、新たなコアの起動に伴うコア間通信によってオーバーヘッドが増大したとしても、要求されている処理完了時間内で全てのタスクを処理できるようになる。
新たにコアを起動させる場合、好ましくは、新たなコアを起動するサイクルの次のサイクルにて新たなコアと稼動中のコアとに処理対象タスクを割り当てる。そして、好ましくは、新たなコアを起動するサイクルの間、稼動中のコアの演算周波数を一時的に高くする。これによれば、コアの演算周波数を高める時間を短くして消費電力の増大を最小限に抑えながら、タスク処理に使用するコアの数を増やす際のタスクの抜けを防止することができる。
新たにコアを起動させる場合、その起動サイクルにて新たなコアと稼動中のコアとに処理対象である複数のタスクを割り当てるとともに、同起動サイクルの間、稼動中のコアの演算周波数を一時的に高くすることも好ましい。より好ましくは、新たなコアを起動した後の同起動サイクルの間、新たなコアの演算周波数も一時的に高くする。これによれば、コアの演算周波数を高める時間を短くして消費電力の増大を最小限に抑えながら、タスク処理に使用するコアの数を増やす際のタスクの抜けを防止することができる。
本発明が提供する第2の並列計算装置は、稼動中のコアのうち一部のコアを休止させて継続して稼動させるコアに処理対象タスクを割り当てる場合、継続して稼動させるコアの演算周波数を高くする。演算周波数が高くなれば継続して稼動されるコアの演算能力は高まることから、一部のコアの休止に伴うコア間通信によってオーバーヘッドが生じたとしても、要求されている処理完了時間内で全てのタスクを処理できるようになる。
一部のコアを休止させる場合、好ましくは、一部のコアを休止させるサイクルにおいて継続して稼動させるコアに対し処理対象タスクを割り当てる。そして、好ましくは、一部のコアを休止させるサイクルの間、継続して稼動させるコアの演算周波数を一時的に高くする。これによれば、コアの演算周波数を高める時間を短くして消費電力の増大を最小限に抑えながら、タスク処理に使用するコアの数を減らす際のタスクの抜けを防止することができる。
本発明の実施の形態1の並列計算装置の構成の概略を示す図である。 演算周波数が可変のコアの周波数−消費電力特性を示す図である。 マルチコアタイプの並列計算装置における単位時間当たり要求演算量と要求演算周波数との関係を示す図である。 演算負荷が大きい場合の1コア時の合計消費電力と2コア時の合計消費電力とを比較する図である。 演算負荷が小さい場合の1コア時の合計消費電力と2コア時の合計消費電力とを比較する図である。 合計消費電力と要求演算周波数との関係を1コア時と2コア時とで比較して示す図である。 稼動コア数を1コアから2コアに増やす場合に生じうる問題について説明するための図である。 稼動コア数を2コアから1コアに減らす場合に生じうる問題について説明するための図である。 本発明の実施の形態1による追加コアの起動時の制御方法を説明するための図である。 本発明の実施の形態1の並列計算装置により追加コアの起動時に実行されるルーチンを示すフローチャートである。 本発明の実施の形態1による一部コアの休止時の制御方法を説明するための図である。 本発明の実施の形態1の並列計算装置により一部コアの休止時に実行されるルーチンを示すフローチャートである。 本発明の実施の形態2による追加コアの起動時の制御方法を説明するための図である。 本発明の実施の形態2の並列計算装置により追加コアの起動時に実行されるルーチンを示すフローチャートである。
実施の形態1.
本発明の実施の形態1の並列計算装置について図を参照して説明する。
本実施の形態の並列計算装置は、マルチコアプロセッサを用いてエンジン制御にかかるアクチュエータの制御目標値を演算する並列計算装置である。本実施の形態の並列計算装置が適用される自動車用エンジンの種類や構造に限定は無い。例えば、ガソリンエンジン、ディーゼルエンジン、自然吸気エンジン、過給エンジン等、様々な自動車用エンジンに適用することができる。また、本実施の形態の並列計算装置が演算する制御目標値の種類や数にも限定は無い。例えば、スロットル、点火装置、可変バルブタイミング装置、インジェクタ、ウエストゲートバルブ等、様々なアクチュエータの制御目標値の演算に適用することができる。
図1は、本実施の形態の並列計算装置の構成の概略を示す図である。並列計算装置100には、エンジンに備えられる複数のセンサからエンジンの運転状態や運転環境に関する各種の情報が入力される。並列計算装置100はそれらの情報に基づいて各アクチュエータに指示する制御目標値を計算する。並列計算装置100は複数のコア102を有するマルチコアタイプの並列計算装置である。各コア102は、キャッシュ付きのCPU104とローカルメモリ106とを備えている。ローカルメモリ106には、CPU104で実行される各種のプログラムとそのプログラムの実行時に使用される各種のデータが記憶されている。コア102同士はバス110で接続されている。バス110を経由してコア102間での通信が行われる。図示は省略するが、バス110にはコア間で共有される共有メモリも接続されている。また、各コア102には、駆動電圧を制御して演算周波数を変化させることのできる周波数・電圧制御ユニット108が備えられている。
図2は、本実施の形態の並列計算装置が備えるコアの周波数−消費電力特性を示す図である。コアの消費電力は演算周波数が高くなるにつれて大きくなる傾向がある。また、演算周波数の変化に対する消費電力の変化率は演算周波数が高くなるほど大きくなる。
図3は、1コア当りの単位時間当り要求演算量と要求演算周波数との関係について示す図である。単位時間当り要求演算量は、処理すべきタスクの数と要求される処理完了時間とによって決まる。エンジン制御では、様々なアクチュエータの制御目標値の演算のため、複数のタスクが燃焼サイクルごとに繰り返し実行される。つまり、エンジン制御におけるタスクの処理のサイクルはエンジンの燃焼サイクルに一致する。このため、エンジン制御では1つの燃焼サイクル内で全てのタスクの処理を完了することが求められる。つまり、エンジン制御にかかる複数のタスクの処理完了時間には、燃焼サイクルの時間により決まる制約がある。
図3に示すように、演算に使用するコアの数が一定の場合、単位時間当り要求演算量と要求演算周波数との関係は線形関係である。ここで、要求されている演算量を1つのコアで処理する場合の要演算周波数をf1とする。同じ演算量を2つのコアで処理する場合、1つのコア当りの演算量は半分になる。しかしながら、各コアに対する要求演算周波数はf1の半分であるf1/2にはならず、f1/2よりも高い周波数のf2となる。これは、関連する演算を2つのコアに分散させて行う場合には、演算に用いる情報のやり取りのために2つのコア間で通信が必要となり、コア間通信によるオーバーヘッドが発生するためである。オーバーヘッドの分だけ各コアにおける見かけの要求演算量は大きくなり、見かけの要求演算量が大きくなることで要求演算周波数はf1/2よりも高いf2になるのである。
コア数を1コアから2コアに増やした場合、消費電力量はコア2つ分となる。しかし、1コア当りの消費電力量が1コア時の半分以下であれば、2コア時の合計消費電力量は1コア時の合計消費電力量よりも小さくなり、並列計算による低消費電力化のメリットを享受することができる。消費電力量は演算周波数によって決まる。1コア時の合計消費電力量は周波数−消費電力特性において周波数f1に対応する消費電力量であり、2コア時の合計消費電力量は周波数−消費電力特性において周波数f2に対応する消費電力量の2倍である。1コア時の合計消費電力と2コア時の合計消費電力のどちらが小さいかは、単位時間当り要求演算量、すなわち、並列演算装置にかかる演算負荷の大きさにかかっている。
図4は、演算負荷が大きい場合の1コア時の合計消費電力と2コア時の合計消費電力とを比較する図である。コアの周波数−消費電力特性によれば、演算周波数が高くなるほど演算周波数の変化に対する消費電力の変化率が大きくなる。このため、演算負荷が大きく演算周波数f1が高い場合には、図4に示すように演算周波数f2に対応する消費電力量は演算周波数f1に対応する消費電力量の半分より小さくなる。よって、演算負荷が大きいときには、1コア時の合計消費電力よりも2コア時の合計消費電力のほうが小さくなる傾向にある。
一方、図5は、演算負荷が小さい場合の1コア時の合計消費電力と2コア時の合計消費電力とを比較する図である。演算負荷が小さく演算周波数f1が低い場合には、図5に示すように演算周波数f2に対応する消費電力量は演算周波数f1に対応する消費電力量の半分より大きくなる。よって、演算負荷が小さいときには、2コア時の合計消費電力よりも1コア時の合計消費電力のほうが小さくなる傾向にある。
図6は、合計消費電力と要求演算周波数との関係を1コア時と2コア時とで比較して示すグラフである。このグラフにおける要求演算周波数は、ある単位時間当り要求演算量を1つのコアで処理する場合に要求される演算周波数である。その場合の消費電力が1コア時の合計消費電力であり、同要求演算量を1コアから2コアにコア数を増やして処理する場合の消費電力が2コア時の合計消費電力である。このグラフに示すように、1コア時の合計消費電力と2コア時の合計消費電力とはある閾値周波数fcにおいて等しく、演算周波数が閾値周波数fcより高ければ2コア時の合計消費電力のほうが1コア時の合計消費電力よりも低くなる。逆に、演算周波数が閾値周波数fcより低ければ1コア時の合計消費電力のほうが2コア時の合計消費電力よりも低くなる。
以上のことから分かるように、並列計算装置に閾値周波数fcを予め記憶しておき、要求演算周波数が閾値周波数fcより高いか低いかを判断基準にしてコア数を選択することにより、並列計算装置の低消費電力化を図ることができる。つまり、要求演算周波数が閾値周波数fcよりも高い場合には、2つのコアによる並列計算を選択することによって消費電力をより低く抑えることができる。逆に、要求演算周波数が閾値周波数fcより低い場合には、2つのコアで並列計算を行うよりも1つのコアで計算を行ったほうが消費電力をより低く抑えることができる。
ただし、単にコア数の切り替えを行うだけではある問題が生じる。その問題について図7及び図8を用いて解説する。なお、以下に解説する問題は、あくまでも本発明の創案過程において検討された並列計算装置(比較例)において見られた問題である。本実施の形態の並列計算装置では、後述するように問題に対する解決策が施されている。
図7は、1つのコア(コア1)のみでタスクの処理を行っていた場合に、追加のコア(コア2)を新たに起動する際に生じる問題について説明するための図である。並列計算装置は、エンジン回転数とその変化率とに基づいて次の燃焼サイクルの時間を計算する。ここでは、今回の燃焼サイクルの時間T1に対して次回の燃焼サイクルの時間T2が短くなった場合について検討する。並列計算装置は、燃焼サイクルの時間を処理完了時間として単位時間当り演算量を計算し、単位時間当り演算量から要求演算周波数を計算する。つまり、処理完了時間の制約を満たす範囲内で消費電力を最小にできる演算周波数を要求演算周波数として算出する。処理すべきタスクの演算量が一定の場合、処理完了時間である燃焼サイクルの時間がT1からT2へ短くなれば、単位時間当り演算量は増大して要求演算周波数は高くなる。要求演算周波数が閾値周波数fcよりも高くなることが予想された場合、並列計算装置はコア2を起動させることを判断し、次回サイクルにおいてコア2の起動処理を実行する。
コア1に加えてコア2が起動することで、処理すべきタスクは2つのコアに分散して割り当てられる。関連するタスクを分散させることでコア間通信によるオーバーヘッドが発生するが、オーバーヘッドとタスク処理にかかる演算時間との合計時間が燃焼サイクル時間T2と一致するように各コアの演算周波数が決定される。1コア時の要求演算周波数が閾値周波数fcよりも高い場合には、このように2つのコアによる並列計算に切り替えることにより、1つのコアでタスクを処理する場合に比較して並列計算装置全体での低消費電力化が可能となる。
ただし、上記の並列計算によるメリットが得られるのは、コア2が起動した以降のサイクルに限られる。コア2の実際の起動は、起動処理を実行したサイクルの次のサイクルとなる。このため、コア2の起動処理が実行されるサイクルでは、稼動中のコア1のみで全てのタスクを処理しなければならない。しかし、コア1の演算周波数は前回の処理完了時間に対して最適化されているため、今回の処理完了時間内では全てのタスクを処理することができない。タスクは優先度を付けて実行されるため、優先度が低いタスクは処理されるずに残ってしまう。つまり、1つのコアによる計算から2つのコアによる並列計算に切り替える場合、単純に追加のコアを起動するだけではタスクの抜けが発生してしまう。
図8は、2つのコアによる並列計算でタスクの処理を行っていた場合に、一方のコア(コア2)を休止する際に生じる問題について説明するための図である。ここでは、今回の燃焼サイクルの時間T3に対して次回の燃焼サイクルの時間T4が長くなった場合について検討する。処理すべきタスクの演算量が一定の場合、処理完了時間である燃焼サイクルの時間がT3からT4へ長くなれば、単位時間当り演算量は減少して要求演算周波数は低くなる。並列計算装置はタスクの処理にかかる演算量と処理完了時間とから全てのタスクを1つのコアで処理する場合の要求演算周波数を計算する。そして、1コア時の要求演算周波数が閾値周波数fcよりも低くなることが予想された場合、並列計算装置はコア2を休止させることを判断し、次回の燃焼サイクルにおいてコア2の休止処理を実行する。
コア2が休止することで、処理すべきタスクは継続して稼動されるコア1に割り当てられる。タスク処理に使用するコアが1つのみであればコア間通信によるオーバーヘッドは発生しないため、並列計算装置はタスクの処理にかかる演算時間が燃焼サイクル時間T4と一致するようにコア1の演算周波数を決定する。1コア時の要求演算周波数が閾値周波数fcよりも低い場合には、このように1つのコアのみによる計算に切り替えることにより、2つのコアによる並列計算を行う場合に比較して並列計算装置全体での低消費電力化が可能となる。
ただし、コア2を休止させるサイクルのみ、コア1のみを稼動させるにも関わらずコア間通信によるオーバーヘッドが発生する。コア2を休止させるのであれば、コア2が担当していたタスクの処理に必要な情報をコア2からコア1に引き継いでからコア2を休止させる必要がある。このため、コア2を休止させるサイクルでは、情報の引継ぎのためのコア間通信が発生することになり、そのコア間通信によるオーバーヘッドがコア1の演算時間に加算されることになる。ところが、並列計算装置は、燃焼サイクル時間T4内で消費電力を最小にできる演算周波数をコア1の要求演算周波数として設定している。このため、演算時間にオーバーヘッドが加算された場合には、優先度の低い一部のタスクについては処理完了時間内で処理しきれなくなる。つまり、2つのコアによる並列計算から1つのコアによる単独計算に切り替える場合、単純に不要なコアを休止するだけではタスクの抜けが発生してしまう。
以上述べた問題に対し、本実施の形態の並列制御装置では次のような解決策が採られている。
まず、追加コアの起動時に生じうるタスク抜け防止するために採られた制御方法から説明する。図9は、本実施の形態の並列制御装置による追加コアの起動時の制御方法を説明するための図である。ここでは、図7を用いて説明した比較例に対応させ、1つのコア(コア1)のみでタスクの処理を行っていた場合に、追加のコア(コア2)を新たに起動するケースを例に採って説明する。
本実施の形態の並列計算装置は、予想される次回の燃焼サイクル時間T2から次回サイクルの要求演算周波数を計算する。そして、次回サイクルの要求演算周波数が閾値周波数fcよりも高いかどうかによって、コア2を起動させるかどうか判断する。そして、要求演算周波数が閾値周波数fcよりも高い場合、次回サイクルにおいてコア2の起動処理を実行する。
本実施の形態の並列計算装置による制御方法と比較例との違いは、コア2の起動処理を実行するサイクル(以下、追加コア起動サイクル)でのコア1の演算周波数の設定である。コア1とコア2とにタスクが割り当てられて2つのコアによる並列計算が開始されるのは、追加コア起動サイクルの次回のサイクルである。追加コア起動サイクルでは引き続きコア1による単独計算が行われる。ただし、追加コア起動サイクルにおいて要求される処理完了時間は、燃焼サイクル時間T1ではなく燃焼サイクル時間T2に対応する時間である。燃焼サイクル時間T2は燃焼サイクル時間T1よりも短くなっているので、追加コア起動サイクルで要求される処理完了時間は前回サイクルの処理完了時間よりも短くなる。そこで、本実施の形態の並列計算装置は、追加コア起動サイクルでは、燃焼サイクル時間T1に対して最適化された演算周波数ではなく、それよりも高い演算周波数でコア1を動作させる。
演算周波数が高くなればコア1の演算能力は高まることから、コア1に対して要求される処理完了時間が短くなったとしても、その要求処理完了時間内で全てのタスクを処理できるようになる。つまり、本実施の形態の並列計算装置によれば、タスク処理に使用するコアの数を増やす際のタスクの抜けを防止することができる。なお、追加コア起動サイクルでのコア1の演算周波数としては、予想される燃焼サイクル時間T2に対して最適化された演算周波数、つまり、処理完了時間が燃焼サイクル時間T2を越えない範囲内で消費電力を最小にできる演算周波数であることが好ましい。
以上説明した追加コアの起動時の制御方法は、本実施の形態の並列計算装置により図10のフローチャートに示すルーチンが実行されることにより実施される。このルーチンは1つのコアによる単独計算が行われている場合に実行される。
図10のフローチャートの最初のステップS102では、追加コアの起動の要否が判断される。追加コアの起動要否の判断には、次の燃焼サイクルで処理すべきタスクの演算量と、エンジン回転数から予想される次の燃焼サイクルの時間とが情報として用いられる。それらの情報に基づいて全てのタスクを1コアで処理した場合の単位時間当り要求演算量が計算され、さらに、単位時間当り演算量から要求演算周波数が計算される。要求演算周波数が閾値周波数fcよりも高いかどうかが、追加コアの起動要否を判断する際の判断基準となる。
ステップS104では、上述の判断基準に照らして追加コアを起動するかどうか決定される。追加コアを起動する場合には、ステップS106の処理が実行される。
ステップS106では、追加コアの起動要否を判断したサイクルの次のサイクルにおいて追加コアの起動処理が実施される。また、同サイクルでは、稼動中のコアの駆動電圧を一時的に上げることが行われる。コアの演算周波数は駆動電圧に比例するので、駆動電圧を上げることで演算周波数は高くなる。演算周波数を高めてコアの演算能力を上昇させることで、要求される処理完了時間内で全てのタスクの処理を完了することができる。
追加コアを起動しない場合には、上述のステップS106の処理はスキップされる。この場合、引き続き稼動中の1コアのみでタスクの処理が行われる。また、追加コア起動サイクルの後のサイクルでは、2つのコアにタスクが割り当てられ、2つのコアを用いた並列計算によってタスクの処理が行われる。並列計算によれば各コアの演算周波数を下げることができるので、各コアの駆動電圧も下げることができる。よって、追加コアの起動に伴い駆動電圧及び演算周波数を高くする期間は、長くとも追加コア起動サイクルの期間、つまり一時的な期間で良い。
次に、一部コアの休止時に生じうるタスク抜け防止するために採られた制御方法について説明する。図11は、本実施の形態の並列制御装置による一部コアの休止時の制御方法を説明するための図である。ここでは、図8を用いて説明した比較例に対応させ、2つのコアによる並列計算でタスクの処理を行っていた場合に、一方のコア(コア2)を休止するケースを例に採って説明する。
本実施の形態の並列計算装置は、コア1のみを稼動させる場合の要求演算周波数を予想される次回の燃焼サイクル時間T4から計算する。そして、次回サイクルの要求演算周波数が閾値周波数fcよりも低いかどうかによって、コア2を休止させるかどうか判断する。そして、要求演算周波数が閾値周波数fcよりも低い場合、次回サイクルにおいてコア2の休止処理を実行する。
本実施の形態の並列計算装置による制御方法と比較例との違いは、コア2の休止処理を実行するサイクル(以下、コア休止サイクル)でのコア1の演算周波数の設定である。コア休止サイクルでは、コア1のみにタスクが割り当てられ、コア1とコア2による並列計算からコア1による単独計算に切り替えられる。このため、コア1が担当するタスク数は並列計算時よりも多くなり、コア1に要求される演算周波数は並列計算時よりも高くなる。さらに、コア休止サイクルでは、休止するコア2から継続して稼動するコア1への情報の引継ぎのため、並列計算時と同様にオーバーヘッドが発生する。このため、コア休止サイクルにおけるコア1の見かけの演算量は、オーバーヘッドの分だけ通常の単独計算時よりも増大する。そこで、本実施の形態の並列計算装置は、コア休止サイクルでは、燃焼サイクル時間T4に対して最適化された演算周波数ではなく、それよりも高い演算周波数でコア1を動作させる。
演算周波数が高くなればコア1の演算能力は高まることから、コア2の休止処理に伴うオーバーヘッドの分だけ見かけの演算量が増大したとしても、燃焼サイクル時間T4から決まる要求処理完了時間内で全てのタスクを処理できるようになる。つまり、本実施の形態の並列計算装置によれば、タスク処理に使用するコアの数を減らす際のタスクの抜けを防止することができる。
以上説明した一部コアの休止時の制御方法は、本実施の形態の並列計算装置により図12のフローチャートに示すルーチンが実行されることにより実施される。このルーチンは2つのコアによる並列計算が行われている場合に実行される。
図12のフローチャートの最初のステップS202では、稼動中のコアのうち一部コアを休止させることの要否が判断される。一部コアの休止要否の判断には、次の燃焼サイクルで処理すべきタスクの演算量と、エンジン回転数から予想される次の燃焼サイクルの時間とが情報として用いられる。それらの情報に基づいて全てのタスクを1コアで処理した場合の単位時間当り要求演算量が計算され、さらに、単位時間当り演算量から要求演算周波数が計算される。要求演算周波数が閾値周波数fcよりも低いかどうかが、一部コアの休止要否を判断する際の判断基準となる。
ステップS204では、上述の判断基準に照らして一部コアを休止するかどうか決定される。一部コアを休止する場合には、ステップS206の処理が実行される。
ステップS206では、一部コアの休止要否を判断したサイクルの次のサイクルにおいて一部コアの休止処理が実施される。また、同サイクルでは、継続して稼動されるコアの駆動電圧を一時的に上げて同コアの演算周波数を高めることが行われる。演算周波数を高めてコアの演算能力を上昇させることで、要求される処理完了時間内で全てのタスクの処理を完了することができる。
一部コアを休止しない場合には、上述のステップS206の処理はスキップされる。この場合、引き続き2つのコアによる並列計算が行われる。また、コア休止サイクルの後のサイクルでは、継続して稼動する1コアのみによる単独計算によってタスクの処理が行われる。一部コアの休止に伴うオーバーヘッドはコア休止サイクルでのみ発生するので、コア休止サイクルより後のサイクルでは、コアの演算周波数はタスク処理のための演算量と要求処理完了時間とから決まる最低の演算周波数で良い。よって、一部コアの休止に伴い駆動電圧及び演算周波数を高くする期間は、長くともコア休止サイクルの期間、つまり一時的な期間で良い。
実施の形態2.
次に、本発明の実施の形態2の並列計算装置について図を参照して説明する。
本実施の形態の並列制御装置と実施の形態1の並列制御装置とは、追加コアの起動時に生じうるタスク抜け防止するために採られた制御方法において違いがある。図13は、本実施の形態の並列制御装置による追加コアの起動時の制御方法を説明するための図である。ここでは、図7を用いて説明した比較例に対応させ、1つのコア(コア1)のみでタスクの処理を行っていた場合に、追加のコア(コア2)を新たに起動するケースを例に採って説明する。
本実施の形態の並列計算装置は、予想される次回の燃焼サイクル時間T2から次回サイクルの要求演算周波数を計算する。そして、次回サイクルの要求演算周波数が閾値周波数fcよりも高いかどうかによって、コア2を起動させるかどうか判断する。そして、要求演算周波数が閾値周波数fcよりも高い場合、次回サイクルにおいてコア2の起動処理を実行する。さらに、同サイクルにおいてコア1とコア2にタスクを割り当て、コア1とコア2を用いた並列計算を開始する。つまり、本実施の形態では、コア2の起動処理を実行する追加コア起動サイクルにて並列計算によるタスクの処理を開始する。
コア1とコア2による並列計算を行うサイクルでは、処理完了時間が燃焼サイクル時間T2を越えない範囲内で消費電力を最小にできる演算周波数が各コアの要求演算周波数として設定される。要求演算周波数の計算には、各コアに割り当てられたタスクの処理のための演算量に加えて、コア間通信によるオーバーヘッドが考慮されている。ただし、追加コア起動サイクルでは、コア2のみ、コア間通信及び並列計算に先立って起動処理が必要となる。また、追加コア起動サイクルでは、コア1による演算もコア2が起動してコア間通信が可能になるまでは開始することができない。このため、追加コア起動サイクルにおいて各コアが実質的にコア間通信及び並列計算に用いることができる時間は、燃焼サイクル時間T2からコア2の起動処理に要する時間を除いた時間となる。つまり、追加コア起動サイクルで要求される実質的な処理完了時間は、コア2の起動が完了している次回以降のサイクルの処理完了時間よりも短くなる。そこで、本実施の形態の並列計算装置は、追加コア起動サイクルでは、燃焼サイクル時間T2に対して最適化された演算周波数ではなく、それよりも高い演算周波数でコア1及びコア2を動作させる。
演算周波数が高くなれば各コアの演算能力は高まることから、各コアに対して要求される実質的な処理完了時間がコア2の起動時間の分だけ短いとしても、その実質的な要求処理完了時間内で全てのタスクを処理できるようになる。つまり、本実施の形態の並列計算装置によれば、実施の形態1の並列計算装置と同様に、タスク処理に使用するコアの数を増やす際のタスクの抜けを防止することができる。
以上説明した追加コアの起動時の制御方法は、本実施の形態の並列計算装置により図14のフローチャートに示すルーチンが実行されることにより実施される。このルーチンは1つのコアによる単独計算が行われている場合に実行される。なお、図14のフローチャートに示す各処理のうち、実施の形態1のフローチャートと共通する処理には同一のステップ番号が付されている。
図14のフローチャートの最初のステップS102では、追加コアの起動の要否が判断される。そして、ステップS104では、ステップS102の判断結果に基づいて追加コアを起動するかどうか決定される。ステップS102及びS104の内容は実施の形態1で述べた通りである。追加コアを起動する場合には、ステップS108の処理が実行される。
ステップS108では、追加コアの起動要否を判断したサイクルの次のサイクルにおいて追加コアの起動処理が実施される。追加コアの起動が完了すると、続けてステップS110の処理が実行される。
ステップS110では、追加コア起動サイクルにおいて稼動中のコアと追加コアの両方にタスクを割り当て、2つのコアを用いた並列計算を開始する。また、その際、稼動中のコアの駆動電圧と追加コアの駆動電圧をともに一時的に上げて両コアの演算周波数を高めることが行われる。演算周波数を高めて両コアの演算能力を上昇させることで、要求される処理完了時間内で全てのタスクの処理を完了することができる。
追加コアを起動しない場合には、上述のステップS108及びS110の処理はスキップされる。この場合、引き続き稼動中の1コアのみでタスクの処理が行われる。また、追加コア起動サイクルの後のサイクルでは、追加コア起動サイクルに引き続き2つのコアを用いた並列計算によってタスクの処理が行われる。ただし、追加コアの起動処理のために実質的な処理完了時間は短くなるのは追加コア起動サイクルのみであり、それ以降のサイクルでは燃焼サイクル時間T2に対して最適化された演算周波数に設定することができる。よって、追加コアの起動に伴い駆動電圧及び演算周波数を高くする期間は、長くとも追加コア起動サイクルの期間、つまり一時的な期間で良い。
その他.
本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば次のように変形して実施してもよい。
実施の形態1では、新たにコアを起動する場合、追加コア起動サイクルの期間、稼動中のコアの駆動電圧を上げて演算周波数を高めている。しかし、駆動電圧を上げて演算周波数を高める期間は、稼動中のコアが実際にタスクの処理のための演算を実行している期間に限定してもよい。
また、実施の形態1では、一部のコアを休止する場合、コア休止サイクルの期間、継続して稼動するコアの駆動電圧を上げて演算周波数を高めている。しかし、駆動電圧を上げて演算周波数を高める期間は、継続して稼動するコアが実際にタスクの処理のための演算を実行している期間に限定してもよい。
実施の形態2では、新たにコアを起動する場合、追加コア起動サイクルの期間、稼動中のコアと追加コアの両方の駆動電圧を上げて演算周波数を高めている。しかし、駆動電圧を上げて演算周波数を高める期間は、稼動コアと追加コアのそれぞれが実際にタスクの処理のための演算を実行している期間に限定してもよい。
実施の形態1の追加コアの起動時の制御方法は、複数のコアによる並列計算において新たにコアを追加する場合の制御にも応用することができる。並列計算に用いるコア数を増やす場合、追加コアの起動処理を行うサイクルにおいて稼動中の各コアに要求される処理完了時間は前サイクルよりも短くなる。この場合、稼動中の各コアの演算周波数を一時的に高くすることにより、要求されている処理完了時間内で全てのタスクを処理できるようになる。
実施の形態1の一部コアの休止時の制御方法は、複数のコアによる並列計算において一部のコアを休止する場合の制御にも適用することができる。並列計算に用いるコア数を減らす場合、休止させるコアから継続して稼動させる各コアへの情報の引継ぎのためのオーバーヘッドが発生する。この場合、継続して稼動させる各コアの演算周波数を一時的に高くすることにより、要求されている処理完了時間内で全てのタスクを処理できるようになる。
また、実施の形態2の追加コアの起動時の制御方法は、複数のコアによる並列計算において新たにコアを追加する場合の制御にも応用することができる。追加コアを起動するサイクルにて追加コアを用いた並列計算も開始する場合、追加コアの起動処理に要する時間の分だけ稼動中の各コア及び追加コアに要求される実質的な処理完了時間は短くなる。この場合、稼動中の各コア及び追加コアの演算周波数を一時的に高くすることにより、要求されている処理完了時間内で全てのタスクを処理できるようになる。
100 並列計算装置
102 コア
104 CPU
106 ローカルメモリ
108 周波数・電圧制御ユニット
110 バス

Claims (6)

  1. 処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置であって、
    前記並列計算装置は、新たに起動される新たなコアと稼動中のコアとに前記複数のタスクを割り当てる場合、前記稼動中のコアの演算周波数を高くすることを特徴とする並列計算装置。
  2. 前記並列計算装置は、前記新たなコアを起動するサイクルの次のサイクルにて前記新たなコアと前記稼動中のコアとに前記複数のタスクを割り当て、前記新たなコアを起動するサイクルの間、前記稼動中のコアの演算周波数を高くすることを特徴とする請求項1に記載の並列計算装置。
  3. 前記並列計算装置は、前記新たなコアを起動するサイクルにて前記新たなコアと前記稼動中のコアとに前記複数のタスクを割り当てるとともに、前記サイクルの間、前記稼動中のコアの演算周波数を高くすることを特徴とする請求項1に記載の並列計算装置。
  4. 前記並列計算装置は、前記新たなコアを起動した次の前記サイクルの間、前記新たなコアの演算周波数も高くすることを特徴とする請求項3に記載の並列計算装置。
  5. 処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置であって、
    前記並列計算装置は、稼動中のコアのうち一部のコアを休止させて継続して稼動させるコアに前記複数のタスクを割り当てる場合、前記継続して稼動させるコアの演算周波数を高くすることを特徴とする並列計算装置。
  6. 前記並列計算装置は、前記一部のコアを休止させるサイクルにて前記継続して稼動させるコアに前記複数のタスクを割り当てるとともに、前記サイクルの間、前記継続して稼動させるコアの演算周波数を高くすることを特徴とする請求項5に記載の並列計算装置。
JP2014541885A 2012-10-18 2012-10-18 並列計算装置 Pending JPWO2014061141A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/076986 WO2014061141A1 (ja) 2012-10-18 2012-10-18 並列計算装置

Publications (1)

Publication Number Publication Date
JPWO2014061141A1 true JPWO2014061141A1 (ja) 2016-09-05

Family

ID=50487729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014541885A Pending JPWO2014061141A1 (ja) 2012-10-18 2012-10-18 並列計算装置

Country Status (5)

Country Link
US (1) US20150277988A1 (ja)
EP (1) EP2911055A4 (ja)
JP (1) JPWO2014061141A1 (ja)
CN (1) CN104718531A (ja)
WO (1) WO2014061141A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6051924B2 (ja) * 2013-02-21 2016-12-27 富士通株式会社 情報処理装置の制御方法、制御プログラム、情報処理装置
JP2016062312A (ja) * 2014-09-18 2016-04-25 トヨタ自動車株式会社 車載電子システム
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US10275280B2 (en) 2016-08-10 2019-04-30 International Business Machines Corporation Reserving a core of a processor complex for a critical task
US10248457B2 (en) 2016-08-10 2019-04-02 International Business Machines Corporation Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task
US10223164B2 (en) 2016-10-24 2019-03-05 International Business Machines Corporation Execution of critical tasks based on the number of available processing entities
US10248464B2 (en) * 2016-10-24 2019-04-02 International Business Machines Corporation Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex
US11533272B1 (en) * 2018-02-06 2022-12-20 Amesite Inc. Computer based education methods and apparatus
KR20210016707A (ko) * 2019-08-05 2021-02-17 삼성전자주식회사 성능효율을 바탕으로 한 스케줄링 방법, 스케줄링 장치 및 컴퓨터 판독가능 저장 매체
CN112799838A (zh) * 2021-01-27 2021-05-14 Oppo广东移动通信有限公司 任务处理方法、多核处理器及计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099432A (ja) * 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
JP2010502165A (ja) * 2006-09-28 2010-01-21 インテル・コーポレーション 駆動オーバーライドを備えた電圧レギュレータ
JP2010039543A (ja) * 2008-07-31 2010-02-18 Autonetworks Technologies Ltd 処理装置、クロック周波数決定方法、及びコンピュータプログラム
JP2010113419A (ja) * 2008-11-04 2010-05-20 Toyota Motor Corp マルチコア制御装置
US20110153984A1 (en) * 2009-12-21 2011-06-23 Andrew Wolfe Dynamic voltage change for multi-core processing
JP2011153596A (ja) * 2010-01-28 2011-08-11 Toyota Motor Corp 内燃機関制御装置
WO2012108058A1 (ja) * 2011-02-10 2012-08-16 富士通株式会社 スケジューリング方法、設計支援方法、およびシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
JP4476876B2 (ja) 2005-06-10 2010-06-09 三菱電機株式会社 並列計算装置
US8429663B2 (en) * 2007-03-02 2013-04-23 Nec Corporation Allocating task groups to processor cores based on number of task allocated per core, tolerable execution time, distance between cores, core coordinates, performance and disposition pattern
US8984523B2 (en) * 2009-05-26 2015-03-17 Telefonaktiebolaget L M Ericsson (Publ) Method for executing sequential code on the scalable processor at increased frequency while switching off the non-scalable processor core of a multicore chip
US8612984B2 (en) * 2010-04-28 2013-12-17 International Business Machines Corporation Energy-aware job scheduling for cluster environments
CN103229123B (zh) * 2010-11-25 2016-08-31 飞思卡尔半导体公司 在多核处理器内管理功率的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099432A (ja) * 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
JP2010502165A (ja) * 2006-09-28 2010-01-21 インテル・コーポレーション 駆動オーバーライドを備えた電圧レギュレータ
JP2010039543A (ja) * 2008-07-31 2010-02-18 Autonetworks Technologies Ltd 処理装置、クロック周波数決定方法、及びコンピュータプログラム
JP2010113419A (ja) * 2008-11-04 2010-05-20 Toyota Motor Corp マルチコア制御装置
US20110153984A1 (en) * 2009-12-21 2011-06-23 Andrew Wolfe Dynamic voltage change for multi-core processing
JP2011153596A (ja) * 2010-01-28 2011-08-11 Toyota Motor Corp 内燃機関制御装置
WO2012108058A1 (ja) * 2011-02-10 2012-08-16 富士通株式会社 スケジューリング方法、設計支援方法、およびシステム

Also Published As

Publication number Publication date
CN104718531A (zh) 2015-06-17
EP2911055A1 (en) 2015-08-26
WO2014061141A1 (ja) 2014-04-24
US20150277988A1 (en) 2015-10-01
EP2911055A4 (en) 2016-01-20

Similar Documents

Publication Publication Date Title
WO2014061141A1 (ja) 並列計算装置
JP4370336B2 (ja) 低消費電力ジョブ管理方法及び計算機システム
JP6483609B2 (ja) マルチcpuシステム
US9785481B2 (en) Power aware task scheduling on multi-processor systems
CN102541659B (zh) 一种服务器业务请求处理方法和装置
KR20180064922A (ko) 이종 계산 장치 기반의 질의 처리 방법 및 장치
US20160210174A1 (en) Hybrid Scheduler and Power Manager
KR20170021338A (ko) 데이터 처리 시스템을 위한 전력 인식 작업 스케쥴러 및 관리자
JP5316718B1 (ja) マルチコア・プロセッサ
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
CN103412786A (zh) 一种高性能服务器架构系统及数据处理方法
JP2010009395A (ja) 情報処理装置、粒度調整方法およびプログラム
CN112667380A (zh) 多处理器任务调度方法、装置及存储介质
JP2016126426A (ja) マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム
CN109889406B (zh) 用于管理网络连接的方法、装置、设备和存储介质
JP2013149221A (ja) プロセッサの制御装置およびその方法
US9170839B2 (en) Method for job scheduling with prediction of upcoming job combinations
JP4363417B2 (ja) コンピュータ装置およびコンピュータ制御方法
Zakarya et al. Energy efficient workload balancing algorithm for real-time tasks over multi-core
WO2012124295A1 (ja) コンピュータシステム、制御システム、制御方法および制御プログラム
JP7263746B2 (ja) 情報処理装置
JP2016184315A (ja) 電子制御装置
KR20100049907A (ko) 프로세서 및 인터럽트 처리 방법
KR101433030B1 (ko) 가상환경 내 중앙처리장치의 전력 스케줄링 방법 및 시스템
JP5614395B2 (ja) 内燃機関の制御装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161101