(57)【要約】【課題】車載用ソフトウェアを複数プロセッサ用に分割して並列化する場合に、車両の制御性能の低下を防ぐことのできる並列化方法及びその並列化システムを提供する。【解決手段】複数の処理を複数プロセッサでの処理に分割した分割パターンを生成する。内燃機関を模擬したプラントモデルを用いた机上シミュレーションによって、分割パターンに従い計算を実行した場合の内燃機関の機関特性を含む複数の指標を出力する。この複数の指標には、内燃機関の排気に関連する排気指標、燃費に関連する燃費指標、及びトルクに関連するトルク指標が含まれる。複数の指標を評価関数に入力することにより、分割パターンに対応した評価値を算出する。そして、評価値に基づいて、最適な分割パターンを特定する。【選択図】図４
2019127100.tif 000002
【特許請求の範囲】
【請求項１】
車載用ソフトウェアに含まれる複数の処理を、複数プロセッサに対応して並列化する方法であって、
前記複数の処理を前記複数プロセッサでの処理に分割した分割パターンを生成するパターン生成ステップと、
内燃機関を模擬したプラントモデルを用いた机上シミュレーションによって、前記分割パターンに従い計算を実行した場合の前記内燃機関の機関特性を含む複数の指標を出力するシミュレーションステップと、
前記複数の指標を評価関数に入力することにより、前記分割パターンに対応した評価値を算出する評価ステップと、
前記評価値に基づいて、最適な分割パターンを特定するパターン特定ステップと、
を備えることを特徴とする車載用ソフトウェアの並列化方法。
【請求項２】
前記複数の指標は、前記内燃機関の排気に関連する排気指標、前記内燃機関の燃費に関連する燃費指標、及び前記内燃機関のトルクに関連するトルク指標のうちの少なくとも１つを含んで構成されることを特徴とする請求項１に記載の車載用ソフトウェアの並列化方法。
【請求項３】
前記複数の指標は、前記複数プロセッサの処理負荷に関連する処理負荷指標を含んで構成されることを特徴とする請求項１又は２に記載の車載用ソフトウェアの並列化方法。
【請求項４】
前記評価関数は、前記複数の指標の前記評価値への反映度合をそれぞれ調整可能に構成されていることを特徴とする請求項１乃至３の何れか１項に記載の車載用ソフトウェアの並列化方法。
【請求項５】
前記複数の指標は、
前記内燃機関の排気に関連する排気指標と、
前記複数プロセッサの処理負荷に関連する処理負荷指標と、を含んで構成され、
前記評価関数は、前記内燃機関の過渡運転時又は冷間運転時には、前記排気指標の前記反映度合を前記処理負荷指標の前記反映度合よりも高くするように構成されることを特徴とする請求項４に記載の車載用ソフトウェアの並列化方法。
【請求項６】
前記複数の指標は、前記複数プロセッサの処理負荷に関連する処理負荷指標を含んで構成され、
前記評価関数は、前記内燃機関の回転速度が所定の高回転速度である場合には前記高回転速度よりも低速の低回転速度である場合よりも前記処理負荷指標の反映度合を高くするように構成されることを特徴とする請求項４に記載の車載用ソフトウェアの並列化方法。
【請求項７】
前記パターン生成ステップは、
前記分割パターンに従い前記複数プロセッサを動作させた場合に採り得る複数の処理順番を生成する処理順番生成ステップを含んで構成され、
前記評価ステップは、前記複数の処理順番のそれぞれに対応した前記評価値を反映させた総合評価値を算出するように構成され、
前記パターン特定ステップは、前記総合評価値に基づいて、最適な分割パターンを特定するように構成されることを特徴とする請求項１乃至６の何れか１項に記載の車載用ソフトウェアの並列化方法。
【請求項８】
前記評価ステップは、
前記複数の処理順番のそれぞれの発生確率に応じて、前記評価値の前記総合評価値への反映度合をそれぞれ調整可能に構成されていることを特徴とする請求項７に記載の車載用ソフトウェアの並列化方法。
【請求項９】
車載用ソフトウェアに含まれる複数の処理を、複数プロセッサに対応して並列化する並列化システムであって、
前記並列化システムは、
前記複数の処理を前記複数プロセッサでの処理に分割した分割パターンを生成し、
内燃機関を模擬したプラントモデルを用いた机上シミュレーションによって、前記分割パターンに従い計算を実行した場合の前記内燃機関の機関特性を含む複数の指標を出力し、
前記複数の指標を評価関数に入力することにより、前記分割パターンに対応した評価値を算出し、そして、
前記評価値に基づいて、最適な分割パターンを特定する
ように構成されていることを特徴とする車載用ソフトウェアの並列化システム。
【請求項１０】
前記複数の指標は、前記内燃機関の排気に関連する排気指標、前記内燃機関の燃費に関連する燃費指標、及び前記内燃機関のトルクに関連するトルク指標のうちの少なくとも１つを含んで構成されることを特徴とする請求項９に記載の車載用ソフトウェアの並列化システム。
【請求項１１】
前記複数の指標は、前記複数プロセッサの処理負荷に関連する処理負荷指標を含んで構成されることを特徴とする請求項９又は１０に記載の車載用ソフトウェアの並列化システム。
【請求項１２】
前記評価関数は、前記複数の指標の前記評価値への反映度合をそれぞれ調整可能に構成されていることを特徴とする請求項９乃至１１の何れか１項に記載の車載用ソフトウェアの並列化システム。
【請求項１３】
前記複数の指標は、
前記内燃機関の排気に関連する排気指標と、
前記複数プロセッサの処理負荷に関連する処理負荷指標と、を含んで構成され、
前記評価関数は、前記内燃機関の過渡運転時又は冷間運転時には、前記排気指標の前記反映度合を前記処理負荷指標の前記反映度合よりも高くするように構成されることを特徴とする請求項１２に記載の車載用ソフトウェアの並列化システム。
【請求項１４】
前記複数の指標は、前記複数プロセッサの処理負荷に関連する処理負荷指標を含んで構成され、
前記評価関数は、前記内燃機関の回転速度が所定の高回転速度である場合には前記高回転速度よりも低速の低回転速度である場合よりも前記処理負荷指標の反映度合を高くするように構成されることを特徴とする請求項１２に記載の車載用ソフトウェアの並列化システム。
【請求項１５】
前記並列化システムは、
前記分割パターンに従い前記複数プロセッサを動作させた場合に採り得る複数の処理順番を生成し、
前記複数の処理順番のそれぞれに対応した前記評価値を反映させた総合評価値を算出し、そして、
前記総合評価値に基づいて、最適な分割パターンを特定する
ように構成されることを特徴とする請求項９乃至１４の何れか１項に記載の車載用ソフトウェアの並列化システム。
【請求項１６】
前記並列化システムは、
前記複数の処理順番のそれぞれの発生確率に応じて、前記評価値の前記総合評価値への反映度合をそれぞれ調整可能に構成されていることを特徴とする請求項１５に記載の車載用ソフトウェアの並列化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載用ソフトウェアの並列化方法及び車載用ソフトウェアの並列化システムに関する。
【背景技術】
【０００２】
従来から、マルチコアプロセッサ用のプログラム開発を行うためのプログラム開発支援ツールが知られている。例えば特許文献１には、異なるコアに割り当てられたオブジェクト間のアクセス負荷度が低くなるように、それぞれのコアに割り当てるオブジェクトを選択する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１０７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術によれば、アクセス負荷度の高いオブジェクトが同一のコアに割り当てられるので、コア跨ぎアクセスが発生する頻度を抑えて処理速度を向上させることができる。しかしながら、上記の技術を車載用ソフトウェアの処理に適用すると、異なる問題が生じ得る。すなわち、車両の制御には、互いのアクセス負荷度は低くても車両の制御性能への影響が大きい処理が存在する。このような車両特有の処理をアクセス負荷度のみを指標として複数プロセッサに分割して行うと、演算遅れによる制御性能の悪化が懸念される。このように、車載用ソフトウェアを複数プロセッサ用に分割して並列化する場合には、何れの分割パターンが最適であるかを検証する際に演算の処理負荷とは異なる指標を反映させることが求められる。
【０００５】
本発明は、上述のような課題を解決するためになされたもので、車載用ソフトウェアを複数プロセッサ用に分割して並列化する場合に、車両の制御性能の低下を防ぐことのできる並列化方法及びその並列化システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、第１の発明は、車載用ソフトウェアに含まれる複数の処理を、複数プロセッサに対応して並列化する方法に適用される。この並列化方法は、複数の処理を複数プロセッサでの処理に分割した分割パターンを生成するパターン生成ステップと、内燃機関を模擬したプラントモデルを用いた机上シミュレーションによって、分割パターンに従い計算を実行した場合の内燃機関の機関特性を含む複数の指標を出力するシミュレーションステップと、複数の指標を評価関数に入力することにより、分割パターンに対応した評価値を算出する評価ステップと、評価値に基づいて、最適な分割パターンを特定するパターン特定ステップと、を備える。
【０００７】
第２の発明は、第１の発明において、更に以下の特徴を有する。
複数の指標は、内燃機関の排気に関連する排気指標、内燃機関の燃費に関連する燃費指標、及び内燃機関のトルクに関連するトルク指標のうちの少なくとも１つを含んで構成される。
【０００８】
第３の発明は、第１又は第２の発明において、更に以下の特徴を有する。
複数の指標は、複数プロセッサの処理負荷に関連する処理負荷指標を含んで構成される。
【０００９】
第４の発明は、第１乃至第３の何れか１つの発明において、更に以下の特徴を有する。
評価関数は、複数の指標の評価値への反映度合をそれぞれ調整可能に構成される。
【００１０】
第５の発明は、第４の発明において、更に以下の特徴を有する。
複数の指標は、内燃機関の排気に関連する排気指標と、複数プロセッサの処理負荷に関連する処理負荷指標と、を含んで構成される。そして、評価関数は、内燃機関の過渡運転時又は冷間運転時には、排気指標の反映度合を処理負荷指標の反映度合よりも高くするように構成される。
【００１１】
第６の発明は、第４の発明において、更に以下の特徴を有する。
複数の指標は、複数プロセッサの処理負荷に関連する処理負荷指標を含んで構成される。そして、評価関数は、内燃機関の回転速度が所定の高回転速度である場合には高回転速度よりも低速の低回転速度である場合よりも処理負荷指標の反映度合を高くするように構成される。
【００１２】
第７の発明は、第１乃至第６の何れか１つの発明において、更に以下の特徴を有する。
パターン生成ステップは、分割パターンに従い複数プロセッサを動作させた場合に採り得る複数の処理順番を生成する処理順番生成ステップを含んで構成される。また、評価ステップは、複数の処理順番のそれぞれに対応した評価値を反映させた総合評価値を算出するように構成される。そして、パターン特定ステップは、総合評価値に基づいて、最適な分割パターンを特定するように構成される。
【００１３】
第８の発明は、第７の発明において、更に以下の特徴を有する。
評価ステップは、複数の処理順番のそれぞれの発生確率に応じて、評価値の総合評価値への反映度合をそれぞれ調整可能に構成される。
【００１４】
また、上記目的を達成するため、第９の発明は、車載用ソフトウェアに含まれる複数の処理を、複数プロセッサに対応して並列化する並列化システムに適用される。この並列化システムは、複数の処理を複数プロセッサでの処理に分割した分割パターンを生成し、内燃機関を模擬したプラントモデルを用いた机上シミュレーションによって、分割パターンに従い計算を実行した場合の内燃機関の機関特性を含む複数の指標を出力し、複数の指標を評価関数に入力することにより、分割パターンに対応した評価値を算出し、そして、評価値に基づいて、最適な分割パターンを特定するように構成される。
【００１５】
第１０の発明は、第９の発明において、更に以下の特徴を有する。
複数の指標は、内燃機関の排気に関連する排気指標、内燃機関の燃費に関連する燃費指標、及び内燃機関のトルクに関連するトルク指標のうちの少なくとも１つを含んで構成される。
【００１６】
第１１の発明は、第９又は第１０の発明において、更に以下の特徴を有する。
複数の指標は、複数プロセッサの処理負荷に関連する処理負荷指標を含んで構成される。
【００１７】
第１２の発明は、第９乃至第１１の何れか１つの発明において、更に以下の特徴を有する。
評価関数は、複数の指標の評価値への反映度合をそれぞれ調整可能に構成される。
【００１８】
第１３の発明は、第１２の発明において、更に以下の特徴を有する。
複数の指標は、内燃機関の排気に関連する排気指標と、複数プロセッサの処理負荷に関連する処理負荷指標と、を含んで構成される。そして、評価関数は、内燃機関の過渡運転時又は冷間運転時には、排気指標の反映度合を処理負荷指標の反映度合よりも高くするように構成される。
【００１９】
第１４の発明は、第１２の発明において、更に以下の特徴を有する。
複数の指標は、複数プロセッサの処理負荷に関連する処理負荷指標を含んで構成される。評価関数は、内燃機関の回転速度が所定の高回転速度である場合には高回転速度よりも低速の低回転速度である場合よりも処理負荷指標の反映度合を高くするように構成される。
【００２０】
第１５の発明は、第１乃至第９の何れか１つの発明において、更に以下の特徴を有する。
並列化システムは、分割パターンに従い複数プロセッサを動作させた場合に採り得る複数の処理順番を生成し、複数の処理順番のそれぞれに対応した評価値を反映させた総合評価値を算出し、そして、総合評価値に基づいて、最適な分割パターンを特定するように構成される。
【００２１】
第１６の発明は、第１５の発明において、更に以下の特徴を有する。
並列化システムは、複数の処理順番のそれぞれの発生確率に応じて、評価値の総合評価値への反映度合をそれぞれ調整可能に構成される。
【発明の効果】
【００２２】
第１又は第９の発明によれば、車載用ソフトウェアに含まれる複数の演算処理を複数プロセッサ用に並列化する場合に、内燃機関を模擬したプラントモデルを用いた机上シミュレーションから得られる複数の指標が利用される。この複数の指標には、生成された分割パターンに従った計算を行なった場合の内燃機関の機関特性が含まれている。このため、本発明によれば、内燃機関の機関特性を考慮して分割パターンの最適化を図ることができるので、車両の制御性能の低下を防ぐことが可能となる。
【００２３】
第２又は第１０の発明によれば、複数の指標には、排気指標、燃費指標及びトルク指標のうち少なくとも何れか１つが含まれている。このため、本発明によれば、これらの機関特性の何れかを考慮して分割パターンの最適化を図ることができるので、機関性能の低下を防いだ分割パターンの特定が可能となる。
【００２４】
第３又は第１１の発明によれば、複数の指標には、処理負荷指標が含まれている。このため、本発明によれば、これらの機関特性に加えて処理負荷を考慮した分割パターンの最適化を行うことができるので、処理負荷を抑制しつつ機関性能の低下を防いだ分割パターンの特定が可能となる。
【００２５】
第４又は第１２の発明によれば、評価関数は、複数の指標の評価値への反映度合をそれぞれ調整可能に構成されている。このため、本発明によれば、内燃機関の機関特性を評価値へ反映する際に個別に優先度を設定することが可能となる。
【００２６】
第５又は第１３の発明によれば、内燃機関の機関特性を評価値へ反映する際に、内燃機関の過渡運転時又は冷間運転時には排気指標が処理負荷指標よりも優先される。このため、本発明によれば、過渡運転時又は冷間運転時に排気特性が悪化することを有効に防いだ分割パターンを特定することが可能となる。
【００２７】
第６又は第１４の発明によれば、内燃機関の処理負荷を評価値へ反映する際に、内燃機関が高回転速度による運転時には低回転速度による運転時よりも処理負荷に関連する処理負荷指標が優先される。このため、本発明によれば、処理負荷が相対的に大きくなる高回転速度運転時に演算処理性能が低下することを有効に防いだ分割パターンを特定することが可能となる。
【００２８】
分割パターンに従い複数の処理を計算する場合には、複数の処理順番を採りうる。第７又は第１５の発明によれば、複数の処理順番のそれぞれに対して評価値が計算され、最終的な総合評価値へ反映される。このため、本発明によれば、複数プロセッサを用いた計算を精度よく模擬することができる。
【００２９】
第８又は第１６の発明によれば、評価値に基づく総合評価値の算出において、複数の処理順番のそれぞれの発生確率が反映される。このため、本発明によれば、複数プロセッサを用いた演算を精度よく模擬することができる。
【図面の簡単な説明】
【００３０】
【図１】実施の形態１の並列化システムの構成を示す図である。
【図２】シングルコアプロセッサを用いた場合の車載用ソフトウェアの分割方法を示す図である。
【図３】マルチコアプロセッサを用いた場合の車載用ソフトウェアの分割方法を示す図である。
【図４】実施の形態１の並列化システムにおいて実行される処理のフローチャートである。
【発明を実施するための形態】
【００３１】
以下、図面を参照して本発明の実施の形態について説明する。ただし、以下に示す実施の形態において各要素の個数、数量、量、範囲等の数に言及した場合、特に明示した場合や原理的に明らかにその数に特定される場合を除いて、その言及した数に、この発明が限定されるものではない。また、以下に示す実施の形態において説明する構造は、特に明示した場合や明らかに原理的にそれに特定される場合を除いて、この発明に必ずしも必須のものではない。
【００３２】
実施の形態１．
以下、図面を参照して本発明の実施の形態１について説明する。
【００３３】
１．実施の形態１の構成
本実施の形態の並列化システムは、車載用ソフトウェアに含まれる複数の処理を複数プロセッサ用に分割して並列化するシステムである。本システムにおいて実行される並列化方法は、車載用ソフトウェアの開発現場において静的に実行されるものであり、本システムを車に搭載して車載用ソフトウェアの並列化を動的に行うものではない。なお、本実施の形態の並列化システムにおいては、車載用ソフトウェアにより制御されるエンジンの種類や構造、複数プロセッサの種類やコア数に限定はない。また、車載用ソフトウェア自体についても、その内容に限定はない。
【００３４】
図１は、本実施の形態１の並列化システムの構成を示す図である。実施の形態１の並列化システム１０は、最適化部１２と、コントローラモデル１４と、プラントモデル１６と、評価部１８と、を備えている。
【００３５】
最適化部１２は、後述する評価部１８から出力された評価値に基づいて車載用ソフトウェアを複数の処理に分割した分割パターンを生成するためのものである。最適化部１２において実行されるアルゴリズムは特に限定しない。生成された分割パターンはコントローラモデル１４へと出力される。
【００３６】
コントローラモデル１４は、入力された分割パターンに含まれている複数の処理の実行順序を任意に入れ替えて複数の処理順パターンを生成するためのモデルである。生成された処理順パターンは、プラントモデル１６へと出力される。
【００３７】
プラントモデル１６は、実車に搭載される内燃機関（エンジン）の制御構造をモデル化したものである。プラントモデル１６は、吸気管、排気管、シリンダ、タービン、コンプレッサ等のエンジンを構成する部品ごとに作成された複数のサブモデルを含んで構成されている。プラントモデル１６を利用した机上シミュレーションによれば、出力トルク、燃費、排気といったエンジンの機関特性を実車同等に模擬することができる。プラントモデル１６では、分割パターン及び処理順パターンに対応した机上シミュレーションによってエンジンの機関性能に関連する複数の指標が演算される。ここでの複数の指標は、エンジンの出力（トルク）に関連する出力指標、エンジンの燃費性能に関連する燃費指標、エンジンの排気に関連する排気指標、そして演算の処理負荷に関連する処理負荷指標を含んでいる。演算された各指標は、評価部１８へと出力される。
【００３８】
評価部１８は、プラントモデル１６での机上シミュレーション結果を定量的に評価するためのものである。評価部１８は、入力された機関性能に関連する複数の指標から、総合的な評価値を計算する。そして、算出された評価値に基づいて、今回の分割パターンの採用可否を決定する。
【００３９】
２．実施の形態１の特徴
次に、実施の形態１の並列化システムを利用した車載用ソフトウェアの並列化方法について説明する。先ず、比較例としてシングルコアプロセッサを用いた場合の車載用ソフトウェアの分割方法について説明する。図２は、シングルコアプロセッサを用いた場合の車載用ソフトウェアの分割方法を示す図である。この図に示すように、シングルコアプロセッサでは、処理１から処理５に分割した車載用ソフトウェアを、単一のコア１によって処理１から処理５の順に処理している。このように、単一のコア１では２つの処理を並行して行うことができないため、演算時間が長くなるという問題がある。
【００４０】
これに対して、車載用プロセッサとしてマルチコアプロセッサなどの複数プロセッサを備える場合には、２つの処理を並行して行うこともできる。図３は、マルチコアプロセッサを用いた場合の車載用ソフトウェアの分割方法を示す図である。この図に示すように、例えば２つのコアを用いて処理を行う場合、分割パターン１や分割パターン２のように、車載用ソフトウェアの処理を分割して並列化するパターンが複数存在する。
【００４１】
ここで、エンジン制御では、各処理同士に依存関係が存在する場合がある。それらの処理間に依存関係がある場合、一方の処理が完了するまでは他方の処理は待ち状態になってしまう。このような状況は、例えば空燃比制御において、エアフロメータ等のセンサー値の取得処理が完了するまではスロットル等のアクチュエータの操作量算出処理が待ち状態になる場合等が該当する。この場合、応答遅れによる空気量制御の制御性悪化が問題となる。このため、並列化システムを利用して車載用ソフトウェアの並列化を行う場合には、何れの分割パターンが最適であるかを検証する際に、エンジン特性を含めて検証することが求められる。
【００４２】
実施の形態１の並列化システム１０では、エンジンの機関制御に関する複数の指標を用いて分割パターンの最適化を図る構成に特徴を有している。以下、実施の形態１の並列化システム１０において実行される具体的な処理について、フローチャートに沿って詳細に説明する。
【００４３】
図４は、実施の形態１の並列化システムにおいて実行される処理のフローチャートである。図４のルーチンは、車載用ソフトウェアを並列化する場合に最適な分割パターンを探索する処理のルーチンである。なお、ここでは、シングルコアに配置されていた５つの既存処理からなる車載用ソフトウェアをコア１での処理とコア２での処理とに分割する場合を例示している。
【００４４】
図４に示すルーチンでは、先ず、初回分割パターンが生成される（ステップＳ１００）。ここでは、例えば以下の式（１）のような分割パターンＣｉｎが最適化部１２において生成される。なお、式（１）中の「ｎ−ｍ」の表記において、ｎは各処理が配置されるコアを、ｍは配置されたコア内での処理の順番を示している。式（１）に例示された初回分割パターンでは、コア１の３つの処理１−１，１−２，１−３が配置され、コア２に２つの処理２−１，２−２が配置されている。
【００４５】
【数１】
2019127100.tif 000003
【００４６】
最適化部１２において生成された初回分割パターンＣｉｎはコントローラモデル１４へと出力される。コントローラモデル１４では、生成された分割パターンＣｉｎにおいて発生する可能性のある全処理の処理順番が生成される（ステップＳ１０２）。マルチコアプロセッサにおいては、同一のコア内では演算処理の逐次性が保証されるが、コア間の演算処理の順番は前後する可能性がある。ここでは、次式（２）に示すように、可能性のある全処理の処理順番Ｐ１〜Ｐｎが生成される。
【００４７】
【数２】
2019127100.tif 000004
【００４８】
コントローラモデル１４において生成された処理順番Ｐｉ（ｉ＝１〜ｎ）は、次にプラントモデル１６へと出力される。プラントモデル１６では、先ず、処理順番Ｐｉ（ｉ＝１〜ｎ）の初期値がｉ＝１に設定される（ステップＳ１０４）。次に、机上シミュレーションを実行することによって、エンジンの機関性能に関連する複数の指標が算出される（ステップＳ１０６）。ここでは、次式（３）〜（６）に示す時間関数の式に従い、処理順番Ｐｉ（ｉ＝１〜ｎ）のときのトルク指標ＩＤＸｔｑ（ｉ，ｔ）、燃費指標ＩＤＸｆｃ（ｉ，ｔ）、排気指標ＩＤＸｅｍ（ｉ，ｔ）、処理負荷指標ＩＤＸｐｌ（ｉ，ｔ）がそれぞれ算出される。
【００４９】
【数３】
2019127100.tif 000005
【００５０】
式（３）は、トルク指標ＩＤＸｔｑを算出するための式である。この式において、ＴＱｔ（ｔ）はエンジン制御において目標とされる目標トルクであり、ＴＱｒ（ｔ）は実際に出力されている実トルクである。式（３）によれば、トルク指標ＩＤＸｔｑは、目標トルクＴＱｔ（ｔ）と実トルクＴＱｒ（ｔ）の差の絶対値として表される。このため、トルク指標ＩＤＸｔｑは、実トルクが目標トルクに近づくほど、つまりトルク追従性能が高くなるほど、小さな値となる。
【００５１】
式（４）は、燃費指標ＩＤＸｆｃを算出するための式である。この式において、Ｆｃ（ｔ）は燃料消費量である。式（４）によれば、燃費指標ＩＤＸｆｃは、燃料消費量が少ないほど、つまり燃費性能が高くなるほど、小さな値となる。
【００５２】
式（５）は、排気指標ＩＤＸｅｍを算出するための式である。この式において、ＨＣ（ｔ）はＨＣ排出量であり、ＮＯｘ（ｔ）はＮＯｘ排出量であり、そしてＣＯ（ｔ）はＣＯ排出量である。式（５）によれば、排気指標ＩＤＸｅｍは、ＨＣ排出量とＮＯｘ排出量とＣＯ排出量との総和として表される。このため、排気指標ＩＤＸｅｍは、ＨＣ，ＮＯｘ，ＣＯの排出量が少量であるほど、つまり排気浄化性能が高いほど、小さな値となる。
【００５３】
式（６）は、処理負荷指標ＩＤＸｐｌを算出するための式である。この式において、Ｐｌ（ｔ）はプロセッサの使用率である。式（６）によれば、処理負荷指標ＩＤＸｐｌは、プロセッサの使用率が低いほど、つまり演算処理性能が高いほど、小さな値となる。
【００５４】
図４に示すルーチンでは、次にｉ＝ｎか否かが判定される（ステップＳ１０８）。その結果、ｉ＝ｎの成立が認められない場合には、次のステップに移行して、ｉがインクリメントされる（ステップＳ１１０）。ステップＳ１１０の処理が行われると、再びステップＳ１０６へと移行して、トルク指標ＩＤＸｔｑ（ｉ，ｔ）、燃費指標ＩＤＸｆｃ（ｉ，ｔ）、排気指標ＩＤＸｅｍ（ｉ，ｔ）、及び処理負荷指標ＩＤＸｐｌ（ｉ，ｔ）が算出される。このように、ステップＳ１０６からＳ１１０の処理がｉ＝ｎとなるまで繰り返されることにより、処理順番Ｐｉ（ｉ＝１〜ｎ）のときの各指標がそれぞれ算出される。
【００５５】
ステップＳ１０８においてｉ＝ｎの成立が認められると、プラントモデル１６において算出された各指標が評価部１８へと出力される。評価部１８では、入力された各指標に基づいて評価値が算出される（ステップＳ１１２）。ここでは、先ず次式（７）に示す評価関数に従い、処理順番Ｐｉ（ｉ＝１〜ｎ）のときの評価値Ｅｉがそれぞれ算出される。
【００５６】
【数４】
2019127100.tif 000006
【００５７】
上式（７）において、ａ（ｔ）、ｂ（ｔ）、ｃ（ｔ）、ｄ（ｔ）で示される時間関数は、各指標の評価値Ｅｉに対する反映度合を調整するための係数である。これらの係数は、例えば以下のような関係に従い決定される。
【００５８】
（１）排気性能に関する要求を優先させた評価値を算出する場合
エンジンの排気性能に関する要求を優先させる場合には、排気指標ＩＤＸｅｍの係数ｃを他の係数ａ、ｂ及びｄよりも大きく設定する。このような状況は、例えば、エンジンの運転状態が過渡運転である場合、冷間運転である場合等が該当する。係数ａを他の係数ｂ、ｃ及びｄよりも大きく設定することにより、排気指標ＩＤＸｅｍの評価値に対する反映度合が他の指標よりも高まる。特に、排気指標ＩＤＸｅｍの係数ｃを処理負荷指標ＩＤＸｐｌの係数ｄよりも大きく設定することにより、処理負荷よりも排気性能を優先した場合の評価値を算出することができる。
【００５９】
なお、排気性能に関する要求を優先させる場合の係数ｃの設定方法はこれに限られない。例えば、エンジンの過渡運転時の係数ｃを定常運転時のそれよりも大きく設定する方法でもよい。また、エンジンの冷間運転時の係数ｃを温間運転時のそれよりも大きく設定する方法でもよい。
【００６０】
（２）燃費性能に関する要求を優先させた評価値を算出する場合
エンジンの燃費性能に関する要求を優先させる場合には、燃費指標ＩＤＸｆｃの係数ｂを他の係数ａ、ｃ及びｄよりも大きく設定する。このような状況は、例えば、エンジン特性を変化させるモードを備えたエンジンにおいて、エコモード等の燃費を優先するモードが選択された場合が該当する。係数ｂを他の係数ａ、ｃ及びｄよりも大きく設定することにより、燃費指標ＩＤＸｆｃの評価値に対する反映度合が他の指標よりも高まる。
【００６１】
なお、燃費性能に関する要求を優先させる場合の係数ｂの設定方法はこれに限られない。例えば、エコモード等の燃費を優先するモードが選択された場合の係数ｂを他のモードが選択されている場合のそれよりも大きく設定する方法でもよい。
【００６２】
（３）トルク性能に関する要求を優先させた評価値を算出する場合
エンジンのトルク性能に関する要求を優先させる場合には、トルク指標ＩＤＸｔｑの係数ａを他の係数ｂ、ｃ及びｄよりも大きく設定する。このような状況は、例えば、エンジンのトルク変動が大きい加速時や減速時等が該当する。また、エンジン特性を変化させるモードを備えたエンジンでは、例えばスポーツモード等のトルクを優先するモードが選択された場合が該当する。係数ａを他の係数ｂ、ｃ及びｄよりも大きく設定することにより、トルク指標ＩＤＸｔｑの評価値に対する反映度合が他の指標よりも高まる。
【００６３】
なお、トルク性能に関する要求を優先させる場合の係数ａの設定方法はこれに限られない。例えば、エンジンの加速時の係数ａを定常運転時のそれよりも大きく設定する方法でもよい。スポーツモード等のトルクを優先するモードが選択された場合の係数ａを他のモードが選択されている場合のそれよりも大きく設定する方法でもよい。
【００６４】
（４）処理負荷性能に関する要求を優先させた評価値を算出する場合
エンジン制御の処理負荷性能に関する要求を優先させる場合には、処理負荷指標ＩＤＸｐｌの係数ｄを他の係数ａ、ｂ及びｃよりも大きく設定する。このような状況は、例えば、演算の処理負荷が高くなるエンジンの高回転速度時が該当する。係数ｄを他の係数ａ、ｂ及びｃよりも大きく設定することにより、処理負荷指標ＩＤＸｐｌの評価値に対する反映度合が他の指標よりも高まる。
【００６５】
なお、処理負荷性能に関する要求を優先させる場合の係数ｄの設定方法はこれに限られない。例えば、エンジンの回転速度が所定の回転速度よりも高い場合の係数ｄを、所定の回転速度以下である場合よりもよりも大きく設定する方法でもよい。
【００６６】
次式（８）は、評価値Ｅｉ（ｉ＝１〜ｎ）を総合した総合評価値Ｅを算出するための評価関数を示している。ステップＳ１１２では、次式（８）に従い、総合評価値Ｅが算出される。
【００６７】
【数５】
2019127100.tif 000007
【００６８】
上式（８）において、ｑ１〜ｑｎは、処理順番Ｐｉ（ｉ＝１〜ｎ）の発生確率である。つまり、各処理順番Ｐｉ（ｉ＝１〜ｎ）の評価値Ｅｉ（ｉ＝１〜ｎ）は、それぞれの発生確率に応じた重み付けが行われている。これにより、総合評価値Ｅには、各処理順番Ｐｉ（ｉ＝１〜ｎ）の発生確率が有効に反映される。
【００６９】
評価部１８において算出された総合評価値Ｅは、最適化部１２へと出力される。最適化部１２では、総合評価値Ｅが評価値の基準値Ｅｔｈよりも小さいか否かが判定される（ステップＳ１１４）。ここでの基準値Ｅｔｈは、分割パターンＣｉｎの採用可否を判定するための閾値であって、予め設定された値が使用される。その結果、Ｅ＜Ｅｔｈの成立が認められた場合には、今回の総合評価値Ｅに対応する分割パターンが最終的な分割パターンの結果として特定される。
【００７０】
一方、上記ステップＳ１１４において、Ｅ＜Ｅｔｈの成立が認められない場合には、今回の総合評価値Ｅに対応する分割パターンはエンジンの機関性能が低下する可能性があると判断される。この場合、次のステップに移行して、今回の分割パターンとは異なる次回分割パターンが生成される（ステップＳ１１６）。ここでは、例えば以下の式（９）のような次回分割パターンＣｉｎが生成される。式（９）に例示された分割パターンでは、コア１に２つの処理１−１，１−２が配置され、コア２に３つの処理２−１，２−２，２−３が配置されている。
【００７１】
【数６】
2019127100.tif 000008
【００７２】
ステップＳ１１６の処理が実行されると、再びステップＳ１０２に戻る。そして、ステップＳ１１４の判定が成立するまで、ステップＳ１０２〜ステップＳ１１６の処理が繰り返される。
【００７３】
以上説明したように、実施の形態１の並列化システム１０によれば、エンジンの機関性能に関する複数の指標に基づいて、車載用ソフトウェアの分割パターンが評価される。これにより、車載用ソフトウェアを複数の処理に分割して並列化する際に、エンジンの機関性能の低下を防いだ分割パターンを特定することが可能となる。
【００７４】
なお、上述した実施の形態１の並列化システム１０において実行される並列化方法では、図４に示すルーチンのステップＳ１００又はＳ１１６の処理を実行することにより、本発明の「パターン生成ステップ」が実現され、ステップＳ１０２の処理を実行することにより、本発明の「処理順番生成ステップ」が実現され、ステップＳ１０６からＳ１１０の処理を実行することにより、本発明の「シミュレーションステップ」が実現され、ステップＳ１１２の処理を実行することにより、本発明の「評価ステップ」が実現され、ステップＳ１１４の処理を実行することにより、本発明の「パターン特定ステップ」が実現されている。
【符号の説明】
【００７５】
１０  並列化システム
１２  最適化部
１４  コントローラモデル
１６  プラントモデル
１８  評価部
【図１】
2019127100.tif 000009
【図２】
2019127100.tif 000010
【図３】
2019127100.tif 000011
【図４】
2019127100.tif 000012