(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023069867
(43)【公開日】2023-05-18
(54)【発明の名称】管理装置
(51)【国際特許分類】
G06F 9/50 20060101AFI20230511BHJP
G06N 20/00 20190101ALI20230511BHJP
G06N 3/02 20060101ALI20230511BHJP
H04L 67/51 20220101ALI20230511BHJP
G06F 11/30 20060101ALI20230511BHJP
G06F 11/34 20060101ALI20230511BHJP
【FI】
G06F9/50 150C
G06N20/00
G06N3/02
H04L67/51
G06F11/30 140A
G06F11/34 142
G06F11/34 147
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2021182044
(22)【出願日】2021-11-08
(71)【出願人】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】石橋 真人
(72)【発明者】
【氏名】濱野 大輔
(72)【発明者】
【氏名】吉岡 正博
(72)【発明者】
【氏名】足立 智彦
(72)【発明者】
【氏名】岡村 雅
(72)【発明者】
【氏名】伊藤 誠一
(72)【発明者】
【氏名】前田 貴史
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA12
5B042GB08
5B042MA08
5B042MA14
5B042MC21
5B042MC33
(57)【要約】
【課題】グリッドコンピューティングにおいて、新たなアプリケーションに対して適切なネットワークを構築可能にする。
【解決手段】グリッドコンピューティングを管理する管理装置50は、過去のアプリケーションに関するグリッドコンピューティングの実績を学習し、学習結果に基づいて、アプリケーションに対して移動体の個数およびネットワーク構成を推定するための推定モデルを作成する学習モジュール6と、推定モデルに基づき、新たなアプリケーションに対して、移動体の個数およびネットワーク構成を決定するスケジューリングモジュール7とを備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
移動体に搭載された演算資源を用いたグリッドコンピューティングを管理する管理装置であって、
過去のアプリケーションに関するグリッドコンピューティングの実績を学習し、学習結果に基づいて、アプリケーションに対して移動体の個数およびネットワーク構成を推定するための推定モデルを作成する学習モジュールと、
前記推定モデルに基づき、新たなアプリケーションに対して、移動体の個数およびネットワーク構成を決定するスケジューリングモジュールとを備える
管理装置。
【請求項2】
請求項1記載の管理装置において、
前記学習モジュールが学習するグリッドコンピューティングの実績は、移動体の個数、ネットワーク構成、および、演算資源の稼働状況に関する情報を含む
管理装置。
【請求項3】
請求項1記載の管理装置において、
前記学習モジュールは、演算資源の稼働率が向上することを条件として、前記推定モデルを作成する
管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示された技術は、グリッドコンピューティングの管理に関する。
【背景技術】
【0002】
グリッドコンピューティングシステムでは、ネットワークを介して複数の情報処理装置を接続し、これらの各情報処理装置に並列して処理を行わせる。これによって、個々の情報処理装置の処理能力は低くても、全体として高速な処理が可能となる。そして、グリッドコンピューティングシステムを車載端末で構成する研究や提案がなされている。
【0003】
特許文献1には、車載端末を用いたグリッドコンピューティングシステムに関する発明が開示されている。この発明では、基地局は、各車両が有する演算資源に関する情報を取得して、その資源情報に基づいて、依頼された処理を実行する車載端末を特定し、特定した車載端末に対して処理を割り当てる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1には、新たなアプリケーションに対して適切なネットワークを構築することに関しては、何ら記載されていない。
【0006】
ここに開示する技術は、かかる点に鑑みてなされたものであり、グリッドコンピューティングにおいて、新たなアプリケーションに対して適切なネットワークを構築可能にするものである。
【課題を解決するための手段】
【0007】
前記課題を解決するために、ここに開示された技術では、移動体に搭載された演算資源を用いたグリッドコンピューティングを管理する管理装置は、過去のアプリケーションに関するグリッドコンピューティングの実績を学習し、学習結果に基づいて、アプリケーションに対して移動体の個数およびネットワーク構成を推定するための推定モデルを作成する学習モジュールと、前記推定モデルに基づき、新たなアプリケーションに対して、移動体の個数およびネットワーク構成を決定するスケジューリングモジュールとを備える。
【0008】
この構成によると、管理装置において、学習モジュールは、過去のアプリケーションに関するグリッドコンピューティングの実績を学習し、学習結果に基づいて、アプリケーションに対して移動体の個数およびネットワーク構成を推定するための推定モデルを作成する。スケジューリングモジュールは、学習モジュールが作成した推定モデルに基づき、新たなアプリケーションに対して、移動体の個数およびネットワーク構成を決定する。したがって、グリッドコンピューティングにおいて、新たなアプリケーションに対して適切なネットワークを構築することができる。
【0009】
また、前記学習モジュールが学習するグリッドコンピューティングの実績は、移動体の個数、ネットワーク構成、および、演算資源の稼働状況に関する情報を含む、としてもよい。
【0010】
また、前記学習モジュールは、演算資源の稼働率が向上することを条件として、前記推定モデルを作成する、としてもよい。
【発明の効果】
【0011】
以上説明したように、ここに開示された技術によると、グリッドコンピューティングにおいて、新たなアプリケーションに対して適切なネットワークを構築することができる。
【図面の簡単な説明】
【0012】
【
図2】グリッドコンピューティングについて説明するための概念図
【
図4】実施形態に係る管理サーバのシステム構成の例
【発明を実施するための形態】
【0013】
以下、例示的な実施形態について、図面を参照しながら詳細に説明する。
【0014】
(システム)
図1は、実施形態のシステム1の構成を例示する。このシステム1は、複数の車両10と、複数のユーザ端末20と、クライアントサーバ30と、施設サーバ40と、管理サーバ50とを備える。これらの構成要素は、通信網5を経由して互いに通信可能である。複数の車両10の各々には、演算資源として、例えばMPU(Media Processor Unit)等の演算装置105が搭載される。
【0015】
〔グリッドコンピューティング〕
図2に示すように、実施形態のシステム1では、複数の演算装置105によりグリッドコンピューティングが構成され、複数の演算装置105のうち利用可能な演算装置105にジョブデータを処理させるグリッドコンピューティング処理が行われる。
【0016】
なお、車両10において演算装置105の計算能力が必要となると、演算装置105が稼働状態となり、演算装置105の計算能力が利用される。例えば、車両10が走行している場合、車両10の走行制御のために演算装置105の計算能力が必要となり、演算装置105が稼働状態となる。
【0017】
一方、車両10において演算装置105の計算能力が不要となると、演算装置105が停止状態となり、演算装置105の計算能力が利用されなくなる。例えば、車両10が停車して車両10の電源がオフ状態になると、演算装置105の起算能力が不要となり、演算装置105が停止状態となる。
【0018】
ここで、車両10において演算装置105の計算能力が不要である場合に、演算装置105の計算能力をグリッドコンピューティング処理に提供することで、演算装置105の計算能力を有効に利用することが可能となる。
【0019】
図3は本発明の特徴を概念的に説明するための図である。本発明では、グリッドコンピューティングを管理する管理サーバ50は、グリッドコンピューティングの過去の実績から学習した推定モデルに基づいて、新たなアプリケーションに対するネットワーク構成を決定する。
【0020】
すなわち、
図3に示す構成では、管理装置としての管理サーバ50は、学習モジュール6と、スケジューリングモジュール7とを備えている。学習モジュール6は、過去のアプリケーションに関する情報と、当該アプリケーションに関してジョブが割り当てられた車両数とそのネットワーク構成に関する情報と、当該アプリケーションの実行における各演算資源の稼働状況に関する情報を学習する。そして、学習モジュール6は、学習結果に基づいて、アプリケーションに対する適切な車両数およびネットワーク構成を推定するための推定モデルを作成する。学習モジュール6は、例えば、車両の演算資源の稼働率が向上することを条件として、推定モデルを作成する。スケジューリングモジュール7は、学習モジュール6が作成した推定モデルに基づいて、新たなアプリケーションに対して、適切な車両数およびネットワーク構成を決定する。スケジューリングモジュール7は、決定したネットワーク構成を車両群に対して指示し、決定した車両数に従って車両群に対してジョブの割り当てを行う。
【0021】
図4は管理サーバ50のシステム構成の一例である。
図4に示すシステム構成では、管理サーバ50は、処理モジュールとして、ネットワーク管理モジュール51、演算ノード管理モジュール52、アプリ分析モジュール53、学習モジュール54、および、スケジューリングモジュール55を備えている。
【0022】
このシステムは、車両を用いたグリッドコンピューティングにおいて、実行されるアプリケーション、車両の演算資源、ネットワーク状況、周辺環境から、最適な車群の構成、ジョブスケジューリング、ジョブ依頼を実施可能なように構成されている。管理サーバ50は、汎化性能が高い学習を行うことによって、新規の状況においても、最適なネットワークトポロジー構成、動的制御、ジョブスケジューリングが可能になる。
【0023】
ここでは、アプリケーションに対して割り当てた車群の中でアイドルになっている車両(最終的なアウトプットに寄与しない演算資源)を少なくすることを目的として、学習を実施する。すなわち、あるアプリケーションに対して、管理サーバ50が割り当てる車両の台数、ネットワークトポロジーなどの推定値を算出し、その推定値に基づいて構成した車群に対して実際にアプリケーションを実行したときに、アイドルになっている車両(演算資源)や通信帯域が極小になるように学習を行う。
【0024】
管理サーバ50は、グリッドコンピューティングを行う各車群から、グリッド情報を取得する。グリッド情報は、例えば、各車両の演算資源、演算資源の稼働率、車両-管理サーバ間通信帯域あるいは帯域使用率に関する情報、車両周辺環境情報、車両情報、位置情報、または、各車群のネットワークトポロジー、ノード数、リンク数、ノード間帯域に関する情報などを含む。
【0025】
ネットワーク管理モジュール51は、取得したグリッド情報から、ネットワーク関連情報を収集し、管理する。例えば、各車群のネットワークトポロジー、ノード数、リンク数、ノード間帯域に関する情報を収集し、管理する。また、車両-管理サーバ間通信帯域や帯域使用率に関する情報を収集し、管理する。ここでの管理とは、情報のアップデート、検索機能、アクセス制御等を含む。ネットワーク管理モジュール51は、学習モジュール54とスケジューリングモジュール55に、処理に必要となるネットワーク関連情報を送る。
【0026】
演算ノード管理モジュール52は、取得したグリッド情報から、演算ノード関連情報を収集し、管理する。例えば、各車両の演算資源、演算資源の稼働率に関する情報を収集し、管理する。また、車両周辺環境情報、車両情報、位置情報といった情報を収集し、管理する。ここでの管理とは、情報のアップデート、検索機能、アクセス制御等を含む。演算ノード管理モジュール52は、学習モジュール54とスケジューリングモジュール55に、処理に必要となる演算ノード関連情報を送る。
【0027】
アプリ分析モジュール53は、学習モジュール54によって作成されたアプリ分析モデルに基づいて、アプリケーションの分析を行う。なお、学習前には、初期モデルが搭載されており、ある一定のルールに沿ったプログラム解析がなされる。アプリ分析モジュール53は、入力情報として、アプリケーション自体、およびアプリケーション制約情報を受ける。アプリケーション制約情報は、例えば、アプリケーションの可用性、応答時間、実行終了時間等を含む。
【0028】
具体的には、アプリ分析モジュール53は、次のような処理を実行する。
実行制約分析:可用性、応答時間、実行終了時間などの確認
要求演算規模分析:プログラム解析、データ量、過去の処理結果から演算規模を見積もり。
並列化可能性分析:パイプライン処理、並列処理可能か、シーケンシャル処理かなど分析。並列処理可能な場合でも、独立に処理可能かなどデータ交換の粗密も分析
アプリ分析モジュール53は、アプリ分析結果として、例えば、アプリケーションの演算規模、処理種、並列数、データ交換粗密などを出力する。
【0029】
学習モジュール54は、過去および現在のアプリケーション、アプリ分析モジュール53から出力されたアプリ分析結果、ネットワーク管理モジュール51から出力されたネットワーク関連情報、演算ノード管理モジュール52から出力された演算ノード関連情報を基にして、アプリ分析モデル、ネットワーク推定モデル、スケジューリングモデルを学習し、各モデルのパラメータをチューニングする。この学習は、例えば、演算資源の稼働率、通信帯域の使用率が100%に近づくように、行われる。学習手法としは、例えば、統計モデリングや機械学習、深層学習アプローチなどが用いられる。ネットワーク推定モデル、および、スケジューリングモデルは、
図3の構成に示した推定モデルの一例に相当する。
【0030】
学習モジュール54は、入力情報として、次のような情報を受ける。アプリケーションに関しては、アプリケーション自体、およびアプリケーション制約情報を受ける。アプリケーション制約情報は、例えば、アプリケーションの可用性、応答時間、実行終了時間等を含む。アプリ分析結果は、例えば、アプリケーションの演算規模、処理種、並列数、データ交換粗密の推定結果等を含む。ネットワーク関連情報は、例えば、各車群のネットワークトポロジー、ノード数、リンク数、ノード間帯域、車両-管理サーバ間通信帯域、帯域使用率等を含む。演算ノード関連情報は、例えば、各車両の演算資源、演算資源の稼働率、車両周辺環境時系列情報、車両の位置情報を含む。また、学習モジュール54は、スケジューリングモジュール55から、過去のアプリケーションに対する車群およびネットワーク構成の推定結果を受ける。
【0031】
学習モジュール54によって作成されたアプリ分析モデルは、アプリ分析モジュール53に送られる。学習モジュール54によって作成されたネットワーク推定モデルおよびスケジューリングモデルは、スケジューリングモジュール55に送られる。
【0032】
スケジューリングモジュール55は、学習モジュール54によって作成された、ネットワーク推定モデルおよびスケジューリングモデルに基づいて、グリッドコンピューティングのネットワーク制御、ジョブのスケジューリング、車載端末へのジョブの処理依頼を実行する。なお、学習前には、初期モデルが搭載されており、例えば、ルールベースでのスケジューリングやネットワーク制御が行われる。
【0033】
具体的には、スケジューリングモジュール55は、入力情報として、ネットワーク管理モジュール51から出力されたネットワーク関連情報、演算ノード管理モジュール52から出力された演算ノード関連情報、アプリ分析モジュール53から出力されたアプリ分析結果を受ける。ネットワーク関連情報は、車両ノード間のネットワーク使用状況、車両-管理サーバ間の通信帯域を含む。演算ノード関連情報は、車両周辺環境情報、車両情報、演算資源(プロセッサ/メモリ/ストレージ/通信回路など)稼働情報、車両位置情報を含む。アプリ分析結果は、アプリケーションの演算規模、処理種、並列数、データ交換粗密推定結果を含む。
【0034】
スケジューリングモジュール55は、例えば次のような処理を実行する。
ジョブ分割:アプリケーションに対して、ジョブ分割を実施する。
ジョブ複製:アプリケーションの可用性要求から必要に応じて、ジョブ複製数を推定し、ジョブ複製を実施する。
必要車群推定:アプリケーションの実行に必要となる車群(1台の場合もあり得る)を推定する。推定には例えば、アプリ分析結果に含まれる要求演算規模、実行終了時間、可用性、応答要求時間や、演算ノード関連情報を用いる。
ネットワーク構築:アプリ分析結果のデータ交換粗密情報から必要に応じて、車群内のネットワーク構築を実施する。
ジョブ割り当て:推定した車群、車群内のネットワーク構成情報から、車両の演算リソース予約を実施する。その後、各車両にジョブを割り当て、分配する。
【0035】
スケジューリングモジュール55は、出力情報として、車群およびネットワーク構成の推定結果、車群内の各車両に割り当てたジョブを出力する。すなわち、各車群に、車両の台数やネットワーク構成の指示が送られ、車群の予約が完了した後に、各車群にジョブが送られる。
【0036】
<学習例>
1)科学技術、社会動向計算
例えば、タンパク質構造解析等の、データの依存関係なく独立に処理できるタスクが多いアプリケーションは、比較的並列化しやすい。この場合、グリッドコンピューティングにおいて最小限必要な車両の台数は、解析パターン数に相当する台数となる。ところが、通信が不安定になったり、車両が駐車状態から移動を始めたりしてジョブが続行不可能となる可能性を考慮すると、ジョブの複製が必要になる。この場合には、ジョブ複製数の最適化が必要になる。
【0037】
ここでは、ジョブ複製数の最適化を実現するために、「複製数決定モデル」を学習するものとする。「複製数決定モデル」は、上述した「ネットワーク推定モデル」「スケジューリングモデル」の中の要素モデルという位置付けになる。パラメータは、ジョブ複製数である。
【0038】
例えば、
図5に示すように、ジョブ複製数を多め(ここでは4)に設定し、同一ジョブを4台の車両1-4で実行する。この結果、車両1-4のいずれからも結果が返ってきて、かつ、ジョブ結果1~4が全て同じであったとする。この場合は、ジョブ複製数が4は冗長すぎると判断し、次のジョブ実行から、ジョブ複製数を3に減らすようにする。このような処理によって、学習モジュール54は、複製数決定モデルを学習する。これにより、減らした車両は、他のジョブの演算に使えるため、アウトプットに寄与しない演算資源を少なくすることができる。
【0039】
あるいは、
図6に示すように、複製数を決定するために、ジョブが続行不可能となる確率モデルを学習するようにしてもよい。この確率モデルは、車両の周辺環境情報や車両情報から学習すればよい、
図6では、モデルの例として、ジョブ実行時間の増加に伴って、ジョブが続行不可能となる確率が線形的に増加している。そして、あるジョブの終了予測時間が与えられたとき、ジョブが続行不可能となる確率が得られる(
図6では0.2となっている)。なお、この確率モデルにおいて、ジョブが続行不可能となる確率が線形的に変化するとは限らない。
【0040】
例えば、ジョブ複製数を3に設定し、それぞれの車両が置かれている環境における確率モデルから、ジョブが続行不可能となる確率が、それぞれ、0.2,0.1,0.3であったとする。このときの3台の車両におけるジョブ成功率は、
1-(0.2×0.1×0.3)=0.994
と推定される。ここで、アプリケーション制約情報の一例である要求成功率が、ジョブ毎に決まっているとする。要求成功率が0.99以下である場合は、これら3台で問題なしとなる。一方、要求成功率が0.995以上である場合は、これら3台ではジョブ成功率が要求成功率を下回るため、さらに台数を追加する必要がある。このようにして、学習を行えばよい。
【0041】
2)AI用途
図7に示すように、AI用途において、深層学習で畳み込みニューラルネットワークを適用し、レイヤ毎の計算を各車両に割り当てる場合には、車両間でデータのやり取りが頻繁に起こる状況になる。このため、車両(演算資源)の確保だけでなく、車両間のネットワーク構築も必要になる。すなわち、
ネットワークトポロジー
ノード数(車両の台数)
各ノードのリンク数(各車両の接続数)
各リンクの通信帯域(車車間の通信帯域)
各ノードの演算リソース
といったパラメータの最適化が必要である。
【0042】
例えば、あるアプリケーションに対して、車両を多めに割り当てる。そして、アプリケーションを実行させながら、各車両の演算資源の稼働率、通信状況をモニタリングする。ある車両の演算資源が常時アイドル状態であるときは、その車両をネットワークから外す。また、ある車両の演算資源の稼働率が低いときは、リンク数、通信帯域、演算リソースを調整する。このように、パラメータとアプリケーションを関連づけて学習を行い、新たなアプリケーションに対するネットワーク構築に活かす。
【0043】
なお、AI用途に限らず、例えば、アプリケーションの中のある関数の処理を複数の車両によって行う場合には、上述したような最適化が必要になる。
3)通信遅延対応
通信遅延が起こらないようにするためには、通信帯域の確保が必要である。このため、最初は通信帯域を多めに確保して、通信帯域にムダが生じないように、学習を行う。
【0044】
例えば、
図8に示すように、最初は、管理サーバ-車両間の通信帯域が大きい2台の車両1,2にジョブを振り分け、車両1,2を起点にして他の車両にジョブを振り分ける。そして、通信帯域をモニタして、通信帯域に余裕があった場合は、次回は、2台の車両に振り分けていたジョブを1台のみに与えたり、あるいは、通信帯域が小さい車両に振り分けたりする。このようにして学習を行えばよい。
【0045】
以上のように本実施形態によると、管理サーバ50において、学習モジュール54は、過去のアプリケーションに関するグリッドコンピューティングの実績を学習し、学習結果に基づいて、アプリケーションに対して移動体の個数およびネットワーク構成を推定するための推定モデルを作成する。スケジューリングモジュール55は、学習モジュール54が作成した推定モデルに基づき、新たなアプリケーションに対して、移動体の個数およびネットワーク構成を決定する。したがって、グリッドコンピューティングにおいて、新たなアプリケーションに対して適切なネットワークを構築することができる。
【0046】
(その他の実施形態)
以上の説明では、演算装置105が車両10(具体的には自動四輪車)に搭載される場合を例に挙げたが、これに限定されない。例えば、演算装置105は、車両10ではない他の移動体に搭載されてもよい。このような移動体の例としては、輸送用機械、携帯情報端末などが挙げられる。輸送用機械の例としては、自動二輪車、鉄道車両、船舶、航空機、ドローンなどが挙げられる。車両は、輸送用機械の一例である。携帯情報端末の例としては、ノート型パーソナルコンピュータ、タブレット、スマートフォンなどが挙げられる。
【0047】
また、以上の実施形態を適宜組み合わせて実施してもよい。以上の実施形態は、本質的に好ましい例示であって、ここに開示する技術、その適用物、あるいはその用途の範囲を制限することを意図するものではない。
【産業上の利用可能性】
【0048】
ここに開示された技術は、グリッドコンピューティングを管理する技術として有用である。
【符号の説明】
【0049】
5 学習モジュール
6 スケジューリングモジュール
50 管理サーバ(管理装置)
54 学習モジュール
55 スケジューリングモデル