(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024139966
(43)【公開日】2024-10-10
(54)【発明の名称】演算処理装置及び演算処理方法
(51)【国際特許分類】
G06F 9/50 20060101AFI20241003BHJP
G06F 9/455 20180101ALI20241003BHJP
【FI】
G06F9/50 120B
G06F9/455 150
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023050931
(22)【出願日】2023-03-28
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110002941
【氏名又は名称】弁理士法人ぱるも特許事務所
(72)【発明者】
【氏名】森 健太郎
(57)【要約】
【課題】仮想化技術を用いた仮想化システムにおいて、複数のOSの起動の高速化、又は複数のOSの起動完了後の特定のアプリケーションシステムの高速化をできる演算処理装置及び演算処理方法を提供する。
【解決手段】規定数のOSの起動中に、全体起動中のOSに割り当てるリソースを、規定リソース分配に設定されている全体起動中のOSのリソースよりも多くし、起動済みのOSが特定のOSである場合は、特定のOSに割り当てるリソースを、規定リソース分配に設定されている特定のOSのリソースよりも少なくし、少なくした分を、全体起動中のOSに割り当てる演算処理装置。
【選択図】
図1
【特許請求の範囲】
【請求項1】
物理プロセッサ及び前記物理プロセッサが用いるメモリと、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化部と、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御部と、を備え、
前記動作制御部は、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動中の前記OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記全体起動中のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くし、起動済みの前記OSが特定の前記OSである場合は、前記特定のOSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記特定のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なくし、少なくした分を、前記全体起動中のOSに割り当てる演算処理装置。
【請求項2】
前記規定数のOSは、リアルタイムオペレーティングシステムであるRTOSを含み、
前記動作制御部は、前記仮想化システムの生成完了後、最初に前記RTOSを起動完了させる請求項1に記載の演算処理装置。
【請求項3】
前記特定のOSは、最後に起動される前記OS以外の単数又は複数の前記OSに設定されている請求項1に記載の演算処理装置。
【請求項4】
前記規定数のOSのそれぞれは、自らの前記OSの動作状態を監視する動作状態監視部を備え、
前記動作制御部は、前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動の開始前の前記OSに、前記規定リソース分配に設定されている前記全体起動の開始前のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なく、前記全体起動の開始前のOSの少なくとも前記動作状態監視部を動作させるための最小限の前記仮想プロセッサコアの数及び前記仮想メモリの領域を割り当てて、全体起動の開始前から前記OSの前記動作状態監視部を部分的に起動させて動作させ、
各前記OSの前記動作状態監視部は、対応する前記OSの起動状態を前記動作制御部に伝達し、
前記動作制御部は、各前記OSの前記動作状態監視部から伝達された各前記OSの起動状態に基づいて、前記起動完了順番に従って、各前記OSの全体起動を順番に開始し、前記規定数のOSを順番に起動完了させる請求項1に記載の演算処理装置。
【請求項5】
物理プロセッサ及び前記物理プロセッサが用いるメモリと、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化部と、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御部と、を備え、
前記動作制御部は、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSのそれぞれは、自らの前記OSの動作状態を監視する動作状態監視部を備え、
前記動作制御部は、前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動の開始前の前記OSに、前記規定リソース分配に設定されている前記全体起動の開始前のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なく、前記全体起動の開始前のOSの少なくとも前記動作状態監視部を動作させるための最小限の前記仮想プロセッサコアの数及び前記仮想メモリの領域を割り当てて、全体起動の開始前から前記OSの前記動作状態監視部を部分的に起動させて動作させ、
各前記OSの前記動作状態監視部は、対応する前記OSの起動状態を前記動作制御部に伝達し、
前記動作制御部は、各前記OSの前記動作状態監視部から伝達された各前記OSの起動状態に基づいて、前記起動完了順番に従って、各前記OSの全体起動を順番に開始し、前記規定数のOSを順番に起動完了させる演算処理装置。
【請求項6】
前記動作制御部は、前記規定リソース分配、及び全体起動中の前記OSごとに設定された前記リソース分配である全体起動中リソース分配が予め設定されたリソース分配テーブルデータを参照し、現在の起動状態に対応する前記規定リソース分配又は前記全体起動中リソース分配を読み出し、前記リソース分配として設定する請求項1から5のいずれか一項に記載の演算処理装置。
【請求項7】
前記物理プロセッサは、複数の物理プロセッサコアを備え、
前記仮想化システムは、各前記物理プロセッサコアに対して複数の前記仮想プロセッサコアを生成する請求項1から5のいずれか一項に記載の演算処理装置。
【請求項8】
前記動作制御部は、前記規定数のOSの起動完了後において、各前記OS上で実行される単数又は複数のアプリケーションシステムであるAppsに、予め設定された単数又は複数の特定の前記Appsが含まれる場合に、含まれた単数又は複数の前記特定のAppsから優先度の最も高い前記特定のAppsである最高優先度の特定のAppsを判定し、前記最高優先度の特定のAppsに対応した前記リソース分配である優先リソース分配を決定し、前記優先リソース分配を前記リソース分配として設定し、単数又は複数の前記特定のAppsが含まれない場合に、規定の前記リソース分配である規定リソース分配を決定し、前記規定リソース分配を前記リソース分配として設定し、
前記優先リソース分配において、前記最高優先度の特定のAppsが実行される前記OSである最高優先度対応OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定される前記最高優先度対応OSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くする請求項1から5のいずれか一項に記載の演算処理装置。
【請求項9】
物理プロセッサ及び前記物理プロセッサが用いるメモリと、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化部と、
前記仮想化システム上で動作する規定数のオペレーティングシステムであるOSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記規定数のOSを動作させる動作制御部と、を備え、
前記動作制御部は、前記規定数のOSの起動完了後において、各前記OS上で実行される単数又は複数のアプリケーションシステムであるAppsに、予め設定された単数又は複数の特定の前記Appsが含まれる場合に、含まれた単数又は複数の前記特定のAppsから優先度の最も高い前記特定のAppsである最高優先度の特定のAppsを判定し、前記最高優先度の特定のAppsに対応した前記リソース分配である優先リソース分配を決定し、前記優先リソース分配を前記リソース分配として設定し、単数又は複数の前記特定のAppsが含まれない場合に、規定の前記リソース分配である規定リソース分配を決定し、前記規定リソース分配を前記リソース分配として設定し、
前記優先リソース分配において、前記最高優先度の特定のAppsが実行されている前記OSである最高優先度対応OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記最高優先度対応OSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くする演算処理装置。
【請求項10】
前記動作制御部は、前記規定リソース分配、及び前記特定のAppsごとの前記優先リソース分配が予め設定されたリソース分配テーブルデータを参照し、現在の前記Appsの実行状態に対応する前記規定リソース分配又は前記優先リソース分配を読み出し、前記リソース分配として設定する請求項9に記載の演算処理装置。
【請求項11】
前記演算処理装置は、車両用の演算処理装置であり、
前記特定のAppsは、車両の緊急運転の前記Appsに設定され、前記車両の緊急運転のAppsの優先度が、他のAppsよりも高くされる請求項9又は10に記載の演算処理装置。
【請求項12】
前記演算処理装置は、車両用の演算処理装置であり、
前記特定のAppsは、車両の停車中のみに実行される停車中の前記Appsに設定され、前記停車中のAppsの優先度が、停車中以外にも実行される他のAppsよりも高くされる請求項9又は10に記載の演算処理装置。
【請求項13】
前記特定のAppsに設定される前記停車中のAppsは、演算処理装置のシャットダウン前に、前記OS及び前記Appsのアップデートを行うアップデートのAppsであり、前記アップデートのAppsの優先度が、停車中に実行される他のAppsよりも高くされる請求項12に記載の演算処理装置。
【請求項14】
以下の各ステップを物理プロセッサ及び前記物理プロセッサが用いるメモリに実行させる演算処理方法であって、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化ステップと、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御ステップと、を備え、
前記動作制御ステップでは、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動中の前記OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記全体起動中のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くし、起動済みの前記OSが特定の前記OSである場合は、前記特定のOSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記特定のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なくし、少なくした分を、前記全体起動中のOSに割り当てる演算処理方法。
【請求項15】
以下の各ステップを物理プロセッサ及び前記物理プロセッサが用いるメモリに実行させる演算処理方法であって、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化ステップと、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御ステップと、を備え、
前記動作制御ステップでは、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSのそれぞれは、自らの前記OSの動作状態を監視する動作状態監視部を備え、
前記動作制御ステップでは、前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動の開始前の前記OSに、前記規定リソース分配に設定されている前記全体起動の開始前のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なく、前記全体起動の開始前のOSの少なくとも前記動作状態監視部を動作させるための最小限の前記仮想プロセッサコアの数及び前記仮想メモリの領域を割り当てて、全体起動の開始前から前記OSの前記動作状態監視部を部分的に起動させて動作させ、
各前記OSの前記動作状態監視部から伝達された各前記OSの起動状態に基づいて、前記起動完了順番に従って、各前記OSの全体起動を順番に開始し、前記規定数のOSを順番に起動完了させる演算処理方法。
【請求項16】
以下の各ステップを物理プロセッサ及び前記物理プロセッサが用いるメモリに実行させる演算処理方法であって、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化ステップと、
前記仮想化システム上で動作する規定数のオペレーティングシステムであるOSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記規定数のOSを動作させる動作制御ステップと、を備え、
前記動作制御ステップでは、前記規定数のOSの起動完了後において、各前記OS上で実行される単数又は複数のアプリケーションシステムであるAppsに、予め設定された単数又は複数の特定の前記Appsが含まれる場合に、含まれた単数又は複数の前記特定のAppsから優先度の最も高い前記特定のAppsである最高優先度の特定のAppsを判定し、前記最高優先度の特定のAppsに対応した前記リソース分配である優先リソース分配を決定し、前記優先リソース分配を前記リソース分配として設定し、単数又は複数の前記特定のAppsが含まれない場合に、規定の前記リソース分配である規定リソース分配を決定し、前記規定リソース分配を前記リソース分配として設定し、
前記優先リソース分配において、前記最高優先度の特定のAppsが実行されている前記OSである最高優先度対応OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記最高優先度対応OSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くする演算処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
この本願は、演算処理装置及び演算処理方法に関するものである。
【背景技術】
【0002】
従来、仮想化技術により、複数のオペレーティングシステム(OS)を並列に実行可能な技術が知られている。例えば、特許文献1の技術では、2つのOSを、複数の仮想プロセッサコア上で並列に動作させている。
【0003】
特許文献2の技術では、仮想化システム上で、複数のOSを順番に起動完了させる際に、全てのOSの起動完了後に第1OSに割り当てられる仮想プロセッサコアの数よりも、第1OSの起動中に第1OSに割り当てられる仮想プロセッサコアの数が多くされており、第1OSの起動の高速化が図られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010-277177号公報
【特許文献2】特開2020-201762号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献2の技術では、最初に起動される第1OSの起動の高速化は図れるが、最後に起動されるOSの起動の高速化は図られていない。また、近年、車両用演算処理装置の機能が多岐に渡っており、3つ以上のOSが備えられる場合ある。しかし、特許文献2の技術では、3つ以上のOSが備えられる場合が考慮されておらず、中間的に起動されるOSの起動の高速化は図られていない。また、特許文献2の技術では、起動中のRAMの分配については考慮されておらず、起動の高速化には不十分である。
【0006】
また、特許文献2の技術では、複数のOSを並列に起動させる場合の、各OSの起動の高速化については考慮されていない。
【0007】
また、複数のOSの起動完了後において、各OSで実行される特定のアプリケーションシステムの動作を一時的に高速化することが望まれる。しかし、特許文献2の技術では、特定のアプリケーションシステムの動作を一時的に高速化させることについては考慮されていない。
【0008】
そこで、本願の目的は、仮想化技術を用いた仮想化システムにおいて、複数のOSの起動の高速化、又は複数のOSの起動完了後の特定のアプリケーションシステムの高速化をできる演算処理装置及び演算処理方法を提供することである。
【課題を解決するための手段】
【0009】
本願に係る第1の演算処理装置は、
物理プロセッサ及び前記物理プロセッサが用いるメモリと、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化部と、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御部と、を備え、
前記動作制御部は、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動中の前記OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記全体起動中のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くし、起動済みの前記OSが特定の前記OSである場合は、前記特定のOSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記特定のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なくし、少なくした分を、前記全体起動中のOSに割り当てるものである。
【0010】
本願に係る第2の演算処理装置は、
物理プロセッサ及び前記物理プロセッサが用いるメモリと、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化部と、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御部と、を備え、
前記動作制御部は、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSのそれぞれは、自らの前記OSの動作状態を監視する動作状態監視部を備え、
前記動作制御部は、前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動の開始前の前記OSに、前記規定リソース分配に設定されている前記全体起動の開始前のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なく、前記全体起動の開始前のOSの少なくとも前記動作状態監視部を動作させるための最小限の前記仮想プロセッサコアの数及び前記仮想メモリの領域を割り当てて、全体起動の開始前から前記OSの前記動作状態監視部を部分的に起動させて動作させ、
各前記OSの前記動作状態監視部は、対応する前記OSの起動状態を前記動作制御部に伝達し、
前記動作制御部は、各前記OSの前記動作状態監視部から伝達された各前記OSの起動状態に基づいて、前記起動完了順番に従って、各前記OSの全体起動を順番に開始し、前記規定数のOSを順番に起動完了させるものである。
【0011】
本願に係る第3の演算処理装置は、
物理プロセッサ及び前記物理プロセッサが用いるメモリと、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化部と、
前記仮想化システム上で動作する規定数のオペレーティングシステムであるOSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記規定数のOSを動作させる動作制御部と、を備え、
前記動作制御部は、前記規定数のOSの起動完了後において、各前記OS上で実行される単数又は複数のアプリケーションシステムであるAppsに、予め設定された単数又は複数の特定の前記Appsが含まれる場合に、含まれた単数又は複数の前記特定のAppsから優先度の最も高い前記特定のAppsである最高優先度の特定のAppsを判定し、前記最高優先度の特定のAppsに対応した前記リソース分配である優先リソース分配を決定し、前記優先リソース分配を前記リソース分配として設定し、単数又は複数の前記特定のAppsが含まれない場合に、規定の前記リソース分配である規定リソース分配を決定し、前記規定リソース分配を前記リソース分配として設定し、
前記優先リソース分配において、前記最高優先度の特定のAppsが実行されている前記OSである最高優先度対応OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記最高優先度対応OSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くするものである。
【0012】
本願に係る第1の演算処理方法は、以下の各ステップを物理プロセッサ及び前記物理プロセッサが用いるメモリに実行させる演算処理方法であって、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化ステップと、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御ステップと、を備え、
前記動作制御ステップでは、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動中の前記OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記全体起動中のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くし、起動済みの前記OSが特定の前記OSである場合は、前記特定のOSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記特定のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なくし、少なくした分を、前記全体起動中のOSに割り当てるものである。
【0013】
本願に係る第2の演算処理方法は、以下の各ステップを物理プロセッサ及び前記物理プロセッサが用いるメモリに実行させる演算処理方法であって、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化ステップと、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御ステップと、を備え、
前記動作制御ステップでは、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSのそれぞれは、自らの前記OSの動作状態を監視する動作状態監視部を備え、
前記動作制御ステップでは、前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動の開始前の前記OSに、前記規定リソース分配に設定されている前記全体起動の開始前のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なく、前記全体起動の開始前のOSの少なくとも前記動作状態監視部を動作させるための最小限の前記仮想プロセッサコアの数及び前記仮想メモリの領域を割り当てて、全体起動の開始前から前記OSの前記動作状態監視部を部分的に起動させて動作させ、
各前記OSの前記動作状態監視部から伝達された各前記OSの起動状態に基づいて、前記起動完了順番に従って、各前記OSの全体起動を順番に開始し、前記規定数のOSを順番に起動完了させるものである。
【0014】
本願に係る第3の演算処理方法は、以下の各ステップを物理プロセッサ及び前記物理プロセッサが用いるメモリに実行させる演算処理方法であって、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化ステップと、
前記仮想化システム上で動作する規定数のオペレーティングシステムであるOSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記規定数のOSを動作させる動作制御ステップと、を備え、
前記動作制御ステップでは、前記規定数のOSの起動完了後において、各前記OS上で実行される単数又は複数のアプリケーションシステムであるAppsに、予め設定された単数又は複数の特定の前記Appsが含まれる場合に、含まれた単数又は複数の前記特定のAppsから優先度の最も高い前記特定のAppsである最高優先度の特定のAppsを判定し、前記最高優先度の特定のAppsに対応した前記リソース分配である優先リソース分配を決定し、前記優先リソース分配を前記リソース分配として設定し、単数又は複数の前記特定のAppsが含まれない場合に、規定の前記リソース分配である規定リソース分配を決定し、前記規定リソース分配を前記リソース分配として設定し、
前記優先リソース分配において、前記最高優先度の特定のAppsが実行されている前記OSである最高優先度対応OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記最高優先度対応OSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くするものである。
【発明の効果】
【0015】
本願に係る第1の車両制御装置及び車両制御方法によれば、全体起動中のOSに割り当てるリソースが、規定リソース分配に設定されている全体起動中のOSのリソースよりも多くされ、起動済みのOSが、特定のOSである場合は、起動済みの特定のOSのリソースを、規定リソース分配に設定されている特定のOSのリソースよりも少なくされ、少なくされた分が全体起動中のOSに割り当てられる。よって、最初に起動されるOSだけなく、最後及び途中に起動されるOSについても、規定リソース分配のリソースよりも多いリソースを用いて、OSの起動を高速化することができる。
【0016】
本願に係る第2の車両制御装置及び車両制御方法によれば、各OSの全体起動の開始前から各OSの動作状態監視部を並列的に起動させて動作させるので、各OSの起動状態を精度よく且つ迅速に判定することができ、規定数のOSの起動を精度よく、且つ高速に実行できる。全体起動の開始前のOSの動作状態監視部には、規定リソース分配のリソースよりも少ない最小限のリソースが割り当てられるので、全体起動中のOSのリソースを、規定のリソース分配のリソースよりも増加させ、全体起動中のOSの起動を高速化することができる。
【0017】
本願に係る第3の車両制御装置及び車両制御方法によれば、規定数のOSの起動完了後において、優先的に実行させたい最高優先度の特定のAppsを実行するOSのリソースを、規定リソース分配のリソースよりも増加させて、最高優先度の特定のAppsの実行を高速化できる。
【図面の簡単な説明】
【0018】
【
図1】実施の形態1に係る演算処理装置の概略ブロック図である。
【
図2】実施の形態1に係る規定リソース分配を説明するための図である。
【
図3】実施の形態1に係る第1OSの起動中のリソース分配を説明するための図である。
【
図4】実施の形態1に係る第2OSの起動中のリソース分配を説明するための図である。
【
図5】実施の形態1に係る第3OSの起動中のリソース分配を説明するための図である。
【
図6】実施の形態1に係る第2OSの起動中のリソース分配の別例を説明するための図である。
【
図7】実施の形態1に係るリソース分配テーブルデータを説明するための図である。
【
図8】実施の形態1に係る演算処理装置の処理を説明するためのフローチャートである。
【
図9】実施の形態2に係る規定リソース分配を説明するための図である。
【
図10】実施の形態2に係る第1OSの起動中のリソース分配を説明するための図である。
【
図11】実施の形態2に係る第2OSの起動中のリソース分配を説明するための図である。
【
図12】実施の形態2に係る第2OSの起動中のリソース分配の別例を説明するための図である。
【
図13】実施の形態2に係る第3OSの起動中のリソース分配を説明するための図である。
【
図14】実施の形態2に係る第3OSの起動中のリソース分配の別例を説明するための図である。
【
図15】実施の形態2に係るリソース分配テーブルデータを説明するための図である。
【
図16】実施の形態2に係る演算処理装置の処理を説明するためのフローチャートである。
【
図17】実施の形態3に係る規定リソース分配を説明するための図である。
【
図18】実施の形態3に係る特定のAppsである第3OSの実行時のリソース分配を説明するための図である。
【
図19】実施の形態3に係る特定のAppsである第3OS及び第2OSの実行時のリソース分配を説明するための図である。
【
図20】実施の形態3に係る特定のAppsである第2OSの実行時のリソース分配を説明するための図である。
【
図21】実施の形態3に係るリソース分配テーブルデータを説明するための図である。
【
図22】実施の形態3に係る演算処理装置の処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0019】
1.実施の形態1
実施の形態1に係る演算処理装置1について図面を参照して説明する。演算処理装置1は、車両に搭載されており、車両用の演算処理装置とされている。なお、演算処理装置1は、車両用の演算処理装置以外にも各種の用途の演算処理装置とされてもよい。
【0020】
図1に示すように、演算処理装置1は、物理プロセッサ10、物理プロセッサ10が用いるメモリ20、仮想化部50、及び動作制御部60等を備えている。本実施の形態では、演算処理装置1は、その他ハードウェア30(その他H/W30とも称する)も備えている。
【0021】
物理プロセッサ10、メモリ20、及びその他ハードウェア30が、ハードウェアである。メモリ20として、RAM(Random Access Memory)等の揮発性メモリ21と、ROM(Read Only Memory)、SSD(Solid State Drive)、eMMC(embedded Multi Media Card)等の不揮発性メモリ22とが備えられている。
【0022】
仮想化部50、動作制御部60、各オペレーティングシステム(OS)、及び各アプリケーションシステム(Apps)が、ソフトウェアにより実現される機能部である。仮想化部50及び動作制御部60等の各機能部は、物理プロセッサ10が、メモリ20(不揮発性メモリ22)等に記憶されたソフトウェア(プログラム)を実行し、メモリ20(揮発性メモリ21、不揮発性メモリ22)、及びその他ハードウェア30などの他のハードウェアと協働することにより実現される。
【0023】
その他ハードウェア30には、SoC(System-on-a-chip)上に搭載されるGPU(Graphics Processing Unit)又はAI(Artificial Intelligence)処理用のプロセッシングユニット、入出力装置、通信装置等の各種のハードウェアが含まれる。
【0024】
物理プロセッサ10は、複数の物理プロセッサコア11(以下、物理コア11と称す)を備えている。本実施の形態では、4つの物理コア11が設けられている。
【0025】
<仮想化部50>
図2に示すように、仮想化部50は、物理プロセッサ10及びメモリ20を用いて動作する複数の仮想プロセッサコア51(以下、仮想コア51と称す)及び仮想メモリ52を有する仮想化システムを生成する。仮想化部50は、Hypervisor等の仮想化ソフトウェアの実行により機能する。
【0026】
仮想化部50は、仮想化ソフトウェアにより、物理プロセッサ10のリソースをクロック単位で時分割して使用することで仮想的に複数のコア(つまり、仮想コア51)が存在しているように動作させる。仮想化部50は、仮想コア51を、物理コア11で実行する最小の処理単位であるスレッド(以下、論理コア12と称す)に紐付けて管理する。本実施の形態では、1つの物理コア11は、1つの論理コア12を実行する。なお、同時マルチスレッディング技術(SMT:Simultaneous Multithreading Technology)を利用することにより、1つの物理コア11で並行して2つの論理コア12が実行されてもよい。
【0027】
本実施の形態では、1つの論理コア12に対して2つの仮想コア51が生成される。なお、1つの論理コア12に対して、単数又は3以上の仮想コア51が生成されてもよい。
【0028】
仮想化部50は、RAM等の揮発性メモリ21を用いて仮想メモリ52を生成する。また、仮想化部50は、その他H/W30を各OSに並列して使用させる。
【0029】
車両の電源がオンになると、演算処理装置1への電力供給が開始する。その後、仮想化部50が起動される。具体的には、物理プロセッサ10が、不揮発性メモリ22に記憶されている仮想化ソフトウェアを読み出して実行し、仮想化部50を起動させ、仮想化システムを生成させる。
【0030】
<動作制御部60>
動作制御部60は、仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び動作数のOSのそれぞれに割り当てる仮想コア51の数及び仮想メモリ52の領域であるリソース分配を決定し、リソース分配に従って動作数のOSを動作させる。動作制御部60も、Hypervisor等の仮想化ソフトウェアの実行により機能する。なお、動作制御部60は、各OSに対応して仮想的なコンピュータを生成し、各仮想的なコンピュータ上で、各OSを動作させる。実施の形態3で説明するように、各OS上で、適宜、各種のアプリケーションシステム(Apps)が起動され、動作する。
【0031】
また、動作制御部60は、各OSのその他H/W30の時間占有率を決定し、決定した各OSの時間占有率に従って、各OSにその他H/Wを使用させる。本実施の形態では、各OSの時間占有率は、各OSの仮想コア51の割り当て数に応じて設定されているものとし、説明を省略する。
【0032】
後述するように、動作制御部60は、仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数のOSを順番に起動完了させる。そして、動作制御部60は、規定数のOSの起動完了後に、規定数のOSのそれぞれに割り当てるリソース分配を、予め設定された規定リソース分配に設定する。
【0033】
本実施の形態では、規定数が3に設定され、第1OS、第2OS、及び第3OSが起動される場合を例に説明する。なお、規定数は、2以上の任意の自然数に設定されてもよい。第1OSは、リアルタイムオペレーティングシステムであるRTOSである。第2OS及び第3OSは、RTOSでない汎用的なOSである。Hypervisor等の仮想化ソフトウェアとRTOSとの間で、カーネルが共通化されてもよいし、共通化されなくてもよい。
【0034】
<規定リソース分配の例>
図2に、規定数のOSの起動完了後に、リソース分配が、規定リソース分配に設定されている状態を示す。規定リソース分配では、第1OS(RTOS)には、2つの仮想コア51及び仮想メモリ52の1GBの領域が割り当てられ、第1OS(RTOS)は、これらのリソースを用いて動作する。第2OSには、4つの仮想コア51及び仮想メモリ52の2GBの領域が割り当てられ、第2OSは、これらのリソースを用いて動作する。第3OSには、2つの仮想コア51及び仮想メモリ52の1GBの領域が割り当てられ、第3OSは、これらのリソースを用いて動作する。
【0035】
<各OSの起動時のリソース分配>
動作制御部60は、仮想化システムの生成完了後、起動完了順番に従って、規定数のOSを順番に起動完了させる。本実施の形態では、起動完了順番に従って、規定数のOSを順番に起動させる。動作制御部60は、規定数のOSの起動中に、OSの全体を起動させる全体起動中のOSに割り当てる仮想コア51の数及び仮想メモリ52の領域を、規定リソース分配に設定されている全体起動中のOSの仮想コア51の数及び仮想メモリ52の領域よりも多くし、起動済みのOSが、特定のOSである場合は、特定のOSに割り当てる仮想コア51の数及び仮想メモリ52の領域を、規定リソース分配に設定されている特定のOSの仮想コア51の数及び仮想メモリ52の領域よりも少なくし、少なくした分を全体起動中のOSに割り当てる。
【0036】
ここで、全体起動は、実施の形態2における各OSの動作状態監視部70を部分的に起動させる部分起動との異同を明確するために用いている。なお、本願では、全体起動を、単に起動と称することがある。
【0037】
この構成によれば、全体起動中のOSに割り当てるリソースが、規定リソース分配に設定されている全体起動中のOSのリソースよりも多くされ、起動済みのOSが、特定のOSである場合は、起動済みの特定のOSのリソースが、規定リソース分配に設定されている特定のOSのリソースよりも少なくされ、少なくされた分が全体起動中のOSに割り当てられる。よって、最初に起動されるOSだけなく、最後及び途中に起動されるOSについても、規定リソース分配のリソースよりも多いリソースを用いて、OSの起動を高速化することができる。
【0038】
本実施の形態では、第1OS、第2OS、第3OSの順番で起動される。第1OSが、RTOSであるので、RTOSが最初に起動される。よって、RTOSを最初に起動させ、車両の制御に必要なリアルタイム性の高い処理を開始させることができる。
【0039】
図3に、第1OS(RTOS)の全体起動中のリソース分配の例を示す。全体起動中の第1OS(RTOS)には、
図2の規定リソース分配に設定されている第1OSのリソース(2つ、1GB)よりも多い、8つの仮想コア51及び仮想メモリ52の4GBの領域が割り当てられ、第1OS(RTOS)は、これらのリソースを用いて起動する。全体起動の開始前の第2OS及び第3OSには、リソースが割り当てられていない。よって、全てのリソースを用いて、第1OSの起動を高速化することができる。
【0040】
図4に、第1OS(RTOS)の起動完了後、第2OSの全体起動中のリソース分配の例を示す。
図4の例では、第1OS(RTOS)は、特定のOSに設定されていないので、起動済みの第1OS(RTOS)には、
図2の規定リソース分配に設定されている第1OSのリソース(2つ、1GB)と同じ、2つの仮想コア51及び仮想メモリ52の1GBの領域が割り当てられている。よって、RTOSのリアルタイム性の高い処理をより確実に実行できる。全体起動中の第2OSには、
図2の規定リソース分配に設定されている第2OSのリソース(4つ、2GB)よりも多い、6つの仮想コア51及び仮想メモリ52の3GBの領域が割り当てられ、第2OSは、これらのリソースを用いて起動する。全体起動の開始前の第3OSには、リソースが割り当てられていない。よって、規定リソース分配よりも多いリソースを用いて、第2OSの起動を高速化することができる。
【0041】
図5に、第1OS及び第2OSの起動完了後、第3OSの全体起動中のリソース分配の例を示す。起動済みの第1OS(RTOS)には、
図2の規定リソース分配に設定されている第1OSのリソース(2つ、1GB)と同じ、2つの仮想コア51及び仮想メモリ52の1GBの領域が割り当てられている。
図5の例では、第2OSが特定のOSに設定されているので、起動済みの第2OSには、
図2の規定リソース分配に設定されている第2OSのリソース(4つ、2BG)よりも少ない、2つの仮想コア51及び仮想メモリ52の1GBの領域が割り当てられている。この起動済みの特定のOSである第2のOSのリソースの減少分が、全体起動中の第3OSに割り当てられる。よって、全体起動中の第3OSには、
図2の規定リソース分配に設定されている第3OSのリソース(2つ、1GB)よりも多い、4つの仮想コア51及び仮想メモリ52の2GBの領域が割り当てられ、第3OSは、これらのリソースを用いて起動する。よって、最後に起動される第3OSについても、起動済みの特定のOSのリソースの減少分を割り当てることによって、規定リソース分配よりも多いリソースを用いて、第3OSの起動を高速化することができる。なお、特定のOSである第2OSのリソースは、規定リソース分配よりも少なくされているが、第2OSの動作を継続できる範囲内で減少されているので、特に問題ない。
【0042】
そして、第3OSの起動完了後、
図2に示した規定リソース分配の状態になる。
【0043】
なお、第1OS及び第2OSの双方が、特定のOSに設定されてもよく、第1OSのみが、特定のOSに設定されてもよい。
図6に、第1OS(RTOS)が特定のOSに設定された場合の、第2OSの全体起動中のリソース分配の例を示す。特定のOSである起動済みの第1OS(RTOS)には、
図2の規定リソース分配に設定されている第1OSのリソース(2つ、1BG)よりも少ない、1つの仮想コア51及び仮想メモリ52の0.5GBの領域が割り当てられている。この起動済みの特定のOSである第1のOSのリソースの減少分が、全体起動中の第2OSに割り当てられる。よって、全体起動中の第2OSには、
図2の規定リソース分配に設定されている第2OSのリソース(4つ、2GB)よりも多い、7つの仮想コア51及び仮想メモリ52の3.5GBの領域が割り当てられ、第2OSは、これらのリソースを用いて更に高速起動する。なお、特定のOSである第1OS(RTOS)のリソースは、規定リソース分配よりも少なくされているが、第1OS(RTOS)の動作を継続できる範囲内で減少されるので、特に問題ない。
【0044】
このように、特定のOSは、最後に起動されるOS以外の単数又は複数のOSに設定されるとよい。上述したように、最後に起動されるOS、及び特定のOSの後に起動される途中のOSについても、起動済みの特定のOSのリソースの減少分を割り当てることによって、規定リソース分配よりも多いリソースを用いて、起動を高速化することができる。
【0045】
動作制御部60は、
図7に示すような、規定リソース分配、及び全体起動中のOSごとに設定されたリソース分配である全体起動中リソース分配が予め設定されたリソース分配テーブルデータを参照し、現在の起動状態に対応する規定リソース分配又は全体起動中リソース分配を読み出し、リソース分配として設定する。詳細には、動作制御部60は、現在の起動状態が、規定数のOSの起動完了後である場合は、リソース分配テーブルデータから規定リソース分配を読み出し、リソース分配として設定する。動作制御部60は、現在の起動状態が、いずれかのOSの全体起動中である場合は、現在全体起動中のOSに対応する全体起動中リソース分配を読み出し、リソース分配として設定する。リソース分配テーブルデータは、ROM等の不揮発性メモリ22に予め記憶されている。
【0046】
<フローチャート>
図8は、本実施の形態に係る演算処理装置1の処理(演算処理方法)を説明する概略的なフローチャートである。
図8の処理は、物理プロセッサ10が、メモリ20(不揮発性メモリ22)等に記憶されたソフトウェア(プログラム)を実行することにより、実行される。
【0047】
ステップS01で、仮想化部50は、車両の電源がオンにされる等により、演算処理装置1の電源がオンになった場合に、ステップS02に進み、仮想化処理を開始する。
【0048】
ステップS02で、上述したように、仮想化部50は、物理プロセッサ10及びメモリ20を用いて動作する複数の仮想プロセッサコア51(仮想コア51)及び仮想メモリ52を有する仮想化システムを生成する仮想化処理(仮想化ステップ)を実行する。
【0049】
仮想化システムの生成完了後、ステップS03からステップS04で、上述したように、動作制御部60は、仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び動作数のOSのそれぞれに割り当てる仮想コア51の数及び仮想メモリ52の領域であるリソース分配を決定し、リソース分配に従って動作数のOSを動作させる動作制御処理(動作制御ステップ)を実行する。
【0050】
ステップS03で、上述したように、動作制御部60は、仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数のOSを順番に起動完了させる。
【0051】
動作制御部60は、規定数のOSの起動中に、OSの全体を起動させる全体起動中のOSに割り当てる仮想コア51の数及び仮想メモリ52の領域を、規定リソース分配に設定されている全体起動中のOSの仮想コア51の数及び仮想メモリ52の領域よりも多くし、起動済みのOSが、特定のOSである場合は、特定のOSに割り当てる仮想コア51の数及び仮想メモリ52の領域を、規定リソース分配に設定されている特定のOSの仮想コア51の数及び仮想メモリ52の領域よりも少なくし、少なくした分を全体起動中のOSに割り当てる。
【0052】
ステップS04で、上述したように、動作制御部60は、規定数のOSの起動完了後に、規定数のOSのそれぞれに割り当てるリソース分配を、予め設定された規定リソース分配に設定する。
【0053】
2.実施の形態2
次に、実施の形態2に係る演算処理装置1について説明する。上記の実施の形態1と同様の構成部分は説明を省略する。本実施の形態に係る演算処理装置1の基本的な構成及び処理は実施の形態1と同様である。本実施の形態では、規定数のOSのそれぞれは、自らのOSの動作状態を監視する動作状態監視部70を備えており、規定数のOSの起動中に、各OSの動作状態監視部70にリソースが割り当てられる点が、実施の形態1と異なる。
【0054】
本実施の形態では、
図9に示すように、規定数のOSのそれぞれは、自らのOSの動作状態を監視する動作状態監視部70を備えている。
【0055】
実施の形態1と同様に、動作制御部60は、仮想化システムの生成完了後、起動完了順番に従って、規定数のOSを順番に起動完了させる。
【0056】
そして、動作制御部60は、規定数のOSの起動中に、OSの全体を起動させる全体起動の開始前のOSに、規定リソース分配に設定されている全体起動の開始前のOSの仮想プロセッサコアの数及び仮想メモリの領域よりも少なく、全体起動の開始前のOSの少なくとも動作状態監視部70を動作させるための最小限の仮想プロセッサコアの数及び仮想メモリの領域を割り当てて、全体起動の開始前からOSの動作状態監視部70を部分的に起動させて動作させる。
【0057】
各OSの動作状態監視部70は、対応するOSの起動状態を動作制御部60に伝達する。動作制御部60は、各OSの動作状態監視部70から伝達された各OSの起動状態に基づいて、起動完了順番に従って、各OSの全体起動を順番に開始し、規定数のOSを順番に起動完了させる。
【0058】
この構成によれば、各OSの全体起動の開始前から各OSの動作状態監視部70を並列的に起動させて動作させるので、各OSの起動状態を精度よく且つ迅速に判定することができ、規定数のOSの起動を精度よく、且つ高速に実行できる。全体起動の開始前のOSの動作状態監視部70には、規定リソース分配のリソースよりも少ない最小限のリソースが割り当てられるので、全体起動中のOSのリソースを、規定のリソース分配のリソースよりも増加させ、全体起動中のOSの起動を高速化することができる。
【0059】
動作制御部60は、規定数のOSの起動中に、全体起動中のOSに割り当てる仮想コア51の数及び仮想メモリ52の領域を、規定リソース分配に設定されている全体起動中のOSの仮想コア51の数及び仮想メモリ52の領域よりも多くし、起動済みのOSが、特定のOSである場合は、特定のOSに割り当てる仮想コア51の数及び仮想メモリ52の領域を、規定リソース分配に設定されている特定のOSの仮想コア51の数及び仮想メモリ52の領域よりも少なくし、少なくした分を全体起動中のOSに割り当てる。
【0060】
図10に、第1OS(RTOS)の全体起動中のリソース分配の例を示す。実施の形態1と異なり、全体起動の開始前の第2OS及び第3OSのそれぞれには、動作状態監視部70の動作用の最小限のリソース(1つの仮想コア51、0.5GB)が割り当てられ、少なくとも動作状態監視部70が部分的に起動されて動作される。第2OS及び第3OSの全体起動の開始前から第2OS及び第3OSの動作状態監視部70が並列的に起動されて動作されるので、第2OS及び第3OSの起動状態を精度よく且つ迅速に判定することができる。なお、各OSの動作状態監視部70の部分起動後に、最小限のリソースを用いて残りのOS部分の起動が開始されてもよい。
【0061】
全体起動中の第1OS(RTOS)には、全体起動の開始前の第2OS及び第3OSの動作状態監視部70の起動及び動作用の最小限のリソース以外のリソースが割り当てられる。その結果、全体起動中の第1OS(RTOS)には、
図9の規定リソース分配に設定されている第1OSのリソース(2つ、1GB)よりも多い、6つの仮想コア51及び仮想メモリ52の3GBの領域が割り当てられ、第1OS(RTOS)は、これらのリソースを用いて起動する。よって、第1OSの起動を高速化することができる。
【0062】
図11に、第1OS(RTOS)の起動完了後、第2OSの全体起動中のリソース分配の例を示す。実施の形態1と異なり、全体起動の開始前の第3OSには、引き続き、動作状態監視部70の動作用の最小限のリソース(1つ、0.5GB)が割り当てられ、少なくとも動作状態監視部70が部分的に起動されて動作される。第3OSの全体起動の開始前から第3OSの動作状態監視部70が並列的に起動されて動作されるので、第3OSの起動状態を精度よく且つ迅速に判定することができる。なお、動作状態監視部70の部分起動後に、最小限のリソースを用いて残りのOS部分の起動が開始されてもよい。
【0063】
図11の例では、第1OS(RTOS)は、特定のOSに設定されているので、起動済みの第1OS(RTOS)には、
図9の規定リソース分配に設定されている第1OSのリソース(2つ、1BG)よりも少ない、1つの仮想コア51及び仮想メモリ52の0.5GBの領域が割り当てられている。よって、規定リソース分配よりも減少された第1OS及び第3OSのリソースの減少分が、全体起動中の第2OSに割り当てられる。よって、全体起動中の第2OSには、
図9の規定リソース分配に設定されている第2OSのリソース(4つ、2GB)よりも多い、6つの仮想コア51及び仮想メモリ52の3GBの領域が割り当てられ、第2OSの起動を高速化することができる。
【0064】
或いは、
図12に示すように、第1OS(RTOS)が、特定のOSに設定されずに、起動済みの第1OS(RTOS)には、規定リソース分配に設定されている第1OSのリソース(2つ、1GB)と同じリソースが割り当てられてもよい。この場合でも、規定リソース分配よりも減少された第3OSのリソースの減少分が、全体起動中の第2OSに割り当てられるので、第2OSの起動を高速化することができる。
【0065】
図13に、第1OS及び第2OSの起動完了後、第3OSの全体起動中のリソース分配の例を示す。第1OS(RTOS)は、特定のOSに設定されているので、起動済みの第1OS(RTOS)には、
図9の規定リソース分配に設定されている第1OSのリソース(2つ、1BG)よりも少ない、1つの仮想コア51及び仮想メモリ52の0.5GBの領域が割り当てられている。また、第2OSが特定のOSに設定されているので、起動済みの第2OSには、
図9の規定リソース分配に設定されている第2OSのリソース(4つ、2BG)よりも少ない、1つの仮想コア51及び仮想メモリ52の0.5GBの領域が割り当てられている。この起動済みの特定のOSである第1のOS及び第2のOSのリソースの減少分が、全体起動中の第3OSに割り当てられる。よって、全体起動中の第3OSには、
図9の規定リソース分配に設定されている第3OSのリソース(2つ、1GB)よりも多い、6つの仮想コア51及び仮想メモリ52の3GBの領域が割り当てられ、第3OSは、これらのリソースを用いて起動する。よって、最後に起動される第3OSについても、起動済みの特定のOSのリソースの減少分を割り当てることによって、規定リソース分配よりも多いリソースを用いて、第3OSの起動を高速化することができる。
【0066】
或いは、
図14に示すように、第1OS及び第2OSが、特定のOSに設定されずに、起動済みの第1OS及び第2OSには、規定リソース分配に設定されている第1OSのリソース(2つ、1GB)及び第2OSのリソース(4つ、2GB)と同じリソースが割り当てられてもよい。
【0067】
そして、第3OSの起動完了後、
図9に示した規定リソース分配の状態になる。
【0068】
実施の形態1と同様に、動作制御部60は、
図15に示すような、規定リソース分配、及び全体起動中のOSごとに設定されたリソース分配である全体起動中リソース分配が予め設定されたリソース分配テーブルデータを参照し、現在の起動状態に対応する規定リソース分配又は全体起動中リソース分配を読み出し、リソース分配として設定する。実施の形態1と異なり、全体起動の開始前のOSにも、少なくとも動作状態監視部70の動作用の最小限のリソースが割り当てられ、部分的に起動される。
【0069】
<フローチャート>
図16は、本実施の形態に係る演算処理装置1の処理(演算処理方法)を説明する概略的なフローチャートである。
図16の処理は、物理プロセッサ10が、メモリ20(不揮発性メモリ22)等に記憶されたソフトウェア(プログラム)を実行することにより、実行される。
【0070】
ステップS11で、仮想化部50は、車両の電源がオンにされる等により、演算処理装置1の電源がオンになった場合に、ステップS12に進み、仮想化処理を開始する。
【0071】
ステップS12で、実施の形態1と同様に、仮想化部50は、物理プロセッサ10及びメモリ20を用いて動作する複数の仮想プロセッサコア51(仮想コア51)及び仮想メモリ52を有する仮想化システムを生成する仮想化処理(仮想化ステップ)を実行する。
【0072】
仮想化システムの生成完了後、ステップS13からステップS14で、実施の形態1と同様に、動作制御部60は、仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び動作数のOSのそれぞれに割り当てる仮想コア51の数及び仮想メモリ52の領域であるリソース分配を決定し、リソース分配に従って動作数のOSを動作させる動作制御処理(動作制御ステップ)を実行する。
【0073】
ステップS13で、上述したように、動作制御部60は、仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数のOSを順番に起動完了させる。
【0074】
本実施の形態では、規定数のOSのそれぞれは、自らのOSの動作状態を監視する動作状態監視部70を備えている。そして、動作制御部60は、規定数のOSの起動中に、OSの全体を起動させる全体起動の開始前のOSに、規定リソース分配に設定されている全体起動の開始前のOSの仮想プロセッサコアの数及び仮想メモリの領域よりも少なく、全体起動の開始前のOSの少なくとも動作状態監視部70を動作させるための最小限の仮想プロセッサコアの数及び仮想メモリの領域を割り当てて、全体起動の開始前からOSの動作状態監視部70を部分的に起動させて動作させる。各OSの動作状態監視部70は、対応するOSの起動状態を動作制御部60に伝達する。動作制御部60は、各OSの動作状態監視部70から伝達された各OSの起動状態に基づいて、起動完了順番に従って、各OSの全体起動を順番に開始し、規定数のOSを順番に起動完了させる。
【0075】
実施の形態1と同様に、動作制御部60は、規定数のOSの起動中に、全体起動中のOSに割り当てる仮想コア51の数及び仮想メモリ52の領域を、規定リソース分配に設定されている全体起動中のOSの仮想コア51の数及び仮想メモリ52の領域よりも多くし、起動済みのOSが、特定のOSである場合は、特定のOSに割り当てる仮想コア51の数及び仮想メモリ52の領域を、規定リソース分配に設定されている特定のOSの仮想コア51の数及び仮想メモリ52の領域よりも少なくし、少なくした分を全体起動中のOSに割り当ててもよい。
【0076】
ステップS14で、実施の形態1と同様に、動作制御部60は、規定数のOSの起動完了後に、規定数のOSのそれぞれに割り当てるリソース分配を、予め設定された規定リソース分配に設定する。
【0077】
3.実施の形態3
次に、実施の形態3に係る演算処理装置1について説明する。上記の実施の形態1又は2と同様の構成部分は説明を省略する。本実施の形態に係る演算処理装置1の基本的な構成及び処理は実施の形態1又は2と同様である。本実施の形態では、規定数のOSの起動完了後のリソース分配の設定方法が実施の形態1と異なる。
【0078】
動作制御部60は、規定数のOSの起動完了後において、各OS上で実行される単数又は複数のアプリケーションシステムであるAppsに、予め設定された単数又は複数の特定のAppsが含まれる場合に、含まれた特定のAppsから優先度の最も高い特定のAppsである最高優先度の特定のAppsを判定し、最高優先度の特定のAppsに対応したリソース分配である優先リソース分配を決定し、優先リソース分配をリソース分配として設定し、各OS上で実行される単数又は複数のAppsに、単数又は複数の特定のAppsが含まれない場合に、規定のリソース分配である規定リソース分配を決定し、規定リソース分配をリソース分配として設定する。
【0079】
動作制御部60は、優先リソース分配において、最高優先度の特定のAppsが実行されるOSである最高優先度対応OSに割り当てる仮想プロセッサコアの数及び仮想メモリの領域を、規定リソース分配に設定される最高優先度対応OSの仮想プロセッサコアの数及び仮想メモリの領域よりも多くする。
【0080】
この構成によれば、優先的に実行させたい最高優先度の特定のAppsを実行するOSのリソースを、規定リソース分配のリソースよりも増加させて、最高優先度の特定のAppsの実行を高速化できる。
【0081】
例えば、特定のAppsは、車両の緊急運転のAppsに設定され、車両の緊急運転のAppsの優先度は、他のAppsよりも高くされている。例えば、車両の緊急運転には、周辺物体の緊急回避運転、車両の緊急停止、及び各種の急な車両運転などがある。他のAppsには、通常の自動運転、運転支援制御(例えば、車線変更制御、車線維持制御、及び車間距離制御)、及び経路案内などの車両の制御のための各種のAppsがある。他のAppsには、車両に搭乗しているユーザの利便性を高める各種のAppsがある。
【0082】
この構成によれば、車両の緊急運転のAppsを実行する場合に、緊急運転のAppsを実行するOSのリソースを、規定リソース分配のリソースよりも増加させて、緊急運転のAppsの実行を高速化させ、緊急運転のリアルタイム性を確実に確保し、車両の安全性を高めることができる。
【0083】
例えば、特定のAppsは、車両の停車中のみに実行される停車中のAppsに設定され、停車中のAppsの優先度が、停車中以外にも実行される他のAppsよりも高くされる。例えば、停車中のAppsには、車両の停車中にOS及びAppsのアップデートを行うアップデートのAppsなどがある。アップデートのAppsは、OTA(Over The Air)等である。停車中以外にも実行される他のAppsは、車両運転のApps等がある。
【0084】
この構成によれば、車両の停車中に、停車中のAppsを実行するOSのリソースを、規定リソース分配のリソースよりも増加させて、停車中のAppsの実行を高速化させ、車両の利便性を高めることができる。
【0085】
図18に、第3OSで、特定のAppsに設定された第3Appsが実行される場合のリソース分配の例を示す。実行されている他のAppsは、特定のAppsでなく、通常のAppsであるため、第3Appsが、最高優先度の特定のAppsと判定されている。よって、第3OSには、
図17の規定リソース分配に設定されている第3OSのリソース(2つ、1GB)よりも多い、4つの仮想コア51及び仮想メモリ52の2GBの領域が割り当てられ、第3OS及び第3Appsは、これらのリソースを用いて、規定リソース分配の状態よりも高速に動作する。一方、第2OSには、
図17の規定リソース分配に設定されている第2OSのリソース(4つ、2GB)よりも少ない、2つの仮想コア51及び仮想メモリ52の1GBの領域が割り当てられている。しかし、第2OSの動作を継続できる範囲内で減少されているので、特に問題ない。
【0086】
また、第3OSのその他H/W30の使用優先度を、第1OS及び第2OSの使用優先度よりも高くしてもよい。例えば、各OSの使用優先度が高くなるに従って、各OSのその他H/W30の時間占有率が高くされる。
【0087】
図19に、
図18に示した第3OSの第3Appsの実行中に、第2OSで特定のAppsに設定された第2Appsの実行が開始された場合を示す。しかし、
図21に示すように、第2OSの第2Appsの優先度は、第3OSの第3Appsの優先度よりも低く、第3OSの第3Appsが、引き続き、最高優先度の特定のAppsと判定されている。よって、
図17のリソース分配から変更されていない。なお、
図21の優先度は、値が大きいほど、優先度が高くなる。
【0088】
図20に、
図19の状態から、第3OSの第3Appsの実行が終了し、第2OSで第2Appsが実行される場合を示す。そのため、第2OSの第2Appsが、最高優先度の特定のAppsと判定されている。よって、第2OSには、
図17の規定リソース分配に設定されている第2OSのリソース(4つ、2GB)よりも多い、6つの仮想コア51及び仮想メモリ52の3GBの領域が割り当てられ、第2OS及び第2Appsは、これらのリソースを用いて、規定リソース分配の状態よりも高速に動作する。一方、第1OS及び第3OSには、
図17の規定リソース分配に設定されている第1OS及び第3OSのリソース(2つ、1GB)よりも少ない、1つの仮想コア51及び仮想メモリ52の0.5GBの領域が割り当てられている。しかし、第1OS及び第3OSの動作を継続できる範囲内で減少されているので、特に問題ない。
【0089】
また、第2OSのその他H/W30の使用優先度を、第1OS及び第3OSの使用優先度よりも高くしてもよい。例えば、各OSの使用優先度が高くなるに従って、各OSのその他H/W30の時間占有率が高くされる。
【0090】
そして、第2Appsの実行終了後、他に特定のAppsが実行されていないため、
図17に示した規定リソース分配の状態になる。
【0091】
動作制御部60は、
図21に示すような、規定リソース分配、及び特定のAppsごとの優先リソース分配が予め設定されたリソース分配テーブルデータを参照し、現在のAppsの実行状態に対応する規定リソース分配又は優先リソース分配を読み出し、リソース分配として設定する。詳細には、動作制御部60は、現在の実行中のAppsに特定のAppsが含まれない場合は、リソース分配テーブルデータから規定リソース分配を読み出し、リソース分配として設定する。動作制御部60は、現在の実行中のAppsに特定のAppsが含まれる場合は、特定のAppsの中から最高の優先度のAppsを判定し、最高優先度の特定のAppsに判定された特定のAppsに対応する優先リソース分配を読み出し、リソース分配として設定する。リソース分配テーブルデータは、ROM等の不揮発性メモリ22に予め記憶されている。
【0092】
例えば、
図21に示すように、リソース分配テーブルデータには、規定リソース分配に加えて、特定のAppsである第1Apps、第2Apps、及び第3Appsごとに優先リソース分配が予め設定されている。そして、最高優先度の特定のAppsが、第1OSで実行される第1Appsである場合は、第1Appsに対応する優先リソース分配が読み出され、リソース分配として設定される。最高優先度の特定のAppsが、第2OSで実行される第2Appsである場合は、第2Appsに対応する優先リソース分配が読み出され、リソース分配として設定される。最高優先度の特定のAppsが、第3OSで実行される第3Appsである場合は、第3Appsに対応する優先リソース分配が読み出され、リソース分配として設定される。
【0093】
また、各リソース分配に、各OSのその他H/W30の使用優先度も設定されている。各OSの使用優先度が高くなるに従って、各OSのその他H/W30の時間占有率が高くされる。
【0094】
<フローチャート>
図22は、本実施の形態に係る演算処理装置1の処理(演算処理方法)を説明する概略的なフローチャートである。
図22の処理は、物理プロセッサ10が、メモリ20(不揮発性メモリ22)等に記憶されたソフトウェア(プログラム)を実行することにより、実行される。
【0095】
実施の形態1の
図8のフローチャート又は実施の形態2の
図16のフローチャートによる規定数のOSの起動完了後、ステップS21からステップS23で、動作制御部60は、仮想化システム上で動作する規定数のOSのそれぞれに割り当てる仮想プロセッサコアの数及び仮想メモリの領域であるリソース分配を決定し、リソース分配に従って規定数のOSを動作させる動作制御処理(動作制御ステップ)を実行する。
【0096】
ステップS21で、上述したように、動作制御部60は、各OS上で実行される単数又は複数のAppsに、予め設定された単数又は複数の特定のAppsが含まれるか否かを判定し、実行中のAppsに特定のAppsが含まれる場合は、ステップS22に進み、実行中のAppsに特定のAppsが含まれない場合は、ステップS23に進む。
【0097】
ステップS22で、動作制御部60は、含まれた特定のAppsから優先度の最も高い特定のAppsである最高優先度の特定のAppsを判定し、最高優先度の特定のAppsに対応したリソース分配である優先リソース分配を決定し、優先リソース分配をリソース分配として設定し、リソース分配に従って規定数のOSを動作させる。なお、含まれた特定のAppsが1つの場合は、1つの特定のAppsが、最高優先度の特定のAppsと判定される。
【0098】
ステップS23で、動作制御部60は、規定のリソース分配である規定リソース分配を決定し、規定リソース分配をリソース分配として設定し、リソース分配に従って規定数のOSを動作させる。
【0099】
ステップS24で、動作制御部60は、演算処理装置1のシャットダウン処理を開始するか否かを判定し、シャットダウン処理を開始すると判定した場合は、ステップS25に進み、シャットダウン処理を開始しないと判定した場合は、ステップS21に戻り処理を継続する。
【0100】
ステップS25で、動作制御部60は、OS及びAppsのアップデートを行うか否かを判定し、アップデートを行うと判定した場合は、ステップS26に進み、アップデートを行わないと判定した場合は、ステップS27に進む。例えば、動作制御部60は、無線通信及びネットワーク網を介して、管理サーバに、アップデートの必要があるか否かを問い合わせ、アップデートの必要があり、ユーザがアップデートの実行を同意した場合に、アップデートを行うと判定する。
【0101】
ステップS26で、動作制御部60は、アップデートのAppsの実行を開始させる。アップデートのAppsは、特定のAppsであり、他のAppsよりも優先度が高くされているため、最高優先度の特定のAppsとして判定される。そして、動作制御部60は、最高優先度の特定のAppsであるアップデートのAppsに対応した優先リソース分配を決定し、優先リソース分配をリソース分配として設定し、リソース分配に従って規定数のOSを動作させる。よって、アップデートのAppsの処理を高速化し、アップデートの完了を早期化させることができる。動作制御部60は、アップデートの完了後、ステップS27に進む。
【0102】
ステップS27で、仮想化部50及び動作制御部60は、演算処理装置1のシャットダウン処理を行って、演算処理装置1をシャットダウンさせる。
【0103】
<本願の諸態様のまとめ>
以下、本願の諸態様を付記としてまとめて記載する。
(付記1)
物理プロセッサ及び前記物理プロセッサが用いるメモリと、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化部と、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御部と、を備え、
前記動作制御部は、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動中の前記OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記全体起動中のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くし、起動済みの前記OSが特定の前記OSである場合は、前記特定のOSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記特定のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なくし、少なくした分を、前記全体起動中のOSに割り当てる演算処理装置。
(付記2)
前記規定数のOSは、リアルタイムオペレーティングシステムであるRTOSを含み、
前記動作制御部は、前記仮想化システムの生成完了後、最初に前記RTOSを起動完了させる付記1に記載の演算処理装置。
(付記3)
前記特定のOSは、最後に起動される前記OS以外の単数又は複数の前記OSに設定されている付記1又は2に記載の演算処理装置。
(付記4)
前記規定数のOSのそれぞれは、自らの前記OSの動作状態を監視する動作状態監視部を備え、
前記動作制御部は、前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動の開始前の前記OSに、前記規定リソース分配に設定されている前記全体起動の開始前のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なく、前記全体起動の開始前のOSの少なくとも前記動作状態監視部を動作させるための最小限の前記仮想プロセッサコアの数及び前記仮想メモリの領域を割り当てて、全体起動の開始前から前記OSの前記動作状態監視部を部分的に起動させて動作させ、
各前記OSの前記動作状態監視部は、対応する前記OSの起動状態を前記動作制御部に伝達し、
前記動作制御部は、各前記OSの前記動作状態監視部から伝達された各前記OSの起動状態に基づいて、前記起動完了順番に従って、各前記OSの全体起動を順番に開始し、前記規定数のOSを順番に起動完了させる付記1から3のいずれか一項に記載の演算処理装置。
(付記5)
物理プロセッサ及び前記物理プロセッサが用いるメモリと、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化部と、
前記仮想化システム上で動作するオペレーティングシステムであるOSの動作数、及び前記動作数の前記OSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記動作数の前記OSを動作させる動作制御部と、を備え、
前記動作制御部は、前記仮想化システムの生成完了後、起動完了順番に従って、2以上の規定数の前記OSを順番に起動完了させ、
前記規定数のOSの起動完了後に、前記規定数のOSのそれぞれに割り当てる前記リソース分配を予め設定された規定リソース分配に設定し、
前記規定数のOSのそれぞれは、自らの前記OSの動作状態を監視する動作状態監視部を備え、
前記動作制御部は、前記規定数のOSの起動中に、前記OSの全体を起動させる全体起動の開始前の前記OSに、前記規定リソース分配に設定されている前記全体起動の開始前のOSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも少なく、前記全体起動の開始前のOSの少なくとも前記動作状態監視部を動作させるための最小限の前記仮想プロセッサコアの数及び前記仮想メモリの領域を割り当てて、全体起動の開始前から前記OSの前記動作状態監視部を部分的に起動させて動作させ、
各前記OSの前記動作状態監視部は、対応する前記OSの起動状態を前記動作制御部に伝達し、
前記動作制御部は、各前記OSの前記動作状態監視部から伝達された各前記OSの起動状態に基づいて、前記起動完了順番に従って、各前記OSの全体起動を順番に開始し、前記規定数のOSを順番に起動完了させる演算処理装置。
(付記6)
前記動作制御部は、前記規定リソース分配、及び全体起動中の前記OSごとに設定された前記リソース分配である全体起動中リソース分配が予め設定されたリソース分配テーブルデータを参照し、現在の起動状態に対応する前記規定リソース分配又は前記全体起動中リソース分配を読み出し、前記リソース分配として設定する付記1から5のいずれか一項に記載の演算処理装置。
(付記7)
前記物理プロセッサは、複数の物理プロセッサコアを備え、
前記仮想化システムは、各前記物理プロセッサコアに対して複数の前記仮想プロセッサコアを生成する付記1から6のいずれか一項に記載の演算処理装置。
(付記8)
前記動作制御部は、前記規定数のOSの起動完了後において、各前記OS上で実行される単数又は複数のアプリケーションシステムであるAppsに、予め設定された単数又は複数の特定の前記Appsが含まれる場合に、含まれた単数又は複数の前記特定のAppsから優先度の最も高い前記特定のAppsである最高優先度の特定のAppsを判定し、前記最高優先度の特定のAppsに対応した前記リソース分配である優先リソース分配を決定し、前記優先リソース分配を前記リソース分配として設定し、単数又は複数の前記特定のAppsが含まれない場合に、規定の前記リソース分配である規定リソース分配を決定し、前記規定リソース分配を前記リソース分配として設定し、
前記優先リソース分配において、前記最高優先度の特定のAppsが実行される前記OSである最高優先度対応OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定される前記最高優先度対応OSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くする付記1から7のいずれか一項に記載の演算処理装置。
(付記9)
物理プロセッサ及び前記物理プロセッサが用いるメモリと、
前記物理プロセッサ及び前記メモリを用いて動作する複数の仮想プロセッサコア及び仮想メモリを有する仮想化システムを生成する仮想化部と、
前記仮想化システム上で動作する規定数のオペレーティングシステムであるOSのそれぞれに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域であるリソース分配を決定し、前記リソース分配に従って前記規定数のOSを動作させる動作制御部と、を備え、
前記動作制御部は、前記規定数のOSの起動完了後において、各前記OS上で実行される単数又は複数のアプリケーションシステムであるAppsに、予め設定された単数又は複数の特定の前記Appsが含まれる場合に、含まれた単数又は複数の前記特定のAppsから優先度の最も高い前記特定のAppsである最高優先度の特定のAppsを判定し、前記最高優先度の特定のAppsに対応した前記リソース分配である優先リソース分配を決定し、前記優先リソース分配を前記リソース分配として設定し、単数又は複数の前記特定のAppsが含まれない場合に、規定の前記リソース分配である規定リソース分配を決定し、前記規定リソース分配を前記リソース分配として設定し、
前記優先リソース分配において、前記最高優先度の特定のAppsが実行されている前記OSである最高優先度対応OSに割り当てる前記仮想プロセッサコアの数及び前記仮想メモリの領域を、前記規定リソース分配に設定されている前記最高優先度対応OSの前記仮想プロセッサコアの数及び前記仮想メモリの領域よりも多くする演算処理装置。
(付記10)
前記動作制御部は、前記規定リソース分配、及び前記特定のAppsごとの前記優先リソース分配が予め設定されたリソース分配テーブルデータを参照し、現在の前記Appsの実行状態に対応する前記規定リソース分配又は前記優先リソース分配を読み出し、前記リソース分配として設定する付記8又は9に記載の演算処理装置。
(付記11)
前記演算処理装置は、車両用の演算処理装置であり、
前記特定のAppsは、車両の緊急運転の前記Appsに設定され、前記車両の緊急運転のAppsの優先度が、他のAppsよりも高くされる付記8から10のいずれか一項に記載の演算処理装置。
(付記12)
前記演算処理装置は、車両用の演算処理装置であり、
前記特定のAppsは、車両の停車中のみに実行される停車中の前記Appsに設定され、前記停車中のAppsの優先度が、停車中以外にも実行される他のAppsよりも高くされる付記8から11のいずれか一項に記載の演算処理装置。
(付記13)
前記特定のAppsに設定される前記停車中のAppsは、演算処理装置のシャットダウン前に、前記OS及び前記Appsのアップデートを行うアップデートのAppsであり、前記アップデートのAppsの優先度が、停車中に実行される他のAppsよりも高くされる付記12に記載の演算処理装置。
【0104】
本願は、様々な例示的な実施の形態及び実施例が記載されているが、1つ、または複数の実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも1つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
【符号の説明】
【0105】
1:演算処理装置、10:物理プロセッサ、11:物理プロセッサコア(物理コア)、20:メモリ、21:揮発性メモリ、22:不揮発性メモリ、50:仮想化部、51:仮想プロセッサコア(仮想コア)、52:仮想メモリ、60:動作制御部、70:動作状態監視部