JP2021124902A - 車両制御装置、車両制御方法、及び車両制御プログラム - Google Patents

車両制御装置、車両制御方法、及び車両制御プログラム Download PDF

Info

Publication number
JP2021124902A
JP2021124902A JP2020017283A JP2020017283A JP2021124902A JP 2021124902 A JP2021124902 A JP 2021124902A JP 2020017283 A JP2020017283 A JP 2020017283A JP 2020017283 A JP2020017283 A JP 2020017283A JP 2021124902 A JP2021124902 A JP 2021124902A
Authority
JP
Japan
Prior art keywords
processor
virtual machine
vehicle
state
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.)
Pending
Application number
JP2020017283A
Other languages
English (en)
Inventor
祐輔 恩田
Yusuke Onda
祐輔 恩田
剛 山本
Takeshi Yamamoto
剛 山本
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
Priority to JP2020017283A priority Critical patent/JP2021124902A/ja
Priority to CN202110088102.3A priority patent/CN113276831A/zh
Priority to EP21153147.0A priority patent/EP3862878A1/en
Priority to US17/165,107 priority patent/US20210240512A1/en
Publication of JP2021124902A publication Critical patent/JP2021124902A/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)
  • Traffic Control Systems (AREA)

Abstract

【課題】車両に搭載される複数のプロセッサ上において複数の仮想マシンを動作させる場合、車両の状態を考慮しつつ消費電力を低減させることができる、車両制御装置、車両制御方法、及び車両制御プログラムを提供する。
【解決手段】ECU16の取得部44は、車両の状態を取得する。そして、ECU16の変更部は、取得部44により取得される車両の状態に基づいて、第1のプロセッサにおいて動作している対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する。そして、ECU16の終了部52は、変更部50により割り当てが変更された第1のプロセッサの動作を終了させる。
【選択図】図2

Description

本開示は、車両制御装置、車両制御方法、及び車両制御プログラムに関する。
従来、仮想計算機とハードウエアとの通信の遅延を抑制可能な仮想化システムが知られている(例えば、特許文献1を参照)。この仮想化システムは、VMコア11a〜11cを、走る、曲がる、止まるといった、車両の走行制御に係る機能を提供するECUとして動作させる。なお、特許文献1において、VMコア11aは、ナビゲーション装置やオーディオ機器などといった、マルチメディア系の機能を提供するECUとして動作させてもよい旨が開示されている。また、特許文献1において、VMコア11aは、シートやパワーウインドーなどのボデー系のECUとして動作させてもよい旨が開示されている。
また、複数のコンピュータのうち、消費電力が過多であると判断されたコンピュータがあった場合は、該コンピュータから別のコンピュータに仮想マシンを移動させるシステムが知られている(例えば、特許文献2を参照)。
特開2019‐57162号公報 国際公開第2011/119444号
ところで、複数のプロセッサ上において複数の仮想マシンを動作させる場合、それら複数の仮想マシンの各々をどのプロセッサへ割り当てるのが適切であるのか、といった問題がある。
上記特許文献1に開示されている仮想マシンシステムは、仮想マシンのプロセッサへの割り当てを動的に変更することができない、という課題がある。
また、上記特許文献2に開示されているシステムにおいては、あるコンピュータから別のコンピュータに仮想マシンを移動させる場合、消費電力のみが考慮されている。このため、例えば、車両に搭載されているECU(Electronic Control Unit)のあるプロセッサ上において動作している仮想マシンを他のプロセッサへ割り当てる場合に、車両の状態を適切に考慮することができない、という課題がある。
このため、従来技術では、車両に搭載される複数のプロセッサ上において複数の仮想マシンを動作させる場合、車両の状態を考慮しつつ消費電力を低減させることができない、という課題がある。
本開示は、上記事実を考慮し、車両に搭載される複数のプロセッサ上において複数の仮想マシンを動作させる場合、車両の状態を考慮しつつ消費電力を低減させることができる、車両制御装置、車両制御方法、及び車両制御プログラムを提供することを目的とする。
請求項1に記載の車両制御装置は、車両制御を行う複数の仮想マシンを動作させる複数のプロセッサを備える車両制御装置であって、車両の状態を取得する取得部と、前記取得部により取得される前記車両の状態に基づいて、第1のプロセッサにおいて動作している対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する変更部と、前記変更部により割り当てが変更された第1のプロセッサの動作を終了させる終了部と、を備える車両制御装置である。
車両制御装置は、車両の状態に基づいて、第1のプロセッサにおいて動作している対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する。割り当てが変更された第1のプロセッサの動作を終了させる。これにより、車両に搭載される複数のプロセッサ上において複数の仮想マシンを動作させる場合、車両の状態を考慮しつつ消費電力を低減させることができる。
また、請求項2に記載の車両制御装置は、前記取得部により取得される前記車両の状態に基づいて、第1のプロセッサから第2のプロセッサへ割り当てを変更する対象の仮想マシンを特定する特定部を更に備え、前記変更部は、前記特定部により特定された前記対象の仮想マシンのプロセッサへの割り当てを変更する。これにより、車両の状態に応じて対象の仮想マシンが適切に特定され、対象の仮想マシンが動作していた第1のプロセッサを停止させることができる。
また、請求項3に記載の車両制御装置の前記特定部は、前記取得部により取得される前記車両の状態と、車両の状態と仮想マシンの動作状態とが予め対応付けられた動作状態情報とに基づいて、前記対象の仮想マシンを特定する。対象の仮想マシンの動作状態に応じてプロセッサの割り当てを適切に変更することができる。
請求項4に記載の車両制御装置の複数の動作状態は、プロセッサの使用率が異なる仮想マシンの複数の動作状態である。このため、プロセッサの使用率に応じて仮想マシンをプロセッサへ割り当てることができる。
請求項5に記載の車両制御装置の前記特定部は、特定の動作状態である仮想マシンを対象の仮想マシンとして特定する。これにより、特定の動作状態である仮想マシンをプロセッサへ適切に割り当てることができる。
請求項6に記載の車両制御装置は、前記取得部により取得される前記車両の状態に基づいて、第2のプロセッサを選定する選定部を更に備える。これにより、車両の状態に応じて第2のプロセッサを適切に選定することができる。
請求項7に記載の車両制御装置の前記変更部は、前記選定部により選定された第2のプロセッサにおいて対象の仮想マシンを動作させることが可能であるか否かを判定し、第2のプロセッサにおいて対象の仮想マシンを動作させることが可能である場合に、対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する。対象の仮想マシンを動作させることが可能であるか否かの判定結果に応じて、対象の仮想マシンを適切なプロセッサへ割り当てることができる。
請求項8に記載の車両制御装置の前記選定部は、所定の動作状態である仮想マシンが既に動作しているプロセッサを、第2のプロセッサとして選定する。これにより、既に仮想マシンが動作しているプロセッサへ他の仮想マシンを集約させることができる。
請求項9に記載の車両制御装置の複数の仮想マシンの各々は、所定の動作状態である場合に動作する対象のプロセッサが予め定められている。
請求項10に記載の車両制御装置の前記選定部は、外部との通信処理又は割込み処理を実行するプロセッサとは異なるプロセッサを、第2のプロセッサとして選定する。このため、外部との通信処理又は割込み処理を実行するプロセッサへの影響を抑制しつつ、プロセッサの割り当てを変更することができる。
請求項11に記載の車両制御装置の複数の仮想マシンの各々は、動作状態毎に、仮想マシンが許容することができる最大の計算周期を表す許容最大計算周期と、仮想マシンが許容することができる最小の計算時間を表す許容最小計算時間とが予め設定されており、前記変更部は、対象の仮想マシンの動作状態に対応する、許容最大計算周期及び許容最小計算時間の少なくとも一方に応じて、前記選定部により選定された第2のプロセッサにおいて対象の仮想マシンを動作させることが可能であるか否かを判定し、第2のプロセッサにおいて対象の仮想マシンを動作させることが可能である場合に、対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する。これにより、仮想マシンの許容最大計算周期及び許容最小計算時間を考慮してプロセッサの割り当てを変更することができる。
請求項12に記載の車両制御装置の前記車両の状態は、乗員の乗車の有無、車両の充電、イグニッションポジション、シフトポジション、及び運転モードのうち、少なくともいずれか1つに基づいて決定される状態である。これにより、乗員の乗車の有無、車両の充電、イグニッションポジション、シフトポジション、及び運転モードを考慮して、仮想マシンのプロセッサの割り当てを変更することができる。
請求項13に記載の車両制御方法は、車両制御を行う複数の仮想マシンを動作させる複数のプロセッサを備える車両制御装置において実行される車両制御方法であって、車両の状態を取得し、取得される前記車両の状態に基づいて、第1のプロセッサにおいて動作している対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更し、割り当てが変更された第1のプロセッサの動作を終了させる、処理をコンピュータが実行する車両制御方法である。
請求項14に記載の車両制御プログラムは、車両制御を行う複数の仮想マシンを動作させる複数のプロセッサを備える車両制御装置において実行される車両制御プログラムであって、車両の状態を取得し、取得される前記車両の状態に基づいて、第1のプロセッサにおいて動作している対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更し、割り当てが変更された第1のプロセッサの動作を終了させる処理をコンピュータに実行させるための車両制御プログラムである。
以上説明したように本開示によれば、車両に搭載される複数のプロセッサ上において複数の仮想マシンを動作させる場合、車両の状態を考慮しつつ消費電力を低減させることができる、という効果がある。
第1実施形態及び第2実施形態に係る車両制御システムのハードウエア構成の一例を示すブロック図である。 第1実施形態及び第2実施形態に係る車両制御システムの機能構成の一例を示すブロック図である。 仮想マシンのプロセッサへの割り当てを説明するための図である。 車両状態情報の一例を示す図である。 動作状態情報の一例を示す図である。 計算時間情報の一例を示す図である。 計算時間と計算周期とを説明するための図である。 車両状態情報、動作状態情報、及び計算時間情報から生成されるテーブルの一例を示す図である。 実施形態の動作例を示す図である。 本実施形態の動作例を示す図である。 割り当て情報の一例を示す図である。 第1実施形態の車両制御システムにおいて実行される車両制御処理の一例を示す図である。 第1実施形態の車両制御システムにおいて実行される割り当て判定処理の一例を示す図である。 第2実施形態の車両制御システムにおいて実行される割り当て判定処理の一例を示す図である。 変形例の一例を示す図である。
以下、図面を用いて本実施形態の車両制御システムについて説明する。
<第1実施形態>
図1は、第1実施形態に係る車両制御システム10のハードウエア構成の一例を示す図である。第1実施形態に係る車両制御システム10は、図1に示されるように、車載センサ群12と、アクチュエータ群14と、車両制御装置の一例であるECU(Electronic Control Unit)16とを備えている。なお、実施形態のECU16は、複数の機能が統合された統合ECUである。
本実施形態では、車両制御システム10が搭載される車両が、外部充電とエンジン発電との双方に対応したプラグインハイブリッド自動車であり、かつ自動運転及び手動運転のいずれも可能な車両である場合を例に説明する。なお、本実施形態の車両制御システム10は、ガソリン車、ハイブリッド車、又は電気自動車にも適用可能である。
ECU16は、複数のプロセッサ18A,18B,18C,・・・、一時記憶領域としてのメモリ20、及び不揮発性の記憶部22を備える。なお、プロセッサは、例えば、CPU(Central Processing Unit)である。また、ECU16は、入出力装置の一例である車載センサ群12及びアクチュエータ群14が接続される入出力interface(I/F)24、及び記録媒体32に対するデータの読み込み及び書き込みを制御するread/write(R/W)部26を備える。また、ECU16は、インターネット等のネットワークに接続されるネットワークI/F28を備える。複数のプロセッサ18A,18B,18C、メモリ20、記憶部22、入出力I/F24、R/W部26、及びネットワークI/F28は、バス30を介して互いに接続される。
図2は、実施形態に係る車両制御システム10の機能構成の一例を示すブロック図である。図2に示されるように、実施形態の車両制御システム10は、車載センサ群12と、アクチュエータ群14と、ECU16と、を備えている。
車載センサ群12は、車両の各箇所に設置されたセンサの集合である。車載センサ群12には、例えば、車両に乗員が乗車しているか否かを検出するためのセンサ、車両が充電中であるのか又はバッテリーのみであるのかを検出するためのセンサ、イグニッションポジションがONであるのかOFFであるのかを検出するためのセンサ、シフトポジションを検出するためのセンサ、及び運転モードが自動運転モードであるのか手動運転モードであるのかを検出するためのセンサ等が含まれている。これらの各センサはどのような構成であってもよい。
アクチュエータ群14は、車両の各箇所に設置されたアクチュエータの集合である。ECU16は、アクチュエータ群14に含まれる各アクチュエータを制御する。
ECU16は、複数のプロセッサ18A,18B,18C,・・・を備えている。なお、以下では、「複数のプロセッサ18A,18B,18C,・・・」を、単に「複数のプロセッサ18」と称する。車両制御を行う複数の仮想マシンは、複数のプロセッサ18上において動作する。図2に示されるように、ECU16は、機能的には、管理情報記憶部40と、ハイパーバイザ43と、割り当て情報記憶部54とを備えている。
従来、複数のECUによって車両の各箇所を制御することが知られている。それら複数のECUの各々の機能を、複数の仮想マシンによって実現することが可能である。
複数の仮想マシンをECUの代わりとして動作させることにより、ハードウェアコスト及び組み立てコスト等が低減される。この場合には、1つの仮想マシンが、ある機能を有するECUの替わりに動作する。
また、複数の仮想マシンの各々を複数のプロセッサに対して動的に割り当てることも可能となる。複数の仮想マシンの各々に対してプロセッサを動的に割り当てる際には、仮想マシンの機能上の制約を考慮する必要がある。また、仮想マシンが動作する際に必要となる計算能力を有するプロセッサへ当該仮想マシンを割り当てる必要がある。
例えば、複数の仮想マシンの各々が複数のプロセッサ上において動作している場合を考える。この場合、ある1つのプロセッサ上において複数の仮想マシンが動作している。複数の仮想マシンの各々は、車両の各箇所の制御を担っている。その際に、その1つのプロセッサを停止させてしまうと、当該プロセッサ上で動作している複数の仮想マシンの動作も停止してしまう。仮想マシンの各々は、車両の各箇所の制御を担っているため、それらの仮想マシンを停止させてもよいのか否かは、車両の状態に応じて異なる。
例えば、車両の状態として車両が自動運転モードにより走行している際には、自動運転系の機能を制御する仮想マシンは動作し続ける必要があり、他のプロセッサへ集約することはできない。一方、車両の状態として車両が停止している際には、自動運転系の機能を制御する仮想マシンは、他のプロセッサへ集約してもよい場合がある。
そこで、本実施形態の車両制御システム10は、車両の状態を考慮して仮想マシンを特定のプロセッサへ集約させる。そして、車両制御システム10は、動作する対象の仮想マシンが存在しなくなったプロセッサを停止させる。これにより、車両の状態を考慮しつつ消費電力を低減させることができる。
なお、動作する対象の仮想マシンを特定のプロセッサへ集約させる際には、新たに割り当てられるプロセッサにおいて、対象の仮想マシンが適切に動作することが必要である。例えば、仮想マシンは所定の計算時間内に処理を終了させる場合、そのような計算能力を有するプロセッサ上で動作させる必要がある。このため、本実施形態の車両制御システムは、仮想マシンが割り当て先のプロセッサ上において適切に動作するか否かを考慮して、新たに割り当てるプロセッサを選定する。これにより、仮想マシンは新たに割り当てられたプロセッサ上において適切に動作することができる。
以下、具体的に説明する。
本実施形態のハイパーバイザ43は、複数のプロセッサ18の何れかのプロセッサ上で動作する。ハイパーバイザ43及び仮想マシン42A,42B,42C,・・・は、複数のプロセッサ18のうちの何れかのプロセッサ上で実行されるソフトウエアである。
具体的には、ハイパーバイザ43は、図3に示されるように、ECU16において動作する複数の仮想マシン42A,42B,42C,・・・の各々を、複数のプロセッサ18の何れかへ割り当てる処理を実行する。なお、以下では、「複数の仮想マシン42A,42B,42C,・・・」を、単に「複数の仮想マシン42」と称する。
管理情報記憶部40には、複数の仮想マシン42の各々をプロセッサへ割り当てる処理を実行する際に用いられる車両状態情報、動作状態情報、及び計算時間情報が記憶されている。
図4に、車両状態情報の一例を示す。図4に示されている車両状態情報には、車両の状態と、車両に乗員が乗車しているか否かを表す乗車情報と、車両が充電されているか否かを表す充電情報と、車両の利用可能な機能に関する情報を表すイグニッションポジションと、車両の駆動に関する情報を表すシフトポジションと、車両の運転モードを表す情報とが対応付けられている。このため、車両の状態は、乗員の乗車の有無、車両の充電、イグニッションポジション、シフトポジション、及び運転モードに応じて決定される。なお、シフトポジション「P」はパーキングを表し、シフトポジション「D」はドライブを表す。なお、上記車両の状態を決定する情報(乗車情報、充電情報等)は、あくまで一例であって、車載センサによって取得される一つの情報、あるいはその組合せに基づけばよい。
例えば、車両に乗員が乗車しており(図4における「有」)、車両が充電されており(図4における「充電中」)、イグニッションポジションが「OFF」であり、シフトポジションが「P」であり、車両の運転モードが「自動運転モード」である場合には、車両の状態は「1」である。
車両の状態「1」は、車両が停止しておりかつ乗員が乗車する際の場面を表している。また、車両の状態「2」は、車両が走行中の場面を表している。車両の状態「3」は、車両が停止しかつ乗員が降車する際の場面を表している。また、車両の状態「4」は、車両が自動運転モードで走行中の場面を表している。ハイパーバイザ43は、この車両の状態に基づき仮想マシンをプロセッサへ割り当る。
また、管理情報記憶部40には、図5に示されるような動作状態情報が格納されている。図5に示されるように、動作状態情報は、仮想マシンの種類を表す情報と、車両の状態と、仮想マシンの動作状態とが対応付けられている。なお、本実施形態では、自動運転系の仮想マシン、周辺監視系の仮想マシン、操作系の仮想マシン、及びボデー系の仮想マシンを用いる場合を例に説明する。自動運転系の仮想マシンは、車両における自動運転に関する制御を実行する。また、周辺監視系の仮想マシンは、車両周辺の外部監視に関する制御を実行する。また、操作系の仮想マシンは車両の走行(例えば、走行する、曲がる、及び停止する等)に関する制御を実行する。また、ボデー系の仮想マシンは、車両の各機器(例えば、窓の開閉又はワイパーの駆動等)に関する制御を実行する。
また、仮想マシンの動作状態は、プロセッサの使用率が異なる仮想マシンの複数の動作状態である。例えば、「Real Time」、「Best Effort」、及び「Sleep」が複数の動作状態として予め設定される。「Real Time」とは、仮想マシンが一定の計算周期で特定の処理を必ず実行する必要がある動作状態である。また、「Best Effort」は、「Real Time」に比べて計算周期及び計算時間が厳密に要求されない処理を実行する動作状態である。「Sleep」は、仮想マシンによる計算を必要としない動作状態である。
図5に示されるように、車両の状態「1」は運転モードが「自動運転モード」であるが、イグニションが「OFF」であるため、車両は停止している状態である。このため、自動運転系の仮想マシンの動作状態は「Sleep」と設定されている。
また、自動運転の運転モードは「ON」又は「OFF」のみが想定されているため、自動運転系の仮想マシンの動作状態は「Sleep」と「Real Time」との2種類が想定されている。なお、あくまでも図5は一例であって、例えば、同じ自動運転系の仮想マシンであっても、駐車場内において自動運転を実施する場合と、一般道において自動運転を実施する場合とによってプロセッサの必要能力が異なる場合は、それぞれ異なる動作状態を設定するようにしてもよい。
また、管理情報記憶部40には、図6に示されるような計算時間情報が格納されている。図6に示されるように、計算時間情報は、仮想マシンの種類を表す情報と、動作状態と、許容最小計算時間と、許容最大計算周期とが対応付けられている。
図7に、計算時間と計算周期とを説明するための図を示す。図7は、1つのプロセッサ上において動作する複数の仮想マシンの様子を表した図である。なお、図中の「VM」は仮想マシンを表し、「HV」はハイパーバイザを表す。
図7に示されるように、計算周期とは、一定時間ごとにある特定の仮想マシンの動作が繰り返される場合の、その一定時間をいう。また、図7に示されるように、計算時間とは、ある特定の仮想マシンの動作が開始される時刻と動作が終了する時刻との間の時間をいう。図7に示されるように、1つのプロセッサの上において複数の仮想マシンが動作する場合、ハイパーバイザ43は、ある仮想マシンを別の仮想マシンへ切り替えて1つのプロセッサ上で動作させる。
この場合、1計算周期には、各仮想マシンの計算時間とハイパーバイザ43による仮想マシンの切り替えの時間とが含まれている。ハイパーバイザ43は、各仮想マシンに対してどれだけの計算時間を割り当てるかを決定し、仮想マシンの動作を切り替える。
複数の仮想マシンの各々は実行すべき処理内容が異なるため、必要とする計算周期及び計算時間も異なる。このため、各仮想マシンに対しては、許容することができる最大の計算周期を表す許容最大計算周期が予め設定されている。また、各仮想マシンに対しては、許容することができる最小の計算時間を表す許容最小計算時間が予め設定されている。
なお、図4の車両状態情報、図5の動作状態情報、及び図6の計算時間情報を統合し、図8に示されるようなテーブルを生成して用いるようにしてもよい。
ハイパーバイザ43は、車載センサ群12から得られる情報と、管理情報記憶部40に格納された各情報とに基づいて、複数の仮想マシン42の各々を複数のプロセッサ18の何れかのプロセッサへ割り当てる。
ハイパーバイザ43は、機能的には、図2に示されるように、取得部44と、特定部46と、選定部48と、変更部50と、切替部51と、終了部52とを備えている。
取得部44は、車両の状態を取得する。具体的には、取得部44は、管理情報記憶部40に格納された車両状態情報を参照し、車載センサ群12から出力された各情報に対応する車両の状態を取得する。例えば、車載センサ群12から、乗員の乗車「有」、充電「充電中」、イグニッションポジション「OFF」、ションポジション「P」、及び運転モード「自動運転モード」である旨の情報が出力された場合、ハイパーバイザ43の取得部44は図4に示す車両状態情報を参照し、車両の状態「1」を取得する。これにより、車両の状態が特定される。
特定部46は、取得部44により取得された車両の状態に基づいて、一のプロセッサから他のプロセッサへ割り当てを変更する対象の仮想マシンを特定する。一のプロセッサは「第1のプロセッサ」の一例である。また、他のプロセッサは「第2のプロセッサ」の一例である。なお、特定部46は、特定の動作状態の一例である「Best Effort」の仮想マシンを対象の仮想マシンとして特定する
選定部48は、取得部44により取得された車両の状態に基づいて、対象の仮想マシンを新たに割り当てる他のプロセッサを選定する。なお、選定部48は、所定の動作状態の一例である「Real Time」の動作状態である仮想マシンが既に動作しているプロセッサを、他のプロセッサとして選定する。なお、複数の仮想マシンの各々は、動作状態が「Real Time」である場合に動作する対象のプロセッサが予め定められている。
また、選定部48は、複数のプロセッサ18のうちの、外部との通信処理又は割込み処理を実行するプロセッサとは異なるプロセッサを、仮想マシンを集約する他のプロセッサの候補として選定する。
変更部50は、取得部44により取得された車両の状態に基づいて、一のプロセッサにおいて動作している対象の仮想マシンが他のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する。なお、対象の仮想マシンは特定部46により特定された仮想マシンである。
具体的には、変更部50は、選定部48により選定された他のプロセッサにおいて対象の仮想マシンを動作させることが可能であるか否かを判定する。そして、変更部50は、他のプロセッサにおいて対象の仮想マシンを動作させることが可能である場合に、対象の仮想マシンが他のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する。
管理情報記憶部40に格納されている計算時間情報には、複数の仮想マシンの各々の動作状態毎に、許容最小計算時間Tmと許容最大計算周期Tpとが予め設定されている。このため、変更部50は、対象の仮想マシンの動作状態に対応する、許容最小計算時間Tmと許容最大計算周期Tpとに応じて、選定部48により選定された他のプロセッサにおいて対象の仮想マシンを動作させることが可能であるか否かを判定する。
具体的には、複数の仮想マシンの各々を複数のプロセッサ18の何れかに割り当てる際には、以下の制約条件が満たされるように、各仮想マシンがプロセッサへ割り当てられる。
(1)全ての仮想マシンの動作状態が「Real Time」である場合に割り当てるプロセッサは、設計段階において予め設定されている。
(2)車両の状態の変化の前後で、どちらの車両の状態であっても「Real Time」で動作する仮想マシンは、割り当てられているプロセッサを変更しない。
(3)動作状態が「Sleep」である仮想マシンは、いずれのプロセッサにも割り当てない。
(4)複数のプロセッサのうち、外部通信又は割込み処理を行うプロセッサに対しては仮想マシンを割り当てない。
(5)動作しているプロセッサの数を減らすように複数の仮想マシンがプロセッサへ集約される。
変更部50は、n個の仮想マシンVM1,VM2,VM3,・・・VMnを1つのプロセッサへ割り当て、当該プロセッサ上において動作させる場合、n個の仮想マシンの各々の許容最大計算周期のうちの最も小さい許容最大計算周期を表す最小計算周期Tp,minを特定する。そして、変更部50は、最小計算周期Tp,minの時間内において、n個の仮想マシンの切り替えを行うことが可能か否かを判定する。
切替部51は、複数のプロセッサの各々について、当該プロセッサ上において動作する仮想マシンを切り替える。複数のプロセッサの各々は、仮想マシンを切り替えながら動作する。最小計算周期Tp,minの時間内において、ハイパーバイザ43がn個の仮想マシンを切り替えるためには、ハイパーバイザ43の切替部51もn回動作する必要がある。したがって、ハイパーバイザ43の切替部51による仮想マシンの切り替えの計算時間をThvとする場合、以下の条件式を満たせば、n個の仮想マシンを1つのプロセッサへ割り当てることが可能となる。このため、変更部50は、最小計算周期Tp,minと、切り替えの計算時間Thvと、各仮想マシンの許容最小計算時間Tmとに基づいて、以下の条件式(1)が成立するか否かを判定する。なお、xは仮想マシンを識別するためのインデックスである。また、nは仮想マシンの数を表す。
Figure 2021124902

(1)
図9に、車両の状態が「4」から「3」への移行する場合の例を示す。図9に示されるように、車両の状態「4」においては、全ての仮想マシンの動作状態が「Real Time」である。このため、これらの仮想マシンの各々は、予め決定されている各プロセッサB,C,Dにおいて動作している。そして、車両の状態が「4」から「3」へ移行する際には、自動運転系の仮想マシンの動作状態は「Real Time」→「Sleep」へ移行する。また、操作系の仮想マシン及びボデー系の仮想マシンは、動作状態が「Real Time」から「Best Effort」へ移行する。
この場合、車両の状態「3」では、周辺監視系の仮想マシンのみが「Real Time」の動作状態を継続して動作する。このため、上記の制約条件(2)により、周辺監視系の仮想マシンは、プロセッサBにおいて継続して動作する必要がある。
一方、操作系の仮想マシン及びボデー系の仮想マシンは、動作状態が「Real Time」から「Best Effort」へと変化している。このため、操作系の仮想マシン及びボデー系の仮想マシンは、他のプロセッサにおいて動作させることが可能となる。
変更部50は、上記の制約条件(5)により、操作系の仮想マシンとボデー系の仮想マシンとを、他のプロセッサであるプロセッサBへ集約することが可能か否かについて判定する。
車両の状態が「4」から「3」へ変化する場合、周辺監視系の仮想マシン、操作系の仮想マシン、及びボデー系の仮想マシンを1つのプロセッサへ集約することが可能であるか否かを判定する例を以下に示す。
上記図6に示されている計算時間情報を参照すると、各仮想マシンのうち許容最大計算周期Tpが最も短い仮想マシンは周辺監視系の仮想マシンである。このため、周辺監視系の仮想マシンに対応する許容最大計算周期Tp=30msが最小計算周期Tp,minとなる。したがって、上記条件式(1)の右辺は以下の式のようになる。
Figure 2021124902
一方、周辺監視系の仮想マシン、操作系の仮想マシン、及びボデー系の仮想マシンの3つの仮想マシンがあるため、ハイパーバイザ43の切り替え回数も3回となる。仮にハイパーバイザ43の切り替え時間を1msとする。この場合、上記条件式(1)の左辺は以下のようになる。
Figure 2021124902
以上より、上記条件式(1)が満たされるため、図10に示されるように、プロセッサBに3種類の仮想マシンの全てを割り当てることが可能となる。なお、仮にプロセッサBへ3つの仮想マシンを割り当てることができないと判定された場合には、順次、仮想マシンを一つずつ減らして同様の計算を行うことが考えられる。更に、割り当てることができなかった仮想マシンについては、他のプロセッサへ割り当てられる。
次に、変更部50は、対象の仮想マシンを動作させることが可能であると判定された他のプロセッサと当該対象の仮想マシンとの組み合わせ表す割り当て情報を、割り当て情報記憶部54に格納する。
割り当て情報記憶部54には、複数の仮想マシンの各々について、どの仮想マシンがどのプロセッサへ割り当てられるのかを表す情報が格納されている。
割り当て情報記憶部54には、図11に示されるような割り当て情報が格納されている。図11に示されるように、割り当て情報は、対象の仮想マシンと当該対象の仮想マシンに割り当てられるプロセッサとが対応付けられている。
そして、変更部50は、他のプロセッサにおいて対象の仮想マシンを動作させることが可能である場合に、対象の仮想マシンが他のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する。具体的には、変更部50は、割り当て情報記憶部54に格納された割り当て情報を参照して、対象の仮想マシンへのプロセッサの割り当てを変更する。
終了部52は、変更部50により仮想マシンの割り当てが変更された一のプロセッサの動作を終了させる。
次に、実施形態の車両制御システム10の作用について説明する。車両制御システム10のECU16は、車載センサ群12から出力された情報を受け付ける毎に、図12に示す車両制御処理ルーチンを実行する。
ステップS100において、ECU16のハイパーバイザ43の取得部44は、車載センサ群12から出力された情報に応じて、車両の状態を取得する。具体的には、取得部44は、管理情報記憶部40に格納された車両状態情報を参照し、車載センサ群12から出力された各情報に対応する車両の状態を取得する。
ステップS102において、ハイパーバイザ43の特定部46は、上記ステップS100で取得された車両の状態に基づいて、複数の仮想マシン42の各々の車両の状態に応じた動作状態を取得する。具体的には、ハイパーバイザ43の特定部46は、管理情報記憶部40に格納された仮想マシン動作状態情報を参照し、複数の仮想マシンの各々の動作状態を取得する。例えば、ハイパーバイザ43の特定部46は、上記ステップS100で取得された車両の状態が「1」である場合、自動運転系の仮想マシンの動作状態は「Sleep」であり、周辺監視系の仮想マシンの動作状態は「Sleep」であり、操作系の仮想マシンの動作状態は「Sleep」であり、ボデー系の仮想マシンの動作状態は「Best Effort」であるとして、各仮想マシンの動作状態を取得する。
ステップS104において、ハイパーバイザ43の特定部46は、上記ステップS102で取得された複数の仮想マシン42の各々の動作状態と、新たな車両の状態が取得される前の複数の仮想マシンの各々の動作状態とに基づいて、「Real Time」の動作状態(図中では「RT」と表記)が継続する仮想マシンが存在するか否かを判定する。「Real Time」の動作状態が継続する仮想マシンが存在する場合には、ステップS106へ進む。一方、「Real Time」の動作状態が継続する仮想マシンが存在しない場合には、ステップS108へ進む。
ステップS106において、ハイパーバイザ43の選定部48は、上記ステップS102で取得された複数の仮想マシンの各々の動作状態に基づいて、動作状態が「Real Time」である仮想マシンが動作しているプロセッサを特定する。そして、ハイパーバイザ43の選定部48は、動作状態が「Real Time」である仮想マシンが動作しているプロセッサを、仮想マシンを割り当てる候補のプロセッサとして設定する。
動作状態が「Real Time」である仮想マシンが割り当てられているプロセッサは稼働が継続されるため、当該プロセッサへ他の仮想マシンを集約させることが好ましい。仮想マシンの集約により、仮想マシンが割り当てられなくなったプロセッサについては停止させることができるためである。このため、ハイパーバイザ43の選定部48は、動作状態が「Real Time」である仮想マシンが動作しているプロセッサを、仮想マシンを割り当てる候補のプロセッサとして設定する。
ステップS108において、ハイパーバイザ43の選定部48は、全てのプロセッサを仮想マシンの割り当て候補のプロセッサとして設定する。
ステップS110において、ハイパーバイザ43の選定部48は、上記ステップS100で取得された車両の状態に基づいて、対象のプロセッサを割り当てる先のプロセッサを選定する。ステップS110は、図13に示す割り当て判定処理ルーチンによって実現される。
ステップS200において、ハイパーバイザ43の特定部46は、割り当て先のプロセッサが決定していない複数の仮想マシンを特定する。なお、ここで設定される複数の仮想マシンは、動作状態が「Real Time」とは異なる動作状態の仮想マシンである。具体的には、動作状態が「Best Effort」である仮想マシンが、割り当て先のプロセッサが変更される対象の仮想マシンとして特定される。
ステップS202において、ハイパーバイザ43の選定部48は、複数のプロセッサ18のうちの1つのプロセッサを選定する。ここで選定されるプロセッサは、動作状態が「Real Time」である仮想マシンが既に割り当てられているプロセッサである。
ステップS204において、ハイパーバイザ43の変更部50は、管理情報記憶部40に格納された計算時間情報を参照し、上記ステップ200で特定された対象の仮想マシンの動作状態に基づいて、対象の仮想マシンの各々の動作状態に対応する許容最小計算時間Tmを取得する。
ステップS206において、ハイパーバイザ43の変更部50は、管理情報記憶部40に格納された計算時間情報を参照し、上記ステップ200で特定された対象の仮想マシンの動作状態に基づいて、複数の仮想マシンの各々の許容最大計算周期Tpに応じた最小計算周期Tp,minを取得する。
ステップS208において、ハイパーバイザ43の変更部50は、上記ステップS204で取得された複数の対象の仮想マシンの許容最小計算時間Tm及び最小計算周期Tp,minに基づいて、上記条件式(1)が成立するか否かを判定する。なお、上記条件式(1)におけるThvは、切替部51が仮想マシンを切り替える際に要する計算処理時間を表す。
ステップS208において、条件式(1)による判定が行われ、上記条件式(1)が成立すると判定された場合、ステップS210へ移行する。一方、上記条件式(1)が成立しないと判定された場合、ステップS212へ移行する。
ステップS210において、ハイパーバイザ43の選定部48は、上記ステップS208で条件式(1)が成立すると判定された、対象の仮想マシンと割り当て先のプロセッサとの組み合わせを割り当て情報記憶部54に格納する。
ステップS212において、ハイパーバイザ43の選定部48は、割り当て候補のプロセッサの全てについて、上記ステップS202〜ステップS208の処理を実行したか否かを判定する。割り当て候補のプロセッサの全てについて、上記ステップS202〜ステップS208の処理を実行した場合には、ステップS214へ進む。一方、上記ステップS202〜ステップS208の処理を実行していない、割り当て候補のプロセッサが存在する場合には、ステップS202へ戻り、新たなプロセッサが設定される。
ステップS214において、ハイパーバイザ43の選定部48は、対象の仮想マシンの全てについて割り当て先のプロセッサが決定したか否かを判定する。対象の仮想マシンの全てについて割り当て先のプロセッサが決定した場合には、割り当て処理ルーチンを終了する。一方、割り当て先のプロセッサが決定していない仮想マシンが存在する場合には、ステップS200へ移行し、その仮想マシンの割り当て先プロセッサの判定処理がなされる。
次に、図12のステップS112へ戻り、ステップS112において、変更部50は、上記ステップS201で割り当て情報記憶部54に格納された割り当て情報に基づいて、あるプロセッサにおいて動作している対象の仮想マシンが他のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する。
ステップS114において、終了部52は、上記ステップS112で割り当てが変更され、仮想マシンが割り当てられていないプロセッサの動作を終了させる。そして、ハイパーバイザ43の切替部51は、割り当て情報に基づいて、プロセッサ上で動作する仮想マシンを切り替える。複数のプロセッサの各々は、仮想マシンを切り替えながら動作する。
これにより、複数の仮想マシンの各々が特定のプロセッサへ集約され、仮想マシンが割り当てられなくなったプロセッサを終了又は停止させることができる。これにより、車両の状態を考慮しつつ消費電力を低減させることができる。
以上説明したように、実施形態に係るECUは、車両の状態に基づいて、一のプロセッサにおいて動作している対象の仮想マシンが他のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更し、割り当てが変更された一のプロセッサの動作を終了させる。これにより、車両に搭載される複数のプロセッサ上において複数の仮想マシンを動作させる場合、車両の状態を考慮しつつ消費電力を低減させることができる。また、車両の状態に応じて、プロセッサの割り当てを変更する対象の仮想マシンを特定することにより、仮想マシンのプロセッサ間の移動が車両の動作に与える影響を抑制することができる。また、車両の状態に応じた動作状態が適切に実現されるように、各仮想マシンに対してプロセッサを割り当てることができる。
<第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態に係る車両制御システムの構成は、第1実施形態と同様であるため、同一符号を付して説明を省略する。
第2実施形態に係る車両制御システム10は、プロセッサの割り当てを変更する際の判定方法が第1実施形態と異なる。
第2実施形態の車両制御システム10の作用について説明する。第2車両制御システム10のECU16は、車載センサ群12から出力された情報を受け付ける毎に、第1実施形態と同様に、図12に示す車両制御処理ルーチンを実行する。
第2実施形態の車両制御システム10は、第1実施形態と同様に、図12のステップS100〜ステップS114を実行する。なお、ステップS110の割り当て判定処理が第1実施形態と異なる。第2実施形態のステップS110は、図14に示す割り当て判定処理ルーチンによって実現される。
図14に示す割り当て判定処理ルーチンのステップS200〜ステップS208、及びステップS214は、第1実施形態と同様である。
ステップS208において、上記条件式(1)が成立しないと判定された場合、ステップS311に移行する。
ステップS311において、第2実施形態の変更部50は、複数の仮想マシンのうち1つの仮想マシンを割り当て対象の仮想マシンから除外し、仮想マシンの数を1減ずる。
ステップS312において、第2実施形態の変更部50は、割り当て対象の仮想マシンの数に応じた判定処理を行い、割り当て対象の仮想マシンの数は0となったか否かを判定する。割り当て対象の仮想マシンの数は0となった場合には、ステップS313へ進む。一方、割り当て対象の仮想マシンの数が0ではない場合には、ステップS204へ戻り、残りの仮想マシンについて割り当ての変更が可能であるか否かが判定される。
ステップS313において、第2実施形態の変更部50は、割り当て候補のプロセッサの全てについて、上記ステップS204〜ステップS312の処理を実行したか否かを判定する。割り当て候補のプロセッサの全てについて、上記ステップS204〜ステップS312の処理を実行した場合には、ステップS214へ進む。一方、上記ステップS204〜ステップS312の処理を実行していない、割り当て候補のプロセッサが存在する場合には、ステップS202へ戻り、新たなプロセッサが設定される。
第1実施形態では、割り当て候補のプロセッサを順次変更しながら、複数の仮想マシンを割り当てることが可能なプロセッサが特定される。これに対し、第2実施形態では、複数の仮想マシンがあるプロセッサへ割り当てることができないと判定された場合、複数の仮想マシンのうちの1つの仮想マシンを除外して、再度そのプロセッサへ割り当てが可能であるか否かが判定される。これにより、プロセッサが有する計算資源を有効に活用しつつ、消費電力を低減させることができる。
なお、上記の実施形態における各装置で行われる処理は、プログラムを実行することにより行われるソフトウエア処理として説明したが、ハードウエアで行う処理としてもよい。或いは、ソフトウエア及びハードウエアの双方を組み合わせた処理としてもよい。また、ROMに記憶されるプログラムは、各種記憶媒体に記憶して流通させるようにしてもよい。
さらに、本開示は、上記に限定されるものでなく、上記以外にも、その主旨を逸脱しない範囲内において種々変形して実施可能であることは勿論である。
例えば、上記各実施形態では、ハイパーバイザ43が、車両の状態に基づき一のプロセッサにおいて動作している対象の仮想マシンが他のプロセッサにおいて動作するか否かを判定する場合を例に説明したが、これに限定されるものではない。例えば、図15に示されるような車両制御システム210であってもよい。図15に示される車両制御システム210は、仮想マシン242Aが、車両の状態に基づき一のプロセッサにおいて動作している対象の仮想マシンが他のプロセッサにおいて動作するか否かを判定し、仮想マシンとプロセッサとの組み合わせである割り当て情報を割り当て情報記憶部54に格納する。そして、ハイパーバイザ243の変更部250が、割り当て情報記憶部54に格納された割り当て情報を参照し、一のプロセッサにおいて動作している対象の仮想マシンが他のプロセッサにおいて動作させるように、複数の仮想マシンを制御する。また、ハイパーバイザ243の切替部251が、複数のプロセッサの各々について、当該プロセッサ上において動作する仮想マシンを切り替える。
また、上記各実施形態のハイパーバイザ43内の取得部44は、ECU16の外部に存在していてもよく、例えば、車載センサ群12のうちの何れかのセンサに備えられていてもよい。
10,210 車両制御システム
12 車載センサ群
14 アクチュエータ群
18A,18B,18C プロセッサ
40 管理情報記憶部
42A,42B,42C,242A 仮想マシン
43,243 ハイパーバイザ
44 取得部
46 特定部
48 選定部
50,250 変更部
51,251 切替部
52 終了部
54 割り当て情報記憶部

Claims (14)

  1. 車両制御を行う複数の仮想マシンを動作させる複数のプロセッサを備える車両制御装置であって、
    車両の状態を取得する取得部と、
    前記取得部により取得される前記車両の状態に基づいて、第1のプロセッサにおいて動作している対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する変更部と、
    前記変更部により割り当てが変更された第1のプロセッサの動作を終了させる終了部と、
    を備える車両制御装置。
  2. 前記取得部により取得される前記車両の状態に基づいて、第1のプロセッサから第2のプロセッサへ割り当てを変更する対象の仮想マシンを特定する特定部を更に備え、
    前記変更部は、前記特定部により特定された前記対象の仮想マシンのプロセッサへの割り当てを変更する、
    請求項1に記載の車両制御装置。
  3. 前記特定部は、前記取得部により取得される前記車両の状態と、車両の状態と仮想マシンの動作状態とが予め対応付けられた動作状態情報とに基づいて、前記対象の仮想マシンを特定する、
    請求項2に記載の車両制御装置。
  4. 複数の動作状態は、プロセッサの使用率が異なる仮想マシンの複数の動作状態である、
    請求項3に記載の車両制御装置。
  5. 前記特定部は、特定の動作状態である仮想マシンを対象の仮想マシンとして特定する、
    請求項4に記載の車両制御装置。
  6. 前記取得部により取得される前記車両の状態に基づいて、第2のプロセッサを選定する選定部を更に備える、
    請求項2〜請求項5の何れか1項に記載の車両制御装置。
  7. 前記変更部は、前記選定部により選定された第2のプロセッサにおいて対象の仮想マシンを動作させることが可能であるか否かを判定し、第2のプロセッサにおいて対象の仮想マシンを動作させることが可能である場合に、対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する、
    請求項6に記載の車両制御装置。
  8. 前記選定部は、所定の動作状態である仮想マシンが既に動作しているプロセッサを、第2のプロセッサとして選定する、
    請求項6又は請求項7に記載の車両制御装置。
  9. 複数の仮想マシンの各々は、所定の動作状態である場合に動作する対象のプロセッサが予め定められている、
    請求項8に記載の車両制御装置。
  10. 前記選定部は、外部との通信処理又は割込み処理を実行するプロセッサとは異なるプロセッサを、第2のプロセッサとして選定する、
    請求項6〜請求項9の何れか1項に記載の車両制御装置。
  11. 複数の仮想マシンの各々は、動作状態毎に、仮想マシンが許容することができる最大の計算周期を表す許容最大計算周期と、仮想マシンが許容することができる最小の計算時間を表す許容最小計算時間とが予め設定されており、
    前記変更部は、対象の仮想マシンの動作状態に対応する、許容最大計算周期及び許容最小計算時間の少なくとも一方に応じて、前記選定部により選定された第2のプロセッサにおいて対象の仮想マシンを動作させることが可能であるか否かを判定し、第2のプロセッサにおいて対象の仮想マシンを動作させることが可能である場合に、対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更する、
    請求項6〜請求項10の何れか1項に記載の車両制御装置。
  12. 前記車両の状態は、乗員の乗車の有無、車両の充電、イグニッションポジション、シフトポジション、及び運転モードのうち、少なくともいずれか1つに基づいて決定される状態である、
    請求項1〜請求項11の何れか1項に記載の車両制御装置。
  13. 車両制御を行う複数の仮想マシンを動作させる複数のプロセッサを備える車両制御装置において実行される車両制御方法であって、
    車両の状態を取得し、
    取得される前記車両の状態に基づいて、第1のプロセッサにおいて動作している対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更し、
    割り当てが変更された第1のプロセッサの動作を終了させる、
    処理をコンピュータが実行する車両制御方法。
  14. 車両制御を行う複数の仮想マシンを動作させる複数のプロセッサを備える車両制御装置において実行される車両制御プログラムであって、
    車両の状態を取得し、
    取得される前記車両の状態に基づいて、第1のプロセッサにおいて動作している対象の仮想マシンが第2のプロセッサにおいて動作するように、対象の仮想マシンへのプロセッサの割り当てを変更し、
    割り当てが変更された第1のプロセッサの動作を終了させる、
    処理をコンピュータに実行させるための車両制御プログラム。
JP2020017283A 2020-02-04 2020-02-04 車両制御装置、車両制御方法、及び車両制御プログラム Pending JP2021124902A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020017283A JP2021124902A (ja) 2020-02-04 2020-02-04 車両制御装置、車両制御方法、及び車両制御プログラム
CN202110088102.3A CN113276831A (zh) 2020-02-04 2021-01-22 车辆控制装置、车辆控制方法以及车辆控制程序
EP21153147.0A EP3862878A1 (en) 2020-02-04 2021-01-25 Vehicle control device, vehicle control method and storage medium storing vehicle control program
US17/165,107 US20210240512A1 (en) 2020-02-04 2021-02-02 Vehicle control device, vehicle control method and storage medium storing vehicle control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020017283A JP2021124902A (ja) 2020-02-04 2020-02-04 車両制御装置、車両制御方法、及び車両制御プログラム

Publications (1)

Publication Number Publication Date
JP2021124902A true JP2021124902A (ja) 2021-08-30

Family

ID=74215807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020017283A Pending JP2021124902A (ja) 2020-02-04 2020-02-04 車両制御装置、車両制御方法、及び車両制御プログラム

Country Status (4)

Country Link
US (1) US20210240512A1 (ja)
EP (1) EP3862878A1 (ja)
JP (1) JP2021124902A (ja)
CN (1) CN113276831A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024048001A1 (ja) * 2022-09-01 2024-03-07 住友電気工業株式会社 車載システムおよび車載システムの制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010010723A1 (ja) * 2008-07-22 2010-01-28 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
JP2012185541A (ja) * 2011-03-03 2012-09-27 Denso Corp 車載装置、スケジューリングプログラム、及びスケジューリング方法
JP2018112837A (ja) * 2017-01-10 2018-07-19 株式会社東芝 仮想マシン管理装置、仮想マシン管理方法およびコンピュータプログラム
US20190004866A1 (en) * 2015-12-23 2019-01-03 Intel IP Corporation Virtual cpu consolidation to avoid physical cpu contention between virtual machines
JP2019179397A (ja) * 2018-03-30 2019-10-17 株式会社デンソー 電子制御装置及びマルチコアの割当て方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4955943B2 (ja) * 2005-06-28 2012-06-20 クラリオン株式会社 情報端末および計算機資源管理方法
US8627123B2 (en) 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
JP2012085823A (ja) * 2010-10-19 2012-05-10 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体
US10613606B2 (en) * 2016-03-17 2020-04-07 Intel Corporation Wireless component state based power management
US20190047581A1 (en) * 2017-08-14 2019-02-14 GM Global Technology Operations LLC Method and apparatus for supporting mission-critical applications via computational cloud offloading
JP6777050B2 (ja) 2017-09-21 2020-10-28 株式会社デンソー 仮想化システム、仮想化プログラム、及び、記憶媒体
JP6803431B2 (ja) 2019-08-13 2020-12-23 株式会社ブロードリーフ プログラム、情報処理装置及び情報処理方法
JP7259656B2 (ja) * 2019-09-04 2023-04-18 トヨタ自動車株式会社 車両の制御装置、車両の制御方法及び制御プログラム
US11039279B1 (en) * 2019-12-10 2021-06-15 BlueOwl, LLC Automated tracking of vehicle operation and synchronized media delivery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010010723A1 (ja) * 2008-07-22 2010-01-28 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
JP2012185541A (ja) * 2011-03-03 2012-09-27 Denso Corp 車載装置、スケジューリングプログラム、及びスケジューリング方法
US20190004866A1 (en) * 2015-12-23 2019-01-03 Intel IP Corporation Virtual cpu consolidation to avoid physical cpu contention between virtual machines
JP2018112837A (ja) * 2017-01-10 2018-07-19 株式会社東芝 仮想マシン管理装置、仮想マシン管理方法およびコンピュータプログラム
JP2019179397A (ja) * 2018-03-30 2019-10-17 株式会社デンソー 電子制御装置及びマルチコアの割当て方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024048001A1 (ja) * 2022-09-01 2024-03-07 住友電気工業株式会社 車載システムおよび車載システムの制御方法

Also Published As

Publication number Publication date
CN113276831A (zh) 2021-08-20
US20210240512A1 (en) 2021-08-05
EP3862878A1 (en) 2021-08-11

Similar Documents

Publication Publication Date Title
JP6245616B2 (ja) 制御システム及び方法
WO2007001014A1 (ja) 情報端末、計算機資源管理方法、および仮想マシンの実行切り替え方法
JP2011028559A (ja) 中継プログラムおよび電子制御装置
EP3789874B1 (en) Vehicle control device, vehicle control method, and recording medium storing vehicle control program
CN107885579A (zh) 虚拟机的负载均衡方法和计算机可读存储介质
JP2019179397A (ja) 電子制御装置及びマルチコアの割当て方法
JP2012185541A (ja) 車載装置、スケジューリングプログラム、及びスケジューリング方法
JP2021124902A (ja) 車両制御装置、車両制御方法、及び車両制御プログラム
CN114872645A (zh) 一种车载***应用管理方法、架构、车辆及介质
WO2021044810A1 (ja) コア割当装置及びコア割当方法
JP2014004858A (ja) 車両制御装置
WO2022138218A1 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
JP2019074851A (ja) 電子制御装置
CN116048784A (zh) 智能算法中算子的硬件动态分配方法及***
JP2019109744A (ja) 自動車用電子制御装置
CN112486142B (zh) 将虚拟化io架构和汽车应用集成在ecu的方法及***
WO2021010124A1 (ja) 車載装置、車両管理システム、リソース管理方法およびリソース管理プログラム
JP7447781B2 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
WO2024009656A1 (ja) 車両制御装置
WO2024048001A1 (ja) 車載システムおよび車載システムの制御方法
WO2022153876A1 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
JP7468308B2 (ja) 車載ecu、プログラム、及び情報処理方法
WO2023238563A1 (ja) リソース割当方法および装置、ならびにコンピュータプログラム
US20230289085A1 (en) Computer-implemented method for optimizing the memory of a partitioned system
KR102105681B1 (ko) 이기종 컴퓨팅 시스템의 제어 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240213