(57)【要約】【課題】適切なメモリ制御方式で異なる複数の種類の主記憶メモリにアクセスさせる。【解決手段】モデル生成装置は、分割部と、割当部と、推定部と、選択部と、生成部と、を備える。分割部は、動作情報の時系列データを時間方向に分割することにより複数のセグメントを生成する。割当部は、複数のセグメントのそれぞれに対して、複数のメモリ制御方式のうちの何れか１つのメモリ制御方式を割り当てる。推定部は、複数のセグメントのそれぞれについて、対応するセグメントの処理を、割り当てられたメモリ制御方式により情報処理装置が実行した場合におけるメモリアクセスの実行性能を推定する。選択部は、複数のセグメントの中から複数の教師セグメントを選択する。生成部は、複数の教師セグメントに基づき、動作情報に基づきメモリ制御方式を決定するための決定モデルを生成する。【選択図】図１０
2019164629.tif 000002
【特許請求の範囲】
【請求項１】
異なる複数の種類の主記憶メモリにアクセスする情報処理装置によるメモリ制御方式を決定するための決定モデルを生成するモデル生成装置であって、
前記情報処理装置を動作させた場合における、動作情報の時系列データを取得する取得部と、
前記動作情報の時系列データを時間方向に分割することにより複数のセグメントを生成する分割部と、
前記複数のセグメントのそれぞれに対して、複数のメモリ制御方式のうちの何れか１つのメモリ制御方式を割り当てる割当部と、
前記複数のセグメントのそれぞれについて、対応するセグメントの処理を、割り当てられたメモリ制御方式により前記情報処理装置が実行した場合におけるメモリアクセスの実行性能を推定する推定部と、
前記複数のセグメントの中から、推定された前記実行性能が予め定められた条件を満たす複数の教師セグメントを選択する選択部と、
前記複数の教師セグメントと前記複数の教師セグメントのそれぞれに割り当てられたメモリ制御方式とに基づき、前記動作情報に基づきメモリ制御方式を決定するための前記決定モデルを生成する生成部と、
を備えるモデル生成装置。
【請求項２】
前記分割部は、互いに異なる複数の分割パターンのそれぞれ毎に、対応する分割パターンに従って前記動作情報の時系列データを分割して前記複数のセグメントを生成し、
前記割当部は、前記複数の分割パターンのそれぞれ毎に、前記複数のセグメントのそれぞれに対してメモリ制御方式を割り当て、
前記推定部は、前記複数の分割パターンのそれぞれ毎に、前記複数のセグメントのそれぞれについての前記実行性能を推定し、
前記選択部は、前記複数の分割パターンに含まれる複数のセグメントの中から、前記複数の教師セグメントを選択する
請求項１に記載のモデル生成装置。
【請求項３】
前記割当部は、同一の分割パターンで分割された前記複数のセグメントのそれぞれに対して、異なる複数の割当パターンによりメモリ制御方式を割り当て、
前記推定部は、前記複数の分割パターンのそれぞれ毎および前記複数の割当パターンのそれぞれ毎に、対応する前記複数のセグメントのそれぞれについての前記実行性能を推定する
請求項２に記載のモデル生成装置。
【請求項４】
前記選択部は、前記実行性能が基準値より良い複数のセグメントの中から、前記複数の教師セグメントを選択する
請求項１から３の何れか１項に記載のモデル生成装置。
【請求項５】
前記選択部は、含まれる前記複数のセグメントについて推定された前記実行性能の合計値が基準値より良い分割パターンを選択し、選択した分割パターンに含まれる前記複数のセグメントから教師セグメントを選択する
請求項１から３の何れか１項に記載のモデル生成装置。
【請求項６】
前記動作情報に基づき前記実行性能を算出するための推定モデルを記憶する推定モデル記憶部をさらに備え、
前記推定部は、対応するセグメントに含まれる前記動作情報および前記推定モデルに基づき、前記実行性能を推定する
請求項１から５の何れか１項に記載のモデル生成装置。
【請求項７】
前記推定部は、前記実行性能として、対応するセグメントの処理を、割り当てられたメモリ制御方式により前記情報処理装置が実行した場合における消費電力を推定する
請求項１から６の何れか１項に記載のモデル生成装置。
【請求項８】
前記推定部は、前記実行性能として、対応するセグメントの処理を、割り当てられたメモリ制御方式により前記情報処理装置が実行した場合における実行時間を推定する
請求項１から６の何れか１項に記載のモデル生成装置。
【請求項９】
前記推定部は、前記実行性能として、対応するセグメントの処理を、割り当てられたメモリ制御方式により前記情報処理装置が実行した場合における寿命減少量を推定する
請求項１から６の何れか１項に記載のモデル生成装置。
【請求項１０】
前記情報処理装置は、第２情報処理装置と共通に用いる主記憶メモリにアクセスし、
前記取得部は、前記情報処理装置および前記第２情報処理装置をともに動作させた場合における、前記動作情報の時系列データを取得する
請求項１から９の何れか１項に記載のモデル生成装置。
【請求項１１】
請求項１から９の何れか１項に記載のモデル生成装置により生成された前記決定モデルを記憶する決定モデル記憶部と、
処理回路と、
第１記憶部と、
不揮発記憶部と、
前記処理回路から書き込みまたは読み出しの要求を受けたことに応じて、前記第１記憶部および前記不揮発記憶部にアクセスする管理装置と、
を備え、
前記処理回路は、
前記処理回路および前記管理装置の少なくとも一方における前記動作情報を取得する抽出部と、
取得した前記動作情報および前記決定モデルに基づきメモリ制御方式を決定する決定部と、
決定されたメモリ制御方式により前記管理装置が前記第１記憶部および前記不揮発記憶部にアクセスするように設定処理をする設定部と、
を有する情報処理装置。
【請求項１２】
前記処理回路は、取得した前記動作情報および決定された前記メモリ制御方式により前記決定モデルを修正するモデル修正部をさらに有する
請求項１１に記載の情報処理装置。
【請求項１３】
異なる複数の種類の主記憶メモリにアクセスする情報処理装置によるメモリ制御方式を決定するための決定モデルを生成するモデル生成方法であって、
前記情報処理装置を動作させた場合における、動作情報の時系列データを取得する取得ステップと、
前記動作情報の時系列データを時間方向に分割することにより複数のセグメントを生成する分割ステップと、
前記複数のセグメントのそれぞれに対して、複数のメモリ制御方式のうちの何れか１つのメモリ制御方式を割り当てる割当ステップと、
前記複数のセグメントのそれぞれについて、対応するセグメントの処理を、割り当てられたメモリ制御方式により前記情報処理装置が実行した場合におけるメモリアクセスの実行性能を推定する推定ステップと、
前記複数のセグメントの中から、推定された前記実行性能が予め定められた条件を満たす複数の教師セグメントを選択する選択ステップと、
前記複数の教師セグメントと前記複数の教師セグメントのそれぞれに割り当てられたメモリ制御方式とに基づき、前記動作情報に基づきメモリ制御方式を決定するための前記決定モデルを生成する生成ステップと、
を実行するモデル生成方法。
【請求項１４】
情報処理装置に、異なる複数の種類の主記憶メモリにアクセスする情報処理装置によるメモリ制御方式を決定するための決定モデルを生成させるためのプログラムであって、
前記情報処理装置に、
前記情報処理装置を動作させた場合における、動作情報の時系列データを取得する取得ステップと、
前記動作情報の時系列データを時間方向に分割することにより複数のセグメントを生成する分割ステップと、
前記複数のセグメントのそれぞれに対して、複数のメモリ制御方式のうちの何れか１つのメモリ制御方式を割り当てる割当ステップと、
前記複数のセグメントのそれぞれについて、対応するセグメントの処理を、割り当てられたメモリ制御方式により前記情報処理装置が実行した場合におけるメモリアクセスの実行性能を推定する推定ステップと、
前記複数のセグメントの中から、推定された前記実行性能が予め定められた条件を満たす複数の教師セグメントを選択する選択ステップと、
前記複数の教師セグメントと前記複数の教師セグメントのそれぞれに割り当てられたメモリ制御方式とに基づき、前記動作情報に基づきメモリ制御方式を決定するための前記決定モデルを生成する生成ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、モデル生成装置、情報処理装置、モデル生成方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ストレージクラスメモリと呼ばれる高速な不揮発メモリが開発されている。ストレージクラスメモリは、ページ単位でのデータの書き換えに加えて、ページよりも小さい例えばバイト単位でのデータの書き込みが可能である。このようにバイト単位でデータの書き込み可能となった不揮発メモリは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の作業領域として機能する主記憶装置として用いることができる。
【０００３】
また、近年、コンピュータシステムは、オンラインリアルタイム処理、ビッグデータ処理、ディープラーニング処理、ＡＩ（人工知能）処理等の大規模データ処理を実行する。このような処理を実行する場合、コンピュータシステムは、巨大な容量の主記憶装置を用いなければならない。
【０００４】
また、データセンタ、ロボット、ドローン、または、エッジサーバ等のエッジシステム等では、高速なデータ処理を実現するために、二次記憶装置に代えて主記憶装置上でデータを記憶するインメモリデータ処理を実行する。このような、インメモリデータ処理を実行するコンピュータシステムは、巨大容量の主記憶装置を用いなければならない。
【０００５】
このような巨大容量の主記憶装置を全てＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓ  Ｍｅｍｏｒｙ）で実現した場合、待機電力の大きさが課題となる。このため、高速かつ省電力なコンピュータシステムを実現するためには、低待機電力で高速なストレージクラスメモリを活用するのが望ましい。
【０００６】
もっとも、ストレージクラスメモリは、ＤＲＡＭよりも高集積化が可能であるものの、一般にはＤＲＡＭよりもアクセス速度が遅い。従って、全てのＤＲＡＭをストレージクラスメモリに置き換えたコンピュータシステムは、処理速度が低下する。また、一般に、ストレージクラスメモリは、待機電力は低いが、アクセス時の動的電力は高い。従って、巨大容量の主記憶装置を用いるコンピュータシステムでは、ＤＲＡＭ等の高速な記憶装置と、ストレージクラスメモリ等の待機電力が低く高集積化が可能な不揮発記憶装置とを組み合わせ、状況に応じて適切なメモリ制御方式で主記憶装置にアクセスすることが好ましい。
【０００７】
しかしながら、コンピュータシステムでは、状況に応じて適切なメモリ制御方式を選択することは非常に困難であった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−２１１３１０号公報
【非特許文献】
【０００９】
【非特許文献１】R.  F.  Freitas  and  W.  W.  Wilcke，  “Storage-class  Memory:  The  Next  Storage  System  Technology”，  IBM  Journal  of  Research  and  Development  Vol.52  No.4，  pp.439-447，  2008.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明が解決しようとする課題は、適切なメモリ制御方式で異なる複数の種類の主記憶メモリにアクセスさせることにある。
【課題を解決するための手段】
【００１１】
実施形態に係るモデル生成装置は、異なる複数の種類の主記憶メモリにアクセスする情報処理装置によるメモリ制御方式を決定するための決定モデルを生成する。前記モデル生成装置は、取得部と、分割部と、割当部と、推定部と、選択部と、生成部と、を備える。前記取得部は、前記情報処理装置を動作させた場合における、動作情報の時系列データを取得する。前記分割部は、前記動作情報の時系列データを時間方向に分割することにより複数のセグメントを生成する。前記割当部は、前記複数のセグメントのそれぞれに対して、複数のメモリ制御方式のうちの何れか１つのメモリ制御方式を割り当てる。前記推定部は、前記複数のセグメントのそれぞれについて、対応するセグメントの処理を、割り当てられたメモリ制御方式により前記情報処理装置が実行した場合におけるメモリアクセスの実行性能を推定する。前記選択部は、前記複数のセグメントの中から、推定された前記実行性能が予め定められた条件を満たす複数の教師セグメントを選択する。前記生成部は、前記複数の教師セグメントと前記複数の教師セグメントのそれぞれに割り当てられたメモリ制御方式とに基づき、前記動作情報に基づきメモリ制御方式を決定するための前記決定モデルを生成する。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る情報処理システムの構成を示す図。
【図２】変換テーブルの一例を示す図。
【図３】第１アクセス処理および第２アクセス処理の内容を示す図。
【図４】動作情報の時系列データの一例を示す図。
【図５】メモリ制御方式の内容の第１例を示す図。
【図６】メモリ制御方式の内容の第２例を示す図。
【図７】第１実施形態に係る方式決定部の構成を示す図。
【図８】動作情報の波形図および選択されたメモリ制御方式の一例を示す図。
【図９】方式決定部による処理の流れを示すフローチャート。
【図１０】モデル生成装置の構成を示す図。
【図１１】実行時間の算出処理例を説明するための図。
【図１２】モデル生成装置による処理の流れを示すフローチャート。
【図１３】Ｓ２１で取得された動作情報の時系列データの一例を示す図。
【図１４】Ｓ２３で分割された複数のセグメントの第１例を示す図。
【図１５】Ｓ２３で分割された複数のセグメントの第２例を示す図。
【図１６】Ｓ２３で分割された複数のセグメントの第３例を示す図。
【図１７】Ｓ２４で割り当てられたメモリ制御方式の一例を示す図。
【図１８】Ｓ２５で推定された実行性能の一例を示す図。
【図１９】Ｓ２７で選択される複数のセグメントの一例を示す図。
【図２０】Ｓ２９で生成される決定モデルの一例を示す図。
【図２１】第１変形例において割り当てられたメモリ制御方式の一例を示す図。
【図２２】第１変形例のモデル生成装置による処理の流れを示すフローチャート。
【図２３】第２変形例に係る方式決定部の構成を決定モデル記憶部とともに示す図。
【図２４】教師セグメントが追加された決定モデルの一例を示す図。
【図２５】第２実施形態に係る情報処理システムの構成を示す図。
【図２６】情報処理装置のハードウェアブロック図。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら実施形態に係る情報処理システム１０について詳細に説明する。なお、以下、複数の実施形態および変形例について説明をするが、略同一の機能および構成を有するブロックに同一の符号を付け、変形例および第２実施形態以降においては重複する内容の説明を省略する。
【００１４】
（第１実施形態）
第１実施形態について説明する。
【００１５】
図１は、第１実施形態に係る情報処理システム１０の構成の一例を示す図である。情報処理システム１０は、第１記憶部１４と、不揮発記憶部１６と、情報処理装置１８と、モデル生成装置４０とを備える。
【００１６】
第１記憶部１４は、情報処理装置１８による作業領域として用いられる主記憶装置（メインメモリ）である。第１記憶部１４は、例えば、電源の供給を停止すると記憶しているデータが消える揮発記憶部である。第１記憶部１４は、例えば、ＤＲＡＭである。なお、第１記憶部１４は、ＤＲＡＭと同様に高速アクセスが可能な、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓ  Ｍｅｍｏｒｙ）等の不揮発メモリであってもよい。
【００１７】
また、第１記憶部１４は、不揮発記憶部１６よりも書き込み可能回数が多い。例えば、第１記憶部１４は、書き込み可能回数を考慮した設計をしなくてよい程度（例えば、書き込み回数に制限が無いとして設計をすることが可能な程度）、書き込み可能回数が多い。
【００１８】
不揮発記憶部１６は、電源の供給を停止してもデータを記憶し続けるメモリである。不揮発記憶部１６は、第１記憶部１４とともに情報処理装置１８の主記憶装置として機能する。
【００１９】
不揮発記憶部１６は、例えば、ＤＲＡＭより大容量な大容量高速不揮発メモリ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）を含む。不揮発記憶部１６は、例えば、ＭＲＡＭ、ＰＣＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）、ＰＲＡＭ（Ｐｈａｓｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＰＣＲＡＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲｅＲＡＭ（Ｒｅｓｉｓｔａｎｃｅ  Ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、３ＤＸＰｏｉｎｔまたはＭｅｍｒｉｓｔｏｒ等である。不揮発記憶部１６は、いわゆるストレージクラスメモリ（ＳＣＭ）と呼ばれるメモリであってもよい。また、不揮発記憶部１６は、複数の半導体装置を１つの基板または筐体等に設けたモジュールであってもよい。
【００２０】
不揮発記憶部１６は、第１記憶部１４と比較して容量が大きい。不揮発記憶部１６の容量は、第１記憶部１４と同じであってもよい。また、不揮発記憶部１６は、第１記憶部１４のアクセス速度と同等または少し遅い程度である。また、不揮発記憶部１６は、待機電力がゼロか、または、第１記憶部１４と比較して待機電力が非常に少ない。不揮発記憶部１６は、一例として、アクセスレイテンシが１０ｎ秒から数μ秒程度の間のメモリである。
【００２１】
不揮発記憶部１６は、バイト単位等の小領域単位でデータを書き込みおよび読み出し可能である。従って、情報処理装置１８は、ロード命令またはストア命令により不揮発記憶部１６に対して直接アクセスが可能である。情報処理装置１８は、例えばキャッシュライン単位等で不揮発記憶部１６に直接アクセスする。
【００２２】
不揮発記憶部１６は、複数のページを含む。ページは、情報処理装置１８が管理するデータ単位に対応する。ページは、例えば、オペレーティングシステムが管理する仮想記憶装置のページに対応する。ページは、例えば、４Ｋバイトであってよい。情報処理装置１８は、ページ単位でもデータの書き込みおよび読み出しが可能である。
【００２３】
情報処理装置１８は、異なる複数の種類の主記憶メモリにアクセスする。本実施形態においては、情報処理装置１８は、第１記憶部１４および不揮発記憶部１６にアクセスする。情報処理装置１８は、第１記憶部１４および不揮発記憶部１６とは異なる種類の他のメインメモリにさらにアクセスしてもよい。
【００２４】
情報処理装置１８は、処理回路２０と、管理装置２２と、動作情報検出部２４と、決定モデル記憶部２８とを有する。
【００２５】
処理回路２０は、１または複数のプロセッサを有する。プロセッサは、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。プロセッサは、１または複数のＣＰＵコアを含んでいてもよい。処理回路２０は、プログラムを実行して、データを処理する。処理回路２０は、プログラムの実行に応じて、第１記憶部１４または不揮発記憶部１６からデータを読み出したり、第１記憶部１４または不揮発記憶部１６にデータを書き込んだりする。
【００２６】
また、処理回路２０は、Ｌ１データキャッシュ、Ｌ１命令キャッシュ、Ｌ２キャッシュおよびＬ３キャッシュ等の階層的なキャッシュメモリを有する。処理回路２０は、このようなキャッシュメモリを用いて、第１記憶部１４または不揮発記憶部１６に記憶されているデータを一時的に記憶する。処理回路２０は、例えば、階層的なキャッシュにおける最下層のキャッシュ（ラストレベルキャッシュ）でキャッシュミスをした場合、キャッシュライン単位で第１記憶部１４または不揮発記憶部１６に対してアクセスして必要なデータを読み出したり書き込んだりする。
【００２７】
なお、処理回路２０は、データ処理を実行できれば、どのような回路であってもよい。例えば、処理回路２０は、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−ｐｕｒｐｏｓｅ  ｃｏｍｐｕｔｉｎｇ  ｏｎ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で利用されるＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよい。また、処理回路２０は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のアクセラレータであってもよい。
【００２８】
管理装置２２は、第１記憶部１４および不揮発記憶部１６に対する、処理回路２０によるデータの読み出しおよび書き込みを制御する。管理装置２２は、処理回路２０からの第１記憶部１４および不揮発記憶部１６に対するアクセス要求を処理する。すなわち、管理装置２２は、処理回路２０からの書込命令に応じて、データを第１記憶部１４または不揮発記憶部１６に書き込む。また、管理装置２２は、処理回路２０からの読出命令に応じて、データを第１記憶部１４または不揮発記憶部１６から読み出し、読み出したデータを処理回路２０に与える。
【００２９】
また、管理装置２２は、不揮発記憶部１６に対するウェアレベリング制御を実行する。より具体的には、管理装置２２は、不揮発記憶部１６における領域毎のデータの書き換え回数を管理する。そして、管理装置２２は、領域毎の書き換え回数に基づき、不揮発記憶部１６における全体の領域に平均的にデータが書き込まれるように、データの書き込み位置を制御する。
【００３０】
なお、管理装置２２は、処理回路２０と同一の半導体基板に形成された回路である。また、管理装置２２は、処理回路２０とは別体のハードウェアで構成されたメモリコントローラであってもよい。また、管理装置２２は、処理回路２０の一部のハードウェアとメモリコントローラとの組み合わせにより実現されてもよい。また、管理装置２２は、処理回路２０が実行するオペレーティングシステムの一部の機能により実現されてもよい。また、管理装置２２は、処理回路２０が実行するオペレーティングシステムの一部の機能により実現されてもよいし、オペレーティングシステムの一部の機能とメモリコントローラとの組み合わせにより実現されてもよい。
【００３１】
また、管理装置２２は、例えば、処理回路２０とは別体のハードウェアで構成されたメモリ管理ユニット（ＭＭＵ）であってもよい。また、管理装置２２は、処理回路２０の一部のハードウェアとメモリ管理ユニットとの組み合わせにより実現されてもよい。また、管理装置２２は、処理回路２０が実行するオペレーティングシステムの一部の機能とメモリ管理ユニットとの組み合わせにより実現されてもよい。
【００３２】
また、管理装置２２は、メモリコントローラと、ＭＭＵとの組み合わせにより実現されてもよい。また、管理装置２２は、処理回路２０の一部のハードウェアと、メモリコントローラと、メモリ管理ユニットとの組み合わせにより実現されてもよい。また、管理装置２２は、処理回路２０が実行するオペレーティングシステムの一部の機能と、メモリコントローラと、メモリ管理ユニットとの組み合わせにより実現されてもよい。
【００３３】
動作情報検出部２４は、処理回路２０および管理装置２２の少なくとも一方における動作情報を検出する。動作情報検出部２４は、処理回路２０内のハードウェア回路として実現されてもよい。また、動作情報検出部２４は、管理装置２２内の一部のハードウェア回路または一部の機能として実現されてもよい。また、動作情報検出部２４は、処理回路２０が実行するオペレーティングシステムの一部の機能として実現されてもよい。動作情報検出部２４は、いわゆるパフォーマンスカウンタと呼ばれる回路であってもよい。なお、動作情報については、図４を参照してさらに説明する。
【００３４】
決定モデル記憶部２８は、動作情報から、メモリ制御方式を決定するための決定モデルを記憶する。決定モデルは、モデル生成装置４０により生成されて、決定モデル記憶部２８に書き込まれる。決定モデルおよびモデル生成装置４０については、図１０以降においてさらに説明する。
【００３５】
処理回路２０は、データ処理部３２と、アクセス管理部３４と、方式決定部３６とを含む。データ処理部３２は、例えば、処理回路２０がアプリケーションプログラムを実行することにより実現される。また、方式決定部３６およびアクセス管理部３４は、例えば、処理回路２０がオペレーティングシステムの一部の機能を実行することにより実現される。
【００３６】
データ処理部３２は、アプリケーションプログラムに従った情報処理を実行する。さらに、データ処理部３２は、管理装置２２に対して、第１記憶部１４および不揮発記憶部１６に対するアクセス要求を与える。すなわち、データ処理部３２は、データを第１記憶部１４または不揮発記憶部１６に書き込む書込命令を管理装置２２に与える。また、データ処理部３２は、データを第１記憶部１４または不揮発記憶部１６から読み出す読出命令を管理装置２２に与える。
【００３７】
アクセス管理部３４は、管理装置２２が第１記憶部１４および不揮発記憶部１６に対してアクセスするためのメモリ制御方式を管理する。管理装置２２は、第１記憶部１４および不揮発記憶部１６に対して、複数のメモリ制御方式によりアクセスすることが可能である。アクセス管理部３４は、管理装置２２が複数のメモリ制御方式のうち何れのメモリ制御方式によりアクセスするかを管理する。
【００３８】
また、アクセス管理部３４は、変換テーブルを記憶する。変換テーブルは、アクセス要求をするそれぞれのページについて、要求アドレスと、第１記憶部１４または不揮発記憶部１６における対応するページ番号（物理アドレス）との対応関係を記憶する。さらに、変換テーブルは、処理回路２０がアクセス要求をするそれぞれのページについて、第１アクセス処理または第２アクセス処理の何れを実行するか示すアクセス方法を記憶する。
【００３９】
第１アクセス処理は、不揮発記憶部１６から第１記憶部１４に転送したデータに対して、書き込みおよび読み出しをする方法である。第２アクセス処理は、不揮発記憶部１６に記憶されるデータに対して直接書き込みおよび読み出しをする方法である。
【００４０】
そして、管理装置２２は、データ処理部３２がアクセス要求をしたページについて、変換テーブルに記憶されたアクセス方法により第１記憶部１４および不揮発記憶部１６にアクセスする。つまり、管理装置２２は、第１アクセス処理に設定されているページに対して書き込みまたは読み出しの要求を受けた場合、第１アクセス処理を実行する。また、管理装置２２は、第２アクセス処理に設定されているページに対して書き込みまたは読み出しの要求を受けた場合、第２アクセス処理を実行する。なお、変換テーブルの詳細については、図２を参照してさらに説明する。また、アクセス方法については、図３を参照してさらに説明する。
【００４１】
方式決定部３６は、動作情報検出部２４により検出された動作情報、および、決定モデル記憶部２８に記憶された決定モデルに基づき、複数のメモリ制御方式のうちの何れか１つのメモリ制御方式を決定する。そして、方式決定部３６は、管理装置２２が、決定したメモリ制御方式により第１記憶部１４および不揮発記憶部１６に対してアクセスするように、アクセス管理部３４等に対して設定処理をする。メモリ制御方式については、図５および図６を参照してさらに説明する。
【００４２】
図２は、変換テーブルの一例を示す図である。変換テーブルは、処理回路２０がアクセス要求をするそれぞれのページについて、要求アドレスと、第１記憶部１４または不揮発記憶部１６における対応するページ番号（物理アドレス）との対応関係を記憶する。すなわち、変換テーブルは、処理回路２０による要求アドレスに対応するデータが、第１記憶部１４または不揮発記憶部１６における何れのページに記憶されているのかを示すマッピング情報を記憶する。
【００４３】
例えば、図２の例では、変換テーブルにおけるページ番号の列に“Ｓｘｘｘｘ”と記述されたページは、不揮発記憶部１６におけるページ番号が“ｘｘｘｘ”のページを示す。例えば、図２の例では、ページ番号の列に“Ｄｘｘｘｘ”と記述されたページは、第１記憶部１４におけるページ番号が“ｘｘｘｘ”のページを示す。なお、ここでのｘは、任意の値である。
【００４４】
さらに、変換テーブルは、処理回路２０がアクセス要求をするそれぞれのページについて、第１アクセス処理または第２アクセス処理の何れを実行するか示すアクセス方法を記憶する。なお、変換テーブルは、図２に示すような構成に限らず、他の構成であってもよい。
【００４５】
図３は、第１アクセス処理および第２アクセス処理の内容を示す図である。管理装置２２は、第１アクセス処理に設定されている第１ページに対して書き込みまたは読み出しの要求を受けた場合、不揮発記憶部１６に対して、第１アクセス処理を実行する。
【００４６】
例えば、図３に示すように、第１アクセス処理において、管理装置２２は、不揮発記憶部１６における第１ページに記憶された全てのデータを転送して、第１記憶部１４に記憶させる。これにより、第１記憶部１４は、不揮発記憶部１６における第１ページに記憶されたデータのコピーを記憶することができる。続いて、第１アクセス処理において、管理装置２２は、第１記憶部１４に記憶されている、不揮発記憶部１６から転送されたデータに対して、読み出しおよび書き込みをする。例えば、管理装置２２は、不揮発記憶部１６から第１記憶部１４に転送されたデータに対して、ページより小さいサイズ（例えばプロセッサのキャッシュラインサイズ）でデータの読み出しおよび書き込みをする。そして、第１アクセス処理において、管理装置２２は、第１記憶部１４の空き容量が無くなり不揮発記憶部１６から第１記憶部１４にデータを転送できなくなった場合、および、第１記憶部１４に記憶させておくことが不要と判断された場合等において、第１記憶部１４に転送されたデータを、不揮発記憶部１６における第１ページに書き戻す。
【００４７】
なお、管理装置２２は、第１記憶部１４に転送されたデータを、第１ページ（同じ場所）以外に書き戻してもよい。例えば、管理装置２２は、第１アクセス処理において、不揮発記憶部１６から第１記憶部１４に転送されたデータを、何れの要求アドレスも対応付けられていない未使用ページに書き戻してよい。これにより、管理装置２２は、ページ毎の書き換え回数の隔たりを小さくし、特定のページの品質劣化を抑制することができる。
【００４８】
また、管理装置２２は、第２アクセス処理に設定されている第２ページに対して書き込みまたは読み出しの要求を受けた場合、不揮発記憶部１６に対して、第２アクセス処理を実行する。
【００４９】
例えば、図３に示すように、第２アクセス処理において、管理装置２２は、不揮発記憶部１６における第２ページに対して、直接読み出しおよび書き込みをする。例えば、管理装置２２は、ページより小さいサイズでデータの読み出しおよび書き込みをする。
【００５０】
このように、管理装置２２は、２種類のアクセス方法により不揮発記憶部１６に対してアクセスする。例えば、メモリアクセスに局所性が高いアプリケーションを実行した場合、管理装置２２は、第１アクセス処理により不揮発記憶部１６に記憶されたページをアクセスする。これにより、管理装置２２は、メモリアクセスに局所性が高いアプリケーションを実行した場合、同一のページに対してより高速に処理をすることができる。
【００５１】
また、例えば、ランダムアクセスのようにメモリアクセスに局所性が低い処理を実行する場合、管理装置２２は、第２アクセス処理により不揮発記憶部１６に記憶されたページをアクセスする。これにより、管理装置２２は、局所性が低い処理を実行する場合、不揮発記憶部１６から第１記憶部１４への転送処理のオーバヘッドを無くして、効率良く処理をすることができる。このように、管理装置２２は、第１アクセス処理および第２アクセス処理の２種類のアクセス方法を用いることにより、処理の効率化を図ることができる。
【００５２】
図４は、動作情報の時系列データの一例を示す図である。動作情報検出部２４は、一定時間毎に、処理回路２０および管理装置２２の少なくとも一方における動作情報を検出する。
【００５３】
動作情報は、例えば、処理回路２０による主記憶装置に対する書き込み回数、処理回路２０による主記憶装置に対する読み出し回数、処理回路２０のプリフェッチ成功率、処理回路２０のキャッシュヒット数、処理回路２０のキャッシュミス数等である。また、これらに限らず、動作情報は、例えば、処理回路２０または管理装置２２内での所定のイベントの回数、リタイアした命令数、コアクロック数およびキャッシュメモリにおける階層毎（Ｌ１キャッシュ、Ｌ２キャッシュ、Ｌ３キャッシュおよびラストレベルキャッシュ）のキャッシュヒット数／キャッシュミス数、ストール時間等であってもよい。
【００５４】
動作情報検出部２４は、このような動作情報を検出した時刻に対応付けて出力する。方式決定部３６は、動作情報検出部２４により検出された動作情報を時刻に対応付けた時系列データとして取得する。
【００５５】
図５は、メモリ制御方式の内容の第１例を示す図である。管理装置２２は、複数のメモリ制御方式のうちの何れか１つのメモリ制御方式により第１記憶部１４および不揮発記憶部１６にアクセスする。
【００５６】
例えば、複数のメモリ制御方式のそれぞれは、複数のページのうちの第１アクセス処理に設定されるページの数と第２アクセス処理に設定されるページの数との比率により区別されてもよい。例えば、図５の例では、管理装置２２は、比率が異なる第１から第４の方式の何れかにより、第１記憶部１４および不揮発記憶部１６にアクセスする。
【００５７】
例えば、図５の第１方式は、１００％のページが第２アクセス処理に設定された方式である。また、図５の第２方式は、１０％のページが第１アクセス処理に設定され、９０％のページが第２アクセス処理に設定された方式である。また、図５の第３方式は、２０％のページが第１アクセス処理に設定され、８０％のページが第２アクセス処理に設定された方式である。また、図６の第４方式は、３０％のページが第１アクセス処理に設定され、７０％のページが第２アクセス処理に設定された方式である。なお、複数のメモリ制御方式は、図５よりもさらに細かい比率により区別されてもよい。
【００５８】
図６は、メモリ制御方式の内容の第２例を示す図である。また、複数のメモリ制御方式のそれぞれは、さらに、第１記憶部１４のメモリ使用量の上限値で区別されてもよい。例えば、図５の例では、管理装置２２は、比率およびメモリ使用量が異なる８つの方式の何れかにより、第１記憶部１４および不揮発記憶部１６にアクセスする。
【００５９】
例えば、図６の第１方式は、１００％のページが第２アクセス処理に設定され、第１記憶部１４のメモリ使用量に制限がない方式である。図６の第２方式は、１０％のページが第１アクセス処理に設定され、第１記憶部１４のメモリ使用量の上限値が不揮発記憶部１６の５％に設定された方式である。図６の第３方式は、１０％のページが第１アクセス処理に設定され、メモリ使用量の上限値が１０％に設定された方式である。
【００６０】
図６の第４方式は、２０％のページが第１アクセス処理に設定され、メモリ使用量の上限値が１０％に設定された方式である。図６の第５方式は、２０％のページが第１アクセス処理に設定され、メモリ使用量の上限値が２０％に設定された方式である。
【００６１】
図６の第６方式は、３０％のページが第１アクセス処理に設定され、メモリ使用量の上限値が１５％に設定された方式である。図６の第７方式は、３０％のページが第１アクセス処理に設定され、メモリ使用量の上限値が３０％に設定された方式である。なお、複数のメモリ制御方式は、比率および上限値がさらに細かく区別されていてもよい。
【００６２】
処理回路２０は、図５および図６に示したようなメモリ制御方式に限らず、他の方式を設定してもよい。また、例えば、情報処理システム１０は、主記憶装置として、第１記憶部１４および不揮発記憶部１６とは特性が異なる、第２記憶部を備えてもよい。このような場合、管理装置２２は、例えば、アクセス方法として、不揮発記憶部１６から第２記憶部にデータをコピーしてからアクセスさせるような第３アクセス処理をさらに実行してもよい。そして、管理装置２２は、複数のメモリ制御方式の中に、第１アクセス処理、第２アクセス処理および第３アクセス処理に設定されるページ数の比率等を設定する方式を含めてもよい。
【００６３】
図７は、第１実施形態に係る方式決定部３６の構成を決定モデル記憶部２８とともに示す図である。方式決定部３６は、タイミング発生部５２と、抽出部５４と、決定部５６と、設定部５８とを有する。
【００６４】
タイミング発生部５２は、情報処理装置１８が動作を開始したタイミング、および、動作を開始した後の一定時間毎に、検出期間を開始する指示を抽出部５４および設定部５８に与える。なお、タイミング発生部５２は、不定な時間毎に検出期間を開始する指示を抽出部５４および設定部５８に与えてもよい。
【００６５】
抽出部５４は、タイミング発生部５２から開始指示を受け取る。抽出部５４は、開始指示を受け取ってから一定の期間（検出期間）における、処理回路２０および管理装置２２の少なくとも一方における動作情報を、動作情報検出部２４から取得する。
【００６６】
決定部５６は、抽出部５４が取得した動作情報および決定モデル記憶部２８に記憶された決定モデルに基づき、メモリ制御方式を決定する。例えば、決定部５６は、図５または図６に示したような複数のメモリ制御方式の中から、適切な１つのメモリ制御方式を決定する。
【００６７】
決定モデルは、動作情報から、複数のメモリ制御方式の何れか最適な１つのメモリ制御方式を決定するための、例えば演算式である。決定モデルは、例えば、決定木、線形回帰、ニューラルネットワークおよびサポートベクタマシン等であってもよい。なお、決定モデルについては、図１０以降においてさらに説明する。
【００６８】
設定部５８は、タイミング発生部５２から開始指示を受け取る。設定部５８は、開始指示を受け取ってから一定の期間（検出期間）において、管理装置２２が基準のメモリ制御方式により第１記憶部１４および不揮発記憶部１６にアクセスするようにアクセス管理部３４に対して設定処理をする。これにより、管理装置２２は、検出期間において、管理装置２２が基準のメモリ制御方式により第１記憶部１４および不揮発記憶部１６にアクセスすることができる。
【００６９】
例えば、設定部５８は、検出期間において、アクセスするページの全てのアクセス方法を第２アクセス処理に設定する。これにより、管理装置２２は、検出期間において、第２アクセス処理により第１記憶部１４および不揮発記憶部１６にアクセスすることができる。なお、設定部５８は、検出期間において、決定モデルによりメモリ制御方式が決定可能であれば、どのようなメモリ制御方式に設定してもよい。もし、抽出部５４が取得する動作情報が、メモリ制御方式の違いによる影響を受けない場合には、設定部５８は、検出期間において、何れのメモリ制御方式を設定してもよい。
【００７０】
検出期間を経過した後の期間において、設定部５８は、選択された最適なメモリ制御方式により管理装置２２が第１記憶部１４および不揮発記憶部１６にアクセスするように、アクセス管理部３４に対して設定処理をする。これにより、管理装置２２は、検出期間が経過した後において、選択されたメモリ制御方式により第１記憶部１４および不揮発記憶部１６にアクセスすることができる。
【００７１】
例えば、設定部５８は、変換テーブルにおける複数のページのそれぞれのアクセス方法を、選択されたメモリ制御方式に応じて第１アクセス処理または第２アクセス処理に設定する。例えば、複数のメモリ制御方式が、第１アクセス処理に設定されるページの数と第２アクセス処理に設定されるページの数との比率で区別される場合、設定部５８は、変換テーブルにおける複数のページのそれぞれのアクセス方法を、選択されたメモリ制御方式に示された比率に応じて第１アクセス処理または第２アクセス処理に設定する。
【００７２】
なお、設定部５８は、変換テーブルに管理されている全てのページのアクセス方法を変更するのではなく、直近（例えば、所定期間前まで）にアクセスしたページおよび検出期間後に新たにアクセスするページについてのアクセス方法を変更してもよい。また、設定部５８は、検出期間後に新たにアクセスするページに対してアクセス方法を変更してもよい。
【００７３】
また、設定部５８は、処理回路２０により管理されるＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）と呼ばれる仮想管理機構により管理されるページのアクセス方法を変更してもよい。ＴＬＢは、仮想アドレスから物理アドレスへアドレス変換を行うために、ページにおける要求アドレス（論理アドレス）と物理アドレスとの対応を示す対応関係情報を記憶する。しかし、ＴＬＢは、保有しているエントリが限られているので、対応関係情報を必要に応じて入れ替える。ＴＬＢは、例えば、直近において高い頻度でアクセスされるページについての対応関係情報を優先して記憶する。
【００７４】
さらに、複数のメモリ制御方式が、第１記憶部１４のメモリ使用量の上限値で区別される場合、設定部５８は、選択されたメモリ制御方式に示された上限値を、第１記憶部１４のメモリ使用量として設定する。第１記憶部１４のメモリ使用量の上限値が設定された場合、管理装置２２は、第１記憶部１４にコピーしたデータ量が上限値を超えないように、第１記憶部１４および不揮発記憶部１６に対してアクセス制御をする。具体的には、管理装置２２は、第１アクセス処理に設定された第１ページにアクセスするために第１ページのデータを不揮発記憶部１６から第１記憶部１４に転送すると、第１記憶部１４のメモリ使用量が上限値を超えてしまう場合には、第１記憶部１４に記憶された何れかのページのデータを不揮発記憶部１６に書き戻した後に、第１ページのデータを不揮発記憶部１６から第１記憶部１４に転送する。
【００７５】
図８は、動作情報の波形図および選択されたメモリ制御方式の一例を示す図である。図８に示すように、方式決定部３６は、例えば一定期間毎に、メモリ制御方式の選択および切り替えを行う。方式決定部３６は、メモリ制御方式の切り替えタイミングの直前に検出期間を設定し、検出期間において動作情報を取得する。そして、方式決定部３６は、取得した動作情報に基づきメモリ制御方式を決定し、新たなメモリ制御方式に切り替える。
【００７６】
なお、図８の例では、方式決定部３６は、検出期間において、基準のメモリ制御方式に設定している。しかし、方式決定部３６は、メモリ制御方式の違いが、取得する動作情報に影響を与えない場合には、検出期間において、直前のメモリ制御方式を継続させてもよい。
【００７７】
図９は、方式決定部３６による処理の流れを示すフローチャートである。第１実施形態に係る方式決定部３６は、図９に示すフローチャートに従って処理を実行する。
【００７８】
まず、Ｓ１１において、方式決定部３６は、動作情報の取得タイミングとなったか否かを判断する。取得タイミングとなっていない場合（Ｓ１１のＮｏ）、方式決定部３６は、処理をＳ１１で待機する。取得タイミングとなった場合（Ｓ１１のＹｅｓ）、方式決定部３６は、処理をＳ１２に進める。
【００７９】
Ｓ１２において、方式決定部３６は、管理装置２２が基準のメモリ制御方式により第１記憶部１４および不揮発記憶部１６にアクセスするように、アクセス管理部３４に対して設定処理をする。なお、方式決定部３６は、メモリ制御方式の違いが、取得する動作情報に影響を与えない場合には、検出期間において、直前のメモリ制御方式を継続させてもよい。
【００８０】
続いて、Ｓ１３において、方式決定部３６は、動作情報検出部２４から動作情報を取得する。続いて、Ｓ１４において、方式決定部３６は、検出期間が経過したか否かを判断する。検出期間が経過していない場合（Ｓ１４のＮｏ）、方式決定部３６は、処理をＳ１３に戻して、検出期間が経過するまで、動作情報の取得を継続する。検出期間が経過した場合（Ｓ１４のＹｅｓ）、方式決定部３６は、処理をＳ１５に進める。
【００８１】
Ｓ１５において、方式決定部３６は、取得した動作情報および決定モデル記憶部２８に記憶された決定モデルに基づき、最適なメモリ制御方式を決定する。例えば、方式決定部３６は、複数のメモリ制御方式の中から、適切な１つのメモリ制御方式を決定する。
める。
【００８２】
続いて、Ｓ１６において、方式決定部３６は、管理装置２２が、決定した最適なメモリ制御方式により第１記憶部１４および不揮発記憶部１６にアクセスするように、アクセス管理部３４に対して設定処理をする。方式決定部３６は、Ｓ１６の処理を終了すると本フローを終了する。
【００８３】
このような構成の情報処理装置１８は、方式決定部３６が、動作情報に基づき適切なメモリ制御方式を選択し、選択したメモリ制御方式により管理装置２２に第１記憶部１４および不揮発記憶部１６にアクセスさせる。これにより、情報処理装置１８によれば、例えば、実行するアプリケーションプログラム毎に適切な実行性能が得られるように、管理装置２２を動作させることができる。
【００８４】
図１０は、モデル生成装置４０の構成を示す図である。モデル生成装置４０は、取得部６２と、動作情報記憶部６４と、分割部６６と、割当部６８と、推定モデル記憶部７０と、推定部７２と、選択部７４と、教師セグメント記憶部７６と、生成部７８とを備える。
【００８５】
取得部６２は、情報処理装置１８を動作させた場合における動作情報の時系列データを、情報処理装置１８の動作情報検出部２４から取得する。例えば、取得部６２は、アプリケーションプログラムを実行した情報処理装置１８の動作情報の時系列データを取得する。例えば、取得部６２は、アプリケーションプログラムの全実行期間の動作情報の時系列データを取得する。取得部６２は、取得した動作情報の時系列データを動作情報記憶部６４に書き込む。動作情報記憶部６４は、取得部６２により取得された動作情報の時系列データを記憶する。
【００８６】
分割部６６は、動作情報記憶部６４に記憶された動作情報の時系列データを時間方向に分割することにより複数のセグメントを生成する。また、分割部６６は、互いに異なる複数の分割パターンのそれぞれ毎に、対応する分割パターンに従って動作情報の時系列データを分割して複数のセグメントを生成する。分割部６６は、動作情報の時系列データを一定時間毎や一定命令数毎に区切って複数のセグメントを生成してもよい。また、分割部６６は、動作情報の時系列データを不均等な間隔毎に区切って複数のセグメントを生成してもよい。
【００８７】
割当部６８は、分割部６６により分割された複数のセグメントのそれぞれに対して、複数のメモリ制御方式のうちの何れか１つのメモリ制御方式を割り当てる。また、複数の分割パターンのそれぞれ毎に、複数のセグメントが生成された場合、割当部６８は、複数の分割パターンのそれぞれおよび複数のセグメントのそれぞれ毎に、メモリ制御方式を割り当てる。割当部６８は、割り当て可能な複数のメモリ制御方式の中からランダムに１つのメモリ制御方式を選択し、選択したメモリ制御方式をセグメントに割り当ててもよい。また、割当部６８は、割り当て可能な複数のメモリ制御方式の中から所定の規則に基づき１つのメモリ制御方式を選択し、選択したメモリ制御方式をセグメントに割り当ててもよい。
【００８８】
推定モデル記憶部７０は、動作情報から、第１記憶部１４および不揮発記憶部１６に対するメモリアクセスの実行性能を推定するための推定モデルを記憶する。推定モデルは、動作情報から、複数のメモリ制御方式のそれぞれについての実行性能（例えば、実行時間、消費電力または寿命減少量）を算出するための、例えば演算式である。推定モデルは、例えば、決定木、線形回帰、ニューラルネットワークおよびサポートベクタマシン等であってもよい。
【００８９】
推定部７２は、複数の分割パターンのそれぞれおよび複数のセグメントのそれぞれについて、対応するセグメントの処理を、割り当てられたメモリ制御方式により情報処理装置１８が実行した場合における、第１記憶部１４および不揮発記憶部１６に対するメモリアクセスの実行性能を推定する。この場合において、推定部７２は、対応するセグメントおよび推定モデル記憶部７０に記憶された推定モデルに基づき、割り当てられたメモリ制御方式についての実行性能を推定する。
【００９０】
例えば、推定部７２は、実行性能として、対応するセグメントの処理を、割り当てられたメモリ制御方式で情報処理装置１８が実行した場合における実行時間を推定してもよい。また、例えば、推定部７２は、実行性能として、対応するセグメントの処理を、割り当てられたメモリ制御方式で情報処理装置１８が実行した場合における消費電力を推定してもよい。また、例えば、推定部７２は、実行性能として、対応するセグメントの処理を、割り当てられたメモリ制御方式で情報処理装置１８が実行した場合における寿命減少量（摩耗度）を推定してもよい。
【００９１】
選択部７４は、複数の分割パターンに含まれる複数のセグメントの中から、推定された実行性能が予め定められた条件を満たす複数の教師セグメントを選択する。例えば、選択部７４は、実行性能が基準値より良い複数のセグメントの中から、複数の教師セグメントを選択する。また、例えば、選択部７４は、含まれる複数のセグメントについて推定された実行性能の合計値が基準値より良い分割パターンを選択し、選択した分割パターンに含まれる複数のセグメントから教師セグメントを選択してもよい。
【００９２】
基準値は、設計者が予め設定してもよい。また、基準値は、複数のセグメントについて推定された実行性能から得られた統計情報に基づき設定されてもよい。例えば、基準値は、実行性能の平均値であってもよいし、平均値から所定倍した値であってもよいし、実行性能の上位１０％のセグメントと下位９０％のセグメントを区切る値であってもよい。
【００９３】
選択部７４は、選択した教師セグメントと、教師セグメントに割り当てられたメモリ制御方式との組を教師セグメント記憶部７６に書き込む。教師セグメント記憶部７６は、複数の教師セグメントと、複数の教師セグメントのそれぞれに割り当てられたメモリ制御方式とを対応付けて記憶する。
【００９４】
生成部７８は、教師セグメント記憶部７６に記憶された複数の教師セグメントと複数の教師セグメントのそれぞれに割り当てられたメモリ制御方式とに基づき、動作情報に基づきメモリ制御方式を決定するための決定モデルを生成する。
【００９５】
決定モデルは、教師セグメントと割り当てられたメモリ制御方式との組の集合を含む。この場合、例えば、情報処理装置１８における方式決定部３６は、検出期間において抽出した動作情報と最も近似した教師セグメントを、決定モデルに含まれる集合の中から検出し、検出した教師セグメントに割り当てられたメモリ制御方式を出力する。
【００９６】
また、生成部７８は、教師セグメントに含まれる動作情報の１または複数のパラメータに対して演算処理をすることにより、教師セグメントを、複数の特徴パラメータで表されたベクトル情報に変換してもよい。この場合、決定モデルは、教師セグメントを表すベクトル情報と、割り当てられたメモリ制御方式との組の集合を含む。そして、例えば、情報処理装置１８における方式決定部３６は、検出期間において抽出した動作情報をベクトル情報に変換して、決定モデルに含まれる集合の中から最も近似した教師セグメントのベクトル情報を検出し、検出した教師セグメントのベクトル情報に割り当てられたメモリ制御方式を出力する。
【００９７】
また、さらに、生成部７８は、複数の教師セグメントのベクトル情報をクラスタリングして、決定木、線形回帰、ニューラルネットワークおよびサポートベクタマシン等で表された決定モデルを生成してもよい。この場合、方式決定部３６は、検出期間において抽出した動作情報または動作情報のベクトル情報を決定モデルに与え、決定モデルから得られたメモリ制御方式を出力する。
【００９８】
生成部７８は、このような決定モデルを情報処理装置１８の決定モデル記憶部２８に登録する。
【００９９】
図１１は、実行時間の算出処理例を説明するための図である。実行性能として、実行時間を推定する場合、取得部６２は、メモリアクセス回数、アクセスしたページ数、および、実行時間の実測値を取得する。そして、推定部７２は、予め定められた推定モデル（例えば演算式）に、メモリアクセス回数、ページ数および実行時間の実測値を代入して、割り当てられたメモリ制御方式についての実行時間の推定値を算出する。
【０１００】
例えば、１００％のページを第２アクセス処理に設定するメモリ制御方式により管理装置２２を動作させ、１００％のページを第１アクセス処理に設定するメモリ制御方式により管理装置２２を動作させた場合における実行時間を推定する場合、推定部７２は、下記の式（１）および式（２）に表される式を演算して、実行時間を算出する。
Ｔ１＝Ｔ２−Δｔ…（１）
Δｔ＝（ＮＡ×（ＬＳ−ＬＤ））−（ＮＰ×Ｔ）…（２）
【０１０１】
式（１）において、Ｔ１は、１００％のページを第１アクセス処理に設定するメモリ制御方式により管理装置２２を動作させた場合における実行時間の推定値である。Ｔ２は、１００％のページを第２アクセス処理に設定するメモリ制御方式により管理装置２２を動作させた場合における実行時間の実測値である。
【０１０２】
また、式（２）において、ＮＡは、メモリアクセス回数である。ＮＰは、アクセスしたページ数である。
【０１０３】
また、式（２）において、ＬＤは、第１記憶部１４に対するメモリアクセスのレイテンシである。ＬＳは、不揮発記憶部１６に対するメモリアクセスのレイテンシである。また、Ｔは、１ページ分のデータを不揮発記憶部１６から第１記憶部１４に転送する転送時間である。ＬＤ、ＬＳおよびＴは、予め測定済みの値であり、推定モデルに定数として組み込まれる。
【０１０４】
従って、例えば、推定モデル記憶部７０は、上述の式（１）および式（２）により表される演算式を推定モデルとして記憶する。推定部７２は、１００％のページを第２アクセス処理に設定するメモリ制御方式により管理装置２２を動作させた場合における、メモリアクセス回数、ページ数および実行時間の実測値を取得する。そして、推定部７２は、上述の式（１）および式（２）により表される演算式と、メモリアクセス回数、ページ数および実行時間の実測値とに基づき、１００％のページを第１アクセス処理に設定するメモリ制御方式により管理装置２２を動作させた場合の実行時間を推定する。
【０１０５】
また、Ｘ％のページ（Ｘは、０より大きく１００より小さい値）を第１アクセス処理に設定するメモリ制御方式により管理装置２２を動作させた場合の実行時間を推定する場合、推定部７２は、次のような処理を行う。
【０１０６】
まず、推定部７２は、１００％のページを第２アクセス処理に設定するメモリ制御方式により管理装置２２を動作させた場合における、メモリアクセス回数、ページ数および実行時間の実測値を取得する。続いて、推定部７２は、アクセスしたページの中から、アクセス数の多い上位のＸ％のページを選択する。推定部７２は、選択したＸ％のページのページ数を、式（２）におけるＮＰに代入する。
【０１０７】
さらに、推定部７２は、選択したＸ％のページに対するメモリアクセス回数を算出する。推定部７２は、算出したＸ％のページに対するメモリアクセス回数を、式（２）におけるＮＡに代入する。そして、推定部７２は、上記の式（１）および式（２）に表される式を演算して、実行時間を算出する。これにより、推定部７２は、Ｘ％のページを第１アクセス処理に設定するメモリ制御方式により管理装置２２を動作させた場合の実行時間を推定することができる。
【０１０８】
図１２は、モデル生成装置４０による処理の流れを示すフローチャートである。第１実施形態に係るモデル生成装置４０は、図１２に示すフローチャートに従って処理を実行する。以下、図１２のフローチャートにおける各ステップの処理を、図１３〜図２０を参照しながら説明する。
【０１０９】
まず、Ｓ２１において、モデル生成装置４０は、情報処理装置１８にアプリケーションプログラムを実行させ、情報処理装置１８から動作情報の時系列データを取得する。例えば、モデル生成装置４０は、アプリケーションプログラムの全実行期間の動作情報の時系列データを取得する。
【０１１０】
この場合、モデル生成装置４０は、情報処理装置１８の管理装置２２が基準のメモリ制御方式により第１記憶部１４および不揮発記憶部１６にアクセスするように、情報処理装置１８に対して設定処理をする。例えば、モデル生成装置４０は、情報処理装置１８に、アクセスするページの全てのアクセス方法を第２アクセス処理に設定させる。なお、モデル生成装置４０は、推定モデルにより実行性能を推定可能な動作情報が得られるメモリ制御方式であれば、どのようなメモリ制御方式に設定してもよい。もし、Ｓ２１で取得する動作情報が、メモリ制御方式の違いによる影響を受けない場合には、モデル生成装置４０は、何れのメモリ制御方式を設定してもよい。
【０１１１】
図１３は、Ｓ２１で取得された動作情報の時系列データの一例を示す図である。例えば、Ｓ２１において、モデル生成装置４０は、図１３に示すような動作情報を取得する。図１３のＡは、Ｌ３キャッシュのキャッシュミスを表すパラメータの時系列データである。また、図１３のＢは、Ｌ２キャッシュのストール時間を表すパラメータの時系列データである。モデル生成装置４０は、他のパラメータをさらに動作情報として取得してもよいし、図１３に示したパラメータ以外のパラメータを動作情報として取得してもよい。
【０１１２】
続いて、Ｓ２２において、モデル生成装置４０は、取得した動作情報の時系列データを保存する。これにより、モデル生成装置４０は、例えば、アプリケーションプログラムの全実行期間の動作情報の時系列データを記憶することができる。
【０１１３】
続いて、Ｓ２３において、モデル生成装置４０は、動作情報の時系列データを時間方向に分割することにより複数のセグメントを生成する。また、モデル生成装置４０は、後述のＳ２６において分割を終了すると判断されるまで、繰り返して動作情報の時系列データを時間方向に分割する。この場合、モデル生成装置４０は、互いに異なる複数の分割パターンにより動作情報の時系列データを分割して、複数のセグメントを生成する。
【０１１４】
図１４は、Ｓ２３で分割された複数のセグメントの第１例を示す図である。図１５は、Ｓ２３で分割された複数のセグメントの第２例を示す図である。図１６は、Ｓ２３で分割された複数のセグメントの第３例を示す図である。
【０１１５】
例えば、モデル生成装置４０は、図１４および図１５に示すように、動作情報の時系列データを一定時間毎に区切って複数のセグメントを生成してもよい。また、モデル生成装置４０は、図１６に示すように、動作情報の時系列データを不均等な間隔毎に区切って複数のセグメントを生成してもよい。例えば、モデル生成装置４０は、予め準備された複数の分割パターンの中からランダムに分割パターンを選択してもよいし、毎回ランダムに分割パターンを生成してもよい。
【０１１６】
また、モデル生成装置４０は、Ｓ２７のセグメントの選択処理において教師セグメントが選択される確率を高くするように、過去の分割パターンに基づき分割位置を探索してもよい。例えば、モデル生成装置４０は、動的計画法等を用いて、分割位置を探索してもよい。なお、Ｓ２７のセグメントの選択処理において教師セグメントが選択される確率を高くするように分割パターンを生成する場合、モデル生成装置４０は、後述のＳ２６の処理を、Ｓ２８の後に実行する。
【０１１７】
続いて、Ｓ２４において、モデル生成装置４０は、分割された複数のセグメントのそれぞれに対して、複数のメモリ制御方式のうちの何れか１つのメモリ制御方式を割り当てる。モデル生成装置４０は、例えば、分割された複数のセグメントのそれぞれに対して、割り当て可能な複数のメモリ制御方式の中からランダムに１つのメモリ制御方式を選択して割り当ててもよい。また、モデル生成装置４０は、分割された複数のセグメントのそれぞれに対して、割り当て可能な複数のメモリ制御方式の中から所定の規則に基づき１つのメモリ制御方式を選択して割り当ててもよい。また、モデル生成装置４０は、割された複数のセグメントのそれぞれに対して、対応するセグメントに含まれるパラメータの値を参照して、適切であると推定されるメモリ制御方式を選択して、割り当ててもよい。
【０１１８】
図１７は、Ｓ２４で割り当てられたメモリ制御方式の一例を示す図である。例えば、モデル生成装置４０は、図１７に示すように、割り当て可能な２つのメモリ制御方式（第１方式および第２方式）の中から選択した１つのメモリ制御方式を、複数のセグメントのそれぞれに対して割り当てる。
【０１１９】
続いて、Ｓ２５において、モデル生成装置４０は、複数の分割パターンのそれぞれについて、対応するセグメントの処理を、割り当てられたメモリ制御方式により情報処理装置１８が実行した場合における、第１記憶部１４および不揮発記憶部１６に対するメモリアクセスの実行性能を推定する。この場合において、モデル生成装置４０は、対応するセグメントおよび推定モデル記憶部７０に記憶された推定モデルに基づき、割り当てられたメモリ制御方式についての実行性能を推定する。
【０１２０】
図１８は、Ｓ２５で推定された実行性能の一例を示す図である。例えば、Ｓ２５において、モデル生成装置４０は、実行性能として、図１８に示すような、割り当てられたメモリ制御方式で情報処理装置１８がセグメントの処理を実行した場合における消費電力を推定する。また、例えば、モデル生成装置４０は、実行性能として、割り当てられたメモリ制御方式で情報処理装置１８がセグメントの処理を実行した場合における実行時間または寿命減少量（摩耗度）を推定してもよい。なお、図１８は、実行性能の時系列データを示しているが、情報処理装置１８は、セグメント毎に実行性能の合計値を算出してもよい。
【０１２１】
続いて、Ｓ２６において、モデル生成装置４０は、セグメントの分割処理が終了したか否かを判断する。例えば、モデル生成装置４０は、Ｓ２３からＳ２６までのループ処理を、予め定められた回数実行した場合には、セグメントの分割処理が終了したと判定する。また、例えば、モデル生成装置４０は、Ｓ２３からＳ２６までのループ処理を、予め定められた時間実行した場合に、セグメントの分割処理が終了したと判定してもよい。また、モデル生成装置４０は、生成した合計のセグメントの個数が、予め定められた個数を超えた場合に、セグメントの分割処理が終了したと判定してもよい。また、例えば、モデル生成装置４０は、Ｓ２７で選択された教師セグメントの合計数が予め定められた個数を超えた場合に、セグメントの分割処理が終了したと判定してもよい。なお、Ｓ２７で選択された教師セグメントの合計数が予め定められた個数を超えたか否かを判断する場合には、モデル生成装置４０は、Ｓ２６の処理を、Ｓ２８の後に実行する。
【０１２２】
モデル生成装置４０は、セグメントの分割処理が終了していない場合（Ｓ２６のＮｏ）、処理をＳ２３に戻して、Ｓ２３から処理を繰り返す。モデル生成装置４０は、セグメントの分割処理が終了した場合（Ｓ２６のＹｅｓ）、処理をＳ２７に進める。
【０１２３】
Ｓ２７において、モデル生成装置４０は、複数の分割パターンに含まれる複数のセグメントの中から、推定された実行性能が予め定められた条件を満たす複数の教師セグメントを選択する。例えば、モデル生成装置４０は、実行性能が基準値より良い複数のセグメントの中から、複数の教師セグメントを選択する。
【０１２４】
図１９は、Ｓ２７で選択される複数のセグメントの一例を示す図である。例えば、Ｓ２７において、モデル生成装置４０は、図１９に示すように、消費電力が基準値を下回るセグメントを教師セグメントとして選択してもよい。
【０１２５】
続いて、Ｓ２８において、モデル生成装置４０は、選択した教師セグメントと、教師セグメントに割り当てられたメモリ制御方式との組を保存する。これにより、モデル生成装置４０は、複数の教師セグメントと、複数の教師セグメントのそれぞれに割り当てられたメモリ制御方式とを対応付けて記憶することができる。
【０１２６】
続いて、Ｓ２９において、モデル生成装置４０は、保存された複数の教師セグメントと複数の教師セグメントのそれぞれに割り当てられたメモリ制御方式とに基づき、決定モデルを生成する。決定モデルは、教師セグメントとメモリ制御方式との組の集合を含んでもよい。
【０１２７】
図２０は、Ｓ２９で生成される決定モデルの一例を示す図である。モデル生成装置４０は、図２０に示すように、教師セグメントに含まれる動作情報の各パラメータに対して演算処理をして、教師セグメントを、複数の特徴パラメータで表されたベクトル情報に変換してもよい。そして、モデル生成装置４０は、このようなベクトル情報で表された教師セグメントとメモリ制御方式との組の集合を含む決定モデルを生成してもよい。
【０１２８】
また、モデル生成装置４０は、複数の教師セグメントのベクトル情報をクラスタリングして、決定木、線形回帰、ニューラルネットワークおよびサポートベクタマシン等で表された決定モデルを生成してもよい。このような決定モデルを生成することにより、情報処理装置１８は、取得した動作情報から、最適なメモリ制御方式を決定することができる。
【０１２９】
続いて、Ｓ３０において、モデル生成装置４０は、生成した決定モデルを情報処理装置１８の決定モデル記憶部２８に登録する。モデル生成装置４０は、Ｓ３０の処理を終えると、本フローを終了する。
【０１３０】
以上のように、モデル生成装置４０は、多数のセグメントの中から複数の教師セグメントを選択し、選択した複数の教師セグメントに基づき動作情報からメモリ制御方式を決定するための決定モデルを生成する。そして、モデル生成装置４０は、生成した決定モデルを情報処理装置１８に登録する。これにより、モデル生成装置４０は、情報処理装置１８に、適切なメモリ制御方式により第１記憶部１４および不揮発記憶部１６にアクセスさせることができる。
【０１３１】
（第１変形例）
つぎに、第１変形例に係るモデル生成装置４０について説明する。
【０１３２】
図２１は、第１変形例において割り当てられたメモリ制御方式の一例を示す図である。第１変形例において、モデル生成装置４０の割当部６８は、図２１に示すように、同一の分割パターンで分割された複数のセグメントのそれぞれに対して、異なる複数の割当パターンによりメモリ制御方式を割り当てる。そして、第１変形例において、モデル生成装置４０の推定部７２は、複数の分割パターンのそれぞれ毎および複数の割当パターンのそれぞれ毎に、対応する複数のセグメントのそれぞれについての実行性能を推定する。
【０１３３】
図２２は、第１変形例に係るモデル生成装置４０による処理の流れを示すフローチャートである。第１変形例に係るモデル生成装置４０は、Ｓ２５とＳ２６との間において、Ｓ４０の処理をさらに実行する。
【０１３４】
Ｓ４０において、モデル生成装置４０は、割り当て処理が終了したか否かを判断する。例えば、モデル生成装置４０は、Ｓ２４からＳ４０までのループ処理を、予め定められた回数実行した場合には、割り当て処理が終了したと判定する。また、例えば、モデル生成装置４０は、Ｓ２４からＳ４０までのループ処理を、予め定められた時間実行した場合に、割り当て処理が終了したと判定してもよい。
【０１３５】
モデル生成装置４０は、割り当て処理が終了していない場合（Ｓ４０のＮｏ）、処理をＳ２４に戻して、Ｓ２４から処理を繰り返す。Ｓ２４に処理が戻された場合、モデル生成装置４０は、同一の分割パターンに対してこれまでに割り当てたパターンとは異なるパターンで、分割された複数のセグメントのそれぞれに対してメモリ制御方式を割り当てる。そして、モデル生成装置４０は、割り当て処理が終了した場合（Ｓ４０のＹｅｓ）、処理をＳ２６に進める。
【０１３６】
第１変形例に係るモデル生成装置４０は、１つのセグメントに対して複数のメモリ制御方式を割り当てる。従って、モデル生成装置４０は、教師セグメントを選択できる確率を高くすることができる。これにより、モデル生成装置４０は、より精度の良い決定モデルを生成することができる。
【０１３７】
（第２変形例）
つぎに、第２変形例に係る情報処理装置１８について説明する。
【０１３８】
図２３は、第２変形例に係る方式決定部３６の構成を決定モデル記憶部２８とともに示す図である。第２変形例に係る方式決定部３６は、モデル修正部９０をさらに有する。モデル修正部９０は、抽出部５４が取得した動作情報、および、取得した動作情報に基づき決定されたメモリ制御方式により、決定モデル記憶部２８に記憶されている決定モデルを修正する。
【０１３９】
図２４は、第２変形例において教師セグメントが追加された決定モデルの一例を示す図である。例えば、決定モデルが、教師セグメントと割り当てられたメモリ制御方式との組の集合である場合、モデル修正部９０は、図２４に示すように、取得した動作情報を教師セグメントとする。そして、モデル修正部９０は、教師セグメントと、決定したメモリ制御方式と組にして決定モデルに追加する。これにより、決定モデルは、同一のメモリ制御方式として決定される範囲が、新たなに追加した教師モデルにより修正される。
【０１４０】
また、決定モデルが、教師セグメントのベクトル情報とメモリ制御方式との組の集合である場合、モデル修正部９０は、動作情報をベクトル情報に変換して、変換後のベクトル情報とメモリ制御方式との組を決定モデルに追加する。また、決定モデルが、決定木、線形回帰、ニューラルネットワークまたはサポートベクタマシン等である場合には、モデル修正部９０は、動作情報およびメモリ制御方式に基づき、決定モデルに含まれる分岐判断のための閾値または重み係数等のパラメータを修正する。
【０１４１】
なお、モデル修正部９０は、抽出した全ての動作情報により決定モデルを修正するのではなく、例えば、管理装置２２が特定のメモリ制御方式により第１記憶部１４および不揮発記憶部１６にアクセスしている場合に取得された動作情報に基づき、決定モデルを修正してもよい。
【０１４２】
第２変形例に係る情報処理装置１８は、生成された決定モデルに基づき動作を開始した後にも、決定モデルを修正することができる。これにより、情報処理装置１８は、決定モデルによる決定精度を向上させることができる。
【０１４３】
（第２実施形態）
第２実施形態について説明する。
【０１４４】
図２５は、第２実施形態に係る情報処理システム１００の構成を示す図である。第２実施形態に係る情報処理システム１００は、第１記憶部１４と、不揮発記憶部１６と、第１情報処理装置１８−１と、第２情報処理装置１８−２と、モデル生成装置４０とを備える。
【０１４５】
第１情報処理装置１８−１および第２情報処理装置１８−２は、第１実施形態に係る情報処理装置１８と同一の構成である。第１情報処理装置１８−１および第２情報処理装置１８−２は、共に第１記憶部１４および不揮発記憶部１６にアクセスする。すなわち、第１情報処理装置１８−１および第２情報処理装置１８−２は、共通の主記憶メモリにアクセスする。
【０１４６】
モデル生成装置４０は、第１情報処理装置１８−１および第２情報処理装置１８−２を同時に動作させる。そして、モデル生成装置４０は、第１情報処理装置１８−１および第２情報処理装置１８−２から、共に動作した結果得られた動作情報の時系列データを取得する。
【０１４７】
モデル生成装置４０は、第１情報処理装置１８−１から取得した動作情報の時系列データに基づき、第１情報処理装置１８−１が用いる決定モデルを生成する。そして、モデル生成装置４０は、生成した決定モデルを第１情報処理装置１８−１が備える決定モデル記憶部２８に記憶させる。
【０１４８】
また、モデル生成装置４０は、第２情報処理装置１８−２から取得した動作情報の時系列データに基づき、第２情報処理装置１８−２が用いる決定モデルを生成する。そして、モデル生成装置４０は、生成した決定モデルを第２情報処理装置１８−２が備える決定モデル記憶部２８に記憶させる。
【０１４９】
情報処理システム１００において、第１情報処理装置１８−１および第２情報処理装置１８−２は、主記憶メモリを共通に用いるので、メモリアクセスの実行性能が互いの動作情報に影響する。第２実施形態に係るモデル生成装置４０は、第２情報処理装置１８−２の動作による影響を反映した動作情報に基づき、第１情報処理装置１８−１が用いる決定モデルを生成することができる。また、第２実施形態に係るモデル生成装置４０は、第１情報処理装置１８−１の動作による影響を反映した動作情報に基づき、第２情報処理装置１８−２が用いる決定モデルを生成することができる。
【０１５０】
（情報処理装置２００のハードウェア構成）
図２６は、情報処理装置２００のハードウェアブロック図である。情報処理装置２００は、一例として、一般のコンピュータと同様のハードウェア構成により実現される。情報処理装置２００は、所定プログラムを実行することにより、モデル生成装置４０として機能することができる。
【０１５１】
情報処理装置２００は、ＣＰＵ２０２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  ＭｅｍｏｒｙRead  Only  Memory）２０４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓ  Ｍｅｍｏｒｙ）２０６と、操作部２０８と、表示部２１０と、通信装置２１２と、記憶装置２１４とを備える。各部は、バスにより接続される。
【０１５２】
ＣＰＵ２０２は、情報処理を実行するプロセッサであって、記憶装置２１４に記憶されたプログラムをＲＡＭ２０６に展開して実行し、各部を制御して入出力を行ったり、データの加工を行ったりする。ＣＰＵ２０２は、１または複数のプロセッサにより構成されていてもよい。また、情報処理装置２００は、プログラムを実行することが可能であれば、ＣＰＵ２０２に限らず他のプロセッサを備えてもよい。ＲＯＭ２０４には、起動用プログラムを記憶装置２１４からＲＡＭ２０６に読み出すスタートプログラムが記憶されている。ＲＡＭ２０６は、ＣＰＵ２０２の作業領域としてデータを記憶する。
【０１５３】
操作部２０８は、マウスまたはキーボード等の入力デバイスであって、ユーザから操作入力された情報を指示信号として受け付け、その指示信号をＣＰＵ２０２に出力する。表示部２１０は、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等の表示装置である。表示部２１０は、ＣＰＵ２０２からの表示信号に基づいて、各種情報を表示する。通信装置２１２は、ネットワーク等を介して、外部機器と情報をやり取りする。記憶装置２１４は、例えば、ハードディスクドライブまたはフラッシュメモリ等である。記憶装置２１４は、情報処理装置２００で実行されるプログラム、および、オペレーティングシステムを記憶している。
【０１５４】
本実施形態の情報処理装置２００で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、本実施形態の情報処理装置２００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の情報処理装置２００で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態のプログラムを、ＲＯＭ２０４等に予め組み込んで提供するように構成してもよい。
【０１５５】
情報処理装置２００をモデル生成装置４０として機能させるためのプログラムは、取得モジュールと、分割モジュールと、割当モジュール、推定モジュールと、選択モジュールと、生成モジュールとを有する。情報処理装置２００は、プロセッサ（ＣＰＵ２０２）が記憶媒体（記憶装置２１４等）からプログラムを読み出して実行することにより各モジュールが主記憶装置（ＲＡＭ２０６）上にロードされ、プロセッサ（ＣＰＵ２０２）が、取得部６２、分割部６６、割当部６８、推定部７２、選択部７４および生成部７８として機能する。また、ＲＡＭ２０６または記憶装置２１４等が、動作情報記憶部６４、推定モデル記憶部７０および教師セグメント記憶部７６として機能する。なお、これらの一部または全部がプロセッサ以外のハードウェアにより実現されてもよい。
【０１５６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５７】
１０  情報処理システム
１４  第１記憶部
１６  不揮発記憶部
１８  情報処理装置
１８−１  第１情報処理装置
１８−２  第２情報処理装置
２０  処理回路
２２  管理装置
２４  動作情報検出部
２８  決定モデル記憶部
３２  データ処理部
３４  アクセス管理部
３６  方式決定部
４０  モデル生成装置
５２  タイミング発生部
５４  抽出部
５６  決定部
５８  設定部
６２  取得部
６４  動作情報記憶部
６６  分割部
６８  割当部
７０  推定モデル記憶部
７２  推定部
７４  選択部
７６  教師セグメント記憶部
７８  生成部
９０  モデル修正部
１００  情報処理システム
【図１】
2019164629.tif 000003
【図２】
2019164629.tif 000004
【図３】
2019164629.tif 000005
【図４】
2019164629.tif 000006
【図５】
2019164629.tif 000007
【図６】
2019164629.tif 000008
【図７】
2019164629.tif 000009
【図８】
2019164629.tif 000010
【図９】
2019164629.tif 000011
【図１０】
2019164629.tif 000012
【図１１】
2019164629.tif 000013
【図１２】
2019164629.tif 000014
【図１３】
2019164629.tif 000015
【図１４】
2019164629.tif 000016
【図１５】
2019164629.tif 000017
【図１６】
2019164629.tif 000018
【図１７】
2019164629.tif 000019
【図１８】
2019164629.tif 000020
【図１９】
2019164629.tif 000021
【図２０】
2019164629.tif 000022
【図２１】
2019164629.tif 000023
【図２２】
2019164629.tif 000024
【図２３】
2019164629.tif 000025
【図２４】
2019164629.tif 000026
【図２５】
2019164629.tif 000027
【図２６】
2019164629.tif 000028