(57)【特許請求の範囲】
【請求項１】
コンピュータに、
アプリケーションプログラム内の各プロセスに割り当てられたキャッシュメモリサイズを取得し、
割り当てられたキャッシュメモリサイズにて実行されたプロセスに対するキャッシュミス率を取得し、
取得したキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正し、
前記補正を行った後に、前記プロセスに割り当てられた第１キャッシュメモリサイズを取得し、
該第１キャッシュメモリサイズにてプロセスを実行した場合の第１性能値を取得し、
前記第１キャッシュメモリサイズよりも後に、前記プロセスに割り当てられた第２キャッシュメモリサイズを取得し、
該第２キャッシュメモリサイズにてプロセスを実行した場合の第２性能値を取得し、
前記第1性能値及び第２性能値に基づき、前記第２キャッシュメモリサイズを補正する
処理を実行させるプログラム。
【請求項２】
第２キャッシュメモリサイズの補正は、取得したキャッシュミス率が閾値を超えると判断した場合に、前記第1性能値及び第２性能値に基づき補正する
請求項１に記載のプログラム。
【請求項３】
取得したキャッシュミス率が閾値を超えるか否かを判断し、
超えると判断した場合に、前記プロセスに対して割り当てるキャッシュメモリサイズが大きくなるよう補正する
請求項１または２に記載のプログラム。
【請求項４】
メモリアクセス命令の割合を取得し、
取得した割合及びキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正する
請求項３に記載のプログラム。
【請求項５】
メモリアクセス命令の割合及びキャッシュメモリに対するアクセス待ち時間を取得し、
取得した割合にキャッシュミス率を乗じて積算値を算出し、
算出した積算値及び前記アクセス待ち時間に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正する
請求項３に記載のプログラム。
【請求項６】
アプリケーションプログラム内の各プロセスに割り当てられたキャッシュメモリサイズを取得する第１取得部と、
割り当てられたキャッシュメモリサイズにて実行されたプロセスに対するキャッシュミス率を取得する第２取得部と、
取得したキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正する補正部と、
前記補正を行った後に、前記プロセスに割り当てられた第１キャッシュメモリサイズを取得する第３取得部と、
該第１キャッシュメモリサイズにてプロセスを実行した場合の第１性能値を取得する第1性能値取得部と、
前記第１キャッシュメモリサイズよりも後に、前記プロセスに割り当てられた第２キャッシュメモリサイズを取得する第４取得部と、
該第２キャッシュメモリサイズにてプロセスを実行した場合の第２性能値を取得する第２性能値取得部と、
前記第1性能値及び第２性能値に基づき、前記第２キャッシュメモリサイズを補正する第２補正部と
を備える情報処理装置。
【請求項７】
情報処理装置に、
アプリケーションプログラム内の各プロセスに割り当てられたキャッシュメモリサイズを取得し、
割り当てられたキャッシュメモリサイズにて実行されたプロセスに対するキャッシュミス率を取得し、
取得したキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正し、
前記補正を行った後に、前記プロセスに割り当てられた第１キャッシュメモリサイズを取得し、
該第１キャッシュメモリサイズにてプロセスを実行した場合の第１性能値を取得し、
前記第１キャッシュメモリサイズよりも後に、前記プロセスに割り当てられた第２キャッシュメモリサイズを取得し、
該第２キャッシュメモリサイズにてプロセスを実行した場合の第２性能値を取得し、
前記第1性能値及び第２性能値に基づき、前記第２キャッシュメモリサイズを補正する
処理を実行させる情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
従来、プロセッサの動作特性を元に各プロセッサ上で各プロセスを動作させた場合の動作特性を推測し、各プロセスのプロセッサへの割り当てを最適化する方法が知られている（例えば特許文献１〜３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−８３７８２号公報
【特許文献２】特開平１０−１１３０５号公報
【特許文献３】特開２００３−６１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では実行速度が十分でないという問題がある。
【０００５】
一つの側面では、実行速度を向上させることが可能となるプログラム等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの案では、コンピュータに、アプリケーションプログラム内の各プロセスに割り当てられたキャッシュメモリサイズを取得し、割り当てられたキャッシュメモリサイズにて実行されたプロセスに対するキャッシュミス率を取得し、取得したキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正し、前記補正を行った後に、前記プロセスに割り当てられた第１キャッシュメモリサイズを取得し、該第１キャッシュメモリサイズにてプロセスを実行した場合の第１性能値を取得し、前記第１キャッシュメモリサイズよりも後に、前記プロセスに割り当てられた第２キャッシュメモリサイズを取得し、該第２キャッシュメモリサイズにてプロセスを実行した場合の第２性能値を取得し、前記第1性能値及び第２性能値に基づき、前記第２キャッシュメモリサイズを補正する処理を実行させる。
【発明の効果】
【０００７】
一つの側面では、実行速度を向上させることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア群を示すブロック図である。
【図２】均等分割法に基づくキャッシュメモリサイズの算出手順を示すフローチャートである。
【図３】均等分割法に基づくキャッシュメモリサイズの算出手順を示すフローチャートである。
【図４】キャッシュメモリサイズの補正処理の手順を示すフローチャートである。
【図５】キャッシュメモリサイズの補正処理の手順を示すフローチャートである。
【図６】ＰＡ情報ファイルの記憶内容を示す説明図である。
【図７】情報データファイルのレコードレイアウトを示す説明図である。
【図８】性能値に基づく割当キャッシュメモリサイズの補正処理の手順を示すフローチャートである。
【図９】性能値に基づく割当キャッシュメモリサイズの補正処理の手順を示すフローチャートである。
【図１０】性能値に基づく割当キャッシュメモリサイズの補正処理の手順を示すフローチャートである。
【図１１】上述した形態の情報処理装置の動作を示す機能ブロック図である。
【図１２】実施の形態３に係る情報処理装置のハードウェア群を示すブロック図である。
【発明を実施するための形態】
【０００９】
実施の形態１
以下実施の形態を、図面を参照して説明する。図１は情報処理装置１のハードウェア群を示すブロック図である。情報処理装置１は、制御部１１、マルチコアプロセッサ１３、入力部１６、及び記憶部１５等を含む。マルチコアプロセッサ１３は複数のＣＰＵコア（以下、コアという）を有し、複数のコアで共有キャッシュメモリを共有する。図１の例では、均等分割法に基づき、各プロセスの使用コア数に比例した分割サイズで、共有キャッシュメモリが割り当てられている。ＮＵＭＡ(Non-Uniform Memory Access)ノード１４１内には４つのコア０〜コア３がグループ化されている。ＮＵＭＡノード１４１には、１２ＭＢの共有キャッシュメモリの半分の６ＭＢのキャッシュメモリが割り当てられている。
【００１０】
同様にノード１４２内にも４つのコア４〜コア７がグループ化されている。ＮＵＭＡノード１４２（場合によりＮＵＭＡノード１４と省略する）には、１２ＭＢの共有キャッシュメモリの半分の６ＭＢのキャッシュメモリが割り当てられている。制御部１１は、バス１７を介してハードウェア各部と接続されている。制御部１１は記憶部１５に記憶された制御プログラム１５Ｐに従い各プロセスに割り当てるキャッシュメモリサイズを算出する処理等を行う。なお、本実施形態では制御プログラム１５Ｐはアプリケーションであるものとして説明するが、ミドルウェアであってもよい。
【００１１】
入力部１６はマウスまたはキーボード、マウスまたはタッチパネル等の入力デバイスであり、受け付けた操作情報を制御部１１へ出力する。記憶部１５はハードディスクまたは大容量メモリであり、制御プログラム１５Ｐ等を記憶している。記憶部１５はその他、ＰＡ(Performance Analyzer)情報ファイル１５１及び情報データファイル１５２等を記憶している。ＰＡ情報ファイル１５１及び情報データファイル１５２については後述する。
【００１２】
図２及び図３は均等分割法に基づくキャッシュメモリサイズの算出手順を示すフローチャートである。制御部１１は、実行ノードのコア数Ｃを記憶部１５に記憶されたハード情報を参照して取得する（ステップＳ２１）。制御部１１は、実行ノードのＮＵＭＡノード数Ｎを、記憶部１５を参照して取得する（ステップＳ２２）。制御部１１は、実行ノードの１つのＮＵＭＡノード１４内のコア数ＮＣを算出する。具体的にはコア数ＣをＮＵＭＡノード数Ｎで除すことによりコア数ＮＣを算出する（ステップＳ２３）。
【００１３】
制御部１１は、ＮＵＭＡノード１４当たりの共有キャッシュメモリのサイズＬＳを、ハード情報を参照して取得する（ステップＳ２４）。制御部１１は、記憶部１５を参照し、ジョブの実行か否かを判断する（ステップＳ２５）。制御部１１は、ジョブの実行であると判断した場合（ステップＳ２５でＹＥＳ）、処理をステップＳ２６へ移行させる。制御部１１は、プロセスで使用できるコア数ＰＣを、記憶部１５に記憶されたジョブ機能を参照して取得する（ステップＳ２６）。
【００１４】
制御部１１は、ジョブの実行でないと判断した場合（ステップＳ２５でＮＯ）、処理をステップＳ２７へ移行させる。制御部１１は、プロセスで使用することができるコア数ＰＣを、プロセスのＣＰＵアフィニティ情報から取得する（ステップＳ２７）。ステップＳ２６及びステップＳ２７の処理後、制御部１１は、プロセスで使用する全コアが１つのＮＵＭＡノード１４に収まっているか否かを判断する（ステップＳ２８）。制御部１１は、収まっていると判断した場合（ステップＳ２８でＹＥＳ）、ステップＳ２９へ移行する。制御部１１は、プロセスに割り当てるキャッシュメモリサイズＣＳを算出する（ステップＳ２９）。具体的には共有キャッシュメモリサイズＬＳをＮＵＭＡノード１４内のコア数ＮＣで除す。そして除した値にプロセスで使用できるコア数ＰＣを乗じる。
【００１５】
制御部１１は、ＮＵＭＡノード１４内に収まっていないと判断した場合（ステップＳ２８でＮＯ）、すなわちプロセスで使用するコアが複数（Ｍ個）のＮＵＭＡノード１４に跨がっている場合、処理をステップＳ３１へ移行させる。制御部１１は、ジョブの実行か否かを判断する（ステップＳ３１）。制御部１１は、ジョブの実行であると判断した場合（ステップＳ３１でＹＥＳ）、処理をステップＳ３２へ移行させる。制御部１１は、ＮＵＭＡノード１４毎に使用するコア数ＰＣｍを、ジョブ機能から取得する（ステップＳ３２）。なおｍは０＜ｍ＜Ｍである。
【００１６】
制御部１１は、ジョブの実行でないと判断した場合（ステップＳ３１でＮＯ）、処理をステップＳ３３へ移行させる。制御部１１は、ＮＵＭＡノード１４毎に使用するコア数ＰＣｍを、プロセスのＣＰＵアンフィニティ情報から取得する（ステップＳ３３）。ステップＳ３２または３３の処理後、制御部１１は、ＮＵＭＡノード１４毎に割り当てるキャッシュメモリサイズＣＳｍを算出する（ステップＳ３４）。具体的には、共有キャッシュメモリサイズＬＳをＮＵＭＡノード１４内のコア数ＮＣで除し、除した値にコア数ＰＣｍを乗じて、割り当てるメッシュメモリサイズＣＳｍを算出する。
【００１７】
図４及び図５はキャッシュメモリサイズの補正処理の手順を示すフローチャートである。以下では説明を容易にするために、均等分割法に基づき、ステップＳ２９で求めたキャッシュサイズＣＳ１（以下、割当キャッシュメモリサイズＣＳ１という）を用いる例を挙げて説明する。制御部１１は、割当キャッシュメモリサイズＣＳ１を取得する(ステップＳ４１)。制御部１１は、割当キャッシュメモリサイズＣＳ１でアプリケーションプログラムのプロセスを一回実行する(ステップＳ４２)。制御部１１は、プロセスに対するメモリアクセス命令の割合ＬＬ、メモリアクセス命令のキャッシュミス率ＣＭ、及び共有キャッシュメモリへのアクセス待ち時間の割合ＣＣを取得する(ステップＳ４３)。具体的には、制御部１１は、プロファイラのハードウェア情報（ＣＰＵに実装された性能解析を行うための情報）を参照してこれらの情報（以下、場合により代表してＰＡ情報という）を取得する。
【００１８】
制御部１１は、プロセスに対するメモリアクセス命令の割合ＬＬ、メモリアクセス命令のキャッシュミス率ＣＭ、及び共有キャッシュメモリへのアクセス待ち時間の割合ＣＣをＰＡ情報ファイル１５１に記憶する(ステップＳ４４)。図６はＰＡ情報ファイル１５１の記憶内容を示す説明図である。ＰＡ情報ファイル１５１には、各プロセスの割当キャッシュメモリサイズに対応付けて、プロセスに対するメモリアクセス命令の割合ＬＬ、メモリアクセス命令のキャッシュミス率ＣＭ、及び共有キャッシュメモリへのアクセス待ち時間の割合ＣＣが記憶されている。制御部１１は、割当キャッシュメモリサイズにて実行後、プロセスのＰＡ情報を、ＰＡ情報ファイル１５１に記憶する。
【００１９】
制御部１１は、閾値を記憶部１５から読み出す。制御部１１は、取得したキャッシュミス率が、閾値以上か否かを判断する(ステップＳ４５)。なお閾値は例えば５％とすればよい。なお実施形態で用いる数値は一例であり、これに限るものではない。また閾値は入力部１６から適宜値を変更することが可能である。制御部１１は、閾値以上でないと判断した場合(ステップＳ４５でＮＯ)、処理をステップＳ４６へ移行させる。制御部１１は、割当キャッシュメモリサイズＣＳ１を縮小して、縮小後の割当キャッシュメモリサイズＣＳ２を算出する(ステップＳ４６)。具体的には、１よりも小さい係数Ｋ（例えば０．２）を割当キャッシュメモリサイズＣＳ１に乗じて、割当キャッシュメモリサイズＣＳ２を算出する。なお、係数Ｋの値は入力部１６より適宜変更することが可能である。また、ステップＳ４６の処理は、キャッシュミス率が０．００５％以下の場合にのみ実行してもよい。
【００２０】
制御部１１は、キャッシュミス率が閾値以上であると判断した場合(ステップＳ４５でＹＥＳ)、処理をステップＳ４７へ移行させる。制御部１１は、メモリアクセス命令の割合ＬＬに、メモリアクセス命令のキャッシュメモリミス率ＣＭを乗じることで、全実行命令のうち、メモリアクセス命令でのキャッシュミスの割合ＸＸを算出する(ステップＳ４７)。制御部１１は、割合ＸＸをアクセス待ち時間割合ＣＣに基づき補正して割合ＸＸ２を算出する(ステップＳ４８)。具体的には、アクセス待ち時間割合ＣＣ(全実行時間を１とした場合、０〜１．０以下になる)で補正する。アクセス待ち時間割合ＣＣが大きいほど共有キャッシュへの依存度が大きくなる。そのため、アクセス待ち時間割合ＣＣが大きい場合、やや大きくなるように、アクセス待ち時間割合ＣＣが小さい場合はやや小さくなるように補正する。そのため、アクセス待ち時間割合ＣＣが、0.1（１０％）の場合に、１となるように、割合ＸＸに（０．９＋ＣＣ）を乗じて補正後の割合ＸＸ２を算出する。
【００２１】
制御部１１は、割当キャッシュメモリサイズＣＳ２が、最大でＣＳ１の２倍以下に収まるよう補正を行う(ステップＳ４９)。具体的には、割合ＸＸ２に１を加えた値を、割当キャッシュメモリサイズＣＳ１に、乗ずることで、割当キャッシュメモリサイズＣＳ２を算出する。なお、２倍を超える場合、割当キャッシュメモリサイズＣＳ１の２倍とする。ステップＳ４９の処理後、及びステップＳ４６の処理後、制御部１１は、算出したキャッシュメモリサイズＣＳ２を情報テータファイル１５２に記憶する(ステップＳ５１)。これにより、実行速度を向上させることが可能となる。
【００２２】
実施の形態２
実施の形態２は性能値に応じて割当キャッシュメモリサイズＣＳを補正する形態に関する。図７は情報データファイル１５２のレコードレイアウトを示す説明図である。情報データファイル１５２は、割当キャッシュメモリサイズフィールド及び実行時間フィールドを含む。割当キャッシュメモリサイズには制御部１１により割り当てられた割当キャッシュメモリサイズが記憶されている。実行時間フィールドには、割り当てられた割当キャッシュメモリサイズにてプロセスを実行した場合の、実行時間が性能値として記憶されている。
【００２３】
図７の例では、割当キャッシュメモリサイズＣＳｎにてプロセスを実行した場合の実行時間Ｔｎが相互に対応付けて記憶されている。なお、ｎは自然数である。実行時間が短いほど、性能が向上していることとなる。なお、本実施形態では実行時間を性能値としたが、一例でありこれに限るものではない。例えば、単位時間当たりの処理量等を性能値としてもよい。
【００２４】
図８〜図１０は性能値に基づく割当キャッシュメモリサイズの補正処理の手順を示すフローチャートである。実施の形態１で述べた処理に加えて下記処理を行う。制御部１１は、情報データファイル１５２を参照し、前回の割当キャッシュメモリサイズＣＳｎ−１及び実行時間Ｔｎ−１を取得する(ステップＳ８１)。制御部１１は、今回割り当てられた割当キャッシュメモリサイズＣＳｎを情報データファイル１５２から取得する(ステップＳ８２)。なお、前回の割当キャッシュメモリサイズＣＳｎ−１及び今回の割当キャッシュメモリサイズＣＳｎは公知の手法により予め割り当てられた適宜の値が情報データファイル１５２に記憶されている。制御部１１は、割当キャッシュメモリサイズＣＳｎにてアプリケーションプログラムのプロセスを実行する(ステップＳ８３)。
【００２５】
制御部１１は、プロセスの実行開始時から実行終了時までの実行時間Ｔｎを取得する(ステップＳ８４)。制御部１１は、取得した実行時間Ｔｎを、割当キャッシュメモリサイズＣＳｎに対応付けて情報データファイル１５２に記憶する(ステップＳ８５)。制御部１１は、ＰＡ情報ファイル１５１からキャッシュミス率を読み出す(ステップＳ８６)。制御部１１は、記憶部１５から第１閾値を読み出す(ステップＳ８７)。
【００２６】
制御部１１は、実行時間Ｔｎから前回割り当てられた割当キャッシュメモリサイズＣＳｎ―１でプロセスを実行した際の実行時間Ｔｎ−１を減じて差分を算出する(ステップＳ８８)。制御部１１は、第２閾値を記憶部１５から読み出す(ステップＳ８９)。制御部１１は、ステップＳ８６で読み出したキャッシュミス率が第１閾値を超えるか否かを判断する(ステップＳ９１)。制御部１１は、第１閾値を超えると判断した場合(ステップＳ９１でＹＥＳ)、処理をステップＳ９２へ移行させる。
【００２７】
制御部１１は、差分が第２閾値を超えるか否かを判断する(ステップＳ９２)。制御部１１は、第２閾値を超えると判断した場合(ステップＳ９２でＹＥＳ)、制御部１１は、割当キャッシュメモリサイズが大きくなるよう補正し、割当キャッシュメモリサイズＣＳｎ＋１を算出する(ステップＳ９３)。具体的には１よりも大きい係数（例えば１．２）を割当キャッシュメモリサイズＣＳｎに乗ずることにより算出する。制御部１１は、算出した割当キャッシュメモリサイズＣＳｎ＋１を情報データファイル１５２に記憶する(ステップＳ９４)。
【００２８】
制御部１１は、差分が第２閾値を超えないと判断した場合(ステップＳ９２でＮＯ)、処理をステップＳ９５へ移行させる。制御部１１は、割当キャッシュメモリサイズＣＳｎ＋１を割当キャッシュメモリサイズＣＳｎと同じ値に決定する(ステップＳ９５)。制御部１１は、決定した割当キャッシュメモリサイズＣＳｎ＋１を情報データファイル１５２に記憶する(ステップＳ９６)。
【００２９】
制御部１１は、キャッシュミス率が第１閾値を超えないと判断した場合(ステップＳ９１でＮＯ)、処理をステップＳ９７へ移行させる。制御部１１は、差分が第２閾値を超えるか否かを判断する(ステップＳ９７)。制御部１１は、差分が第２閾値を超えると判断した場合(ステップＳ９７でＹＥＳ)、処理をステップＳ９８へ移行させる。制御部１１は、割当キャッシュメモリサイズが小さくなるよう補正し、割当キャッシュメモリサイズＣＳｎ＋１を算出する(ステップＳ９８)。制御部１１は、例えば係数０．８を乗じる。制御部１１は、算出した割当キャッシュメモリサイズＣＳｎ＋１を情報データファイル１５２に記憶する(ステップＳ９９)。
【００３０】
制御部１１は、差分が第２閾値を超えないと判断した場合(ステップＳ９７でＮＯ)、処理をステップＳ１０１へ移行させる。制御部１１は、情報データファイル１５２から前回の割当キャッシュメモリサイズＣＳｎ−１を読み出す(ステップＳ１０１)。制御部１１は、前回の割当キャッシュメモリサイズＣＳｎ−１と今回の割当キャッシュメモリサイズＣＳｎとの平均値により、割当キャッシュメモリサイズＣＳｎ＋１を算出する(ステップＳ１０２)。制御部１１は、算出した割当キャッシュメモリサイズＣＳｎ＋１を情報データファイル１５２に記憶する(ステップＳ１０３)。このようにＰＡ情報を使用するのは初回のみであり、以降は性能値のみを用いることで処理負担を軽減することが可能となる。また性能値に基づき補正することで、より実行速度を向上させることが可能となる。
【００３１】
本実施の形態２は以上の如きであり、その他は実施の形態１と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００３２】
実施の形態３
図１１は上述した形態の情報処理装置１の動作を示す機能ブロック図である。制御部１１が制御プログラム１５Ｐを実行することにより、情報処理装置１は以下のように動作する。第１取得部１１１は、アプリケーションプログラム内の各プロセスに割り当てられたキャッシュメモリサイズを取得する。第２取得部１１２は、割り当てられたキャッシュメモリサイズにて実行されたプロセスに対するキャッシュミス率を取得する。補正部１１３は、取得したキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正する。
【００３３】
図１２は実施の形態３に係る情報処理装置１のハードウェア群を示すブロック図である。情報処理装置１を動作させるためのプログラムは、ディスクドライブ等の読み取り部１０ＡにCD-ROM、DVD（Digital Versatile Disc）ディスク、メモリーカード、またはUSB(Universal Serial Bus)メモリ等の可搬型記録媒体１Ａを読み取らせて記憶部１５に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ１Ｂを情報処理装置１内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網を介して接続される他のサーバコンピュータ（図示せず）からダウンロードすることも可能である。以下に、その内容を説明する。
【００３４】
図１２に示す情報処理装置１は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体１Ａまたは半導体メモリ１Ｂから読み取り、或いは、通信網を介して他のサーバコンピュータ（図示せず）からダウンロードする。当該プログラムは、制御プログラム１５Ｐとしてインストールされ、記憶部１５にロードして実行される。これにより、上述した情報処理装置１として機能する。
【００３５】
本実施の形態３は以上の如きであり、その他は実施の形態１及び２と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００３６】
以上の実施の形態１から３を含む実施形態に関し、さらに以下の付記を開示する。
【００３７】
（付記１）
コンピュータに、
アプリケーションプログラム内の各プロセスに割り当てられたキャッシュメモリサイズを取得し、
割り当てられたキャッシュメモリサイズにて実行されたプロセスに対するキャッシュミス率を取得し、
取得したキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正し、
前記補正を行った後に、前記プロセスに割り当てられた第１キャッシュメモリサイズを取得し、
該第１キャッシュメモリサイズにてプロセスを実行した場合の第１性能値を取得し、
前記第１キャッシュメモリサイズよりも後に、前記プロセスに割り当てられた第２キャッシュメモリサイズを取得し、
該第２キャッシュメモリサイズにてプロセスを実行した場合の第２性能値を取得し、
前記第1性能値及び第２性能値に基づき、前記第２キャッシュメモリサイズを補正する
処理を実行させるプログラム。
（付記２）
第２キャッシュメモリサイズの補正は、取得したキャッシュミス率が閾値を超えると判断した場合に、前記第1性能値及び第２性能値に基づき補正する
付記１に記載のプログラム。
（付記３）
取得したキャッシュミス率が閾値を超えるか否かを判断し、
超えると判断した場合に、前記プロセスに対して割り当てるキャッシュメモリサイズが大きくなるよう補正する
付記１または２に記載のプログラム。
（付記４）
メモリアクセス命令の割合を取得し、
取得した割合及びキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正する
付記３に記載のプログラム。
（付記５）
メモリアクセス命令の割合及びキャッシュメモリに対するアクセス待ち時間を取得し、
取得した割合にキャッシュミス率を乗じて積算値を算出し、
算出した積算値及び前記アクセス待ち時間に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正する
付記３に記載のプログラム。
（付記６）
取得したキャッシュミス率が閾値を超えると判断し、かつ、前記第２性能値が第１性能値よりも低下する場合、前記第２キャッシュメモリサイズが大きくなるよう補正する
処理を実行させる付記１から５のいずれか一つに記載のプログラム。
（付記７）
取得したキャッシュミス率が閾値を超えないと判断し、かつ、前記第２性能値が第１性能値よりも低下していない場合、前記第２キャッシュメモリサイズが小さくなるよう補正する
処理を実行させる付記１から６のいずれか一つに記載のプログラム。
（付記８）
取得したキャッシュミス率が閾値を超えないと判断し、かつ、前記第２性能値が第１性能値よりも低下する場合、前記第１キャッシュメモリサイズ及び前記第２キャッシュメモリサイズに基づき補正する
処理を実行させる付記１から７のいずれか一つに記載のプログラム。
（付記９）
アプリケーションプログラム内の各プロセスに割り当てられたキャッシュメモリサイズを取得する第１取得部と、
割り当てられたキャッシュメモリサイズにて実行されたプロセスに対するキャッシュミス率を取得する第２取得部と、
取得したキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正する補正部と、
前記補正を行った後に、前記プロセスに割り当てられた第１キャッシュメモリサイズを取得する第３取得部と、
該第１キャッシュメモリサイズにてプロセスを実行した場合の第１性能値を取得する第1性能値取得部と、
前記第１キャッシュメモリサイズよりも後に、前記プロセスに割り当てられた第２キャッシュメモリサイズを取得する第４取得部と、
該第２キャッシュメモリサイズにてプロセスを実行した場合の第２性能値を取得する第２性能値取得部と、
前記第1性能値及び第２性能値に基づき、前記第２キャッシュメモリサイズを補正する第２補正部と
を備える情報処理装置。
（付記１０）
情報処理装置に、
アプリケーションプログラム内の各プロセスに割り当てられたキャッシュメモリサイズを取得し、
割り当てられたキャッシュメモリサイズにて実行されたプロセスに対するキャッシュミス率を取得し、
取得したキャッシュミス率に基づき、前記プロセスに対して割り当てるキャッシュメモリサイズを補正し、
前記補正を行った後に、前記プロセスに割り当てられた第１キャッシュメモリサイズを取得し、
該第１キャッシュメモリサイズにてプロセスを実行した場合の第１性能値を取得し、
前記第１キャッシュメモリサイズよりも後に、前記プロセスに割り当てられた第２キャッシュメモリサイズを取得し、
該第２キャッシュメモリサイズにてプロセスを実行した場合の第２性能値を取得し、
前記第1性能値及び第２性能値に基づき、前記第２キャッシュメモリサイズを補正する
処理を実行させる情報処理方法。
【符号の説明】
【００３８】
１      情報処理装置
１Ａ    可搬型記録媒体
１Ｂ    半導体メモリ
１０Ａ  読み取り部
１１    制御部
１３    マルチコアプロセッサ
１５    記憶部
１５Ｐ  制御プログラム
１６    入力部
１１１  第１取得部
１１２  第２取得部
１１３  補正部
１４、１４１、１４２  ＮＵＭＡノード
１５１  ＰＡ情報ファイル
１５２  情報データファイル
【図１】
0006464980.tif 000002
【図２】
0006464980.tif 000003
【図３】
0006464980.tif 000004
【図４】
0006464980.tif 000005
【図５】
0006464980.tif 000006
【図６】
0006464980.tif 000007
【図７】
0006464980.tif 000008
【図８】
0006464980.tif 000009
【図９】
0006464980.tif 000010
【図１０】
0006464980.tif 000011
【図１１】
0006464980.tif 000012
【図１２】
0006464980.tif 000013