(57)【要約】【課題】新システムの性能をシミュレーションのような工数を掛けることなく精度良く予測する。【解決手段】既存システムの性能１０１と、既存システムのアーキテクチャパラメータを、Ｌ１キャッシュ完全ヒット状態への変換処理１０２に入力し、Ｌ１キャッシュ完全ヒット状態の性能１０３を求める。その後Ｌ１キャッシュ完全ヒット状態の性能１０３と、新システムのアーキテクチャパラメータを新システムへの変換処理１０４に入力し、新システムの性能１０５の予測性能を求める。【効果】本発明により、工数のかかるシミュレータを開発することなく、新システムの性能を制度良く予測することができる。【選択図】  図１
2004227204.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムの性能を予測する方法であって、既存システムの実測データと、既存システムと新システムの性能差分要因を用いて、新システムの性能を予測する性能予測ステップを有することを特徴とする、性能予測方法。
【請求項２】
前記性能予測ステップは、既存システムの実測データと、既存システムのアーキテクチャパラメータを入力として、既存システムの性能を、既存システムのＭＰＵのＬ１キャッシュが完全にヒットした状態の性能に変換する第一のステップと、第一のステップで求めた既存システムのＭＰＵのＬ１キャッシュ完全ヒット時の性能と、新システムのアーキテクチャパラメータと、新システムのキャッシュミス率と、新システムと既存システムの周波数比を入力として、新システムの性能を出力する第二のステップからなることを特徴とする、請求項１の性能予測方法。
【請求項３】
前記第一のステップと第二のステップが共に、ＭａｃｒｏＨｉｔＭｏｄｅｌを用いて、入力されるパラメータから出力する値を求めることを特徴とする、請求項２の性能予測方法。
【請求項４】
請求項１の性能予測ステップが、既存システムまたは新システムのＬ１キャッシュ完全ヒット時の性能を、新システムの性能に変換する第一のステップからなり、前記第一のステップは、新システムのアーキテクチャパラメータと、新システムのキャッシュミス率と、新システムと既存システムの周波数比を入力として、新システムの性能を出力するステップを有し、かつ前記入力パラメータから出力値を得るために、ＭａｃｒｏＨｉｔＭｏｄｅｌを用いることを特徴とする、請求項１の性能予測方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステムの性能を予測する方法に関し、特にシミュレーションを用いない、アーキテクチャレベルでの性能予測方法に関する。
【０００２】
【従来の技術】
従来からシステムの性能の予測にはシミュレーションが広く用いられている。シミュレーションとしては、非特許文献１に述べられている、ＳｉｍＯＳが知られている。
【０００３】
また、特許文献１では、並列計算機上でマルチタスクプログラムを実行する場合の性能を予測する方法が開示されている。これによるとプラットホームである並列計算機のシステム構成を入力すると、予測システムがプラットホームのモデルを生成し、これに基づき、速度向上率や、効率、スループット、レスポンスタイム、資源使用率といった並列処理の指標を予測する。特許文献１では、モデルとしては待ち行列モデルを用いる方法が開示されている。
【０００４】
また非特許文献２には、ＣＰＩ（Ｃｙｃｌｅ  ｐｅｒ  Ｉｎｓｔｒｕｃｔｉｏｎ）を用いて２つのシステムの性能を比較する方法と、キャッシュミス率を考慮した性能の予測方法が述べられている。ＣＰＩを用いた方法では、まず命令単位にそのレイテンシーと命令の生起率を求め、これを用いてＣＰＩを求め、この値を用いて異なるシステム間の性能を比較する方法が示されている。またキャッシュミス率を考慮した性能予測方法では、ＣＰＵ時間を実行命令数と、ＣＰＩと１実行命令あたりの平均ミス回数とミスペナルティーとクロックサイクル時間により求める方法が示されている。
【０００５】
【特許文献１】
特開２０００−２９８５９３号公報
【非特許文献１】
メンデル・ローセンブルーム（Ｍｅｎｄｅｌ  Ｒｏｓｅｎｂｌｕｍ）、外３名著、「複雑なコンピュータシステムの解析への、ＳｉｍＯＳを用いたシミュレータの利用（Ｕｓｉｎｇ  ｔｈｅ  ＳｉｍＯＳ  ｍａｃｈｉｎｅ  ｓｉｍｕｌａｔｏｒ  ｔｏ  ｓｔｕｄｙ  ｃｏｍｐｌｅｘ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍｓ）」、エーシーエム・トランザクション・オン・モデリングアンドコンピュータシミュレーション（ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｓｉｍｕｌａｔｉｏｎ）、エーシエムプレス（ＡＣＭ  Ｐｒｅｓｓ）、１９９７
【非特許文献２】
ジョン・エル・ヘネシー（Ｊｏｈｎ  Ｌ．  Ｈｅｎｎｅｓｓｙ）、外１名著、「コンピュータ・アーキテクチャ（Ｃｏｍｐｕｔｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ）」、第３版（３ｒｄ  Ｅｄｉｔｉｏｎ）、モーガン・カウフマン出版社（Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  Ｐｕｂｌｉｓｈｅｒｓ）、２００２年
【０００６】
【発明が解決しようとする課題】
既存のシステムに対して、ＭＰＵのアーキテクチャ、周波数、キャッシュメモリのサイズを変更した新システムを開発する場合において、これらの変更を行なったときの新システムの性能を、従来のシミュレーション方式のような工数を掛けることなく、アーキテクチャレベルで簡単に精度良く予測することが本発明の課題である。
【０００７】
【課題を解決するための手段】
既存システムに対して、ＭＰＵの周波数の変更と、アーキテクチャの変更と、キャッシュサイズの変更をおこなった新システムを開発する場合、単純に新システムの性能を、既存システムの性能に周波数比を掛けたものとすることはできない。これはＭＰＵの周波数だけでなく、キャッシュミス率の変化もシステムの性能に大きな影響を与える可能性があるためのである。
【０００８】
本発明では、上記課題を解決するために、まず既存システムの性能を、本発明が提供する性能変換方法によって、Ｌ１キャッシュ完全ヒット状態の性能に変換する。次にこの既存システムにおけるＬ１キャッシュ完全ヒット時の性能を、新システムのＬ１キャッシュ完全ヒット時の性能に変換する。Ｌ１キャッシュ完全ヒットの状態では全ての命令はＭＰＵの周波数で実行され、かつキャッシュミスの影響が無い状態なので、既存システムから新システムへの性能の変換は、単純に周波数の比を用いて求めることができる。最後にここで求めた新システムのＬ１キャッシュ完全ヒット時の性能を、新システムの予測キャッシュミス率と、本発明で提供する性能変換方法を用いて、実環境における性能に変換する。
【０００９】
以上のように、本発明はＬ１キャッシュ完全ヒット状態を介して、既存システムと新システムの性能を変換することを特徴とする。Ｌ１キャッシュ完全ヒット状態への変換と、Ｌ１キャッシュ完全ヒット状態から新システムの性能に変換するために、ＭＰＵのＬ１キャッシュ完全ヒットモデルを用いることを特徴とする。
【００１０】
【発明の実施の形態】
まず、本発明の概要を説明する。本発明に係るコンピュータシステムの性能予測方法は、既存システムの性能と、既存システムのキャッシュミス率、パイプライン段数といったアーキテクチャパラメータと、性能予測の対象である新システムの予測キャッシュミス率、パイプライン段数、既存システムと新システムのＭＰＵの周波数比といったアーキテクチャパラメータとを、予測方法に入力することにより、新システムの性能を予測することを特徴とする。また本発明の予測方法は、新システムの性能を予測するために、まず入力されたパラメータから、既存システムにおいて、ＭＰＵのＬ１キャッシュに完全ヒットした仮想的な状態の性能を求め、次にこの既存システムのＬ１キャッシュ完全ヒットした状態の性能と、入力されるパラメータとから、新システムの性能を予測することを特徴とする。さらに、既存システムまたは新システムのＬ１キャッシュ完全ヒット時の性能が既に分かっている場合、前記既存システムのＬ１キャッシュ完全ヒット状態の性能への変換を行なわず、既に分かっているＬ１キャッシュ完全ヒット時の性能と、入力されるパラメータから新システムの性能を予測することを特徴とする。
【００１１】
前述の新システムの性能の予測を、Ｌ１キャッシュ完全ヒット状態を介して行なうことには次のような理由がある。一般にシステムの性能にはＭＰＵの周波数と、キャッシュサイズが大きく影響する。既存システムと新システムの間で、周波数とキャッシュサイズが共に変更になった場合、変数が２つとなり、性能の予測が困難になる。そこでまず既存システムのＬ１キャッシュ完全ヒット時の性能を求める。Ｌ１キャッシュに完全ヒットする場合、全ての命令はＭＰＵの周波数で実行される。既存システムのＬ１キャッシュ完全ヒット時の性能が求まると、既存システムと新システムの周波数比から、新システムのＬ１キャッシュ完全ヒット時の性能を求めることができる。以上のように、周波数の変更とキャッシュサイズの変更による影響を切り分けるために、まずＬ１キャッシュ完全ヒットの状態に変換して、周波数比を考慮したのち、最後に再びキャッシュサイズの影響を考慮して新システムの性能を求める。
【００１２】
以下では、本発明の実施の形態について添付図面を参照しながら説明する。図１は本発明の予測方法の第一の例を表す図である。また図２は本発明の予測方法の第二の例を表す図である。
【００１３】
図１に示す第一の例には、３つの状態、すなわち既存システムの性能１０１とＬ１キャッシュ完全ヒット状態１０３と、性能を予測する対象の新システムの性能１０５がある。１０１から１０３への変換を、ヒット状態への変換処理１０２によって行ない、１０３から１０５への変換を新システムへの変換処理１０４によって行なう。
【００１４】
ヒット状態への変換処理１０２では、既存システムの性能と、既存システムのキャッシュミス率、既存システムのパイプライン段数といったアーキテクチャパラメータを入力し、Ｌ１キャッシュ完全ヒット状態の性能を求める。また新システムへの変換処理１０４では、まず１０２により求めた既存システムのＬ１キャッシュ完全ヒット時の性能を、既存システムと新システムの周波数比倍することにより、新システムのＬ１キャッシュ完全ヒット時の性能を求め、この値と、新システムの予測キャッシュミス率、新システムのパイプライン段数といったアーキテクチャパラメータとから、新システムの性能を求める。
【００１５】
次に図２に示す本発明の性能予測方法の第二の例について説明する。図２には２つの状態、すなわちＬ１キャッシュ完全ヒット状態の性能１０１と、新システムの性能１０５がある。この第二の例は、既存システムまたは新システムのＬ１キャッシュ完全ヒット時の性能が既に分かっている場合に適用する。新システムへの変換処理２０１では、既存システムの性能が既に分かっている場合は、既存システムのＬ１キャッシュ完全ヒット時の性能を、既存システムと新システムの周波数比倍したものを、新システムのＬ１キャッシュ完全ヒット時の性能とする。また新システムのＬ１キャッシュ完全ヒット時の性能が分かっている場合は、この値をそのまま用いる。ここで求めた新システムのＬ１キャッシュ完全ヒット時の性能と、入力される新システムのキャッシュミス率、パイプライン段数といったアーキテクチャパラメータから、新システムの性能を予測する。
【００１６】
次に、前述のヒット状態への変換処理１０２と、新システムへの変換処理１０４と２０１における、具体的な変換方法について説明する。
【００１７】
図３はこれら変換処理の基本となるＬ１キャッシュ完全ヒット時のＭＰＵのパイプラインモデルの説明図である。図３の（ａ）はＡ個の命令を、Ｌ１キャッシュ完全ヒット状態で、実行したときのＭＰＵのパイプラインイメージを表している。図３では命令１から命令５の５個の命令を実行している様子を示している。このＭＰＵにおける各命令の実行は、フェッチステージ（Ｆ）、デコードステージ（Ｄ）、実行ステージ（Ｅ）、完了ステージ（Ｃ）から構成される。これら全ての命令の実行が終了するまでの時間が３０１の総実行サイクルＴである。３０５の最小ステージ長Ｌは、このＭＰＵの全ての命令のうちの、最小パイプラインステージ長Ｌを表す。また図３は、複数の命令の同時実行が可能なＭＰＵの例を示している。図３の（ａ）の命令の実行を、一命令ずつのシーケンシャルな実行にシリアライズしたものが（ｂ）である。今Ａ個の命令をＴサイクルで実行しているので、１命令に要するサイクル数は、３０６に示すＴ／Ａとなる。また各命令の実行は、最低Ｌ個のパイプラインによって構成されるので、各命令の実行における各パイプラインステージに要する時間は、３０９に示すＴ／（ＡＬ）サイクルである。全ての命令の実行をこの仮想的なパイプラインステージに分割し、各仮想的なパイプラインステージを集めたものが（ｃ）である。これは総実行時間Ｔのうち、Ｆ、Ｄ、Ｅ、Ｃの各ステージに要した時間は、それぞれＴ／Ｌであることを示している。以上より、３１１に示すように、全ての命令がＬ１キャッシュにヒットする場合、総実行時間ＴはＦステージに要する時間Ｔｆ、Ｄステージに要する時間Ｔｄ、Ｅステージに要する時間Ｔｅ、Ｃステージに要する時間Ｔｃの総和で表すことができる。
【００１８】
図４は、図３で示したＬ１キャッシュ完全ヒットの状態４０１と、Ｌ１キャッシュミスが発生する実環境の状態４０２の関係を表している。Ｌ１キャッシュミスが発生すると、３１１が示す総実行時間Ｔのうち、命令キャッシュミスによってＦステージが増加し、データキャッシュミスによってメモリアクセス命令のＥステージが増加する。キャッシュミスに無関係な命令のパイプラインの各ステージに要する時間は変換しない。以上の考え方から、図４におけるＬ１キャッシュ完全ヒット状態の総実行時間Ｔｈ、この状態の各ステージに要する時間をＴｏとすると、これが実環境になると、Ｆステージの時間がＴｏから４０８のＴｒｆに増加し、Ｅステージの時間が４１０のＴｒｅに増加する。ＤステージとＣステージはキャッシュミスには無関係なのでＬ１キャッシュ完全ヒット時と変わらない。
【００１９】
図５に示す式５０１は、図４の実環境状態４０２の総実行時間を、各パイプラインステージに要する時間によって現したものである。総実行時間Ｔｒは、Ｆステージに要する時間Ｔｒｆ（５０２）とデータキャッシュミスによってＥステージが増加するロード命令ＬＤとストア命令ＳＴのＥステージに要する時間Ｔｒｅｍ（５０３）と、ＬＤ、ＳＴ命令以外の命令のＥステージに要する時間Ｔｒｅｏ（５０４）と、キャッシュミスに無関係なＦステージ、Ｅステージ以外に要する時間Ｔｒｎｆｅ（５０５）の総和で表すことができる。
【００２０】
ここで、実行時間が増加したＦステージの時間５０２とＬＤ，ＳＴ命令のＥステージの時間５０３は、キャッシュミス率と、Ｌ１キャッシュ完全ヒット時の各パイプラインステージに時間Ｔｏを用いて求めることができる。図６、図７はこの求め方を示したものである。
【００２１】
６０１は、実環境４０２におけるＦステージに要する時間の期待値を表している。６０６、６０７、６０８はそれぞれＬ１キャッシュ、Ｌ２キャッシュ、主記憶から命令をフェッチする場合のサイクル数を表している。Ｌ１キャッシュ完全ヒット時は各命令１サイクルでＦステージを終了するので、６０６、６０７、６０８の和にＴｏを掛けたものが、キャッシュミスがある場合のＦステージに要する時間の期待値となる。
【００２２】
６０２はデータキャッシュミスを考慮したときの、ＬＤ，ＳＴ命令のＥステージに要する時間の期待値を表している。考え方は６０１と同じだが、６０２では６２５に示す全命令に対するＬＤ，ＳＴ命令の割合Ｍを掛けている。
【００２３】
６０３はキャッシュミスには無関係なステージに要する時間なので、これに要する時間は、元々のＥステージの時間Ｔｏに、ＬＤ、ＳＴ命令以外の命令の割合をかけて求める。
【００２４】
６０４はＦステージ、Ｅステージ以外のステージに要する時間であり、キャッシュミスによって要する時間は増加しない。したがって、ＴｏにＦ、Ｅステージ以外のステージ数を掛けたものが、実行時間となる。
【００２５】
なお、６０１〜６０４で使用している各キャッシュ、主記憶から命令およびデータのフェッチ率は、図７に示す式により求める。
【００２６】
以上の図３〜図７で説明したＬ１キャッシュ完全ヒット状態と実環境の状態を関係付けるためのＭＰＵのモデルを、本発明のＭａｃｒｏＨｉｔＭｏｄｅｌと呼ぶ。図３〜図７に示すＭａｃｒｏＨｉｔＭｏｄｅｌを用いて、ヒット状態への変換処理１０２、新システムへの変換処理１０４と２０１の基本的な考え方を示した。以下では図３〜図７を適用して新システムの性能を予測できることを示す。
【００２７】
まずヒット状態への変換処理１０２について説明する。１０２においてヒット状態の性能を求めるには、図５の５０１を用いる。５０１においてＴｒは実環境における実行時間であり、これは１０２の処理における、既存システムの実行時間である。これは１０２の入力される値である。次に５０１の右辺は、前述のように図６、図７によって表すことができる。式６０１〜６０４におけるＴｏは、１０２におけるＬ１完全ヒット状態の性能であり、未知の値である。Ｔｏ以外の値は、全てアーキテクチャによって決まった値かまたは、既存システムにおいて実測した値であり、１０２には入力パラメータとして与えられる値である。したがって、未知数はＴｏだけであり、式５０１から既存システムにおけるＬ１完全ヒット状態の実行時間Ｔｏを求めることができる。
【００２８】
次に新システムへの変換処理１０４について説明する。１０４において新システムの性能を求めるには、図５の５０１を用いる。５０１においてＴｒは新システムの性能であり、これが最終的に求めたい新システムの予測性能である。５０１の右辺は、ヒット状態への変換処理１０２の場合と同様に、図６、図７によって表すことができる。式６０１〜式６０４におけるＴｏは、新システムにおけるＬ１完全ヒット状態の実行時間である。ここで変換処理１０４への入力パラメータには、ヒット状態への変換処理１０２で求めた既存システムのＬ１完全ヒット状態の実行時間が与えられているので、この値に、既存システムと新システムの周波数比を掛けたものが新システムのＬ１完全ヒット状態の実行時間となる。これはＬ１完全ヒット状態であれば、全命令がＭＰＵの周波数で実行されるので周波数に比例して応じて性能が向上するという考えに基づいている。
【００２９】
以上より、新システムへの変換処理１０４ではＴｏは既知の値である。またそれ以外の値のうち、各キャッシュ、主記憶からの命令およびデータのフェッチ率や、ＬＤ，ＳＴ命令の比率６２５は、新システムにおける予測値を用いる。それ以外の値はアーキテクチャによって決まった値を用いる。
【００３０】
以上より式５０１の左辺は全て１０４に入力されるパラメータより求めることができるため、５０１における未知数は、左辺の新システムの性能を表すＴｒだけなので、これは計算により求めることができる。
【００３１】
新システムへの変換処理２０１は、新システムへの変換処理１０４と同様に、式５０１の左辺のＴｒを求めることができる。ただし２０１への入力が新システムのＬ１完全ヒット状態の性能の場合、１０４の場合のように、周波数比倍する必要はない。
【００３２】
【発明の効果】
本発明によれば、既存システムにおいて実測した実行時間と、実測したキャッシュミス率、既存システムのアーキテクチャパラメータと、新システムの予測キャッシュミス率とアーキテクチャパラメータを求めるだけで、シミュレータ開発のような工数を掛けることなく、新システムの性能を予測することができる。
【図面の簡単な説明】
【図１】性能予測方法の第一の例を示す図である。
【図２】性能予測方法の第二の例を示す図である。
【図３】Ｌ１キャッシュ完全ヒット時のＭＰＵのパイプラインモデルの一例を示す図である。
【図４】Ｌ１キャッシュ完全ヒット状態から実環境状態への変換方法の一例を示す図である。
【図５】実環境における実行時間の内訳を示す図である。
【図６】図５に示す各項の計算方法を示す図である。
【図７】図６に示す各項の計算方法を示す図である。
【符号の説明】
１０１…既存システムの性能
１０２…ヒット状態への変換処理
１０３…Ｌ１キャッシュ完全ヒット状態の性能
１０４…新システムへの変換処理
１０５…新システムの性能
２０１…本発明の第二の例における新システムへの変換処理
【図１】
2004227204.tif 000003
【図２】
2004227204.tif 000004
【図３】
2004227204.tif 000005
【図４】
2004227204.tif 000006
【図５】
2004227204.tif 000007
【図６】
2004227204.tif 000008
【図７】
2004227204.tif 000009