(57)【要約】【課題】大規模な演算結果データを、当該データを生成した計算サーバ以外の周辺サーバから参照する際のアクセス時間を短縮する。【解決手段】並列計算機システム１１３の並列ストレージシステム１１１を構成する総てのローカル接続ストレージ１１０に少なくとも２つの接続インタフェースを用意し、一方を並列計算機システム１１３を構成する各ノードに直結すると同時に、他方をストレージエリアネットワーク１１４に接続するように構成し、各々の接続インタフェース毎に独立のアドレスによってアクセス制御を行えるようにし、該２つの異なるアドレスの相互変換機構を該並列計算機システム１１３の並列ファイルシステム１０７内に設け、該並列ファイルシステム１０７を、ファイル共有ミドルウェア１０８のファイル格納場所問合せに対して、ストレージエリアネットワーク１１４側のアドレスを返答するように構成する。【選択図】  図１
2004199535.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機と、複数の接続インタフェースの各々が直接もしくはストレージ用ネットワークを介して前記複数の計算機にそれぞれ接続されるストレージシステムとを備えた計算機システムであって、
前記複数の計算機の内の第１の計算機は、前記ストレージシステムとの間でのみ定められるローカルな第１のストレージアドレスにより前記ストレージシステムをアクセスし、
第２の計算機は第１のストレージとは独自の第２のストレージアドレスにより前記ストレージシステムをアクセスし、
前記第１、第２の計算機は互いにファイルを共有するためのファイル共有手段を有するとともに、前記第１の計算機には第１のストレージアドレスと第２のストレージアドレスとの相互変換を行うアドレス変換処理部を有することを特徴とする計算機システム。
【請求項２】
前記第１の計算機は、前記ストレージシステムと直結形態で接続され、前記第１のストレージアドレスによってファイルを管理するローカルなファイルシステムを有し、該ファイルシステムを介して前記ストレージシステム上のデータアクセスを行い、
前記第２の計算機は、前記ストレージ用ネットワークを介して前記ストレージシステムと接続され、前記ファイル共用手段を介した通信により前記第１の計算機よりアクセス対象データの第２のストレージアドレスを取得して前記ストレージシステム上のデータアクセスを行う請求項１記載の計算機システム。
【請求項３】
前記アドレス変換処理部は前記第１の計算機のローカルなファイルシステム内に設けられ、該アドレス変換処理部には、前記ストレージシステムに格納するファイルのファイル名と第１のストレージアドレスと２のストレージアドレスとの組情報を管理するファイル管理表と、前記第２の計算機からのストレージアドレスの問い合わせに対して前記第２のストレージアドレスを返答するインタフェース手段とを備え、前記第１の計算機自身が前記ストレージをアクセスする際には前記ファイル管理表の組情報が示すアクセス対象ファイル名と第１のストレージアドレスの対応を用いてアクセスを実現し、前記第２の計算機が前記ストレージをアクセスする際には、前記第２の計算機からのストレージアドレスの問い合わせに対し、前記ファイル管理表の組情報が示すアクセス対象ファイル名と第２のスレージアドレスの対応を用いて指定すべき第２のストレージアドレスを取得し、前記インタフェース手段を介して前記第２の計算機に伝えることにより前記ストレージ用のネットワークを介したアクセスを実現させることを特徴とする請求項２記載の計算機システム。
【請求項４】
前記ストレージシステムが複数のストレージで構成される並列ストレージシステムであり、前記第１の計算機が複数の演算ノードからなる並列計算機システムであり、前記複数のストレージはそれぞれ２つ以上の接続インタフェースを有し、各ストレージは、前記２つ以上の接続インタフェースの内の１つの接続インタフェースによって前記第１の計算機の複数の演算ノードのいずれかと直結形態で接続され、他の一つの接続インタフェースは、第２の計算機に対して直結あるいはストレージ用ネットワークを介する形で接続され、前記アドレス変換処理手段は前記複数の演算ノードの少なくとも１つが有することを特徴とする請求項３の計算機システム。
【請求項５】
ノード間ネットワークで相互接続された複数の計算機ノードと、各々が前記複数の計算機ノードの内の対応するものにローカルに直結されたストレージ群を構成要素とする並列ストレージシステムとを有し、各計算機ノードに設けた並列ファイルシステムにより前記並列ストレージシステムに格納するファイルの管理を行う並列計算機システムであって、
前記並列ストレージシステムのストレージ群は、更に該並列ストレージシステムに格納されたファイルを利用する少なくとも１つの汎用サーバにストレージ用ネットワークを介して接続され、
もって該汎用サーバからは前記並列計算機システム内で用いる第１のストレージアドレスとは異なる前記ストレージ用ネットワークで一意に定められる第２のストレージアドレスの指定により前記ストレージシステムのデータアクセスが行われように構成された並列計算機システムにおけるストレージの管理方法であって、
ファイルを生成して前記並列ストレージシステムに格納する際に、格納対象ファイルのファイル名と第２のストレージアドレスとの組情報を作成して前記並列計算機システムの内部に保存し、
前記汎用サーバからアクセスするファイルのアドレスの問い合わせを受けた時には前記保存された組情報から該アクセスするファイルの第２のストレージアドレスを取得して前記汎用サーバに返送し、
もって、前記汎用サーバが前記並列ストレージシステム内のファイルのアクセスを該ファイルの第２のストレージアドレスの指定により実行できるようにしたことを特徴とする並列計算機システムのストレージシ管理方法。
【請求項６】
前記格納対象ファイルのファイル名と第２のストレージアドレスとの組情報は、前記並列計算機システムの複数の計算機ノードのうち格納対象ファイルを格納するストレージが直結された計算機ノードに保存することを特徴とする請求項５記載の並列計算機システムのストレージシ管理方法。
【請求項７】
前記格納対象ファイルのファイル名と第２のストレージアドレスとの組情報は、前記並列計算機の複数の演算計算機ノードの全てに保存することを特徴とする請求項５記載の並列計算機システムのストレージシ管理方法。
【請求項８】
ノード間ネットワークで相互接続された複数の計算機ノードと、各々が前記複数の計算機ノードの内の対応するものにローカルに直結され、全体で並列ストレージシステムとして管理されるストレージ群とを有する並列計算機システムと、
前記並列ストレージシステムに格納されるデータを利用する汎用サーバとを含む計算機システムであって、
前記並列計算機の複数の計算機ノードの内の少なくとも１つの計算機ノードがストレージ用ネットワークに接続され、
さらに該ストレージ用ネットワークには前記汎用サーバと、前記汎用サーバで利用すべきデータを保存するための共有ストレージとが接続され、
前記ストレージ用ネットワークに接続された計算機ノードには、前記汎用サーバで利用すべきデータを前記並列ストレージシステムから読み出して前記共有ストレージに格納する手段を有し、
もって前記汎用サーバが前記ストレージ用ネットワークに格納されるデータを利用することを可能にした計算機システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ストレージシステムの構成方法および運用管理方法に係わり、詳しくは、複数の計算機システム間で当該ストレージシステムを介したデータ共有を実現する手段に関する。
【０００２】
【従来の技術】
並列計算機システムは、科学技術分野の大規模計算処理に適用されることが多い。この大規模計算は、並列計算機ステムによって高速に処理されると共に、多量の計算結果データを生成する。このようなアプリケーション特性ゆえに、並列計算機システムに対しては、上記計算を高速に処理するだけではなく、多量の計算結果データを高速にストレージに保存することも求められる。この要求を満たすために、並列計算機システムに対しては、高速なストレージアクセスを実現するための大規模な並列ストレージシステムが装備される。
【０００３】
上記並列ストレージシステムは、並列計算機システムを構成する複数の演算ノードの全部あるいは一部が直結形態で接続して有するストレージ群の集合体であり、並列ファイルシステムなどのソフトウェア手段を介して、相互連携して高性能アクセスを実現する。このような構成をとるため、この並列ストレージシステムは基本的には組み合わせられる並列計算機システム専用のストレージシステムとなる。
【０００４】
一方、この多量の計算結果データは、上記並列計算機システム以外の計算機システムからも参照されるべきデータである。例えば、この計算結果データを用いてコンピュータグラフィック処理を行い、データを可視化して計算実行者による計算結果解釈を補助するようなケースが考えられる。このようなケースでは、コンピュータグラフィック処理専用の計算機システムが用いられるのが現状一般的であり、そのため、コンピュータグラフィック処理専用の計算機システムが上記計算結果データを参照する必要がある。
【０００５】
従来は、図５、図６、図９に示したネットワークファイルシステム（ＮＦＳ）を利用した方法によって上記の要請が満たされていた。図５は、本方法が前提とするシステム構成を示す。これは、一般的なシステム構成であるが、並列計算機システム１１３と当該並列計算機システム１１３が生成する計算結果データを参照する汎用サーバ１１６がローカルエリアネットワーク１１５で結合されている。並列計算機システム１１３は、ノード間ネットワーク１１２で相互に結合される複数のノード１０９およびノード１１７を有する。その複数のノード１０９およびノード１１７の内、少なくとも１つのノード１１７がローカルエリアネットワーク１１５に接続されることで、並列計算機システム１１３とローカルエリアネットワーク１１５の結合は実現されている。また、各ノード１０９およびノード１１７は、それぞれローカル接続ストレージ１１０に直結する。さらに、各ノード１０９およびノード１１７上には、上記複数のローカル接続ストレージ１１０を並列ストレージシステム１１１として運用・管理するための並列ファイルシステム１０７が稼動している。この並列ファイルシステム１０７は、それぞれ、ファイルアクセス処理を実行・管理するためのアドレス参照部５０４を有し、当該アドレス参照部５０４は、それぞれ並列ストレージシステム１１１上におけるファイルの所在を管理するためのファイル管理テーブル５０３を保持する。ファイル管理テーブル５０３は、複数のテーブルエントリ５０２で構成され、それぞれのテーブルエントリ５０２で、少なくともファイル名１０１とローカルアドレスリスト１０２の組情報を保持する。
【０００６】
ローカルエリアネットワーク１１５に接続する並列計算機システム１１３のノード１１７と、汎用サーバ１１６上には、当該計算機システム間でファイル共有を実現するためのネットワークファイルシステム５０１が稼動している。このネットワークファイルシステム５０１は、ＵＮＩＸ（登録商標）  ＯＳなどで採用されている一般的なソフトウェアである。
【０００７】
次に、図９は、図５の並列計算機システム１１３内での並列ストレージシステム１１１上のファイルに対するアクセスフローを示している。ここで、ノードＡは、ファイルアクセス要求元ノードであり、ノードＢ、ノードＣは、当該ファイルが分割されて格納されているローカル接続ストレージ１１０に直結しているノードである。なお、本例では簡単のためファイルが２分割されている事例で説明を行うが、ファイル分割数に特段の制約は無い。
【０００８】
まず、動作２０１に示すとおり、ノードＡ上で動作する何らかのプロセスが、同ノードＡ上で動作する並列ファイルシステム１０７に対してファイルアクセス要求を出す。ノードＡ上の並列ファイルシステム１０７は、アドレス参照部５０４の動作により、ファイル管理テーブル５０３を参照し、アクセスされたファイルのファイル名をキーとして各テーブルエントリ５０２をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ５０２を参照し、ファイルの管理元ノードを検出する（動作２０２）。そして、動作２０３のとおり、ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７に対して、並列にファイルアクセス要求を伝える。要求を受けたノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７では、それぞれアドレス参照部５０４が動作して、ファイル管理テーブル５０３を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ５０２をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ５０２について、ローカルアドレスリスト１０２を取得する（動作９０１）。さらに動作２０５のとおり、それぞれ取得したアドレスを元にローカル接続ストレージ１１０をアクセスする。以降、アクセス種類が読出しの場合、動作が継続し、動作２０６のとおり、当該アクセス結果を受け取る。ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７は、動作２０７のとおり、このアクセス結果をノードＡ内の並列ファイルシステム１０７に集約し、さらに、ノードＡ内の並列ファイルシステム１０７は、動作２０８のとおり、その集約されて１つになったファイルをファイルアクセス元のノードＡ内プロセスに引き渡す。以上の動作中、総てのノード間のやり取りと、ファイルアクセスタイプが書込みの場合の動作２０３ならびにファイルアクセスタイプが読出しの場合の動作２０７におけるファイルデータの転送は、ノード間ネットワーク１１２を介して行われる。
【０００９】
続いて図６では、本題である並列計算機システム１１３と汎用サーバ１１６間でのファイル共有に係わる処理動作を示す。ここで、図９の時と同様に、ノードＢ、ノードＣは、当該共有されるファイルが分割されて格納されているローカル接続ストレージ１１０に直結しているノードである。
【００１０】
まず、動作６０１に示すとおり、汎用サーバ１１６上で動作する何らかのプロセスが、同サーバ上で動作するネットワークファイルシステム５０１に対してファイルアクセス要求を出す。汎用サーバ１１６上のネットワークファイルシステム５０１は、当該ファイルが並列計算機システム１１３が管理するファイルであると判定した後、並列計算機システム１１３のノード１１７上で動作するネットワークファイルシステム５０１に対して、当該ファイルアクセス要求を伝える。要求を受け取ったノード１１７上のネットワークファイルシステム５０１は、当該ファイルを実際に管理しているノード１１７上で稼動する並列ファイルシステム１０７に同要求を伝える。当該ノード１１７上の並列ファイルシステム１０７は、アドレス参照部５０４の動作により、ファイル管理テーブル５０３を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ５０２をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ５０２を参照し、ファイルの管理元ノードを検出し（動作６０２）、動作６０３のとおり、ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７に対して、並列にファイルアクセス要求を伝える。要求を受けたノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７では、それぞれアドレス参照部５０４が動作して、ファイル管理テーブル５０３を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ５０２をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ５０２について、ローカルアドレスリスト１０２を取得する（動作６０４）。さらに動作６０５のとおり、それぞれ取得したアドレスを元にローカル接続ストレージ１１０をアクセスする。以降、アクセス種類が読出しの場合、動作が継続し、ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７は、動作６０６のとおり、このアクセス結果をノード１１７内の並列ファイルシステム１０７に集約し、さらに、ノード１１７内の並列ファイルシステム１０７は、動作６０７のとおり、その集約されて１つになったファイルをノード１１７上のネットワークファイルシステム５０１に引き渡す。さらに、同ファイルは、動作６０８のとおり、ローカルエリアネットワーク１１５を経由して汎用サーバ１１６内ネットワークファイルシステム５０１に転送され、動作６０９でファイルアクセス元の汎用サーバ１１６内プロセスに引き渡される。以上の動作中、並列計算機システム１１３内部での動作については、総てのノード間のやり取りと、ファイルアクセスタイプが書込みの場合の動作６０３ならびにファイルアクセスタイプが読出しの場合の動作６０６におけるファイルデータの転送は、ノード間ネットワーク１１２を介して行われる。一方、汎用サーバ１１６と並列計算機システム１１３のノード１１７との間のやり取りとファイルアクセスタイプが書込みの場合の動作６０１内汎用サーバ１１６からノード１１７へのファイルアクセス要求伝達部動作ならびにファイルアクセスタイプが読出しの場合の動作６０８におけるファイルデータの転送はローカルエリアネットワーク１１５を介して行われる。
【００１１】
従来技術のもう一つの事例として、図７、図８、図１０、図１１で示すストレージエリアネットワークを利用した方法が考えられる。図７は、本方法が前提とするシステム構成を示す。先に説明した図５の構成に類似しているが、以下の５点が主に異なっている。
（１）ストレージエリアネットワーク７０１が存在する点、
（２）並列計算機システム７０８と並列ストレージシステム７０３がストレージエリアネットワーク７０１を介して接続されている点、
（３）汎用サーバ１１６がストレージエリアネットワーク７０１を介して並列ストレージシステム７０３に直接アクセス可能な点、
（４）ノード１０９およびノード１１７上で稼動する並列ファイルシステム１０７のアドレス参照部７０７が管理するファイル管理テーブル７０６のテーブルエントリ７０５が保持する情報の内、アドレス情報がストレージエリアネットワーク７０１上で一意に定まるＳＡＮアドレスのリスト７０４となっている点、
（５）ファイル共有を実現するために、汎用サーバ１１６とノード１１７でそれぞれファイル共有ミドルウェア１０８が稼動している点。
【００１２】
以下、本システム構成について説明を行う。図５と同様に、並列計算機システム７０８は、当該並列計算機システム７０８が生成する計算結果データを参照する汎用サーバ１１６とローカルエリアネットワーク１１５で結合されている。並列計算機システム７０８は、ノード間ネットワーク１１２で相互に結合される複数のノード１０９およびノード１１７を有する。その複数のノード１０９およびノード１１７の内、少なくとも１つのノード１１７がローカルエリアネットワーク１１５に接続されることで、並列計算機システム１１３とローカルエリアネットワーク１１５の結合は実現されている。また、各ノード１０９およびノード１１７は、それぞれストレージエリアネットワーク７０１に接続されている。さらに、同ストレージエリアネットワークには、上記各ノード１０９およびノード１１７のそれぞれに対応して当該各ノード１０９およびノード１１７が専有使用するための複数のストレージ７０２が接続されている。各ノード１０９およびノード１１７上には、上記複数のストレージ７０２を並列ストレージシステム７０３として運用・管理するための並列ファイルシステム１０７が稼動している。この並列ファイルシステム１０７は、それぞれ、ファイルアクセス処理を実行・管理するためのアドレス参照部７０７を有し、当該アドレス参照部７０７は、それぞれ並列ストレージシステム７０３上におけるファイルの所在を管理するためのファイル管理テーブル７０６を保持する。ファイル管理テーブル７０６は、複数のテーブルエントリ７０５で構成され、それぞれのテーブルエントリ７０５で、少なくともファイル名１０１とストレージエリアネットワーク７０１上で一意に定められるＳＡＮアドレスのリスト７０４の組情報を保持する。
【００１３】
ストレージエリアネットワーク７０１には、さらに、汎用サーバ１１６が接続する。これによって、汎用サーバ１１６は並列ストレージシステム７０３に直接アクセスが可能となる。ただし、これはハードウェア的に繋がっているだけであって、このままでは並列計算機システム７０８と汎用サーバ１１６間でのファイル共有は実現されない。当該計算機システム間でファイル共有を実現するために、ローカルエリアネットワーク１１５に接続する並列計算機システム７０８のノード１１７と、汎用サーバ１１６上には、ファイル共有ミドルウェア１０８が稼動している。このファイル共有ミドルウェア１０８は、一般的なサーバ間でＳＡＮを介したファイル共有を実現する手段として広く利用されている一般的なソフトウェアである。
【００１４】
次に、図８は、図９と同様、図７の並列計算機システム７０８内での並列ストレージシステム７０３のファイルに対するアクセスフローを示している。図９と同様、ノードＡは、ファイルアクセス要求元ノードであり、ノードＢ、ノードＣは、当該ファイルが分割されて格納されているストレージ７０２を専有使用するノードである。なお、本例では簡単のためファイルが２分割されている事例で説明を行うが、ファイル分割数に特段の制約は無い。
【００１５】
まず、動作２０１に示すとおり、ノードＡ上で動作する何らかのプロセスが、同ノードＡ上で動作する並列ファイルシステム１０７に対してファイルアクセス要求を出す。当該ノードＡ上の並列ファイルシステム１０７は、アドレス参照部７０７の動作により、ファイル管理テーブル７０６を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ７０５をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ７０５を参照し、ファイルの管理元ノードを検出し（動作２０２）、動作２０３のとおり、ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７に対して、並列にファイルアクセス要求を伝える。要求を受けたノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７では、それぞれアドレス参照部７０７が動作して、ファイル管理テーブル７０６を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ７０５をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ７０５について、ＳＡＮアドレスリスト７０４を取得する（動作８０１）。さらに動作８０２のとおり、それぞれ取得したアドレスを元にストレージエリアネットワーク（ＳＡＮ）７０１を介して専有使用するストレージ７０２をアクセスする。以降、アクセス種類が読出しの場合、動作が継続し、動作８０３のとおり、当該アクセス結果をストレージエリアネットワーク７０１を介して受け取る。ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７は、動作２０７のとおり、このアクセス結果をノードＡ内の並列ファイルシステム１０７に集約し、さらに、ノードＡ内の並列ファイルシステム１０７は、動作２０８のとおり、その集約されて１つになったファイルをファイルアクセス元のノードＡ内プロセスに引き渡す。以上の動作中、総てのノード間のやり取りと、ファイルアクセスタイプが書込みの場合の動作２０３ならびにファイルアクセスタイプが読出しの場合の動作２０７におけるファイルデータの転送は、ノード間ネットワーク１１２を介して行われる。
【００１６】
続いて図１０では、本題である並列計算機システム７０８と汎用サーバ１１６間でのファイル共有に係わる処理動作を示す。ここで、図８の時と同様に、ノードＢ、ノードＣは、当該ファイルが分割されて格納されているストレージ７０２を専有使用するノードである。
【００１７】
まず、動作３０１に示すとおり、汎用サーバ１１６上で動作する何らかのプロセスが、同サーバ上で動作するファイル共有ミドルウェア１０８に対してファイルアクセス要求を出し、同汎用サーバ１１６上のファイル共有ミドルウェア１０８は、動作３０２で当該ファイルが並列計算機システム７０８によって管理されているファイルであると判定した後、並列計算機システム７０８のノード１１７上で動作するファイル共有ミドルウェア１０８に対して当該ファイルの格納場所（ＳＡＮアドレスリスト）を問い合わせる。要求を受け取ったノード１１７上のファイル共有ミドルウェア１０８は、動作３０３で当該ファイルを実際に管理しているノード１１７上で稼動する並列ファイルシステム１０７に同要求を伝える。当該ノード１１７上の並列ファイルシステム１０７は、アドレス参照部７０７の動作により、ファイル管理テーブル７０６を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ７０５をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ７０５を参照し、ファイルの管理元ノードを検出し（動作３０４）、動作３０５のとおり、ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７に対して、並列に当該ファイルの格納場所（ＳＡＮアドレスリスト）問合せ要求を伝える。要求を受けたノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７では、それぞれアドレス参照部７０７が動作して、ファイル管理テーブル７０６を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ７０５をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ７０５について、ＳＡＮアドレスリスト７０４を取得する（動作１００１）。さらにノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７は、動作３０７のとおり、それぞれ取得したＳＡＮアドレスリストをノード１１７内の並列ファイルシステム１０７に集約し、さらに、動作３０８のとおり、ノード１１７内の並列ファイルシステム１０７は、その集約されたＳＡＮアドレスリストをノード１１７上のファイル共有ミドルウェア１０８に引き渡す。同アドレスリストは、ローカルエリアネットワーク１１５を経由して汎用サーバ１１６内ファイル共有ミドルウェア１０８に転送される。次に、汎用サーバ１１６内ファイル共有ミドルウェア１０８は、図１１に示す動作１００２によって、受け取ったＳＡＮアドレスリストを元に、ストレージエリアネットワーク７０１を介して本来ノードＢおよびノードＣが専有使用している複数のストレージ７０２から順次分割されたファイル断片を読出し（動作１１０１）、読出し結果をストレージエリアネットワーク７０１を介して受取り（動作４０２）、これらを統合して１個のファイルとしてファイルアクセス元の汎用サーバ１１６内プロセスに引き渡す（動作３１０）。
なお、別々のコンピュータ（例えばホストコンピュータとそれに対するバックアップコンピュータ）がストレージエリアネットワーク上のファイルの共有を実現する構成を特許文献１は開示している。この例は、ファイルを共用する別々のコンピュータに同一のファイルシステムを構成しておくという解決をとるもので、固有のファイルシステムをもつ並列計算機システムのデータを汎用サーバで利用するという運用形態に適用できる解決は示さない。
【特許文献１】
特開２００１−７５８７２
【００１８】
【発明が解決しようとする課題】
並列計算機システムが生成した計算結果データ（ファイル）の周辺計算機システムからの参照については、従来のネットワークファイルシステムを利用した図５の方法によると、相互参照のために共有するファイルの周辺計算機システムからのアクセスがローカルエリアネットワーク１１５を経由することとなり、この部分のデータ転送能力の低さが問題となる。
【００１９】
また、一般的なサーバ間でも同様に発生するこの問題を解消する手段としてのストレージエリアネットワークを利用した図７の方法については、百台以上のノードを有する並列計算機システムに適用する場合、百台のノード１０９対百台のストレージ７０２を相互結合し、かつ、並列計算機システムが要求するだけのストレージアクセスバンド幅を確保するためには、ストレージエリアネットワーク７０１のハードウェア規模が大きくなり、高価過ぎるという問題が生じる。
【００２０】
本発明の一つの目的は、並列計算機システムが専用管理する毛入れたストレージシステム内のデータを、安価な構成のストレージ用ネットワーク経由で他の計算機が高速に参照できるで計算機システムもしくはそのストレージシステムの管理方法を提供することにある。
【００２１】
【課題を解決するための手段】
本発明で開示される代表的実施形態の特徴は、ストレージシステムに２つ以上の接続インタフェースを設け、各々の接続インタフェースを異なる計算機システムに対して直結あるいはストレージ用ネットワークを介する形で接続し、各々の接続インタフェース毎に独立のアドレスによってアクセス制御を行えるようにし、該２つ以上の異なるアドレスの相互変換機構を設けることで、該異なるアドレスで該ストレージシステムをアクセスする該２つ以上の計算機システム間でデータを共有する手段を提供した点にある。より詳しくは、上記２つ以上の計算機システムの１つを該ストレージシステムと直結形態で接続し、かつ、その計算機システムとストレージシステム間でのみ定められるローカルなアドレスによって、当該計算機システム上のローカルなファイルシステムを介して当該ストレージシステム上のデータアクセスを行わせるようにし、他の１つの計算機システムを、ストレージ用ネットワークを介して該ストレージシステムと接続し、かつ、前記ローカルなアドレスとは異なる該ストレージ用ネットワークで一意に定められるストレージアドレスを用いて、該ストレージシステム上のデータアクセスを行なわせるように構成し、さらには、上記のストレージシステムと直結形態で接続される計算機システム上のローカルなファイルシステムに上記アドレスの相互変換機構を備える。
アドレスの相互変換について更に詳しく述べると、上記ローカルなファイルシステムには、少なくともファイル名、ローカルアドレス、当該ローカルアドレスに対応する上記ストレージ用ネットワークで一意に定まるストレージアドレスの組情報を管理するファイル管理表を有し、また、上記直結する計算機システム外部からのストレージアドレス問い合わせに対して、上記ストレージ用ネットワークで一意に定まるストレージアドレスを返答するインタフェース機能を有し、上記直結する計算機システム自身が当該ストレージシステムをアクセスする際には、該組情報の内、ファイル名とローカルアドレスの組情報を用いてこれを実現し、直結する計算機システム以外の計算機システムがストレージ用ネットワークを介して当該ストレージシステムをアクセスする際には、該組情報の内、ファイル名と該ストレージ用ネットワークで一意に定まるストレージアドレスの組情報を用いてアクセス先ストレージアドレス情報を得て、これをアクセス元計算機システムに伝え、当該アクセス元計算機システムに当該ストレージアドレスを用いて当該ストレージシステムをアクセスさせるように構成する。
典型的には、上記ストレージに直結する計算機システムは複数計算機ノードお有する並列計算機システムであり、その各ノードに直結するストレージが上記のアクセス対象のストレージシステムを構成する。各ストレージは上記とは別にストレージエリアネットワークを介して汎用サーバに接続される。上記ストレージシステムは各計算機ノードに備えた並列ファイルシステムで管理される。上記したアドレスの相互変換機構は、該複数のノードの少なくとも１つに設ける形で構成する。
さらに、別の実施形態の特徴は、該複数の計算機ノードの全部あるいは一部のそれぞれが１つ以上のストレージを直結し、該ストレージ群が並列ストレージシステムとして構成・管理される並列計算機システムの内の少なくとも１つの計算機ノードをストレージ用ネットワークに接続し、該ストレージ用ネットワークに、さらに少なくとも該並列計算機システム以外の計算機システム、および該計算機システムと並列計算機システムの間で共有するデータを保存するための共有ストレージを接続し、該ストレージ用ネットワークに接続される該並列計算機システムの計算機ノードが、必要に応じて該並列計算機システムと該並列計算機システム以外の計算機システムとの間で共有すべきデータを適時該並列ストレージシステムから読出し、該データを該共有ストレージに格納する手段を設け、該並列計算機システム以外の計算機システムが当該共有ストレージに格納されたデータを読み出す手段を設ける。
【００２２】
【発明の実施の形態】
（第１の実施の形態）
本発明の第１の実施の形態を図１、図２、図３、図４を用いながら説明する。図１は、本発明に係わるシステム全系の概略構成を示す。また、図２、図３、図４は、本システムにおけるファイルアクセスのフローを説明する図である。
【００２３】
図１は、従来の技術として示した図７の構成に類似しているが、以下の３点が主に異なっている。
（１）並列ストレージシステム１１１と並列計算機システム１１３の接続方法。より具体的には、並列ストレージシステム１１１を構成する各ストレージが図５で示した構成と同様に、並列計算機システム１１３の各ノード１０９およびノード１１７に専属のローカル接続ストレージ１１０として接続されている。
（２）各ローカル接続ストレージ１１０が並列計算機システム１１３の各ノード１０９およびノード１１７に接続しているものとは別の接続インタフェースを持ち、それがストレージエリアネットワーク１１４に接続されている。
（３）ノード１０９およびノード１１７上で稼動する並列ファイルシステム１０７において、アドレス変換処理部１０６が図７におけるアドレス参照部７０７の機能を包含し、これが管理するファイル管理テーブル１０５のテーブルエントリ１０４が保持する情報の内、アドレス情報がローカルアドレスのリスト１０２とストレージエリアネットワーク１１４上で一意に定まるＳＡＮアドレスのリスト１０３の組情報となっている。
【００２４】
以下、本システムの構成について説明を行う。並列計算機システム１１３は、当該並列計算機システム１１３が生成する計算結果データを参照する汎用サーバ１１６とローカルエリアネットワーク１１５で結合されている。並列計算機システム１１３は、ノード間ネットワーク１１２で相互に結合される複数のノード１０９およびノード１１７を有する。その複数のノード１０９およびノード１１７の内、少なくとも１つのノード１１７がローカルエリアネットワーク１１５に接続されることで、並列計算機システム１１３とローカルエリアネットワーク１１５の結合は実現されている。また、各ノード１０９およびノード１１７は、それぞれ専有使用するローカル接続ストレージ１１０に接続インタフェースＬ１で直結する。さらに、各ノード１０９およびノード１１７上には、上記複数のローカル接続ストレージ１１０を並列ストレージシステム１１１として運用・管理するための並列ファイルシステム１０７が稼動している。この並列ファイルシステム１０７は、それぞれ、ファイルアクセス処理を実行・管理するためのアドレス変換処理部１０６を有し、当該アドレス変換処理部１０６は、それぞれ並列ストレージシステム１１１上におけるファイルの所在を管理するためのファイル管理テーブル１０５を保持する。ファイル管理テーブル１０５は、複数のテーブルエントリ１０４で構成され、それぞれのテーブルエントリ１０４で、少なくともファイル名１０１とローカルアドレスのリスト１０２とストレージエリアネットワーク１１４上で一意に定まるＳＡＮアドレスのリスト１０３の組情報を保持する。
【００２５】
上記各ローカル接続ストレージ１１０は、並列計算機システム１１３の各ノード１０９およびノード１１７に接続している接続インタフェースＬ１とは別の接続インタフェースＬ２を持ち、それがストレージエリアネットワーク（ＳＡＮ）１１４に接続される。当該ストレージエリアネットワーク１１４には、さらに、汎用サーバ１１６が接続される。これによって、汎用サーバ１１６は並列ストレージシステム１１１に直接アクセスが可能となる。ただし、これはハードウェア的に繋がっているだけであって、このままでは並列計算機システム１１３と汎用サーバ１１６間でのファイル共有は実現されない。当該計算機システム間でファイル共有を実現するために、ローカルエリアネットワーク１１５に接続する並列計算機システム１１３のノード１１７と、汎用サーバ１１６上には、ファイル共有ミドルウェア１０８が稼動している。
【００２６】
なお、並列計算機システム１１３において、ファイル管理テーブル１０５は、以下のように管理される。まず、新規にファイルが作成される時点で、並列ファイルシステム１０７の管理ポリシーに従って、当該ファイルの分割格納先ノード（より正確に述べると当該ノードに接続されるローカル接続ストレージ１１０）群が決定される。当該ノード群を示す情報は、当該ファイルのファイル名情報等と共に並列ファイルシステム１０７が動作する全ノードに伝達される。当該情報を受け取った並列ファイルシステム１０７は、各々アドレス変換処理部１０６を起動し、ファイル管理テーブル１０５に新規のテーブルエントリ１０４を確保した後、当該情報を当該テーブルエントリ１０４に登録する（ファイル名はファイル名１０１のフィールドに、ファイル分割格納先ノード群を示す情報は図示していない所定のフィールドにそれぞれ登録する）。さらに、分割された部分ファイルをローカル接続ストレージ１１０に格納するノードでは、当該部分ファイルのローカル接続ストレージ１１０への書込み処理を行った際に、格納先ローカルアドレスを得て、当該ローカルアドレス情報を先のテーブルエントリ１０４のローカルアドレスリスト１０２のフィールドに登録すると同時に、同ローカルアドレスに対応するＳＡＮアドレスを求め、その値をＳＡＮアドレスリスト１０３のフィールドに登録する。以降、当該テーブルエントリ１０４は当該ファイルアクセス時に参照され、当該ファイルの格納先変更時にはその値が更新され、ファイル消去時にはエントリ自体が無効化される。
【００２７】
次に、図２を用いて図１の並列計算機システム１１３内での並列ストレージシステム１１１上のファイルに対するアクセスフローを説明する。ここで、ノードＡは、ファイルアクセス要求元ノードであり、ノードＢ、ノードＣは、当該ファイルが分割されて格納されているローカル接続ストレージ１１０に直結しているノードである。なお、本例では簡単のためファイルが２分割されている事例で説明を行うが、ファイル分割数に特段の制約は無い。
【００２８】
まず、動作２０１に示すとおり、ノードＡ上で動作する何らかのプロセスが、同ノードＡ上で動作する並列ファイルシステム１０７に対してファイルアクセス要求を出す。当該ノードＡ上の並列ファイルシステム１０７は、アドレス変換処理部１０６の動作により、ファイル管理テーブル１０５を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ１０４をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ１０４について、図示していないファイル分割格納先ノード群を示す情報フィールドを参照し、ファイルの管理元ノードを検出し（動作２０２）、動作２０３のとおり、ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７に対して、並列にファイルアクセス要求を伝える。要求を受けたノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７では、それぞれアドレス変換処理部１０６が動作して、ファイル管理テーブル１０５を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ１０４をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ１０４について、ローカルアドレスリスト１０２を取得する（動作２０４）。さらに動作２０５のとおり、それぞれ取得したアドレスを元にローカル接続ストレージ１１０をアクセスする。以降、アクセス種類が読出しの場合、動作が継続し、動作２０６のとおり、当該アクセス結果を受け取る。ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７は、動作２０７のとおり、このアクセス結果をノードＡ内の並列ファイルシステム１０７に集約し、さらに、ノードＡ内の並列ファイルシステム１０７は、動作２０８のとおり、その集約されて１つになったファイルをファイルアクセス元のノードＡ内プロセスに引き渡す。以上の動作中、総てのノード間のやり取りと、ファイルアクセスタイプが書込みの場合の動作２０３ならびにファイルアクセスタイプが読出しの場合の動作２０７におけるファイルデータの転送は、ノード間ネットワーク１１２を介して行われる。
【００２９】
続いて図３では、並列計算機システム１１３と汎用サーバ１１６間でのファイル共有に係わる処理動作を示す。ここで、図２の時と同様に、ノードＢ、ノードＣは、当該ファイルが分割されて格納されているローカル接続ストレージ１１０に直結しているノードである。
【００３０】
まず、動作３０１に示すとおり、汎用サーバ１１６上で動作する何らかのプロセスが、同サーバ上で動作するファイル共有ミドルウェア１０８に対してファイルアクセス要求を出し、同汎用サーバ１１６上のファイル共有ミドルウェア１０８は、動作３０２で当該ファイルが並列計算機システム１１３によって管理されているファイルであると判定した後、並列計算機システム１１３のノード１１７上で動作するファイル共有ミドルウェア１０８に対して当該ファイルの格納場所（ＳＡＮアドレスリスト）を問い合わせる。要求を受け取ったノード１１７上のファイル共有ミドルウェア１０８は、動作３０３で当該ファイルを実際に管理しているノード１１７上で稼動する並列ファイルシステム１０７に同要求を伝える。当該ノード１１７上の並列ファイルシステム１０７は、アドレス変換処理部１０６の動作により、ファイル管理テーブル１０５を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ１０４をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ１０４について、図示していないファイル分割格納先ノード群を示す情報フィールドを参照し、ファイルの管理元ノードを検出し（動作３０４）、動作３０５のとおり、ノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７に対して、並列に当該ファイルの格納場所（ＳＡＮアドレスリスト）問合せ要求を伝える。要求を受けたノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７では、それぞれアドレス変換処理部１０６が動作して、ファイル管理テーブル１０５を参照し、当該アクセスされたファイルのファイル名をキーとして各テーブルエントリ１０４をサーチする。そして、ファイル名とファイル名フィールド１０１の値が一致したテーブルエントリ１０４について、ＳＡＮアドレスリスト１０３を取得する（動作３０６）。さらにノードＢ内の並列ファイルシステム１０７およびノードＣ内の並列ファイルシステム１０７は、動作３０７のとおり、それぞれ取得したＳＡＮアドレスリストをノード１１７内の並列ファイルシステム１０７に集約し、さらに、動作３０８のとおり、ノード１１７内の並列ファイルシステム１０７は、その集約されたＳＡＮアドレスリストをノード１１７上のファイル共有ミドルウェア１０８に引き渡す。同アドレスリストは、ローカルエリアネットワーク１１５を経由して汎用サーバ１１６内ファイル共有ミドルウェア１０８に転送される。次に、汎用サーバ１１６内ファイル共有ミドルウェア１０８は、図４に示す動作３０９によって、受け取ったＳＡＮアドレスリストを元に、ストレージエリアネットワーク１１４を介してノードＢおよびノードＣが専有使用している複数のローカル接続ストレージ１１０から順次分割されたファイル断片を読出し（動作４０１）、読出し結果をストレージエリアネットワーク１１４を介して受取り（動作４０２）、これらを統合して１個のファイルとしてファイルアクセス元の汎用サーバ１１６内プロセスに引き渡す（動作３１０）。
【００３１】
なお、図３の処理フローにおいては、アクセス対象であるファイルが格納されているローカル接続ストレージ１１０に直結していないノードのテーブルエントリ１０４のアドレス情報には、実際のストレージアドレス情報が存在しないと仮定したが、少なくともＳＡＮアドレスリスト１０３のフィールドについては、当該ファイルの格納場所を示すＳＡＮアドレス情報を格納しておくように実装することも可能である。この場合、図３の処理３０５以降処理３０７までは不要となり、処理３０４でノード１１７で稼動する並列ファイルシステム１０７が直接ＳＡＮアドレスを取得し、処理３０８に移行する。
【００３２】
以上が本発明に係わる第１の実施の形態である。
（第２の実施の形態）
本発明の第２の実施の形態を図１２、図１３を用いながら説明する。図１２は、本発明に係わるシステム全系の概略構成を示す。また、図１３は、本システムにおけるデータ（ファイル）共有を実現するための処理フローを説明する図である。
【００３３】
図１２は、本発明の第１の実施の形態に係わるシステム全系の概略構成を示す図１と比較して、以下の５点が主に異なっている。
（１）並列ストレージシステム１１１が並列計算機システム１１３にのみ接続しており、ストレージエリアネットワーク１１４には接続されていない。
（２）並列計算機システム１１３と汎用サーバ１１６間で共有するデータ（ファイル）を格納するための共有ストレージ１２０１が用意され、これがストレージエリアネットワーク１１４に接続されている。
（３）並列計算機システム１１３を構成するノードの内、ローカルエリアネットワーク１１５に接続するノード１１７が、ローカル接続ストレージ１１０に接続すると同時に別の接続インタフェースＬ３を介してストレージエリアネットワーク１１４に接続している。
（４）同ノード１１７がローカルファイルシステム１２０３を介して共有ストレージ１２０１を制御する。
（５）ノード１０９およびノード１１７上で稼動する並列ファイルシステム１０７において、ローカルアドレスとＳＡＮアドレスの対応づけを行うアドレス変換機能が無くなり、かつ、図５で示した従来例と同様に、アドレス参照部５０４が管理するファイル管理テーブル５０３のテーブルエントリ５０２が保持する情報の内、アドレス情報がローカルアドレスのリスト１０２のみとなっている。
【００３４】
以下、本システムの構成について説明を行う。並列計算機システム１１３は、当該並列計算機システム１１３が生成する計算結果データを参照する汎用サーバ１１６とローカルエリアネットワーク１１５で結合されている。並列計算機システム１１３は、ノード間ネットワーク１１２で相互に結合される複数のノード１０９およびノード１１７を有する。その複数のノード１０９およびノード１１７の内、少なくとも１つのノード１１７がローカルエリアネットワーク１１５に接続されることで、並列計算機システム１１３とローカルエリアネットワーク１１５の結合は実現されている。また、各ノード１０９およびノード１１７は、それぞれ専有使用するローカル接続ストレージ１１０に接続インタフェースＬ１で直結する。さらに、各ノード１０９およびノード１１７上には、上記複数のローカル接続ストレージ１１０を並列ストレージシステム１１１として運用・管理するための並列ファイルシステム１０７が稼動している。この並列ファイルシステム１０７は、それぞれ、ファイルアクセス処理を実行・管理するためのアドレス参照部５０４を有し、当該アドレス参照部５０４は、それぞれ並列ストレージシステム１１１上におけるファイルの所在を管理するためのファイル管理テーブル５０３を保持する。ファイル管理テーブル５０３は、複数のテーブルエントリ５０２で構成され、それぞれのテーブルエントリ５０２で、少なくともファイル名１０１とローカルアドレスのリスト１０２を保持する。
【００３５】
さらに、並列計算機システム１１３と汎用サーバ１１６の間でデータ共有を実現するために、共有ストレージ１２０１が設けられ、当該共有ストレージ１２０１、汎用サーバ１１６、並列計算機システム１１３がストレージエリアネットワーク１１４によって結合される。この時、並列計算機システム１１３とストレージエリアネットワーク１１４の接続は、並列計算機システム１１３のノード１１７が接続インタフェースＬ３を介してストレージエリアネットワーク１１４に接続することによって実現され、さらに、並列計算機システム１１３からの共有ストレージ１２０１へのアクセスは、同ノード１１７上で稼動するローカルファイルシステム１２０３によって制御される。この構成によって、並列計算機システム１１３と汎用サーバ１１６は双方とも共有ストレージ１２０１にアクセスできる。ただし、これはハードウェア的に繋がっているだけであって、このままでは並列計算機システム１１３と汎用サーバ１１６間でのファイル共有は実現されない。当該計算機システム間でファイル共有を実現するために、ローカルエリアネットワーク１１５に接続する並列計算機システム１１３のノード１１７と、汎用サーバ１１６上には、ファイル共有ミドルウェア１０８が稼動している。
【００３６】
次に、図１３を用いて図１２の並列計算機システム１１３と汎用サーバ１１６間でのデータ（ファイル）共有を実現するための処理フローを説明する。処理は大きく２つの部分に分かれる。１つは、並列計算機システム１１３による並列ストレージシステム１１１から共有ストレージ１２０１への共有すべきファイルのコピー処理１３０６、もう１つは、汎用サーバ１１６による共有ストレージ１２０１アクセスによる共有ファイル参照処理である。
【００３７】
まず、共有ファイルコピー処理１３０６について述べる。並列計算機システム１１３のノード１１７は、ストレージエリアネットワーク１１４との接続を持ち、並列計算機システム１１３からの共有ストレージ１２０１アクセス制御処理を受け持つ。同ノード１１７上では、並列計算機システム１１３と汎用サーバ１１６間で共有すべきファイルを並列ファイルシステム１０７を介して並列ストレージシステム１１１から読出し、当該ファイルをローカルファイルシステム１２０３を介して、ストレージエリアネットワーク１１４経由で共有ストレージ１２０１に書き込む処理を行うプロセスが適時稼動する。当該プロセスが、処理１３０１のようにノード１１７で稼動する並列ファイルシステム１０７に対してファイル読出し要求を出すと、処理１３０２において、本発明の第１の実施の形態の説明で用いた図２と同じ形で並列ファイル読出しが行われる。処理１３０３で当該読出し結果のファイルを引き渡された上記プロセスは、次に、処理１３０４で同ノード１１７で稼動するローカルファイルシステム１２０３に対して、当該ファイルを引き渡し、その共有ストレージ１２０１への書込みを要求する。当該ローカルファイルシステム１２０３は、処理１３０５において、当該ファイルを接続インタフェースＬ３を介してストレージエリアネットワーク１１４経由で共有ストレージ１２０１に書き込む。
【００３８】
続いて、当該共有ファイルの参照処理について述べる。当該共有ファイルを参照する必要のある汎用サーバ１１６上のプロセスは、その必要が生じた時点で、処理１３０７によって、汎用サーバ１１６で稼動するファイル共有ミドルウェア１０８に対して、当該共有ファイルのアクセス要求を出す。汎用サーバ１１６で稼動するファイル共有ミドルウェア１０８は、同要求を受けると、処理１３０８で並列計算機システム１１３のノード１１７で稼動するファイル共有ミドルウェア１０８に対して、当該共有ファイルの格納場所（ストレージエリアネットワーク１１４で一意に定められるＳＡＮアドレス）を問い合わせる。問合せを受けたノード１１７で稼動するファイル共有ミドルウェア１０８は、処理１３０９において、同ノード１１７で稼動するローカルファイルシステム１２０３に対して当該共有ファイルの格納場所（ＳＡＮアドレス）を問合せ、処理１３１０において、当該ローカルファイルシステム１２０３からＳＡＮアドレスを得て、これを汎用サーバ１１６で稼動するファイル共有ミドルウェア１０８に返答する。ＳＡＮアドレスを得た汎用サーバ１１６で稼動するファイル共有ミドルウェア１０８は、処理１３１１において、当該ＳＡＮアドレスを用いてストレージエリアネットワーク１１４経由で共有ストレージ１２０１をアクセスし、処理１３１２において、所望のデータ（ファイル）を受け取る。当該データ（ファイル）は、処理１３１３において、共有ファイルアクセス元である汎用サーバ１１６内のプロセスに引き渡される。以上のような処理により、並列計算機システム１１３で生成され、並列ストレージシステム１１１に格納された計算結果ファイルは、同並列計算機システム１１３外部の汎用サーバ１１６によって参照される。
【００３９】
なお、図１３の処理フローにおいては、ノード１１７のローカルファイルシステム１２０３のみが共有ファイルの格納場所を管理しており、ファイル共有ミドルウェア１０８は共有ファイルアクセス要求がある度に常にローカルファイルシステム１２０３に対して格納場所問合せを実施する。この構成方法に対して、ローカルファイルシステム１２０３によるファイル書込み処理１３０５が実施される毎に当該書込み先のアドレスをファイル名等の情報と共にローカルファイルシステム１２０３からノード１１７のファイル共有ミドルウェア１０８に伝達するという構成方法も可能である。この場合、図１３の処理１３０９ならびに処理１３１０の前半（ノード１１７内ローカルファイルシステム１２０３からノード１１７内ファイル共有ミドルウェア１０８へのＳＡＮアドレス返答処理）は不要となる。さらに、複数（ノード１１７上と汎用サーバ１１６上）のファイル共有ミドルウェア１０８間でのファイル格納場所管理についての主従（マスタースレーブ）関係を上記とは逆転させ、上記ローカルファイルシステム１２０３からノード１１７のファイル共有ミドルウェア１０８に伝達されたファイル格納場所情報を常に汎用サーバ１１６上のファイル共有ミドルウェア１０８に集約するように構成することも可能である。この場合、図１３の処理１３０８以降、処理１３１０までは不要となる。
【００４０】
【発明の効果】
本発明によって、並列計算機システムが生成し、同システムが専有管理する並列ストレージシステムに格納された計算結果データ（ファイル）を、安価な構成のストレージ用ネットワークを介して周辺計算機システムから高速に参照できるようになる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の計算機システムの構成を示す図。
【図２】上記第１の実施の形態における並列計算機システム内でのストレージアクセスの流れを示す図。
【図３】上記第１の実施の形態における汎用サーバからのストレージアクセスの流れを示す図である。
【図４】上記第１の実施の形態における汎用サーバからのストレージアクセスの流れの中でのＳＡＮアドレスでのストレージアクセスの流れを示す図である。
【図５】従来技術であるネットワークファイルシステムによってファイル共有を実現する計算機システムの構成を示す図である。
【図６】上記従来技術における汎用サーバからのストレージアクセスの流れを示す図である。
【図７】従来技術であるストレージエリアネットワークによってファイル共有を実現する計算機システムの構成を示す図である。
【図８】上記従来技術における並列計算機システムからのストレージアクセスの流れを示す図である。
【図９】図５の従来技術における並列計算機システム内でのストレージアクセスの流れを示す図である。
【図１０】図７の従来技術における汎用サーバからのストレージアクセスの流れを示す図である。
【図１１】図７の従来技術における汎用サーバからのストレージアクセスの流れの中でのＳＡＮアドレスでのストレージアクセスの流れを示す図である。
【図１２】本発明の第２の実施の形態の計算機システムの構成を示す図である。
【図１３】上記第２の実施態様において並列計算機システムと汎用サーバ間でファイル共有を実現するための処理流を示す図である。
【符号の説明】
１０１・・・ファイル名フィールド、１０２・・・ローカルアドレスリストフィールド、１０３・・・ＳＡＮ（ストレージエリアネットワーク）アドレスリストフィールド、１０４・・・テーブルエントリ、１０５・・・ファイル管理テーブル、１０６・・・アドレス変換処理部、１０７・・・並列ファイルシステム、１０８・・・ファイル共有ミドルウェア、１０９・・・ノード、１１０・・・ローカル接続ストレージ、１１１・・・並列ストレージシステム、１１２・・・ノード間ネットワーク、１１３・・・並列計算機システム、１１４・・・ストレージエリアネットワーク、１１５・・・ローカルエリアネットワーク、１１６・・・汎用サーバ、１１７・・・ローカルエリアネットワーク１１５に接続する並列計算機システム１１３内ノード、２０１・・・ファイルアクセス要求処理、２０２・・・ファイル管理元ノード検出処理、２０３・・・並列ファイルアクセス処理、２０４・・・ファイル格納先ローカルアドレス取得処理、２０５・・・ローカル接続ストレージ１１０アクセス処理、２０６・・・ローカル接続ストレージ１１０アクセス結果転送処理、２０７・・・アクセス結果集約処理、２０８・・・ファイル引渡し処理、３０１・・・ファイルアクセス要求処理、３０２・・・ファイル格納場所問い合わせ処理、３０３・・・ファイル格納場所問合せ処理、３０４・・・ファイル管理元ノード検出処理、３０５・・・ファイル格納先アドレス問合せ処理、３０６・・・ファイル格納先ＳＡＮアドレス取得処理、３０７・・・ＳＡＮアドレス返答処理、３０８・・・ＳＡＮアドレス返答処理、３０９・・・ＳＡＮアドレスでのストレージ１１０アクセス処理、３１０・・・ファイル引渡し処理、４０１・・・ＳＡＮアドレスでのストレージ１１０アクセス処理、４０２・・・ストレージ１１０アクセス結果転送処理、５０１・・・ネットワークファイルシステム、５０２・・・テーブルエントリ、５０３・・・ファイル管理テーブル、５０４・・・アドレス参照部、６０１・・・ファイルアクセス要求処理、６０２・・・ファイル管理元ノード検出処理、６０３・・・並列ファイルアクセス処理、６０４・・・ファイル格納先ローカルアドレス取得処理、６０５・・・ローカル接続ストレージ１１０アクセス処理、６０６・・・アクセス結果集約処理、６０７・・・ファイル引渡し処理、６０８・・・ローカルエリアネットワーク１１５経由のファイル転送処理、６０９・・・ファイル引渡し処理、７０１・・・ストレージエリアネットワーク、７０２・・・ストレージ、７０３・・・並列ストレージシステム、７０４・・・ＳＡＮアドレスリストフィールド、７０５・・・テーブルエントリ、７０６・・・ファイル管理テーブル、７０７・・・アドレス参照部、７０８・・・並列計算機システム、８０１・・・ファイル格納先ＳＡＮアドレス取得処理、８０２・・・ＳＡＮ経由ストレージ７０２アクセス処理、８０３・・・ＳＡＮ経由ストレージ７０２アクセス結果転送処理、９０１・・・ファイル格納先ローカルアドレス取得処理、１００１・・・ファイル格納先ＳＡＮアドレス取得処理、１００２・・・ＳＡＮアドレスでのストレージ７０２アクセス処理、１１０１・・・ＳＡＮアドレスでのストレージ７０２アクセス処理、１２０１・・・共有ストレージ、１２０３・・・ローカルファイルシステム、１３０１・・・ファイル読出し要求処理、１３０２・・・並列ファイル読出し処理、１３０３・・・ファイル引渡し処理、１３０４・・・ファイル書込み要求処理、１３０５・・・ファイル書込み処理、１３０６・・・共有ファイルコピー処理、１３０７・・・共有ファイルアクセス要求、１３０８・・・共有ファイル格納場所問合せ処理、１３０９・・・共有ファイル格納場所問合せ処理、１３１０・・・ＳＡＮアドレス返答処理、１３１１・・・ＳＡＮアドレスでのストレージアクセス処理、１３１２・・・ファイル転送処理、１３１３・・・ファイル引渡し処理。
【図１】
2004199535.tif 000003
【図２】
2004199535.tif 000004
【図３】
2004199535.tif 000005
【図４】
2004199535.tif 000006
【図５】
2004199535.tif 000007
【図６】
2004199535.tif 000008
【図７】
2004199535.tif 000009
【図８】
2004199535.tif 000010
【図９】
2004199535.tif 000011
【図１０】
2004199535.tif 000012
【図１１】
2004199535.tif 000013
【図１２】
2004199535.tif 000014
【図１３】
2004199535.tif 000015