JP2010244332A - マルチコアシステムのためのタスク割り当て手段、その方法及びそのプログラム - Google Patents
マルチコアシステムのためのタスク割り当て手段、その方法及びそのプログラム Download PDFInfo
- Publication number
- JP2010244332A JP2010244332A JP2009092917A JP2009092917A JP2010244332A JP 2010244332 A JP2010244332 A JP 2010244332A JP 2009092917 A JP2009092917 A JP 2009092917A JP 2009092917 A JP2009092917 A JP 2009092917A JP 2010244332 A JP2010244332 A JP 2010244332A
- Authority
- JP
- Japan
- Prior art keywords
- task
- tag
- core
- relationship
- executed
- 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
- 238000000034 method Methods 0.000 title claims description 148
- 230000008569 process Effects 0.000 claims description 50
- 230000005540 biological transmission Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 3
- 230000008054 signal transmission Effects 0.000 claims 3
- 230000000694 effects Effects 0.000 description 20
- 230000006872 improvement Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 101100368725 Bacillus subtilis (strain 168) tagF gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【解決手段】タスクにタグを設定するタグ設定部11と、各コアで実行中のタスクのタグを管理する実行中タグ管理部14と、タスクの同時実行を許可するか禁止するかを、タグ同士のタグ間の関係性から判定するタグ関係性判定部15と、実行中タグ管理部14とタグ関係性判定部15とを制御して、各コアに割り当てるタスクを決定する割り当てタスク決定部13と、を備え、割り当てタスク決定部13は、各コアのうち一のコアに割り当てるタスクを決定する際に、実行中タグ管理部14を呼び出して、一のコア以外の他のコアで実行中のタスクのタグを参照させ、タグ関係性判定部15を呼び出し、一のコアへ割り当てる予定のタスクに設定されたタグと他のコアで実行中のタグとのタグ間の関係性に基づいて、割り当てる予定のタスクが前記一のコアで実行可能かを判定させる。
【選択図】図7
Description
(1)タスクに付けられたタグ1と
(2)タグ同士の同時実行禁止するか許可するかのタグ関係2と
(3)タグと関係を用いてコアへタスクを割り当てるタスクスケジューラ3と
を用いてコアにタスクを割り当てるというものである。
図7に本発明の第1の実施の形態の構成を示す。本実施の形態は、タグ設定部11と、タグ表12と、割り当てタスク決定部13と、実行中タグ管理部14と、タグ関係性判定部15とを備える。
(1)タグ設定部11が、タスク識別子とタグを指定して呼び出される
(2)タグ設定部11は、タグ表12の指定されたタスク識別子に対応するタスクのタグとして、指定されたタグを記録する。上記の(1)、(2)の手順で、タグ設定部11は、タスク識別子を媒介として、タスクにタグを設定する。
次に本発明の第2の実施の形態について説明する。図8に本実施の形態の構成を示す。本実施の形態は、第1の実施の形態と同様に、タグ設定部21と、タグ表22と、割り当てタスク決定部23と、実行中タグ管理部24と、タグ関係性判定部25とを備える。
次に本発明の第3の実施の形態について説明する。図9に本実施の形態の構成を示す。本実施の形態は、第1の実施の形態と同様に、タグ設定部31と、タグ表32と、割り当てタスク決定部33と、実行中タグ管理部34と、タグ関係性判定部35とを備える。
(1)タグ関係設定部37は、タグ間の関係性(同時実行を許可するか禁止するか)を指定して呼び出される。
次に、具体的な実施例を用いて本発明の第1の実施の形態の動作を説明する。第1の実施例は、本発明の第1の実施の形態に対応する実施例である。ここで、図10に本実施例の構成を示す。
次に本発明の第2の実施例について説明する。本実施例は本発明の第1の実施の形態に対応する実施例であり、図10に示した第1の実施例の構成において、タグ関係性判定部1015は、前述のタグ間の関係性において同じタグに対しては同時実行を禁止し、異なるタグに対しては同時実行を許可するという判定を行い、タスク生成部1018は、生成したタスクに対してそれぞれ固有のタグを設定する場合の実施例である。
次に本発明の第3の実施例について説明する。本実施例の構成を図14に示す。本実施例は、第1の実施例に対して、タスク生成部1018がタグ設定部1011を呼び出さない構成となっていることが特徴である。このため、本実施例ではタスクが生成されると、タグが設定されていないことを意味するあらかじめ決められた共通のタグが設定される。以下の説明ではこのタグを共通タグと呼ぶことにする。
・共通タグ同士は同時実行を禁止
・異なるタグは同時実行を禁止
・同じタグは同時実行を許可
本実施例のその他の構成要素の機能と動作については、第1の実施例と同様である。
・共通タグ同士は同時実行を許可
・異なるタグは同時実行を許可
・同じタグは同時実行を禁止
とすることによって、第2の実施例と同様に、多くのタスクは同時に実行しても問題がなく、いくつかのタスクについては同時に実行すると問題があると分かっている場合に、同時に実行すると問題があるタスクが共通タグとは異なる同じタグを持つようにタグ設定表1017に記録することによって、マルチコア上で問題なく実行することができる。
次に、本発明の第4の実施例について説明する。図15に本実施例の構成を示す。本実施例は、管理タスク1016がタグ設定表1017を参照して、タスク生成部1018が生成したタスクに設定するタグを指定してタスク生成部1018を呼び出すことを特徴とする。
次に、本発明の第5の実施例について説明する。図16に本実施例の構成を示す。本実施例は、タスクの動作を記述したプログラムが記録されたファイルにタグを記録しておき、タスク生成部1018がこのタスクの動作とタグとを記述したプログラムファイル1601からタスクを生成する時に、プログラムファイル1601からタグを読み出し、タグ設定部1011を呼び出してタグを設定するという動作をすることを特徴とする。
次に、本発明の第6の実施例について説明する。図17に本実施例の構成を示す。本実施例は、タスク1701が自らシステムコールを発行してタグ設定部1011を呼び出し、タグを設定することを特徴とする。
次に、本発明の第7の実施例について説明する。図18に本実施例の構成を示す。本実施例は、本発明の第2の実施の形態に対応する実施例で、OSが第2の実施の形態の構成要素であるタグ設定部1821、タグ表1822、割り当てタスク決定部1823、実行中タグ管理部1824、タグ関係性判定部1825、タスク優先度表1826及び割り込み送信部1827を備えている。これらに加えて、第1の実施例に対応するユーザーレベルの管理タスク1016、タグ設定表1017及びOSのタスク生成部1018を有する。
・同じタグに対しては同時実行を許可
・異なるタグに対しては同時実行を禁止
各構成要素については、第2の実施の形態の説明と第1の実施例の説明から明らかであるため、ここではタスクをコアに割り当てる例を用いて、動作と効果を説明する。
次に、本発明の第8の実施例について説明する。図24に本実施例の構成を示す。本実施例は、本発明の第3の実施の形態に対応する実施例であり、タグ設定部2431、タグ表2432、割り当てタスク決定部2433、実行中タグ管理部2434、タグ関係性判定部2435、タグ関係表2436及びタグ関係設定部2437を備えている。又、本実施例では、ユーザーレベルの管理タスク2416、タグ設定表2417及びタグ関係設定表2438を備える。
・タスク0とタスク1は問題ない
・タスク0とタスク2は確認できていない
・タスク0とタスク3は確認できていない
・タスク1とタスク2は問題ない
・タスク1とタスク3は確認できていない
・タスク2とタスク3は確認できていない
となっているとする。
・異なるタグは同時実行禁止
・同じタグは同時実行許可
というタグ関係を用いる場合について説明する。
・同じタグを含むタスクは同時実行許可
・同じタグを含まないタグは同時実行禁止
と判定することによって、タスク0とタスク1は同時実行許可し、タスク1とタスク2は同時実行許可、タスク0とタスク2は同時実行禁止と設定することができる。
次に、本発明の第9の実施例について説明する。本実施例は、本発明によるタスク割り当て手段とセマフォアを合わせて利用した場合の実施例である。本実施例では、三つのタスクを二つのコアに割り当てる場合の例について説明する。
2 タグ関係
3 タスクスケジューラ
11 タグ設定部
12 タグ表
13 割り当てタスク決定部
14 実行中タグ管理部
15 タグ関係性判定部
21 タグ設定部
22 タグ表
23 割り当てタスク決定部
24 実行中タグ管理部
25 タグ関係性判定部
26 タスク優先度表
27 割り込み送信部
31 タグ設定部
32 タグ表
33 割り当てタスク決定部
34 実行中タグ管理部
35 タグ関係性判定部
36 タグ関係表
37 タグ関係設定部
1011 タグ設定部
1012 タグ表
1013 割り当てタスク決定部
1014 実行中タグ管理部
1015 タグ関係性判定部
1016 管理タスク
1017 タグ設定表
1018 タスク生成部
1601 プログラムファイル
1701 タスク
1821 タグ設定部
1822 タグ表
1823 割り当てタスク決定部
1824 実行中タグ管理部
1825 タグ関係性判定部
1826 タスク優先度表
1827 割り込み送信部
2416 管理タスク
2417 タグ設定表
2418 タスク生成部
2431 タグ設定部
2432 タグ表
2433 割り当てタスク決定部
2434 実行中タグ管理部
2435 タグ関係性判定部
2436 タグ関係表
2437 タグ関係設定部
2438 タグ関係設定表
Claims (45)
- マルチコアプロセッサを用いたマルチタスクシステムにおける各コアへのタスクの割り当てを決定するタスク割り当て手段において、
一のコアへの割り当て予定のタスクに付けられたタグと、他のコアで実行中のタスクのタグとでの、これらのタスクの同時実行を禁止するか許可するかのタグ間の関係性に基づいて、前記一のコアに割り当てるタスクを決定する割り当てタスク決定部を備えることを特徴とするとタスク割り当て手段。 - マルチコアプロセッサを用いたマルチタスクシステムにおける各コアへのタスクの割り当てを決定するタスク割り当て手段において、
前記タスクにタグを設定するタグ設定部と、
前記タスクに設定されたタグを記録したタグ表と、
前記各コアで実行中のタスクのタグを管理する実行中タグ管理部と、
前記各コアでタスクの同時実行を許可するか禁止するかを、これらのタスクに付されたタグ同士のタグ間の関係性から判定するタグ関係性判定部と、
前記実行中タグ管理部と前記タグ関係性判定部とを制御して、前記各コアに割り当てるタスクを決定する割り当てタスク決定部と、
を備え、
前記割り当てタスク決定部は、前記各コアのうち一のコアに割り当てるタスクを決定する際に、前記実行中タグ管理部を呼び出して、前記各コアで実行中のタスクのタグの更新をロックさせるとともに前記一のコア以外の他のコアで実行中のタスクのタグを参照させ、
かつ、前記タグ関係性判定部を呼び出し、前記一のコアへ割り当てる予定のタスクに設定されたタグと前記他のコアで実行中のタグとのタグ間の関係性に基づいて、前記割り当てる予定のタスクが前記一のコアで実行可能かを判定させることを特徴とするタスク割り当て手段。 - タスク毎の優先度を記録したタスク優先度表と、
タスクを実行中のコアに対して該実行中のタスクを中断させる割り込み信号を送る割り込み信号送信部と、
を更に備え、
前記割り当てタスク決定部は、前記一のコアへ割り当てる予定のタスクの中から、前記タスク優先度表を参照して最も優先度の高いタスクを抽出し、該抽出したタスクを候補タスクとし、該候補タスクが前記一のコアで実行が禁止されている場合は、前記他のコアで実行中のタスクの中で最も優先度の高いタスクの優先度を前記タスク優先度表を参照して調べ、該調べた優先度が前記候補タスクの優先度より低い場合は、前記割り込み送信部を呼び出して、前記他のコアで実行中のタスクの中で最も優先度の高いタスクを実行中のコアに対して該実行中のタスクを中断させる割り込み信号を送り、前記一のコアに前記候補タスクを割り当てることを特徴とする請求項2に記載のタスク割り当て手段。 - タスクの同時実行を許可するか禁止するかの関係を、該タスクに設定されたタグに基づいて記述したタグ関係として記録するタグ関係表と、
前記タグ関係表に前記タグ関係を登録し、前記タグ関係表を更新するタグ関係設定部と、
を更に備え、
前記タグ関係性判定部は、前記タグ関係表を用いて、前記タスクが実行可能であるか否かを判定し、該判定結果を前記割り当てタスク決定部に通知することを特徴とする請求項2に記載のタスク割り当て手段。 - タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けて記録するタグ設定表と、
タスクを生成するタスク生成部と、
前記タグ設定表を参照して、前記生成されたタスクに、前記タグ設定表に記録されたタグを設定するようにする管理タスクと、
を更に備えることを特徴とする請求項2又は3に記載のタスク割り当て手段。 - タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けて記録するタグ設定表と、
タスクを生成するタスク生成部と、
前記タグ設定表を参照して、前記生成されたタスクに設定するタグを指定して前記タスク生成部を呼び出す管理タスクと、
を更に備え、
前記タスク生成部は、前記生成されたタスクに該タグを設定することを特徴とする請求項2に記載のタスク割り当て手段。 - タスクの動作とタグとを記述したプログラムファイルからタスクを生成するタスク生成部を更に備え、
前記タスク生成部は、前記プログラムファイルから該タグを読み出し、前記タグ設定部を呼び出して該生成したタスクに該タグを設定することを特徴とする請求項2に記載のタスク割り当て手段。 - タスクが前記タグ設定部を呼び出してタグを設定することを特徴とする請求項2に記載のタスク割り当て手段。
- タスクの同時実行を許可するか禁止するかの関係を、該タスクに設定されたタグに基づいて記述したタグ関係として記録するタグ関係設定表と、
タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けて記録するタグ設定表と、
タスクを生成するタスク生成部と、
前記タグ設定表を参照して、前記生成されたタスクに、前記タグ設定表に記録されたタグを設定するようにする管理タスクと、
を更に備え
前記管理タスクは、前記タグ関係設定表に記録されている前記タグ関係を読み出し、前記タグ関係設定部を呼び出して該読み出したタグ関係を前記タグ関係表に設定させることを特徴とする請求項4に記載のタスク割り当て手段。 - 前記タグ間の関係性は、同じタグは同時実行を許可し、異なるタグは同時実行を禁止するものであることを特徴とする請求項1乃至9のいずれか1項に記載のタスク割り当て手段。
- 前記タグ間の関係性は、異なるタグは同時実行を許可し、同じタグは同時実行を禁止するものであることを特徴とする請求項1乃至9のいずれか1項に記載のタスク割り当て手段。
- タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けて記録するタグ設定表と、
タスクを生成するタスク生成部と、
前記タグ設定表を参照して、前記生成されたタスクに設定するタグを指定して前記タスク生成部を呼び出す管理タスクと、
を更に備え、
前記管理タスクは、前記タグ設定表に未記録のタスクには前記タグ設定部を呼び出して共通のタグを設定し、前記タグ関係性判定部は、共通タグ同士は同時実行を禁止し、異なるタグは同時実行を禁止し、同じタグは同時実行を許可する判定をすることを特徴とする請求項2に記載のタスク割り当て手段。 - 前記タグ関係性判定部は、共通タグ同士は同時実行を許可し、異なるタグは同時実行を許可し、同じタグは同時実行を禁止する判定をすることを特徴とする請求項12に記載のタスク割り当て手段。
- 前記タグ設定部は、タスクに複数のタグを設定し、前記タグ関係性判定部は、同じタグを含むタスクは同時実行許可し、同じタグを含まないタグは同時実行禁止と判定することを特徴とする請求項2乃至13のいずれか1項に記載のタスク割り当て手段。
- 排他的手段を更に備え、
前記排他制御手段は、同時実行を許可するようにタグが設定されたタスク同士であっても、該タスク同士の中に同時に実行されると問題のある部分が含まれる場合は、該問題のある部分の同時実行が行われないようにすることを特徴とする請求項1乃至14のいずれか1項に記載のタスク割り当て手段。 - マルチコアプロセッサを用いたマルチタスクシステムにおける各コアへのタスクの割り当てを決定するタスク割り当て方法において、
一のコアへの割り当て予定のタスクに付けられたタグと、他のコアで実行中のタスクのタグとでの、これらのタスクの同時実行を禁止するか許可するかのタグ間の関係性に基づいて、前記一のコアに割り当てるタスクを決定する割り当てタスク決定手順を備えることを特徴とするタスク割り当て方法。 - マルチコアプロセッサを用いたマルチタスクシステムにおける各コアへのタスクの割り当てを決定するタスク割り当て方法において、
前記タスクにタグを設定するタグ設定手順と、
前記タスクに設定されたタグを記録する手順と、
前記各コアで実行中のタスクのタグを管理する実行中タグ管理手順と、
前記各コアでタスクの同時実行を許可するか禁止するかを、これらのタスクに付されたタグ同士のタグ間の関係性から判定するタグ関係性判定手順と、
前記各コアに割り当てるタスクを決定する割り当てタスク決定手順と、
を備え、
前記割り当てタスク決定手順は、前記各コアのうち一のコアに割り当てるタスクを決定する際に、前記実行中タグ管理手順を呼び出して、前記各コアで実行中のタスクのタグの更新をロックさせるとともに前記一のコア以外の他のコアで実行中のタスクのタグを参照させ、
かつ、前記タグ関係性判定手順を呼び出し、前記一のコアへ割り当てる予定のタスクに設定されたタグと前記他のコアで実行中のタグとのタグ間の関係性に基づいて、前記割り当てる予定のタスクが前記一のコアで実行可能かを判定させることを特徴とするタスク割り当て方法。 - タスク毎の優先度をタスク優先度表に記録する手順と、
タスクを実行中のコアに対して該実行中のタスクを中断させる割り込み信号を送る割り込み信号送信手順と、
を更に備え、
前記割り当てタスク決定手順は、前記一のコアへ割り当てる予定のタスクの中から、前記タスク優先度表を参照して最も優先度の高いタスクを抽出し、該抽出したタスクを候補タスクとし、該候補タスクが前記一のコアで実行が禁止されている場合は、前記他のコアで実行中のタスクの中で最も優先度の高いタスクの優先度を前記タスク優先度表を参照して調べ、該調べた優先度が前記候補タスクの優先度より低い場合は、前記割り込み送信手順を呼び出して、前記他のコアで実行中のタスクの中で最も優先度の高いタスクを実行中のコアに対して該実行中のタスクを中断させる割り込み信号を送り、前記一のコアに前記候補タスクを割り当てることを特徴とする請求項17に記載のタスク割り当て方法。 - タスクの同時実行を許可するか禁止するかの関係を、該タスクに設定されたタグに基づいて記述したタグ関係としてタグ関係表に記録する手順と、
前記タグ関係表に前記タグ関係を登録し、前記タグ関係表を更新するタグ関係設定手順と、
を更に備え、
前記タグ関係性判定手順は、前記タグ関係表を用いて、前記タスクが実行可能であるか否かを判定し、該判定結果を前記割り当てタスク決定手順に通知することを特徴とする請求項17に記載のタスク割り当て方法。 - タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けてタグ設定表に記録する手順と、
タスクを生成するタスク生成手順と、
前記タグ設定表を参照して、前記生成されたタスクに、前記タグ設定表に記録されたタグを設定するようにする管理タスク手順と、
を更に備えることを特徴とする請求項17又は18に記載のタスク割り当て方法。 - タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けてタグ設定表に記録する手順と、
タスクを生成するタスク生成手順と、
前記タグ設定表を参照して、前記生成されたタスクに設定するタグを指定して前記タスク生成手順を呼び出す管理タスク手順と、
を更に備え、
前記タスク生成手順は、前記生成されたタスクに該タグを設定することを特徴とする請求項17に記載のタスク割り当て方法。 - タスクの動作とタグとを記述したプログラムファイルからタスクを生成するタスク生成手順を更に備え、
前記タスク生成手順は、前記プログラムファイルから該タグを読み出し、前記タグ設定手順を呼び出して該生成したタスクに該タグを設定することを特徴とする請求項17に記載のタスク割り当て方法。 - タスクが前記タグ設定手順を呼び出してタグを設定することを特徴とする請求項17に記載のタスク割り当て方法。
- タスクの同時実行を許可するか禁止するかの関係を、該タスクに設定されたタグに基づいて記述したタグ関係としてタグ関係設定表に記録する手順と、
タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けてタグ設定表に記録する手順と、
タスクを生成するタスク生成手順と、
前記タグ設定表を参照して、前記生成されたタスクに、前記タグ設定表に記録されたタグを設定するようにする管理タスク手順と、
を更に備え
前記管理タスク手順は、前記タグ関係設定表に記録されている前記タグ関係を読み出し、前記タグ関係設定手順を呼び出して該読み出したタグ関係を前記タグ関係表に設定させることを特徴とする請求項19に記載のタスク割り当て方法。 - 前記タグ間の関係性は、同じタグは同時実行を許可し、異なるタグは同時実行を禁止するものであることを特徴とする請求項16乃至24のいずれか1項に記載のタスク割り当て方法。
- 前記タグ間の関係性は、異なるタグは同時実行を許可し、同じタグは同時実行を禁止するものであることを特徴とする請求項16乃至24のいずれか1項に記載のタスク割り当て方法。
- タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けてタグ設定表に記録する手順と、
タスクを生成するタスク生成手順と、
前記タグ設定表を参照して、前記生成されたタスクに設定するタグを指定して前記タスク生成手順を呼び出す管理タスク手順と、
を更に備え、
前記管理タスク手順は、前記タグ設定表に未記録のタスクには前記タグ設定手順を呼び出して共通のタグを設定し、前記タグ関係性判定手順は、共通タグ同士は同時実行を禁止し、異なるタグは同時実行を禁止し、同じタグは同時実行を許可する判定をすることを特徴とする請求項17に記載のタスク割り当て方法。 - 前記タグ関係性判定手順は、共通タグ同士は同時実行を許可し、異なるタグは同時実行を許可し、同じタグは同時実行を禁止する判定をすることを特徴とする請求項27に記載のタスク割り当て方法。
- 前記タグ設定手順は、タスクに複数のタグを設定し、前記タグ関係性判定手順は、同じタグを含むタスクは同時実行許可し、同じタグを含まないタグは同時実行禁止と判定することを特徴とする請求項16乃至28のいずれか1項に記載のタスク割り当て方法。
- 排他的手順を更に備え、
前記排他制御手順は、同時実行を許可するようにタグが設定されたタスク同士であっても、該タスク同士の中に同時に実行されると問題のある部分が含まれる場合は、該問題のある部分の同時実行が行われないようにすることを特徴とする請求項16乃至29のいずれか1項に記載のタスク割り当て方法。 - マルチコアプロセッサを用いたマルチタスクシステムにおける各コアへのタスクの割り当てを決定するタスク割り当てプログラムにおいて、
一のコアへの割り当て予定のタスクに付けられたタグと、他のコアで実行中のタスクのタグとでの、これらのタスクの同時実行を禁止するか許可するかのタグ間の関係性に基づいて、前記一のコアに割り当てるタスクを決定する割り当てタスク決定処理をコンピュータに実行させることを特徴とするタスク割り当てプログラム。 - マルチコアプロセッサを用いたマルチタスクシステムにおける各コアへのタスクの割り当てを決定するタスク割り当てプログラムにおいて、
前記タスクにタグを設定するタグ設定処理と、
前記タスクに設定されたタグを記録する処理と、
前記各コアで実行中のタスクのタグを管理する実行中タグ管理処理と、
前記各コアでタスクの同時実行を許可するか禁止するかを、これらのタスクに付されたタグ同士のタグ間の関係性から判定するタグ関係性判定処理と、
前記各コアに割り当てるタスクを決定する割り当てタスク決定処理と、
をコンピュータに実行させ、
前記割り当てタスク決定処理は、前記各コアのうち一のコアに割り当てるタスクを決定する際に、前記実行中タグ管理処理を呼び出して、前記各コアで実行中のタスクのタグの更新をロックさせるとともに前記一のコア以外の他のコアで実行中のタスクのタグを参照させ、
かつ、前記タグ関係性判定処理を呼び出し、前記一のコアへ割り当てる予定のタスクに設定されたタグと前記他のコアで実行中のタグとのタグ間の関係性に基づいて、前記割り当てる予定のタスクが前記一のコアで実行可能かを判定させることを特徴とするタスク割り当てプログラム。 - タスク毎の優先度をタスク優先度表に記録する処理と、
タスクを実行中のコアに対して該実行中のタスクを中断させる割り込み信号を送る割り込み信号送信処理と、
を更にコンピュータに実行させ、
前記割り当てタスク決定処理は、前記一のコアへ割り当てる予定のタスクの中から、前記タスク優先度表を参照して最も優先度の高いタスクを抽出し、該抽出したタスクを候補タスクとし、該候補タスクが前記一のコアで実行が禁止されている場合は、前記他のコアで実行中のタスクの中で最も優先度の高いタスクの優先度を前記タスク優先度表を参照して調べ、該調べた優先度が前記候補タスクの優先度より低い場合は、前記割り込み送信処理を呼び出して、前記他のコアで実行中のタスクの中で最も優先度の高いタスクを実行中のコアに対して該実行中のタスクを中断させる割り込み信号を送り、前記一のコアに前記候補タスクを割り当てることを特徴とする請求項32に記載のタスク割り当てプログラム。 - タスクの同時実行を許可するか禁止するかの関係を、該タスクに設定されたタグに基づいて記述したタグ関係としてタグ関係表に記録する処理と、
前記タグ関係表に前記タグ関係を登録し、前記タグ関係表を更新するタグ関係設定処理と、
を更にコンピュータに実行させ、
前記タグ関係性判定処理は、前記タグ関係表を用いて、前記タスクが実行可能であるか否かを判定し、該判定結果を前記割り当てタスク決定処理に通知することを特徴とする請求項32に記載のタスク割り当てプログラム。 - タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けてタグ設定表に記録する処理と、
タスクを生成するタスク生成処理と、
前記タグ設定表を参照して、前記生成されたタスクに、前記タグ設定表に記録されたタグを設定するようにする管理タスク処理と、
を更にコンピュータに実行させることを特徴とする請求項32又は33に記載のタスク割り当てプログラム。 - タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けてタグ設定表に記録する処理と、
タスクを生成するタスク生成処理と、
前記タグ設定表を参照して、前記生成されたタスクに設定するタグを指定して前記タスク生成処理を呼び出す管理タスク処理と、
を更にコンピュータに実行させ、
前記タスク生成処理は、前記生成されたタスクに該タグを設定することを特徴とする請求項32に記載のタスク割り当てプログラム。 - タスクの動作とタグとを記述したプログラムファイルからタスクを生成するタスク生成処理を更にコンピュータに実行させ、
前記タスク生成処理は、前記プログラムファイルから該タグを読み出し、前記タグ設定処理を呼び出して該生成したタスクに該タグを設定することを特徴とする請求項32に記載のタスク割り当てプログラム。 - タスクが前記タグ設定処理を呼び出してタグを設定することを特徴とする請求項32に記載のタスク割り当てプログラム。
- タスクの同時実行を許可するか禁止するかの関係を、該タスクに設定されたタグに基づいて記述したタグ関係としてタグ関係設定表に記録する処理と、
タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けてタグ設定表に記録する処理と、
タスクを生成するタスク生成処理と、
前記タグ設定表を参照して、前記生成されたタスクに、前記タグ設定表に記録されたタグを設定するようにする管理タスク処理と、
を更にコンピュータに実行させ、
前記管理タスク処理は、前記タグ関係設定表に記録されている前記タグ関係を読み出し、前記タグ関係設定処理を呼び出して該読み出したタグ関係を前記タグ関係表に設定させることを特徴とする請求項34に記載のタスク割り当てプログラム。 - 前記タグ間の関係性は、同じタグは同時実行を許可し、異なるタグは同時実行を禁止するものであることを特徴とする請求項31乃至39のいずれか1項に記載のタスク割り当てプログラム。
- 前記タグ間の関係性は、異なるタグは同時実行を許可し、同じタグは同時実行を禁止するものであることを特徴とする請求項31乃至39のいずれか1項に記載のタスク割り当てプログラム。
- タスクを識別するタスク識別子であるタスク番号と、タグと、を関連付けてタグ設定表に記録する処理と、
タスクを生成するタスク生成処理と、
前記タグ設定表を参照して、前記生成されたタスクに設定するタグを指定して前記タスク生成処理を呼び出す管理タスク処理と、
を更にコンピュータに実行させ、
前記管理タスク処理は、前記タグ設定表に未記録のタスクには前記タグ設定処理を呼び出して共通のタグを設定し、前記タグ関係性判定処理は、共通タグ同士は同時実行を禁止し、異なるタグは同時実行を禁止し、同じタグは同時実行を許可する判定をすることを特徴とする請求項32に記載のタスク割り当てプログラム。 - 前記タグ関係性判定処理は、共通タグ同士は同時実行を許可し、異なるタグは同時実行を許可し、同じタグは同時実行を禁止する判定をすることを特徴とする請求項42に記載のタスク割り当てプログラム。
- 前記タグ設定処理は、タスクに複数のタグを設定し、前記タグ関係性判定処理は、同じタグを含むタスクは同時実行許可し、同じタグを含まないタグは同時実行禁止と判定することを特徴とする請求項31乃至43のいずれか1項に記載のタスク割り当てプログラム。
- 排他的処理を更にコンピュータに実行させ、
前記排他制御処理は、同時実行を許可するようにタグが設定されたタスク同士であっても、該タスク同士の中に同時に実行されると問題のある部分が含まれる場合は、該問題のある部分の同時実行が行われないようにすることを特徴とする請求項31乃至44のいずれか1項に記載のタスク割り当てプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009092917A JP5614699B2 (ja) | 2009-04-07 | 2009-04-07 | マルチコアシステムのためのタスク割り当て関連方法、その装置、そのシステム、及びそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009092917A JP5614699B2 (ja) | 2009-04-07 | 2009-04-07 | マルチコアシステムのためのタスク割り当て関連方法、その装置、そのシステム、及びそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010244332A true JP2010244332A (ja) | 2010-10-28 |
JP5614699B2 JP5614699B2 (ja) | 2014-10-29 |
Family
ID=43097280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009092917A Expired - Fee Related JP5614699B2 (ja) | 2009-04-07 | 2009-04-07 | マルチコアシステムのためのタスク割り当て関連方法、その装置、そのシステム、及びそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5614699B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045658A (zh) * | 2015-07-02 | 2015-11-11 | 西安电子科技大学 | 一种利用多核嵌入式dsp实现动态任务调度分发的方法 |
JP2016218503A (ja) * | 2015-05-14 | 2016-12-22 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、及び車載装置 |
JP2017073083A (ja) * | 2015-10-09 | 2017-04-13 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
KR20220085578A (ko) * | 2020-12-15 | 2022-06-22 | 현대오토에버 주식회사 | 멀티 코어 환경에서 코어 연동 시스템 및 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03113563A (ja) * | 1989-09-28 | 1991-05-14 | Hitachi Ltd | マルチプロセッサスケジューリング方法 |
JP2002237439A (ja) * | 2001-02-08 | 2002-08-23 | Canon Inc | デバイス製造装置 |
-
2009
- 2009-04-07 JP JP2009092917A patent/JP5614699B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03113563A (ja) * | 1989-09-28 | 1991-05-14 | Hitachi Ltd | マルチプロセッサスケジューリング方法 |
JP2002237439A (ja) * | 2001-02-08 | 2002-08-23 | Canon Inc | デバイス製造装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016218503A (ja) * | 2015-05-14 | 2016-12-22 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、及び車載装置 |
CN105045658A (zh) * | 2015-07-02 | 2015-11-11 | 西安电子科技大学 | 一种利用多核嵌入式dsp实现动态任务调度分发的方法 |
CN105045658B (zh) * | 2015-07-02 | 2018-10-23 | 西安电子科技大学 | 一种利用多核嵌入式dsp实现动态任务调度分发的方法 |
JP2017073083A (ja) * | 2015-10-09 | 2017-04-13 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
KR20220085578A (ko) * | 2020-12-15 | 2022-06-22 | 현대오토에버 주식회사 | 멀티 코어 환경에서 코어 연동 시스템 및 방법 |
KR102497255B1 (ko) * | 2020-12-15 | 2023-02-06 | 현대오토에버 주식회사 | 멀티 코어 환경에서 코어 연동 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP5614699B2 (ja) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3425502B1 (en) | Task scheduling method and device | |
KR100898315B1 (ko) | 인핸스드 런타임 호스팅 | |
KR101626378B1 (ko) | 병렬도를 고려한 병렬 처리 장치 및 방법 | |
US9798595B2 (en) | Transparent user mode scheduling on traditional threading systems | |
US8255911B2 (en) | System and method for selecting and assigning a basic module with a minimum transfer cost to thread | |
JP5295228B2 (ja) | 複数のプロセッサを備えるシステム、ならびにその動作方法 | |
WO2012066640A1 (ja) | 計算機システム、マイグレーション方法及び管理サーバ | |
US20110119674A1 (en) | Scheduling method, scheduling apparatus and multiprocessor system | |
JP2007328782A (ja) | カーネル間でカーネル・サービスを共用するための方法、装置、およびコンピュータ・プログラム | |
EP1923784A1 (en) | Scheduling method, and scheduling device | |
US20150254113A1 (en) | Lock Spin Wait Operation for Multi-Threaded Applications in a Multi-Core Computing Environment | |
JP2008234191A (ja) | ハードウエアモニタ管理装置及びハードウエアモニタ機能の実行方法 | |
US20110029930A1 (en) | Distributed processing device and distributed processing method | |
JP5614699B2 (ja) | マルチコアシステムのためのタスク割り当て関連方法、その装置、そのシステム、及びそのプログラム | |
KR20070090649A (ko) | 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법 | |
JP2007188523A (ja) | タスク実行方法およびマルチプロセッサシステム | |
Al-Bayati et al. | Partitioning and selection of data consistency mechanisms for multicore real-time systems | |
US9336049B2 (en) | Method, system, and program for scheduling jobs in a computing system | |
Krishnamurthy et al. | The design and implementation of real-time CORBA 2.0: Dynamic scheduling in TAO | |
Richardson et al. | An admission control protocol for real-time OSGi | |
JP2005149312A (ja) | タスク管理システム | |
JP4830164B2 (ja) | 情報処理装置及びベクトル型情報処理装置 | |
JP2022079764A (ja) | 同期制御システムおよび同期制御方法 | |
JP2018106472A (ja) | 制御装置 | |
JP2005327007A (ja) | 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120313 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131015 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131210 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140520 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140801 |
|
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: 20140818 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5614699 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140831 |
|
LAPS | Cancellation because of no payment of annual fees |