"複数のプロセッサコアを有するシステムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表と、前記タスクセットを構成する各タスクの特性を示すタスクセットパラメータと、に基づいて、各動作ステートに対してステート評価関数値を生成するステート評価関数値生成手段と、各動作ステートの前記ステート評価関数値を統合した統合評価関数値を生成する統合評価関数値生成手段と、前記統合評価関数値に基づいて、前記複数のプロセッサコアの各々に割り当てるタスクの配置の最適化を行う最適配置探索手段と、を備えるタスク配置最適化システム。前記ステート評価関数生成手段は、前記ステート評価関数値を、各プロセッサコアに割り当てたタスクの実行時間の合計値の差の絶対値とすることを特徴とする請求項1に記載のタスク配置最適化システム。前記ステート評価関数生成手段は、前記ステート評価関数値を、各プロセッサコアに割り当てたタスクの実行時間の合計値の差の自乗とすることを特徴とする請求項1に記載のタスク配置最適化システム。前記ステート評価関数生成手段は、前記ステート評価関数値を、プロセッサコア間の依存数とすることを特徴とする請求項1に記載のタスク配置最適化システム。前記統合評価関数値生成手段は、各動作ステートの前記ステート評価関数値の総和を前記統合評価関数値とすることを特徴とする請求項1乃至請求項4のいずれか1項に記載のタスク配置最適化システム。前記統合評価関数値生成手段は、各動作ステートの前記ステート評価関数値の総乗を前記統合評価関数値とすることを特徴とする請求項1乃至請求項4のいずれか1項に記載のタスク配置最適化システム。外部から入力される前記ステートタスクセット対応表を保持するステートタスクセット対応表保持手段と、外部から入力される前記タスクセットパラメータを保持するタスクセットパラメータ保持手段と、をさらに備えることを特徴とする請求項1乃至請求項6のいずれか1項に記載のタスク配置最適化システム。前記他最適配置探索手段は、前記統合評価関数値が小さいタスクの配置候補を、優先的に最適配置として選択することを特徴とする請求項1乃至請求項7のいずれか1項に記載のタスク配置最適化システム。複数のプロセッサコアを有するシステムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表と、前記タスクセットを構成する各タスクの特性を示すタスクセットパラメータと、に基づいて、各動作ステートに対してステート評価関数値を生成し、各動作ステートの前記ステート評価関数値を統合した統合評価関数値を生成し、前記統合評価関数値に基づいて、前記複数のプロセッサコアの各々に割り当てるタスクの配置の最適化を行う、タスク配置最適化方法。複数のプロセッサコアを有するシステムにおけるタスク配置の最適化処理をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体であって、前記最適化処理は、前記システムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表と、前記タスクセットを構成する各タスクの特性を示すタスクセットパラメータと、に基づいて、各動作ステートに対してステート評価関数値を生成し、各動作ステートの前記ステート評価関数値を統合した統合評価関数値を生成し、前記統合評価関数値に基づいて、前記複数のプロセッサコアの各々に割り当てるタスクの配置の最適化を行う、タスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体。しかしながら、特許文献1に記載のチューニング支援装置によるタスク配置によっては、ある動作ステートにおいて最適なタスク配置とはならないという問題が生じ得る。当該問題について以下に述べる。一般的なシステム上では、常に全てのタスクが動作しているわけではなく、動作中の動作ステートに応じて動作するタスクの組み合わせが異なる。上述のチューニング支援装置では、全てのタスクを用いてタスク配置を最適化すること、特定の動作ステートでのみ動作するタスクセットを用いてタスク配置を最適化することを想定している。これにより、全てのタスクまたは考察対象の動作ステートで動作するタスクセットに関するタスク配置が最適化され、負荷のバランスを均等にすることができる。しかし、当該チューニング支援装置において考慮されていない動作ステートでは、負荷のバランスが偏るなど、著しく性能が悪化するケースが生じ得る。本発明は、上述の問題を解決するために主になされたものであり、特定の動作ステートにおいて性能劣化が生じないマルチプロセッサシステムのタスク配置を実現するタスク配置最適化システム、タスク配置最適化方法、タスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体を提供することを主たる目的とする。本発明にかかるタスク配置最適化システムの一態様は、複数のプロセッサコアを有するシステムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表と、前記タスクセットを構成する各タスクの特性を示すタスクセットパラメータと、に基づいて、各動作ステートに対してステート評価関数値を生成するステート評価関数値生成手段と、各動作ステートの前記ステート評価関数値を統合した統合評価関数値を生成する統合評価関数値生成手段と、前記統合評価関数値に基づいて、前記複数のプロセッサコアの各々に割り当てるタスクの配置の最適化を行う最適配置探索手段と、を備える、ものである。本発明にかかるタスク配置最適化方法の一態様は、複数のプロセッサコアを有するシステムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表と、前記タスクセットを構成する各タスクの特性を示すタスクセットパラメータと、に基づいて、各動作ステートに対してステート評価関数値を生成し、各動作ステートの前記ステート評価関数値を統合した統合評価関数値を生成し、前記統合評価関数値に基づいて、前記複数のプロセッサコアの各々に割り当てるタスクの配置の最適化を行う、ものである。本発明にかかるタスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体の一態様は、複数のプロセッサコアを有するシステムにおけるタスク配置の最適化処理をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体であって、前記最適化処理は、前記システムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表と、前記タスクセットを構成する各タスクの特性を示すタスクセットパラメータと、に基づいて、各動作ステートに対してステート評価関数値を生成し、各動作ステートの前記ステート評価関数値を統合した統合評価関数値を生成し、前記統合評価関数値に基づいて、前記複数のプロセッサコアの各々に割り当てるタスクの配置の最適化を行う、ものである。本発明によれば、特定の動作ステートにおいて性能劣化が生じないマルチプロセッサシステムのタスク配置を実現するタスク配置最適化システム、タスク配置最適化方法、タスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体を提供することができる。<実施の形態1>以下、図面を参照して本発明の実施の形態について説明する。AMP方式のマルチコアシステムにおいては、タスクをどのコアに配置するかによって性能が異なってくる。本実施の形態にかかるタスク配置最適化システムは、各タスクが特定のコアで実行される機能分散型の構成をとるAMP方式のマルチコアシステムを設計実装する際に、性能のよいタスクの配置となるよう最適化を行うことを目的とする。以下の説明では、本実施の形態にかかるタスク配置最適化システムによる最適化対象のAMP方式のマルチコアシステムを、単にマルチコアシステムと表記する。図1は、本実施の形態にかかるタスク配置最適化システムの全体構成を示すブロック図である。タスク配置最適化システム1は、タスクセットパラメータ保持部11と、ステートタスクセット対応表保持部12と、最適化部13と、を備える構成である。タスクセットパラメータ保持部11は、外部から入力されるタスクセットパラメータを保持する。タスクセットパラメータとは、タスクセットマルチコアシステムに配置される複数のタスクの集合を構成する各タスクの特性を表わす情報である。タスクセットパラメータには、起動周期、他のタスクとの依存関係、実行時間、必要メモリサイズ等がタスク毎に記載されている。ステートタスクセット対応表保持部12は、マルチコアシステムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表を保持する。マルチコアシステムを含む一般的なシステムは、動作状況に応じてその動作ステートを変化させながら動作する。システムの動作ステートが変化することにより、そのシステムの動作は様々に変化する。このため、一般的に特定の動作ステートの際に動作するタスクは、全タスクのうち一部のタスクとなる。ステートタスクセット対応表は、システムの動作ステートの一覧と、動作ステート毎に動作するタスクセットの対応と、を表わすものである。最適化部13は、ステート評価関数値生成部131と、統合評価関数値生成部132と、最適配置探索部133と、を備える。ステート評価関数値生成部131は、特定動作ステートに対応したタスクセットを対象として、ステート評価関数値を生成する。詳細には、ステート評価関数値生成部131は、タスクセットパラメータ保持部11からタスクセットパラメータを読み出し、ステートタスクセット対応表保持部12からステートタスクセット対応表を読み出す。そして、ステート評価関数値生成部131は、これらの情報を基に特定動作ステートに対応したタスクセットを対象として、ステート評価関数値を生成する。一般的に、検証対象の全動作ステートに対してそれぞれステート評価関数値が生成される。ステート評価関数値は、動作ステート毎の、タスク配置の良さを示す評価値である。統合評価関数値生成部132は、検討対象の全動作ステートについてのステート評価関数値を統合し、統合評価関数値を生成する。最適配置探索部133は、統合評価関数値生成部132が出力する統合評価関数値がより良いタスク配置を探索する。最も単純な探索手法として全探索が挙げられる。全探索では、全ての配置候補を順に生成し、その中で最も統合評価関数値が良好な配置を探索結果として表示画面等に出力する。しかしながら、効率的な探索を実現するため、枝限定法、グリーディー法、遺伝的アルゴリズム等の一般に知られる高速化手法を用いることが望ましい。なお、タスクセットパラメータ、ステートタスクセット対応表、ステート評価関数値、及び統合評価関数値の具体例は、後述する実施例1等により説明する。次に、図2のフローチャートを参照して、本実施の形態にかかるタスク配置最適化システム1の動作について説明する。初めに、タスクセットパラメータ保持部11は、外部から入力されたタスクセットパラメータを保持するステップS101。次に、ステートタスクセット対応表保持部12は、外部から入力されたステートタスクセット対応表を保持するステップS102。なお、上述のステップS101及びS102は順不同の処理であり、ステップS102を先に実行することや、ステップS101及びステップS102を同時に実行することも可能である。最適配置探索部133は、タスク配置候補どのタスクをどのコアに配置するかの候補データを生成するS103。そして、ステート評価関数値生成部131は、生成したタスク配置候補について、各動作ステートのステート評価関数値を生成するS104。統合評価関数値生成部132は、ステート評価関数値生成部131が生成したステート評価関数値を統合した統合評価関数値を生成するS105。最適配置探索部133は、統合評価関数値を考慮し、タスク配置の探索終了条件を満たすか否かを判定するS106。タスク配置の探索終了条件を満たさない場合S106:No、再度S103から処理を繰り返す。一方、タスク配置の探索終了条件を満たす場合S106:Yes、最適配置探索部133は、タスク配置の最適化結果を出力して処理を終了する。ここで、タスク配置の探索終了条件とは、どのような最適化アルゴリズムを最適配置探索部133が採用するかにより異なる。最適化アルゴリズムとして単純な全探索を用いる場合、探索終了条件は全タスク配置候補の生成終了となる。この場合、最適配置探索部133は、最適な統合評価関数値を持つタスク配置候補を最適化結果として出力する。一方、他の一般的な最適化アルゴリズムを採用する場合、統合評価関数値がこれ以上良くなることがないと判定した場合や、タスク配置候補の生成を一定回数繰り返しても統合評価関数値が改善しない場合等、を考慮して探索終了条件を定める。続いて、本実施の形態にかかるタスク配置最適化システムの効果について説明する。上述のように、ステート評価関数値生成部131は、ステートタスクセット対応表と、タスクセットパラメータと、に基づいて、動作ステート毎にタスク配置の良さを示すステート評価関数値を算出する。統合評価関数値生成部132は、このステート評価関数値を全動作ステートについて統合し、マルチコアシステム全体としての評価値である統合評価関数値を算出する。この統合評価関数値を用いてタスク配置の最適化を行うことにより、それぞれの動作ステートにおける処理性能を考慮することが可能になる。これにより、特定動作ステートにおいて著しく性能劣化が起こる問題を回避することができる。特許文献1に記載のチューニング装置のように全タスクを用いてタスク配置の最適化を行う場合、実際には性能充足するマルチコアシステムにおいても、性能が足りないたとえばリアルタイムシステムの場合、デッドラインを充足しない等と誤判定される場合がある。これは、前述の通り、一般的なシステムにおいては全てのタスクが常に動作しているわけではない。例えば、ある2つのタスクは、マルチコアシステム内の動作ステートに応じてどちらか一方しか動作しない等のケースがあり、全てのタスクをまとめて扱うことが不適切なケースがある。本実施の形態にかかるタスク配置最適化システムは、動作ステート毎のステート評価関数値を算出し、それを統合して最適化を行うことにより、実際には同時に動作しないタスクを考慮した最適化を行うことが可能になる。これにより、本実施の形態にかかるタスク配置最適化システムは、全タスクを用いてタスク配置の最適化を行う場合には性能が足りないと判定されるようなマルチコアシステムを対象とした場合でも、適切に性能充足する最適なタスク配置を出力することができる。<実施の形態2>次に、本発明の実施の形態2にかかるタスク配置最適化システムを、図面を参照して詳細に説明する。図3は、本実施の形態にかかるタスク配置最適化システムの全体構成を示すブロック図である。本実施の形態にかかるタスク配置最適化システムでは、実施の形態1において説明した処理がコンピュータ5によりプログラムとして実行されることを特徴とする。プログラムとして実行される各処理は、実施の形態1における処理と略同一である。コンピュータ5は、プロセッサ51と、記憶装置52と、を備える。記憶装置52は、例えばハードディスク等が該当する。プロセッサ51がプログラムを実行することにより、タスク配置最適化システムとして動作する。タスクセットは、タスクセット定義ファイル62上に表現される。ステートタスクセット対応表は、ステートタスクセット対応表定義ファイル63上に表現される。タスクセット定義ファイル62及びステートタスクセット対応表定義ファイル63は、タスク配置最適化プログラム61が実行される際にプロセッサ51から読み出される。プロセッサ51は、タスク配置最適化プログラム61を実行することにより、タスク配置の最適化を行う。プロセッサ51は、タスク配置の最適化結果をタスク最適配置定義ファイル64として記憶装置52上に出力する。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体nontransitorycomputerreadablemediumを用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体tangiblestoragemediumを含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ、光磁気記録媒体例えば光磁気ディスク、CD-ROMReadOnlyMemory、CD-R、CD-R/W、半導体メモリ例えば、マスクROM、PROMProgrammableROM、EPROMErasablePROM、フラッシュROM、RAMrandomaccessmemoryを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体transitorycomputerreadablemediumによってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。上述のように、プログラムの形式であっても、AMP方式のマルチプロセッサシステムのタスク配置の最適化を実現することができる。<実施例1>次に、具体的な実施例を用いて実施の形態1にかかるタスク配置最適化システムの動作を説明する。以下の実施例1~4では、タスク配置最適化システム1が対象とするマルチコアシステムは、コア0及びコア1を備える。本例では、ステート評価関数値生成部131は、コア0の実行時間と、コア1の実行時間と、の差の絶対値をステート評価関数値として生成する。統合評価関数値生成部132は、各動作ステートにおけるステート評価関数値の和を統合評価関数値として生成する。最適配置探索部133は、統合評価関数値が最小となる配置を探索する最適化を行う。図4は、ステートタスクセット対応表の具体例を示す図である。このように、マルチコアシステムが取り得る全動作ステートと、当該動作ステートにて実行されるタスクの関係が示される。図4の例では、マルチコアシステムは、動作ステートとしてS1、S2、S3、S4の4つを取り得ることが示されている。さらに、ステートS1では、タスクA及びタスクBが実行され、ステートS2では、タスクC、タスクE、タスクFが実行されることが示されている。同様に、ステートS3では、タスクC~Gが実行され、ステートS2では、タスクE、タスクF、タスクGが実行されることが示されている。図5は、タスクセットパラメータの例を示す図である。本実施例では、各タスクの実行に必要な実行時間がパラメータとして表記されている。図6は、図4のステートタスクセット対応表の具体例と、図5のタスクセットパラメータの具体例と、を統合した表である。以下に、図4のステートタスクセット対応表、図5のタスクセットパラメータが入力された場合の、タスク配置最適化システムによるタスク配置の最適化について説明する。最適化は、各コアに割り当てられたタスクの実行時間を平均化させる観点により行われる。ここで、ステートS1に注目した最適化は独立して行い、ステートS2~S4の最適化において、特許文献1に記載の最適化手法を用いて行った最適化と、実施の形態1に記載の最適化手法と、の比較を考える。特許文献1に記載の最適化手法において、最も多くのタスクが動作するステートS3に着目した最適化を行った場合を考察する。図7は、当該最適化の様子を示す図である。図7において、各タスク行には、そのタスクが該当動作ステートにて実行される場合に図5にて示した実行時間が表記されている。このうち、破線に囲まれたタスクタスクA,C,Dをコア0に、それ以外のタスクをコア1に配置している。図7において、コア0、コア1の行には、それぞれのステートS1~S4における各コアに割り当てられたタスクの実行時間の合計を示している。ここで、図7の例では、ステートS3に着目した最適化が行われている。すなわち、ステートS3において、コア0における実行時間と、コア1における実行時間が完全にバランスすなわち同じ32という値となるしている。一方、このタスク配置の場合、ステートS4ではコア1でのみタスクが実行され、コア0ではまったくタスクが実行されていない。すなわち、ステートS4では、タスク配置がアンバランスな状態となってしまっている。続いて、実施の形態1にかかるタスク配置最適化システムによる最適化結果について例示する。上述の図7のタスク配置での統合評価関数値は25032=39となっている。しかしながら、実際には統合評価関数値がさらに小さいタスク配置が存在する。本例のタスク配置最適化システム1は、統合評価関数値が最小となる配置を最適配置とする。最適配置探索部133には、様々な既存技術の最適化アルゴリズムが応用可能である。最適配置探索部133が算出した最適配置の一例を図8に示す。図8の配置における統合評価関数値は、2940=15となり、図7に示した統合評価関数値よりも小さくなっている。図7と比較して、図8の配置は、各ステートでの実行時間のバランスが取れている配置となっている。<実施例2>実施例2では、実施例1のタスク配置最適化システム1の応用例として、ステート評価関数値生成部131がステート評価関数値を実行時間の差の自乗とするものである。すなわち、ステート評価関数値生成部131が、コア0の実行時間と、コア1の実行時間と、の差の自乗をステート評価関数値として生成する。統合評価関数値生成部132は、各動作ステートにおけるステート評価関数値の和を統合評価関数値として生成する。以下の説明では、実施例1のタスク配置最適化システム1によっては、統合評価関数値が同一となる2つの配置例について考える。一つ目の配置Aは、ステートS1、S2、S3、S4におけるステート評価関数値が夫々1、1、1、5となる。二つ目の配置Bは、ステートS1、S2、S3、S4におけるステート評価関数値が夫々2、2、2、2となる。実施例1のタスク配置最適化システム1によりこれらの配置の統合評価関数値を生成すると、配置Aは1115=8、配置Bは2222=8となり同一値となる。実施例2のタスク配置最適化システム1では、ステート評価値関数値は実行時間の差の自乗であり、統合評価関数値は配置Aでは11125=28、配置Bでは4444=16となる。ここで、最適配置探索部133は、統合評価関数値が小さい配置を最適配置とするため、配置Bが適切な配置と判断する。このように、実施例2では、バランスのずれステート評価関数値のずれが大きい動作ステートが統合評価関数値に与える影響が大きくなる。そのため、極端にバランスが悪い動作ステートが生じることを極力避けたい場合に、本例のようにステート評価関数値を実行時間の差の自乗とすることが有効である。<実施例3>実施例3では、実施例1のタスク配置最適化システム1の変形例として、統合評価関数をステート評価関数値の積とする。すなわち、タスク評価関数値生成部131は、コア0の実行時間と、コア1の実行時間と、の差の絶対値をステート評価関数値として生成する。統合評価関数値生成部132は、各動作ステートにおけるステート評価関数値の積を統合評価関数値として生成する。ここで、実施例2と同様の配置A及び配置Bについて検討する。この場合、統合評価関数値は、配置Aでは1×1×1×5=5、配置Bでは2×2×2×2=16となる。ここで、最適配置探索部133は、統合評価関数値が小さい配置を最適配置とするため、配置Aが適切な配置と判断する。このように、実施例3では、バランスのずれが小さい動作ステートステート評価関数値の差の小さい動作ステートが数多くある場合に、総合評価関数値が小さくなる。このような性質を持つため、多少負荷バランスが悪い動作ステートステート評価関数値の差の大きい動作ステートが存在する場合であっても、なるべく多くの動作ステートの負荷バランスを小さくしたい場合に実施例3の方式統合評価関数値をステート評価関数値の積とする方式が有効である。ただし、統合評価関数値をステート評価関数値の乗算とする場合、ステート評価関数値が一つでも0であると他の動作ステートのステート評価関数値に関わらず統合評価関数値が0となる。このため、ステート評価関数値の算出方法を定める際に、値が0とならないように注意する必要がある。<実施例4>実施例4のタスク配置最適化システム1として、タスク間の依存が記載されたタスクパラメータセットが入力される例を示す。ステート評価関数値生成部131は、動作ステート毎にコア間依存の数をステート評価関数値として出力する。コア間依存とは、依存関係が有るタスクが存在し、それらのタスクが異なるコアをまたがって配置されている状態をいう。一例として、タスクAと、タスクAに依存するタスクBという2つのタスクのみを考える。タスクAとタスクBが異なるコアに配置された場合、コア間依存数は1となる。一方、タスクAとタスクBが同じコアに配置された場合、コア間依存数は0となる。一般的に、コアをまたがってデータ転送をする場合には一定の時間を必要とすることから、コア間依存数は極力少ないことが望ましい。ここで、全動作ステートにおいて、各コアに割り当てるタスク数が同一または1つのみ異なることを条件に、コア間依存数を最小化する最適化の例を示す。まず、タスクセットパラメータの例を図9に示す。図9において、依存関係の列には、そのタスクに依存しているタスクの情報が記述されている。例えば、タスクAの行には、タスクB、タスクC、及びタスクGと記載されている。このことより、タスクB、タスクC、及びタスクGは、タスクAに依存していることを示す。すなわち、タスクB、タスクC、及びタスクGは、タスクAの処理結果を利用して、それぞれの処理を行う。図10は、図9に示されるタスクセットパラメータに記述された依存関係を図示したものである。図11は、システムの動作ステートの一覧、及びその動作ステート毎に動作するタスクのセットの対応を表わすステートタスクセット対応表を示す。図11の例では、システムの動作ステートとしてS5、S6、S7の3つがある。ステートS5においては、タスクA、タスクB、タスクC、タスクD、タスクFが動作する。ステートS6においては、タスクA、タスクC、タスクE、タスクF、タスクGが動作する。同様に、ステートS7においては、タスクA、タスクC、タスクFが動作する。まず、特許文献1に記載の最適化手法による最適配置の決定について説明する。当該手法では、動作ステート毎にどのタスクが動作するかは考慮されない。そのため、タスクセット全体の依存を考えた場合に最も依存が少ない箇所にてタスク配置を分割する配置候補が出力される。図10の例では、分割位置21によりタスク配置を分割する。すなわち、タスクA、タスクB、タスクGがコア0、タスクC、タスクD、タスクE、タスクFがコア1もしくはその逆となる配置候補が出力される。ここで、当該手法によるタスク配置候補図10における分割位置21で分割したタスク配置におけるコア間依存数を以下に示す。図12は、各動作ステートにおいて動作するタスク、及び有効なコア間依存のみを太線により示したものである。図12より明らかなように、特許文献1に記載の最適化手法では全ての動作ステートにおいてコア間依存が1つ存在する。次に、本実施例のタスク配置最適化システム1による最適化について説明する。上述のように、ステート評価関数値生成部131は、動作ステート毎のコア間依存数をステート評価関数値として出力する。統合評価関数生成部132は、このステート評価関数値を統合した統合評価関数値を算出する。最適配置探索部133は、この統合評価関数値を用いて最適化を行う。これにより、図10及び図12における分割位置21以外の分割位置が候補となり得る。ここで、図10及び図12における分割位置22をタスク配置候補とする場合、ステート評価関数値は、ステートS5、S6、S7において夫々1、1、0となり、統合評価関数値は110=2となる図11ステート評価関数値実施例4欄。これは、特許文献1の手法における配置例での統合評価関数値が111=3図11ステート評価関数値関連手法欄となることから、本例のタスク配置最適化システム1は、よりよい評価値を持つ配置、すなわちタスクA、タスクB、タスクC、タスクGがコア0に、タスクD、タスクE、タスクFがコア1もしくはその逆に配置する最適化結果を出力することが可能になる。上述のように、本例では、ステートS7においてコア間依存数が0となる配置を出力することが可能となり、より性能のよいタスク配置を算出することが可能となる。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の最適化部13の各処理部の処理を異なるハードウェアで分散して実行してもよい。なお、本実施の形態1にかかるタスク配置最適化システム1の最小構成を図13に示す。本構成は、タスクセットパラメータ及びステートタスクセット対応表が直接ステート評価関数値生成部131に供給される点を除いて、図1の構成と同様である。上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。付記1複数のプロセッサコアを有するシステムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表と、前記タスクセットを構成する各タスクの特性を示すタスクセットパラメータと、に基づいて、各動作ステートに対してステート評価関数値を生成するステート評価関数値生成手段と、各動作ステートの前記ステート評価関数値を統合した統合評価関数値を生成する統合評価関数値生成手段と、前記統合評価関数値に基づいて、前記複数のプロセッサコアの各々に割り当てるタスクの配置の最適化を行う最適配置探索手段と、を備えるタスク配置最適化システム。付記2前記ステート評価関数生成手段は、前記ステート評価関数値を、各プロセッサコアに割り当てたタスクの実行時間の合計値の差の絶対値とすることを特徴とする付記1に記載のタスク配置最適化システム。付記3前記ステート評価関数生成手段は、前記ステート評価関数値を、各プロセッサコアに割り当てたタスクの実行時間の合計値の差の自乗とすることを特徴とする付記1に記載のタスク配置最適化システム。付記4前記ステート評価関数生成手段は、前記ステート評価関数値を、プロセッサコア間の依存数とすることを特徴とする付記1に記載のタスク配置最適化システム。付記5前記統合評価関数値生成手段は、各動作ステートの前記ステート評価関数値の総和を前記統合評価関数値とすることを特徴とする付記1乃至付記4のいずれか1項に記載のタスク配置最適化システム。付記6前記統合評価関数値生成手段は、各動作ステートの前記ステート評価関数値の総乗を前記統合評価関数値とすることを特徴とする付記1乃至付記4のいずれか1項に記載のタスク配置最適化システム。付記7外部から入力される前記ステートタスクセット対応表を保持するステートタスクセット対応表保持手段と、外部から入力される前記タスクセットパラメータを保持するタスクセットパラメータ保持手段と、をさらに備えることを特徴とする付記1乃至付記6のいずれか1項に記載のタスク配置最適化システム。付記8前記他最適配置探索手段は、前記統合評価関数値が小さいタスクの配置候補を、優先的に最適配置として選択することを特徴とする付記1乃至付記7のいずれか1項に記載のタスク配置最適化システム。付記9複数のプロセッサコアを有するシステムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表と、前記タスクセットを構成する各タスクの特性を示すタスクセットパラメータと、に基づいて、各動作ステートに対してステート評価関数値を生成し、各動作ステートの前記ステート評価関数値を統合した統合評価関数値を生成し、前記統合評価関数値に基づいて、前記複数のプロセッサコアの各々に割り当てるタスクの配置の最適化を行う、タスク配置最適化方法。付記10前記ステート評価関数値を生成する処理では、前記ステート評価関数値を、各プロセッサコアに割り当てたタスクの実行時間の合計値の差の絶対値とすることを特徴とする付記9に記載のタスク配置最適化方法。付記11前記ステート評価関数値を生成する処理では、前記ステート評価関数値を、各プロセッサコアに割り当てたタスクの実行時間の合計値の差の自乗とすることを特徴とする付記9に記載のタスク配置最適化方法。付記12前記ステート評価関数値を生成する処理では、前記ステート評価関数値を、プロセッサコア間の依存数とすることを特徴とする付記9に記載のタスク配置最適化方法。付記13前記統合評価関数値を生成する処理では、各動作ステートの前記ステート評価関数値の総和を前記統合評価関数値とすることを特徴とする付記9乃至付記12のいずれか1項に記載のタスク配置最適化方法。付記14前記統合評価関数値を生成する処理では、各動作ステートの前記ステート評価関数値の総乗を前記統合評価関数値とすることを特徴とする付記9乃至付記12のいずれか1項に記載のタスク配置最適化方法。付記15前記タスクの配置の最適化を行う処理では、前記統合評価関数値が小さいタスクの配置候補を、優先的に最適配置として選択することを特徴とする付記9乃至付記14のいずれか1項に記載のタスク配置最適化方法。付記16複数のプロセッサコアを有するシステムにおけるタスク配置の最適化処理をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体であって、前記最適化処理は、前記システムの動作ステートの一覧及び動作ステート毎に動作するタスクセットの対応を示すステートタスクセット対応表と、前記タスクセットを構成する各タスクの特性を示すタスクセットパラメータと、に基づいて、各動作ステートに対してステート評価関数値を生成し、各動作ステートの前記ステート評価関数値を統合した統合評価関数値を生成し、前記統合評価関数値に基づいて、前記複数のプロセッサコアの各々に割り当てるタスクの配置の最適化を行う、タスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体。付記17前記ステート評価関数値を生成する処理では、前記ステート評価関数値を、各プロセッサコアに割り当てたタスクの実行時間の合計値の差の絶対値とすることを特徴とする付記16に記載のタスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体。付記18前記ステート評価関数値を生成する処理では、前記ステート評価関数値を、各プロセッサコアに割り当てたタスクの実行時間の合計値の差の自乗とすることを特徴とする付記16に記載のタスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体。付記19前記ステート評価関数値を生成する処理では、前記ステート評価関数値を、プロセッサコア間の依存数とすることを特徴とする付記16に記載のタスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体。付記20前記統合評価関数値を生成する処理では、各動作ステートの前記ステート評価関数値の総和を前記統合評価関数値とすることを特徴とする付記16乃至付記19のいずれか1項に記載のタスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体。付記21前記統合評価関数値を生成する処理では、各動作ステートの前記ステート評価関数値の総乗を前記統合評価関数値とすることを特徴とする付記16乃至付記19のいずれか1項に記載のタスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体。付記22前記タスクの配置の最適化を行う処理では、前記統合評価関数値が小さいタスクの配置候補を、優先的に最適配置として選択することを特徴とする付記16乃至付記21のいずれか1項に記載のタスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体。この出願は、2010年10月28日に出願された日本出願特願2010-241703を基礎とする優先権を主張し、その開示の全てをここに取り込む。"