JP6214469B2 - 車両制御装置 - Google Patents

車両制御装置 Download PDF

Info

Publication number
JP6214469B2
JP6214469B2 JP2014108387A JP2014108387A JP6214469B2 JP 6214469 B2 JP6214469 B2 JP 6214469B2 JP 2014108387 A JP2014108387 A JP 2014108387A JP 2014108387 A JP2014108387 A JP 2014108387A JP 6214469 B2 JP6214469 B2 JP 6214469B2
Authority
JP
Japan
Prior art keywords
task
execution
parameter
log
vehicle control
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
Application number
JP2014108387A
Other languages
English (en)
Other versions
JP2015225396A5 (ja
JP2015225396A (ja
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2014108387A priority Critical patent/JP6214469B2/ja
Priority to CN201580024752.4A priority patent/CN106462452B/zh
Priority to EP15799221.5A priority patent/EP3151116B1/en
Priority to US15/303,280 priority patent/US10642658B2/en
Priority to PCT/JP2015/062169 priority patent/WO2015182295A1/ja
Publication of JP2015225396A publication Critical patent/JP2015225396A/ja
Publication of JP2015225396A5 publication Critical patent/JP2015225396A5/ja
Application granted granted Critical
Publication of JP6214469B2 publication Critical patent/JP6214469B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Description

本発明は、車両制御装置に関するものである。
自動車、エレベータ、建設機械などの技術分野においては、組込ソフトウェアによって制御対象を制御する、組込制御装置が用いられている。組込ソフトウェアは、従来の機械的機構や電気回路による制御方式に比べて、柔軟かつ高度な制御が実現できることが利点として挙げられる。
このような組込制御装置、例えば車両制御装置は、近年急速に高性能化が進み、これにともなってCPU(Central Processing Unit)の演算量の増加が問題となっている。これを解決するため、CPUコアの数を増やすマルチコア化またはマルチCPU化を図ることにより、単位時間あたりの演算量を向上させる取り組みが進んでいる。
しかしながら、シングルコアプロセッサを前提として開発された既存のソフトウェアをマルチコアプロセッサ上で効率良く実行するには多くの課題がある。特に、プログラムの実行順序制約が厳しい車両制御ソフトウェアを並列化して複数のコアへ割り当てる、タスク割当手法を確立することが大きな課題である。
下記特許文献1は、シングルコアプロセッサ用に開発された既存の車両制御ソフトウェアを複数のコアに効率的に割り当てる技術について記載している。同文献においては、ソフトウェアの依存関係と進度状況に基づきタスクを処理待ちのコアに割り当てることにより、既存プログラムの実行順序を担保することを図っている。
下記特許文献2は、必要なCPU利用率の大きいタスクが生じた際もそのタスクが実行できる可能性を確保して従来よりもリアルタイム性を向上させる技術について記載している。同文献においては、タスクに課せられた時間制約とリアルタイムタスクの必要計算量からタスクが時間制約を満たすために必要なCPU利用率を計算し、算出されたCPU利用率が最大となるようタスクを割り当てる。
特開2012−108576号公報 特開2010−277171号公報
上記特許文献1記載の技術は、複数の制御周期を持つソフトウェアの取り扱いに関して配慮していない。例えば車両制御ソフトウェアの場合、1つのシステムを制御するソフトウェア中に複数の制御周期を持つプログラムが混在する(すなわち、互いに異なる実行周期で実行される複数のプログラムが存在する)場合が多い。特許文献1記載の技術は制御周期による違いについて考慮していないため、本来優先すべき制御周期が短いソフトウェアの実行が遅延してしまい、デッドラインをオーバーする可能性がある。
上記特許文献2記載の技術は、プログラムの依存関係を考慮していない。例えば車両制御ソフトウェアの場合、センサ値情報の取得からアクチュエータ制御値の算出に到るまでのプログラム実行順序制約を厳密に満たすことが求められるなど、プログラム間の依存関係を考慮してタスクを割り当てる必要がある。特許文献2記載の技術は、実行順序制約のないタスクを前提としているため、車両制御ソフトウェアのように実行順序制約を持つソフトウェアを正しくマルチコアへ割り当てることはできない。
本発明は、上記のような課題に鑑みてなされたものであり、2つ以上の制御周期を持つソフトウェアが混在している場合においても、デッドラインを満たすようプログラムをマルチコアへと割り当てることができる車両制御装置を提供することを目的とする。
本発明に係る車両制御装置は、タスクの実行順序、タスクの実行周期、およびプロセッサコア間の通信コストを考慮して、各タスクをプロセッサコアへ割り当てる。
本発明に係る車両制御装置によれば、複数の制御周期が混在し、タスク間の依存関係が存在する制御ソフトウェアを用いる場合であっても、各タスクのデッドラインを満たしつつプロセッサコアへタスクを割り当てることができる。
既存のシングルコア用の車両制御ソフトウェアをプロセッサコアへ割り当てた結果を模式的に説明する図である。 本発明に係る車両制御装置1のシステム構成図である。 タスク割当部105の詳細構成を示す図である。 実行制御パラメータ101の具体例を示す図である。 重み付け部1051の処理を説明するフローチャートである。 重み付け部1051が通信コストに対して付与する重みの例を示す図である。 重み付き通信コスト1052の例を示す図である。 タスク割り付け部1053の処理を説明するフローチャートである。 タスク割り付け部1053によるタスク割当結果を示す模式図である。 実行ログ201の例を示す図である。 車両制御装置1の変形例を示すシステム構成図である。
<マルチコアにおけるタスク割当>
以下では本発明の理解を容易にするため、まずマルチコアプロセッサにおいて各プロセッサコアへタスクを割り当てる際の課題について説明し、その後に本発明の実施形態について説明する。
図1は、既存のシングルコア用の車両制御ソフトウェアをプロセッサコアへ割り当てた結果を模式的に説明する図である。図1における円内の数字1〜10は、ひとかたまりのプログラム単位であるタスクを示している。円間の矢印はタスク間の依存関係を示している。依存関係とは、タスクの実行順序またはデータ受け渡しに関する依存関係のことである。矢印の方向はプログラムの実行順序制約と等しい。例えばタスク2はタスク1が終了した後でないと実行できない。図1において、タスクの割当先として2つのコアAとコアBがあるものとする。
図1(a)は、タスクの実行周期が1つのみである場合におけるタスク割当結果を示している。プログラムはタスク間の依存関係に基づき、矢印で示された依存関係を逆転しないよう各コアに割り当てられる。図1(a)右側のプログラム実行時のタイムチャートが示すように、ソフトウェアは2つのコアによって並列に実行され、シングルコア利用時よりも少ない時間で全体の処理が完了していることがわかる。
図1(b)は、複数の制御周期が混在している場合におけるタスク割当結果を示している。車両制御ソフトウェアにおいては、互いに異なる制御周期で実行されるタスクが混在している場合が多いので、図1(b)は車両制御ソフトウェアの実情をより反映したものであるといえる。図1(b)において、タスク1、3、7、8、10の制御周期は10msであり、タスク2、4、5、6、9の制御周期は5msである。図1(b)右側のプログラム実行時のタイムチャートが示すように、複数の制御周期が混在している場合において従来技術を用いてタスクを割り当てると、本来優先的に処理されるべき制御周期の短いタスクの処理が遅延し、デッドラインオーバーを引き起こす可能性がある。図1(b)においては、タスク9がデッドラインをオーバーしている。
<本発明の実施形態>
図2は、本発明に係る車両制御装置1のシステム構成図である。車両制御装置1は、複数のプロセッサコア(ここでは102〜104)を有するプロセッサ、タスク割当部105を備える。タスク割当部105は、実行制御パラメータ101を取得してこれに基づきタスクを各プロセッサコアへ割り当てる。プロセッサはタスク割当結果を記述した実行ログ201を記憶装置2に書き込む。
実行制御パラメータ101は、車両を制御するために必要なハードウェアおよびソフトウェアに関する情報を記述している。より詳細には、マルチコア構成、バス配線、センサ値、制御ソフトウェア(タスク)の制御周期パラメータ1011、優先順位、デッドライン、タスクの実行順序パラメータ1012、コア間の通信コストパラメータ1013、などを記述している。
制御周期パラメータ1011は、プロセッサが実行するプログラム(タスク)の制御周期を記述している。実行順序パラメータ1012は、プロセッサが実行するプログラムの実行順序を記述している。ここでいう実行順序とは、図1で説明したようなタスク間の依存関係を含む。通信コストパラメータ1013は、前タスクと後タスクをそれぞれ異なるプロセッサコアによって実行するためプロセッサコア間でデータ通信する必要が生じたと仮定した場合、そのために要する時間を記述している。
実行ログ201は、コア102〜104による演算結果の一部または全てを記述するログであり、制御周期ログ202、実行順序ログ203、通信コストログ204を含む。制御周期ログ202、実行順序ログ203、通信コストログ204は、それぞれ制御周期パラメータ1011、実行順序パラメータ1012、通信コストパラメータ1013に対応し、各プロセッサコアが実際にタスクを実行した際の制御周期、実行順序、通信コストに関するログを記述している。
図3は、タスク割当部105の詳細構成を示す図である。タスク割当部105は、重み付け部1051、重み付き通信コスト1052、タスク割り付け部1053を有する。タスク割当部105は、実行制御パラメータ101を入力として取得する。重み付け部1051は、実行制御パラメータ101の記述にしたがってコア間の通信コストに重み付けして重み付き通信コスト1052を作成する。タスク割り付け部1053は、重み付き通信コスト情報1052にしたがって各コアにタスクを割り付ける。重み付けの具体例については後述する。
図4は、実行制御パラメータ101の具体例を示す図である。車両制御装置1が実行するソフトウェアはタスク1〜10を有する。制御周期パラメータ1011は各タスクの制御周期を記述しており、図4に示すように5msと10msの制御周期が混在している。
実行順序パラメータ1012は各タスクの実行順序を記述している。例えばタスク2と3はタスク1が処理完了するまで実行開始できない。通信コストパラメータ1013はコア間のデータ通信にかかる時間を記述している。例えばタスク1とタスク2を異なるコアへ割り当てた場合、タスク1と2の間でデータ共有するためには、依存関係aの通信コストである10μsが通信コストとして必要になる。通信コストは異なるコア間でのみ必要となるため、例えばタスク1と2を同じコアへ割り当てた場合の通信コストは0である。
図5は、重み付け部1051の処理を説明するフローチャートである。以下図5の各ステップについて説明する。
(図5:ステップS10511〜S10512)
重み付け部1051は、実行制御パラメータ101を取得すると本フローチャートを開始する(S10511)。重み付け部1051は、これから重み付けするタスク間の依存関係(実行制御パラメータ101)を取得する(S10512)。
(図5:ステップS10513〜S10514)
重み付け部1051は、ステップS10512で取得した依存関係の前タスクと後タスクそれぞれの制御周期に基づき、通信コストに対する重みを決定する(S10513)。
重み付けの考え方については後述する。重み付け部1051は、ステップS10512で取得した依存関係に対してステップS10513で決定した重みを用いて通信コストに重み付けし、重み付き通信コスト1052を算出する。
(図5:ステップS10515)
重み付け部1051は、実行制御パラメータ101が記述しているタスク間のすべての依存関係について重み付けを完了したか否かを確認する。完了していない場合はステップS10512に戻って同様の処理を繰り返す。完了している場合は本フローチャートを終了する。
図6は、重み付け部1051が通信コストに対して付与する重みの例を示す図である。
タスク割り付け部1053は後述するように、重み付き通信コストが高いタスクを優先してプロセッサコアに対して割り当てる。そこで重み付け部1051は、早く完了すべきタスク、すなわち制御周期の短いタスクに対してより高い重みを付与する。
図6に示す例においては、依存関係の後タスクの制御周期が短い(すなわち5ms周期)場合は、制御周期が長い(すなわち10ms周期)場合よりも重みを大きくしている。これにより、短周期タスクが優先的にプロセッサコアに対して割り当てられることになる。さらに、依存関係の前タスクの制御周期が短い場合は、長い場合よりも重みを大きくしている。これにより、複数の短周期タスクがまとまって割り当てられやすくなるので、デッドラインをより確実に準拠することができる。
図7は、重み付き通信コスト1052の例を示す図である。タスク間の依存関係hとiに着目すると、重み付け前の通信コストはhが30、iが10であるため、依存関係hの方が値が大きい。しかしながら、重み付け部1051によって算出された重み付き通信コスト1052を見ると、依存関係hが90、依存関係iが100であり、依存関係iの方が値が大きい。これは重み付けを行った結果、タスク6終了後に実行するタスクの候補として、依存関係h(タスク8)よりも依存関係i(タスク9)の方が優先度が高いと評価されたことを示している。したがってタスク割り付け部1053は、タスク6の後にタスク8よりもタスク9を優先してプロセッサコアへ割り当てる。
図8は、タスク割り付け部1053の処理を説明するフローチャートである。以下図8の各ステップについて説明する。
(図8:ステップS10531〜S10532)
タスク割り付け部1053は、重み付け部1051が重み付き通信コスト1052を算出し終えると、本フローチャートを開始する(S10531)。タスク割り付け部1053は、割り当て可能な全てのタスクをリストアップする(S10532)。割り当て可能なタスクとは、実行順序パラメータ1012が記述しているタスク間の依存関係にしたがって、次にプロセッサコアへ割り当てることができるタスクである。
(図8:ステップS10533)
タスク割り付け部1053は、割り当て可能な全てのタスクのなかで最も重み付き通信コストが高いタスクをプロセッサコアに割り当てる。割り当て可能なタスクのなかで通信コストが0であるものと0ではないものが混在する場合、これらタスクは異なるプロセッサコアへ割り当てることになる。通信コストが0であるタスクは1つ前のタスクと同じプロセッサコアに割り当て、通信コストが0ではないタスクは1つ前のタスクとは異なるプロセッサコアに割り当てるからである。この場合は、通信コストが0ではないタスクのなかで最も重み付き通信コストが高いものを優先して割り当てるとともに、通信コストが0であるタスクはこれと並行して別のプロセッサコアへ割り当てればよい。通信コストが0であるタスクが複数存在する場合は、そのなかで重みが最も大きいタスクを優先して割り当てればよい。
(図8:ステップS10534)
タスク割り付け部1053は、割り当て可能な全てのタスクをプロセッサコアに割り当てたか否かを確認する。未割当タスクが残っている場合はステップS10532に戻って同様の処理を繰り返す。全て割り当てた場合は本フローチャートを終了する。
(図8:ステップS10531〜S10534:補足)
タスク割り付け部1053は、本フローチャートが説明するタスク割り付けを、例えば車両制御装置1が起動してからプロセッサがタスク実行を開始するまでの間においてのみ実施してもよいし、プロセッサがタスク実行を開始した後の適当なタイミング(例えばプロセッサ負荷が比較的低いとき)で実行制御パラメータ101を取得してタスクを再割り当てしてもよいし、これらを併用してもよい。
図9は、タスク割り付け部1053によるタスク割当結果を示す模式図である。図7で説明したように、タスク6の後に割り当て可能であるタスク8と9を比較すると、タスク9のほうが重み付き通信コストが高いので、タスク9を優先的にプロセッサコアへ割り当てる。タスク6が完了する時点においてはコアBがタスク7を実行しているので、タスク9は空いているコアAに割り当てることになる。その結果、制御周期が5msである全てのタスクはデッドライン以内に完了することができる。
図10は、実行ログ201の例を示す図である。実行ログ201は、車両制御装置1の稼働中において、各プロセッサコアが実行したタスクとその実行時刻を記録したログである。実行ログ201内の各ログは、必ずしも個別のデータとして記録する必要はなく、記述の便宜などに鑑みて適当なフォーマットで記録することができる。実行ログ201により、車両制御装置1が実行したプログラムの実行タイミング、実行順序、通信時間を把握することができる。例えばエラーが発生したときのプログラムの挙動解析やデバッグ作業において実行ログ201を利用することができる。通信コストログ204は、実際の通信コストを記述してもよいし、重み付き通信コストを記述してもよいし、これらを併記してもよい。
車両制御装置1のプロセッサは、特定のタイミング(例えばエラーが発生した時刻)から所定時間前の記録を保存したい場合、記憶装置2の特定記憶領域に対して実行ログ201を繰り返し記録する。すなわち、当該記憶領域の空き容量がなくなると、当該記憶領域の古いログから順番に新しいログによって上書きする。あるいは、特定のタイミングから一定時間後の記録を保存したい場合、記憶装置2の特定記憶領域に対して実行ログ201を記録し、当該記憶領域の空き容量上限に達した時点でログ出力を停止する。記憶装置2の空き容量が十分にある場合は、上記のような手法を用いず単純に全ての実行ログ201を記録してもよい。
図11は、車両制御装置1の変形例を示すシステム構成図である。車両制御装置1は必ずしも実行制御パラメータ101を内部に保持しておく必要はなく、外部から取得することもできる。同様に記憶装置2も、車両制御装置1の内部に備えることもできるし、外部記憶装置として構成することもできる。実行制御パラメータ101は、データファイル形式でもよいし、適当な電気信号によって実行制御パラメータ101を記述してもよい。
<本発明のまとめ>
以上のように、本発明に係る車両制御装置1は、制御周期パラメータ1011と実行順序パラメータ1012の記述にしたがって、タスク間の依存関係と各タスクの実行周期に関する制約を満たしつつ、各タスクをプロセッサコアへ割り当てる。これにより、実行順序制約やデッドライン制約が存在する車両制御ソフトウェアにおいても、これら制約を満たしつつタスクを効率的に実行することができる。
また本発明に係る車両制御装置1は、タスク間の依存関係における後タスクが短周期タスクである場合はこれを優先的にプロセッサコアへ割り当てる。これにより、制御周期が短いタスクをより確実にデッドラインまでに完了させることができる。
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。例えば上記実施形態においては車両制御装置の構成例を説明したが、本発明に係る手法は、その他の家庭用機器、産業用機器、医療機器などを電子制御する組込システムにおいても用いることができる。
上記実施形態においては、制御周期として5msと10msの2つを例示したが、この数値は例示であり本発明をこれに限定するものではない。また3種類以上の制御周期が混在している場合においても本発明を用いることができる。例えば図6においては、制御周期が2種類であることを前提として前後タスクの組み合わせを示したが、3種類以上の制御周期がある場合はその各組み合わせについて同様に重みを定めることもできる。この場合は前タスクと後タスクいずれについても、制御周期が短いタスクほど重みが大きくなるようにすればよい。
上記実施形態においては、制御周期パラメータ1011が指定する制御周期を満たすことを前提としたが、優先度が低いタスクのなかには、ある程度の回数は制御周期を満たさなくとも動作上支障がないものもある。このようなタスクを制御周期のみに基づき割り当てるのは必ずしも望ましくない。そこで制御周期パラメータ1011と併せて各タスクの優先度を記述しておき、タスク割当部105は、優先度が低いタスクほど制御周期を満たさなくても許容される(エラーとみなさない)回数が多くなるようにしてもよい。
上記各構成、機能、処理部、処理手段等は、それらの一部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。
1:車両制御装置、101:実行制御パラメータ、1011:制御周期パラメータ、1012:実行順序パラメータ、1013:通信コストパラメータ、102〜104:プロセッサコア、105:タスク割当部、1051:重み付け部、1052:重み付き通信コスト、1053:タスク割り付け部、2:記憶装置、201:実行ログ、202:制御周期ログ、20:実行順序ログ、20:通信コストログ。

Claims (9)

  1. 車両の動作を制御するタスクを実行するプロセッサコアを複数有するプロセッサ、
    各前記プロセッサコアに対して前記タスクを割り当てるタスク割当部、
    を備え、
    前記タスク割当部は、前記タスクの実行順序を記述した実行順序パラメータ、前記タスクの実行周期を記述した実行周期パラメータ、および2つの前記プロセッサコア間でデータ通信するために要する通信コストを記述した通信コストパラメータを取得し、前記実行順序パラメータ、前記実行周期パラメータ、および前記通信コストパラメータの記述にしたがって前記タスクを各前記プロセッサコアに割り当て、
    前記プロセッサは、各前記プロセッサコアが前記タスクを実行した順序を記述した実行順序ログ、各前記プロセッサコアが前記タスクを実行した周期を記述した実行周期ログ、および2つの前記プロセッサコア間でデータ通信するために要した通信コストを記述した通信コストログを出力し、
    前記タスク割当部は、前記実行順序パラメータにしたがって前記プロセッサコアに対して割り当てることができる前記タスクの候補である割当候補が複数存在する場合、前記割当候補のなかで前記実行周期が短いものほど優先して割り当て、
    前記タスク割当部は、前記割当候補が複数存在し、かつ各前記割当候補についての前記通信コストがいずれも0ではない場合は、前記割当候補のなかで前記実行周期が短いものほど前記通信コストを大きく加重し、加重した後の前記通信コストが大きい前記割当候補ほど優先して前記プロセッサコアに対して割り当てる
    ことを特徴とする車両制御装置。
  2. 前記タスク割当部は、前記割当候補の1つ前に実行する前記タスクの実行周期が短い前記割当候補ほど優先して前記プロセッサコアに対して割り当てる
    ことを特徴とする請求項記載の車両制御装置。
  3. 前記タスク割当部は、前記通信コストが0である前記割当候補と前記通信コストが0ではない前記割当候補をそれぞれ異なる前記プロセッサコアに並列的に割り当てる
    ことを特徴とする請求項記載の車両制御装置。
  4. 前記実行周期パラメータは、前記タスクが完了済でなければならない時刻として許容される最も遅い時刻を特定するデッドラインを記述しており、
    前記タスク割当部は、各前記タスクが遅くとも前記デッドラインによって特定される時刻までに完了するように、前記割り当てを実施する
    ことを特徴とする請求項1記載の車両制御装置。
  5. 前記実行周期パラメータは、各前記タスクの優先度を記述した優先度パラメータを記述しており、
    前記タスク割当部は、前記優先度が低い前記タスクほど、前記実行周期以内に完了しなくともエラーとみなさない回数が多くなるように、前記割り当てを実施する
    ことを特徴とする請求項1記載の車両制御装置。
  6. 前記タスク割当部は、前記車両制御装置が起動してから前記プロセッサが前記タスクの実行を開始するまでの間において、前記割り当てを実施する
    ことを特徴とする請求項1記載の車両制御装置。
  7. 前記タスク割当部は、前記車両制御装置が起動してから前記プロセッサが前記タスクの実行を開始した後、改めて前記実行順序パラメータ、前記実行周期パラメータ、および前記通信コストパラメータを取得して前記割り当てを再実施する
    ことを特徴とする請求項記載の車両制御装置。
  8. 前記プロセッサは、前記実行順序ログ、前記実行周期ログ、および前記通信コストログを、記憶装置上の所定記憶領域に格納し、前記所定記憶領域の空きがなくなると古いログから順に新しいログによって上書きする
    ことを特徴とする請求項1記載の車両制御装置。
  9. 前記プロセッサは、前記実行順序ログ、前記実行周期ログ、および前記通信コストログを、記憶装置上の所定記憶領域に格納し、前記所定記憶領域の空きがなくなるとログの出力を停止する
    ことを特徴とする請求項1記載の車両制御装置。
JP2014108387A 2014-05-26 2014-05-26 車両制御装置 Active JP6214469B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014108387A JP6214469B2 (ja) 2014-05-26 2014-05-26 車両制御装置
CN201580024752.4A CN106462452B (zh) 2014-05-26 2015-04-22 车辆控制装置
EP15799221.5A EP3151116B1 (en) 2014-05-26 2015-04-22 Vehicle control apparatus
US15/303,280 US10642658B2 (en) 2014-05-26 2015-04-22 Vehicle control apparatus
PCT/JP2015/062169 WO2015182295A1 (ja) 2014-05-26 2015-04-22 車両制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014108387A JP6214469B2 (ja) 2014-05-26 2014-05-26 車両制御装置

Publications (3)

Publication Number Publication Date
JP2015225396A JP2015225396A (ja) 2015-12-14
JP2015225396A5 JP2015225396A5 (ja) 2017-04-13
JP6214469B2 true JP6214469B2 (ja) 2017-10-18

Family

ID=54698636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014108387A Active JP6214469B2 (ja) 2014-05-26 2014-05-26 車両制御装置

Country Status (5)

Country Link
US (1) US10642658B2 (ja)
EP (1) EP3151116B1 (ja)
JP (1) JP6214469B2 (ja)
CN (1) CN106462452B (ja)
WO (1) WO2015182295A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292211A (zh) * 2015-12-10 2018-07-17 三菱电机株式会社 信息处理装置、信息处理方法和信息处理程序
KR101779342B1 (ko) 2016-07-12 2017-09-18 국민대학교산학협력단 스케쥴링-제어성능을 고려한 제어 태스크 최적화 방법 및 장치
FR3054902B1 (fr) * 2016-08-04 2019-06-21 Thales Procede et dispositif de distribution de partitions sur un processeur multi-coeurs
US10747546B2 (en) * 2017-06-19 2020-08-18 Mitsubishi Electric Corporation Distributed allocation device, distributed allocation system, and distributed allocation method
JP7385989B2 (ja) * 2018-12-12 2023-11-24 日立Astemo株式会社 演算制御装置
KR20200101682A (ko) * 2019-02-20 2020-08-28 삼성전자주식회사 전자 장치 및 그 제어 방법
JP7267819B2 (ja) * 2019-04-11 2023-05-02 株式会社 日立産業制御ソリューションズ 並列タスクスケジューリング方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6011946A (ja) * 1983-07-01 1985-01-22 Hitachi Ltd プログラマブルコントロ−ラ
JPH09114693A (ja) * 1995-10-13 1997-05-02 Toshiba Corp プログラム開発支援装置及びプログラム実行装置
US6289488B1 (en) * 1997-02-24 2001-09-11 Lucent Technologies Inc. Hardware-software co-synthesis of hierarchical heterogeneous distributed embedded systems
JPH11203165A (ja) * 1998-01-12 1999-07-30 Hitachi Ltd 並列計算機のテスト・デバッグ方式
JPH11242614A (ja) * 1998-02-25 1999-09-07 Mitsubishi Electric Corp 並列プログラム用リアルタイム検証装置および方法
US7143317B2 (en) 2003-06-04 2006-11-28 Hewlett-Packard Development Company, L.P. Computer event log overwriting intermediate events
FR2873830B1 (fr) * 2004-07-30 2008-02-22 Commissariat Energie Atomique Procede d'ordonnancement de traitement de taches et dispositif pour mettre en oeuvre le procede
US20060074725A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Method and apparatus for simulating implementation models of business solutions
US8631483B2 (en) * 2005-06-14 2014-01-14 Texas Instruments Incorporated Packet processors and packet filter processes, circuits, devices, and systems
JP5462529B2 (ja) 2009-05-26 2014-04-02 株式会社日立製作所 タスク割当装置、および、タスク割当方法
JP2011013793A (ja) * 2009-06-30 2011-01-20 Mitsubishi Electric Corp データ処理装置及びプログラム
JP5441626B2 (ja) * 2009-11-06 2014-03-12 日立オートモティブシステムズ株式会社 車載用マルチアプリ実行装置
JP5423635B2 (ja) 2009-11-09 2014-02-19 株式会社デンソー スケジューリング方法,スケジューリングプログラム,スケジューリング装置
US8782653B2 (en) * 2010-03-26 2014-07-15 Virtualmetrix, Inc. Fine grain performance resource management of computer systems
JP2012103802A (ja) * 2010-11-08 2012-05-31 Toyota Motor Corp 情報処理装置、電子制御ユニット
JP2012108576A (ja) 2010-11-15 2012-06-07 Toyota Motor Corp マルチコアプロセッサ、処理実行方法、プログラム
JP2014052827A (ja) * 2012-09-06 2014-03-20 Toshiba Corp 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
WO2015182295A1 (ja) 2015-12-03
EP3151116A4 (en) 2018-05-23
CN106462452B (zh) 2019-09-06
EP3151116A1 (en) 2017-04-05
CN106462452A (zh) 2017-02-22
EP3151116B1 (en) 2020-12-09
US10642658B2 (en) 2020-05-05
US20170039091A1 (en) 2017-02-09
JP2015225396A (ja) 2015-12-14

Similar Documents

Publication Publication Date Title
JP6214469B2 (ja) 車両制御装置
US11467769B2 (en) Managed fetching and execution of commands from submission queues
JP7313381B2 (ja) ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング
CN106569891B (zh) 一种存储系统中任务调度执行的方法和装置
CN105765541B (zh) 用于机动车的控制器
KR101640848B1 (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
KR101752042B1 (ko) 파이프라이닝된 스케줄에서의 에일리어스 레지스터들의 할당
US20150121388A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
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
JP7385989B2 (ja) 演算制御装置
EP3097492B1 (en) Method and apparatus for preventing bank conflict in memory
JP6239400B2 (ja) 制御装置
JP2008176804A (ja) タスクスケジューリングシステム、方法、およびプログラム
JP2013114538A (ja) 情報処理装置、情報処理方法及び制御プログラム
KR20170060843A (ko) Vliw 인터페이스 장치 및 제어 방법
WO2014188642A1 (ja) スケジュールシステム、スケジュール方法、及び、記録媒体
JP4017005B2 (ja) 演算装置
WO2021044810A1 (ja) コア割当装置及びコア割当方法
US20120137300A1 (en) Information Processor and Information Processing Method
JP7236811B2 (ja) 情報処理装置
JP2019012456A (ja) タスク割当て装置、および、タスク割当て方法
JP5540799B2 (ja) データ入出力制御方法,データ入出力制御プログラムおよびデータ入出力制御装置
KR101191530B1 (ko) 복수의 이종 코어를 포함하는 멀티코어 프로세서 시스템 및 그 제어 방법
JP6364827B2 (ja) 情報処理装置、及び、そのリソースアクセス方法、並びに、リソースアクセスプログラム
WO2022137838A1 (ja) プロセス割当制御装置、プロセス割当制御方法、及び、プロセス割当制御プログラムが格納された記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170307

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170817

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: 20170829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170919

R150 Certificate of patent or registration of utility model

Ref document number: 6214469

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350