JP5734941B2 - マルチコアプロセッサの制御プログラム、電子機器及び制御方法 - Google Patents
マルチコアプロセッサの制御プログラム、電子機器及び制御方法 Download PDFInfo
- Publication number
- JP5734941B2 JP5734941B2 JP2012247172A JP2012247172A JP5734941B2 JP 5734941 B2 JP5734941 B2 JP 5734941B2 JP 2012247172 A JP2012247172 A JP 2012247172A JP 2012247172 A JP2012247172 A JP 2012247172A JP 5734941 B2 JP5734941 B2 JP 5734941B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- core
- threads
- cores
- priority
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 37
- 230000005012 migration Effects 0.000 claims description 60
- 238000013508 migration Methods 0.000 claims description 60
- 230000008569 process Effects 0.000 description 28
- 238000012545 processing Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 9
- 238000012217 deletion Methods 0.000 description 9
- 230000037430 deletion Effects 0.000 description 9
- 238000005259 measurement Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
請求項1に記載のマルチコアプロセッサの制御プログラムは、複数のコアを備えたマルチコアプロセッサの制御プログラムであって、生成されるスレッドの動作コアを決定するグローバルスケジューラと、前記複数のコアごとに設けられたローカルスケジューラと、を備え、前記ローカルスケジューラは、自コアに割り当てられたスレッドを優先度に応じてスケジューリングして自コアで実行させ、前記グローバルスケジューラは、実行可能状態のスレッドの優先度を基に計算したワークロードに基づいて前記複数のコア間でのスレッドマイグレーションの実行を決定するものであって、各コアに割り当てられたスレッドのうち高優先度の上位N個(Nは1以上の予め定められた自然数)のスレッドについてはスレッドマイグレーションの対象としないことを特徴とする。
請求項2に記載の発明は、上記した請求項1記載の発明の特徴点に加え、以下の点を特徴とする。
請求項3に記載の発明は、上記した請求項1又は2記載の発明の特徴点に加え、以下の点を特徴とする。
請求項4に記載の発明は、請求項1〜3のいずれかに記載のマルチコアプロセッサの制御プログラムを搭載した電子機器である。
請求項5に記載のマルチコアプロセッサの制御方法は、複数のコアを備えたマルチコアプロセッサ上で作動し、前記複数のコアごとに設けられたローカルスケジューラでスレッドのスケジューリングを行うマルチコアプロセッサの制御方法であって、生成されるスレッドの動作コアを決定するステップと、前記ローカルスケジューラが自コアに割り当てられたスレッドについて優先度に応じてスケジューリングして自コアで実行させるステップと、実行可能状態のスレッドの優先度を基に計算したワークロードに基づいて前記複数のコア間でスレッドマイグレーションを実行するステップと、を備え、各コアに割り当てられたスレッドのうち高優先度の上位N個(Nは1以上の予め定められた自然数)のスレッドについてはスレッドマイグレーションが実行されないことを特徴とする。
請求項6に記載の発明は、上記した請求項5記載の発明の特徴点に加え、以下の点を特徴とする。
請求項7に記載の発明は、上記した請求項5又は6記載の発明の特徴点に加え、以下の点を特徴とする。
本実施形態に係るシステムは、電子機器に組み込まれて使用される組み込みシステムであり、マルチコアプロセッサ(メニーコアプロセッサ)を備えている。このマルチコアプロセッサは、図1(a)に示すように、複数のコア10(図1(a)においては64個のコア10)を備えている。電子機器に内蔵される不揮発メモリには、このマルチコアプロセッサを制御するための制御プログラム(オペレーティング・システム)が記憶されており、この制御プログラムがマルチコアプロセッサ上で実行されることで各種アプリケーション25が実行されるように形成されている。
グローバルスケジューラ21は、所定のスケジューリングポリシーに基づいてスレッドの動作コア10を決定・変更する。グローバルスケジューラ21のスケジューリングポリシーの基本的考え方の1つは、各コア10に割り当てられたスレッド群を「優先度上位スレッドグループ」と「優先度下位スレッドグループ」とに分割するというものである。「優先度上位スレッドグループ」は、各コア10に割り当てられたスレッドのうち高優先度の上位N個のスレッドである。「優先度下位スレッドグループ」は「優先度上位スレッドグループ」に含まれない低優先度のスレッドである(図2参照。なお、この図2においてはコア10の数を4つとして簡略化して説明しているが、これは説明の便宜上であり、実際には図1に示すような多数のコア10が組み込まれている)。
」に属する限りはスレッドマイグレーションされないため、割り当てられたコア10において優先的に実行される。このため、リアルタイム性が要求される高優先度のスレッドの実行時間を保証することができるので、リアルタイム性を確保することができるようになっている。
次に、生成されるスレッドの動作コア10がどのように決定されるかについて説明する。
図5はスレッド削除処理のフロー図である。この図5を参照しつつ、スレッドの削除処理について説明する。
本実施形態に係るグローバルスケジューラ21は、スレッドマイグレーションを実行するにあたり、コア10間でのスレッドのロードバランスを定期的に検査し、この検査結果を基にマイグレーション対象のスレッド及びコア10を決定する。
以上説明したように、本実施形態によれば、グローバルスケジューラ21とローカルスケジューラ31とによる2段階のスケジュールによりスレッドが実行される。グローバルスケジューラ21は、生成したスレッドの動作コア10を決定するとともに、所定のスケジューリングポリシーに基づいてスレッドマイグレーションの実行を決定する。このため、各コア10にほぼ均等にスレッドを割り当てることができ、ハードウェアリソースを有効に活用してスループットを向上することができる。
「1」)に設定することで、リアルタイム性を確保しつつスループットを最大とすることができる。
11 OSサーバ実行コア
12 アプリケーション実行コア
20 OSサーバ
21 グローバルスケジューラ
25 アプリケーション
30 マイクロカーネル
31 ローカルスケジューラ
32 メッセージマネージャ
33 メモリマネージャ
34 インタラプトマネージャ
41 インターフェースライブラリ
42 アプリケーションスレッド
Claims (7)
- 複数のコアを備えたマルチコアプロセッサの制御プログラムであって、
生成されるスレッドの動作コアを決定するグローバルスケジューラと、
前記複数のコアごとに設けられたローカルスケジューラと、
を備え、
前記ローカルスケジューラは、自コアに割り当てられたスレッドを優先度に応じてスケジューリングして自コアで実行させ、
前記グローバルスケジューラは、実行可能状態のスレッドの優先度を基に計算したワークロードに基づいて前記複数のコア間でのスレッドマイグレーションの実行を決定するものであって、各コアに割り当てられたスレッドのうち高優先度の上位N個(Nは1以上の予め定められた自然数)のスレッドについてはスレッドマイグレーションの対象としないことを特徴とする、マルチコアプロセッサの制御プログラム。 - 前記グローバルスケジューラは、生成されたすべてのスレッドのうち高優先度の上位M個(Mはスレッドを割り当て可能なコアの数)のスレッドについて、各スレッドの動作コアが互いに異なるようにマップすることを特徴とする、請求項1記載のマルチコアプロセッサの制御プログラム。
- 前記グローバルスケジューラは、前記複数のコア間でのスレッドのロードバランスを定期的に検査した結果を基にマイグレーション対象のスレッド及びコアを決定することを特徴とする、請求項1又は2記載のマルチコアプロセッサの制御プログラム。
- 請求項1〜3のいずれかに記載のマルチコアプロセッサの制御プログラムを搭載した電子機器。
- 複数のコアを備えたマルチコアプロセッサ上で作動し、前記複数のコアごとに設けられたローカルスケジューラでスレッドのスケジューリングを行うマルチコアプロセッサの制御方法であって、
生成されるスレッドの動作コアを決定するステップと、
前記ローカルスケジューラが自コアに割り当てられたスレッドについて優先度に応じてスケジューリングして自コアで実行させるステップと、
実行可能状態のスレッドの優先度を基に計算したワークロードに基づいて前記複数のコア間でスレッドマイグレーションを実行するステップと、
を備え、
各コアに割り当てられたスレッドのうち高優先度の上位N個(Nは1以上の予め定められた自然数)のスレッドについてはスレッドマイグレーションが実行されないことを特徴とする、マルチコアプロセッサの制御方法。 - 生成されたすべてのスレッドのうち高優先度の上位M個(Mはスレッドを割り当て可能なコアの数)のスレッドについて、各スレッドの動作コアが互いに異なるようにマップすることを特徴とする、請求項5記載のマルチコアプロセッサの制御方法。
- 前記複数のコア間でのスレッドのロードバランスを定期的に検査した結果を基にマイグレーション対象のスレッド及びコアを決定することを特徴とする、請求項5又は6記載のマルチコアプロセッサの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012247172A JP5734941B2 (ja) | 2012-11-09 | 2012-11-09 | マルチコアプロセッサの制御プログラム、電子機器及び制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012247172A JP5734941B2 (ja) | 2012-11-09 | 2012-11-09 | マルチコアプロセッサの制御プログラム、電子機器及び制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015083078A Division JP5945617B2 (ja) | 2015-04-15 | 2015-04-15 | マルチコアプロセッサの制御プログラム、電子機器及び制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014096024A JP2014096024A (ja) | 2014-05-22 |
JP5734941B2 true JP5734941B2 (ja) | 2015-06-17 |
Family
ID=50939049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012247172A Active JP5734941B2 (ja) | 2012-11-09 | 2012-11-09 | マルチコアプロセッサの制御プログラム、電子機器及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5734941B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6128104B2 (ja) | 2014-11-28 | 2017-05-17 | コニカミノルタ株式会社 | 画像処理装置、その制御方法、およびプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0883257A (ja) * | 1994-09-13 | 1996-03-26 | Hitachi Ltd | 並列コンピュータシステムのプロセス実行最適化方法 |
JPH11265297A (ja) * | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 分散シミュレータシステム |
JP3914230B2 (ja) * | 2004-11-04 | 2007-05-16 | 株式会社東芝 | プロセッサシステム及びその制御方法 |
JP5448787B2 (ja) * | 2009-12-21 | 2014-03-19 | 三菱重工業株式会社 | 計算機管理装置、計算機管理方法及び計算機管理プログラム |
-
2012
- 2012-11-09 JP JP2012247172A patent/JP5734941B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014096024A (ja) | 2014-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Marathe et al. | A run-time system for power-constrained HPC applications | |
US9086925B2 (en) | Methods of processing core selection for applications on manycore processors | |
Zhuravlev et al. | Survey of scheduling techniques for addressing shared resources in multicore processors | |
US9268394B2 (en) | Virtualized application power budgeting | |
US9170843B2 (en) | Data handling apparatus adapted for scheduling operations according to resource allocation based on entitlement | |
US9465657B2 (en) | Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority | |
Sridharan et al. | Holistic run-time parallelism management for time and energy efficiency | |
JP4705051B2 (ja) | 計算機システム | |
US20130081043A1 (en) | Resource allocation using entitlement hints | |
Stavrinides et al. | Energy-aware scheduling of real-time workflow applications in clouds utilizing DVFS and approximate computations | |
Ye et al. | Maracas: A real-time multicore vcpu scheduling framework | |
Cho et al. | Maximizing system utilization via parallelism management for co-located parallel applications | |
Hartmann et al. | Gpuart-an application-based limited preemptive gpu real-time scheduler for embedded systems | |
Cheng et al. | Performance-monitoring-based traffic-aware virtual machine deployment on numa systems | |
JP5945617B2 (ja) | マルチコアプロセッサの制御プログラム、電子機器及び制御方法 | |
Goswami et al. | GPUShare: Fair-sharing middleware for GPU clouds | |
Chiang et al. | Kernel mechanisms with dynamic task-aware scheduling to reduce resource contention in NUMA multi-core systems | |
Padoin et al. | Managing power demand and load imbalance to save energy on systems with heterogeneous CPU speeds | |
JPWO2015015756A1 (ja) | 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム | |
Burgio et al. | Adaptive TDMA bus allocation and elastic scheduling: A unified approach for enhancing robustness in multi-core RT systems | |
Wang et al. | Minimizing stack memory for hard real-time applications on multicore platforms with partitioned fixed-priority or EDF scheduling | |
JP5734941B2 (ja) | マルチコアプロセッサの制御プログラム、電子機器及び制御方法 | |
JP6158751B2 (ja) | 計算機資源割当装置及び計算機資源割当プログラム | |
Georgopoulos et al. | Energy-efficient heterogeneous computing at exaSCALE—ECOSCALE | |
Cho et al. | Adaptive space-shared scheduling for shared-memory parallel programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140924 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141029 |
|
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: 20150407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150415 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5734941 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |