JP5453825B2 - プログラム並列実行システム、マルチコアプロセッサ上のプログラム並列実行方法 - Google Patents
プログラム並列実行システム、マルチコアプロセッサ上のプログラム並列実行方法 Download PDFInfo
- Publication number
- JP5453825B2 JP5453825B2 JP2009025044A JP2009025044A JP5453825B2 JP 5453825 B2 JP5453825 B2 JP 5453825B2 JP 2009025044 A JP2009025044 A JP 2009025044A JP 2009025044 A JP2009025044 A JP 2009025044A JP 5453825 B2 JP5453825 B2 JP 5453825B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- group
- processor cores
- program
- context
- 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
Images
Landscapes
- Multi Processors (AREA)
Description
本発明の目的は、汎用CPUベースのマルチコアプロセッサ上でオーバヘッドが少なく、かつ実行時間予測のつきやすい並列実行環境を実現できるプログラム並列実行システム、マルチコアプロセッサ上のプログラム並列実行方法を提供することにある。
図1は、本発明の第1の実施の形態によるプログラム並列実行システムの構成を示すブロック図である。第1の実施の形態によるプログラム並列実行システムは、共有メモリ型のマルチコアプロセッサ上にアプリケーション用OSと軽量スケジューラとを搭載する構成である。
次に、図5および図6のフロー図を参照して本実施の形態の全体動作について詳細に説明する。
(B) AP OS IDフィールド162=APタスクが動作しているOSの種類を識別する値。
(C) APタスクIDフィールド163=APタスク(0)210のAP OS内でのタスクID。
(D) ステータスフィールド164=初期状態。
(E) メモリ領域情報フィールド168=OLタスク(0)310をロードしたメモリ領域および作業メモリ領域の情報。
特に、プログラムカウンタについてはOLタスク(0)310のエントリ番地とし、もし必要ならスタックポインタやデータポインタとして確保したOLタスク用作業メモリ領域内の適切なアドレス値を与える。
(B) タイムスライスフィールド166=OLタスク(0)310の連続実行時間をタイマ111の動作周期(動作周波数の逆数)で割った値。
この連続実行時間を越えてOLタスクが実行を続けると、時分割多重化制御部112によって一旦処理を中断されることになる。OL処理用CPUコア上で複数のOLタスクが同時に動作する場面では、より優先的に処理したいOLタスクにより長めの連続実行時間を与えることで、それらのOLタスク間に優先度をつけることができる。
(C) セマフォフィールド167=初期値ゼロ。
次に、上述した第1の実施の形態による効果について説明する。
次に、本発明の第2の実施の形態によるプログラム並列実行システムについて図面を参照して詳細に説明する。
図10を参照してCPUコア割り当ての動的変更処理について説明する。
次に、上述した第2の実施の形態による効果について説明する。
20:AP OS
21:APタスク群
22:OLリモート制御部
31:OLタスク群
32:LS(軽量スケジューラ)
40、41、42:CPUコア
45:コア間割込機構
46:SoCバス
47:メモリ制御部
50:メモリ
110:時分割多重化部
111:タイマ
112:時分割多重化制御部
120:対AP通信部
121:LS側受信部
122:LS側送信部
123:パラメータ領域
131:コンテキスト退避手段
132:コンテキスト復活手段
133:新コンテキスト選定手段
134:OLタスク制御手段
135:OLタスクサービス手段
140:OLタスクキュー
150:カレントOLタスク変数
160:OLタスク表
170:OLタスク表ロック変数
201:稼動コア制御部
230:APタスク向けインタフェース部
231:LS初期化手段
232:OLプログラムセットアップ手段
233:OLタスク開始手段
234:OLタスク終了待ち手段
235:OLタスク強制終了手段
236:OLタスク再初期化手段
237:OLプログラム破棄手段
238:動的コンフィギュレーション変更部
240:対LS通信部
241:AP側送信部
242:AP側受信部
Claims (16)
- 複数のプロセッサコアをバスによって相互結合したマルチコアプロセッサを備えるプログラム並列実行システムあって、
前記複数のプロセッサコアが、
第1のアプリケーションプログラムが動作するオペレーティングシステムと、第2のグループのプロセッサコアの軽量スケジューラと通信を行うOLリモート制御手段とを含む第1のグループのプロセッサコアと、
前記オペレーティングシステムを稼動させずに、前記OLリモート制御手段からの要求に基づき、第2のアプリケーションプログラムを動作させる軽量スケジューラを含む第2のグループのプロセッサコアとを含み、
前記OLリモート制御手段が、
前記第1のアプリケーションプログラムからの要求に基づき、前記軽量スケジューラに対し、前記第2のアプリケーションプログラムの開始又は終了を指示し、
前記軽量スケジューラが、
前記OLリモート制御手段からの指示に基づき、前記第2のグループのプロセッサコア上で、複数のタスクから構成される前記第2のアプリケーションプログラムを動作させる手段と、
実行中の前記タスクのコンテキストを退避させるコンテキスト退避手段と、
前記コンテキスト退避手段の処理の後に、次に実行すべき前記タスクを選定する新コンテキスト選定手段と、
前記新コンテキスト選定手段により選定された前記タスクの実行を開始するコンテキスト復活手段と、
任意のタイミングで、前記コンテキスト退避手段、前記新コンテキスト選定手段、前記コンテキスト復活手段を呼び出すことにより、複数の前記タスクを時分割で切り替えながら実行する時分割多重化制御手段とを含み、
前記時分割多重化制御手段は、
前記タスクの連続実行時間に基づき設定されるタイマのカウンタがゼロに到達すると、前記コンテキスト退避手段、前記新コンテキスト選定手段、前記コンテキスト復活手段を呼び出すことにより、前記タスクを切り替える
ことを特徴とするプログラム並列実行システム。 - 前記軽量スケジューラが、
前記第2のグループのプロセッサコア間の同期、排他制御や前記第2のグループのプロセッサコアに対するキャッシュ制御の少なくとも一の処理を行うOLタスクサービス手段を備える
ことを特徴とする請求項1に記載のプログラム並列実行システム。 - 前記軽量スケジューラが、
前記第1のアプリケーションプログラム側からの指示に基き、タスクの開始や終了の制御を行うタスク制御手段と、タスク内のスレッド間通信やキャッシュ制御、タスクの終了要求を処理するOLタスクサービス手段を含むことを特徴とする請求項1又は2に記載のプログラム並列実行システム。 - 前記OLリモート制御手段が、
前記第2のグループのプロセッサコア上で前記軽量スケジューラが動作できるように初期設定を行う初期化手段と、
稼働中の前記軽量スケジューラ上に新しく前記タスクをロードし実行可能な状態にセットアップするセットアップ手段と、
セットアップしたタスクを実行開始させるタスク開始手段と、
開始したタスクの終了を待ち合わせるタスク終了待ち手段と、
前記タスクを強制的に終了させるためのタスク強制終了手段と、
一旦終了した前記タスクを再ロードせずに初期状態に戻すタスク再初期化手段と、
ロードしたタスクを破棄してリソースを解放するプログラム破棄手段とを含む
ことを特徴とする請求項1から請求項3の何れかに記載のプログラム並列実行システム。 - 前記OLリモート制御手段が、
前記第1のグループのプロセッサコアの数と第2のグループのプロセッサコアの数のいずれか又は両方をシステム動作中に変化させる動的コンフィギュレーション変更手段を備える
ことを特徴とする請求項1から請求項4の何れかに記載のプログラム並列実行システム。 - 前記オペレーティングシステムが稼動するプロセッサコアを動的に追加又は削除する追加削除手段を備え、
前記OLリモート制御手段が、
前記第2のグループのプロセッサコアを初期化して前記軽量スケジューラを開始させ、又は終了させる軽量スケジューラ開始終了手段を含む
ことを特徴とする請求項1から請求項5の何れかに記載のプログラム並列実行システム。 - システム動作中に、
前記追加削除手段が、前記第1のグループのプロセッサコアを構成する一部のプロセッサコアを前記オペレーティングシステムから切り離し、
前記切り離されたプロセッサコアを第2のグループのプロセッサコアとし、
前記軽量スケジューラ開始終了手段が、前記第2のグループのプロセッサコア上に前記軽量スケジューラをロードして開始させる
ことを特徴とする請求項6に記載のプログラム並列実行システム。 - システム動作中に、
前記軽量スケジューラ開始終了手段が、前記第2のグループのプロセッサコアを停止させ、
前記追加削除手段が、停止させたプロセッサコアを前記第1のグループのプロセッサコアに追加する
ことを特徴とする請求項6又は請求項7に記載のプログラム並列実行システム。 - 複数のプロセッサコアをバスによって相互結合したマルチコアプロセッサを備えるプログラム並列実行システムであって、前記複数のプロセッサコアが、第1のアプリケーションプログラムが動作するオペレーティングシステムと、第2のグループのプロセッサコアの軽量スケジューラと通信を行うOLリモート制御手段とを含む第1のグループのプロセッサコアと、前記オペレーティングシステムを稼動させずに、前記OLリモート制御手段からの要求に基づき、第2のアプリケーションプログラムを動作させる軽量スケジューラを含む第2のグループのプロセッサコアとを含むプログラム並列実行システムによるプログラム並列実行方法であって、
前記OLリモート制御手段が、前記第1のアプリケーションプログラムからの要求に基づき、前記軽量スケジューラに対し、前記第2のアプリケーションプログラムの開始又は終了を指示するステップと、
前記軽量スケジューラが、前記OLリモート制御手段からの指示に基づき、前記第2のグループのプロセッサコア上で、複数のタスクから構成される前記第2のアプリケーションプログラムを動作させるステップと、
前記軽量スケジューラが備えるコンテキスト退避手段が、実行中の前記タスクのコンテキストを退避させるコンテキスト退避ステップと、
前記軽量スケジューラが備える新コンテキスト選定手段が、前記コンテキスト退避手段の処理の後に、次に実行すべき前記タスクを選定する新コンテキスト選定ステップと、
前記軽量スケジューラが備えるコンテキスト復活手段が、前記新コンテキスト選定手段により選定された前記タスクの実行を開始するコンテキスト復活ステップと、
前記軽量スケジューラが備える時分割多重化制御手段が、任意のタイミングで、前記コンテキスト退避手段、前記新コンテキスト選定手段、前記コンテキスト復活手段を呼び出すことにより、複数の前記タスクを時分割で切り替えながら実行する時分割多重化制御ステップとを有し、
前記時分割多重化制御ステップで、
前記タスクの連続実行時間に基づき設定されるタイマのカウンタがゼロに到達すると、前記コンテキスト退避手段、前記新コンテキスト選定手段、前記コンテキスト復活手段を呼び出すことにより、前記タスクを切り替える
ことを特徴とするプログラム並列実行方法。 - 前記軽量スケジューラが備えるOLタスクサービス手段が、前記第2のグループのプロセッサコア間の同期、排他制御や前記第2のグループのプロセッサコアに対するキャッシュ制御の少なくとも一の処理を行うOLタスクサービスステップを有する
ことを特徴とする請求項9に記載のプログラム並列実行方法。 - 前記軽量スケジューラが備えるタスク制御手段が、前記第1のアプリケーションプログラム側からの指示に基き、タスクの開始や終了の制御を行うタスク制御ステップと、
前記軽量スケジューラが備えるOLタスクサービス手段が、タスク内のスレッド間通信やキャッシュ制御、タスクの終了要求を処理するOLタスクサービスステップと
を有することを特徴とする請求項9又は10に記載のプログラム並列実行方法。 - 前記OLリモート制御手段が備える初期化手段が、前記第2のグループのプロセッサコア上で前記軽量スケジューラが動作できるように初期設定を行う初期化ステップと、
前記OLリモート制御手段が備えるセットアップ手段が、稼働中の前記軽量スケジューラ上に新しく前記タスクをロードし実行可能な状態にセットアップするセットアップステップと、
前記OLリモート制御手段が備えるタスク開始手段が、セットアップしたタスクを実行開始させるタスク開始ステップと、
前記OLリモート制御手段が備えるタスク終了待ち手段が、開始したタスクの終了を待ち合わせるタスク終了待ちステップと、
前記OLリモート制御手段が備えるタスク強制終了手段が、前記タスクを強制的に終了させるタスク強制終了ステップと、
前記OLリモート制御手段が備えるタスク再初期化手段が、一旦終了した前記タスクを再ロードせずに初期状態に戻すタスク再初期化ステップと、
前記OLリモート制御手段が備えるプログラム破棄手段が、ロードしたタスクを破棄してリソースを解放するプログラム破棄ステップと
を有することを特徴とする請求項9から請求項11の何れかに記載のプログラム並列実行方法。 - 前記OLリモート制御手段が備える動的コンフィギュレーション変更手段が、前記第1のグループのプロセッサコアの数と第2のグループのプロセッサコアの数のいずれか又は両方をシステム動作中に変化させる動的コンフィギュレーション変更ステップを有する
ことを特徴とする請求項9から請求項12の何れかに記載のプログラム並列実行方法。 - 追加削除手段が、前記オペレーティングシステムが稼動するプロセッサコアを動的に追加又は削除する追加削除ステップと、
前記OLリモート制御手段が備える軽量スケジューラ開始手段が、前記第2のグループのプロセッサコアを初期化して前記軽量スケジューラを開始させ、又は終了させる軽量スケジューラ開始終了ステップと
を有する特徴とする請求項9から請求項13の何れかに記載のプログラム並列実行方法。 - システム動作中に、
前記追加削除ステップで、前記第1のグループのプロセッサコアを構成する一部のプロセッサコアを前記オペレーティングシステムから切り離し、
前記切り離されたプロセッサコアを第2のグループのプロセッサコアとし、
前記軽量スケジューラ開始終了ステップで、前記第2のグループのプロセッサコア上に前記軽量スケジューラをロードして開始させる
ことを特徴とする請求項14に記載のプログラム並列実行方法。 - システム動作中に、
前記軽量スケジューラ開始終了ステップで、前記第2のグループのプロセッサコアを停止させ、
前記追加削除ステップで、停止させたプロセッサコアを前記第1のグループのプロセッサコアに追加する
ことを特徴とする請求項14又は請求項15に記載のプログラム並列実行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009025044A JP5453825B2 (ja) | 2009-02-05 | 2009-02-05 | プログラム並列実行システム、マルチコアプロセッサ上のプログラム並列実行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009025044A JP5453825B2 (ja) | 2009-02-05 | 2009-02-05 | プログラム並列実行システム、マルチコアプロセッサ上のプログラム並列実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010182096A JP2010182096A (ja) | 2010-08-19 |
JP5453825B2 true JP5453825B2 (ja) | 2014-03-26 |
Family
ID=42763652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009025044A Active JP5453825B2 (ja) | 2009-02-05 | 2009-02-05 | プログラム並列実行システム、マルチコアプロセッサ上のプログラム並列実行方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5453825B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3276489A4 (en) * | 2015-03-23 | 2018-08-01 | Nec Corporation | Parallel processing system |
CN108431775A (zh) * | 2015-07-30 | 2018-08-21 | 高通股份有限公司 | 用于高效并行计算的简化的基于任务的运行时的方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2357455B1 (en) | 2010-01-20 | 2017-07-12 | Mitutoyo Corporation | Spherical-form measuring apparatus |
WO2011104812A1 (ja) * | 2010-02-23 | 2011-09-01 | 富士通株式会社 | マルチコアプロセッサシステム、割込プログラム、および割込方法 |
JP2016091076A (ja) * | 2014-10-30 | 2016-05-23 | 日本電気株式会社 | 情報処理装置 |
JP5867630B2 (ja) * | 2015-01-05 | 2016-02-24 | 富士通株式会社 | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム |
DE102018212686A1 (de) * | 2018-07-30 | 2020-01-30 | Siemens Aktiengesellschaft | Verfahren zum Betreiben einer Rechenanlage |
JP7322797B2 (ja) * | 2020-04-28 | 2023-08-08 | 株式会社デンソー | リアルタイム演算処理装置 |
CN114090097A (zh) * | 2020-06-30 | 2022-02-25 | 中国航发商用航空发动机有限责任公司 | 发动机控制系统和控制软件启动方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2728601B2 (ja) * | 1992-08-06 | 1998-03-18 | 富士通株式会社 | 並列処理の性能評価装置 |
JP2001034582A (ja) * | 1999-05-17 | 2001-02-09 | Matsushita Electric Ind Co Ltd | コマンドパケットによってプロセッサを選択する並列処理装置及びそのシステム |
JP2001209627A (ja) * | 2000-01-27 | 2001-08-03 | Hitachi Ltd | 情報処理システム |
JP2002007150A (ja) * | 2000-06-19 | 2002-01-11 | Hitachi Ltd | プロセスのスケジューリング方法および装置およびプロセスのスケジューリングプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP3969308B2 (ja) * | 2002-03-20 | 2007-09-05 | 日本電気株式会社 | シングルプロセッサ向けosによる並列処理システム |
JP4374221B2 (ja) * | 2003-08-29 | 2009-12-02 | パナソニック株式会社 | コンピュータシステムおよび記録媒体 |
JP2007219816A (ja) * | 2006-02-16 | 2007-08-30 | Handotai Rikougaku Kenkyu Center:Kk | マルチプロセッサシステム |
-
2009
- 2009-02-05 JP JP2009025044A patent/JP5453825B2/ja active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3276489A4 (en) * | 2015-03-23 | 2018-08-01 | Nec Corporation | Parallel processing system |
US10162675B2 (en) | 2015-03-23 | 2018-12-25 | Nec Corporation | Parallel processing system |
CN108431775A (zh) * | 2015-07-30 | 2018-08-21 | 高通股份有限公司 | 用于高效并行计算的简化的基于任务的运行时的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2010182096A (ja) | 2010-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5453825B2 (ja) | プログラム並列実行システム、マルチコアプロセッサ上のプログラム並列実行方法 | |
JP6381734B2 (ja) | グラフィックス計算プロセススケジューリング | |
US8793695B2 (en) | Information processing device and information processing method | |
Cerrato et al. | Supporting fine-grained network functions through Intel DPDK | |
WO2017166777A1 (zh) | 一种任务调度方法及装置 | |
JP6228459B2 (ja) | システムコール要求の通信の最適化 | |
US20130061220A1 (en) | Method for on-demand inter-cloud load provisioning for transient bursts of computing needs | |
JP6086868B2 (ja) | ユーザモードからのグラフィックス処理ディスパッチ | |
JP2013546097A (ja) | グラフィックス処理計算リソースのアクセシビリティ | |
JP2014504416A (ja) | 組み合わせたcpu/gpuアーキテクチャシステムにおけるデバイスの発見およびトポロジーのレポーティング | |
EP2176773A2 (en) | Data packet processing method for a multi core processor | |
JP2007079789A (ja) | 計算機システム及びイベント処理方法 | |
CN102323917B (zh) | 一种基于共享内存实现多进程共享gpu的方法 | |
CN103064657A (zh) | 单个处理器上实现多应用并行处理的方法及装置 | |
WO2013185571A1 (zh) | 多线程虚拟流水线处理器的线程控制和调用方法及其处理器 | |
EP2128759A1 (en) | Starting-up control method for operating system and information processing device | |
CN103744716A (zh) | 一种基于当前vcpu调度状态的动态中断均衡映射方法 | |
CN104102548A (zh) | 任务资源调度处理方法和系统 | |
CN112491426B (zh) | 面向多核dsp的服务组件通信架构及任务调度、数据交互方法 | |
US20140075449A1 (en) | Method and Apparatus for Synchronous Processing Based on Multi-Core System | |
WO2012052775A1 (en) | Data processing systems | |
CN109542832B (zh) | 一种无锁机制的异构多核cpu间通信系统及方法 | |
JP2014503898A (ja) | 処理装置の同期動作のための方法およびシステム | |
JP5805783B2 (ja) | コンピュータシステムインタラプト処理 | |
CN107426728B (zh) | 高性能接入认证处理方法、系统、控制器设备、组网装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130423 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131002 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20131008 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131120 |
|
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: 20131210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5453825 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |