(57)【要約】【課題】並列プロセッサ装置の負荷試験において信頼性が高い試験結果を得るとともに、障害診断において迅速に異常箇所の特定を行うこと。【解決手段】プロセッサエレメントＰＥA 〜ＰＥE  を過不足なく組み合わせた場合の組を特定するパケット識別子を付加したパケットをプロセッサエレメント間で送受信し、パケット識別子、送信元プロセッサエレメントの情報、送信先プロセッサエレメントの情報から構成される試験情報と受信状況に関する情報に基づいて障害診断を行う。【選択図】        図２２
2006209789.tif 000002
【特許請求の範囲】
【請求項１】
パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の障害診断を行う障害診断装置において、
送信元の演算手段および送信先の演算手段を１組として前記複数の演算手段を過不足なく組み合わせて、複数の組を決定する組決定手段と、
前記組を識別する識別子がデータに付加された識別子付加パケットを、それぞれの組に対応させて作成するパケット作成手段と、
前記識別子、当該識別子付加パケットの送信元の演算手段に関する情報、および当該識別子付加パケットの送信先の演算手段に関する情報からなる試験情報を記憶する記憶手段と、
複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へ前記識別子付加パケットを送信させる送信制御手段と、
それぞれの送信先の演算手段における前記識別子付加パケットの受信状況に関する情報を収集する情報収集手段と、
前記情報収集手段の収集結果における識別子をキーとして、前記試験情報を参照することで障害診断を行う障害診断手段と、
を備えることを特徴とする障害診断装置。
【請求項２】
パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の障害診断に適用される障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
送信元の演算手段および送信先の演算手段を１組として前記複数の演算手段を過不足なく組み合わせて、複数の組を決定させる組決定工程と、
前記組を識別する識別子がデータに付加された識別子付加パケットを、それぞれの組に対応させて作成させるパケット作成工程と、
前記識別子、当該識別子付加パケットの送信元の演算手段に関する情報、および当該識別子付加パケットの送信先の演算手段に関する情報からなる試験情報を記憶させる記憶工程と、
複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へ前記識別子付加パケットを一斉に送信させる送信制御工程と、
それぞれの送信先の演算手段における前記識別子付加パケットの受信状況に関する情報を収集させる情報収集工程と、
前記情報収集工程の収集結果における識別子をキーとして、前記試験情報を参照することで障害診断を行わせる障害診断工程と、
をコンピュータに実行させるための障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、並列プロセッサ装置の負荷試験、障害診断に用いられる障害診断装置、および障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものであり、特に、信頼性が高い試験結果を得ることができ、迅速に異常箇所の特定を行うことができる障害診断装置および障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
原子力、気象、航空宇宙等の科学技術計算分野では、汎用大型コンピュータのデータ処理量をはるかに超える膨大なデータを超高速で演算処理する並列プロセッサ装置が必要とされている。この並列プロセッサ装置は、一般にスーパーコンピュータと呼ばれており、プロセッサ間ネットワーク（たとえば、クロスバネットワーク装置）を介して相互接続される複数のプロセッサエレメントに並列処理を実行させることで、超高速演算を実現している。この並列プロセッサ装置には、ＣＰＵ（Central Processing Unit ）利用率が高い状態、すなわち高負荷の状態であっても一定以上の性能を発揮できるような仕様が求められており、並列プロセッサ装置の設計、開発や、性能評価においては、高負荷状態での性能をチェックする負荷試験装置が必要不可欠である。また、並列プロセッサ装置においては、障害が発生した際に、迅速に異常箇所を特定する手段、方法が要請されている。
【０００３】
図３２（ａ）は、上述した従来の並列プロセッサ装置の構成を示すブロック図である。この図には、並列プロセッサ装置を構成するクロスバネットワーク装置１および５台のプロセッサエレメントＰＥ0 〜ＰＥ4 が図示されている。プロセッサエレメントＰＥ0 〜ＰＥ4 は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、パケット（データ）の送信および受信を行う送信部および受信部（図示略）をそれぞれ有している。クロスバネットワーク装置１は、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ4 間を相互接続する装置であり、Ｎ×Ｎ（同図では５×５）構成のクロスバスイッチ群（図示略）を有している。このクロスバネットワーク装置１においては、入線側がプロセッサエレメントＰＥ0 〜ＰＥ4 のそれぞれの送信部（図示略）に接続されており、出線側がプロセッサエレメントＰＥ0 〜ＰＥ4 のそれぞれの受信部（図示略）に接続されている。
【０００４】
上記並列プロセッサ装置においては、負荷がかかっている状態で性能をチェックする負荷試験が行われる。この負荷試験においては、予め決められた送信元のプロセッサエレメントから送信先のプロセッサエレメントへパケットを送信することで、擬似的に負荷がかかっている状態をつくり出し、上記パケットの伝送時間（測定値）と、理論的に求められた期待値との比較結果に基づいて性能を評価している。
【０００５】
具体的には、まず、図３２（ａ）に示したプロセッサエレメントＰＥ0 〜ＰＥ4 においてランダムに抽出された送信元および送信先の組が決められる。図３２に示した例では、つぎの（１Ａ）項〜（５Ａ）項の組が決められている。
【０００６】
＜送信元＞ ＜送信先＞
（１Ａ）プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ1
（２Ａ）プロセッサエレメントＰＥ1 −プロセッサエレメントＰＥ0
（３Ａ）プロセッサエレメントＰＥ2 −プロセッサエレメントＰＥ3
（４Ａ）プロセッサエレメントＰＥ3 −プロセッサエレメントＰＥ2
（５Ａ）プロセッサエレメントＰＥ4 −プロセッサエレメントＰＥ4
【０００７】
つぎに、負荷試験においては、上記（１Ａ）項〜（５Ａ）項のそれぞれの＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ4 から、それぞれに対応する＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ4 へパケットを一斉に送信する。これにより、それぞれのパケットは、クロスバネットワーク装置１により交換され、＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ4 に受信される。このとき、それぞれの組におけるプロセッサエレメント−プロセッサエレメント間のパケットの伝送時間が測定される。この場合には、（１Ａ）項〜（５Ａ）項に対応する都合５つの測定結果（伝送時間）が得られる。そして、これらの伝送時間と、理論的に求められた期待値とが比較され、伝送時間と期待値との差が許容範囲内にあるか否かにより並列プロセッサ装置の性能が評価される。
【０００８】
ここで、上記期待値は、実際の演算処理において、プロセッサエレメント−プロセッサエレメント間でパケットを伝送させた際にかかるであろう伝送時間であり、理論値である。この期待値は、理論伝送時間に余裕値が加算された一定値である。理論伝送時間は、並列プロセッサ装置が最高性能を発揮し得る、プロセッサエレメント−プロセッサエレメント間の伝送時間であり、シミュレーション等の手法により算出される。また、余裕値は、プロセッサエレメント−プロセッサエレメント間の物理的距離が上述した組毎に相違することに起因して生じる伝送時間の差を吸収するための値である。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、並列プロセッサ装置の負荷試験においては、過酷な使用条件での性能を適正に評価すべく、できるだけ高負荷の状態で試験を行うことが望ましい。しかしながら、従来においては、図３２（ａ）に示したプロセッサエレメントＰＥ0 〜ＰＥ4 において＜送信元＞と＜送信先＞とをランダムに組み合わせているため、図３２（ｂ）に示したように高負荷の状態で負荷試験を行うことができない場合があり、試験結果の信頼性が低下するという欠点があった。
【００１０】
すなわち、図３２（ａ）に示した例では、＜送信元＞のプロセッサエレメントと＜送信先＞のプロセッサエレメントとが１対１で対応する組み合わせとなっていることから、全ての＜送信元＞プロセッサエレメントから同時にパケットが送信されるため、高負荷の状態で負荷試験が行われる。
【００１１】
これに対して、図３２（ｂ）に示した組み合わせでは、プロセッサエレメントＰＥ3 において受信干渉が発生することから、負荷が低下する。つまり、図３２（ｂ）に示した例では、二つの＜送信元＞のプロセッサエレメントＰＥ2 およびＰＥ4 が、一つの＜送信先＞のプロセッサエレメントＰＥ3 へパケットを送信する組み合わせが図示されている。このような組み合わせの場合、＜送信元＞のプロセッサエレメントＰＥ2 およびプロセッサエレメントＰＥ4 からパケットがそれぞれ送信されると、これら二つのパケットは、クロスバネットワーク装置１を経由して同一のプロセッサエレメントＰＥ3 に到着する。このとき＜送信先＞のプロセッサエレメントＰＥ3 においては、一つのパケットしか受信できないため、二つのパケットが競合するという受信干渉が生じる。
【００１２】
実際には、伝送時間の相違により二つのパケットが同一時刻でプロセッサエレメントＰＥ3 に到着する可能性がほとんどないため、二つのパケットのうち、先に到着した一方のパケットがプロセッサエレメントＰＥ3 に受信されている間、他方のパケットが受信待ち状態となる。このように受信干渉が発生するような組み合わせでは、図３２（ａ）に示した組み合わせに比して、負荷が低下してしまうため、信頼性が高い試験結果を得ることができないのである。
【００１３】
また、従来の負荷試験においては、余裕値を含む期待値（理論値）を、複数のプロセッサエレメント−プロセッサエレメント間のそれぞれの伝送時間（測定結果）に一律に適用している旨を述べた。しかしながら、実際には、前述した物理的距離の相違に起因して、組毎にプロセッサエレメント−プロセッサエレメント間の伝送時間（測定結果）にばらつきが生じる。したがって、従来の負荷試験においては、ばらつきのある伝送時間に対して一定値の期待値を適用しているため、実態と相違する試験結果が得られる場合があり、試験結果の信頼性が低いという欠点があった。
【００１４】
また、従来の並列プロセッサ装置においては、＜送信元＞のプロセッサエレメントからパケットが送信されなかったり、＜送信元＞のプロセッサエレメントから送信されたパケットが、＜送信先＞のプロセッサエレメントに受信されなかったりといった障害が発生した際には、障害発生時の現象より異常箇所を特定する必要がある。しかしながら、従来の並列プロセッサ装置においては、プロセッサエレメントの台数が増えるにしたがって構成も複雑になるため、チェックすべき箇所が膨大になり、おのずと異常箇所を特定するまでに、多大な労力、時間を必要とする。特に、クロスバネットワーク装置１が故障した場合には、膨大な数のクロスバスイッチを一つ一つチェックしなければならないため、その作業量からしても、異常箇所の特定に困難を極める。
【００１５】
さらに、＜送信元＞のプロセッサエレメントで障害が発生した場合には、パケットの宛先が別の宛先に書き変わることで、当該パケットが全く別の＜送信先＞のプロセッサエレメントへ誤送される可能性がある。このような場合、当該パケットを本来受信すべき＜送信先＞のプロセッサエレメントは、当該パケットを受信できないため、受信タイムアウトにより異常を検出することになり、一方、誤送先のプロセッサエレメントは、受信するはずのないパケットを受信するため、異常を検出する。これに対して、実際に障害が発生している＜送信元＞のプロセッサエレメントは、とりあえずパケットを送信しているため、正常動作しているものとみなされる。このような二次障害が発生した場合には、異常箇所の特定がさらに難しくなる。
【００１６】
本発明は、上記に鑑みてなされたもので、信頼性が高い試験結果を得ることができ、迅速に異常箇所の特定を行うことができる障害診断装置および障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、請求項１にかかる発明は、パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の障害診断を行う障害診断装置において、送信元の演算手段および送信先の演算手段を１組として前記複数の演算手段を過不足なく組み合わせて、複数の組を決定する組決定手段（後述する実施の形態４のＣＰＵ４０A に相当）と、前記組を識別する識別子がデータに付加された識別子付加パケットを、それぞれの組に対応させて作成するパケット作成手段（後述する実施の形態４のＣＰＵ４０A に相当）と、前記識別子、当該識別子付加パケットの送信元の演算手段に関する情報、および当該識別子付加パケットの送信先の演算手段に関する情報からなる試験情報を記憶する記憶手段（後述する実施の形態４のメモリ４１A 〜４１E に相当）と、複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へ前記識別子付加パケットを送信させる送信制御手段（後述する実施の形態４のＣＰＵ４０A 〜４０E に相当）と、それぞれの送信先の演算手段における前記識別子付加パケットの受信状況に関する情報を収集する情報収集手段（後述する実施の形態４のＣＰＵ４０A に相当）と、前記情報収集手段の収集結果における識別子をキーとして、前記試験情報を参照することで障害診断を行う障害診断手段（後述する実施の形態４のＣＰＵ４０A に相当）とを備えることを特徴とする。
【００１８】
この請求項１にかかる発明によれば、異常箇所がない場合、複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へ識別子付加パケットが送信される。この場合、識別子付加パケットがネットワークを経由して送信先の演算手段にそれぞれ受信されるため、情報収集手段は、全ての識別子付加パケットが正常に受信されたという収集結果を得る。これにより、障害診断手段においては、異常箇所がないと診断される。一方、異常箇所がある場合、複数の送信先の演算手段においては、識別子付加パケットを正常受信した演算手段と、識別子付加パケットを受信しなかった演算手段とが存在する。この場合、情報収集手段は、それぞれの演算手段の受信状況（受信の有無）に関する情報を収集する。
【００１９】
そして、障害診断手段は、正常に受信された識別子付加パケットの識別子、および受信されなかった識別子付加パケットの識別子をキーとして試験情報を参照することで、上記受信状況を考慮して送信元の演算手段と送信先の演算手段との関係を把握し、異常箇所の特定を行うといった障害診断を行う。たとえば、試験情報を参照した結果、一つの送信元の演算手段から送信されるべき識別子付加パケットが、全ての送信先の演算手段に受信されていない場合、異常箇所として上記一つの送信元の演算手段が特定される。また、試験情報を参照した結果、一つの送信先の演算手段が全ての送信元の演算手段からそれぞれ送信された識別子付加パケットを受信しなかった場合、異常箇所として上記一つの送信先の演算手段を特定する。
【００２０】
このように、請求項１にかかる発明によれば、複数の演算手段を過不足なく組み合わせた場合の組を特定する識別子を付加した識別子付加パケットを送信し、試験情報に基づいて、送信先の演算手段の受信状況を考慮して送信元の演算手段と送信先の演算手段との関係を把握するようにしたので、迅速に異常箇所が特定される。
【００２１】
また、請求項２にかかる発明は、パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の障害診断に適用される障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体であって、送信元の演算手段および送信先の演算手段を１組として前記複数の演算手段を過不足なく組み合わせて、複数の組を決定させる組決定工程（後述する実施の形態４のステップＳＩ１に相当）と、前記組を識別する識別子がデータに付加された識別子付加パケットを、それぞれの組に対応させて作成させるパケット作成工程（後述する実施の形態４のステップＳＩ２に相当）と、前記識別子、当該識別子付加パケットの送信元の演算手段に関する情報、および当該識別子付加パケットの送信先の演算手段に関する情報からなる試験情報を記憶させる記憶工程（後述する実施の形態４のステップＳＩ２６に相当）と、複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へ前記識別子付加パケットを一斉に送信させる送信制御工程（後述する実施の形態４のステップＳＩ７およびステップＳＩ２７に相当）と、それぞれの送信先の演算手段における前記識別子付加パケットの受信状況に関する情報を収集させる情報収集工程（後述する実施の形態４のステップＳＩ２５に相当）と、前記情報収集工程の収集結果における識別子をキーとして、前記試験情報を参照することで障害診断を行わせる障害診断工程（後述する実施の形態４のステップＳＪ１〜ステップＳＪ１５に相当）とをコンピュータに実行させるための障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００２２】
この請求項２にかかる発明によれば、異常箇所がない場合に、複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へ識別子付加パケットが送信される。この場合、識別子付加パケットがネットワークを経由して送信先の演算手段にそれぞれ受信されるため、情報収集工程では、全ての識別子付加パケットが正常に受信されたという収集結果が得られる。これにより、障害診断工程においては、異常箇所がないと診断される。一方、異常箇所がある場合、複数の送信先の演算手段においては、識別子付加パケットを正常受信した演算手段と、識別子付加パケットを受信しなかった演算手段とが存在する。この場合、情報収集工程では、それぞれの演算手段の受信状況（受信の有無）に関する情報が収集される。
【００２３】
そして、障害診断工程では、正常に受信された識別子付加パケットの識別子、および受信されなかった識別子付加パケットの識別子をキーとして試験情報が参照されることで、上記受信状況が考慮された状態で送信元の演算手段と送信先の演算手段との関係が把握され、異常箇所の特定を行うといった障害診断が行われる。たとえば、試験情報を参照した結果、一つの送信元の演算手段から送信されるべき識別子付加パケットが、全ての送信先の演算手段に受信されていない場合に、異常箇所として上記一つの送信元の演算手段が特定される。また、試験情報を参照した結果、全ての送信元の演算手段からそれぞれ送信された識別子付加パケットが一つの送信先の演算手段により受信されなかった場合、異常箇所として上記一つの送信先の演算手段が特定される。
【００２４】
このように、請求項２にかかる発明によれば、複数の演算手段を過不足なく組み合わせた場合の組を特定する識別子を付加した識別子付加パケットを送信し、試験情報に基づいて、送信先の演算手段の受信状況を考慮して送信元の演算手段と送信先の演算手段との関係を把握するようにしたので、迅速に異常箇所が特定される。
【発明の効果】
【００２５】
請求項１、２にかかる発明によれば、複数の演算手段を過不足なく組み合わせた場合の組を特定する識別子を付加した識別子付加パケットを送信し、試験情報に基づいて、送信先の演算手段の受信状況を考慮して送信元の演算手段と送信先の演算手段との関係を把握するようにしたので、迅速に異常箇所が特定されるという効果を奏する。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して本発明にかかる障害診断装置および障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態１〜４について詳細に説明する。
【００２７】
（実施の形態１）
図１は、本発明にかかる実施の形態１の構成を示すブロック図である。図１には、並列プロセッサ装置を構成するクロスバネットワーク装置１０およびプロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ3 が図示されており、以下に説明する実施の形態１の負荷試験装置は、上記並列プロセッサ装置における負荷試験を行う装置である。並列プロセッサ装置は、スーパコンピュータの一種であり、プロセッサエレメントＰＥ0 〜ＰＥ3 に並列処理を実行させることにより超高速演算を実現する装置である。
【００２８】
図１において、プロセッサエレメントＰＥ0 〜ＰＥ3 は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、ＣＰＵ、メモリ等をそれぞれ有している。すなわち、プロセッサエレメントＰＥ0 は、各部の制御、演算の実行を行うＣＰＵ１３0 と、負荷試験プログラム、演算プログラム、演算データ等を記憶するメモリ１４0 と、ＣＰＵ１３0 の制御により演算データ等をパケットとして送信する送信部１５0 と、パケットを受信する受信部１６0 とを有している。上記負荷試験プログラムは、並列プロセッサ装置の負荷試験を行うためのプログラムであり、この負荷試験プログラムの詳細については、後述する。
【００２９】
他のプロセッサエレメントＰＥ1 〜ＰＥ3 も、プロセッサエレメントＰＥ0 と同様の構成とされている。すなわち、プロセッサエレメントＰＥ1 は、各部の負荷試験制御等を行うＣＰＵ１３1 と、負荷試験プログラム等を記憶するメモリ１４1 と、パケットを送信する送信部１５1 と、パケットを受信する受信部１６1 とを有している。同様にして、プロセッサエレメントＰＥ2 は、ＣＰＵ１３2 、メモリ１４2 、送信部１５2 および受信部１６2 を有しており、プロセッサエレメントＰＥ3 は、ＣＰＵ１３3 、メモリ１４3 、送信部１５3 および受信部１６3 を有している。
【００３０】
クロスバネットワーク装置１０は、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ3 間を相互接続する装置であり、後述する同期処理に用いられるレジスタ群１１と、Ｎ×Ｎ（同図では４×４）スイッチ構成のクロスバスイッチ群１２と有している。このクロスバネットワーク装置１０においては、入線側（送信路側）がプロセッサエレメントＰＥ0 〜ＰＥ3 の送信部１５0 〜１５3 に接続されており、出線側（受信路側）がプロセッサエレメントＰＥ0 〜ＰＥ3 の受信部１６0 〜１６3 に接続されている。このように、クロスバネットワーク装置１０は、Ｎ×Ｎ（同図では４×４）スイッチ構成とされており、任意の入力線（送信部）−出力線（受信部）間を接続する装置である。
【００３１】
レジスタ群１１は、図２に示したレジスタ１１PE0 〜１１PE3 から構成されており、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ3 の同期をとるために用いられる。これらレジスタ１１PE0 〜１１PE3 は、プロセッサエレメントＰＥ0 〜ＰＥ3 にそれぞれ対応して設けられている。レジスタ１１PE0 は、プロセッサエレメントＰＥ0 からのアクセスにより、「１」データまたは「０」データを格納する。なお、プロセッサエレメントＰＥ0 は、レジスタ１１PE0 のみに「１」データまたは「０」データの格納を行うことができるが、他のレジスタ１１PE1 〜１１PE3 に対して、データの格納を行うことができない。同様にして、レジスタ１１PE1 〜１１PE3 は、プロセッサエレメントＰＥ1 〜ＰＥ3 からのアクセスにより、「１」データまたは「０」データをそれぞれ格納する。
【００３２】
また、レジスタ群１１（レジスタ１１PE0 〜１１PE3 ）は、全てのプロセッサエレメントＰＥ0 〜ＰＥ3 により、格納されたデータが共通で参照されるようになっている。すなわち、プロセッサエレメントＰＥ0 は、全てのレジスタ１１PE0 〜１１PE3 に格納されたデータの参照を行うことができる。他のプロセッサエレメントＰＥ1 〜ＰＥ3 も同様にして、全てのレジスタ１１PE0 〜１１PE3 に格納されたデータの参照を行うことができる。同期処理において、プロセッサエレメントＰＥ0 〜ＰＥ3 は、レジスタ１１PE0 〜１１PE3 に「１」データ（または「０」データ）を個別的にそれぞれ書き込む。その後、プロセッサエレメントＰＥ0 〜ＰＥ3 は、一定時間間隔をおいてレジスタ群１１（レジスタ１１PE0 〜１１PE3 ）にポーリングをかけることで、保持されているデータを参照する。そして、プロセッサエレメントＰＥ0 〜ＰＥ3 は、レジスタ群１１に保持されているデータが全て「１」（または「０」）になったとき、同期がとられたことを認識する。
【００３３】
クロスバスイッチ群１２は、図３に示すように、４×４配列のクロスバスイッチＳ00〜Ｓ33という都合１６個のクロスバスイッチを有しており、プロセッサエレメントＰＥ0 〜ＰＥ3 のうち、任意の組み合わせのプロセッサエレメント間を相互接続する。クロスバスイッチＳ00〜Ｓ33の添字（２桁の数字）において、１桁目の添字は、送信側のプロセッサエレメントＰＥ0 〜ＰＥ3 の添字に対応している。同様にして、２桁目の添字は、受信側のプロセッサエレメントＰＥ0 〜ＰＥ3 の添字に対応している。
【００３４】
たとえば、クロスバスイッチＳ01は、送信側のプロセッサエレメントＰＥ1 と、受信側のプロセッサエレメントＰＥ0 とを相互接続するスイッチである。同様にして、クロスバスイッチＳ23は、送信側のプロセッサエレメントＰＥ3 と、受信側のプロセッサエレメントＰＥ2 とを相互接続するスイッチである。ここで、クロスバスイッチＳ00、Ｓ11、Ｓ22およびＳ33は、受信側と送信側とが同一のプロセッサエレメントＰＥ0 、ＰＥ1 、ＰＥ2 、ＰＥ3 における送信部と受信部とを相互接続するスイッチである。たとえば、クロスバスイッチＳ11は、プロセッサエレメントＰＥ1 の送信部１５1 と受信部１６1 とを相互接続するスイッチである。
【００３５】
つぎに、上述した負荷試験プログラムについて図４を参照して説明する。ここでいう負荷試験プログラムは、図４に示したマスタプログラムＭＰ、スレーブプログラムＳＰ0 〜ＳＰ3 を指す。マスタプログラムＭＰとスレーブプログラムＳＰ0 〜ＳＰ3 とは、マスタ（主）−スレーブ（従）関係にあり、マスタプログラムＭＰは、スレーブプログラムＳＰ0 〜ＳＰ3 の実行を制御するためのプログラムであり、プロセッサエレメントＰＥ0 のメモリ１４0 （図１参照）に記憶されている。このマスタプログラムＭＰは、ＣＰＵ１３0 （図１参照）により実行される。なお、マスタプログラムＭＰは、プロセッサエレメントＰＥ0 〜ＰＥ3 のうちいずれか一つのプロセッサエレメントのメモリに記憶されていればよい。スレーブプログラムＳＰ0 〜ＳＰ3 は、プロセッサエレメントＰＥ0 〜ＰＥ3 のメモリ１４0 〜１４3 にそれぞれ記憶されており、マスタプログラムＭＰの制御により、負荷試験を行うためのプログラムである。これらスレーブプログラムＳＰ0 〜ＳＰ3 は、ＣＰＵ１３0 〜１３3 によりそれぞれ実行される。
【００３６】
（伝送時間の測定）
つぎに、上述した実施の形態１の動作について説明する。ここで、実施の形態１においては、負荷試験に必要な伝送時間を測定する測定処理が行われた後に、上記伝送時間に基づいて負荷試験が行われる。はじめに、図５〜図８を参照して測定処理について説明する。この測定処理においては、図５（ａ）および（ｂ）に示したようにプロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ3 のうち一つのプロセッサエレメントＰＥ0 が基準プロセッサエレメントとして選択され、この基準プロセッサエレメントと他のプロセッサエレメントとの間の往復路におけるパケットの伝送時間の測定が行われる。さらに、測定処理においては、基準プロセッサエレメント−基準プロセッサエレメント間におけるパケットの伝送時間の測定も行われる。ここで、伝送時間とは、＜送信元＞の基準プロセッサエレメントからパケットが送信されてから、他のプロセッサエレメント（基準プロセッサエレメント）から送信されたパケットが＜送信元＞の基準プロセッサエレメントに受信されるまでの時間をいう。つまり、ここでいう伝送時間は、往復路における伝送時間を指す。
【００３７】
上記往復路は、基準プロセッサエレメント→クロスバネットワーク装置１０→他のプロセッサエレメント→クロスバネットワーク装置１０→基準プロセッサエレメントという具合に、他のプロセッサエレメントからの折り返し経路である。また、基準プロセッサエレメント−基準プロセッサエレメント間における往復路は、基準プロセッサエレメント→クロスバネットワーク装置１０→基準プロセッサエレメントという具合に、クロスバネットワーク装置１０からの折り返し経路である。図５（ａ）には、基準プロセッサエレメントをプロセッサエレメントＰＥ0 とした場合について図示されており、図５（ｂ）には、基準プロセッサエレメントをプロセッサエレメントＰＥ1 とした場合について図示されている。以下、同様にして、プロセッサエレメントＰＥ2 →プロセッサエレメントＰＥ3 という具合に基準プロセッサエレメントが順次選択されることで、測定処理が行われる。
【００３８】
つぎに、図６〜図８に示したフローチャートを参照しつつ、プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間の測定処理について説明する。図６において、ステップＳＡ１〜ステップＳＡ６までは、図４に示したプロセッサエレメントＰＥ0 （マスタプログラムＭＰ）により実行される処理である。また、ステップＳＡ１、ステップＳＡ７〜ステップＳＡ１６およびステップＳＡ６は、上述した基準プロセッサエレメントとして選択された一つのプロセッサエレメント（スレーブプログラム）により実行される処理である。さらに、ステップＳＡ１、ステップＳＡ１７〜ステップＳＡ２０およびステップＳＡ６は、基準プロセッサエレメント以外の他のプロセッサエレメント（スレーブプログラム）により実行される処理である。
【００３９】
なお、実際には、ＣＰＵ１３0 〜１３3 （図１参照）により、マスタプログラムＭＰ、スレーブプログラムＳＰ0 〜ＳＰ3 がそれぞれ実行されるが、以下においては、説明の便宜上、プロセッサエレメントＰＥ0 〜ＰＥ3 により、マスタプログラムＭＰ、スレーブプログラムＳＰ0 〜ＳＰ3 が実行されるものとして説明する。
【００４０】
図４に示したプロセッサエレメントＰＥ0 においてマスタプログラムＭＰが起動されると、図６に示したステップＳＡ１では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 （スレーブプログラムＳＰ0 ）〜プロセッサエレメントＰＥ3 （スレーブプログラムＳＰ3 ）に対して同期処理（図７参照）を行うように指示する。これにより、図７に示したステップＳＢ１では、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ3 は、図２に示したクロスバネットワーク装置１０にアクセスすることで、レジスタ１１PE0 〜１１PE3 に「０」データをそれぞれ格納した後、ステップＳＢ２へ進む。ここで、「０」データが格納されるタイミングは、アクセス時間の相違によりレジスタ１１PE0 〜１１PE3 毎にそれぞれ異なる。
【００４１】
ステップＳＢ２では、プロセッサエレメントＰＥ0 〜ＰＥ3 は、一定時間間隔をおいてレジスタ群１１にポーリングをかけることで、レジスタ１１PE0 〜１１PE3 の全てに「０」データが格納されているか否かを判断し、判断結果が「Ｙｅｓ」となるまで同判断を繰り返す。そして、レジスタ１１PE0 〜１１PE3 の全てに「０」データが格納されると、プロセッサエレメントＰＥ0 〜ＰＥ3 は、ステップＳＢ２の判断結果を「Ｙｅｓ」として図６に示したメインルーチンへそれぞれ戻る。つまり、この時点では、プロセッサエレメントＰＥ0 〜ＰＥ3 の同期がとられているのである。
【００４２】
図６に示したステップＳＡ２では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 〜ＰＥ3 のなかから一つのプロセッサエレメントを基準プロセッサエレメントとして選択する。また、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、上記基準プロセッサエレメントへ測定開始を指示するとともに、他のプロセッサエレメントへ返答処理開始を指示する。ここで、返答処理とは、基準プロセッサエレメントより送信されたパケットを受信した後、返答用のパケットを基準プロセッサエレメントへ送信する処理をいう。
【００４３】
この場合、ステップＳＡ２では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、基準プロセッサエレメントとして図５（ａ）に示したプロセッサエレメントＰＥ0 （スレーブプログラムＳＰ0 ）を選択したものとする。したがって、ステップＳＡ２では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 （スレーブプログラムＳＰ0 ）に対して測定開始を指示するとともに、他のプロセッサエレメントＰＥ1 〜ＰＥ3 （スレーブプログラムＳＰ1 〜ＳＰ3 ）に対して返答処理開始を指示した後、ステップＳＡ３へ進む。ステップＳＡ３では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、基準プロセッサエレメント（この場合、プロセッサエレメントＰＥ0 （スレーブプログラムＳＰ0 ））より測定終了の通知を受けたか否かを判断する。この場合、測定終了の通知を受けていないため、ステップＳＡ３では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、同判断を繰り返す。
【００４４】
そして、ステップＳＡ２で測定開始を指示されると、ステップＳＡ７では、プロセッサエレメントＰＥ0 （スレーブプログラムＳＰ0 ）は、判断結果を「Ｙｅｓ」としてステップＳＡ８へ進む。この処理と並行して、ステップＳＡ２で返答処理開始を指示されると、ステップＳＡ１７では、他のプロセッサエレメントＰＥ1 〜ＰＥ3 は、判断結果を「Ｙｅｓ」としてステップＳＡ１８へ進む。ステップＳＡ１８では、他のプロセッサエレメントＰＥ1 〜ＰＥ3 は、基準プロセッサエレメント（プロセッサエレメントＰＥ0 ）からのパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「Ｎｏ」として同判断を繰り返す。
【００４５】
ステップＳＡ８では、プロセッサエレメントＰＥ0 は、図５（ａ）に示した他のプロセッサエレメントＰＥ1 〜ＰＥ3 のうち、たとえば、プロセッサエレメントＰＥ3 に対して送信すべきパケットの送信時刻を記録した後、ステップＳＡ９へ進む。ステップＳＡ９では、プロセッサエレメントＰＥ0 は、上記プロセッサエレメントＰＥ3 宛のパケットを送信部１５0 （図１参照）から送信した後、ステップＳＡ１０へ進む。ステップＳＡ１０では、プロセッサエレメントＰＥ0 は、プロセッサエレメントＰＥ3 からの返答用のパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「Ｎｏ」として同判断を繰り返す。そして、プロセッサエレメントＰＥ3 宛のパケットは、図３に示したクロスバスイッチＳ30がオンされることにより、クロスバネットワーク装置１０を介してプロセッサエレメントＰＥ3 へ送信される。
【００４６】
そして、プロセッサエレメントＰＥ3 の受信部１６3 （図１参照）により上記パケットが受信されると、ステップＳＡ１８では、プロセッサエレメントＰＥ3 は、判断結果を「Ｙｅｓ」としてステップＳＡ１９へ進む。ステップＳＡ１９では、プロセッサエレメントＰＥ3 は、送信部１５3 （図１参照）から返答用のパケットをプロセッサエレメントＰＥ0 宛に送信した後、ステップＳＡ２０へ進む。ステップＳＡ２０では、プロセッサエレメントＰＥ3 は、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）より測定終了を指示されたか否かを判断し、この場合、未指示であるため、判断結果を「Ｎｏ」としてステップＳＡ１７へ戻る。
【００４７】
また、プロセッサエレメントＰＥ0 宛のパケットは、図３に示したクロスバスイッチＳ03 がオンされることにより、クロスバネットワーク装置１０を介してプロセッサエレメントＰＥ0 へ送信される。そして、プロセッサエレメントＰＥ0 の受信部１６0 （図１参照）により上記パケットが受信されると、ステップＳＡ１０では、プロセッサエレメントＰＥ0 は、判断結果を「Ｙｅｓ」としてステップＳＡ１１へ進む。ステップＳＡ１１では、プロセッサエレメントＰＥ0 は、返答用のパケットの受信時刻を記録した後、ステップＳＡ１２へ進む。ステップＳＡ１２では、プロセッサエレメントＰＥ3 宛のパケットの送信回数が規定回数ｎ1 （たとえば、５回）に達したか否かを判断する。
【００４８】
この場合、送信回数が１回であるため、プロセッサエレメントＰＥ0 は、判断結果を「Ｎｏ」として、ステップＳＡ８へ戻る。以後、ステップＳＡ１２の判断結果が「Ｙｅｓ」となるまで、ステップＳＡ８〜ステップＳＡ１１では、プロセッサエレメントＰＥ0 は、同一のプロセッサエレメントＰＥ3 へパケットを送信する処理、送信時刻の記録、および受信時刻の記録を行う。この場合、プロセッサエレメントＰＥ0 は、１回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。このように、データ長を可変させてパケットを送信するのは、後述する伝送時間（測定結果）の誤差を少なくするためである。
【００４９】
そして、プロセッサエレメントＰＥ3 宛のパケットの送信回数が規定回数ｎ1 （５回）に達すると、ステップＳＡ１２では、プロセッサエレメントＰＥ0 は、判断結果を「Ｙｅｓ」としてステップＳＡ１３へ進む。この時点では、プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ3 間における都合５回分の送信時刻および受信時刻に関するデータが記録されている。ステップＳＡ１３では、プロセッサエレメントＰＥ0 は、プロセッサエレメント（プロセッサエレメントＰＥ0 〜ＰＥ3 ）の全てにパケットを送信したか否かを判断する。この場合、プロセッサエレメントＰＥ3 のみにパケットを送信した状態であるため、プロセッサエレメントＰＥ0 は、つぎの送信先の候補として図５（ａ）に示したプロセッサエレメントＰＥ2 を選択した後、ステップＳＡ１３の判断結果を「Ｎｏ」として、ステップＳＡ８へ戻る。
【００５０】
ステップＳＡ８では、プロセッサエレメントＰＥ0 は、図５（ａ）に示した、つぎのプロセッサエレメントＰＥ2 に対して送信すべきパケットの送信時刻を記録した後、ステップＳＡ９へ進む。ステップＳＡ９では、プロセッサエレメントＰＥ0 は、上記プロセッサエレメントＰＥ2 宛のパケットを送信部１５0 （図１参照）から送信した後、ステップＳＡ１０へ進む。ステップＳＡ１０では、プロセッサエレメントＰＥ0 は、プロセッサエレメントＰＥ2 からの返答用のパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「Ｎｏ」として同判断を繰り返す。そして、プロセッサエレメントＰＥ2 宛のパケットは、図３に示したクロスバスイッチＳ20がオンされることにより、クロスバネットワーク装置１０を介してプロセッサエレメントＰＥ2 へ送信される。
【００５１】
そして、プロセッサエレメントＰＥ2 の受信部１６2 （図１参照）により上記パケットが受信されると、ステップＳＡ１８では、プロセッサエレメントＰＥ2 は、判断結果を「Ｙｅｓ」としてステップＳＡ１９へ進む。ステップＳＡ１９では、プロセッサエレメントＰＥ2 は、送信部１５2 （図１参照）から返答用のパケットをプロセッサエレメントＰＥ0 宛に送信した後、ステップＳＡ２０へ進む。ステップＳＡ２０では、プロセッサエレメントＰＥ2 は、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）より測定終了を指示されたか否かを判断し、この場合、未指示であるため、判断結果を「Ｎｏ」としてステップＳＡ１７へ戻る。
【００５２】
以後、ステップＳＡ８〜ステップＳＡ１２、およびステップＳＡ１７〜ステップＳＡ１９では、上述したプロセッサエレメントＰＥ3 の場合と同様にして、プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ2 間においてパケットの送信／受信が行われる。そして、プロセッサエレメントＰＥ2 宛のパケットの送信回数が規定回数ｎ1 に達すると、プロセッサエレメントＰＥ0 は、ステップＳＡ１２の判断結果を「Ｙｅｓ」として、ステップＳＡ１３へ進む。この時点では、プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ2 間における都合５回分の送信時刻および受信時刻に関するデータが記録されている。ステップＳＡ１３では、プロセッサエレメントＰＥ0 は、つぎの送信先の候補として図５（ａ）に示したプロセッサエレメントＰＥ1 を選択した後、判断結果を「Ｎｏ」として、ステップＳＡ８へ戻る。
【００５３】
以後、ステップＳＡ８〜ステップＳＡ１２では、プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ1 間においてパケットの送信／受信が行われる。そして、プロセッサエレメントＰＥ1 宛のパケットの送信回数が規定回数ｎ1 に達すると、プロセッサエレメントＰＥ0 は、ステップＳＡ１２の判断結果を「Ｙｅｓ」として、ステップＳＡ１３へ進む。ステップＳＡ１３では、プロセッサエレメントＰＥ0 は、最後の送信先の候補として図５（ａ）に示したプロセッサエレメントＰＥ0 、すなわち、自局（自身）を選択した後、判断結果を「Ｎｏ」として、ステップＳＡ８へ戻る。
【００５４】
ステップＳＡ８では、プロセッサエレメントＰＥ0 は、図５（ａ）に示した、自局へ送信すべきパケットの送信時刻を記録した後、ステップＳＡ９へ進む。ステップＳＡ９では、プロセッサエレメントＰＥ0 は、自局宛のパケットを送信部１５0 （図１参照）から送信した後、ステップＳＡ１０へ進む。ステップＳＡ１０では、プロセッサエレメントＰＥ0 は、自局宛のパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「Ｎｏ」として同判断を繰り返す。そして、プロセッサエレメントＰＥ0 宛のパケットは、図３に示したクロスバスイッチＳ00がオンされることにより、クロスバネットワーク装置１０からプロセッサエレメントＰＥ0 へ折り返し送信される。
【００５５】
プロセッサエレメントＰＥ0 の受信部１６0 （図１参照）により上記パケットが受信されると、ステップＳＡ１０では、プロセッサエレメントＰＥ0 は、判断結果を「Ｙｅｓ」としてステップＳＡ１１へ進む。ステップＳＡ１１では、プロセッサエレメントＰＥ0 は、パケットの受信時刻を記録した後、ステップＳＡ１２へ進む。ステップＳＡ１２では、プロセッサエレメントＰＥ0 は、判断結果を「Ｎｏ」として、ステップＳＡ８へ戻る。以後、ステップＳＡ１２の判断結果が「Ｙｅｓ」となるまで、ステップＳＡ８〜ステップＳＡ１１では、プロセッサエレメントＰＥ0 は、自局へパケットを送信する処理、送信時刻の記録、および受信時刻の記録を行う。
【００５６】
そして、プロセッサエレメントＰＥ0 （基準プロセッサエレメント）がプロセッサエレメントＰＥ0 〜ＰＥ3 の全てにパケットを送信し終えると、ステップＳＡ１３では、プロセッサエレメントＰＥ0 は、判断結果を「Ｙｅｓ」として、ステップＳＡ１４へ進む。ステップＳＡ１４では、プロセッサエレメントＰＥ0 は、つぎの（１ａ）項〜（４ａ）項までのそれぞれの往復路におけるパケットの伝送時間を集計した後、期待値データを作成し、ステップＳＡ１５へ進む。
【００５７】
（１ａ）プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ3 間の往復路
（２ａ）プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ2 間の往復路
（３ａ）プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ1 間の往復路
（４ａ）プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ0 間の往復路
【００５８】
すなわち、プロセッサエレメントＰＥ0 は、（１ａ）項の往復路について、プロセッサエレメントＰＥ3 からのパケットの受信時刻（ステップＳＡ１１）と、プロセッサエレメントＰＥ3 宛のパケットの送信時刻（ステップＳＡ８）との差を伝送時間として求める。ここで、（１ａ）項の往復路については、規定回数ｎ1 （ステップＳＡ１２）分の伝送時間が求められる。つぎに、プロセッサエレメントＰＥ0 は、上記規定回数ｎ1 分の伝送時間に基づいて、（１ａ）項の往復路における期待値データを作成する。この期待値データは、実際の演算処理で、（１ａ）項の往復路にパケットを伝送させた際にかかるであろう伝送時間であり、後述する負荷試験に用いられるデータである。一例として、上記期待値データは、規定回数ｎ1 分の伝送時間の平均値である。また、プロセッサエレメントＰＥ0 は、上述した（１ａ）項の往復路の場合と同様の手法により、（２ａ）項〜（４ａ）項のそれぞれの往復路における伝送時間および期待値データをそれぞれ求める。ここでは、（１ａ）項〜（４ａ）項までのそれぞれの往復路について、図５（ａ）に示したように期待値データｔｉｍｅ（１）〜ｔｉｍｅ（４）が得られたものとする。
【００５９】
ステップＳＡ１５では、プロセッサエレメントＰＥ0 （スレーブプログラムＳＰ0 ）は、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）へ、期待値データｔｉｍｅ（１）〜ｔｉｍｅ（４）とともに、測定終了を通知した後、ステップＳＡ１６へ進む。ステップＳＡ１６では、プロセッサエレメントＰＥ0 （スレーブプログラムＳＰ0 ）は、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）より測定終了の指示があるか否かを判断し、この場合、判断結果を「Ｎｏ」としてステップＳＡ７へ戻る。
【００６０】
また、プロセッサエレメントＰＥ0 （スレーブプログラムＳＰ0 ）より、期待値データｔｉｍｅ（１）〜ｔｉｍｅ（４）、および測定終了の指示を受けると、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、期待値データｔｉｍｅ（１）〜ｔｉｍｅ（４）をメモリ１４0 （図１参照）に記憶させた後、ステップＳＡ３の判断結果を「Ｙｅｓ」として、ステップＳＡ４へ進む。ステップＳＡ４では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、全てのプロセッサエレメント（基準プロセッサエレメント）に関する測定が終了したか否かを判断する。ここでは、プロセッサエレメントＰＥ0 〜ＰＥ3 をそれぞれ基準プロセッサエレメントとして測定を行ったか否かが判断される。この場合、プロセッサエレメントＰＥ0 （スレーブプログラムＳＰ0 ）を基準プロセッサエレメントとした測定しか行われていないため、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、ステップＳＡ４の判断結果を「Ｎｏ」として、ステップＳＡ２へ戻る。
【００６１】
ステップＳＡ２では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 〜ＰＥ3 のなかからつぎの基準プロセッサエレメントとして、図５（ｂ）に示したプロセッサエレメントＰＥ1 を選択する。つぎに、プロセッサエレメントＰＥ0 は、前述した動作と同様にして、プロセッサエレメントＰＥ1 （基準プロセッサエレメント）へ測定開始を指示するとともに、他のプロセッサエレメントへ、返答処理開始を指示する。これにより、前述したプロセッサエレメントＰＥ0 （基準プロセッサエレメント）の場合と同様にして、プロセッサエレメントＰＥ1 を基準プロセッサエレメントとした測定が行われる。すなわち、この測定においては、図５（ｂ）に示したように、つぎの（１ｂ）項〜（４ｂ）項のそれぞれの往復路における期待値データＴｉｍｅ（５）〜ｔｉｍｅ（８）がそれぞれ得られる。
【００６２】
（１ｂ）プロセッサエレメントＰＥ1 −プロセッサエレメントＰＥ0 間の往復路
（２ｂ）プロセッサエレメントＰＥ1 −プロセッサエレメントＰＥ3 間の往復路
（３ｂ）プロセッサエレメントＰＥ1 −プロセッサエレメントＰＥ2 間の往復路
（４ｂ）プロセッサエレメントＰＥ1 −プロセッサエレメントＰＥ1 間の往復路
【００６３】
そして、上記プロセッサエレメントＰＥ1 （基準プロセッサエレメント）に関する測定が終了し、プロセッサエレメントＰＥ1 から測定終了の通知を受けると、ステップＳＡ４では、プロセッサエレメントＰＥ0 は、判断結果を「Ｎｏ」として、ステップＳＡ２へ戻り、上述した工程を繰り返す。すなわち、この場合には、プロセッサエレメントＰＥ2 （基準プロセッサエレメント）に続いて、プロセッサエレメントＰＥ3 （基準プロセッサエレメント）に関する測定が行われることで、つぎの（１ｃ）項〜（４ｃ）項、および（１ｄ）項〜（４ｄ）項のそれぞれの往復路における期待値データがそれぞれ得られる。
【００６４】
（１ｃ）プロセッサエレメントＰＥ2 −プロセッサエレメントＰＥ1 間の往復路
（２ｃ）プロセッサエレメントＰＥ2 −プロセッサエレメントＰＥ0 間の往復路
（３ｃ）プロセッサエレメントＰＥ2 −プロセッサエレメントＰＥ3 間の往復路
（４ｃ）プロセッサエレメントＰＥ2 −プロセッサエレメントＰＥ2 間の往復路
【００６５】
（１ｄ）プロセッサエレメントＰＥ3 −プロセッサエレメントＰＥ2 間の往復路
（２ｄ）プロセッサエレメントＰＥ3 −プロセッサエレメントＰＥ1 間の往復路
（３ｄ）プロセッサエレメントＰＥ3 −プロセッサエレメントＰＥ0 間の往復路
（４ｄ）プロセッサエレメントＰＥ3 −プロセッサエレメントＰＥ3 間の往復路
【００６６】
そして、プロセッサエレメントＰＥ0 〜ＰＥ3 をそれぞれ基準プロセッサエレメントとした全測定が終了すると、ステップＳＡ４では、プロセッサエレメントＰＥ0 は、判断結果を「Ｙｅｓ」としてステップＳＡ５へ進む。ステップＳＡ５では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）へ測定終了をそれぞれ指示した後、ステップＳＡ６へ進む。また、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）より測定終了の指示を受けると、ステップＳＡ１６およびステップＳＡ２０では、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、判断結果を「Ｙｅｓ」として、ステップＳＡ６へそれぞれ進む。
【００６７】
ステップＳＡ６では、前述したステップＳＡ１と同様にして、同期処理（図８参照）が行われる。すなわち、図８に示したステップＳＣ１では、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ3 は、図２に示したクロスバネットワーク装置１０にアクセスすることで、レジスタ１１PE0 〜１１PE3 に「１」データをそれぞれ格納した後、ステップＳＣ２へ進む。ステップＳＣ２では、プロセッサエレメントＰＥ0 〜ＰＥ3 は、一定時間間隔をおいてレジスタ群１１にポーリングをかけることで、レジスタ１１PE0 〜１１PE3 の全てに「１」データが格納されているか否かを判断し、判断結果が「Ｙｅｓ」となるまで同判断を繰り返す。そして、レジスタ１１PE0 〜１１PE3 の全てに「１」データが格納されると、プロセッサエレメントＰＥ0 〜ＰＥ3 は、ステップＳＣ２の判断結果を「Ｙｅｓ」として、一連の測定処理を終了する。この測定処理により得られた期待値データは、プロセッサエレメントＰＥ0 のメモリ１４0 にそれぞれ記憶されている。
【００６８】
（負荷試験）
つぎに、上述した伝送時間の測定処理により得られた期待値データ（伝送時間）に基づく負荷試験について、図９〜図１１を参照して説明する。この負荷試験は、図９（ａ）に示したように、プロセッサエレメントＰＥ0 〜ＰＥ3 において組を決めておき、組をなすプロセッサエレメント間でパケットを一斉に送信する試験である。さらに、負荷試験では、上述した測定処理と同様にして、プロセッサエレメント−プロセッサエレメント間における往復路の伝送時間が測定され、この伝送時間と期待値データとを比較することで、負荷特性が評価される。ここで、注意すべきは、測定処理および負荷試験は、伝送時間を測定する点で共通しているが、伝送時間を測定する条件が異なる。すなわち、測定処理では、一つの組をなすプロセッサエレメント間毎に伝送時間の測定が順次行われる。これに対して、負荷試験は、複数の組をなすプロセッサエレメント間において一斉に伝送時間の測定を行う点で、測定処理と異なる。
【００６９】
図９（ａ）に示した例では、つぎの（１ｅ）項〜（４ｅ）項の組み合わせが図示されている。
＜送信元＞                     ＜送信先＞
（１ｅ）プロセッサエレメントＰＥ0 −  プロセッサエレメントＰＥ1
（２ｅ）プロセッサエレメントＰＥ1 − プロセッサエレメントＰＥ0
（３ｅ）プロセッサエレメントＰＥ2 − プロセッサエレメントＰＥ3
（４ｅ）プロセッサエレメントＰＥ3 −  プロセッサエレメントＰＥ2
【００７０】
ここで、プロセッサエレメントＰＥ0 〜ＰＥ3 における組み合わせは、組み合わせテーブル（図１０参照）に示したように組番号１〜２４までの都合２４種類存在する。図９（ａ）に示した組み合わせは、図１０に示した組み合わせテーブルにおける組番号８の組み合わせに相当する。すなわち、図１０に示した組番号８のＰＥ番号（０−１、１−０、２−３、３−２）は、上述した（１ｅ）項〜（４ｅ）項に対応している。ここで、ＰＥ番号におけるハイフン（−）の前の数字は、＜送信元＞の添字を意味しており、ハイフンの後の数字は、＜送信先＞の添字を意味している。また、図１０に示した組み合わせテーブルは、プロセッサエレメントＰＥ0 のメモリ１４0 に記憶されており、マスタプログラムＭＰの実行中に参照される。
【００７１】
また、プロセッサエレメントの台数が増えるにしたがって、組み合わせテーブル（図１０参照）における組み合わせ（組番号）が増える。したがって、組み合わせが比較的少ない場合には、全ての組み合わせに関する負荷試験を短時間で行えるが、組み合わせが非常に多い場合には、全ての組み合わせに関する負荷試験が終了するまでに膨大な時間を要する。そこで、以下に説明する負荷試験においては、組み合わせテーブルにおける全ての組み合わせの中から、いくつかの組み合わせを選択することで、負荷試験の時間を短縮化している。なお、負荷試験に要する時間を無視できる場合には、組み合わせテーブルにおける全ての組み合わせに関する負荷試験を行うようにしてもよい。
【００７２】
ここで、図９（ａ）に示したプロセッサエレメントの組み合わせにおける負荷試験の概要について説明する。図９（ａ）において、上記（１ｅ）項〜（４ｅ）項のプロセッサエレメントＰＥ0 〜ＰＥ3 （＜送信元＞）は、プロセッサエレメントＰＥ1 〜ＰＥ2 （＜送信先＞）に対して、一斉にパケットを送信する。そして、プロセッサエレメントＰＥ1 〜ＰＥ2 （＜送信先＞）によりパケットがそれぞれ受信されると、プロセッサエレメントＰＥ1 〜ＰＥ2 （＜送信先＞）は、プロセッサエレメントＰＥ0 〜ＰＥ3 （＜送信元＞）へパケットをそれぞれ送信（返送）する。そして、プロセッサエレメントＰＥ0 〜ＰＥ3 （＜送信元＞）によりパケットがそれぞれ受信されると、プロセッサエレメントＰＥ0 〜ＰＥ3 （＜送信元＞）は、パケットの受信時刻と送信時刻との差を伝送時間としてそれぞれ求め、この伝送時間と期待値データとをそれぞれ比較することで、負荷特性を評価する。
【００７３】
つぎに、図１１に示したフローチャートを参照しつつ、負荷試験について詳細に説明する。図１１に示したステップＳＤ１〜ステップＳＤ７は、図４に示したプロセッサエレメントＰＥ0 （マスタプログラムＭＰ）により実行される処理であり、ステップＳＤ８〜ステップＳＤ１９、ステップＳＤ３、ステップＳＤ５およびステップＳＤ７は、図４に示したプロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）により実行される処理である。
【００７４】
前述した測定処理（図６参照）が終了すると、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）が図１１に示したステップＳＤ１の処理を実行するとともに、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）はステップＳＤ８の処理を実行する。ステップＳＤ８では、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）より試験開始の指示があったか否かを判断し、この場合、判断結果を「Ｎｏ」として同判断を繰り返す。
【００７５】
一方、ステップＳＤ１では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、組み合わせテーブル（図１０参照）を参照することで、プロセッサエレメントＰＥ0 〜ＰＥ3 における組を決定する。この場合、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、図１０に示した組み合わせテーブルの中から、たとえば、組番号８の組み合わせ（０−１、１−０、２−３、３−２）を選択する。したがって、図９（ａ）に示したように１回目の負荷試験においては、上記組番号８の組み合わせに基づいて負荷試験が実行される。
【００７６】
つぎに、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）へ、組番号８の組み合わせ、および試験開始を通知した後、ステップＳＤ２へ進む。これにより、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、１回目の負荷試験における組番号８（図９（ａ）参照）の組み合わせを認識した後、ステップＳＤ８の判断結果を「Ｙｅｓ」として、ステップＳＤ９へ進む。ステップＳＤ９では、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）からの期待値データ（伝送時間の期待値）を受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として同判断を繰り返す。
【００７７】
また、ステップＳＤ２では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、組番号８の組み合わせに応じた期待値データをプロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）毎にメモリ１４0 （図１参照）からそれぞれ読み出す。そして、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）へ期待値データをそれぞれ送信した後、ステップＳＤ３へ進む。そして、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、期待値データをそれぞれ受信すると、ステップＳＤ９の判断結果を「Ｙｅｓ」としてステップＳＤ３へ進む。
【００７８】
ステップＳＤ３では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、ステップＳＡ１（図６参照）と同様にして、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、ステップＳＤ４へ進む。ステップＳＤ４では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）から試験終了の通知を受けたか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【００７９】
また、ステップＳＤ３の同期処理により同期がとられると、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、ステップＳＤ１０へ進む。ステップＳＤ１０では、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、前述した（１ｅ）項〜（４ｅ）項に示した＜送信先＞のプロセッサエレメントへのパケットの送信時刻をそれぞれ記録した後、ステップＳＤ１１へ進む。
【００８０】
ステップＳＤ１１では、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、組番号８の組み合わせに基づいて、（１ｅ）項〜（４ｅ）項に示した＜送信先＞のプロセッサエレメント宛のパケットをそれぞれ一斉に送信した後、ステップＳＤ１２へ進む。すなわち、この場合には、図９（ａ）に示したように、プロセッサエレメントＰＥ0 からプロセッサエレメントＰＥ1 へ、プロセッサエレメントＰＥ1 からプロセッサエレメントＰＥ0 へ、プロセッサエレメントＰＥ2 からプロセッサエレメントＰＥ3 へ、プロセッサエレメントＰＥ3 からプロセッサエレメントＰＥ2 へパケットが一斉に送信される。このように、負荷試験においては、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）から一斉にパケットが送信されるという、クロスバネットワーク装置１０にとって高負荷の状態が意図的に作り出される。
【００８１】
ステップＳＤ１２では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、組をなす＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 からの返答用のパケットを受信したか否かをそれぞれ判断し、返答用のパケットを受信するまで同判断をそれぞれ繰り返す。
【００８２】
また、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 からそれぞれ送信されたパケットは、図３に示したクロスバネットワーク装置１０におけるクロスバスイッチＳ10、Ｓ01、Ｓ32およびＳ23がそれぞれオンされることで、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 へそれぞれ送信される。そして、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 からのパケットを受信すると、割り込みを発生させステップＳＤ１９の処理を実行する。
【００８３】
すなわち、ステップＳＤ１９では、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、組をなす＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 へ返答用のパケットをそれぞれ送信する。これら返答用のパケットは、図３に示したクロスバネットワーク装置１０におけるクロスバスイッチＳ01、Ｓ10、Ｓ32およびＳ23がそれぞれオンされることで、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 へそれぞれ送信される。
【００８４】
そして、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 からの返答用のパケットをそれぞれ受信すると、ステップＳＤ１２の判断結果を「Ｙｅｓ」として、ステップＳＤ１３へそれぞれ進む。ステップＳＤ１３では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、返答用のパケットの受信時刻をそれぞれ記録した後、ステップＳＤ１４へそれぞれ進む。ステップＳＤ１４では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、組をなす＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 宛のパケットの送信回数が規定回数ｎ2 （たとえば、５回）に達したか否かを判断する。この場合、送信回数が１回であるため、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、判断結果を「Ｎｏ」として、ステップＳＤ１０へ戻る。
【００８５】
以後、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、ステップＳＤ１４の判断結果が「Ｙｅｓ」となるまで、同一の＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 へパケットを送信する処理、送信時刻の記録、および返答用パケットの受信時刻の記録を行う（ステップＳＤ１０〜ステップＳＤ１３参照）。この場合、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、伝送時間の誤差を少なくするために、１回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。
【００８６】
そして、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 宛のパケットの送信回数が規定回数ｎ2 （５回）に達すると、ステップＳＤ１４では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、判断結果を「Ｙｅｓ」として、ステップＳＤ１５へ進む。ステップＳＤ１５では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、組番号８（図１０参照）に対応するつぎの（１ｆ）項〜（４ｆ）項までのそれぞれの往復路におけるパケットの伝送時間を集計する。この伝送時間は、高負荷状態における測定値である。
【００８７】
＜送信元＞ ＜送信先＞
（１ｆ）プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ1 間の往復路
（２ｆ）プロセッサエレメントＰＥ1 −プロセッサエレメントＰＥ0 間の往復路
（３ｆ）プロセッサエレメントＰＥ3 −プロセッサエレメントＰＥ2 間の往復路
（４ｆ）プロセッサエレメントＰＥ3 −プロセッサエレメントＰＥ2 間の往復路
【００８８】
すなわち、（１ｆ）項の往復路について、＜送信元＞のプロセッサエレメントＰＥ0 は、＜送信先＞のプロセッサエレメントＰＥ1 からのパケットの受信時刻（ステップＳＤ１３）と、＜送信先＞のプロセッサエレメントＰＥ1 宛のパケットの送信時刻（ステップＳＤ１０）との差を伝送時間として求める。ここで、（１ｆ）項の往復路については、規定回数ｎ2 （ステップＳＤ１４）分の伝送時間が求められる。つぎに、＜送信元＞のプロセッサエレメントＰＥ0 は、たとえば、上記規定回数ｎ2 分の伝送時間の平均をとることで、（１ｆ）項の往復路における測定結果としての伝送時間を求める。同様にして、（２ｆ）項〜（４ｆ）項までのそれぞれの往復路について、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ3 は、測定結果としての伝送時間をそれぞれ求める。
【００８９】
つぎに、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、それぞれ求めた伝送時間と、それぞれの往復路に対応する期待値データ（ステップＳＤ９）とを比較することで、高負荷状態における性能評価を行い、この性能評価結果に基づいて、エラーの有無を判断する。具体的には、（１ｆ）項の往復路について、＜送信元＞のプロセッサエレメントＰＥ0 は、測定結果としての伝送時間と、当該往復路に対応する図５に示した期待値データｔｉｍｅ（３）とを比較する。この場合、両者の差が規定値以下である場合、所望の特性が得られているものと判断され、両者の差が規定値以上である場合、エラーが発生しているものと判断される。このエラーが発生する要因としては、前述した図３２に示した受信干渉が挙げられる。また、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ3 においても、プロセッサエレメントＰＥ0 の場合と同様の手法により、エラーの有無が判断される。
【００９０】
ここで、エラーが発生している場合、ステップＳＤ１５では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、判断結果を「Ｙｅｓ」として、ステップＳＤ１６へ進む。ステップＳＤ１６では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、エラー情報をディスプレイ（図示略）に表示させたり、ブザー（図示略）を鳴動させる等のエラー処理を実行することで、エラーに関する詳細な情報を試験者に報知した後、ステップＳＤ１７へ進む。ここで、エラー情報は、エラーが発生した往復路およびプロセッサエレメントを特定するための情報、伝送時間、期待値データ等である。また、エラーの発生がない場合、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、ステップＳＤ１５の判断結果を「Ｎｏ」として、ステップＳＤ１７へ進む。
【００９１】
ステップＳＤ１７では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、組番号８（図１０および図９（ａ）参照）に関する試験の終了をプロセッサエレメントＰＥ0 （マスタプログラムＭＰ）へ通知した後、ステップＳＤ５へ進む。これにより、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、ステップＳＤ４の判断結果を「Ｙｅｓ」として、ステップＳＤ５へ進む。ステップＳＤ５では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、ステップＳＡ６（図６参照）と同様にして、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、ステップＳＤ６へ進む。
【００９２】
ステップＳＤ６では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、試験回数が規定回数ｎ3 （たとえば２回）に達したか否かを判断する。ここで、試験回数は、図１０に示した一つの組番号の組み合わせに関する試験が行われたとき、１カウントされる。したがって、この場合、組番号８（図１０参照）の組み合わせに関する試験が１回実行されたのみであるため、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、ステップＳＤ６の判断結果を「Ｎｏ」として、ステップＳＤ１へ戻る。なお、規定回数ｎ3 が２４に設定されている場合には、図１０に示した組み合わせテーブルにおける全ての組番号１〜２４に関する試験が行われる。
【００９３】
また、ステップＳＤ５の同期処理において同期がとられると、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、ステップＳＤ１８へ進む。ステップＳＤ１８では、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、ステップＳＤ６と同様にして、試験回数が規定回数ｎ3 に達したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＤ８へ戻る。
【００９４】
ステップＳＤ１では、前述した動作と同様にして、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、組み合わせテーブル（図１０参照）を参照することで、組番号２４の組み合わせ（０−３、１−２、２−１、３−０）を選択する。したがって、図９（ｂ）に示したように２回目の負荷試験においては、上記組番号２４の組み合わせに基づいて負荷試験が実行される。図９（ｂ）に示した例では、つぎの（１ｇ）項〜（４ｇ）項の組み合わせが図示されている。
【００９５】
＜送信元＞ ＜送信先＞
（１ｇ）プロセッサエレメントＰＥ0 −  プロセッサエレメントＰＥ3
（２ｇ）プロセッサエレメントＰＥ1 − プロセッサエレメントＰＥ2
（３ｇ）プロセッサエレメントＰＥ2 − プロセッサエレメントＰＥ1
（４ｇ）プロセッサエレメントＰＥ3 −  プロセッサエレメントＰＥ0
【００９６】
つぎに、ステップＳＤ１では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）へ、組番号２４の組み合わせ、および試験開始を通知した後、ステップＳＤ２へ進む。これにより、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、２回目の負荷試験における組番号２４（図９（ｂ）参照）の組み合わせを認識した後、ステップＳＤ８の判断結果を「Ｙｅｓ」として、ステップＳＤ９へ進む。ステップＳＤ９では、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）からの期待値データ（伝送時間の期待値）を受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として同判断を繰り返す。
【００９７】
また、ステップＳＤ２では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、組番号２４の組み合わせに応じた期待値データをプロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）毎にメモリ１４0 （図１参照）からそれぞれ読み出す。そして、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）へ期待値データをそれぞれ送信した後、ステップＳＤ３へ進む。そして、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、期待値データをそれぞれ受信すると、ステップＳＤ９の判断結果を「Ｙｅｓ」としてステップＳＤ３へ進む。
【００９８】
ステップＳＤ３では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）においては同期処理が実行される。以後、前述した組番号８の場合と同様にして、組番号２４に関する測定が行われる。すなわち、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、ステップＳＤ１４の判断結果が「Ｙｅｓ」となるまで、同一の＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 へパケットを送信する処理、送信時刻の記録、および返答用パケットの受信時刻の記録を行う（ステップＳＤ１０〜ステップＳＤ１３参照）。
【００９９】
そして、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 宛のパケットの送信回数が規定回数ｎ2 （５回）に達すると、ステップＳＤ１４では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、判断結果を「Ｙｅｓ」として、ステップＳＤ１５へ進む。ステップＳＤ１５では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、組番号８（図１０参照）の場合と同様にして、組番号２４に対応するつぎの（１ｈ）項〜（４ｈ）項までのそれぞれの往復路におけるパケットの伝送時間と、期待値データとを比較することで、エラーの有無を判断する。
【０１００】
＜送信元＞ ＜送信先＞
（１ｈ）プロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ3 間の往復路
（２ｈ）プロセッサエレメントＰＥ1 −プロセッサエレメントＰＥ2 間の往復路
（３ｈ）プロセッサエレメントＰＥ2 −プロセッサエレメントＰＥ1 間の往復路
（４ｈ）プロセッサエレメントＰＥ3 −プロセッサエレメントＰＥ0 間の往復路
【０１０１】
ここで、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、上記エラーが発生している場合、ステップＳＤ１５の判断結果を「Ｙｅｓ」として、ステップＳＤ１６へ進み、エラー処理を行った後、ステップＳＤ１７へ進む。一方、エラーが発生していない場合、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、ステップＳＤ１５の判断結果を「Ｎｏ」として、ステップＳＤ１７へ進む。
【０１０２】
ステップＳＤ１７では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 は、組番号２４（図１０および図９（ｂ）参照）に関する試験の終了をプロセッサエレメントＰＥ0 （マスタプログラムＭＰ）へ通知した後、ステップＳＤ５へ進む。これにより、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、ステップＳＤ４の判断結果を「Ｙｅｓ」として、ステップＳＤ５へ進む。ステップＳＤ５では、プロセッサエレメントＰＥ0 〜ＰＥ3 は、ステップＳＡ６（図６参照）と同様にして、同期処理を行った後、ステップＳＤ６へ進む。
【０１０３】
ステップＳＤ６では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）は、試験回数（２回）が規定回数ｎ3 （たとえば２回）に達しているため、判断結果を「Ｙｅｓ」として、ステップＳＤ７へ進む。また、同様にして、ステップＳＤ１８では、プロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、判断結果を「Ｙｅｓ」として、ステップＳＤ７へ進む。ステップＳＤ７では、プロセッサエレメントＰＥ0 （マスタプログラムＭＰ）、およびプロセッサエレメントＰＥ0 〜ＰＥ3 （スレーブプログラムＳＰ0 〜ＳＰ3 ）は、ステップＳＡ１（図６参照）と同様にして、同期処理を行った後、一連の負荷試験を終了する。
【０１０４】
以上説明したように、実施の形態１によれば、複数の＜送信元＞のプロセッサエレメントから一つの＜送信先＞のプロセッサエレメントへパケットを送信させないという条件で、プロセッサエレメントＰＥ0 〜ＰＥ3 からパケットを一斉に送信しているため常に高負荷状態で負荷試験を行うことができる。さらに、実施の形態１によれば、実際に測定した結果を期待値として性能評価を行っているため、信頼性が高い試験結果が得られる。
【０１０５】
（実施の形態２）
さて、前述した実施の形態１においては、図９（ａ）および（ｂ）に示したように、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ3 から＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ3 へ一斉にパケットをそれぞれ送信することで、高負荷の状態を作り出して、負荷試験を行う例について詳述した。ここで、さらに負荷試験の試験結果の信頼性を上げるには、複数のパケットを、クロスバネットワーク装置１０に同一時刻に到着させるという、最高負荷の状態で負荷試験を行えばよい。しかしながら、実施の形態１においては、クロスバネットワーク装置１０とプロセッサエレメントＰＥ0 〜ＰＥ3 との間の伝送距離、伝送特性がそれぞれ異なるため、クロスバネットワーク装置１０における複数のパケットの到着時刻がパケット毎に相違し、負荷が最高値とならない。以下、最高負荷の状態で負荷試験を行う例を実施の形態２として説明する。
【０１０６】
図１２は、本発明にかかる実施の形態２の構成を示すブロック図である。この図に示した並列プロセッサ装置の基本的な構成は、図１に示したものと同様である。ただし、図１２に示した並列プロセッサ装置においては、図１に示した並列プロセッサ装置に比して４台多い、８台のプロセッサエレメントＰＥ0 〜ＰＥ7 が設けられている。また、プロセッサエレメントの台数の増加にともなって、クロスバネットワーク装置２０の構成も、クロスバネットワーク装置１０（図１参照）とは若干異なる。
【０１０７】
図１２において、プロセッサエレメントＰＥ0 〜ＰＥ7 は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、プロセッサエレメントＰＥ0 （図１参照）と同一構成とされている。クロスバネットワーク装置２０は、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ7 間を相互接続する装置であり、レジスタ群１１（図２参照）と同様にして、同期処理に用いられるレジスタ群２１と、Ｎ×Ｎ（同図では８×８）スイッチ構成のクロスバスイッチ群２２とを有している。このクロスバネットワーク装置２０においては、入線側（送信側）がプロセッサエレメントＰＥ0 〜ＰＥ7 のそれぞれの送信部（図示略）に接続されており、出線側（受信側）がプロセッサエレメントＰＥ0 〜ＰＥ7 のそれぞれの受信部（図示略）に接続されている。このように、クロスバネットワーク装置２０は、Ｎ×Ｎ（同図では８×８）スイッチ構成とされており、任意の入力線（送信部）−出力線（受信部）間を接続する装置である。
【０１０８】
レジスタ群２１は、レジスタ２１PE0 〜２１PE7 から構成されており、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ7 の同期をとるために用いられる。これらレジスタ２１PE0 〜２１PE7 は、プロセッサエレメントＰＥ0 〜ＰＥ7 にそれぞれ対応して設けられている。レジスタ２１PE0 は、プロセッサエレメントＰＥ0 からのアクセスにより、「１」データまたは「０」データを格納する。なお、プロセッサエレメントＰＥ0 は、レジスタ２１PE0 のみに「１」データまたは「０」データの格納を行うことができるが、他のレジスタ２１PE1 〜２１PE7 に対して、データの格納を行うことができない。同様にして、レジスタ２１PE1 〜２１PE7 は、プロセッサエレメントＰＥ1 〜ＰＥ7 からのアクセスにより、「１」データまたは「０」データをそれぞれ格納する。
【０１０９】
また、レジスタ群２１（レジスタ２１PE0 〜２１PE7 ）は、全てのプロセッサエレメントＰＥ0 〜ＰＥ7 により、格納されたデータが共通で参照されるようになっている。すなわち、プロセッサエレメントＰＥ0 は、全てのレジスタ２１PE0 〜２１PE7 に格納されたデータの参照を行うことができる。他のプロセッサエレメントＰＥ1 〜ＰＥ7 も同様にして、全てのレジスタ２１PE0 〜２１PE7 に格納されたデータの参照を行うことができる。同期処理において、プロセッサエレメントＰＥ0 〜ＰＥ7 は、レジスタ２１PE0 〜２１PE7 に「１」データ（または「０」データ）を個別的にそれぞれ書き込む。その後、プロセッサエレメントＰＥ0 〜ＰＥ7 は、一定時間間隔をおいてレジスタ群２１（レジスタ２１PE0 〜２１PE7 ）にポーリングをかけることで、保持されているデータを参照する。そして、プロセッサエレメントＰＥ0 〜ＰＥ7 は、レジスタ群２１に保持されているデータが全て「１」（または「０」）になったとき、同期がとられたことを認識する。
【０１１０】
クロスバスイッチ群２２は、８×８配列の都合６４個のクロスバスイッチを有しており、プロセッサエレメントＰＥ0 〜ＰＥ7 のうち、任意の組み合わせのプロセッサエレメント間を相互接続する。このクロスバスイッチ群２２の基本的な機能は、クロスバスイッチ群１２（図３参照）と同様である。ここで、図１２に示したクロスバスイッチ群２２において、複数のクロスバスイッチは、黒丸（●）および白丸（○）で図示されている。また、黒丸（●）は、当該クロスバスイッチがオンにされている状態を示し、白丸（○）は、当該クロスバスイッチがオフにされている状態を示す。したがって、図１２に示した例では、プロセッサエレメントＰＥ0 〜ＰＥ7 は、図１３に示す接続状態とされている。
【０１１１】
また、図１２に示したプロセッサエレメントＰＥ0 〜ＰＥ7 のそれぞれのメモリ（図示略）には、図４の場合と同様にして、マスタプログラムおよびスレーブプログラムからなる負荷試験プログラムがそれぞれ記憶されている。具体的には、プロセッサエレメントＰＥ0 のメモリには、マスタプログラムおよびスレーブプログラムが記憶されており、プロセッサエレメントＰＥ1 〜ＰＥ7 のそれぞれのメモリには、スレーブプログラムがそれぞれ記憶されている。
【０１１２】
（伝送時間の測定）
つぎに、上述した実施の形態２の動作について説明する。ここで、実施の形態２においては、負荷試験に必要な伝送時間を測定する測定処理（図１４参照）に続いて、実施の形態１と同様の測定処理（図６参照）が行われた後に、負荷試験（図１５参照）が行われる。はじめに、図１４を参照して測定処理について説明する。この測定処理においては、図１４に示したようにプロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ7 が基準プロセッサエレメントとして順次選択され、この基準プロセッサエレメントとクロスバネットワーク装置１０との間の往復路におけるパケットの伝送時間の測定が行われる。つまり、測定処理においては、つぎの（１ｉ）項〜（８ｉ）項までのそれぞれの往復路に関する伝送時間の測定が行われる。
【０１１３】
（１ｉ）プロセッサエレメントＰＥ0 −クロスバネットワーク装置１０間の往復路
（２ｉ）プロセッサエレメントＰＥ1 −クロスバネットワーク装置１０間の往復路
（３ｉ）プロセッサエレメントＰＥ2 −クロスバネットワーク装置１０間の往復路
（４ｉ）プロセッサエレメントＰＥ3 −クロスバネットワーク装置１０間の往復路
（５ｉ）プロセッサエレメントＰＥ4 −クロスバネットワーク装置１０間の往復路
（６ｉ）プロセッサエレメントＰＥ5 −クロスバネットワーク装置１０間の往復路
（７ｉ）プロセッサエレメントＰＥ6 −クロスバネットワーク装置１０間の往復路
（８ｉ）プロセッサエレメントＰＥ7 −クロスバネットワーク装置１０間の往復路
【０１１４】
ここで、伝送時間とは、基準プロセッサエレメントからパケットが送信されてから、クロスバネットワーク装置１０により折り返された上記パケットが基準プロセッサエレメントに受信されるまでの時間をいう。上記往復路は、基準プロセッサエレメント→クロスバネットワーク装置１０→基準プロセッサエレメントという具合に、クロスバネットワーク装置１０からの折り返し経路である。
【０１１５】
つぎに、図１６に示したフローチャートを参照しつつ、プロセッサエレメント−クロスバネットワーク装置間の往復路における伝送時間の測定処理について説明する。図１６において、ステップＳＥ１〜ステップＳＥ７までは、図１４に示したプロセッサエレメントＰＥ0 （マスタプログラム）により実行される処理である。また、ステップＳＥ１、ステップＳＥ８〜ステップＳＥ１６およびステップＳＥ７は、上述した基準プロセッサエレメントとして選択された一つのプロセッサエレメント（スレーブプログラム）により実行される処理である。
【０１１６】
図１４に示したプロセッサエレメントＰＥ0 においてマスタプログラムが起動されると、図１６に示したステップＳＥ１では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 （スレーブプログラム）〜プロセッサエレメントＰＥ7 （スレーブプログラム）に対して同期処理を行うように指示する。プロセッサエレメントＰＥ0 〜ＰＥ7 は、ステップＳＡ１（図６参照）と同様にして、図１２に示したレジスタ２１PE0 〜２１PE7 にそれぞれアクセスすることで同期処理を行う。そして、同期処理が終了すると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＥ２へ進む。また、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、ステップＳＥ８へ進み、プロセッサエレメントＰＥ0 （マスタプログラム）から測定開始が指示されたか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【０１１７】
ステップＳＥ２では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 〜ＰＥ7 のなかから一つのプロセッサエレメントを基準プロセッサエレメントとして選択した後、この基準プロセッサエレメントへ測定開始を指示する。この場合、ステップＳＥ２では、プロセッサエレメントＰＥ0 （マスタプログラム）は、基準プロセッサエレメントとして図１４に示したプロセッサエレメントＰＥ0 （スレーブプログラム）を選択したものとする。したがって、ステップＳＥ２では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 （スレーブプログラム）に対して測定開始を指示した後、ステップＳＥ３へ進む。したがって、この場合、前述した（１ｉ）項の往復路における伝送時間の測定が行われる。ステップＳＥ３では、プロセッサエレメントＰＥ0 （マスタプログラム）は、基準プロセッサエレメント（この場合プロセッサエレメントＰＥ0 ）からの伝送時間の集計結果を受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【０１１８】
また、測定開始の指示を受けると、プロセッサエレメントＰＥ0 （スレーブプログラム）は、ステップＳＥ８の判断結果を「Ｙｅｓ」としてステップＳＥ９へ進む。ステップＳＥ９では、プロセッサエレメントＰＥ0 （スレーブプログラム）は、図１４に示したように、自局へ送信すべきパケットの送信時刻を記録した後、ステップＳＥ１０へ進む。ステップＳＥ１０では、プロセッサエレメントＰＥ0 は、自局宛のパケットを送信部（図示略）から送信した後、ステップＳＥ１１へ進む。ステップＳＥ１１では、プロセッサエレメントＰＥ0 は、自局宛のパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「Ｎｏ」として同判断を繰り返す。そして、プロセッサエレメントＰＥ0 宛のパケットは、図１２に示したクロスバスイッチがオン（黒丸（●）参照）されることにより、クロスバネットワーク装置１０からプロセッサエレメントＰＥ0 へ折り返し送信される。
【０１１９】
そして、プロセッサエレメントＰＥ0 の受信部（図示略）により上記パケットが受信されると、ステップＳＥ１１では、プロセッサエレメントＰＥ0 は、判断結果を「Ｙｅｓ」としてステップＳＥ１２へ進む。ステップＳＥ１２では、プロセッサエレメントＰＥ0 は、パケットの受信時刻を記録した後、ステップＳＥ１３へ進む。ステップＳＥ１３では、プロセッサエレメントＰＥ0 宛のパケットの送信回数が規定回数ｎ4 （たとえば、５回）に達したか否かを判断する。
【０１２０】
この場合、送信回数が１回であるため、プロセッサエレメントＰＥ0 は、判断結果を「Ｎｏ」として、ステップＳＥ９へ戻る。以後、ステップＳＥ１３の判断結果が「Ｙｅｓ」となるまで、ステップＳＥ９〜ステップＳＥ１２では、プロセッサエレメントＰＥ0 は、自局宛のパケットを送信する処理、送信時刻の記録、および受信時刻の記録を行う。この場合、プロセッサエレメントＰＥ0 は、伝送時間（測定結果）の誤差を少なくするために、１回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。
【０１２１】
そして、ステップＳＥ１３の判断結果が「Ｙｅｓ」になると、プロセッサエレメントＰＥ0 は、ステップＳＥ１４へ進む。ステップＳＥ１４では、プロセッサエレメントＰＥ0 は、上述した（１ｉ）項の往復路におけるパケットの伝送時間を集計する。すなわち、プロセッサエレメントＰＥ0 は、（１ｉ）項の往復路について、パケットの受信時刻（ステップＳＥ１２）と、パケットの送信時刻（ステップＳＥ９）との差を伝送時間として求める。ここで、（１ｉ）項の往復路については、規定回数ｎ4 （ステップＳＥ１３）分の伝送時間が求められる。そして、プロセッサエレメントＰＥ0 （スレーブプログラム）は、求められた複数の伝送時間の集計結果をプロセッサエレメントＰＥ0 （マスタプログラム）へ送信した後、ステップＳＥ１５へ進む。
【０１２２】
そして、（１ｉ）項の伝送路に関する伝送時間の集計結果を受信すると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＥ３の判断結果を「Ｙｅｓ」として、ステップＳＥ４へ進む。ステップＳＥ４では、プロセッサエレメントＰＥ0 （マスタプログラム）は、測定終了の通知を基準プロセッサエレメント（この場合、プロセッサエレメントＰＥ0 （スレーブプログラム））から受けたか否かを判断し、この判断結果が「Ｎｏ」である場合、同判断を繰り返す。
【０１２３】
ステップＳＥ１５では、プロセッサエレメントＰＥ0 （スレーブプログラム）は、（１ｉ）項の伝送路に関する測定終了をプロセッサエレメントＰＥ0 （マスタプログラム）へ通知した後、ステップＳＥ１６へ進む。そして、上記測定終了の通知を受けると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＥ４の判断結果を「Ｙｅｓ」として、ステップＳＥ５へ進む。また、ステップＳＥ１６では、プロセッサエレメントＰＥ0 （スレーブプログラム）は、プロセッサエレメントＰＥ0 （マスタプログラム）からの時間差データを受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。ここで、時間差データは、図１４に示した伝送時間（１）〜（８）までのうち、最長の伝送時間を基準伝送時間とした場合に、この基準伝送時間と伝送時間（１）〜（８）とのそれぞれの時間差のデータである。なお、伝送時間（１）〜（８）、および時間差データの詳細については後述する。
【０１２４】
ステップＳＥ５では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 〜ＰＥ7 の全てを基準プロセッサエレメントとして測定を行ったか否かを判断する。この場合、プロセッサエレメントＰＥ0 （スレーブプログラム）を基準プロセッサエレメントとした測定しか行われていないため、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＥ５の判断結果を「Ｎｏ」として、ステップＳＥ２へ戻る。
【０１２５】
ステップＳＥ２では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ1 〜ＰＥ7 のなかからつぎの基準プロセッサエレメントとして、図１４に示したプロセッサエレメントＰＥ1 を選択する。つぎに、プロセッサエレメントＰＥ0 （マスタプログラム）は、前述した動作と同様にして、プロセッサエレメントＰＥ1 （基準プロセッサエレメント）へ測定開始を指示する。これにより、前述したプロセッサエレメントＰＥ0 （基準プロセッサエレメント）の場合と同様にして、プロセッサエレメントＰＥ1 を基準プロセッサエレメントとした測定が行われる。すなわち、この場合には、前述した（２ｉ）項の往復路における伝送時間が測定される。
【０１２６】
そして、上記（２ｉ）項に関する測定が終了し、プロセッサエレメントＰＥ1 から伝送時間の集計結果を受信すると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＥ３の判断結果を「Ｙｅｓ」とし、ステップＳＥ４へ進む。そして、プロセッサエレメントＰＥ1 から測定終了の通知を受けると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＥ４の判断結果を「Ｙｅｓ」としてステップＳＥ５へ進む。ステップＳＥ５では、プロセッサエレメントＰＥ0 （マスタプログラム）は、判断結果を「Ｎｏ」として、ステップＳＥ２へ戻る。以後、前述した動作と同様にして、プロセッサエレメントＰＥ2 〜ＰＥ7 をそれぞれ基準プロセッサエレメントとした場合における伝送時間の測定が順次行われる。したがって、この場合には、前述した（３ｉ）項〜（８ｉ）項までのそれぞれの往復路における伝送時間が求められる。
【０１２７】
そして、プロセッサエレメントＰＥ0 〜ＰＥ7 をそれぞれ基準プロセッサエレメントとした全測定が終了すると、ステップＳＥ５では、プロセッサエレメントＰＥ0 （マスタプログラム）は、判断結果を「Ｙｅｓ」としてステップＳＥ６へ進む。ステップＳＥ６では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）のそれぞれに対応する時間差データを求める。上記時間差データを求めるにあたって、プロセッサエレメントＰＥ0 （マスタプログラム）は、上述した（１ｉ）項〜（８ｉ）項までのそれぞれの往復路における伝送時間の集計結果の平均値をとる。
【０１２８】
つぎに、プロセッサエレメントＰＥ0 （マスタプログラム）は、それぞれの平均値を「２」で除算することで、図１４に示した伝送時間（１）〜（８）を得る。たとえば、伝送時間（１）は、プロセッサエレメントＰＥ0 からクロスバネットワーク装置１０までの往路（片道）における伝送時間であり、伝送時間（２）は、プロセッサエレメントＰＥ1 からクロスバネットワーク装置１０まで往路（片道）における伝送時間である。以下同様にして、伝送時間（８）は、プロセッサエレメントＰＥ7 からクロスバネットワーク装置１０までの往路（片道）における伝送時間である。
【０１２９】
つぎに、プロセッサエレメントＰＥ0 （マスタプログラム）は、図１４に示した伝送時間（１）〜（８）のうちで最長の伝送時間を基準伝送時間とする。この場合、伝送時間（１）が基準伝送時間であるものとする。なお、最長の伝送時間が二つ以上ある場合には、いずれか一方を基準伝送時間とすればよい。ついで、プロセッサエレメントＰＥ0 （マスタプログラム）は、基準伝送時間（この場合、伝送時間（１））と、伝送時間（１）〜（８）とのそれぞれの差を時間差データとして求める。以下に、プロセッサエレメントＰＥ0 〜ＰＥ7 とそれぞれの時間差データの一例を示す。
【０１３０】
＜プロセッサエレメント＞        ＜時間差データ＞
プロセッサエレメントＰＥ0   ±０
プロセッサエレメントＰＥ1   ＋２
プロセッサエレメントＰＥ2   ＋２
プロセッサエレメントＰＥ3   ＋４
プロセッサエレメントＰＥ4   ±０
プロセッサエレメントＰＥ5   ＋２
プロセッサエレメントＰＥ6   ＋２
プロセッサエレメントＰＥ7   ＋３
【０１３１】
つぎに、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）のそれぞれへ上記時間差データを送信した後、ステップＳＥ７へ進む。そして、時間差データがプロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）のそれぞれに受信されると、ステップＳＥ１６では、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、それぞれのメモリ（図示略）に時間差データを記憶させた後、判断結果を「Ｙｅｓ」としてステップＳＥ７へ進む。ステップＳＥ７では、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ7 は、ステップＳＡ６（図６参照）と同様にして、同期処理を行った後、一連の測定処理を終了する。
【０１３２】
つぎに、実施の形態２においては、前述した伝送時間の測定処理（図６参照）と同様の測定処理が行われることにより、前述した期待値データが作成される。ここで、実施の形態１においては、期待値データを求める範囲をプロセッサエレメントＰＥ0 〜ＰＥ3 としたが、実施の形態２では、上記範囲をプロセッサエレメントＰＥ0 〜ＰＥ7 として期待値データが作成される。ここで、作成された期待値データは、プロセッサエレメントＰＥ0 （図１５参照）のメモリ（図示略）に記憶される。
【０１３３】
（負荷試験）
つぎに、上述した測定処理（図１６参照）により得られた時間差データ、および測定処理（図６参照）により得られた期待値データに基づく負荷試験について、図１７に示したフローチャートを参照しつつ説明する。以下に詳述する負荷試験は、実施の形態１と同様にして、たとえば、図１３に示したように、プロセッサエレメントＰＥ0 〜ＰＥ7 において組を決めておき、組をなすプロセッサエレメント間でパケットを送信する試験である。
【０１３４】
ここで、実施の形態１では、試験開始時にパケットを一斉に送信するのに対して、実施の形態２は、時間差データに基づいてそれぞれのプロセッサエレメントからのパケットの送信時刻をずらすことで、全てのパケットが同一時刻でクロスバネットワーク装置２０に到着するように、パケットの送信を行う点が、実施の形態１の負荷試験と相違する。すなわち、実施の形態２においては、クロスバネットワーク装置２０が最高負荷の状態で負荷試験が行われる。また、実施の形態２における負荷試験では、実施の形態１と同様にして、プロセッサエレメント−プロセッサエレメント間における往復路の伝送時間が測定され、この伝送時間と期待値データとを比較することで、負荷特性が評価される。
【０１３５】
図１７に示したステップＳＦ１〜ステップＳＦ７は、図１４に示したプロセッサエレメントＰＥ0 （マスタプログラム）により実行される処理であり、ステップＳＦ３、ステップＳＦ８〜ステップＳＦ１９、ステップＳＦ２０、ステップＳＦ５およびステップＳＦ７は、図１４に示したプロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）により実行される処理である。
【０１３６】
前述した測定処理（図６および図１６参照）が終了すると、プロセッサエレメントＰＥ0 （マスタプログラム）が図１７に示したステップＳＦ１の処理を実行するとともに、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）はステップＳＦ８の処理を実行する。ステップＳＦ８では、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、プロセッサエレメントＰＥ0 （マスタプログラム）より試験開始の指示があったか否かを判断し、この場合、判断結果を「Ｎｏ」として同判断を繰り返す。
【０１３７】
一方、ステップＳＦ１では、プロセッサエレメントＰＥ0 （マスタプログラム）は、組み合わせテーブル（図示略）を参照することで、プロセッサエレメントＰＥ0 〜ＰＥ7 における組を決定する。上記組み合わせテーブルは、前述した図１０に示した組み合わせテーブルと同種であるが、組み合わせの範囲がプロセッサエレメントＰＥ0 〜ＰＥ7 とされている。この場合、プロセッサエレメントＰＥ0 （マスタプログラム）は、組み合わせテーブルの中から、たとえば、図１３に示した組み合わせを選択する。この場合の組み合わせは、つぎの（１ｊ）項〜（８ｊ）項のようになる。
【０１３８】
＜送信元＞ ＜送信先＞
（１ｊ）プロセッサエレメントＰＥ0 −  プロセッサエレメントＰＥ1
（２ｊ）プロセッサエレメントＰＥ1 − プロセッサエレメントＰＥ0
（３ｊ）プロセッサエレメントＰＥ2 − プロセッサエレメントＰＥ3
（４ｊ）プロセッサエレメントＰＥ3 −  プロセッサエレメントＰＥ2
（５ｊ）プロセッサエレメントＰＥ4 −  プロセッサエレメントＰＥ5
（６ｊ）プロセッサエレメントＰＥ5 −  プロセッサエレメントＰＥ4
（７ｊ）プロセッサエレメントＰＥ6 −  プロセッサエレメントＰＥ7
（８ｊ）プロセッサエレメントＰＥ7 −  プロセッサエレメントＰＥ6
【０１３９】
つぎに、ステップＳＦ１では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）へ、上述した（１ｊ）項〜（８ｊ）項の組み合わせ（図１３参照）、および試験開始を通知した後、ステップＳＦ２へ進む。これにより、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、負荷試験における組み合わせを認識した後、ステップＳＦ８の判断結果を「Ｙｅｓ」として、ステップＳＦ９へ進む。ステップＳＦ９では、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、プロセッサエレメントＰＥ0 （マスタプログラム）からの期待値データ（伝送時間の期待値）を受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として同判断を繰り返す。
【０１４０】
また、ステップＳＦ２では、プロセッサエレメントＰＥ0 （マスタプログラム）は、（１ｊ）項〜（８ｊ）項の組み合わせに応じた期待値データをプロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）毎にメモリ（図示略）からそれぞれ読み出す。そして、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）へ期待値データをそれぞれ送信した後、ステップＳＦ３へ進む。そして、期待値データをそれぞれ受信すると、ステップＳＦ９では、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、判断結果を「Ｙｅｓ」としてステップＳＦ３へ進む。
【０１４１】
ステップＳＦ３では、プロセッサエレメントＰＥ0 （マスタプログラム）、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、ステップＳＤ１（図１１参照）と同様にして、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＦ４へ進む。ステップＳＦ４では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）から試験終了の通知を受けたか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【０１４２】
また、ステップＳＦ３の同期処理により同期がとられると、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、タイマ（図示略）による計時を開始した後、ステップＳＦ１０へ進む。ステップＳＦ１０では、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、それぞれのタイマの時間（計時結果）が、前述した時間差データ以上であるか否かを判断し、この判断結果が「Ｎｏ」である場合、同判断を繰り返す。ここで、再度、前述したプロセッサエレメントと時間差データとの関係を以下に示す。
【０１４３】
＜プロセッサエレメント＞        ＜時間差データ＞
プロセッサエレメントＰＥ0   ±０
プロセッサエレメントＰＥ1   ＋２
プロセッサエレメントＰＥ2   ＋２
プロセッサエレメントＰＥ3   ＋４
プロセッサエレメントＰＥ4   ±０
プロセッサエレメントＰＥ5   ＋２
プロセッサエレメントＰＥ6   ＋２
プロセッサエレメントＰＥ7   ＋３
【０１４４】
具体的には、プロセッサエレメントＰＥ0 （スレーブプログラム）は、時間差データが「±０」であるため、タイマの時間（計時結果）が０以上になるとすぐに、ステップＳＦ１０の判断結果を「Ｙｅｓ」として、ステップＳＦ１１へ進み、前述した（１ｊ）項に示した＜送信先＞のプロセッサエレメントＰＥ1 へのパケットの送信時刻を記録した後、ステップＳＦ１２へ進む。ステップＳＦ１２では、プロセッサエレメントＰＥ0 （スレーブプログラム）は、（１ｊ）項に示した＜送信先＞のプロセッサエレメントＰＥ1 宛のパケットを送信する。このようにプロセッサエレメントＰＥ0 は、時間差データが「±０」であるため、ステップＳＦ３の同期処理が終了すると、間髪を入れずに＜送信先＞のプロセッサエレメントＰＥ1 へパケットを送信した後、ステップＳＦ１３へ進む。
【０１４５】
また、プロセッサエレメントＰＥ1 は、時間差データが「＋２」であるため、タイマの時間（計時結果）が「２」以上になるまで、ステップＳＦ１０の判断結果を「Ｎｏ」として、待機する。そして、時間が「２」以上になると、プロセッサエレメントＰＥ1 は、ステップＳＦ１０の判断結果を「Ｙｅｓ」として、ステップＳＦ１１へ進み、前述した（２ｊ）項に示した＜送信先＞のプロセッサエレメントＰＥ0 へのパケットの送信時刻を記録した後、ステップＳＦ１２へ進む。
【０１４６】
ステップＳＦ１２では、プロセッサエレメントＰＥ1 は、（２ｊ）項に示した＜送信先＞のプロセッサエレメントＰＥ0 宛のパケットを送信する。このようにプロセッサエレメントＰＥ1 は、時間差データが「＋２」であるため、ステップＳＦ３の同期処理が終了すると、時間差データ（「＋２」）に相当する時間分、待機した後、＜送信先＞のプロセッサエレメントＰＥ0 へパケットを送信し、ステップＳＦ１３へ進む。以下同様にして、プロセッサエレメントＰＥ2 〜ＰＥ7 は、時間差データに相当する時間分、待機した後、＜送信先＞のプロセッサエレメントへパケットを送信し、ステップＳＦ１３へ進む。
【０１４７】
そして、ステップＳＦ１２において、プロセッサエレメントＰＥ0 〜ＰＥ7 から異なる送信時刻で送信されたそれぞれのパケットは、同一時刻で図１２に示したクロスバネットワーク装置２０に到達する。これにより、クロスバネットワーク装置２０のクロスバスイッチ群２２では、黒丸（●）で示した都合８個のクロスバスイッチが同一時刻でそれぞれオンにされる。すなわち、この場合、クロスバネットワーク装置２０は、最高負荷の状態にある。そして、それぞれのパケットは、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ7 へ送信される。
【０１４８】
ステップＳＦ１３では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、組をなす＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ7 からの返答用のパケットを受信したか否かをそれぞれ判断し、返答用のパケットを受信するまで同判断をそれぞれ繰り返す。そして、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 からのパケットを受信すると、割り込みを発生させステップＳＦ１９の処理を実行する。すなわち、ステップＳＦ１９では、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、組をなす＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 へ返答用のパケットをそれぞれ送信する。これら返答用のパケットは、図１２に示したクロスバネットワーク装置２０におけるクロスバスイッチ群２２がオンされることで、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 へそれぞれ送信される。
【０１４９】
そして、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ7 からの返答用のパケットをそれぞれ受信すると、ステップＳＦ１３の判断結果を「Ｙｅｓ」として、ステップＳＦ１４へそれぞれ進む。ステップＳＦ１４では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、返答用のパケットの受信時刻をそれぞれ記録した後、ステップＳＦ１５へそれぞれ進む。ステップＳＦ１５では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、組をなす＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ7 宛のパケットの送信回数が規定回数ｎ5 （たとえば、５回）に達したか否かを判断する。この場合、送信回数が１回であるため、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、判断結果を「Ｎｏ」として、ステップＳＦ１０へ戻る。
【０１５０】
以後、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、ステップＳＦ１５の判断結果が「Ｙｅｓ」となるまで、同一の＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ7 へパケットを送信する処理、送信時刻の記録、および返答用パケットの受信時刻の記録を行う（ステップＳＦ１０〜ステップＳＦ１４）。この場合、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、伝送時間の誤差を少なくするために、１回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。
【０１５１】
そして、＜送信先＞のプロセッサエレメントＰＥ0 〜ＰＥ7 宛のパケットの送信回数が規定回数ｎ5 （５回）に達すると、ステップＳＦ１５では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、判断結果を「Ｙｅｓ」として、ステップＳＦ１６へ進む。ステップＳＦ１６では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、つぎの（１ｋ）項〜（８ｋ）項までのそれぞれの往復路におけるパケットの伝送時間を集計する。この伝送時間は、最高負荷状態における測定値である。
【０１５２】
＜送信元＞ ＜送信先＞
（１ｋ）プロセッサエレメントＰＥ0 −  プロセッサエレメントＰＥ1 間の往復路
（２ｋ）プロセッサエレメントＰＥ1 − プロセッサエレメントＰＥ0 間の往復路
（３ｋ）プロセッサエレメントＰＥ2 − プロセッサエレメントＰＥ3 間の往復路
（４ｋ）プロセッサエレメントＰＥ3 −  プロセッサエレメントＰＥ2 間の往復路
（５ｋ）プロセッサエレメントＰＥ4 −  プロセッサエレメントＰＥ5 間の往復路
（６ｋ）プロセッサエレメントＰＥ5 −  プロセッサエレメントＰＥ4 間の往復路
（７ｋ）プロセッサエレメントＰＥ6 −  プロセッサエレメントＰＥ7 間の往復路
（８ｋ）プロセッサエレメントＰＥ7 −  プロセッサエレメントＰＥ6 間の往復路
【０１５３】
つぎに、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、ステップＳＤ１５（図１１参照）と同様の手法により求めた伝送時間と、それぞれの往復路に対応する期待値データ（ステップＳＦ９参照）とを比較することで、最高負荷状態における性能評価を行い、この性能評価結果に基づいて、エラーの有無を判断する。ここで、エラーが発生している場合、ステップＳＦ１６では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、判断結果を「Ｙｅｓ」として、ステップＳＦ１７へ進み、ステップＳＤ１６（図１１参照）と同様にして、エラー処理を行った後、ステップＳＦ１８へ進む。一方、エラーの発生がない場合、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、ステップＳＦ１６の判断結果を「Ｎｏ」として、ステップＳＦ１８へ進む。
【０１５４】
ステップＳＦ１８では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ7 は、（１ｊ）項〜（８ｊ）項の組み合わせに関する試験の終了をプロセッサエレメントＰＥ0 （マスタプログラム）へ通知した後、ステップＳＦ５へ進む。これにより、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＦ４の判断結果を「Ｙｅｓ」として、ステップＳＦ５へ進む。ステップＳＦ５では、プロセッサエレメントＰＥ0 （マスタプログラム）、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、ステップＳＤ５（図１１参照）と同様にして、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＦ６へ進む。
【０１５５】
ステップＳＦ６では、プロセッサエレメントＰＥ0 （マスタプログラム）は、試験回数が規定回数ｎ6 （たとえば１回）に達したか否かを判断し、この場合、判断結果を「Ｙｅｓ」として、ステップＳＦ７へ進む。なお、規定回数ｎ6 が２以上に設定されている場合は、プロセッサエレメントＰＥ0 （マスタプログラム）は、判断結果を「Ｎｏ」として、ステップＳＦ１へ戻り、組み合わせテーブルにおける他の組み合わせに関する試験を前述した動作と同様にして行う。
【０１５６】
また、ステップＳＦ５の同期処理において同期がとられると、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、ステップＳＦ２０へ進む。ステップＳＦ２０では、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、ステップＳＦ６と同様にして、試験回数が規定回数ｎ6 に達したか否かを判断し、この場合、判断結果を「Ｙｅｓ」として、ステップＳＦ７へ進む。なお、規定回数ｎ6 が２以上に設定されている場合、プロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、ステップＳＦ８へ戻り、組み合わせテーブルにおける他の組み合わせに関する試験を前述した動作と同様にして行う。そして、ステップＳＦ７では、プロセッサエレメントＰＥ0 （マスタプログラム）、およびプロセッサエレメントＰＥ0 〜ＰＥ7 （スレーブプログラム）は、ステップＳＤ７（図１１参照）と同様にして、同期処理を行った後、一連の負荷試験を終了する。
【０１５７】
以上説明したように、実施の形態２によれば、複数の＜送信元＞のプロセッサエレメントから一つの＜送信先＞のプロセッサエレメントへパケットを送信させないという条件で、しかも同一時刻で複数のパケットがクロスバネットワーク装置２０に到着する送信タイミングで複数のパケットを送信しているため常に最高負荷状態で負荷試験を行うことができる。さらに、実施の形態２によれば、実際に測定した結果を期待値とし、かつ最高負荷状態における伝送時間に基づいて性能評価を行っているため、さらに信頼性が高い試験結果が得られる。
【０１５８】
（実施の形態３）
さて、前述した実施の形態１においては、図９（ａ）および（ｂ）に示したように、プロセッサエレメントＰＥ0 〜ＰＥ3 における＜送信元＞のプロセッサエレメントと＜送信先＞のプロセッサエレメントとの組を決めておき、＜送信元＞のプロセッサエレメントから＜送信先＞のプロセッサエレメントへ一斉にパケットをそれぞれ送信することで、高負荷の状態を作り出して、負荷試験を行う例について詳述した。また、前述した実施の形態２においては、複数のパケットを、図１２に示したクロスバネットワーク装置２０に同一時刻に到着させることにより、最高負荷の状態で負荷試験を行う例について詳述した。以下においては、上述した実施の形態１および実施の形態２を組み合わせるとともに、伝送時間が長い伝送ルートに着目して負荷試験を行う場合を実施の形態３として説明する。
【０１５９】
図１８は、本発明にかかる実施の形態３の構成を示すブロック図である。この図に示した並列プロセッサ装置の基本的な構成は、図１に示したものと同様である。ただし、図１８に示した並列プロセッサ装置においては、図１に示した並列プロセッサ装置に比して３台多い、７台のプロセッサエレメントＰＥ0 〜ＰＥ6 が設けられている。また、プロセッサエレメントの台数の増加にともなって、クロスバネットワーク装置３０の構成も、クロスバネットワーク装置１０（図１参照）とは若干異なる。
【０１６０】
図１８において、プロセッサエレメントＰＥ0 〜ＰＥ6 は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、プロセッサエレメントＰＥ0 （図１参照）と同一構成とされている。クロスバネットワーク装置３０は、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ6 間を相互接続する装置であり、レジスタ群１１（図２参照）と同様にして、同期処理に用いられるレジスタ群３１と、Ｎ×Ｎ（同図では７×７）スイッチ構成のクロスバスイッチ群３２と有している。
【０１６１】
このクロスバネットワーク装置３０においては、入線側（送信側）がプロセッサエレメントＰＥ0 〜ＰＥ6 のそれぞれの送信部（図示略）に接続されており、出線側（受信側）がプロセッサエレメントＰＥ0 〜ＰＥ6 のそれぞれの受信部（図示略）に接続されている。このように、クロスバネットワーク装置３０は、Ｎ×Ｎ（同図では７×７）スイッチ構成とされており、任意の入力線（送信部）−出力線（受信部）間を接続する装置である。
【０１６２】
レジスタ群３１は、レジスタ３１PE0 〜３１PE6 から構成されており、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ6 の同期をとるために用いられる。これらレジスタ３１PE0 〜３１PE6 は、プロセッサエレメントＰＥ0 〜ＰＥ6 にそれぞれ対応して設けられている。レジスタ３１PE0 は、プロセッサエレメントＰＥ0 からのアクセスにより、「１」データまたは「０」データを格納する。なお、プロセッサエレメントＰＥ0 は、レジスタ３１PE0 のみに「１」データまたは「０」データの格納を行うことができるが、他のレジスタ３１PE1 〜３１PE6 に対して、データの格納を行うことができない。同様にして、レジスタ３１PE1 〜３１PE6 は、プロセッサエレメントＰＥ1 〜ＰＥ6 からのアクセスにより、「１」データまたは「０」データをそれぞれ格納する。
【０１６３】
また、レジスタ群３１（レジスタ３１PE0 〜３１PE6 ）は、全てのプロセッサエレメントＰＥ0 〜ＰＥ6 により、格納されたデータが共通で参照されるようになっている。すなわち、プロセッサエレメントＰＥ0 は、全てのレジスタ３１PE0 〜３１PE6 に格納されたデータの参照を行うことができる。他のプロセッサエレメントＰＥ1 〜ＰＥ6 も同様にして、全てのレジスタ３１PE0 〜３１PE6 に格納されたデータの参照を行うことができる。
【０１６４】
同期処理において、プロセッサエレメントＰＥ0 〜ＰＥ6 は、レジスタ３１PE0 〜３１PE6 に「１」データ（または「０」データ）を個別的にそれぞれ書き込む。その後、プロセッサエレメントＰＥ0 〜ＰＥ6 は、一定時間間隔をおいてレジスタ群３１（レジスタ３１PE0 〜３１PE6 ）にポーリングをかけることで、保持されているデータを参照する。そして、プロセッサエレメントＰＥ0 〜ＰＥ6 は、レジスタ群３１に保持されているデータが全て「１」（または「０」）になったとき、同期がとられたことを認識する。クロスバスイッチ群３２は、７×７配列の都合４９個のクロスバスイッチＳ00〜Ｓ66を有しており、プロセッサエレメントＰＥ0 〜ＰＥ6 のうち、任意の組み合わせのプロセッサエレメント間を相互接続する。このクロスバスイッチ群３２の基本的な機能は、クロスバスイッチ群１２（図３参照）と同様である。
【０１６５】
また、図１８に示したプロセッサエレメントＰＥ0 〜ＰＥ6 のそれぞれのメモリ（図示略）には、図４の場合と同様にして、マスタプログラムおよびスレーブプログラムからなる負荷試験プログラムがそれぞれ記憶されている。具体的には、プロセッサエレメントＰＥ0 のメモリには、マスタプログラムおよびスレーブプログラムが記憶されており、プロセッサエレメントＰＥ1 〜ＰＥ6 のそれぞれのメモリには、スレーブプログラムがそれぞれ記憶されている。
【０１６６】
つぎに、上述した実施の形態３の動作について図１９、図２０および図２１に示したフローチャートを参照しつつ説明する。実施の形態３においては、実施の形態１と同様の測定処理（図６参照）に続いて、実施の形態２と同様の測定処理（図１６参照）が行われた後に、さらに測定処理（図２１参照）が行われる。そして、一連の測定処理が行われた後に、負荷試験が行われる。ここで、実施の形態３では、図１９に示したように、他の伝送ルートに比して、伝送時間が長い伝送ルート（たとえば、プロセッサエレメントＰＥ6 →プロセッサエレメントＰＥ0 ）に着目して、負荷試験が行われる。具体的には、図１９に示した例では、プロセッサエレメントＰＥ6 からプロセッサエレメントＰＥ0 へパケットを送信している間に、他のプロセッサエレメント間でパケットの送信を行う。
【０１６７】
また、図２０に示したステップＳＧ１〜ステップＳＧ１６は、図１８に示したプロセッサエレメントＰＥ0 （マスタプログラム）により実行される処理である。ステップＳＧ１７〜ステップＳＧ４８、ステップＳＧ１〜ステップＳＧ５、ステップＳＧ１０、ステップＳＧ１２およびステップＳＧ１６は、図１８に示したプロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）により実行される処理である。
【０１６８】
図１８に示したプロセッサエレメントＰＥ0 においてマスタプログラムが起動されると、図２０に示したステップＳＧ１では、プロセッサエレメントＰＥ0 〜ＰＥ6 は、前述した動作と同様にして同期処理を行った後、ステップＳＧ２へ進む。ステップＳＧ２では、プロセッサエレメントＰＥ0 〜ＰＥ6 は、図１６に示したフローチャートにしたがって、プロセッサエレメント−クロスバネットワーク装置間の往復路における伝送時間の測定処理を実行した後、ステップＳＧ３へ進む。
【０１６９】
この測定処理においては、実施の形態２と同様にして、プロセッサエレメントＰＥ0 〜ＰＥ6 のそれぞれに対応する時間差データが求められる。なお、実施の形態２においては、時間差データを求める範囲をプロセッサエレメントＰＥ0 〜ＰＥ7 としたが、実施の形態３では、上記範囲をプロセッサエレメントＰＥ0 〜ＰＥ6 として時間差データが求められる。ここで、求められた時間差データは、プロセッサエレメントＰＥ0 〜ＰＥ6 のそれぞれのメモリに記憶される。
【０１７０】
ステップＳＧ３では、プロセッサエレメントＰＥ0 〜ＰＥ6 は、図６に示したフローチャートにしたがって、プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間の測定処理を実行した後、ステップＳＧ４へ進む。この処理においては、実施の形態１と同様にして、前述した期待値データが作成される。ここで、実施の形態１においては、期待値データを求める範囲をプロセッサエレメントＰＥ0 〜ＰＥ3 としたが、実施の形態３では、上記範囲をプロセッサエレメントＰＥ0 〜ＰＥ6 として期待値データが作成される。ここで、作成された期待値データは、プロセッサエレメントＰＥ0 （図１８参照）のメモリ（図示略）に記憶される。
【０１７１】
ステップＳＧ４では、プロセッサエレメントＰＥ0 〜ＰＥ6 は、プロセッサエレメント−プロセッサエレメント間の往路（片道）における伝送時間の測定処理を図２１に示したフローチャートにしたがって実行する。この測定処理においては、プロセッサエレメントＰＥ0 〜プロセッサエレメントＰＥ6 のうち１組のプロセッサエレメントが選択され、この１組のプロセッサエレメント（送信側）−プロセッサエレメント（受信側）間の往路（片道）におけるパケットの伝送時間の測定が行われる。
【０１７２】
図２１において、ステップＳＨ１〜ステップＳＨ８は、図１８に示したプロセッサエレメントＰＥ0 （マスタプログラム）により実行される処理である。また、ステップＳＨ１、ステップＳＨ９〜ステップＳＨ２０およびステップＳＨ８は、組をなす一方のプロセッサエレメント（送信側）により実行される処理である。さらに、ステップＳＨ１、ステップＳＨ２１〜ステップＳＨ２７、ステップＳＨ１０、ステップＳＨ１３およびステップＳＨ８は、組をなす他方のプロセッサエレメント（受信側）により実行される処理である。
【０１７３】
図２１に示したステップＳＨ１では、プロセッサエレメントＰＥ0 〜ＰＥ6 は、前述した動作と同様にして、同期処理を実行した後、ステップＳＨ２、ステップＳＨ９およびステップＳＨ２１へそれぞれ進む。図２１に示したステップＳＨ２では、プロセッサエレメントＰＥ0 （マスタプログラム）は、図１８に示したプロセッサエレメントＰＥ0 〜ＰＥ6 における、二つのプロセッサエレメントを１組とする組み合わせのなかから１組を選択することで、伝送時間の測定を行う組を決定する。
【０１７４】
この場合、図１８に示したプロセッサエレメントＰＥ6 （送信側）−プロセッサエレメントＰＥ0 （受信側）からなる組が選択されたものとする。プロセッサエレメントＰＥ0 （マスタプログラム）は、上記組をなす二つのプロセッサエレメント（この場合、プロセッサエレメントＰＥ6 （送信側）およびプロセッサエレメントＰＥ0 （受信側））へ測定開始を指示した後、ステップＳＨ３へ進む。ステップＳＨ３では、プロセッサエレメントＰＥ0 （マスタプログラム）は、送信側のプロセッサエレメント（この場合、プロセッサエレメントＰＥ6 ）からの後述する伝送時間の集計結果を受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として同判断を繰り返す。
【０１７５】
そして、プロセッサエレメントＰＥ0 （マスタプログラム）より測定開始が指示されると、ステップＳＨ９では、プロセッサエレメントＰＥ6 （送信側）は、判断結果を「Ｙｅｓ」としてステップＳＨ１０へ進む。この処理と並行して、ステップＳＨ２１では、プロセッサエレメントＰＥ0 （受信側）は、判断結果を「Ｙｅｓ」としてステップＳＨ１０へ進む。ステップＳＨ１０では、プロセッサエレメントＰＥ6 およびＰＥ0 は、同期処理を行った後、ステップＳＨ１１およびステップＳＨ２２へそれぞれ進む。
【０１７６】
ステップＳＨ１１では、プロセッサエレメントＰＥ6 （送信側）は、組をなすプロセッサエレメントＰＥ0 （受信側）へ送信すべきパケットの送信時刻を記録した後、ステップＳＨ１２へ進む。ステップＳＨ１２では、プロセッサエレメントＰＥ6 は、上記プロセッサエレメントＰＥ0 宛のパケットを送信部（図示略）から送信した後、ステップＳＨ１３へ進む。そして、プロセッサエレメントＰＥ0 宛のパケットは、図１８に示したクロスバスイッチＳ06がオンされることにより、クロスバネットワーク装置３０を介してプロセッサエレメントＰＥ0 へ送信される。
【０１７７】
そして、プロセッサエレメントＰＥ0 の受信部（図示略）により上記パケットが受信されると、ステップＳＨ２２では、プロセッサエレメントＰＥ0 は、判断結果を「Ｙｅｓ」としてステップＳＨ２３へ進む。ステップＳＨ２３では、プロセッサエレメントＰＥ0 （受信側）は、パケットの受信時刻を記録した後、ステップＳＨ１３へ進む。ステップＳＨ１３では、プロセッサエレメントＰＥ6 、プロセッサエレメントＰＥ0 は、同期処理を行った後、ステップＳＨ１４およびステップＳＨ２４へそれぞれ進む。ステップＳＨ１４では、プロセッサエレメントＰＥ6 （送信側）は、プロセッサエレメントＰＥ0 （受信側）からの受信時刻データを受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【０１７８】
ステップＳＨ２４では、プロセッサエレメントＰＥ0 （受信側）は、パケットの受信時刻を示す受信時刻データをプロセッサエレメントＰＥ6 （送信側）へ送信した後、ステップＳＨ２５へ進む。ステップＳＨ２５では、プロセッサエレメントＰＥ0 は、プロセッサエレメントＰＥ6 から測定終了の通知を受けたか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＨ１０に戻る。そして、上記受信時刻データを受信すると、プロセッサエレメントＰＥ6 は、ステップＳＨ１４の判断結果を「Ｙｅｓ」として、ステップＳＨ１５へ進む。ステップＳＨ１５では、プロセッサエレメントＰＥ0 宛のパケットの送信回数が規定回数ｎ9 （たとえば、５回）に達したか否かを判断する。
【０１７９】
この場合、送信回数が１回であるため、プロセッサエレメントＰＥ6 は、判断結果を「Ｎｏ」として、ステップＳＨ１０へ戻る。以後、ステップＳＨ１５の判断結果が「Ｙｅｓ」となるまで、プロセッサエレメントＰＥ6 は、同一のプロセッサエレメントＰＥ0 へパケットを送信する処理、受信時刻データを受信する処理を行い、プロセッサエレメントＰＥ0 は、パケットを受信する処理、および受信時刻データを送信する処理を行う。ここで、プロセッサエレメントＰＥ6 は、１回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。
【０１８０】
そして、プロセッサエレメントＰＥ0 宛のパケットの送信回数が規定回数ｎ9 （５回）に達すると、ステップＳＨ１５では、プロセッサエレメントＰＥ6 は、判断結果を「Ｙｅｓ」としてステップＳＨ１６へ進む。この時点では、プロセッサエレメントＰＥ6 からプロセッサエレメントＰＥ0 までの往路（片道）に関する都合５回分の送信時刻および受信時刻に関するデータが記録されている。
【０１８１】
ステップＳＨ１６では、プロセッサエレメントＰＥ6 は、プロセッサエレメントＰＥ0 へ測定終了を通知した後、ステップＳＨ１７へ進む。これにより、ステップＳＨ２５では、プロセッサエレメントＰＥ0 は、判断結果を「Ｙｅｓ」として、ステップＳＨ２６へ進む。ステップＳＨ２６では、プロセッサエレメントＰＥ0 （受信側）は、プロセッサエレメントＰＥ0 （マスタプログラム）から測定終了の指示があったか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＨ２１へ戻る。
【０１８２】
また、ステップＳＨ１７では、プロセッサエレメントＰＥ6 は、プロセッサエレメントＰＥ6 −プロセッサエレメントＰＥ0 間の往路（片道）におけるパケットの伝送時間を集計した後、集計結果をプロセッサエレメントＰＥ0 （マスタプログラム）へ送信した後、ステップＳＨ１８へ進む。この場合、プロセッサエレメントＰＥ6 は、上記往路について、受信時刻データ（ステップＳＨ１４）と、プロセッサエレメントＰＥ0 宛のパケットの送信時刻（ステップＳＨ１１）との差を伝送時間として求める。
【０１８３】
そして、上記集計結果を受信すると、ステップＳＨ３では、プロセッサエレメントＰＥ0 （マスタプログラム）は、集計結果をメモリ（図示略）に記憶させた後、ステップＳＨ４へ進む。ステップＳＨ４では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ6 （送信側）から測定終了の通知を受けたか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【０１８４】
また、ステップＳＨ１８では、プロセッサエレメントＰＥ6 は、プロセッサエレメントＰＥ0 （マスタプログラム）へ測定終了を通知した後、ステップＳＨ１９へ進む。ステップＳＨ１９では、プロセッサエレメントＰＥ6 は、プロセッサエレメントＰＥ0 （マスタプログラム）より測定終了の指示があるか否かを判断し、この場合、判断結果を「Ｎｏ」としてステップＳＨ９へ戻る。
【０１８５】
そして、プロセッサエレメントＰＥ6 （送信側）より測定終了の指示を受けると、ステップＳＨ４では、プロセッサエレメントＰＥ0 （マスタプログラム）は、判断結果を「Ｙｅｓ」として、ステップＳＨ５へ進む。ステップＳＨ５では、プロセッサエレメントＰＥ0 （マスタプログラム）は、図１８に示したプロセッサエレメントＰＥ0 〜ＰＥ6 における、二つのプロセッサエレメントを１組とする組み合わせの全てに関する測定が終了したか否かを判断する。この場合、プロセッサエレメントＰＥ6 （送信側）−プロセッサエレメントＰＥ0 （受信側）からなる組に関する測定しか終了していないため、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＨ５の判断結果を「Ｎｏ」として、ステップＳＨ２に戻る。以後、前述した動作と同様にして、他の組に関する伝送時間の測定が実行される。
【０１８６】
そして、全ての組に関する測定が終了すると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＨ５の判断結果を「Ｙｅｓ」として、ステップＳＨ６へ進む。ステップＳＨ６では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）へ測定終了を指示した後、ステップＳＨ７へ進む。これにより、ステップＳＨ１９およびステップＳＨ２６では、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）は、判断結果を「Ｙｅｓ」として、ステップＳＨ２０およびステップＳＨ２７へ進む。ステップＳＨ２０およびステップＳＨ２７では、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）は、プロセッサエレメントＰＥ0 （マスタプログラム）からの時間差データを受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【０１８７】
ステップＳＨ７では、プロセッサエレメントＰＥ0 （マスタプログラム）は、図１８に示したプロセッサエレメントＰＥ0 〜ＰＥ6 における組毎に、集計結果の平均値をとることにより、往路（片道）の測定結果（伝送時間）を求める。すなわち、この場合、複数の組に対応する複数の測定結果が求められる。つぎに、プロセッサエレメントＰＥ0 （マスタプログラム）は、上記複数の測定結果間においてそれぞれ差をとり、この差を時間差データとして、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）へそれぞれ送信した後、ステップＳＨ１８へ進む。そして、上記時間差データを受信するとステップＳＨ２０およびステップＳＨ２７では、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）は、判断結果を「Ｙｅｓ」として、ステップＳＨ１８へ進む。ステップＳＨ１８では、プロセッサエレメントＰＥ0 〜ＰＥ6 は、同期処理を行った後、図２０に示したメインルーチンへ戻る。
【０１８８】
図２０に示したステップＳＧ５では、プロセッサエレメントＰＥ0 〜ＰＥ6 は、同期処理を行う。この同期処理が終了すると、プロセッサエレメントＰＥ0 （マスタプログラム）がステップＳＧ６の処理を実行するとともに、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）はステップＳＧ１７、ステップＳＧ３１およびステップＳＧ４０の処理を実行する。ステップＳＧ１７、ステップＳＧ３１およびステップＳＧ４０では、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）は、プロセッサエレメントＰＥ0 （マスタプログラム）から試験開始の指示があるか否かを判断し、この場合、判断結果を「Ｎｏ」として同判断を繰り返す。
【０１８９】
ここで、ステップＳＧ３１およびステップＳＧ４０の処理は、組をなす基準プロセッサエレメント（送信側）および基準プロセッサエレメント（受信側）により実行され、ステップＳＧ１７の処理は、組をなす二つの基準プロセッサエレメント以外のプロセッサエレメントにより実行される。ここで、組をなす二つの基準プロセッサエレメントは、プロセッサエレメントＰＥ0 〜ＰＥ6 のなかから選択される。
【０１９０】
ステップＳＧ６では、プロセッサエレメントＰＥ0 （マスタプログラム）は、伝送ルートを決定した後、ステップＳＧ７へ進む。ここで、伝送ルートとは、ステップＳＧ４の処理で説明したプロセッサエレメント−プロセッサエレメント間の往路（片道）をいう。また、伝送ルートを決定する基準は、当該伝送ルート（片道）における伝送時間が、この伝送ルートにおける１組のプロセッサエレメント以外の、プロセッサエレメント間における往復路の伝送時間より長いこと、である。伝送ルートの決定の際には、伝送ルート（片道）における伝送時間として、ステップＳＧ４の測定結果が用いられ、プロセッサエレメント間の往復路の伝送時間として、ステップＳＧ３の測定結果（往路における伝送時間）が用いられる。
【０１９１】
この場合、上記伝送ルートとして、図１９に示したプロセッサエレメントＰＥ6 −プロセッサエレメントＰＥ0 間の往路（片道）が選択されたものとする。したがって、図１９に示した例では、プロセッサエレメントＰＥ6 −プロセッサエレメントＰＥ0 間の往路（片道）における伝送時間は、他のプロセッサエレメント間の往復路における伝送時間より長い。この場合、他のプロセッサエレメントは、プロセッサエレメントＰＥ1 〜ＰＥ5 である。
【０１９２】
ステップＳＧ７では、プロセッサエレメントＰＥ0 （マスタプログラム）は、上記伝送ルートにおける基準プロセッサエレメントへ試験開始を指示する。この場合、上記伝送ルートは、図１９に示したプロセッサエレメントＰＥ6 −プロセッサエレメントＰＥ0 間の往路である。また、ここでいう基準プロセッサエレメントは、伝送ルートの送信側に位置するプロセッサエレメントＰＥ6 、および受信側に位置するプロセッサエレメントＰＥ0 を指す。したがって、この場合、ステップＳＧ７では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ6 （送信側）およびプロセッサエレメントＰＥ0 （受信側）へ試験開始を指示した後、ステップＳＨ８へ進む。
【０１９３】
上記試験開始の指示を受けると、ステップＳＧ３１およびステップＳＧ４０では、プロセッサエレメントＰＥ6 （送信側）およびプロセッサエレメントＰＥ0 （受信側）は、判断結果を「Ｙｅｓ」として、ステップＳＧ３２へ進む。ステップＳＧ３２では、プロセッサエレメントＰＥ6 （送信側）およびプロセッサエレメントＰＥ0 （受信側）は、同期処理を行った後、ステップＳＧ３３およびステップＳＧ４１へそれぞれ進む。
【０１９４】
ステップＳＧ３３では、プロセッサエレメントＰＥ6 （送信側）は、組をなすプロセッサエレメントＰＥ０0 （受信側）へ送信すべきパケットの送信時刻を記録した後、ステップＳＧ３４へ進む。ステップＳＧ３４では、プロセッサエレメントＰＥ6 は、上記プロセッサエレメントＰＥ0 宛のパケットを送信部（図示略）から送信した後、ステップＳＧ３５へ進む。そして、プロセッサエレメントＰＥ0 宛のパケットは、図１８に示したクロスバスイッチＳ06がオンされることにより、クロスバネットワーク装置３０を介してプロセッサエレメントＰＥ0 へ送信される。また、ステップＳＧ４１では、プロセッサエレメントＰＥ0 （受信側）は、プロセッサエレメントＰＥ6 からのパケットを受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として同判断を繰り返す。
【０１９５】
また、ステップＳＧ８では、プロセッサエレメントＰＥ0 （マスタプログラム）は、組み合わせテーブルを参照することで、基準プロセッサエレメント（この場合、プロセッサエレメントＰＥ6 およびＰＥ0 ）を除く、複数のプロセッサエレメント（この場合、プロセッサエレメントＰＥ1 〜ＰＥ5 ）における組を決定する。上記組み合わせテーブルは、前述した図１０に示した組み合わせテーブルと同種であるが、組み合わせの範囲がプロセッサエレメントＰＥ0 〜ＰＥ6 とされている。この場合、プロセッサエレメントＰＥ0 （マスタプログラム）は、組み合わせテーブルの中から、たとえば、図１９に示した組み合わせを選択する。この場合の組み合わせは、つぎの（１ｌ）項〜（５ｌ）項のようになる。
【０１９６】
＜送信元＞ ＜送信先＞
（１ｌ）プロセッサエレメントＰＥ1 −  プロセッサエレメントＰＥ5
（２ｌ）プロセッサエレメントＰＥ5 − プロセッサエレメントＰＥ1
（３ｌ）プロセッサエレメントＰＥ2 − プロセッサエレメントＰＥ4
（４ｌ）プロセッサエレメントＰＥ4 −  プロセッサエレメントＰＥ2
（５ｌ）プロセッサエレメントＰＥ3 −  プロセッサエレメントＰＥ3
【０１９７】
つぎに、ステップＳＧ８では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）へ、上述した（１ｌ）項〜（５ｌ）項の組み合わせ（図１９参照）、および試験開始を通知した後、ステップＳＧ９へ進む。これにより、プロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）は、負荷試験における組み合わせを認識した後、ステップＳＧ１７の判断結果を「Ｙｅｓ」として、ステップＳＧ１８へ進む。ステップＳＧ１８では、プロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）は、プロセッサエレメントＰＥ0 （マスタプログラム）からの期待値データ（伝送時間の期待値）を受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として同判断を繰り返す。
【０１９８】
ステップＳＧ９では、プロセッサエレメントＰＥ0 （マスタプログラム）は、（１ｌ）項〜（５ｌ）項の組み合わせに応じた期待値データをプロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）毎にメモリ（図示略）からそれぞれ読み出す。そして、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）へ期待値データをそれぞれ送信した後、ステップＳＧ１０へ進む。そして、期待値データをそれぞれ受信すると、ステップＳＧ１８では、プロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）は、判断結果を「Ｙｅｓ」としてステップＳＧ１０へ進む。
【０１９９】
ステップＳＧ１０では、プロセッサエレメントＰＥ0 （マスタプログラム）、プロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）は、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＧ１１へ進む。ステップＳＧ１１では、プロセッサエレメントＰＥ0 （マスタプログラム）は、全てのプロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）から試験終了の通知を受けたか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【０２００】
また、ステップＳＧ１０の同期処理により同期がとられると、プロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）は、タイマ（図示略）による計時を開始した後、ステップＳＧ１９へ進む。ステップＳＧ１９では、プロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）は、ステップＳＦ１０（図１７参照）と同様にして、それぞれのタイマの時間（計時結果）が、ステップＳＧ２で得られた時間差データ以上であるか否かを判断し、この判断結果が「Ｎｏ」である場合、同判断を繰り返す。すなわち、プロセッサエレメントＰＥ1 〜ＰＥ5 は、実施の形態２と同様にして、時間差データに相当する時間分、待機する。そして、タイマの時間（計時結果）が時間差データ以上になると、プロセッサエレメントＰＥ1 〜ＰＥ5 は、判断結果を「Ｙｅｓ」として、ステップＳＧ２０へ進む。
【０２０１】
ステップＳＧ２０では、プロセッサエレメントＰＥ1 〜ＰＥ5 は、ステップＳＦ１１（図１７参照）と同様にして、＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 へのパケットの送信時刻をそれぞれ記録した後、ステップＳＦ２１へ進む。ステップＳＦ２１では、プロセッサエレメントＰＥ1 〜ＰＥ5 は、＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 宛のパケットをそれぞれ送信する。ここで、それぞれのパケットの送信時刻は、前述した実施の形態２の場合と同様にして異なる。また、それぞれのパケットは、図１８に示したプロセッサエレメントＰＥ6 からプロセッサエレメントＰＥ0 へパケットが送信されている最中、言い換えれば、クロスバネットワーク装置３０におけるクロスバスイッチＳ06がオンになっているときに送信される。
【０２０２】
そして、ステップＳＧ２１においてプロセッサエレメントＰＥ1 〜ＰＥ5 から異なる送信時刻で送信されたそれぞれのパケットは、同一時刻で図１８に示したクロスバネットワーク装置３０に到達する。これにより、クロスバネットワーク装置３０のクロスバスイッチ群３２では、クロスバスイッチＳ51、Ｓ15、Ｓ42、Ｓ24、Ｓ33が同一時刻でそれぞれオンにされる。すなわち、この場合、クロスバネットワーク装置３０は、最高負荷の状態にある。そして、それぞれのパケットは、＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 へ送信される。
【０２０３】
ステップＳＧ２２では、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、組をなす＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 からの返答用のパケットを受信したか否かをそれぞれ判断し、返答用のパケットを受信するまで同判断をそれぞれ繰り返す。そして、＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 からのパケットを受信すると、割り込みを発生させステップＳＧ３０の処理を実行する。すなわち、ステップＳＧ３０では、＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、組をなす＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 へ返答用のパケットをそれぞれ送信する。これら返答用のパケットは、図１８に示したクロスバネットワーク装置３０を経由して、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 へそれぞれ送信される。
【０２０４】
そして、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 からの返答用のパケットをそれぞれ受信すると、ステップＳＧ２２の判断結果を「Ｙｅｓ」として、ステップＳＧ２３へそれぞれ進む。ここで、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 が返答用のパケットを全て受信し終えるまで、プロセッサエレメントＰＥ0 （受信側）は、プロセッサエレメントＰＥ6 （送信側）からのパケットを受信し終えない。これは、ステップＳＧ６において前述した基準により伝送ルートが決定されているからである。
【０２０５】
ステップＳＧ２３では、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、返答用のパケットの受信時刻をそれぞれ記録した後、ステップＳＧ２４へ進む。ステップＳＧ２４では、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、組をなす＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 宛のパケットの送信回数が規定回数ｎ7 （たとえば、５回）に達したか否かを判断する。この場合、送信回数が１回であるため、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、判断結果を「Ｎｏ」として、ステップＳＧ１９へ戻る。
【０２０６】
以後、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、ステップＳＧ２４の判断結果が「Ｙｅｓ」となるまで、同一の＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 へパケットを送信する処理、送信時刻の記録、および返答用パケットの受信時刻の記録を行う（ステップＳＧ１９〜ステップＳＧ２３）。この場合、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、伝送時間の誤差を少なくするために、１回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。そして、＜送信先＞のプロセッサエレメントＰＥ1 〜ＰＥ5 宛のパケットの送信回数が規定回数ｎ7 （５回）に達すると、ステップＳＧ２４では、＜送信元＞のプロセッサエレメントＰＥ0 〜ＰＥ6 は、判断結果を「Ｙｅｓ」として、ステップＳＧ２５へ進む。
【０２０７】
また、プロセッサエレメントＰＥ6 （送信側）からのパケットを受信すると、プロセッサエレメントＰＥ0 （受信側）は、ステップＳＧ４１の判断結果を「Ｙｅｓ」とし、ステップＳＧ４２へ進む。ここで、ステップＳＧ４１の判断結果が「Ｙｅｓ」となった時点では、＜送信元＞のプロセッサエレメントＰＥ1 〜ＰＥ5 は、返答用パケットを受信し終えている。ステップＳＧ４２では、プロセッサエレメントＰＥ0 （受信側）は、パケットの受信時刻を記録した後、ステップＳＧ３５へ進む。
【０２０８】
ステップＳＧ３５では、プロセッサエレメントＰＥ6 （送信側）およびプロセッサエレメントＰＥ0 （受信側）は、同期処理を行った後、ステップＳＧ３６およびステップＳＧ４３へ進む。ステップＳＧ３６では、プロセッサエレメントＰＥ6 （送信側）は、プロセッサエレメントＰＥ0 宛のパケットの送信時刻に関する送信時刻データをプロセッサエレメントＰＥ0 へ送信した後、ステップＳＧ３７へ進む。そして、上記送信時刻データを受信すると、プロセッサエレメントＰＥ0 は、ステップＳＧ４３の判断結果を「Ｙｅｓ」として、ステップＳＧ４４へ進む。
【０２０９】
ステップＳＧ３７では、プロセッサエレメントＰＥ6 は、プロセッサエレメントＰＥ0 から受信終了の通知を受けたか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。また、ステップＳＧ４４では、まず、プロセッサエレメントＰＥ0 は、プロセッサエレメントＰＥ6 からのパケットの受信時刻（ステップＳＧ４２参照）と、上記パケットに関する送信時刻データ（ステップＳＧ４３参照）との差を、プロセッサエレメントＰＥ6 −プロセッサエレメントＰＥ0 間の往路（片道）の伝送時間として求める。
【０２１０】
つぎに、プロセッサエレメントＰＥ0 は、ステップＳＤ１５（図１１参照）と同様にして、上記伝送時間と、ステップＳＧ４（図２１参照）で求められた往路における伝送時間とを比較することで、性能評価を行う。つぎに、プロセッサエレメントＰＥ0 は、性能評価結果に基づいて、エラーの有無を判断する。ここで、エラーが発生している場合、ステップＳＧ４４では、プロセッサエレメントＰＥ0 は、判断結果を「Ｙｅｓ」として、ステップＳＧ４５へ進み、ステップＳＤ１６（図１１参照）と同様にして、エラー処理を行った後、ステップＳＧ４６へ進む。一方、エラーの発生がない場合、プロセッサエレメントＰＥ0 は、ステップＳＧ４４の判断結果を「Ｎｏ」として、ステップＳＧ４６へ進む。
【０２１１】
ステップＳＧ４６では、プロセッサエレメントＰＥ0 は、受信終了をプロセッサエレメントＰＥ6 へ通知した後、ステップＳＧ４７へ進む。ステップＳＧ４７では、プロセッサエレメントＰＥ0 （スレーブプログラム）は、試験終了をプロセッサエレメントＰＥ0 （マスタプログラム）へ通知した後、ステップＳＧ１２へ進む。また、プロセッサエレメントＰＥ0 から受信終了が通知されると、ステップＳＧ３７では、プロセッサエレメントＰＥ6 は、判断結果を「Ｙｅｓ」として、ステップＳＧ３８へ進む。ステップＳＧ３８では、プロセッサエレメントＰＥ6 は、プロセッサエレメントＰＥ0 （マスタプログラム）へ試験終了を通知した後、ステップＳＧ１２へ進む。
【０２１２】
一方、ステップＳＧ２５では、プロセッサエレメントＰＥ1 〜ＰＥ5 は、ステップＳＤ１５（図１１参照）と同様の手法により、エラーの有無を判断する。ここで、エラーが発生している場合、ステップＳＧ２５では、プロセッサエレメントＰＥ1 〜ＰＥ5 は、判断結果を「Ｙｅｓ」として、ステップＳＧ２６へ進み、ステップＳＤ１６（図１１参照）と同様にして、エラー処理を行った後、ステップＳＧ２７へ進む。一方、エラーの発生がない場合、プロセッサエレメントＰＥ1 〜ＰＥ5 は、ステップＳＧ２５の判断結果を「Ｎｏ」として、ステップＳＧ２７へ進む。ステップＳＧ２７では、プロセッサエレメントＰＥ1 〜ＰＥ5 は、プロセッサエレメントＰＥ0 （マスタプログラム）へ試験終了を通知した後、ステップＳＧ１２へ進む。
【０２１３】
そして、全てのプロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）から試験終了の通知を受けると、ステップＳＧ１１では、プロセッサエレメントＰＥ0 （マスタプログラム）は、判断結果を「Ｙｅｓ」として、ステップＳＧ１２へ進む。ステップＳＧ１２では、プロセッサエレメントＰＥ0 〜ＰＥ6 は、同期処理を行う。この同期処理が終了すると、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＧ１３へ進み、当該伝送ルート（この場合、プロセッサエレメントＰＥ6 −プロセッサエレメントＰＥ0 間：図１８参照）に関する試験回数が規定回数ｎ8 に達したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＧ８に戻り、上述した工程を繰り返す。
【０２１４】
また、同期処理が終了すると、プロセッサエレメントＰＥ1 〜ＰＥ5 （スレーブプログラム）は、ステップＳＧ２８へ進み、当該伝送ルートに関する試験回数が規定回数ｎ8 に達したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＧ１７に戻り、上述した工程を繰り返す。さらに、同期処理が終了すると、プロセッサエレメントＰＥ6 （送信側）は、ステップＳＧ３９へ進み、当該伝送ルートに関する試験回数が規定回数ｎ8 に達したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＧ３２に戻り、上述した工程を繰り返す。同様にして、同期処理が終了すると、プロセッサエレメントＰＥ0 （受信側）は、ステップＳＧ４８へ進み、当該伝送ルートに関する試験回数が規定回数ｎ8 に達したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＧ３２に戻り、上述した工程を繰り返す。
【０２１５】
そして、当該伝送ルートに関する試験回数が規定回数ｎ8 に達すると、ステップＳＧ１３、ステップＳＧ２８、ステップＳＧ３９およびステップＳＧ４８のそれぞれの判断結果が「Ｙｅｓ」となる。これにより、ステップＳＧ１４では、プロセッサエレメントＰＥ0 （マスタプログラム）は、ステップＳＧ６で説明した伝送ルートを決定する条件を満たす全ての伝送ルートに関する試験が終了したか否かを判断し、判断結果が「Ｎｏ」である場合、ステップＳＧ６へ戻る。
【０２１６】
以後、ステップＳＧ６以降においては、別の伝送ルートに関する試験が行われる。また、ステップＳＧ２９では、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）は、プロセッサエレメントＰＥ0 （マスタプログラム）から試験終了の指示を受けたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＧ１７、ステップＳＧ３１およびステップＳＧ４０へ戻り、別の伝送ルートに関する試験を行う。
【０２１７】
そして、全ての伝送ルートに関する試験が終了すると、ステップＳＧ１４では、プロセッサエレメントＰＥ0 （マスタプログラム）は、判断結果を「Ｙｅｓ」として、ステップＳＧ１５へ進む。ステップＳＧ１５では、プロセッサエレメントＰＥ0 （マスタプログラム）は、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）へ試験終了を指示した後、ステップＳＧ１６へ進む。そして、上記試験終了の指示を受けると、プロセッサエレメントＰＥ0 〜ＰＥ6 （スレーブプログラム）は、ステップＳＧ２９の判断結果を「Ｙｅｓ」として、ステップＳＧ１６へ進む。ステップＳＧ１６では、プロセッサエレメントＰＥ0 〜ＰＥ6 は、同期処理を行った後、一連の負荷試験を終了する。
【０２１８】
以上説明したように、実施の形態３によれば、他の組に比べて伝送時間が長い特定の組（たとえば、図１９に示したプロセッサエレメントＰＥ0 −プロセッサエレメントＰＥ6 ）でパケットの送信を行っている最中に他の組でパケットの送信、性能評価を行うようにしたので、特定の組におけるパケットの送信が、他の組におけるパケットの送信に及ぼす影響を知ることができる。
【０２１９】
（実施の形態４）
図２２は、本発明にかかる実施の形態４の構成を示すブロック図である。この図に示した並列プロセッサ装置の基本的な構成は、図１に示したものと同様である。ただし、図２２に示した並列プロセッサ装置においては、図１に示した並列プロセッサ装置に比して１台多い、５台のプロセッサエレメントＰＥA 〜ＰＥE が設けられている。また、プロセッサエレメントの台数の増加にともなって、クロスバネットワーク装置５０の構成も、クロスバネットワーク装置１０（図１参照）とは若干異なる。また、実施の形態４は、障害診断、異常箇所の特定を行う障害診断装置に関するものである。
【０２２０】
図２２において、プロセッサエレメントＰＥA 〜ＰＥE は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、ＣＰＵ、メモリ等をそれぞれ有している。これらプロセッサエレメントＰＥA 〜ＰＥE の基本的な構成は、前述したプロセッサエレメントＰＥ0 （図１参照）と同じである。すなわち、プロセッサエレメントＰＥA は、装置各部を制御するＣＰＵ４０A と、障害診断プログラム、演算プログラム、演算データ等を記憶するメモリ４１A と、ＣＰＵ４０A の制御により演算データ等をパケットとして送信する送信部４２A と、パケットを受信する受信部４３A とを有している。上記障害診断プログラムは、並列プロセッサ装置の障害診断を行うためのプログラムであり、この障害診断プログラムの詳細については、後述する。
【０２２１】
他のプロセッサエレメントＰＥB 〜ＰＥE も、プロセッサエレメントＰＥA と同様の構成とされている。すなわち、プロセッサエレメントＰＥB は、障害診断制御等を行うＣＰＵ４０B と、障害診断プログラム等を記憶するメモリ４１B と、パケットを送信する送信部４２B と、パケットを受信する受信部４３B とを有している。同様にして、プロセッサエレメントＰＥC は、ＣＰＵ４０C 、メモリ４１C 、送信部４２C および受信部４３C を有しており、プロセッサエレメントＰＥD は、ＣＰＵ４０D 、メモリ４１D 、送信部４２D および受信部４３D を有している。また、プロセッサエレメントＰＥE は、ＣＰＵ４０E 、メモリ４１E 、送信部４２E および受信部４３E を有している。
【０２２２】
クロスバネットワーク装置５０は、プロセッサエレメントＰＥA 〜プロセッサエレメントＰＥE 間を相互接続する装置であり、レジスタ群１１（図１参照）と同様にして、同期処理に用いられるレジスタ群５１と、Ｎ×Ｎ（同図では５×５）スイッチ構成のクロスバスイッチ群５２とを有している。このクロスバネットワーク装置５０においては、入線側（送信路ＬS 側）がプロセッサエレメントＰＥA 〜ＰＥE の送信部４２A 〜４２E に接続されており、出線側（受信路ＬR 側）がプロセッサエレメントＰＥA 〜ＰＥE の受信部４３A 〜４３E に接続されている。
【０２２３】
レジスタ群５１は、レジスタ５１A 〜５１E から構成されており、プロセッサエレメントＰＥA 〜プロセッサエレメントＰＥE の同期をとるために用いられる。これらレジスタ５１A 〜５１E は、プロセッサエレメントＰＥA 〜ＰＥE にそれぞれ対応して設けられている。レジスタ５１A は、プロセッサエレメントＰＥA からのアクセスにより、「１」データまたは「０」データを格納する。なお、プロセッサエレメントＰＥA は、レジスタ５１A のみに「１」データまたは「０」データの格納を行うことができるが、他のレジスタ５１B 〜５１E に対して、データの格納を行うことができない。同様にして、レジスタ５１B 〜５１E は、プロセッサエレメントＰＥB 〜ＰＥE からのアクセスにより「１」データまたは「０」データをそれぞれ格納する。
【０２２４】
また、レジスタ群５１（レジスタ５１A 〜５１E ）は、全てのプロセッサエレメントＰＥA 〜ＰＥE により、格納されたデータが共通で参照されるようになっている。すなわち、プロセッサエレメントＰＥA は、全てのレジスタ５１A 〜５１E に格納されたデータの参照を行うことができる。他のプロセッサエレメントＰＥB 〜ＰＥE も同様にして、全てのレジスタ５１A 〜５１E に格納されたデータの参照を行うことができる。同期処理において、プロセッサエレメントＰＥA 〜ＰＥE は、レジスタ５１A 〜５１E に「１」データ（または「０」データ）を個別的にそれぞれ書き込む。
【０２２５】
その後、プロセッサエレメントＰＥA 〜ＰＥE は、一定時間間隔をおいてレジスタ群５１（レジスタ５１A 〜５１E ）にポーリングをかけることで、保持されているデータを参照する。そして、プロセッサエレメントＰＥA 〜ＰＥE は、レジスタ群５１に保持されているデータが全て「１」（または「０」）になったとき、同期がとられたことを認識する。
【０２２６】
クロスバスイッチ群５２は、５×５配列のクロスバスイッチＳ1 〜Ｓ25という都合２５個のクロスバスイッチを有しており、プロセッサエレメントＰＥA 〜ＰＥE のうち、任意の組み合わせのプロセッサエレメント間を相互接続する。サービスプロセッサ６０は、プロセッサエレメントＰＥA 〜ＰＥE にそれぞれ接続されており、クロスバスイッチ群５２と同様の機能を備えている。すなわち、サービスプロセッサ６０は、プロセッサエレメントＰＥA 〜ＰＥE のうち、任意の組み合わせのものを接続する。
【０２２７】
また、図２２に示したプロセッサエレメントＰＥA 〜ＰＥE のそれぞれのメモリ４１A 〜４１E には、図４の場合と同様にして、マスタプログラムおよびスレーブプログラムからなる障害診断プログラムがそれぞれ記憶されている。具体的には、プロセッサエレメントＰＥA のメモリ４１A には、マスタプログラムおよびスレーブプログラムが記憶されており、プロセッサエレメントＰＥB 〜ＰＥE のメモリ４１B 〜４１E には、スレーブプログラムがそれぞれ記憶されている。
【０２２８】
図２３（ａ）および（ｂ）は、プロセッサエレメントＰＥA 〜ＰＥE の送信部４２A 〜４２E からそれぞれ送信されるパケットのデータ構造を示す図である。図２３（ａ）に示したようにパケットは、宛先等に関するヘッダと、パケット本体（データ）とから構成されている。上記ヘッダは、図２３（ｂ）に示したように、送信先ＰＥ番号、送信元データアドレス、送信先データアドレス、データサイズ、およびパケットＩＤから構成されている。上記送信先ＰＥ番号は、プロセッサエレメントＰＥA 〜ＰＥE のうち、送信先のプロセッサエレメントを特定するための番号である。
【０２２９】
したがって、プロセッサエレメントＰＥA 〜ＰＥE には、固有の番号（たとえば、０〜４）がそれぞれ付与されている。送信元データアドレスは、送信元のプロセッサエレメントにおいて、パケットが格納されているメモリのアドレスである。送信先データアドレスは、送信先のプロセッサエレメントにおいて、パケットが格納されるメモリのアドレスである。データサイズは、パケット本体（データ）のサイズである。パケットＩＤ（図２５参照）は、複数のパケットにおいて当該パケット、言い換えれば、＜送信元＞のプロセッサエレメントと＜送信先＞のプロセッサエレメントとからなる組を識別するための識別子である。このパケットＩＤの詳細については、後述する。
【０２３０】
また、図２４に示したように、プロセッサエレメントＰＥA 〜ＰＥE においては、送信すべき複数のパケットが送信順にキュー構造をなすように、メモリ４１A 〜４１E にそれぞれ書き込まれる。この場合、新たなパケットがキューに追加されると、書き込みポインタＷがパケット一つ分移動し、読み出されたパケットの送信が行われると、読み込みポインタＲが書き込みポインタＷと逆方向にパケット一つ分移動する。そして、書き込みポインタＷと読み込みポインタＲとが一致した時点で、全てのパケットの送信が終了する。
【０２３１】
つぎに、上述した実施の形態４の動作について説明する。以下においては、図２６に示したクロスバスイッチ群５２におけるクロスバスイッチＳ13とＳ14との間に異常箇所Ｔがある場合を例にとって、障害診断、異常箇所の特定について説明する。
【０２３２】
はじめに、図２７に示したフローチャートを参照しつつ、障害診断を行うための試験について説明する。図２７において、ステップＳＩ１では、プロセッサエレメントＰＥA （マスタプログラム）は、図２５に示した試験情報を生成した後、ステップＳＩ２へ進む。ここで、図２５に示した試験情報は、前述したパケットＩＤ（図２３（ｂ）参照）、送信元プロセッサエレメント、送信先プロセッサエレメント、およびパケット本体という項目からなる２５種類の情報からなり、プロセッサエレメントＰＥA 〜ＰＥE における組み合わせに対応するパケット情報である。なお、図２５において「Ａ」〜「Ｅ」は、プロセッサエレメントＰＥA 〜ＰＥE をそれぞれ表す。
【０２３３】
たとえば、パケットＩＤ（＝０）のパケットは、＜送信元＞のプロセッサエレメントＰＥA から＜送信先＞のプロセッサエレメントＰＥA へ送信すべきパケット本体（＝０）を有している。したがって、パケットＩＤ（＝０）により、＜送信元＞のプロセッサエレメントＰＥA および＜送信先＞のプロセッサエレメントＰＥA からなる組が一意に特定される。同様にして、パケットＩＤ（＝１）のパケットは、＜送信元＞のプロセッサエレメントＰＥA から＜送信先＞のプロセッサエレメントＰＥB へ送信すべきパケット本体（＝１）を有している。したがって、パケットＩＤ（＝１）により、＜送信元＞のプロセッサエレメントＰＥA および＜送信先＞のプロセッサエレメントＰＥB からなる組が一意に特定される。
【０２３４】
また、ステップＳＩ２６では、プロセッサエレメントＰＥB 〜ＰＥE （スレーブプログラム）は、プロセッサエレメントＰＥA （マスタプログラム）からの図２５に示した試験情報（パケットを含む）を受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【０２３５】
ステップＳＩ２では、プロセッサエレメントＰＥA （マスタプログラム）は、図２５に示した試験情報にしたがって、都合２５個のパケット（図２３（ａ）および（ｂ）参照）を生成した後、ステップＳＩ３へ進む。たとえば、パケットＩＤ（＝０）に関するパケットにおいて、図２３（ｂ）に示した送信先ＰＥ番号は＜送信先＞のプロセッサエレメントＰＥA に付与された番号であり、パケットＩＤは０（図２５参照）である。また、図２３（ａ）に示したパケット本体は、パケット本体０（図２５参照）である。
【０２３６】
ステップＳＩ３では、プロセッサエレメントＰＥA （マスタプログラム）は、図２５に示した試験情報（パケットを含む）を図２２に示したサービスプロセッサ６０経由でプロセッサエレメントＰＥB 〜ＰＥE （スレーブプログラム）へ送信するか否かを判断する。なお、上記試験情報およびパケットは、プロセッサエレメントＰＥA で保持されているため、このプロセッサエレメントＰＥA に送信されない。
【０２３７】
ここで、ステップＳＩ３の判断結果が「Ｙｅｓ」である場合、プロセッサエレメントＰＥA （マスタプログラム）は、ステップＳＩ５へ進む。ステップＳＩ５では、プロセッサエレメントＰＥA （マスタプログラム）は、試験情報（パケットを含む）をサービスプロセッサ６０経由でプロセッサエレメントＰＥB 〜ＰＥE （スレーブプログラム）へ送信した後、ステップＳＩ６へ進む。
【０２３８】
また、ステップＳＩ３の判断結果が「Ｎｏ」である場合、プロセッサエレメントＰＥA （マスタプログラム）は、ステップＳＩ４へ進む。ステップＳＩ４では、プロセッサエレメントＰＥA （マスタプログラム）は、試験情報（パケットを含む）をクロスバネットワーク装置５０経由でプロセッサエレメントＰＥB 〜ＰＥE （スレーブプログラム）へ送信した後、ステップＳＩ６へ進む。ここで、サービスプロセッサ６０を経由して試験情報（パケットを含む）を送信する理由は、クロスバネットワーク装置５０に何らかの障害があることにより、試験情報（パケットを含む）が送信先へ到着しないといった不具合を回避するためである。なお、実施の形態４においては、プロセッサエレメントＰＥB 〜ＰＥE （スレーブプログラム）へ試験情報のみを送信しておき、プロセッサエレメントＰＥB 〜ＰＥE においてパケットを生成するようにしてもよい。
【０２３９】
そして、プロセッサエレメントＰＥA （マスタプログラム）からの試験情報（パケットを含む）を受信すると、プロセッサエレメントＰＥB 〜ＰＥE は、ステップＳＩ２６の判断結果を「Ｙｅｓ」として、ステップＳＩ６へ進む。ステップＳＩ６では、プロセッサエレメントＰＥA 〜ＰＥE は、同期処理を行う。そして、同期処理が終了すると、プロセッサエレメントＰＥA は、それぞれのタイマ（図示略）の計時を開始した後、ステップＳＩ７へ進み、プロセッサエレメントＰＥB 〜ＰＥE は、ステップＳＩ２７へそれぞれ進む。ステップＳＩ７では、プロセッサエレメントＰＥA は、図２５に示したパケットＩＤ０のパケットを＜送信先＞のプロセッサエレメントＰＥA へ送信した後、ステップＳＩ８へ進み、送信時に異常を検知したか否かを判断し、同判断結果が「Ｎｏ」である場合、ステップＳＩ９へ進む。
【０２４０】
ここで、ステップＳＩ８の判断結果が「Ｙｅｓ」である場合、プロセッサエレメントＰＥA は、ステップＳＩ２０へ進み、マスタ側割り込み処理を実行する。このマスタ側割り込み処理において、ステップＳＩ２１では、プロセッサエレメントＰＥA は、異常検知の通知があるか否かを監視した後、ステップＳＩ２２へ進む。ステップＳＩ２２では、プロセッサエレメントＰＥA は、後述する異常情報／報告を受信した後、メインルーチンへ戻る。
【０２４１】
ステップＳＩ９では、プロセッサエレメントＰＥA は、図２５に示したパケットＩＤ０〜４に対応する全てのパケットを送信したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＩ７へ戻る。以後、プロセッサエレメントＰＥA は、図２５に示した残りのパケットＩＤ１〜４に対応するパケットを順次送信する。そして、ステップＳＩ９の判断結果が「Ｙｅｓ」になると、プロセッサエレメントＰＥA は、ステップＳＩ１０へ進む。ステップＳＩ１０では、プロセッサエレメントＰＥA は、＜送信先＞のプロセッサエレメントからのパケットを受信したか否かを判断し、判断結果が「Ｎｏ」である場合、同判断を繰り返す。
【０２４２】
また、ステップＳＩ２７では、プロセッサエレメントＰＥB 、ＰＥC 、ＰＥD およびＰＥE は、ステップＳＩ７と同様にして、図２５に示したパケットＩＤ５、パケットＩＤ１０、パケットＩＤ１５、およびパケットＩＤ２０のそれぞれのパケットを、＜送信先＞のプロセッサエレメントＰＥA へ送信した後、ステップＳＩ２８へ進む。ステップＳＩ２８では、プロセッサエレメントＰＥB 、ＰＥC 、ＰＥD およびＰＥE は、送信時に異常を検知したか否かを判断し、同判断結果が「Ｎｏ」である場合、ステップＳＩ２９へ進む。
【０２４３】
ここで、ステップＳＩ２８の判断結果が「Ｙｅｓ」である場合、スレーブ側割り込み処理を発生させる。すなわち、ステップＳＩ３６では、異常情報を取得した後、メインルーチンへ戻る。そして、プロセッサエレメントＰＥB 、ＰＥC 、ＰＥD およびＰＥE は、プロセッサエレメントＰＥA （マスタプログラム）へ異常の検知を通知する。これにより、プロセッサエレメントＰＥA （マスタプログラム）は、上述したステップＳＩ２０の割り込み処理を行う。
【０２４４】
ステップＳＩ２９では、プロセッサエレメントＰＥB 、ＰＥC 、ＰＥD およびＰＥE は、図２５に示したパケットＩＤ５〜９、パケットＩＤ１０〜１４、パケットＩＤ１５〜１９、およびパケットＩＤ２０〜２４にそれぞれ対応する全てのパケットを送信したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＩ２７へ戻る。
【０２４５】
以後、プロセッサエレメントＰＥB 、ＰＥC 、ＰＥD およびＰＥE は、図２５に示した残りのパケットＩＤ６〜９、パケットＩＤ１１〜１４、パケットＩＤ１６〜１９、およびパケットＩＤ２１〜２４にそれぞれ対応するパケットを順次送信する。そして、ステップＳＩ２９の判断結果が「Ｙｅｓ」になると、プロセッサエレメントＰＥB 〜ＰＥE は、ステップＳＩ３０へ進む。ステップＳＩ３０では、プロセッサエレメントＰＥB 〜ＰＥE は、＜送信先＞のプロセッサエレメントからのパケットを受信したか否かを判断し、判断結果が「Ｎｏ」である場合、同判断を繰り返す。
【０２４６】
また、図２５に示したパケットＩＤ０〜２４に対応する２５個のパケットは、クロスバネットワーク装置５０を経由して、＜送信先＞のプロセッサエレメントＰＥA 〜ＰＥE へそれぞれ送信される。そして、プロセッサエレメントＰＥA によりパケットが受信されると、プロセッサエレメントＰＥA は、ステップＳＩ１０の判断結果を「Ｙｅｓ」として、ステップＳＩ１１へ進む。ステップＳＩ１１では、プロセッサエレメントＰＥA は、受信したパケットをチェックした後、ステップＳＩ１２へ進む。
【０２４７】
ステップＳＩ１２では、プロセッサエレメントＰＥA は、タイマの時間（時計）が監視時間を越えたか否かを判断し、この判断結果が「Ｙｅｓ」の場合、ステップＳＩ１５へ進む。この監視時間は、パケットの受信の有無を監視する時間である。この場合、タイマの時間が監視時間を超えていないものとすると、プロセッサエレメントＰＥA は、判断結果を「Ｎｏ」として、ステップＳＩ１３へ進む。ステップＳＩ１３では、プロセッサエレメントＰＥA は、ステップＳＩ１１のチェック結果に基づいて、受信したパケットが、本来受信すべきパケットであるか否かを判断する。
【０２４８】
具体的には、プロセッサエレメントＰＥA は、受信したパケットの送信先ＰＥ番号（図２３（ｂ）参照）を確認することで、受信したパケットが自局宛のパケットであるか否かを判断する。この判断結果が「Ｎｏ」である場合、プロセッサエレメントＰＥA は、当該パケットが誤送されたものと認識し、ステップＳＩ１６へ進む。このようなパケットの誤送が発生する要因としては、＜送信元＞のプロセッサエレメントの故障により図２３（ｂ）に示す送信先ＰＥ番号が別の番号に置き換わる等の要因が考えられる。
【０２４９】
ステップＳＩ１６では、プロセッサエレメントＰＥA は、受信したパケットのパケットＩＤ（図２３（ｂ）参照）をキーとして、当該パケットの本来の宛先（送信先）を試験情報（図２５参照）から検索した後、ステップＳＩ１７へ進む。ステップＳＩ１７では、プロセッサエレメントＰＥA は、受信したパケットの送信先ＰＥ番号（図２３（ｂ）参照）を、上記検索した正しい送信先ＰＥ番号に書き換える。そして、プロセッサエレメントＰＥA は、当該パケットを本来の宛先へ代行送信した後、ステップＳＩ１８へ進む。これにより、当該パケットは、本来の送信先のプロセッサエレメントに受信される。ステップＳＩ１８では、プロセッサエレメントＰＥA （スレーブプログラム）は、代行送信した旨をプロセッサエレメントＰＥA （マスタプログラム）に報告した後、ステップＳＩ１４へ進む。
【０２５０】
これにより、プロセッサエレメントＰＥA （マスタプログラム）は、ステップＳＩ２０のマスタ割り込み処理を実行する。すなわち、ステップＳＩ２１では、プロセッサエレメントＰＥA （マスタプログラム）は、プロセッサエレメントＰＥA 〜ＰＥE （スレーブプログラム）からの通知があるか否かを監視した後、ステップＳＩ２２へ進む。ステップＳＩ２２では、プロセッサエレメントＰＥA （マスタプログラム）は、上記代行受信した旨の報告を受信した後、メインルーチンへ戻る。
【０２５１】
一方、ステップＳＩ１３の判断結果が「Ｙｅｓ」である場合、すなわち、正常にパケットを受信した場合、プロセッサエレメントＰＥA は、ステップＳＩ１４へ進む。ステップＳＩ１４では、プロセッサエレメントＰＥA は、＜送信先＞のプロセッサエレメントから送信された全てのパケットを受信したか否かを試験情報（図２５）を参照することで判断し、この場合、判断結果を「Ｎｏ」としてステップＳＩ１０へ戻る。以後、プロセッサエレメントＰＥA は、パケットの受信、チェック等の処理を実行する。
【０２５２】
一方、パケットを受信すると、プロセッサエレメントＰＥB 〜ＰＥE は、ＳＩ３１へ進む。以後、ステップＳＩ３０〜ステップＳＩ３４、およびステップＳＩ３７〜ステップＳＩ３９では、前述したステップＳＩ１０〜ステップＳＩ１４、およびステップＳＩ１６〜ステップＳＩ１８までの処理と同様の処理が、プロセッサエレメントＰＥB 〜ＰＥE によりそれぞれ実行される。
【０２５３】
そして、ステップＳＩ１２の判断結果、またはステップＳＩ１４の判断結果が「Ｙｅｓ」になると、プロセッサエレメントＰＥA は、ステップＳＩ１５へ進む。ステップＳＩ１５では、プロセッサエレメントＰＥA は、試験結果をまとめた後、ステップＳＩ１９へ進む。また、ステップＳＩ３２の判断結果、またはステップＳＩ３４の判断結果が「Ｙｅｓ」になると、プロセッサエレメントＰＥB 〜ＰＥE は、ステップＳＩ３５へ進む。ステップＳＩ３５では、プロセッサエレメントＰＥB 〜ＰＥE は、試験結果をまとめた後、ステップＳＩ１９へ進む。ステップＳＩ１９では、プロセッサエレメントＰＥA 〜ＰＥE は、同期処理を行う。
【０２５４】
そして、上記同期処理が終了すると、プロセッサエレメントＰＥA は、ステップＳＩ２３へ進み、プロセッサエレメントＰＥA は、プロセッサエレメントＰＥB 〜ＰＥE から試験結果を受信したか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。また、同期処理が終了すると、プロセッサエレメントＰＥB 〜ＰＥE は、ステップＳＩ４０へ進み、クロスバネットワーク装置５０（またはサービスプロセッサ６０）経由で、試験結果をプロセッサエレメントＰＥA へ送信した後、一連の処理を終了する。そして、試験結果を受信すると、プロセッサエレメントＰＥA は、ステップＳＩ２３の判断結果を「Ｙｅｓ」として、ステップＳＩ２４へ進む。
【０２５５】
ステップＳＩ２４では、プロセッサエレメントＰＥA は、全ての試験結果を受信したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＩ２３へ戻る。そして、全ての試験結果を受信すると、プロセッサエレメントＰＥA は、ステップＳＩ２４の判断結果を「Ｙｅｓ」として、ステップＳＩ２５へ進む。ステップＳＩ２５では、プロセッサエレメントＰＥA （マスタプログラム）は、受信した試験結果を収集することで、図２８に示した試験結果を得た後、一連の処理を終了する。図２８の試験結果においては、「結果」は、パケット毎の試験結果を表しており、「ＯＫ」は、当該パケットの送信／受信が正常に行われたことを意味しており、「ＮＧ」は当該パケットに関して送信／受信の異常が発生したことを意味している。
【０２５６】
つぎに、図２８に示した試験結果を解析する処理について、図２９に示したフローチャートを参照しつつ説明する。この処理は、プロセッサエレメントＰＥA （マスタプログラム）により実行される。図２９に示したステップＳＪ１では、プロセッサエレメントＰＥA は、図３０に示したマトリックス表を初期化した後、ステップＳＪ２へ進む。このマトリックス表は、図２６に示したクロスバスイッチＳ1 〜クロスバスイッチＳ25を模式化したものである。
【０２５７】
また、横の配列を示す変数ＰＥx （ＰＥA 〜ＰＥE ）は、送信側のプロセッサエレメントＰＥA 〜ＰＥE （図２２および図２６参照）を特定するための変数であり、縦の配列を示す変数ＰＥy （ＰＥA 〜ＰＥE ）は、受信側のプロセッサエレメントＰＥA 〜ＰＥE （図２２および図２６参照）を特定するための変数である。また、図３０において、○印は、試験結果が正常（ＯＫ）であることを意味し、×印は、試験結果が異常（ＮＧ）であることを意味している。
【０２５８】
ステップＳＪ２では、プロセッサエレメントＰＥA は、図２８に示した試験情報の「結果」を参照することで、全て正常（ＯＫ）であるか否かを判断する。この場合、図２８に示した試験情報において、パケットＩＤ１２、１７および２２が共に異常（ＮＧ）であるため、プロセッサエレメントＰＥA は、ステップＳＪ２の判断結果を「Ｎｏ」として、ステップＳＪ３へ進む。なお、ステップＳＪ２の判断結果が「Ｙｅｓ」である場合、プロセッサエレメントＰＥA は、ステップＳＪ１５へ進む。ステップＳＪ１５では、プロセッサエレメントＰＥA は、図３０に示したマトリックス表の全ての欄に○印を配したものを、解析結果として、ディスプレイ（図示略）に表示する。この表示を確認することにより、試験者は、全ての試験が正常に終了したこと、すなわち、異常箇所がないことを認識する。
【０２５９】
この場合、ステップＳＪ３では、プロセッサエレメントＰＥA は、図３０に示した横の配列を示す変数ＰＥx に１を代入した後、ステップＳＪ４へ進む。ステップＳＪ４では、プロセッサエレメントＰＥA は、図３０に示した縦の配列を示す変数ＰＥy に１を代入した後、ステップＳＪ５へ進む。ここで、変数ＰＥx （＝１）は、図２８に示した＜送信元＞のプロセッサエレメントＰＥA に対応しており、変数ＰＥy （＝１）は、図２８に示した＜送信先＞のプロセッサエレメントＰＥA に対応している。
【０２６０】
ステップＳＪ５では、プロセッサエレメントＰＥA （マスタプログラム）は、変数ＰＥx （＝１）およびＰＥy （＝１）により特定される図２８に示したパケットＩＤ（＝０）に応じた結果をチェックする。この場合、上記結果が正常（ＯＫ）であるため、プロセッサエレメントＰＥA は、図３０のマトリックス表の部分（Ｓ25）に○印を配した後、ステップＳＪ６へ進む。
【０２６１】
ステップＳＪ６では、プロセッサエレメントＰＥA は、変数ＰＥy （＝１）がＰＥ台数（＝５）と同数であるか否かを判断する。ここで、ＰＥ台数は、プロセッサエレメントＰＥA 〜ＰＥE の総数である。この場合、プロセッサエレメントＰＥA は、ステップＳＪ６の判断結果を「Ｎｏ」として、ステップＳＪ７へ進む。ステップＳＪ７では、プロセッサエレメントＰＥA は、変数ＰＥy （＝１）を１インクリメントして２とした後、ステップＳＪ５へ進む。ここで、変数ＰＥy （＝２）は、図２８に示した＜送信先＞のプロセッサエレメントＰＥB に対応している。
【０２６２】
ステップＳＪ５では、プロセッサエレメントＰＥA （マスタプログラム）は、変数ＰＥx （＝１）およびＰＥy （＝２）により特定される図２８に示したパケットＩＤ（＝１）に応じた結果をチェックする。この場合、上記結果が正常（ＯＫ）であるため、プロセッサエレメントＰＥA は、図３０のマトリックス表の部分（Ｓ24）に○印を配した後、ステップＳＪ６へ進む。
【０２６３】
以後、プロセッサエレメントＰＥA は、ステップＳＪ６の判断結果が「Ｙｅｓ」となるまで、変数ＰＥx （＝１）の値を一定にした状態で、変数ＰＥy を順次１インクリメントさせることで、上述したチェックを行う。そして、ステップＳＪ６の判断結果が「Ｙｅｓ」になると、プロセッサエレメントＰＥA は、ステップＳＪ８へ進む。この時点では、図３０に示したマトリックス表において、Ｓ25〜Ｓ21のそれぞれの部分には、正常を意味する○印が配されている。
【０２６４】
ステップＳＪ８では、送信部異常の判定条件を満たすか否かが判断される。ここで、送信部異常の判定条件とは、変数ＰＥx （＝１）に対応する＜送信元＞のプロセッサエレメント（この場合、プロセッサエレメントＰＥA ）の送信部が異常であるか否かを判定するための条件をいう。具体的には、判定条件は、変数ＰＥx の値が一定で、かつ変数ＰＥy がＰＥ台数と同値となるまでに、ステップＳＪ５において全ての結果が異常であること、である。この場合、図３０から明らかなように、Ｓ25〜Ｓ21の部分の全てに正常を表す○印が配されているため、プロセッサエレメントＰＥA は、ステップＳＪ８の判断結果を「Ｎｏ」として、ステップＳＪ９へ進む。
【０２６５】
なお、送信部異常の判定条件が満たされた場合、すなわち、図３０に示したＳ25〜Ｓ21の部分の全てに異常を表す×印が配されている場合、プロセッサエレメントＰＥA は、ステップＳＪ８の判断結果を「Ｙｅｓ」として、ステップＳＪ１０へ進む。ステップＳＪ１０では、プロセッサエレメントＰＥA は、変数ＰＥx （＝１）に対応する＜送信元＞のプロセッサエレメントＰＥA の送信部４２A （図２２参照）に異常がある旨をディスプレイ（図示略）に表示させる等して、試験者に報知した後、ステップＳＪ９へ進む。
【０２６６】
ステップＳＪ９では、プロセッサエレメントＰＥA は、変数ＰＥy に１を代入した後、ステップＳＪ１１へ進む。ステップＳＪ１１では、プロセッサエレメントＰＥA は、変数ＰＥx （＝１）がＰＥ台数（＝５）と同数であるか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＪ１２へ進む。ステップＳＪ１２では、プロセッサエレメントＰＥA は、変数ＰＥx （＝１）を１インクリメントした後、ステップＳＪ５へ進む。ここで、変数ＰＥx （＝２）は、図２８に示した＜送信元＞のプロセッサエレメントＰＥB に対応している。ステップＳＪ５では、プロセッサエレメントＰＥA は、変数ＰＥx （＝２）およびＰＥy （＝１）により特定される図２８に示したパケットＩＤ（＝５）に応じた結果をチェックする。この場合、上記結果が正常（ＯＫ）であるため、プロセッサエレメントＰＥA は、図３０のマトリックス表の部分（Ｓ20）に○印を配した後、ステップＳＪ６へ進む。
【０２６７】
以後、プロセッサエレメントＰＥA は、ステップＳＪ６の判断結果が「Ｙｅｓ」となるまで、変数ＰＥx （＝２）の値を一定にした状態で、変数ＰＥy を順次１インクリメントさせることで、上述したチェックを行う。そして、ステップＳＪ６の判断結果が「Ｙｅｓ」になると、プロセッサエレメントＰＥA は、ステップＳＪ８へ進む。この時点では、図３０に示したマトリックス表において、Ｓ20〜Ｓ16のそれぞれの部分には、正常を意味する○印が配されている。
【０２６８】
ステップＳＪ８では、プロセッサエレメントＰＥA は、上述した動作と同様にして、送信部異常の判定条件が満たされているか否かを判断し、この場合、図３０から明らかなように、Ｓ20〜Ｓ16の部分の全てに正常を表す○印が配されているため、ステップＳＪ８の判断結果を「Ｎｏ」として、ステップＳＪ９へ進む。ステップＳＪ９では、プロセッサエレメントＰＥA は、変数ＰＥy に１を代入した後、ステップＳＪ１１へ進む。ステップＳＪ１１では、プロセッサエレメントＰＥA は、変数ＰＥx （＝２）がＰＥ台数（＝５）と同数であるか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＪ１２へ進む。
【０２６９】
ステップＳＪ１２では、プロセッサエレメントＰＥA は、変数ＰＥx （＝２）を１インクリメントした後、ステップＳＪ５へ進む。ここで、変数ＰＥx （＝３）は、図２８に示した＜送信元＞のプロセッサエレメントＰＥC に対応している。ステップＳＪ５では、プロセッサエレメントＰＥA は、変数ＰＥx （＝３）およびＰＥy （＝１）により特定される図２８に示したパケットＩＤ（＝１０）に応じた結果をチェックする。この場合、上記結果が正常（ＯＫ）であるため、プロセッサエレメントＰＥA は、図３０のマトリックス表の部分（Ｓ15）に○印を配した後、ステップＳＪ６へ進む。
【０２７０】
以後、プロセッサエレメントＰＥA は、ステップＳＪ６の判断結果が「Ｙｅｓ」となるまで、変数ＰＥx （＝３）の値を一定にした状態で、変数ＰＥy を順次１インクリメントさせることで、上述したチェックを行う。そして、ステップＳＪ６の判断結果が「Ｙｅｓ」になると、プロセッサエレメントＰＥA は、ステップＳＪ８へ進む。この時点では、図３０に示したマトリックス表において、Ｓ15およびＳ14のそれぞれの部分には、正常を意味する○印が配されており、Ｓ13〜Ｓ11のそれぞれの部分には、異常を意味する×印が配されている。
【０２７１】
ステップＳＪ８では、プロセッサエレメントＰＥA は、上述した動作と同様にして、送信部異常の判定条件が満たされているか否かを判断し、この場合、図３０から明らかなように、Ｓ15〜Ｓ11の部分において正常を意味する○印が一部配されているため、判断結果を「Ｎｏ」としてステップＳＪ９へ進む。ステップＳＪ９では、プロセッサエレメントＰＥA は、変数ＰＥy に１を代入した後、ステップＳＪ１１へ進む。ステップＳＪ１１では、プロセッサエレメントＰＥA は、判断結果を「Ｎｏ」として、ステップＳＪ１２へ進み、変数ＰＥx （＝３）を１インクリメントした後、ステップＳＪ５へ進む。
【０２７２】
以後、プロセッサエレメントＰＥA は、ステップＳＪ１１の判断結果が「Ｙｅｓ」となるまで、変数ＰＥx および変数ＰＥy を順次１インクリメントさせることで、上述したチェックを行う。そして、ステップＳＪ１１の判断結果が「Ｙｅｓ」になると、プロセッサエレメントＰＥA は、ステップＳＪ１３へ進む。この時点では、図３０に示したマトリックス表において、Ｓ10〜Ｓ1 のそれぞれの部分には、正常を意味する○印が配されている。
【０２７３】
ステップＳＪ１３では、受信部異常の判定条件を満たすか否かが判断される。ここで、受信部異常の判定条件とは、変数ＰＥy に対応する＜送信先＞のプロセッサエレメントの受信部が異常であるか否かを判定するための条件をいう。具体的には、判定条件は、変数ＰＥy の値が一定で、かつ変数ＰＥX がＰＥ台数と同値となるまでに、ステップＳＪ５において全ての結果が異常であること、である。この場合、図３０から明らかなように、横の配列において、異常を意味する×印が５（＝ＰＥ台数）個連続して配されていないため、プロセッサエレメントＰＥA は、ステップＳＪ１３の判断結果を「Ｎｏ」として、ステップＳＪ１５へ進む。
【０２７４】
なお、受信部異常の判定条件が満たされた場合、すなわち、図３０に示した横の配列において、たとえば、Ｓ25〜Ｓ5 の部分の全てに異常を表す×印が配されていると仮定した場合、プロセッサエレメントＰＥA は、ステップＳＪ１３の判断結果を「Ｙｅｓ」として、ステップＳＪ１４へ進む。ステップＳＪ１４では、プロセッサエレメントＰＥA は、変数ＰＥy （＝１）に対応する＜送信先＞のプロセッサエレメントＰＥA の受信部４３A （図２２参照）に異常がある旨をディスプレイ（図示略）に表示させる。
【０２７５】
つぎに、プロセッサエレメントＰＥA は、ディスプレイに表示されたマトリックス表から異常箇所を特定する。具体的には、プロセッサエレメントＰＥA は、異常を意味する×印の部分（Ｓ13〜Ｓ11）に着目し、これら三つの×印に対応する送信側プロセッサエレメントを確認する。この場合、三つの×印に対応する送信側プロセッサエレメントは、いずれもプロセッサエレメントＰＥC である。つぎに、プロセッサエレメントＰＥA は、三つの×印が属する配列（Ｓ15〜Ｓ11）において正常を意味する○印が配された部分（Ｓ15、Ｓ14）に着目し、これら二つの○印に対応する受信側プロセッサエレメントを確認する。この場合、受信側プロセッサエレメントは、プロセッサエレメントＰＥA およびプロセッサエレメントＰＥB である。
【０２７６】
このマトリックス表によれば、図２６に示した送信側のプロセッサエレメントＰＥC から受信側のプロセッサエレメントＰＥA およびＰＥB 宛にそれぞれ送信されたパケットは、クロスバスイッチＳ15およびＳ14を経由して、受信側のプロセッサエレメントＰＥA およびＰＥB に正常に受信されていることがわかる。また、送信側のプロセッサエレメントＰＥC からプロセッサエレメントＰＥC 〜ＰＥE 宛にそれぞれ送信されたパケットは、いずれもプロセッサエレメントＰＥC 〜ＰＥE に受信されていないことがわかる。したがって、プロセッサエレメントＰＥA は、図２６に示したクロスバスイッチＳ14とクロスバスイッチＳ13との間で、異常箇所Ｔを特定した後、ステップＳＪ１５へ進む。ステップＳＪ１５では、プロセッサエレメントＰＥA は、図３０に示したマトリックス表および異常箇所を特定した結果をディスプレイ（図示略）に表示させた後、一連の処理を終了する。
【０２７７】
以上説明したように、実施の形態４によれば、複数のプロセッサエレメントを過不足なく組み合わせた場合の組を特定するパケットＩＤ（識別子）を付加したパケットを送信し、図２５に示した試験情報に基づいて、＜送信元＞のプロセッサエレメントと＜送信先＞のプロセッサエレメントとの間における異常を把握するようにしたので、迅速に異常箇所を特定することができる。
【０２７８】
また、実施の形態４によれば、異常の有無に関する情報を図３０に示したマトリックス表に配し、異常箇所に対応するクロスバスイッチの位置を把握するようにしたので、従来困難とされていたクロスバネットワーク装置における異常箇所が迅速に特定される。
【０２７９】
さらに、実施の形態４によれば、誤った宛先のパケットがプロセッサエレメントに受信された場合に、このプロセッサエレメントから、本来の宛先（プロセッサエレメント）へ送信するようにしたので、本来、当該パケットを受信すべきプロセッサエレメントにおいて、受信タイムアウトにより異常を検出するといった二次障害を防止することができる。
【０２８０】
以上、本発明の実施の形態１〜４について図面を参照して詳述してきたが、具体的な構成例はこれら実施の形態１〜４に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。たとえば、前述した実施の形態１〜４においては、負荷試験装置の機能または障害診断装置の機能を実現するための負荷試験プログラムまたは障害診断プログラムを図３１に示したコンピュータ読み取り可能な記録媒体２００に記録して、この記録媒体２００に記録された負荷試験プログラムまたは障害診断プログラムを同図に示したコンピュータ１００に読み込ませ、実行することにより負荷試験または障害診断を行うようにしてもよい。
【０２８１】
図３１に示したコンピュータ１００は、上記負荷試験プログラム、障害診断プログラムを実行するＣＰＵ１０１と、キーボード、マウス等の入力装置１０２と、各種データを記憶するＲＯＭ（Read Only Memory）１０３と、演算パラメータ等を記憶するＲＡＭ（Random Access Memory）１０４と、記録媒体２００から負荷試験プログラム、障害診断プログラムを読み取る読取装置１０５と、ディスプレイ、プリンタ等の出力装置１０６と、装置各部を接続するバスＢＵとから構成されている。
【０２８２】
ＣＰＵ１０１は、読取装置１０５を経由して記録媒体２００に記録されている負荷試験プログラムまたは障害診断プログラムを読み込んだ後、負荷試験プログラムまたは障害診断プログラムを実行することにより、前述した負荷試験または障害診断を行う。なお、記録媒体２００には、光ディスク、フロッピーディスク、ハードディスク等の可搬型の記録媒体が含まれることはもとより、ネットワークのようにデータを一時的に記録保持するような伝送媒体も含まれる。
【０２８３】
また、実施の形態１〜３においては、プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間（期待値を含む）を測定した結果に基づいて性能評価を行う例について説明したが、往路における伝送時間（期待値を含む）を測定した結果に基づいて性能評価を行うようにしてもよい。したがって、実施の形態１〜３における伝送時間（期待値を含む）の測定経路は、往復路、往路のいずれであってもよい。
【０２８４】
また、前述した特許請求の範囲に記載された発明においては、つぎのような変形例も可能である。すなわち、請求項１にかかる発明においては、前記ネットワークは、複数の入線側に複数の送信元の演算手段が接続され、かつ複数の出線側に複数の送信先の演算手段が接続された二次元配列のクロスバスイッチを有するクロスバネットワーク（前述した実施の形態４のクロスバネットワーク装置５０に相当）であり、前記障害診断手段は、前記複数のクロスバスイッチに対応する配列のマトリックス表を作成し、前記情報収集手段の収集結果における識別子をキーとして、前記試験情報を参照することで、前記送信先の演算手段における受信異常の有無に関する情報を前記マトリックス表に配した結果に基づいて、前記障害診断を行うようにしてもよい。
【０２８５】
この発明によれば、異常箇所がある場合、複数の送信先の演算手段においては、識別子付加パケットを正常受信した演算手段と、識別子付加パケットを受信しなかった演算手段とが存在する。この場合、情報収集手段は、それぞれの演算手段の受信状況（受信の有無）に関する情報を収集する。そして、障害診断手段は、情報収集手段の収集結果における識別子をキーとして、試験情報を参照することで、送信先の演算手段における受信異常の有無に関する情報をマトリックス表に配する。つぎに、障害診断手段は、上記マトリックス表に基づいて、受信異常に対応するクロスバスイッチの位置を把握することで、クロスバネットワークにおける異常箇所の特定を行う。
【０２８６】
このように、上記発明によれば、送信先の演算手段における受信異常の有無に関する情報をマトリックス表に配し、異常箇所に対応するクロスバスイッチの位置を把握するようにしたので、従来困難とされていたクロスバネットワークにおける異常箇所が迅速に特定される。
【０２８７】
また、請求項１にかかる発明においては、送信先の演算手段により、自局宛ではない前記識別子付加パケットが受信された場合、当該識別子付加パケットに含まれる識別子をキーとして、前記試験情報を参照することで、当該識別子付加パケットを受信すべき本来の送信先の演算手段を検索する検索手段（前述した実施の形態４のＣＰＵ４０A 〜４０E に相当）と、前記検索手段の検索結果に基づいて、前記識別子付加パケットを受信した前記演算手段から前記本来の送信先の演算手段へ識別子付加パケットを送信する代行送信制御手段（前述した実施の形態４のＣＰＵ４０A 〜４０E に相当）とを備えることを特徴とする。
【０２８８】
この発明によれば、たとえば、送信元の演算手段の異常により識別子付加パケットの宛先が別の宛先（誤った宛先）に書き変わった場合、この識別子付加パケットは、全く別の送信先の演算手段に受信される。これにより、検索手段は、上記識別子付加パケットに含まれる識別子をキーとして、試験情報を参照することで、識別子付加パケットを受信すべき本来の送信先の演算手段を検索する。そして、上記識別子付加パケットは、識別子付加パケットを受信した演算手段から本来の送信先の演算手段へ送信される。すなわち、誤った宛先の識別子付加パケットを受信した演算手段は、異常が発生した送信元の演算手段に代わって、識別子付加パケットを本来の宛先（演算手段）へ送信しているのである。
【０２８９】
このように、上記発明によれば、誤った宛先の識別子付加パケットが演算手段に受信された場合に、この演算手段から、本来の宛先（演算手段）へ送信するようにしたので、本来、当該識別子付加パケットを受信すべき演算手段において、受信タイムアウトにより異常を検出するという、二次障害を防止することができる。
【０２９０】
また、請求項２にかかる発明においては、前記ネットワークは、複数の入線側に複数の送信元の演算手段が接続され、かつ複数の出線側に複数の送信先の演算手段が接続された二次元配列のクロスバスイッチを有するクロスバネットワークであり、前記障害診断工程では、前記複数のクロスバスイッチに対応する配列のマトリックス表を作成させ、前記情報収集工程の収集結果における識別子をキーとして、前記試験情報を参照することで、前記送信先の演算手段における受信異常の有無に関する情報を前記マトリックス表に配した結果に基づいて、前記障害診断を行わせるようにしてもよい。
【０２９１】
この発明によれば、異常箇所がある場合には、複数の送信先の演算手段においては、識別子付加パケットを正常受信した演算手段と、識別子付加パケットを受信しなかった演算手段とが存在する。この場合、情報収集工程では、それぞれの演算手段の受信状況（受信の有無）に関する情報が収集される。そして、障害診断工程では、情報収集工程の収集結果における識別子をキーとして、試験情報を参照することで、送信先の演算手段における受信異常の有無に関する情報がマトリックス表に配される。つぎに、障害診断工程では、上記マトリックス表に基づいて、受信異常に対応するクロスバスイッチの位置が把握され、クロスバネットワークにおける異常箇所の特定が行われる。
【０２９２】
このように、上記発明によれば、送信先の演算手段における受信異常の有無に関する情報をマトリックス表に配し、異常箇所に対応するクロスバスイッチの位置を把握するようにしたので、従来困難とされていたクロスバネットワークにおける異常箇所が迅速に特定される。
【０２９３】
また、請求項２にかかる発明においては、送信先の演算手段により、自局宛ではない前記識別子付加パケットが受信された場合、当該識別子付加パケットに含まれる識別子をキーとして、前記試験情報を参照することで、当該識別子付加パケットを受信すべき本来の送信先の演算手段を検索させる検索工程（前述した実施の形態４のステップＳＩ１６およびステップＳＩ３７に相当）と、前記検索工程の検索結果に基づいて、前記識別子付加パケットを受信した前記演算手段から前記本来の送信先の演算手段へ識別子付加パケットを送信させる代行送信制御工程（前述した実施の形態４のステップＳＩ１７およびステップＳＩ３９に相当）とを含むようにしてもよい。
【０２９４】
この発明によれば、たとえば、送信元の演算手段の異常により識別子付加パケットの宛先が別の宛先（誤った宛先）に書き変わった場合、この識別子付加パケットは、全く別の送信先の演算手段に受信される。これにより、検索工程では、上記識別子付加パケットに含まれる識別子をキーとして、試験情報が参照されることで、識別子付加パケットを受信すべき本来の送信先の演算手段が検索される。そして、上記識別子付加パケットは、識別子付加パケットを受信した演算手段から本来の送信先の演算手段へ送信される。すなわち、誤った宛先の識別子付加パケットを受信した演算手段は、異常が発生した送信元の演算手段に代わって、識別子付加パケットを本来の宛先（演算手段）へ送信しているのである。
【０２９５】
このように、上記発明によれば、誤った宛先の識別子付加パケットが演算手段に受信された場合に、この演算手段から、本来の宛先（演算手段）へ送信するようにしたので、本来、当該識別子付加パケットを受信すべき演算手段において、受信タイムアウトにより異常を検出するという、二次障害を防止することができる。
【産業上の利用可能性】
【０２９６】
以上のように、本発明に係る障害診断装置および障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体は、並列プロセッサ装置の診断に有用であり、特に、障害発生時に迅速な対応が必要な場合に適している。
【図面の簡単な説明】
【０２９７】
【図１】本発明にかかる実施の形態１の構成を示すブロック図である。
【図２】図１示したレジスタ群１１の構成を示すブロック図である。
【図３】図１示したクロスバスイッチ群１２を示すブロック図である。
【図４】同実施の形態１におけるマスタプログラムＭＰとスレーブプログラムＳＰ0 〜ＳＰ3 との関係を示すブロック図である。
【図５】プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間の測定方法を説明するブロック図である。
【図６】プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間の測定処理を説明するフローチャートである。
【図７】図６に示した同期処理を説明するフローチャートである。
【図８】図６に示した同期処理を説明するフローチャートである。
【図９】同実施の形態１の動作を説明するブロック図である。
【図１０】同実施の形態１における組み合わせテーブルを示す図である。
【図１１】同実施の形態１の動作を説明するフローチャートである。
【図１２】本発明にかかる実施の形態２の構成を示すブロック図である。
【図１３】同実施の形態２の概略構成を示すブロック図である。
【図１４】プロセッサエレメント−クロスバネットワーク装置間の往復路における伝送時間の測定方法を説明するブロック図である。
【図１５】同実施の形態２の動作を説明するブロック図である。
【図１６】プロセッサエレメント−クロスバネットワーク装置間の往復路における伝送時間の測定処理を説明するフローチャートである。
【図１７】同実施の形態２の動作を説明するフローチャートである。
【図１８】本発明にかかる実施の形態３の構成を示すブロック図である。
【図１９】同実施の形態３の動作を説明するブロック図である。
【図２０】同実施の形態３の動作を説明するフローチャートである。
【図２１】プロセッサエレメント−プロセッサエレメント間の往路における伝送時間の測定処理を説明するフローチャートである。
【図２２】本発明にかかる実施の形態４の構成を示すブロック図である。
【図２３】同実施の形態４におけるパケットのデータ構造を示す図である。
【図２４】同実施の形態４におけるパケットの送信動作を説明する図である。
【図２５】同実施の形態４における試験情報の一例を示す図である。
【図２６】同実施の形態４の動作を説明する図である。
【図２７】同実施の形態４の動作を説明するフローチャートである。
【図２８】同実施の形態４における試験結果を示す図である。
【図２９】同実施の形態４の動作を説明するフローチャートである。
【図３０】同実施の形態４におけるマトリックス表を示す図である。
【図３１】本発明にかかる実施の形態１〜４の変形例の構成を示すブロック図である。
【図３２】従来のプロセッサエレメントＰＥ0 〜ＰＥ4 およびクロスバネットワーク装置１の構成を示すブロック図である。
【符号の説明】
【０２９８】
１０  クロスバネットワーク装置
１２  クロスバスイッチ群
１３0 〜１３3 ＣＰＵ
ＰＥ0 〜ＰＥ7 プロセッサエレメント
３０  クロスバネットワーク装置
ＰＥA 〜ＰＥE プロセッサエレメント
４０A 〜４０E ＣＰＵ
４１A 〜４１E メモリ
５０  クロスバネットワーク装置
５２  クロスバスイッチ群
１００  コンピュータ
２００  記録媒体
【図１】
2006209789.tif 000003
【図２】
2006209789.tif 000004
【図３】
2006209789.tif 000005
【図４】
2006209789.tif 000006
【図５】
2006209789.tif 000007
【図６】
2006209789.tif 000008
【図７】
2006209789.tif 000009
【図８】
2006209789.tif 000010
【図９】
2006209789.tif 000011
【図１０】
2006209789.tif 000012
【図１１】
2006209789.tif 000013
【図１２】
2006209789.tif 000014
【図１３】
2006209789.tif 000015
【図１４】
2006209789.tif 000016
【図１５】
2006209789.tif 000017
【図１６】
2006209789.tif 000018
【図１７】
2006209789.tif 000019
【図１８】
2006209789.tif 000020
【図１９】
2006209789.tif 000021
【図２０】
2006209789.tif 000022
【図２１】
2006209789.tif 000023
【図２２】
2006209789.tif 000024
【図２３】
2006209789.tif 000025
【図２４】
2006209789.tif 000026
【図２５】
2006209789.tif 000027
【図２６】
2006209789.tif 000028
【図２７】
2006209789.tif 000029
【図２８】
2006209789.tif 000030
【図２９】
2006209789.tif 000031
【図３０】
2006209789.tif 000032
【図３１】
2006209789.tif 000033
【図３２】
2006209789.tif 000034