(57)【要約】【課題】並列プロセッサのノードの間で送信されるデータ・パケットの正確さを検査する障害分離技法を提供すること。【解決手段】あるプロセッサから別のプロセッサに送られるすべてのデータと、あるプロセッサから別のプロセッサへ受け取られるすべてのデータの、独立のｃｒｃが保存される。各チェックポイントの終りに、ｃｒｃが比較される。ｃｒｃが一致しない場合に、エラーがあった。ｃｒｃは、各チェックポイントでクリアし、リスタートすることができる。好ましい実施形態では、基本的な機能性は、所与のリンクを介して成功裡に送信されたすべてのパケット・データのＣＲＣを計算することである。このＣＲＣは、リンクの両端で行われ、これによって、正しく送信されたと思われるすべてのデータに対する独立の検査が可能になる。すべてのリンクが、このＣＲＣカバレッジを有し、このリンク・レベル検査で使用されるＣＲＣが、パケット転送プロトコルで使用されるＣＲＣと異なることが好ましい。この独立の検査に成功裡に合格する場合に、この独立の検査によって、データ・エラーが前の転送期間中に見逃された可能性が、事実上なくなる。【特許請求の範囲】
【請求項１】
エラーについてコンピュータ・システムのあるノードから前記コンピュータ・システムの別のノードに送信される一連のデータ・パケットを検査する方法であって、前記パケットのそれぞれが、チェック値を含み、
前記コンピュータ・システムの第１ノードから第２ノードへ前記データ・パケットを送信するステップと、
前記第１ノードによって前記第２ノードに送信された前記データ・パケットの前記チェック値の第１ｃｒｃを保存するステップと、
前記第２ノードによって前記第１ノードから受け入れられた前記データ・パケットの前記チェック値の第２ｃｒｃを保存するステップと、
前記第１ｃｒｃと前記第２ｃｒｃが一致するかどうかを判定するために、定義された時刻に前記第１ｃｒｃと前記第２ｃｒｃを比較するステップと
を含む方法。
【請求項２】
前記第２ｃｒｃを保存する前記ステップが、
前記第１ノードからデータ・パケットを受信するステップと、
エラーについて前記受信されたパケットをテストするステップと、
エラーがない前記受信されたデータ・パケットだけを受け入れるステップと
を含む、請求項１に記載の方法。
【請求項３】
前記第２ｃｒｃを保存する前記ステップが、さらに、
実行モジュール内およびレジスタ内で前記第２ｃｒｃを維持するステップと、
前記データ・パケットの１つが受信される時に、前記受信されたデータ・パケットの前記チェック値だけ前記実行モジュール内の前記ｃｒｃを増やすステップと、
前記受信された１つのデータ・パケットが、エラーなしである場合に、前記実行モジュールから前記レジスタに前記ｃｒｃをロードするステップと、
前記受信された１つのデータ・パケットが、エラーを有する場合に、前記レジスタから前記モジュールに前記ｃｒｃをロードするステップと
を含む、請求項２に記載の方法。
【請求項４】
前記送信するステップが、前記第１ノードで、前記データ・パケットが送信される前に、エラーについて前記データ・パケットのそれぞれをテストするステップを含み、
前記第１ｃｒｃを保存する前記ステップが、エラーがない前記テストされたデータ・パケットのみの前記チェック値だけ前記第１ｃｒｃを増やすステップを含む
請求項２に記載の方法。
【請求項５】
前記第１ｃｒｃを保存する前記ステップが、さらに、
レジスタ内および実行モジュール内に前記第１ｃｒｃを保存するステップと、
前記データ・パケットの１つが前記第１ノードから送信される時に、前記１つのデータ・パケットの前記チェック値だけ前記実行モジュール内の前記第１ｃｒｃを増やすステップと、
前記データ・パケットの前記１つがエラーなしである場合に、前記実行モジュールの前記第１ｃｒｃ値を前記レジスタにロードするステップと、
前記データ・パケットの前記１つがエラーを有する場合に、前記レジスタの前記第１ｃｒｃ値を前記実行モジュールにロードするステップと
を含む、請求項４に記載の方法。
【請求項６】
所定の時刻に前記第１ｃｒｃおよび前記第２ｃｒｃをリセットするステップをさらに含む、請求項１に記載の方法。
【請求項７】
エラーについてコンピュータ・システムのあるノードから前記コンピュータ・システムの別のノードに送信される一連のデータ・パケットを検査するシステムであって、前記パケットのそれぞれが、チェック値を含み、
前記コンピュータ・システムの第１ノードから第２ノードへ前記データ・パケットを送信する手段と、
前記第１ノードによって前記第２ノードに送信された前記データ・パケットの前記チェック値の第１ｃｒｃを保存する手段と、
前記第２ノードによって前記第１ノードから受け入れられた前記データ・パケットの前記チェック値の第２ｃｒｃを保存する手段と、
前記第１ｃｒｃと前記第２ｃｒｃが一致するかどうかを判定するために、定義された時刻に前記第１ｃｒｃと前記第２ｃｒｃを比較する論理回路と
を含むシステム。
【請求項８】
前記第２ｃｒｃを保存する前記手段が、
前記第１ノードからデータ・パケットを受信する手段と、
エラーについて前記受信されたパケットをテストする手段と、
エラーがない前記受信されたデータ・パケットだけを受け入れる手段と
を含む、請求項７に記載のシステム。
【請求項９】
前記第２ｃｒｃを保存する前記手段が、さらに、
前記第２ｃｒｃを保存する実行モジュールと、
同じく前記第２ｃｒｃを保存するレジスタと、
前記データ・パケットの１つが受信される時に、前記受信されたデータ・パケットの前記チェック値だけ前記実行モジュール内の前記ｃｒｃを増やす手段と、
前記受信された１つのデータ・パケットが、エラーなしである場合に、前記実行モジュールから前記レジスタに前記ｃｒｃをロードし、前記受信された１つのデータ・パケットが、エラーを有する場合に、前記レジスタから前記モジュールに前記ｃｒｃをロードする制御論理ユニットと
を含む、請求項８に記載のシステム。
【請求項１０】
前記送信する手段が、前記第１ノードで、前記データ・パケットが送信される前に、エラーについて前記データ・パケットのそれぞれをテストする手段を含み、
前記第１ｃｒｃを保存する前記手段が、エラーがない前記テストされたデータ・パケットのみの前記チェック値だけ前記第１ｃｒｃを増やす手段を含む
請求項７に記載のシステム。
【請求項１１】
前記第１ｃｒｃを保存する前記手段が、さらに、
前記第１ｃｒｃを保存するレジスタと、
同じく前記第１ｃｒｃを保存する実行モジュールと、
前記データ・パケットの１つが前記第１ノードから送信される時に、前記１つのデータ・パケットの前記チェック値だけ前記実行モジュール内の前記第１ｃｒｃを増やす手段と、
前記データ・パケットの前記１つがエラーなしである場合に、前記実行モジュールの前記第１ｃｒｃ値を前記レジスタにロードし、前記データ・パケットの前記１つがエラーを有する場合に、前記レジスタの前記第１ｃｒｃ値を前記実行モジュールにロードする制御論理ユニットと
を含む、請求項１０に記載のシステム。
【請求項１２】
所定の時刻に前記第１ｃｒｃおよび前記第２ｃｒｃがリセットされる、請求項７に記載のシステム。
【請求項１３】
エラーについてコンピュータ・システムのあるノードから前記コンピュータ・システムの別のノードに送信される一連のデータ・パケットを検査する方法ステップを実行するために計算機によって実行可能な命令のプログラムを有形に実施する、前記計算機によって可読のプログラム記憶装置であって、前記パケットのそれぞれが、チェック値を含み、前記方法が、
前記コンピュータ・システムの第１ノードから第２ノードへ前記データ・パケットを送信するステップと、
前記第１ノードによって前記第２ノードに送信された前記データ・パケットの前記チェック値の第１ｃｒｃを保存するステップと、
前記第２ノードによって前記第１ノードから受け入れられた前記データ・パケットの前記チェック値の第２ｃｒｃを保存するステップと、
前記第１ｃｒｃと前記第２ｃｒｃが一致するかどうかを判定するために、定義された時刻に前記第１ｃｒｃと前記第２ｃｒｃを比較するステップと
を含む、プログラム記憶装置。
【請求項１４】
前記第２ｃｒｃを保存する前記ステップが、
前記第１ノードからデータ・パケットを受信するステップと、
エラーについて前記受信されたパケットをテストするステップと、
エラーがない前記受信されたデータ・パケットだけを受け入れるステップと
を含む、請求項１３に記載のプログラム記憶装置。
【請求項１５】
前記第２ｃｒｃを保存する前記ステップが、さらに、
実行モジュール内およびレジスタ内で前記第２ｃｒｃを維持するステップと、
前記データ・パケットの１つが受信される時に、前記受信されたデータ・パケットの前記チェック値だけ前記実行モジュール内の前記ｃｒｃを増やすステップと、
前記受信された１つのデータ・パケットが、エラーなしである場合に、前記実行モジュールから前記レジスタに前記ｃｒｃをロードするステップと、
前記受信された１つのデータ・パケットが、エラーを有する場合に、前記レジスタから前記モジュールに前記ｃｒｃをロードするステップと
を含む、請求項１４に記載のプログラム記憶装置。
【請求項１６】
前記送信するステップが、前記第１ノードで、前記データ・パケットが送信される前に、エラーについて前記データ・パケットのそれぞれをテストするステップを含み、
前記第１ｃｒｃを保存する前記ステップが、エラーがない前記テストされたデータ・パケットのみの前記チェック値だけ前記第１ｃｒｃを増やすステップを含む
請求項１４に記載のプログラム記憶装置。
【請求項１７】
前記第１ｃｒｃを保存する前記ステップが、さらに、
レジスタ内および実行モジュール内に前記第１ｃｒｃを保存するステップと、
前記データ・パケットの１つが前記第１ノードから送信される時に、前記１つのデータ・パケットの前記チェック値だけ前記実行モジュール内の前記第１ｃｒｃを増やすステップと、
前記データ・パケットの前記１つがエラーなしである場合に、前記実行モジュールの前記第１ｃｒｃ値を前記レジスタにロードするステップと、
前記データ・パケットの前記１つがエラーを有する場合に、前記レジスタの前記第１ｃｒｃ値を前記実行モジュールにロードするステップと
を含む、請求項１６に記載のプログラム記憶装置。
【請求項１８】
所定の時刻に前記第１ｃｒｃおよび前記第２ｃｒｃをリセットするステップをさらに含む、請求項１３に記載のプログラム記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば生命科学の分野での計算に適用される、分散メモリ・メッセージ受渡並列コンピュータの設計の分野およびシステム・ソフトウェアに関する。具体的には、本発明は、多数の並列アプリケーションによって使用されるグローバル通信をサポートするシステム・ソフトウェア・ライブラリに関する。
【背景技術】
【０００２】
米国仮出願番号６０／２７１，１２４、表題「A Massively ParallelSuperComputer」に、多数の計算ノードおよびより少数の入出力ノードからなるコンピュータが記載されている。これらのノードは、複数のネットワークによって接続される。具体的に言うと、整数最大値および整数最小値などの整数コンバイニング動作をサポートする二重機能ツリー・ネットワークである。
【０００３】
並列スーパーコンピュータには、プロセッサから別のプロセッサにメッセージの形で送られる、膨大な量のデータがある。これらのメッセージは、パリティ検査、ｃｒｃ検査などの標準的な技法によって破壊から保護されるが、これらの技法では、データのパリティまたはデータのｃｒｃが、あるプロセッサから別のプロセッサに送られるデータに含まれ、受取り側プロセッサによって計算され、比較される。しかし、比較を計算するのに使用される論理に障害がある場合、または、二重エラー障害がパリティ検出を免れるなどの場合には、いくつかのメッセージ・エラーが、検出されずに計算機を介して伝搬する場合がある。上で述べた米国仮出願番号６０／２７１，１２４に記載の計算機には、各マイクロ秒に２５６バイトを送る約１００００００個のリンクを有する約６４０００個のプロセッサがある。１０−１５に１つ程度の低いエラー率（極端に低いビット・エラー率である）であっても、１秒に１つのエラーが生じる。必要なものは、追加計算なしで、送信側と受信側の間でのデータ送信でエラーが発生しないことを保証する単純な手段である。
【特許文献１】
米国仮出願番号６０／２７１，１２４
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、並列スーパーコンピュータでの障害検出を改善することである。
【０００５】
本発明のもう１つの目的は、大量並列スーパーコンピュータのオーバーヘッドのない障害検出手順を提供することである。
【０００６】
本発明のもう１つの目的は、プロセッサの間で追加データを送るというペナルティをこうむらずに、並列スーパーコンピュータ内であるプロセッサから別のプロセッサに送られるデータの送信で発生する可能性があるエラーを検出する追加手段を提供することである。
【課題を解決するための手段】
【０００７】
上記および他の目的は、本発明を実施する障害分離技法によって達成される。一般に、本発明によれば、あるプロセッサから別のプロセッサに送られるすべてのデータと、あるプロセッサから別のプロセッサに受け取られるすべてのデータの、独立のｃｒｃ（巡回冗長検査）が保存される。各チェックポイントの終りに、ｃｒｃが比較される。ｃｒｃが一致しない場合には、エラーが発生している。ｃｒｃは、各チェックポイントでクリアされ、リスタートされる。
【０００８】
好ましい実施形態で、基本的な機能性は、所与のリンクを介して成功裡に送信されたすべてのパケット・データのＣＲＣを計算することである。このＣＲＣは、リンクの両端で行われ、これによって、正しく送信されたと思われるすべてのデータに対する独立の検査が可能になる。すべてのリンクが、このＣＲＣカバレッジを有し、このリンク・レベル検査で使用されるＣＲＣが、パケット転送プロトコルで使用されるＣＲＣと異なることが好ましい。この独立の検査に成功裡に合格する場合に、この独立の検査によって、データ・エラーが前の転送期間中に見逃された可能性が、事実上なくなる。
【０００９】
本発明のさらなる利益および長所は、本発明の好ましい実施形態を指定し、示す、添付図面に関して与えられる下の詳細な説明を検討することから明白になる。
【発明を実施するための最良の形態】
【００１０】
図１に、本発明を実施する大量並列コンピュータ・システム１０を示す。システム１０は、２１６＝６５５３６個のノード１２に基づくスケーラブル・ウルトラコンピュータ・コンピュータである。各ノード１２は、非常に単純であり、単一のＡＳＩＣおよび９個のＳＤＲＡＭ−ＤＤＲメモリ・チップからなる。ノードは、６つのネットワークを介して相互接続され、このネットワークの最高集合帯域幅は、６４×３２×３２物理３次元トーラスにノードをマッピングする最近傍リンクである。モードが、物理的に近いノードと、隣接するラックのノードと同一の帯域幅およびほぼ同一の待ち時間で通信するので、この相互接続に非対称性は事実上ない。これによって、単純なプログラミング・モデルが可能になる。ノードに動力を与えるＡＳＩＣは、システムオンアチップ（system-on-a-chip）技術に基づき、必要な機能性のすべてが組み込まれる。このＡＳＩＣには、ほとんどのＬ１キャッシュ・ミスでレジスタから９サイクル程度の極端に高帯域幅の４ＭＢの組込みＤＲＡＭも含まれる。ノード１２自体は、物理的に小さく、超高密度の処理が可能である。
【００１１】
図２は、システム１０の１つのノード１２のブロック図である。このノードには、２つの組込みコア２０および２２が含まれ、このコアのそれぞれは、２．８ＧＦのターゲット・ピーク性能を有する二重浮動小数点コアを有する。システム１０が、どのツリー・ノードでも短待ち時間で通信できるようにする仮想カットスルー経路指定をサポートすることが好ましい。また、メモリ・システムが、高帯域幅、短待ち時間のメモリ・アクセスおよびキャッシュ・アクセスのために設計されることが好ましい。ノード１２には、さらに、事前取出しバッファ２４および２６、ｅＤＲＡＭ３０、マルチポート式ＳＲＡＭバッファ３２、リンク・バッファ３４、インターフェース・モジュール３６、ＤＤＲユニット４０、およびｅＤＲＡＭの共用ディレクトリ４２が含まれる。
【００１２】
図３を参照すると、各入出力処理ノード１２は、符号５０で表されるグローバル・コンバイニング・ツリーを介して、たとえば６４個の計算ノードに接続される。どの計算ノードでも、ＲＡＩＤディスクを最高のギガビット速度で読み取るか書き込むことができる。このバイナリ・コンバイニング・ツリーは、実際に、計算機１０全体に延び、任意のノードからすべての他のノード（ブロードキャスト）またはノードのサブセットへ、１μ秒未満の待ち時間でデータを送れるようにする。メッセージ受渡は、グローバル・コンバイニング・ツリーでサポートされ、各ＡＳＩＣ内の第２プロセッサによって制御され、すべて対すべての通信などの集中型動作を、計算ノードと独立に進行できるようになる。このツリーの各分岐は、送信方向と受信方向の両方で、１．４ＧＢ／ｓまたはプロセッサ・サイクルあたり２バイトのターゲット帯域幅を有する。ツリーに組み込まれるハードウェア機能性は、整数加算、減算、最大値、最小値、およびブロードキャストである。機能は、可能な最短の待ち時間の形で実施される。データをリングで配送するのではなく、同一のツリーを、データのグローバル・ブロードキャストに使用することができる。
【００１３】
さらに、物理的な計算機アーキテクチャは、図４の５２で表される３Ｄトーラスに最も密に結び付けられる。これは、エッジで「ラップ」される単純な３次元最近傍相互接続である。ＡＳＩＣの異なるラックの間に存在するものなどの飛行時間（time-of-flight）の差を除いて、すべての近傍が、等しい距離にあり、コードの書き込みおよび最適化が楽になる。最近傍リンクは、プロセッサ速度の４倍（各方向で２．８Ｇｂ／ｓ）を目標とする。したがって、各ノードが、４．２ＧＢ／ｓの集合帯域幅を有する６つの独立の両方向最近傍リンクをサポートする。たとえば、システム１０で、回路カードは、２×２×２サブキューブとして配線され、ラックごとに２つのミッドプレーンは、８×８×８サブキューブとして配線される。６４ｋ計算機全体は、６４×３２×３２トーラスである。
【００１４】
システム１０では、あるプロセッサから別のプロセッサへ送られるすべてのデータと、あるプロセッサから別のプロセッサへ受け取られるすべてのデータの、独立のｃｒｃが保存され、各チェックポイントの終りで、ｃｒｃが比較される。ｃｒｃが一致しない場合には、エラーが発生している。ｃｒｃは、各チェックポイントでクリアされ、リスタートされることが好ましい。
【００１５】
基本的な機能性は、所与のリンクを介して成功裡に送信されたすべてのパケット・データのＣＲＣを計算することである。このＣＲＣは、リンクの両端で行われ、これによって、正しく送信されたと思われるすべてのデータに対する独立の検査が可能になる。すべてのリンクが、このＣＲＣカバレッジを有し、このリンク・レベル検査で使用されるＣＲＣが、パケット転送プロトコルで使用されるＣＲＣと異なることが好ましい。この独立の検査に成功裡に合格する場合に、この独立の検査によって、データ・エラーが前の転送期間中に見逃された可能性が、事実上なくなる。この期間は、任意の長さの時間とすることができ、たとえば、少なくとも数分にすることができる。
【００１６】
この技法は、完全に別に行われるので、データ使用に関して、オーバーヘッドを必要としない。たとえば、リンク・レベルＣＲＣは、そのリンクがアクティブでない任意の時に、ＤＣＲを介して検査することができる。都合のよい時が、チェックポイント中である可能性が高い。データのサイズ、したがってＣＲＣのサイズは、ネットワーク・インターフェースのサイズによって決定される。トーラスの場合に、８ビット版を使用することができるが、ツリーの場合には、３２ビット版が適当である可能性がある。
【００１７】
好ましいリンク・レベルＣＲＣを、下で説明する。当初は、受信側ＣＲＣを、ツリー・ネットワークおよびトーラス構成の両方について同一とすることができ、このＣＲＣを、トーラス・アーキテクチャの送信側で使用することもできることに留意されたい。しかし、トーラスでは、再送信されない可能性があるパケットが送信されるので、トーラスの送信側リンク・レベルＣＲＣは、ツリーのＣＲＣとは異なる。
【００１８】
ツリー５０について、図５を参照すると、６０で示される送信側は、送信されるすべてのデータに基づくＣＲＣを累算する。再送信バッファから送信されるデータは、そのデータが既に実行ＣＲＣに含まれているので、含まれない。トークンおよび肯定応答は、ＣＲＣに含まれず、データ・パケットだけが含まれることに留意されたい。
【００１９】
図６に、ツリーの送信側リンク・レベルでのイベントのタイミングを示し、図７の表によって、この手順で使用される信号を識別する。
【００２０】
第２の手順が、ツリーではＣＲＣの受信側で使用され、トーラスでは送信側と受信側の両方のＣＲＣについて使用される。具体的に言うと、図８を参照すると、受信側は、正しく受信されるすべてのデータに基づいてＣＲＣを累算する。これは、トーラスに関する送信側論理にも使用される。エラーなしと判定されるまで、このリンク・レベルＣＲＣにパケット含めてはならないので、追加の特徴が使用される。受信されつつあり、潜在的に受け入れ可能なデータ・パケットである（「Valid」信号によって示される）可能性があるデータは、それを実行ＣＲＣモジュール６４にロードすることによって、実行ｃｒｃに含まれる。パケットの終りが見つかり、パケットがすべての保全性テストに合格する（packetaccept＝「１」）時に、実行ＣＲＣモジュールの出力が、受信側ＣＲＣレジスタ６６にキャプチャされる。これは、「Packet Accept」信号を介して示される。パケットが、エラーであることがわかるか、エラー回復プロトコルに起因して無視される場合には、実行ＣＲＣモジュールに、前に保存されたＣＲＣレジスタが事前ロードされる。この手順は、制御論理ユニット６８の制御下にあるが、これによって、ＣＲＣレジスタに、リンクを介して受け入れられたすべてのデータのＣＲＣが含まれることが保証される。
【００２１】
入力信号のタイミング関係を、図９に示す。「受信されたバイト」を少なくとも１サイクルだけパイプライン化して、これらのタイミング要件を満たすことが好ましい可能性がある。図１０の表で、この手順で使用される信号を識別する。
【００２２】
本明細書で開示される発明が、上で述べた目的を満たすように十分に考慮されていることは明白であるが、当業者が多数の修正形態および実施形態を考案することができることを諒解されたい。添付の請求項が、本発明の真の趣旨および範囲に含まれるものとしてそのような修正形態および実施形態のすべてを含むことが意図されている。
【図面の簡単な説明】
【００２３】
【図１】本発明を実施する並列スーパーコンピュータの単純化された図である。
【図２】図１のスーパーコンピュータの処理ノードのブロック図である。
【図３】グローバル・コンバイニング・ツリーによって一緒に接続されたスーパーコンピュータのノードを示す図である。
【図４】トーラスの形で一緒に接続されたスーパーコンピュータのノードを示す図である。
【図５】ノード・リンクの送信側でチェック・サムを保存する回路および手順を示すブロック図である。
【図６】図５の回路で発生するさまざまなイベントの相対タイミングを示すタイミング図である。
【図７】図５の回路で使用される信号を識別する表である。
【図８】ｃｒｃを保存する第２の手順を示すブロック図である。
【図９】図８の回路で発生するさまざまなイベントの相対タイミングを示すタイミング図である。
【図１０】図８の回路で使用される信号を識別する表である。
【図１】
2004531922.tif 000002
【図２】
2004531922.tif 000003
【図３】
2004531922.tif 000004
【図４】
2004531922.tif 000005
【図５】
2004531922.tif 000006
【図６】
2004531922.tif 000007
【図７】
2004531922.tif 000008
【図８】
2004531922.tif 000009
【図９】
2004531922.tif 000010
【図１０】
2004531922.tif 000011
【国際公開パンフレット】
2004531922.tif 000012
2004531922.tif 000013
2004531922.tif 000014
2004531922.tif 000015
2004531922.tif 000016
2004531922.tif 000017
2004531922.tif 000018
2004531922.tif 000019
2004531922.tif 000020
2004531922.tif 000021
2004531922.tif 000022
2004531922.tif 000023
2004531922.tif 000024
2004531922.tif 000025
2004531922.tif 000026
2004531922.tif 000027
2004531922.tif 000028
2004531922.tif 000029
2004531922.tif 000030
2004531922.tif 000031
【国際公開パンフレット（コレクトバージョン）】
2004531922.tif 000032
2004531922.tif 000033
2004531922.tif 000034
2004531922.tif 000035
2004531922.tif 000036
2004531922.tif 000037
2004531922.tif 000038
2004531922.tif 000039
2004531922.tif 000040
2004531922.tif 000041
2004531922.tif 000042
2004531922.tif 000043
2004531922.tif 000044
2004531922.tif 000045
2004531922.tif 000046
2004531922.tif 000047
2004531922.tif 000048
2004531922.tif 000049
2004531922.tif 000050
2004531922.tif 000051
2004531922.tif 000052
2004531922.tif 000053
【国際調査報告】
2004531922.tif 000054