IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニックオートモーティブシステムズ株式会社の特許一覧

特開2024-132282情報処理装置、情報処理システムおよび情報処理方法
<>
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図1
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図2
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図3
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図4
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図5
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図6
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図7
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図8
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図9
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図10
  • 特開-情報処理装置、情報処理システムおよび情報処理方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024132282
(43)【公開日】2024-09-30
(54)【発明の名称】情報処理装置、情報処理システムおよび情報処理方法
(51)【国際特許分類】
   G06F 11/36 20060101AFI20240920BHJP
   G06F 11/34 20060101ALI20240920BHJP
【FI】
G06F11/36 164
G06F11/36 196
G06F11/34 176
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023043009
(22)【出願日】2023-03-17
(71)【出願人】
【識別番号】322003857
【氏名又は名称】パナソニックオートモーティブシステムズ株式会社
(74)【代理人】
【識別番号】100123102
【弁理士】
【氏名又は名称】宗田 悟志
(72)【発明者】
【氏名】須田 聖也
(72)【発明者】
【氏名】森河 俊成
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA22
5B042GB08
5B042HH07
5B042MA14
5B042MC22
5B042MC40
(57)【要約】
【課題】第1装置で動作するソフトウェアを、第1装置より処理速度が高い第2装置で開発する場合の開発効率の低下を抑制する技術を提供する。
【解決手段】調整装置16は、車載装置12が所定の処理を実行した時間に関する第1時間情報を取得する。調整装置16は、車載装置12で動作するソフトウェアのテストを実行するクラウドサーバ14であって、かつ、車載装置12より処理速度が高いクラウドサーバ14が上記所定の処理を実行した時間に関する第2時間情報を取得する。調整装置16は、第1時間情報と第2時間情報とに基づく車載装置12とクラウドサーバ14との差を低減するようにクラウドサーバ14における処理の実行に関するパラメータの値を決定する。調整装置16は、決定したパラメータの値をクラウドサーバ14に設定する。
【選択図】図4
【特許請求の範囲】
【請求項1】
第1装置が所定の処理を実行した時間に関する第1時間情報を取得する第1取得部と、
前記第1装置で動作するソフトウェアのテストを実行する第2装置であって、かつ、前記第1装置より処理速度が高い第2装置が前記所定の処理を実行した時間に関する第2時間情報を取得する第2取得部と、
前記第1時間情報と前記第2時間情報とに基づく前記第1装置と前記第2装置との差を低減するように前記第2装置における処理の実行に関するパラメータの値を決定する決定部と、
前記決定部により決定されたパラメータの値を前記第2装置に設定する設定部と、
を備える情報処理装置。
【請求項2】
前記パラメータは、前記ソフトウェアをテストする処理に対するCPU割り当てを調整するパラメータである、
請求項1に記載の情報処理装置。
【請求項3】
前記ソフトウェアは、仮想ECU(Electronic Control Unit)であり、
前記第1装置は、前記仮想ECUが動作する車載装置であり、
前記第2装置は、前記仮想ECUが動作するサーバである、
請求項1または2に記載の情報処理装置。
【請求項4】
前記第1時間情報と前記第2時間情報とに基づく前記第1装置と前記第2装置との差を示す情報を出力する情報出力部をさらに備える、
請求項1または2に記載の情報処理装置。
【請求項5】
第1装置が所定の処理を実行した時間に関する第1時間情報を取得する第1取得部と、
前記第1装置で動作するソフトウェアのテストを実行する第2装置であって、かつ、前記第1装置より処理速度が高い第2装置が前記所定の処理を実行した時間に関する第2時間情報を取得する第2取得部と、
前記第1時間情報と前記第2時間情報との差を低減するように前記第2装置における処理の実行に関するパラメータの値を決定する決定部と、
前記決定部により決定されたパラメータの値を前記第2装置に設定する設定部と、
を備える情報処理システム。
【請求項6】
第1装置が所定の処理を実行した時間に関する第1時間情報を取得し、
前記第1装置で動作するソフトウェアのテストを実行する第2装置であって、かつ、前記第1装置より処理速度が高い第2装置が前記所定の処理を実行した時間に関する第2時間情報を取得し、
前記第1時間情報と前記第2時間情報との差を低減するように前記第2装置における処理の実行に関するパラメータの値を決定し、
決定したパラメータの値を前記第2装置に設定する、
ことをコンピュータが実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はデータ処理技術に関し、特に情報処理装置、情報処理システムおよび情報処理方法に関する。
【背景技術】
【0002】
コンピュータのハードウェアリソースを有効活用するため、仮想化基盤ソフトウェア(「ハイパーバイザ」とも呼ばれる。)の開発が行われている。特許文献1には、複数の物理マシンの中のいずれかの物理マシンで動作する複数の仮想マシンのそれぞれについて、各仮想マシンのリソース使用傾向を更新し、更新されたリソース使用傾向に基づいて複数の仮想マシンが動作する物理マシンを変更するクラウドシステムが提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-38436号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、車両に搭載されるECU(Electronic Control Unit)の開発を効率化するため、ECUを仮想化し、ハイパーバイザ上で動作する仮想ECUソフトウェアをクラウドサーバで開発する取り組みが開始されている。クラウドサーバで開発を行う場合でも、車両に搭載される実際のコンピュータハードウェア(仮想ECUソフトウェアの実行環境であり、以下「車載ハードウェア」とも呼ぶ。)を用いて、仮想ECUソフトウェアをテストし、評価することは必須である。
【0005】
クラウドサーバと車載ハードウェアとの間には性能差があり、すなわち、クラウドサーバは、車載ハードウェアより処理速度が高い。そのため、クラウドサーバで開発した仮想ECUソフトウェアを車載ハードウェア上でテストした場合、この性能差に起因した問題が発生することがあり、車載ハードウェア上でのテスト時に手戻りが起きうる。
【0006】
本開示は、上記課題を鑑みてなされたものであり、1つの目的は、第1装置で動作するソフトウェアを、第1装置より処理速度が高い第2装置で開発する場合の開発効率の低下を抑制する技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本開示のある態様の情報処理装置は、第1装置が所定の処理を実行した時間に関する第1時間情報を取得する第1取得部と、第1装置で動作するソフトウェアのテストを実行する第2装置であって、かつ、第1装置より処理速度が高い第2装置が所定の処理を実行した時間に関する第2時間情報を取得する第2取得部と、第1時間情報と第2時間情報との差を低減するように第2装置における処理の実行に関するパラメータの値を決定する決定部と、決定部により決定されたパラメータの値を第2装置に設定する設定部とを備える。
【0008】
本開示の別の態様は、情報処理システムである。この情報処理システムは、第1装置が所定の処理を実行した時間に関する第1時間情報を取得する第1取得部と、第1装置で動作するソフトウェアのテストを実行する第2装置であって、かつ、第1装置より処理速度が高い第2装置が所定の処理を実行した時間に関する第2時間情報を取得する第2取得部と、第1時間情報と第2時間情報との差を低減するように第2装置における処理の実行に関するパラメータの値を決定する決定部と、決定部により決定されたパラメータの値を第2装置に設定する設定部とを備える。
【0009】
本発明のさらに別の態様は、情報処理方法である。この方法は、第1装置が所定の処理を実行した時間に関する第1時間情報を取得し、第1装置で動作するソフトウェアのテストを実行する第2装置であって、かつ、第1装置より処理速度が高い第2装置が所定の処理を実行した時間に関する第2時間情報を取得し、第1時間情報と第2時間情報との差を低減するように第2装置における処理の実行に関するパラメータの値を決定し、決定したパラメータの値を第2装置に設定することをコンピュータが実行する。
【0010】
なお、以上の構成要素の任意の組合せ、本開示の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【0011】
本開示の技術によれば、第1装置で動作するソフトウェアを、第1装置より処理速度が高い第2装置で開発する場合の開発効率の低下を抑制できる。
【図面の簡単な説明】
【0012】
図1図1(A)と図1(B)は、仮想ECUの動作環境を模式的に示す図である。
図2】クラウドサーバで仮想ECUを開発する場合の課題を模式的に示す図である。
図3】実施形態における仮想ECUの開発を模式的に示す図である。
図4】実施形態の開発システムの構成を示す図である。
図5図4の調整装置の機能ブロックを示すブロック図である。
図6】実施形態の調整装置の動作を示すフローチャートである。
図7】車載装置とクラウドサーバとの処理時間の差を模式的に示す図である。
図8】調整処理を模式的に示す図である。
図9】分析情報の例を示す図である。
図10】cgroupsに関する制御パラメータの例を示す図である。
図11図11(A)と図11(B)は、分析情報の例を示す図である。
【発明を実施するための形態】
【0013】
本開示における装置または方法の主体は、コンピュータを備えている。このコンピュータがプログラムを実行することによって、本開示における装置または方法の主体の機能が実現される。コンピュータは、プログラムにしたがって動作するプロセッサを主なハードウェア構成として備える。プロセッサは、プログラムを実行することによって機能を実現することができれば、その種類は問わない。プロセッサは、半導体集積回路(Integrated Circuit)(IC)、またはLSI(Large Scale Integration)を含む1つまたは複数の電子回路で構成される。ここではICあるいはLSIと呼んでいるが、集積の度合いによって呼び方が変わり、システムLSI、VLSI(Very Large Scale Integration)もしくはUSLI(Ultra Large Scale Integration)と呼ばれるものであってもよい。LSIの製造後にプログラムされる、フィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array)(FPGA)、またはLSI内部の接合関係の再構成またはLSI内部の回路区画のセットアップができる再構成可能な論理デバイスも同じ目的で使うことができる。複数の電子回路は、1つのチップに集積されてもよいし、複数のチップに設けられてもよい。前者はシステム・オン・チップ(System on Chip)(SoC)といわれる。複数のチップは1つの装置に集約されていてもよいし、複数の装置に備えられていてもよい。プログラムは、コンピュータが読み取り可能なROM(Read Only Memory)、光ディスク、ハードディスクドライブなどの非一時的記録媒体に記録されてもよいし、コンピュータが読み取り可能なRAM(Random Access Memory)などの一時的記憶媒体に記録されてもよい。プログラムは、記録媒体に予め格納されていてもよいし、インターネット等を含む広域通信網を介して記録媒体もしくは記憶媒体に供給されてもよい。
【0014】
まず、実施形態の概要を説明する。車両に搭載されるECUの開発を効率化するため、ECUを仮想化し、ハイパーバイザ上で動作する仮想ECUソフトウェアをクラウドサーバで開発する取り組みが開始されている。仮想ECUソフトウェアは、仮想ECU-VM(Virtual Machine)とも言え、以下、単に「仮想ECU」とも呼ぶ。クラウドサーバは、クラウド事業者が構築した仮想サーバまたは自社の開発用サーバである。
【0015】
図1(A)と図1(B)は、仮想ECUの動作環境を模式的に示す。図1(A)は、実機での動作環境を示している。仮想ECU1および仮想ECU2は、車両に搭載されるコンピュータハードウェア(車載ハードウェア)上の車載向けハイパーバイザ上で動作する。仮想ECU1は、例えば、ステアリングの制御に関する処理を実行するものであってもよい。仮想ECU2は、例えば、インフォテインメントに関する処理を実行するものであってもよい。
【0016】
図1(B)は、クラウドでの開発およびテスト時の動作環境を示している。仮想ECU1および仮想ECU2は、クラウドサーバ上の汎用ハイパーバイザ上で動作する。図1(A)および図1(B)で示す監視VMは、ハイパーバイザ上で動作する他のVM(例えば仮想ECU1および仮想ECU2)の監視、解析、検証、評価に関する処理を実行するVMである。
【0017】
図2は、クラウドサーバで仮想ECUを開発する場合の課題を模式的に示す。一般的に、クラウドサーバは、車載ハードウェアより処理速度が高い。そのため、クラウドサーバで開発した仮想ECUを車載ハードウェア上でテストした場合、ハードウェア差分に起因するバグやQoS(Quality of Service)要件未達問題等が発生しうる。この結果、車載ハードウェア上でのテスト時に手戻りが起きうる。図2における「設計」および「テスト」はAutomotive SPICE (Software Process Improvement and Capability dEtermination)規格におけるソフトウェアエンジニアリングプロセス群の設計、検証プロセスに当てはめても良いし、DevOps等の車載ソフトウェアに限らないソフトウェア開発手法における「設計」「テスト」と考えても良い。
【0018】
図3は、実施形態における仮想ECUの開発を模式的に示す。実施形態では、クラウドサーバ上での仮想ECUの処理時間と、車載ハードウェア上での仮想ECUの処理時間との乖離が小さくなるように、クラウドサーバ上での仮想ECUの処理を制御する。処理時間は、処理速度と言うこともできる。これにより、車載ハードウェアを用いた仮想ECUのテストにおいてバグやQoS要件未達問題等の発生を抑制できる。すなわち、車載ハードウェアを用いたテスト段階での手戻りを抑制でき、仮想ECUの開発効率の低下を抑制できる。
【0019】
以下、実施形態の技術を詳細に説明する。
図4は、実施形態の開発システム10の構成を示す。開発システム10は、車載装置12、クラウドサーバ14、調整装置16を備える情報処理システムである。これらの装置は、LAN・WAN・インターネット等を含む通信網18を介して接続される。
【0020】
車載装置12は、図1(A)の車載ハードウェアに対応し、仮想ECUの実機テストに関する処理を実行する情報処理装置である。クラウドサーバ14は、図1(B)のクラウドサーバに対応し、仮想ECUの開発およびテストに関する処理を実行する情報処理装置である。クラウドサーバ14は、車載装置12により処理速度が高く、言い換えれば、仮想ECUの処理に要する時間が短い。調整装置16は、車載装置12とクラウドサーバ14の間での処理時間の差を低減するよう調整し、言い換えれば、両装置間での処理速度を近づけるよう調整する情報処理装置である。
【0021】
図5は、図4の調整装置16の機能ブロックを示すブロック図である。本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとするプロセッサや記憶装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【0022】
調整装置16は、処理部20、記憶部22、通信部24を備える。処理部20は、上記の調整に関する各種データ処理を実行する。記憶部22は、処理部20により参照または更新されるデータを記憶する。通信部24は、所定の通信プロトコルにしたがって外部装置と通信する。処理部20は、通信部24を介して、車載装置12とデータを送受信し、また、クラウドサーバ14とデータを送受信する。
【0023】
記憶部22は、分析情報記憶部26を含む。分析情報記憶部26は、後述の第1ログと第2ログとに基づく分析の結果である分析情報を記憶する。分析情報は、車載装置12とクラウドサーバ14のそれぞれにおける、処理時間計測のための所定のデータ処理の実行時間に関する情報と言える。言い換えれば、分析情報は、車載装置12とクラウドサーバ14のそれぞれにおける所定のデータ処理の実行速度に関する情報と言える。処理時間計測のための所定のデータ処理は、実施形態では、テスト対象である仮想ECUの処理とする。変形例として、上記所定のデータ処理は、仮想ECUにおける典型的な処理を抽出したものでもよい。また、仮想ECUの次世代モデルの開発時においては、上記所定のデータ処理として、仮想ECUの現行モデルの処理を用いてもよい。
【0024】
処理部20は、第1ログ取得部30、第2ログ取得部32、分析部34、パラメータ決定部36、パラメータ設定部38、分析情報出力部40を含む。これら複数の機能ブロックの機能は、コンピュータプログラム(ここでは「調整プログラム」とも呼ぶ。)に実装されてもよい。調整プログラムは、記録媒体に格納され、その記録媒体を介して調整装置16のストレージにインストールされてもよく、ネットワークを介してダウンロードされて調整装置16のストレージにインストールされてもよい。調整装置16のプロセッサ(CPU等)は、調整プログラムをメインメモリに読み出して実行することにより、上記複数の機能ブロックの機能を発揮してもよい。
【0025】
第1ログ取得部30は、車載装置12が仮想ECUの処理を実行した時間に関する第1時間情報を含む第1ログを取得する。第2ログ取得部32は、クラウドサーバ14が仮想ECUの処理を実行した時間に関する第2時間情報を含む第2ログを取得する。
【0026】
分析部34は、第1ログが示す第1時間情報と、第2ログが示す第2時間情報との差に関する分析情報を生成する。分析情報は、車載装置12とクラウドサーバ14との差を示す情報とも言える。分析部34は、生成した分析情報を分析情報記憶部26に格納する。
【0027】
パラメータ決定部36は、第1時間情報と第2時間情報との差を低減するように、クラウドサーバ14における処理の実行に関するパラメータ(以下「制御パラメータ」とも呼ぶ。)の値を決定する。パラメータ設定部38は、パラメータ決定部36により決定された制御パラメータの値をクラウドサーバ14に設定する。
【0028】
分析情報出力部40は、分析部34により生成されて、分析情報記憶部26に記憶された分析情報を出力する。分析情報出力部40は、不図示のユーザ端末(例えば仮想ECUの開発者)からの要求に応じて、分析情報をユーザ端末に送信して表示させてもよい。また、分析情報出力部40は、分析情報を外部の所定の記憶装置に送信して記憶させてもよい。
【0029】
以上の構成による開発システム10の動作を説明する。
車載装置12の監視VMは、車載向けハイパーバイザ上で実行された、テスト対象の仮想ECUにおける複数の処理の開始時刻を含む第1ログを調整装置16へ送信する。クラウドサーバ14の監視VMは、汎用ハイパーバイザ上で実行された、テスト対象の仮想ECU(車載向けハイパーバイザ上で実行されたものと同じ)における複数の処理の開始時刻を含む第2ログを調整装置16へ送信する。変形例として、クラウドサーバ14の監視VMおよび車載装置12の監視VMは、仮想ECUにおける複数の処理の開始時刻に代えて、または開始時刻とともに、それら複数の処理の終了時刻を調整装置16へ送信してもよい。
【0030】
実施形態では、仮想ECUにおける複数の処理は、順次実行される一連の7個の処理を含む。例えば、仮想ECUにおける複数の処理は、以下の処理1~処理4を含んでもよい。
処理1:画面を1回描画する処理
処理2:音声再生処理
処理3:ネットワークを介して所定のデータをダウンロードする処理
処理4:動画を圧縮または展開する処理
【0031】
図6は、実施形態の調整装置16の動作を示すフローチャートである。調整装置16の第1ログ取得部30は、車載装置12から送信された、仮想ECUにおける7個の処理それぞれの開始時刻を示す第1ログを取得する。調整装置16の第2ログ取得部32は、クラウドサーバ14から送信された、仮想ECUにおける7個の処理それぞれの開始時刻を示す第2ログを取得する(S10)。
【0032】
調整装置16の分析部34は、S10で取得された第1ログと第2ログとに基づいて、車載装置12とクラウドサーバ14との差に関する分析情報を生成する(S12)。分析情報が示す第1時間情報と第2時間情報との差、言い換えれば、車載装置12とクラウドサーバ14との処理速度の差が予め定められた閾値を超過する場合(S14のN)、調整装置16のパラメータ決定部36は、その差を低減するようにクラウドサーバ14における制御パラメータの値を決定する(S16)。
【0033】
調整装置16のパラメータ設定部38は、S16で決定された制御パラメータの値をクラウドサーバ14に設定する(S18)。パラメータ設定部38は、クラウドサーバ14の監視VMと通信して、制御パラメータの値をクラウドサーバ14に設定する処理を監視VMに実行させてもよい。分析情報が示す第1時間情報と第2時間情報との差が予め定められた閾値内であれば(S14のY)、本図の処理を終了し、すなわち、調整装置16は、クラウドサーバ14の調整処理を終了する。クラウドサーバ14は、調整後の環境にて、仮想ECUのテストを継続する。
【0034】
図7は、車載装置12とクラウドサーバ14との処理時間の差を模式的に示す。図7では、クラウドサーバ14が仮想ECUにおける7個の処理(処理1~処理7)を完了した時点では、車載装置12は仮想ECUにおける4個の処理(処理1~処理4)しか完了できていない。
【0035】
図8は、調整処理を模式的に示す。図8の例では、調整装置16は、クラウドサーバ14での仮想ECUにおける処理ごとに待機時間を設けるようクラウドサーバ14の制御パラメータを設定する。待機時間は、処理を実行しない時間とも言える。これにより、クラウドサーバ14において処理4が終了するまでの時間と、車載装置12において処理4が終了するまでの時間との差を低減できる。なお、調整装置16は、車載装置12において処理4が完了するまでの時間をレイテンシターゲットとして、クラウドサーバ14において処理4が完了するまでの時間をレイテンシターゲットに近づけるようにクラウドサーバ14の制御パラメータを調整してもよく、例えば待機時間を設定してもよい。
【0036】
図9は、分析情報の例を示す。クラウドサーバ14から調整装置16に送信された第2ログには、クラウドサーバ14における処理1~処理7の開始時刻が記録される。処理7の開始時刻(≒処理6までの処理時間の合計)は、「0.00713」秒である。調整装置16の分析部34は、処理N+1開始時刻-処理N開始時刻を計算して処理N(処理1~処理6)の処理時間を算出する。車載装置12から調整装置16に送信された第1ログには、車載装置12における処理1~処理4の開始時刻が記録される。分析部34は、処理N+1開始時刻-処理N開始時刻を計算して処理N(処理1~処理3)の処理時間を算出する。
【0037】
また、分析部34は、クラウドサーバ14と車載装置12の間での、各処理の実行に要した時間の差を算出する。処理時間差の合計は、「0.00408」秒である。調整装置16のパラメータ決定部36は、クラウドサーバ14と車載装置12の間での処理時間の差が所定の閾値を超過している場合、その差を低減するための制御パラメータの値を決定する。この閾値は、開発者の知見や開発システム10を用いた実験により適切な値が決定されてよい。閾値は、例えば、「0.00100」秒であってもよい。
【0038】
実施形態では、調整装置16のパラメータ決定部36は、クラウドサーバ14のオペレーティングシステム(例えばLinux(登録商標))のcgroups機能を用いて、クラウドサーバ14の仮想ECU処理に対するCPUの割り当てを調整する。パラメータ決定部36は、cgroupsに関する制御パラメータの値を決定する。
【0039】
図10は、cgroupsに関する制御パラメータの例を示す。「cpu.cfs_period_us」は、cgroupsによるCPUリソースへのアクセスを再割り当てする間隔であり、マイクロ秒で指定する。「cpu.cfs_quota_us」は、cgroups内の全タスクが、cpu.cfs_period_usにより定まる期間に実行される合計時間であり、マイクロ秒で指定する。cpu.cfs_period_usにより定まる時間からcpu.cfs_quota_usにより定まる時間の差は、CPUリソースの割り当てが禁じられる実行禁止時間と言える。
【0040】
図9の例において、パラメータ決定部36は、cpu.cfs_period_usの値として、クラウドサーバ14における処理7の開始時刻(≒処理6までの処理時間の合計)である7130マイクロ秒を決定する。また、図9の例における実行禁止時間は、クラウドサーバ14と車載装置12の間での処理時間差の合計である4080マイクロ秒である。そこでパラメータ決定部36は、cpu.cfs_quota_usの値として、7130マイクロ秒と4080マイクロ秒の差である3050マイクロ秒を決定する。
【0041】
パラメータ設定部38は、cpu.cfs_period_usを7130マイクロ秒に設定し、cpu.cfs_quota_usを3050マイクロ秒に設定するよう指示するデータをクラウドサーバ14の監視VMに送信する。監視VMは、受け付けた制御パラメータ値をクラウドサーバ14(例えばOS等)に設定する。
【0042】
変形例として、制御パラメータは、cgroups以外のパラメータを含んでもよい。また、制御パラメータは、CPU以外のシステムリソース(例えばメモリ、ネットワーク、I/O)を制御するパラメータを含んでもよい。
【0043】
クラウドサーバ14と車載装置12は、仮想ECUのテストを複数回実行する。調整装置16の分析部34は、各回のテストに関する分析情報を生成する。調整装置16のパラメータ決定部36は、クラウドサーバ14と車載装置12の間での各回のテストにおける処理時間差と閾値とを比較し、処理時間差が閾値以下になれば、調整処理を終了する。以降、クラウドサーバ14は、仮想ECUのテストのみを実行し、第2ログの生成と送信を抑制する。クラウドサーバ14でのテストが完了した仮想ECUは、続いて車載装置12でテストされる。
【0044】
図11(A)と図11(B)は、分析情報の例を示す。図11(A)の分析情報と、図11(B)の分析情報はいずれも、縦軸を平均処理時間とし、横軸を時刻とし、仮想ECUの処理ごとの平均処理時間の推移を示す。実線のグラフは処理1の平均処理時間の推移を示し、一点鎖線のグラフは処理2の平均処理時間の推移を示し、破線のグラフは処理3の平均処理時間の推移を示している。図11(A)の分析情報は、クラウドサーバ14における平均処理時間を示し、図11(B)の分析情報は、車載装置12における平均処理時間を示す。図11(A)と図11(B)とを比較すると、クラウドサーバ14における平均処理時間は相対的に短く、車載装置12における平均処理時間は相対的に長いことがわかる。
【0045】
平均処理時間は、複数回のテストに亘る各処理の移動平均値であってもよい。例えば、時刻0の列には、1回目、2回目、3回目の各処理の平均処理時間がプロットされ、時刻1の列には、2回目、3回目、4回目の各処理の平均処理時間がプロットされ、時刻2の列には、3回目、4回目、5回目の各処理の平均処理時間がプロットされてもよい。また、分析部34は、処理時間の逆数に基づいて処理速度や性能指標値を算出してもよく、分析情報の縦軸に処理速度や性能指標値を設定してもよい。
【0046】
クラウドサーバ14の分析情報出力部40は、図9に示す表、図11(A)および図11(B)に示すグラフを含む分析情報を所定の外部装置に送信してもよい。分析情報の送信先は、例えば、仮想ECUの開発担当者の装置であってもよい。仮想ECUの開発担当者は、分析情報を確認して、クラウドサーバ14と車載装置12との処理時間の差がどの程度低減されたかを確認できる。また、分析情報を仮想ECUの開発担当者に提供することで、開発担当者が、クラウドサーバ14の制御パラメータの値を適切に設定できるよう支援できる。
【0047】
実施形態の開発システム10によると、相対的に処理速度が高いクラウドサーバ14で開発・テストされた仮想ECUを、相対的に処理速度が低い車載装置12でテストする場合に、処理速度の差に起因する手戻りの発生を抑制でき、仮想ECUの開発効率の低下を抑制できる。
【0048】
また、実施形態の開発システム10は、仮想ECUの現行モデルに対する次世代モデルの開発にも有用である。この場合、車載装置12およびクラウドサーバ14における処理時間計測のための所定のデータ処理として、仮想ECUの現行モデルを用いてもよい。この態様によると、仮想ECUの次世代モデルをクラウドサーバ14で開発・テストし、車載装置12でテストする場合の開発効率の低下を抑制できる。
【0049】
なお、実施形態の開発システム10(調整装置16)は、仮想化環境か否かにかかわらず、また仮想ECUに限らず、様々なソフトウェアの開発に有用である。また、開発システム10は、クラウドサーバ14に代えて、オンプレミス型のサーバであってもよいことはもちろんである。実施形態の開発システム10の技術は、相対的に処理速度が高い装置で開発・テストされたソフトウェアを、相対的に処理速度が低い装置でテストする場合の開発効率の向上を実現できる。
【0050】
以上、本開示を実施形態をもとに説明した。実施形態は例示であり、実施形態の各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【0051】
上述した実施形態の調整装置16の機能は、クラウドサーバ14に実装されてもよい。すなわち、変形例として、クラウドサーバ14は、実施形態のクラウドサーバ14の機能と、実施形態の調整装置16の機能の両方を備えてもよい。また、変形例として、実施形態の調整装置16の機能は、複数の装置に亘って実装されてもよい。すなわち、実施形態に係る調整装置16の処理は、複数の装置が互いに通信して連携するシステムにより実現されてもよい。
【0052】
上述した実施形態および変形例の任意の組み合わせもまた本開示の実施形態として有用である。組み合わせによって生じる新たな実施形態は、組み合わされる実施形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施形態および変形例で示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【0053】
<付記>
以上の実施形態および変形例の記載により、下記の技術が開示される。
[技術1]
第1装置が所定の処理を実行した時間に関する第1時間情報を取得する第1取得部と、
前記第1装置で動作するソフトウェアのテストを実行する第2装置であって、かつ、前記第1装置より処理速度が高い第2装置が前記所定の処理を実行した時間に関する第2時間情報を取得する第2取得部と、
前記第1時間情報と前記第2時間情報とに基づく前記第1装置と前記第2装置との差を低減するように前記第2装置における処理の実行に関するパラメータの値を決定する決定部と、
前記決定部により決定されたパラメータの値を前記第2装置に設定する設定部と、
を備える情報処理装置。
この情報処理装置によると、第2装置(例えばクラウドサーバ)で開発・テストされたソフトウェアを第1装置(例えば車載ハードウェア)でテストする場合に、処理速度の差に起因する手戻りの発生を抑制でき、ソフトウェア開発効率の低下を抑制できる。
[技術2]
前記パラメータは、前記ソフトウェアをテストする処理に対するCPU割り当てを調整するパラメータである、
技術1に記載の情報処理装置。
この情報処理装置によると、車載装置12における処理の実行時間と、クラウドサーバ14における処理の実行時間との差を効果的に低減できる。
[技術3]
前記ソフトウェアは、仮想ECU(Electronic Control Unit)であり、
前記第1装置は、前記仮想ECUが動作する車載装置であり、
前記第2装置は、前記仮想ECUが動作するサーバである、
技術1または2に記載の情報処理装置。
この情報処理装置によると、第2装置で開発・テストされた仮想ECUを第1装置でテストする場合に、処理速度の差に起因する手戻りが発生することを抑制でき、仮想ECUの開発効率の低下を抑制できる。
[技術4]
前記第1時間情報と前記第2時間情報とに基づく前記第1装置と前記第2装置との差を示す情報を出力する情報出力部をさらに備える、
技術1から3のいずれかに記載の情報処理装置。
この情報処理装置によると、例えば、ソフトウェアの開発者等に第1装置と第2装置との処理時間の差がどの程度低減されたかを確認させることができる。また、ソフトウェアの開発者等が第2装置の制御パラメータの値を適切に設定できるよう支援できる。
[技術5]
第1装置が所定の処理を実行した時間に関する第1時間情報を取得する第1取得部と、
前記第1装置で動作するソフトウェアのテストを実行する第2装置であって、かつ、前記第1装置より処理速度が高い第2装置が前記所定の処理を実行した時間に関する第2時間情報を取得する第2取得部と、
前記第1時間情報と前記第2時間情報との差を低減するように前記第2装置における処理の実行に関するパラメータの値を決定する決定部と、
前記決定部により決定されたパラメータの値を前記第2装置に設定する設定部と、
を備える情報処理システム。
この情報処理システムによると、第2装置(例えばクラウドサーバ)で開発・テストされたソフトウェアを第1装置(例えば車載ハードウェア)でテストする場合に、処理速度の差に起因する手戻りの発生を抑制でき、ソフトウェア開発効率の低下を抑制できる。
[技術6]
第1装置が所定の処理を実行した時間に関する第1時間情報を取得し、
前記第1装置で動作するソフトウェアのテストを実行する第2装置であって、かつ、前記第1装置より処理速度が高い第2装置が前記所定の処理を実行した時間に関する第2時間情報を取得し、
前記第1時間情報と前記第2時間情報との差を低減するように前記第2装置における処理の実行に関するパラメータの値を決定し、
決定したパラメータの値を前記第2装置に設定する、
ことをコンピュータが実行する情報処理方法。
この情報処理方法によると、第2装置(例えばクラウドサーバ)で開発・テストされたソフトウェアを第1装置(例えば車載ハードウェア)でテストする場合に、処理速度の差に起因する手戻りの発生を抑制でき、ソフトウェア開発効率の低下を抑制できる。
【符号の説明】
【0054】
10 開発システム、 12 車載装置、 14 クラウドサーバ、 16 調整装置、 26 分析情報記憶部、 30 第1ログ取得部、 32 第2ログ取得部、 34 分析部、 36 パラメータ決定部、 38 パラメータ設定部、 40 分析情報出力部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11