(57)【要約】【課題】  ユーザ側で意識することなく、自動的に最適なメモリアクセス方式を選択できる分散共有メモリ装置およびメモリアクセス方法を提供する。【解決手段】  レイテンシ測定部１２１が、メモリアクセスレイテンシを算出し、ローカルメモリレイテンシとリモートメモリレイテンシを別々に算出し、さらにインタリーブ構成時のレイテンシを予測し、アクセス頻度測定部１２３が、メモリアクセス要求の回数を計測・記録し、ローカルメモリアクセス頻度とリモートメモリアクセス頻度を別々に算出し、システム制御装置１１６が、スタック構成とインタリーブ構成を切り替え、スタック構成時の平均レイテンシとインタリーブ構成時の予測平均レイテンシを算出する。【選択図】  図１
2006235761.tif 000002
【特許請求の範囲】
【請求項１】
分散共有メモリ装置において、
メモリアクセスに要した時間を計測することで、メモリアクセスレイテンシを算出する手段と、
メモリアクセスの発生元と行き先をチェックすることでローカルメモリレイテンシとリモートメモリレイテンシを別々に算出する手段と、
インタリーブ構成時のレイテンシを予測する手段と、を備えるレイテンシ測定部と、
システム制御装置を経由するメモリアクセス要求の回数を計測・記録する手段と、
メモリアクセスの発生元と行き先をチェックすることで、ローカルメモリアクセス頻度とリモートメモリアクセス頻度を別々に算出する手段と、を備えるアクセス頻度測定部と、
スタック構成とインタリーブ構成を切り替える手段と、
前記レイテンシ測定部と前記アクセス頻度測定部のデータをもとに、スタック構成時の平均レイテンシとインタリーブ構成時の予測平均レイテンシを算出する手段と、を備えるシステム制御装置と、を有することを特徴とする分散共有メモリ装置。
【請求項２】
スタック構成時の平均レイテンシとインタリーブ構成時の予測平均レイテンシを比較することで、システム上で実行されている処理に適したメモリアクセス方式を判断する手段をさらに備えることを特徴とする請求項１記載の分散共有メモリ装置。
【請求項３】
前記メモリアクセス方式を判断する手段の判断に基づきメモリアクセス方式を自動的に変更する手段をさらに備えることを特徴とする請求項２記載の分散共有メモリ装置。
【請求項４】
レイテンシ測定部が、メモリアクセスに要した時間を計測することで、メモリアクセスレイテンシを算出するステップと、
メモリアクセスの発生元と行き先をチェックすることでローカルメモリレイテンシとリモートメモリレイテンシを別々に算出するステップと、
インタリーブ構成時のレイテンシを予測するステップと、を有し、
アクセス頻度測定部が、システム制御装置を経由するメモリアクセス要求の回数を計測・記録するステップと、
メモリアクセスの発生元と行き先をチェックすることで、ローカルメモリアクセス頻度とリモートメモリアクセス頻度を別々に算出するステップと、を有し、
システム制御装置が、スタック構成とインタリーブ構成を切り替えるステップと、
前記レイテンシ測定部と前記アクセス頻度測定部のデータをもとに、スタック構成時の平均レイテンシとインタリーブ構成時の予測平均レイテンシを算出するステップと、を有することを特徴とするメモリアクセス方法。
【請求項５】
スタック構成時の平均レイテンシとインタリーブ構成時の予測平均レイテンシを比較することで、システム上で実行されている処理に適したメモリアクセス方式を判断するステップをさらに有することを特徴とする請求項４記載のメモリアクセス方法。
【請求項６】
前記メモリアクセス方式を判断する手段の判断に基づきメモリアクセス方式を自動的に変更するステップをさらに有することを特徴とする請求項５記載のメモリアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一つ以上のプロセッサと主記憶装置を有するノードを複数そなえたシステムにおける分散共有メモリ装置およびメモリアクセス方法に関する。
【背景技術】
【０００２】
従来、一つ以上のプロセッサと主記憶装置を有するノードを複数そなえたシステムが提案されている。
【０００３】
このようなシステムにおいては、各ノードの主記憶をスタックして装置の主記憶空間を形成するか、各ノードの主記憶装置間でインタリーブを行ない主記憶空間を形成している。
【０００４】
これら２つのメモリアクセス方式はどちらか一方が優れているというわけではなく、システム上で実行される処理に応じて、メモリアクセス方式を選択しなければならなかった。
【０００５】
ここで、一以上のプロセッサと主記憶装置を有する複数個のノードでシステムを構成する分散共有メモリ装置に、ノード間インタリーブ制御部を備え、各ノードの主記憶装置間でインタリーブを行う分散共有メモリ装置とし、この分散共有メモリ装置において、同じ主記憶容量をもつ２のべき乗個のノードをグループ化し、これらのグループのアドレスレンジをスタックして主記憶空間を形成し、また、ノード間インタリーブ制御部に所定のレジスタを設け、ノード間のインタリーブの単位を、複数の候補から選択可能とすることで、一以上のプロセッサと主記憶装置を有する複数個のノードで構成されたシステムにおいて、複数ノードのプロセッサが同一のアドレスレンジに対してアクセスを行なう場合でも、複数のノードの主記憶にアクセスを分散することを可能とする技術が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−２１６４８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来例においては次のような問題点があった。
【０００７】
ある処理に対してどちらの方式が適しているかを判断するにはソフトウェアとハードウェアの専門的な知識を必要とし、さらに場合によってはソフトウェアの詳細情報が開示されていない場合もあるため、ユーザがこの判断を行なうことは非常に困難であった。
【０００８】
また、メモリアクセス方式が固定されているため、ユーザがメモリアクセス方式に合わせてソフトウェアの開発を行なわなければならなかった。
【０００９】
さらに、メモリアクセス方式を変更できても、どの方式が適しているのか判断することが困難であった。
【００１０】
そこで、本発明は、ユーザ側で意識することなく、自動的に最適なメモリアクセス方式を選択できる分散共有メモリ装置およびメモリアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１記載の発明は、分散共有メモリ装置において、メモリアクセスに要した時間を計測することで、メモリアクセスレイテンシを算出する手段と、メモリアクセスの発生元と行き先をチェックすることでローカルメモリレイテンシとリモートメモリレイテンシを別々に算出する手段と、インタリーブ構成時のレイテンシを予測する手段と、を備えるレイテンシ測定部と、システム制御装置を経由するメモリアクセス要求の回数を計測・記録する手段と、メモリアクセスの発生元と行き先をチェックすることで、ローカルメモリアクセス頻度とリモートメモリアクセス頻度を別々に算出する手段と、を備えるアクセス頻度測定部と、スタック構成とインタリーブ構成を切り替える手段と、レイテンシ測定部とアクセス頻度測定部のデータをもとに、スタック構成時の平均レイテンシとインタリーブ構成時の予測平均レイテンシを算出する手段と、を備えるシステム制御装置とを有することを特徴とする分散共有メモリ装置である。
【００１２】
請求項２記載の発明は、請求項１記載の分散共有メモリ装置において、スタック構成時の平均レイテンシとインタリーブ構成時の予測平均レイテンシを比較することで、システム上で実行されている処理に適したメモリアクセス方式を判断する手段をさらに備えることを特徴とする。
【００１３】
請求項３記載の発明は、請求項２記載の分散共有メモリ装置において、メモリアクセス方式を判断する手段の判断に基づきメモリアクセス方式を自動的に変更する手段をさらに備えることを特徴とする。
【００１４】
請求項４記載の発明は、レイテンシ測定部が、メモリアクセスに要した時間を計測することで、メモリアクセスレイテンシを算出するステップと、メモリアクセスの発生元と行き先をチェックすることでローカルメモリレイテンシとリモートメモリレイテンシを別々に算出するステップと、インタリーブ構成時のレイテンシを予測するステップとを有し、アクセス頻度測定部が、システム制御装置を経由するメモリアクセス要求の回数を計測・記録するステップと、メモリアクセスの発生元と行き先をチェックすることで、ローカルメモリアクセス頻度とリモートメモリアクセス頻度を別々に算出するステップと、を有し、システム制御装置が、スタック構成とインタリーブ構成を切り替えるステップと、レイテンシ測定部とアクセス頻度測定部のデータをもとに、スタック構成時の平均レイテンシとインタリーブ構成時の予測平均レイテンシを算出するステップと、を有することを特徴とするメモリアクセス方法である。
【００１５】
請求項５記載の発明は、請求項４記載のメモリアクセス方法において、スタック構成時の平均レイテンシとインタリーブ構成時の予測平均レイテンシを比較することで、システム上で実行されている処理に適したメモリアクセス方式を判断するステップをさらに有することを特徴とする。
【００１６】
請求項６記載の発明は、請求項５記載のメモリアクセス方法において、メモリアクセス方式を判断する手段の判断に基づきメモリアクセス方式を自動的に変更するステップをさらに有することを特徴とする。
【発明の効果】
【００１７】
本発明の分散共有メモリ装置およびメモリアクセス方法によれば、ユーザ側で意識することなく、自動的に最適なメモリアクセス方式を選択できる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の一実施の形態について図を参照して詳細に説明する。
【００１９】
図１を参照すると、本実施の形態における分散共有メモリ装置が示されている。
【００２０】
図１において、この分散共有メモリ装置は８つのノード１０１〜１０８で構成されている。
【００２１】
ノード内部の構成を、ノード１０１を用いて以下に説明する。
【００２２】
システム制御装置１１６が、システムバス１０９と接続されることで、他のノードとの通信を行なっている。
【００２３】
ノード内には１つ、または、複数のプロセッサが搭載されており、この構成例では４つのプロセッサ１１１〜１１４が搭載されている。
【００２４】
これらのプロセッサはプロセッサバス１１５を経由して、システム制御装置１１６に接続されている。ノードには主記憶装置１１７が搭載されており、システム制御装置１１６に接続されている。
【００２５】
システム制御装置１１６には、メモリアクセス方式にインタリーブ方式を用いる場合に使用されるノード間インタリーブ制御部１２１、メモリアクセス要求を発行してからデータを受け取るまでにかかった時間を記録するレイテンシ測定部１２２および自ノードの主記憶装置１１７へのアクセス回数と他ノードの主記憶装置へのアクセス回数を記録するアクセス頻度測定部１２３が搭載されている。
【００２６】
次に図１のシステム制御装置１１６の動作を図２に示すフローチャートを参照して説明する。
【００２７】
図１において、システム制御装置１１６には、ノード間インタリーブ制御部１２１が存在するが、初期設定ではこの制御部の設定はオフであり、主記憶空間はスタック構成になっているとする。
【００２８】
まず、プロセッサ１１１〜１１４からメモリアクセス要求が発生すると（ステップＳ１）、この要求はプロセッサバス１１５を経由してシステム制御装置１１６に到達する。
【００２９】
ここでシステム制御装置１１６は、メモリアクセス要求の行き先が自ノード（以下、「ローカル」という。）の主記憶装置１１７であるか、他ノード（以下、「リモート」という。）の主記憶装置であるかを判断する（ステップＳ２）。
【００３０】
行き先がローカルの主記憶装置１１７であった場合、ローカルの主記憶装置１１６にデータを要求する（ステップＳ３）。
【００３１】
また、このデータ要求を行なうと同時にレイテンシ測定部１２２のローカル用カウンタをスタートさせる（ステップＳ４）。
【００３２】
その後、データ要求への返答としてローカルの主記憶装置１１７のデータがシステム制御装置１１６に到着すると（ステップＳ５）、先にスタートさせたレイテンシ測定部１２２のローカル用カウンタをストップさせる（ステップＳ６）。
【００３３】
これにより、今回のメモリアクセスに要した時間（レイテンシ）分だけカウンタが進んだことになる。また、メモリアクセス回数を記録するために、アクセス頻度測定部１２３のローカル用カウンタを１インクリメントする（ステップＳ７）。
【００３４】
メモリアクセス要求の行き先がリモートの場合も同様な手順を踏む（ステップＳ３ａ〜Ｓ７ａ）。
【００３５】
上記の手順を繰り返し、システム上で実行されている処理の特性を判断するのに十分な時間が経過したとみなせたところで（ステップＳ８）、レイテンシの算出と比較を行なう。ローカルレイテンシは、レイテンシ測定部１２２のローカル用カウンタの数値をアクセス頻度測定部１２３のローカル用カウンタの数値で割ることで算出することができる（ステップＳ９）。
【００３６】
同様にしてリモートレイテンシの算出も行なう（ステップＳ１０）。
【００３７】
さらに、全ノードのレイテンシ測定部のローカル用とリモート用のカウンタ数値の全合計を、全ノードのアクセス頻度測定部のローカル用とリモート用のカウンタ数値の全合計で割ることで、平均のレイテンシを求めることができる（ステップＳ１１）。
【００３８】
このようにしてレイテンシを求めるが、システム上で実行されている処理の特性によっては、主記憶空間をスタックで構成した場合、特定のノードにメモリアクセスが集中することがある。この場合、特定の回路にアクセスが集中し処理が滞ることで、メモリアクセスのレイテンシが増大し処理性能が悪化する。一方、主記憶空間をインタリーブで構成した場合は、全ノードにメモリアクセスを分散させるため、スタック構成時のようなアクセス集中は発生せず、システムで実行されている処理の特性によらずレイテンシは一定となり、その数値を予め予測しておくことができる。このようにして予め予測したインタリーブ構成時レイテンシと、上述の算出したスタック構成時平均レイテンシを比較し（ステップＳ１２）、優劣を判断する（ステップＳ１３）。
【００３９】
その結果、インタリーブ構成のほうがレイテンシを短縮でき処理性能が改善すると推定できる場合、各ノードにあるノード間インタリーブ制御部を用いてインタリーブ構成に変更する（ステップＳ１４）。
【００４０】
上記の実施の形態によれば、システム側で適したメモリアクセス方式を判断するので、ソフトウェア側で分散共有メモリ方式向けに最適化する必要がない。
【００４１】
また、レイテンシにより定量的に比較しているので、メモリアクセス方式の適正判断の精度が高い。
【００４２】
また、各種のレイテンシデータを採取しているので、ソフトウェアを分散共有メモリ方式向けに最適化する際に役立てることができる。
【００４３】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上記の実施の形態におけるシステム制御装置１１６の機能を実現するためのプログラムを各部等に読込ませて実行することにより本システムの機能を実現する処理を行なってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるＣＤ−ＲＯＭまたは光磁気ディスク等を介して、または伝送媒体であるインターネット、電話回線等を介して伝送波により他のコンピュータシステムに伝送されてもよい。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態における分散共有メモリ装置の概略構成図である。
【図２】本発明の実施形態におけるシステム制御装置の処理動作を示すフローチャートである。
【符号の説明】
【００４５】
１０１〜１０８    ノード
１１６    システム制御装置
１０９    システムバス
１１１〜１１４    プロセッサ
１１５    プロセッサバス
１１６    システム制御装置
１１７    主記憶装置
１２１    ノード間インタリーブ制御部
１２２    レイテンシ測定部
１２３    アクセス頻度測定部
【図１】
2006235761.tif 000003
【図２】
2006235761.tif 000004