JP3828321B2 - 負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP3828321B2
JP3828321B2 JP24651999A JP24651999A JP3828321B2 JP 3828321 B2 JP3828321 B2 JP 3828321B2 JP 24651999 A JP24651999 A JP 24651999A JP 24651999 A JP24651999 A JP 24651999A JP 3828321 B2 JP3828321 B2 JP 3828321B2
Authority
JP
Japan
Prior art keywords
processor element
transmission
calculation means
packet
load test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP24651999A
Other languages
English (en)
Other versions
JP2001075833A (ja
Inventor
智 佐藤
信太郎 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP24651999A priority Critical patent/JP3828321B2/ja
Priority to US09/513,695 priority patent/US6665268B1/en
Publication of JP2001075833A publication Critical patent/JP2001075833A/ja
Priority to US10/449,012 priority patent/US7137035B2/en
Application granted granted Critical
Publication of JP3828321B2 publication Critical patent/JP3828321B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them

Description

【0001】
【発明の属する技術分野】
本発明は、たとえば、並列プロセッサ装置の負荷試験、障害診断に用いられる負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものであり、特に、信頼性が高い試験結果を得ることができ、迅速に異常箇所の特定を行うことができる負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【0002】
原子力、気象、航空宇宙等の科学技術計算分野では、汎用大型コンピュータのデータ処理量をはるかに超える膨大なデータを超高速で演算処理する並列プロセッサ装置が必要とされている。この並列プロセッサ装置は、一般にスーパーコンピュータと呼ばれており、プロセッサ間ネットワーク(たとえば、クロスバネットワーク装置)を介して相互接続される複数のプロセッサエレメントに並列処理を実行させることで、超高速演算を実現している。この並列プロセッサ装置には、CPU(Central Processing Unit )利用率が高い状態、すなわち高負荷の状態であっても一定以上の性能を発揮できるような仕様が求められており、並列プロセッサ装置の設計、開発や、性能評価においては、高負荷状態での性能をチェックする負荷試験装置が必要不可欠である。また、並列プロセッサ装置においては、障害が発生した際に、迅速に異常箇所を特定する手段、方法が要請されている。
【0003】
【従来の技術】
図32(a)は、上述した従来の並列プロセッサ装置の構成を示すブロック図である。この図には、並列プロセッサ装置を構成するクロスバネットワーク装置1および5台のプロセッサエレメントPE0 〜PE4 が図示されている。プロセッサエレメントPE0 〜PE4 は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、パケット(データ)の送信および受信を行う送信部および受信部(図示略)をそれぞれ有している。クロスバネットワーク装置1は、プロセッサエレメントPE0 〜プロセッサエレメントPE4 間を相互接続する装置であり、N×N(同図では5×5)構成のクロスバスイッチ群(図示略)を有している。このクロスバネットワーク装置1においては、入線側がプロセッサエレメントPE0 〜PE4 のそれぞれの送信部(図示略)に接続されており、出線側がプロセッサエレメントPE0 〜PE4 のそれぞれの受信部(図示略)に接続されている。
【0004】
上記並列プロセッサ装置においては、負荷がかかっている状態で性能をチェックする負荷試験が行われる。この負荷試験においては、予め決められた送信元のプロセッサエレメントから送信先のプロセッサエレメントへパケットを送信することで、擬似的に負荷がかかっている状態をつくり出し、上記パケットの伝送時間(測定値)と、理論的に求められた期待値との比較結果に基づいて性能を評価している。
【0005】
具体的には、まず、図32(a)に示したプロセッサエレメントPE0 〜PE4 においてランダムに抽出された送信元および送信先の組が決められる。図32に示した例では、つぎの(1A)項〜(5A)項の組が決められている。
【0006】
Figure 0003828321
【0007】
つぎに、負荷試験においては、上記(1A)項〜(5A)項のそれぞれの<送信元>のプロセッサエレメントPE0 〜PE4 から、それぞれに対応する<送信先>のプロセッサエレメントPE1 〜PE4 へパケットを一斉に送信する。これにより、それぞれのパケットは、クロスバネットワーク装置1により交換され、<送信先>のプロセッサエレメントPE1 〜PE4 に受信される。このとき、それぞれの組におけるプロセッサエレメント−プロセッサエレメント間のパケットの伝送時間が測定される。この場合には、(1A)項〜(5A)項に対応する都合5つの測定結果(伝送時間)が得られる。そして、これらの伝送時間と、理論的に求められた期待値とが比較され、伝送時間と期待値との差が許容範囲内にあるか否かにより並列プロセッサ装置の性能が評価される。
【0008】
ここで、上記期待値は、実際の演算処理において、プロセッサエレメント−プロセッサエレメント間でパケットを伝送させた際にかかるであろう伝送時間であり、理論値である。この期待値は、理論伝送時間に余裕値が加算された一定値である。理論伝送時間は、並列プロセッサ装置が最高性能を発揮し得る、プロセッサエレメント−プロセッサエレメント間の伝送時間であり、シミュレーション等の手法により算出される。また、余裕値は、プロセッサエレメント−プロセッサエレメント間の物理的距離が上述した組毎に相違することに起因して生じる伝送時間の差を吸収するための値である。
【0009】
【発明が解決しようとする課題】
ところで、並列プロセッサ装置の負荷試験においては、過酷な使用条件での性能を適正に評価すべく、できるだけ高負荷の状態で試験を行うことが望ましい。しかしながら、従来においては、図32(a)に示したプロセッサエレメントPE0 〜PE4 において<送信元>と<送信先>とをランダムに組み合わせているため、図32(b)に示したように高負荷の状態で負荷試験を行うことができない場合があり、試験結果の信頼性が低下するという欠点があった。
【0010】
すなわち、図32(a)に示した例では、<送信元>のプロセッサエレメントと<送信先>のプロセッサエレメントとが1対1で対応する組み合わせとなっていることから、全ての<送信元>プロセッサエレメントから同時にパケットが送信されるため、高負荷の状態で負荷試験が行われる。
【0011】
これに対して、図32(b)に示した組み合わせでは、プロセッサエレメントPE3 において受信干渉が発生することから、負荷が低下する。つまり、図32(b)に示した例では、二つの<送信元>のプロセッサエレメントPE2 およびPE4 が、一つの<送信先>のプロセッサエレメントPE3 へパケットを送信する組み合わせが図示されている。このような組み合わせの場合、<送信元>のプロセッサエレメントPE2 およびプロセッサエレメントPE4 からパケットがそれぞれ送信されると、これら二つのパケットは、クロスバネットワーク装置1を経由して同一のプロセッサエレメントPE3 に到着する。このとき<送信先>のプロセッサエレメントPE3 においては、一つのパケットしか受信できないため、二つのパケットが競合するという受信干渉が生じる。
【0012】
実際には、伝送時間の相違により二つのパケットが同一時刻でプロセッサエレメントPE3 に到着する可能性がほとんどないため、二つのパケットのうち、先に到着した一方のパケットがプロセッサエレメントPE3 に受信されている間、他方のパケットが受信待ち状態となる。このように受信干渉が発生するような組み合わせでは、図32(a)に示した組み合わせに比して、負荷が低下してしまうため、信頼性が高い試験結果を得ることができないのである。
【0013】
また、従来の負荷試験においては、余裕値を含む期待値(理論値)を、複数のプロセッサエレメント−プロセッサエレメント間のそれぞれの伝送時間(測定結果)に一律に適用している旨を述べた。しかしながら、実際には、前述した物理的距離の相違に起因して、組毎にプロセッサエレメント−プロセッサエレメント間の伝送時間(測定結果)にばらつきが生じる。したがって、従来の負荷試験においては、ばらつきのある伝送時間に対して一定値の期待値を適用しているため、実態と相違する試験結果が得られる場合があり、試験結果の信頼性が低いという欠点があった。
【0014】
また、従来の並列プロセッサ装置においては、<送信元>のプロセッサエレメントからパケットが送信されなかったり、<送信元>のプロセッサエレメントから送信されたパケットが、<送信先>のプロセッサエレメントに受信されなかったりといった障害が発生した際には、障害発生時の現象より異常箇所を特定する必要がある。しかしながら、従来の並列プロセッサ装置においては、プロセッサエレメントの台数が増えるにしたがって構成も複雑になるため、チェックすべき箇所が膨大になり、おのずと異常箇所を特定するまでに、多大な労力、時間を必要とする。特に、クロスバネットワーク装置1が故障した場合には、膨大な数のクロスバスイッチを一つ一つチェックしなければならないため、その作業量からしても、異常箇所の特定に困難を極める。
【0015】
さらに、<送信元>のプロセッサエレメントで障害が発生した場合には、パケットの宛先が別の宛先に書き変わることで、当該パケットが全く別の<送信先>のプロセッサエレメントへ誤送される可能性がある。このような場合、当該パケットを本来受信すべき<送信先>のプロセッサエレメントは、当該パケットを受信できないため、受信タイムアウトにより異常を検出することになり、一方、誤送先のプロセッサエレメントは、受信するはずのないパケットを受信するため、異常を検出する。これに対して、実際に障害が発生している<送信元>のプロセッサエレメントは、とりあえずパケットを送信しているため、正常動作しているものとみなされる。このような二次障害が発生した場合には、異常箇所の特定がさらに難しくなる。
【0016】
本発明は、上記に鑑みてなされたもので、信頼性が高い試験結果を得ることができ、迅速に異常箇所の特定を行うことができる負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0017】
【課題を解決するための手段】
上記目的を達成するために、請求項1にかかる発明は、パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験を行う負荷試験装置において、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定する伝送時間測定手段(後述する実施の形態1のCPU130 〜133 に相当)と、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、前記複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを一斉に送信させ、それぞれの組の演算手段−演算手段間の伝送時間を測定する負荷試験手段(後述する実施の形態1のCPU130 〜133 に相当)と、前記負荷試験手段により測定されたそれぞれの組の伝送時間と、前記それぞれの組に対応する前記期待値との比較結果に基づいて、性能評価を行う性能評価手段(後述する実施の形態1のCPU130 〜133 に相当)とを備えることを特徴とする。
【0018】
この請求項1にかかる発明によれば、負荷試験の前に、伝送時間測定手段により演算手段−演算手段間の伝送時間が期待値として組毎にそれぞれ測定(実測)される。そして、負荷試験において、複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットが一斉に送信されると、複数のパケットがネットワークを経由して送信先の演算手段にそれぞれ受信される。このとき、並列プロセッサ装置においては、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、それぞれのパケットが一斉に送信されるため、高負荷状態となる。また、負荷試験手段は、それぞれの組の演算手段−演算手段間の伝送時間を測定する。これにより、性能評価手段は、負荷試験手段により測定されたそれぞれの組の伝送時間と、それぞれの組に対応する期待値との比較結果に基づいて、性能評価を行う。
【0019】
このように、請求項1にかかる発明によれば、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、複数のパケットを一斉に送信しているため常に高負荷状態で負荷試験を行うことができる。また、請求項1にかかる発明によれば、実際に測定した組毎の伝送時間を期待値として性能評価を行っているため、信頼性が高い試験結果が得られる。
【0020】
また、請求項2にかかる発明は、パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験を行う負荷試験装置において、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定する伝送時間測定手段(後述する実施の形態2のプロセッサエレメントPE0 〜PE7 のそれぞれのCPUに相当)と、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、前記送信元の演算手段および前記送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、前記複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを、それぞれのパケットが前記ネットワークに同一時刻で到着する送信タイミングで送信させ、それぞれの組の演算手段−演算手段間の伝送時間を測定する負荷試験手段(後述する実施の形態2のプロセッサエレメントPE0 〜PE7 のそれぞれのCPUに相当)と、前記負荷試験手段により測定されたそれぞれの組の伝送時間と、前記それぞれの組に対応する前記期待値との比較結果に基づいて、性能評価を行う性能評価手段(後述する実施の形態2のプロセッサエレメントPE0 〜PE7 のそれぞれのCPUに相当)とを備えることを特徴とする。
【0021】
この請求項2にかかる発明によれば、負荷試験の前に、伝送時間測定手段により演算手段−演算手段間の伝送時間が期待値として組毎にそれぞれ測定(実測)される。そして、負荷試験において、複数の送信元の演算手段からパケットが、ネットワークに同一時刻で到着する送信タイミングで、組をなすそれぞれの送信先の演算手段へ送信されると、複数のパケットが同一時刻でネットワークに到着する。このとき、並列プロセッサ装置においては、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件でそれぞれのパケットが送信され、かつ同一時刻でネットワークに到着するため、最高負荷状態となる。また、負荷試験手段は、それぞれの組の演算手段−演算手段間の伝送時間を測定する。これにより、性能評価手段は、負荷試験手段により測定されたそれぞれの組の伝送時間と、それぞれの組に対応する期待値との比較結果に基づいて、性能評価を行う。
【0022】
このように、請求項2にかかる発明によれば、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、しかも同一時刻で複数のパケットがネットワークに到着する送信タイミングで複数のパケットを送信しているため常に最高負荷状態で負荷試験を行うことができる。また、請求項2にかかる発明によれば、実際に測定した組毎の伝送時間を期待値とし、かつ最高負荷状態における伝送時間に基づいて性能評価を行っているため、さらに信頼性が高い試験結果が得られる。
【0023】
また、請求項3にかかる発明は、パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験を行う負荷試験装置において、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定する伝送時間測定手段(後述する実施の形態3のプロセッサエレメントPE0 〜PE6 のそれぞれのCPUに相当)と、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、他の組に比べて伝送時間が長い特定の組における送信元の演算手段から、組をなす送信先の演算手段へパケットを送信させている間に、前記他の組における複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを一斉に送信させ、それぞれの組の演算手段−演算手段間の伝送時間、および前記特定の組における演算手段−演算手段間の伝送時間を測定する負荷試験手段(後述する実施の形態3のプロセッサエレメントPE0 〜PE6 のそれぞれのCPUに相当)と、前記負荷試験手段により測定された前記特定の組の伝送時間、および前記他の組のそれぞれの伝送時間と、前記特定の組および前記他の組のそれぞれに対応する前記期待値との比較結果に基づいて、性能評価を行う性能評価手段(後述する実施の形態3のプロセッサエレメントPE0 〜PE6 のそれぞれのCPUに相当)とを備えることを特徴とする。
【0024】
この請求項3にかかる発明によれば、負荷試験の前に、伝送時間測定手段により演算手段−演算手段間の伝送時間が期待値として組毎にそれぞれ測定(実測)される。そして、負荷試験において、特定の組の送信元の演算手段からパケットが送信されている間に、他の組をなすそれぞれの複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットが一斉に送信されると、複数のパケットがネットワークを経由して他の組の送信先の演算手段にそれぞれ受信される。また、負荷試験手段は、特定の組、および他の組における演算手段−演算手段間の伝送時間をそれぞれ測定する。これにより、性能評価手段は、負荷試験手段により測定された特定の組および他の組の伝送時間と、それぞれの組に対応する期待値との比較結果に基づいて、性能評価を行う。
【0025】
このように、請求項3にかかる発明によれば、特定の組でパケットの送信を行っている最中に、他の組でパケットの送信、性能評価を行うようにしたので、特定の組におけるパケットの送信が、他の組におけるパケットの送信に及ぼす影響を知ることができる。
【0026】
また、請求項4にかかる発明は、パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験に適用される負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体であって、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定させる伝送時間測定工程(後述する実施の形態1のステップSA1〜ステップSA20に相当)と、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、前記複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを一斉に送信させ、それぞれの組の演算手段−演算手段間の伝送時間を測定させる負荷試験工程(後述する実施の形態1のステップSD11に相当)と、前記負荷試験工程により測定されたそれぞれの組の伝送時間と、前記それぞれの組に対応する前記期待値との比較結果に基づいて、性能評価を行わせる性能評価工程(後述する実施の形態1のステップSD15に相当)とをコンピュータに実行させるための負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0027】
この請求項4にかかる発明によれば、負荷試験の前に、伝送時間測定工程により演算手段−演算手段間の伝送時間が期待値として組毎にそれぞれ測定(実測)される。そして、負荷試験において、複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットが一斉に送信されると、複数のパケットがネットワークを経由して送信先の演算手段にそれぞれ受信される。このとき、並列プロセッサ装置においては、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、それぞれのパケットが一斉に送信されるため、高負荷状態となる。また、負荷試験工程では、それぞれの組の演算手段−演算手段間の伝送時間が測定される。これにより、性能評価工程では、負荷試験工程により測定されたそれぞれの組の伝送時間と、それぞれの組に対応する期待値との比較結果に基づいて、性能評価が行われる。
【0028】
このように、請求項4にかかる発明によれば、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、複数のパケットを一斉に送信しているため常に高負荷状態で負荷試験を行うことができる。また、請求項4にかかる発明によれば、実際に測定した組毎の伝送時間を期待値として性能評価を行っているため、信頼性が高い試験結果が得られる。
【0029】
また、請求項5にかかる発明は、パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験に適用される負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体であって、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定させる伝送時間測定工程(後述する実施の形態2のステップSE1〜ステップSE16に相当)と、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、前記複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを、それぞれのパケットが前記ネットワークに同一時刻で到着する送信タイミングで送信させ、それぞれの組の演算手段−演算手段間の伝送時間を測定させる負荷試験工程(後述する実施の形態2のステップSF10〜ステップSF15に相当)と、前記負荷試験工程により測定されたそれぞれの組の伝送時間と、前記それぞれの組に対応する前記期待値との比較結果に基づいて、性能評価を行わせる性能評価工程(後述する実施の形態2のステップSF16に相当)とをコンピュータに実行させるための負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0030】
この請求項5にかかる発明によれば、負荷試験の前に、伝送時間測定工程により演算手段−演算手段間の伝送時間が期待値として組毎にそれぞれ測定(実測)される。そして、負荷試験において、複数の送信元の演算手段からパケットが、ネットワークに同一時刻で到着する送信タイミングで、組をなすそれぞれの送信先の演算手段へ送信されると、複数のパケットが同一時刻でネットワークに到着する。このとき、並列プロセッサ装置においては、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件でそれぞれのパケットが送信され、かつ同一時刻でネットワークに到着するため、最高負荷状態となる。また、負荷試験工程では、それぞれの組の演算手段−演算手段間の伝送時間が測定される。これにより、性能評価工程では、負荷試験工程により測定されたそれぞれの組の伝送時間と、それぞれの組に対応する期待値との比較結果に基づいて、性能評価が行われる。
【0031】
このように、請求項5にかかる発明によれば、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、しかも同一時刻で複数のパケットがネットワークに到着する送信タイミングで複数のパケットを送信しているため常に最高負荷状態で負荷試験を行うことができる。また、請求項5にかかる発明によれば、実際に測定した組毎の伝送時間を期待値とし、かつ最高負荷状態における伝送時間に基づいて性能評価を行っているため、さらに信頼性が高い試験結果が得られる。
【0032】
また、請求項6にかかる発明は、パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験に適用される負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体であって、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定させる伝送時間測定工程(後述する実施の形態3のステップSG3に相当)と、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、他の組に比べて伝送時間が長い特定の組における送信元の演算手段から、組をなす送信先の演算手段へパケットを送信させている間に、前記他の組における複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを一斉に送信させ、それぞれの組の演算手段−演算手段間の伝送時間、および前記特定の組における演算手段−演算手段間の伝送時間を測定させる負荷試験工程(後述する実施の形態3のステップSG34およびステップSG21に相当)と、前記負荷試験工程により測定された前記特定の組の伝送時間、および前記他の組のそれぞれの伝送時間と、前記特定の組および前記他の組のそれぞれに対応する前記期待値との比較結果に基づいて、性能評価を行わせる性能評価工程(後述する実施の形態3のステップSG44およびステップSG25に相当)とをコンピュータに実行させるための負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0033】
この請求項6にかかる発明によれば、負荷試験の前に、伝送時間測定工程により演算手段−演算手段間の伝送時間が期待値として組毎にそれぞれ測定(実測)される。そして、負荷試験において、特定の組の送信元の演算手段からパケットが送信されている間に、他の組をなすそれぞれの複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットが一斉に送信されると、複数のパケットがネットワークを経由して他の組の送信先の演算手段にそれぞれ受信される。また、負荷試験工程では、特定の組、および他の組における演算手段−演算手段間の伝送時間がそれぞれ測定される。これにより、性能評価工程では、負荷試験工程により測定された特定の組および他の組の伝送時間と、それぞれの組に対応する期待値との比較結果に基づいて、性能評価が行われる。
【0034】
このように、請求項6にかかる発明によれば、特定の組でパケットの送信を行っている最中に他の組でパケットの送信、性能評価を行うようにしたので、特定の組におけるパケットの送信が、他の組におけるパケットの送信に及ぼす影響を知ることができる。
【0043】
【発明の実施の形態】
以下、図面を参照して本発明にかかる負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態1〜4について詳細に説明する。
【0044】
(実施の形態1)
図1は、本発明にかかる実施の形態1の構成を示すブロック図である。図1には、並列プロセッサ装置を構成するクロスバネットワーク装置10およびプロセッサエレメントPE0 〜プロセッサエレメントPE3 が図示されており、以下に説明する実施の形態1の負荷試験装置は、上記並列プロセッサ装置における負荷試験を行う装置である。並列プロセッサ装置は、スーパコンピュータの一種であり、プロセッサエレメントPE0 〜PE3 に並列処理を実行させることにより超高速演算を実現する装置である。
【0045】
図1において、プロセッサエレメントPE0 〜PE3 は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、CPU、メモリ等をそれぞれ有している。すなわち、プロセッサエレメントPE0 は、各部の制御、演算の実行を行うCPU130 と、負荷試験プログラム、演算プログラム、演算データ等を記憶するメモリ140 と、CPU130 の制御により演算データ等をパケットとして送信する送信部150 と、パケットを受信する受信部160 とを有している。上記負荷試験プログラムは、並列プロセッサ装置の負荷試験を行うためのプログラムであり、この負荷試験プログラムの詳細については、後述する。
【0046】
他のプロセッサエレメントPE1 〜PE3 も、プロセッサエレメントPE0 と同様の構成とされている。すなわち、プロセッサエレメントPE1 は、各部の負荷試験制御等を行うCPU131 と、負荷試験プログラム等を記憶するメモリ141 と、パケットを送信する送信部151 と、パケットを受信する受信部161 とを有している。同様にして、プロセッサエレメントPE2 は、CPU132 、メモリ142 、送信部152 および受信部162 を有しており、プロセッサエレメントPE3 は、CPU133 、メモリ143 、送信部153 および受信部163 を有している。
【0047】
クロスバネットワーク装置10は、プロセッサエレメントPE0 〜プロセッサエレメントPE3 間を相互接続する装置であり、後述する同期処理に用いられるレジスタ群11と、N×N(同図では4×4)スイッチ構成のクロスバスイッチ群12と有している。このクロスバネットワーク装置10においては、入線側(送信路側)がプロセッサエレメントPE0 〜PE3 の送信部150 〜153 に接続されており、出線側(受信路側)がプロセッサエレメントPE0 〜PE3 の受信部160 〜163 に接続されている。このように、クロスバネットワーク装置10は、N×N(同図では4×4)スイッチ構成とされており、任意の入力線(送信部)−出力線(受信部)間を接続する装置である。
【0048】
レジスタ群11は、図2に示したレジスタ11PE0 〜11PE3 から構成されており、プロセッサエレメントPE0 〜プロセッサエレメントPE3 の同期をとるために用いられる。これらレジスタ11PE0 〜11PE3 は、プロセッサエレメントPE0 〜PE3 にそれぞれ対応して設けられている。レジスタ11PE0 は、プロセッサエレメントPE0 からのアクセスにより、「1」データまたは「0」データを格納する。なお、プロセッサエレメントPE0 は、レジスタ11PE0 のみに「1」データまたは「0」データの格納を行うことができるが、他のレジスタ11PE1 〜11PE3 に対して、データの格納を行うことができない。同様にして、レジスタ11PE1 〜11PE3 は、プロセッサエレメントPE1 〜PE3 からのアクセスにより、「1」データまたは「0」データをそれぞれ格納する。
【0049】
また、レジスタ群11(レジスタ11PE0 〜11PE3 )は、全てのプロセッサエレメントPE0 〜PE3 により、格納されたデータが共通で参照されるようになっている。すなわち、プロセッサエレメントPE0 は、全てのレジスタ11PE0 〜11PE3 に格納されたデータの参照を行うことができる。他のプロセッサエレメントPE1 〜PE3 も同様にして、全てのレジスタ11PE0 〜11PE3 に格納されたデータの参照を行うことができる。同期処理において、プロセッサエレメントPE0 〜PE3 は、レジスタ11PE0 〜11PE3 に「1」データ(または「0」データ)を個別的にそれぞれ書き込む。その後、プロセッサエレメントPE0 〜PE3 は、一定時間間隔をおいてレジスタ群11(レジスタ11PE0 〜11PE3 )にポーリングをかけることで、保持されているデータを参照する。そして、プロセッサエレメントPE0 〜PE3 は、レジスタ群11に保持されているデータが全て「1」(または「0」)になったとき、同期がとられたことを認識する。
【0050】
クロスバスイッチ群12は、図3に示すように、4×4配列のクロスバスイッチS00〜S33という都合16個のクロスバスイッチを有しており、プロセッサエレメントPE0 〜PE3 のうち、任意の組み合わせのプロセッサエレメント間を相互接続する。クロスバスイッチS00〜S33の添字(2桁の数字)において、1桁目の添字は、送信側のプロセッサエレメントPE0 〜PE3 の添字に対応している。同様にして、2桁目の添字は、受信側のプロセッサエレメントPE0 〜PE3 の添字に対応している。
【0051】
たとえば、クロスバスイッチS01は、送信側のプロセッサエレメントPE1 と、受信側のプロセッサエレメントPE0 とを相互接続するスイッチである。同様にして、クロスバスイッチS23は、送信側のプロセッサエレメントPE3 と、受信側のプロセッサエレメントPE2 とを相互接続するスイッチである。ここで、クロスバスイッチS00、S11、S22およびS33は、受信側と送信側とが同一のプロセッサエレメントPE0 、PE1 、PE2 、PE3 における送信部と受信部とを相互接続するスイッチである。たとえば、クロスバスイッチS11は、プロセッサエレメントPE1 の送信部151 と受信部161 とを相互接続するスイッチである。
【0052】
つぎに、上述した負荷試験プログラムについて図4を参照して説明する。ここでいう負荷試験プログラムは、図4に示したマスタプログラムMP、スレーブプログラムSP0 〜SP3 を指す。マスタプログラムMPとスレーブプログラムSP0 〜SP3 とは、マスタ(主)−スレーブ(従)関係にあり、マスタプログラムMPは、スレーブプログラムSP0 〜SP3 の実行を制御するためのプログラムであり、プロセッサエレメントPE0 のメモリ140 (図1参照)に記憶されている。このマスタプログラムMPは、CPU130 (図1参照)により実行される。なお、マスタプログラムMPは、プロセッサエレメントPE0 〜PE3 のうちいずれか一つのプロセッサエレメントのメモリに記憶されていればよい。スレーブプログラムSP0 〜SP3 は、プロセッサエレメントPE0 〜PE3 のメモリ140 〜143 にそれぞれ記憶されており、マスタプログラムMPの制御により、負荷試験を行うためのプログラムである。これらスレーブプログラムSP0 〜SP3 は、CPU130 〜133 によりそれぞれ実行される。
【0053】
(伝送時間の測定)
つぎに、上述した実施の形態1の動作について説明する。ここで、実施の形態1においては、負荷試験に必要な伝送時間を測定する測定処理が行われた後に、上記伝送時間に基づいて負荷試験が行われる。はじめに、図5〜図8を参照して測定処理について説明する。この測定処理においては、図5(a)および(b)に示したようにプロセッサエレメントPE0 〜プロセッサエレメントPE3 のうち一つのプロセッサエレメントPE0 が基準プロセッサエレメントとして選択され、この基準プロセッサエレメントと他のプロセッサエレメントとの間の往復路におけるパケットの伝送時間の測定が行われる。さらに、測定処理においては、基準プロセッサエレメント−基準プロセッサエレメント間におけるパケットの伝送時間の測定も行われる。ここで、伝送時間とは、<送信元>の基準プロセッサエレメントからパケットが送信されてから、他のプロセッサエレメント(基準プロセッサエレメント)から送信されたパケットが<送信元>の基準プロセッサエレメントに受信されるまでの時間をいう。つまり、ここでいう伝送時間は、往復路における伝送時間を指す。
【0054】
上記往復路は、基準プロセッサエレメント→クロスバネットワーク装置10→他のプロセッサエレメント→クロスバネットワーク装置10→基準プロセッサエレメントという具合に、他のプロセッサエレメントからの折り返し経路である。また、基準プロセッサエレメント−基準プロセッサエレメント間における往復路は、基準プロセッサエレメント→クロスバネットワーク装置10→基準プロセッサエレメントという具合に、クロスバネットワーク装置10からの折り返し経路である。図5(a)には、基準プロセッサエレメントをプロセッサエレメントPE0 とした場合について図示されており、図5(b)には、基準プロセッサエレメントをプロセッサエレメントPE1 とした場合について図示されている。以下、同様にして、プロセッサエレメントPE2 →プロセッサエレメントPE3 という具合に基準プロセッサエレメントが順次選択されることで、測定処理が行われる。
【0055】
つぎに、図6〜図8に示したフローチャートを参照しつつ、プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間の測定処理について説明する。図6において、ステップSA1〜ステップSA6までは、図4に示したプロセッサエレメントPE0 (マスタプログラムMP)により実行される処理である。また、ステップSA1、ステップSA7〜ステップSA16およびステップSA6は、上述した基準プロセッサエレメントとして選択された一つのプロセッサエレメント(スレーブプログラム)により実行される処理である。さらに、ステップSA1、ステップSA17〜ステップSA20およびステップSA6は、基準プロセッサエレメント以外の他のプロセッサエレメント(スレーブプログラム)により実行される処理である。
【0056】
なお、実際には、CPU130 〜133 (図1参照)により、マスタプログラムMP、スレーブプログラムSP0 〜SP3 がそれぞれ実行されるが、以下においては、説明の便宜上、プロセッサエレメントPE0 〜PE3 により、マスタプログラムMP、スレーブプログラムSP0 〜SP3 が実行されるものとして説明する。
【0057】
図4に示したプロセッサエレメントPE0 においてマスタプログラムMPが起動されると、図6に示したステップSA1では、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 (スレーブプログラムSP0 )〜プロセッサエレメントPE3 (スレーブプログラムSP3 )に対して同期処理(図7参照)を行うように指示する。これにより、図7に示したステップSB1では、プロセッサエレメントPE0 〜プロセッサエレメントPE3 は、図2に示したクロスバネットワーク装置10にアクセスすることで、レジスタ11PE0 〜11PE3 に「0」データをそれぞれ格納した後、ステップSB2へ進む。ここで、「0」データが格納されるタイミングは、アクセス時間の相違によりレジスタ11PE0 〜11PE3 毎にそれぞれ異なる。
【0058】
ステップSB2では、プロセッサエレメントPE0 〜PE3 は、一定時間間隔をおいてレジスタ群11にポーリングをかけることで、レジスタ11PE0 〜11PE3 の全てに「0」データが格納されているか否かを判断し、判断結果が「Yes」となるまで同判断を繰り返す。そして、レジスタ11PE0 〜11PE3 の全てに「0」データが格納されると、プロセッサエレメントPE0 〜PE3 は、ステップSB2の判断結果を「Yes」として図6に示したメインルーチンへそれぞれ戻る。つまり、この時点では、プロセッサエレメントPE0 〜PE3 の同期がとられているのである。
【0059】
図6に示したステップSA2では、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 〜PE3 のなかから一つのプロセッサエレメントを基準プロセッサエレメントとして選択する。また、プロセッサエレメントPE0 (マスタプログラムMP)は、上記基準プロセッサエレメントへ測定開始を指示するとともに、他のプロセッサエレメントへ返答処理開始を指示する。ここで、返答処理とは、基準プロセッサエレメントより送信されたパケットを受信した後、返答用のパケットを基準プロセッサエレメントへ送信する処理をいう。
【0060】
この場合、ステップSA2では、プロセッサエレメントPE0 (マスタプログラムMP)は、基準プロセッサエレメントとして図5(a)に示したプロセッサエレメントPE0 (スレーブプログラムSP0 )を選択したものとする。したがって、ステップSA2では、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 (スレーブプログラムSP0 )に対して測定開始を指示するとともに、他のプロセッサエレメントPE1 〜PE3 (スレーブプログラムSP1 〜SP3 )に対して返答処理開始を指示した後、ステップSA3へ進む。ステップSA3では、プロセッサエレメントPE0 (マスタプログラムMP)は、基準プロセッサエレメント(この場合、プロセッサエレメントPE0 (スレーブプログラムSP0 ))より測定終了の通知を受けたか否かを判断する。この場合、測定終了の通知を受けていないため、ステップSA3では、プロセッサエレメントPE0 (マスタプログラムMP)は、同判断を繰り返す。
【0061】
そして、ステップSA2で測定開始を指示されると、ステップSA7では、プロセッサエレメントPE0 (スレーブプログラムSP0 )は、判断結果を「Yes」としてステップSA8へ進む。この処理と並行して、ステップSA2で返答処理開始を指示されると、ステップSA17では、他のプロセッサエレメントPE1 〜PE3 は、判断結果を「Yes」としてステップSA18へ進む。ステップSA18では、他のプロセッサエレメントPE1 〜PE3 は、基準プロセッサエレメント(プロセッサエレメントPE0 )からのパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「No」として同判断を繰り返す。
【0062】
ステップSA8では、プロセッサエレメントPE0 は、図5(a)に示した他のプロセッサエレメントPE1 〜PE3 のうち、たとえば、プロセッサエレメントPE3 に対して送信すべきパケットの送信時刻を記録した後、ステップSA9へ進む。ステップSA9では、プロセッサエレメントPE0 は、上記プロセッサエレメントPE3 宛のパケットを送信部150 (図1参照)から送信した後、ステップSA10へ進む。ステップSA10では、プロセッサエレメントPE0 は、プロセッサエレメントPE3 からの返答用のパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「No」として同判断を繰り返す。そして、プロセッサエレメントPE3 宛のパケットは、図3に示したクロスバスイッチS30がオンされることにより、クロスバネットワーク装置10を介してプロセッサエレメントPE3 へ送信される。
【0063】
そして、プロセッサエレメントPE3 の受信部163 (図1参照)により上記パケットが受信されると、ステップSA18では、プロセッサエレメントPE3 は、判断結果を「Yes」としてステップSA19へ進む。ステップSA19では、プロセッサエレメントPE3 は、送信部153 (図1参照)から返答用のパケットをプロセッサエレメントPE0 宛に送信した後、ステップSA20へ進む。ステップSA20では、プロセッサエレメントPE3 は、プロセッサエレメントPE0 (マスタプログラムMP)より測定終了を指示されたか否かを判断し、この場合、未指示であるため、判断結果を「No」としてステップSA17へ戻る。
【0064】
また、プロセッサエレメントPE0 宛のパケットは、図3に示したクロスバスイッチS03 がオンされることにより、クロスバネットワーク装置10を介してプロセッサエレメントPE0 へ送信される。そして、プロセッサエレメントPE0 の受信部160 (図1参照)により上記パケットが受信されると、ステップSA10では、プロセッサエレメントPE0 は、判断結果を「Yes」としてステップSA11へ進む。ステップSA11では、プロセッサエレメントPE0 は、返答用のパケットの受信時刻を記録した後、ステップSA12へ進む。ステップSA12では、プロセッサエレメントPE3 宛のパケットの送信回数が規定回数n1 (たとえば、5回)に達したか否かを判断する。
【0065】
この場合、送信回数が1回であるため、プロセッサエレメントPE0 は、判断結果を「No」として、ステップSA8へ戻る。以後、ステップSA12の判断結果が「Yes」となるまで、ステップSA8〜ステップSA11では、プロセッサエレメントPE0 は、同一のプロセッサエレメントPE3 へパケットを送信する処理、送信時刻の記録、および受信時刻の記録を行う。この場合、プロセッサエレメントPE0 は、1回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。このように、データ長を可変させてパケットを送信するのは、後述する伝送時間(測定結果)の誤差を少なくするためである。
【0066】
そして、プロセッサエレメントPE3 宛のパケットの送信回数が規定回数n1 (5回)に達すると、ステップSA12では、プロセッサエレメントPE0 は、判断結果を「Yes」としてステップSA13へ進む。この時点では、プロセッサエレメントPE0 −プロセッサエレメントPE3 間における都合5回分の送信時刻および受信時刻に関するデータが記録されている。ステップSA13では、プロセッサエレメントPE0 は、プロセッサエレメント(プロセッサエレメントPE0 〜PE3 )の全てにパケットを送信したか否かを判断する。この場合、プロセッサエレメントPE3 のみにパケットを送信した状態であるため、プロセッサエレメントPE0 は、つぎの送信先の候補として図5(a)に示したプロセッサエレメントPE2 を選択した後、ステップSA13の判断結果を「No」として、ステップSA8へ戻る。
【0067】
ステップSA8では、プロセッサエレメントPE0 は、図5(a)に示した、つぎのプロセッサエレメントPE2 に対して送信すべきパケットの送信時刻を記録した後、ステップSA9へ進む。ステップSA9では、プロセッサエレメントPE0 は、上記プロセッサエレメントPE2 宛のパケットを送信部150 (図1参照)から送信した後、ステップSA10へ進む。ステップSA10では、プロセッサエレメントPE0 は、プロセッサエレメントPE2 からの返答用のパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「No」として同判断を繰り返す。そして、プロセッサエレメントPE2 宛のパケットは、図3に示したクロスバスイッチS20がオンされることにより、クロスバネットワーク装置10を介してプロセッサエレメントPE2 へ送信される。
【0068】
そして、プロセッサエレメントPE2 の受信部162 (図1参照)により上記パケットが受信されると、ステップSA18では、プロセッサエレメントPE2 は、判断結果を「Yes」としてステップSA19へ進む。ステップSA19では、プロセッサエレメントPE2 は、送信部152 (図1参照)から返答用のパケットをプロセッサエレメントPE0 宛に送信した後、ステップSA20へ進む。ステップSA20では、プロセッサエレメントPE2 は、プロセッサエレメントPE0 (マスタプログラムMP)より測定終了を指示されたか否かを判断し、この場合、未指示であるため、判断結果を「No」としてステップSA17へ戻る。
【0069】
以後、ステップSA8〜ステップSA12、およびステップSA17〜ステップSA19では、上述したプロセッサエレメントPE3 の場合と同様にして、プロセッサエレメントPE0 −プロセッサエレメントPE2 間においてパケットの送信/受信が行われる。そして、プロセッサエレメントPE2 宛のパケットの送信回数が規定回数n1 に達すると、プロセッサエレメントPE0 は、ステップSA12の判断結果を「Yes」として、ステップSA13へ進む。この時点では、プロセッサエレメントPE0 −プロセッサエレメントPE2 間における都合5回分の送信時刻および受信時刻に関するデータが記録されている。ステップSA13では、プロセッサエレメントPE0 は、つぎの送信先の候補として図5(a)に示したプロセッサエレメントPE1 を選択した後、判断結果を「No」として、ステップSA8へ戻る。
【0070】
以後、ステップSA8〜ステップSA12では、プロセッサエレメントPE0 −プロセッサエレメントPE1 間においてパケットの送信/受信が行われる。そして、プロセッサエレメントPE1 宛のパケットの送信回数が規定回数n1 に達すると、プロセッサエレメントPE0 は、ステップSA12の判断結果を「Yes」として、ステップSA13へ進む。ステップSA13では、プロセッサエレメントPE0 は、最後の送信先の候補として図5(a)に示したプロセッサエレメントPE0 、すなわち、自局(自身)を選択した後、判断結果を「No」として、ステップSA8へ戻る。
【0071】
ステップSA8では、プロセッサエレメントPE0 は、図5(a)に示した、自局へ送信すべきパケットの送信時刻を記録した後、ステップSA9へ進む。ステップSA9では、プロセッサエレメントPE0 は、自局宛のパケットを送信部150 (図1参照)から送信した後、ステップSA10へ進む。ステップSA10では、プロセッサエレメントPE0 は、自局宛のパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「No」として同判断を繰り返す。そして、プロセッサエレメントPE0 宛のパケットは、図3に示したクロスバスイッチS00がオンされることにより、クロスバネットワーク装置10からプロセッサエレメントPE0 へ折り返し送信される。
【0072】
プロセッサエレメントPE0 の受信部160 (図1参照)により上記パケットが受信されると、ステップSA10では、プロセッサエレメントPE0 は、判断結果を「Yes」としてステップSA11へ進む。ステップSA11では、プロセッサエレメントPE0 は、パケットの受信時刻を記録した後、ステップSA12へ進む。ステップSA12では、プロセッサエレメントPE0 は、判断結果を「No」として、ステップSA8へ戻る。以後、ステップSA12の判断結果が「Yes」となるまで、ステップSA8〜ステップSA11では、プロセッサエレメントPE0 は、自局へパケットを送信する処理、送信時刻の記録、および受信時刻の記録を行う。
【0073】
そして、プロセッサエレメントPE0 (基準プロセッサエレメント)がプロセッサエレメントPE0 〜PE3 の全てにパケットを送信し終えると、ステップSA13では、プロセッサエレメントPE0 は、判断結果を「Yes」として、ステップSA14へ進む。ステップSA14では、プロセッサエレメントPE0 は、つぎの(1a)項〜(4a)項までのそれぞれの往復路におけるパケットの伝送時間を集計した後、期待値データを作成し、ステップSA15へ進む。
【0074】
(1a)プロセッサエレメントPE0 −プロセッサエレメントPE3 間の往復路
(2a)プロセッサエレメントPE0 −プロセッサエレメントPE2 間の往復路
(3a)プロセッサエレメントPE0 −プロセッサエレメントPE1 間の往復路
(4a)プロセッサエレメントPE0 −プロセッサエレメントPE0 間の往復路
【0075】
すなわち、プロセッサエレメントPE0 は、(1a)項の往復路について、プロセッサエレメントPE3 からのパケットの受信時刻(ステップSA11)と、プロセッサエレメントPE3 宛のパケットの送信時刻(ステップSA8)との差を伝送時間として求める。ここで、(1a)項の往復路については、規定回数n1 (ステップSA12)分の伝送時間が求められる。つぎに、プロセッサエレメントPE0 は、上記規定回数n1 分の伝送時間に基づいて、(1a)項の往復路における期待値データを作成する。この期待値データは、実際の演算処理で、(1a)項の往復路にパケットを伝送させた際にかかるであろう伝送時間であり、後述する負荷試験に用いられるデータである。一例として、上記期待値データは、規定回数n1 分の伝送時間の平均値である。また、プロセッサエレメントPE0 は、上述した(1a)項の往復路の場合と同様の手法により、(2a)項〜(4a)項のそれぞれの往復路における伝送時間および期待値データをそれぞれ求める。ここでは、(1a)項〜(4a)項までのそれぞれの往復路について、図5(a)に示したように期待値データtime(1)〜time(4)が得られたものとする。
【0076】
ステップSA15では、プロセッサエレメントPE0 (スレーブプログラムSP0 )は、プロセッサエレメントPE0 (マスタプログラムMP)へ、期待値データtime(1)〜time(4)とともに、測定終了を通知した後、ステップSA16へ進む。ステップSA16では、プロセッサエレメントPE0 (スレーブプログラムSP0 )は、プロセッサエレメントPE0 (マスタプログラムMP)より測定終了の指示があるか否かを判断し、この場合、判断結果を「No」としてステップSA7へ戻る。
【0077】
また、プロセッサエレメントPE0 (スレーブプログラムSP0 )より、期待値データtime(1)〜time(4)、および測定終了の指示を受けると、プロセッサエレメントPE0 (マスタプログラムMP)は、期待値データtime(1)〜time(4)をメモリ140 (図1参照)に記憶させた後、ステップSA3の判断結果を「Yes」として、ステップSA4へ進む。ステップSA4では、プロセッサエレメントPE0 (マスタプログラムMP)は、全てのプロセッサエレメント(基準プロセッサエレメント)に関する測定が終了したか否かを判断する。ここでは、プロセッサエレメントPE0 〜PE3 をそれぞれ基準プロセッサエレメントとして測定を行ったか否かが判断される。この場合、プロセッサエレメントPE0 (スレーブプログラムSP0 )を基準プロセッサエレメントとした測定しか行われていないため、プロセッサエレメントPE0 (マスタプログラムMP)は、ステップSA4の判断結果を「No」として、ステップSA2へ戻る。
【0078】
ステップSA2では、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 〜PE3 のなかからつぎの基準プロセッサエレメントとして、図5(b)に示したプロセッサエレメントPE1 を選択する。つぎに、プロセッサエレメントPE0 は、前述した動作と同様にして、プロセッサエレメントPE1 (基準プロセッサエレメント)へ測定開始を指示するとともに、他のプロセッサエレメントへ、返答処理開始を指示する。これにより、前述したプロセッサエレメントPE0 (基準プロセッサエレメント)の場合と同様にして、プロセッサエレメントPE1 を基準プロセッサエレメントとした測定が行われる。すなわち、この測定においては、図5(b)に示したように、つぎの(1b)項〜(4b)項のそれぞれの往復路における期待値データTime(5)〜time(8)がそれぞれ得られる。
【0079】
(1b)プロセッサエレメントPE1 −プロセッサエレメントPE0 間の往復路
(2b)プロセッサエレメントPE1 −プロセッサエレメントPE3 間の往復路
(3b)プロセッサエレメントPE1 −プロセッサエレメントPE2 間の往復路
(4b)プロセッサエレメントPE1 −プロセッサエレメントPE1 間の往復路
【0080】
そして、上記プロセッサエレメントPE1 (基準プロセッサエレメント)に関する測定が終了し、プロセッサエレメントPE1 から測定終了の通知を受けると、ステップSA4では、プロセッサエレメントPE0 は、判断結果を「No」として、ステップSA2へ戻り、上述した工程を繰り返す。すなわち、この場合には、プロセッサエレメントPE2 (基準プロセッサエレメント)に続いて、プロセッサエレメントPE3 (基準プロセッサエレメント)に関する測定が行われることで、つぎの(1c)項〜(4c)項、および(1d)項〜(4d)項のそれぞれの往復路における期待値データがそれぞれ得られる。
【0081】
(1c)プロセッサエレメントPE2 −プロセッサエレメントPE1 間の往復路
(2c)プロセッサエレメントPE2 −プロセッサエレメントPE0 間の往復路
(3c)プロセッサエレメントPE2 −プロセッサエレメントPE3 間の往復路
(4c)プロセッサエレメントPE2 −プロセッサエレメントPE2 間の往復路
【0082】
(1d)プロセッサエレメントPE3 −プロセッサエレメントPE2 間の往復路
(2d)プロセッサエレメントPE3 −プロセッサエレメントPE1 間の往復路
(3d)プロセッサエレメントPE3 −プロセッサエレメントPE0 間の往復路
(4d)プロセッサエレメントPE3 −プロセッサエレメントPE3 間の往復路
【0083】
そして、プロセッサエレメントPE0 〜PE3 をそれぞれ基準プロセッサエレメントとした全測定が終了すると、ステップSA4では、プロセッサエレメントPE0 は、判断結果を「Yes」としてステップSA5へ進む。ステップSA5では、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )へ測定終了をそれぞれ指示した後、ステップSA6へ進む。また、プロセッサエレメントPE0 (マスタプログラムMP)より測定終了の指示を受けると、ステップSA16およびステップSA20では、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、判断結果を「Yes」として、ステップSA6へそれぞれ進む。
【0084】
ステップSA6では、前述したステップSA1と同様にして、同期処理(図8参照)が行われる。すなわち、図8に示したステップSC1では、プロセッサエレメントPE0 〜プロセッサエレメントPE3 は、図2に示したクロスバネットワーク装置10にアクセスすることで、レジスタ11PE0 〜11PE3 に「1」データをそれぞれ格納した後、ステップSC2へ進む。ステップSC2では、プロセッサエレメントPE0 〜PE3 は、一定時間間隔をおいてレジスタ群11にポーリングをかけることで、レジスタ11PE0 〜11PE3 の全てに「1」データが格納されているか否かを判断し、判断結果が「Yes」となるまで同判断を繰り返す。そして、レジスタ11PE0 〜11PE3 の全てに「1」データが格納されると、プロセッサエレメントPE0 〜PE3 は、ステップSC2の判断結果を「Yes」として、一連の測定処理を終了する。この測定処理により得られた期待値データは、プロセッサエレメントPE0 のメモリ140 にそれぞれ記憶されている。
【0085】
(負荷試験)
つぎに、上述した伝送時間の測定処理により得られた期待値データ(伝送時間)に基づく負荷試験について、図9〜図11を参照して説明する。この負荷試験は、図9(a)に示したように、プロセッサエレメントPE0 〜PE3 において組を決めておき、組をなすプロセッサエレメント間でパケットを一斉に送信する試験である。さらに、負荷試験では、上述した測定処理と同様にして、プロセッサエレメント−プロセッサエレメント間における往復路の伝送時間が測定され、この伝送時間と期待値データとを比較することで、負荷特性が評価される。ここで、注意すべきは、測定処理および負荷試験は、伝送時間を測定する点で共通しているが、伝送時間を測定する条件が異なる。すなわち、測定処理では、一つの組をなすプロセッサエレメント間毎に伝送時間の測定が順次行われる。これに対して、負荷試験は、複数の組をなすプロセッサエレメント間において一斉に伝送時間の測定を行う点で、測定処理と異なる。
【0086】
図9(a)に示した例では、つぎの(1e)項〜(4e)項の組み合わせが図示されている。
Figure 0003828321
【0087】
ここで、プロセッサエレメントPE0 〜PE3 における組み合わせは、組み合わせテーブル(図10参照)に示したように組番号1〜24までの都合24種類存在する。図9(a)に示した組み合わせは、図10に示した組み合わせテーブルにおける組番号8の組み合わせに相当する。すなわち、図10に示した組番号8のPE番号(0−1、1−0、2−3、3−2)は、上述した(1e)項〜(4e)項に対応している。ここで、PE番号におけるハイフン(−)の前の数字は、<送信元>の添字を意味しており、ハイフンの後の数字は、<送信先>の添字を意味している。また、図10に示した組み合わせテーブルは、プロセッサエレメントPE0 のメモリ140 に記憶されており、マスタプログラムMPの実行中に参照される。
【0088】
また、プロセッサエレメントの台数が増えるにしたがって、組み合わせテーブル(図10参照)における組み合わせ(組番号)が増える。したがって、組み合わせが比較的少ない場合には、全ての組み合わせに関する負荷試験を短時間で行えるが、組み合わせが非常に多い場合には、全ての組み合わせに関する負荷試験が終了するまでに膨大な時間を要する。そこで、以下に説明する負荷試験においては、組み合わせテーブルにおける全ての組み合わせの中から、いくつかの組み合わせを選択することで、負荷試験の時間を短縮化している。なお、負荷試験に要する時間を無視できる場合には、組み合わせテーブルにおける全ての組み合わせに関する負荷試験を行うようにしてもよい。
【0089】
ここで、図9(a)に示したプロセッサエレメントの組み合わせにおける負荷試験の概要について説明する。図9(a)において、上記(1e)項〜(4e)項のプロセッサエレメントPE0 〜PE3 (<送信元>)は、プロセッサエレメントPE1 〜PE2 (<送信先>)に対して、一斉にパケットを送信する。そして、プロセッサエレメントPE1 〜PE2 (<送信先>)によりパケットがそれぞれ受信されると、プロセッサエレメントPE1 〜PE2 (<送信先>)は、プロセッサエレメントPE0 〜PE3 (<送信元>)へパケットをそれぞれ送信(返送)する。そして、プロセッサエレメントPE0 〜PE3 (<送信元>)によりパケットがそれぞれ受信されると、プロセッサエレメントPE0 〜PE3 (<送信元>)は、パケットの受信時刻と送信時刻との差を伝送時間としてそれぞれ求め、この伝送時間と期待値データとをそれぞれ比較することで、負荷特性を評価する。
【0090】
つぎに、図11に示したフローチャートを参照しつつ、負荷試験について詳細に説明する。図11に示したステップSD1〜ステップSD7は、図4に示したプロセッサエレメントPE0 (マスタプログラムMP)により実行される処理であり、ステップSD8〜ステップSD19、ステップSD3、ステップSD5およびステップSD7は、図4に示したプロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )により実行される処理である。
【0091】
前述した測定処理(図6参照)が終了すると、プロセッサエレメントPE0 (マスタプログラムMP)が図11に示したステップSD1の処理を実行するとともに、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )はステップSD8の処理を実行する。ステップSD8では、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、プロセッサエレメントPE0 (マスタプログラムMP)より試験開始の指示があったか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0092】
一方、ステップSD1では、プロセッサエレメントPE0 (マスタプログラムMP)は、組み合わせテーブル(図10参照)を参照することで、プロセッサエレメントPE0 〜PE3 における組を決定する。この場合、プロセッサエレメントPE0 (マスタプログラムMP)は、図10に示した組み合わせテーブルの中から、たとえば、組番号8の組み合わせ(0−1、1−0、2−3、3−2)を選択する。したがって、図9(a)に示したように1回目の負荷試験においては、上記組番号8の組み合わせに基づいて負荷試験が実行される。
【0093】
つぎに、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )へ、組番号8の組み合わせ、および試験開始を通知した後、ステップSD2へ進む。これにより、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、1回目の負荷試験における組番号8(図9(a)参照)の組み合わせを認識した後、ステップSD8の判断結果を「Yes」として、ステップSD9へ進む。ステップSD9では、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、プロセッサエレメントPE0 (マスタプログラムMP)からの期待値データ(伝送時間の期待値)を受信したか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0094】
また、ステップSD2では、プロセッサエレメントPE0 (マスタプログラムMP)は、組番号8の組み合わせに応じた期待値データをプロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )毎にメモリ140 (図1参照)からそれぞれ読み出す。そして、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )へ期待値データをそれぞれ送信した後、ステップSD3へ進む。そして、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、期待値データをそれぞれ受信すると、ステップSD9の判断結果を「Yes」としてステップSD3へ進む。
【0095】
ステップSD3では、プロセッサエレメントPE0 (マスタプログラムMP)、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、ステップSA1(図6参照)と同様にして、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントPE0 (マスタプログラムMP)は、ステップSD4へ進む。ステップSD4では、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )から試験終了の通知を受けたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0096】
また、ステップSD3の同期処理により同期がとられると、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、ステップSD10へ進む。ステップSD10では、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、前述した(1e)項〜(4e)項に示した<送信先>のプロセッサエレメントへのパケットの送信時刻をそれぞれ記録した後、ステップSD11へ進む。
【0097】
ステップSD11では、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、組番号8の組み合わせに基づいて、(1e)項〜(4e)項に示した<送信先>のプロセッサエレメント宛のパケットをそれぞれ一斉に送信した後、ステップSD12へ進む。すなわち、この場合には、図9(a)に示したように、プロセッサエレメントPE0 からプロセッサエレメントPE1 へ、プロセッサエレメントPE1 からプロセッサエレメントPE0 へ、プロセッサエレメントPE2 からプロセッサエレメントPE3 へ、プロセッサエレメントPE3 からプロセッサエレメントPE2 へパケットが一斉に送信される。このように、負荷試験においては、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )から一斉にパケットが送信されるという、クロスバネットワーク装置10にとって高負荷の状態が意図的に作り出される。
【0098】
ステップSD12では、<送信元>のプロセッサエレメントPE0 〜PE3 は、組をなす<送信先>のプロセッサエレメントPE0 〜PE3 からの返答用のパケットを受信したか否かをそれぞれ判断し、返答用のパケットを受信するまで同判断をそれぞれ繰り返す。
【0099】
また、<送信元>のプロセッサエレメントPE0 〜PE3 からそれぞれ送信されたパケットは、図3に示したクロスバネットワーク装置10におけるクロスバスイッチS10、S01、S32およびS23がそれぞれオンされることで、<送信先>のプロセッサエレメントPE0 〜PE3 へそれぞれ送信される。そして、<送信先>のプロセッサエレメントPE0 〜PE3 は、<送信元>のプロセッサエレメントPE0 〜PE3 からのパケットを受信すると、割り込みを発生させステップSD19の処理を実行する。
【0100】
すなわち、ステップSD19では、<送信先>のプロセッサエレメントPE0 〜PE3 は、組をなす<送信元>のプロセッサエレメントPE0 〜PE3 へ返答用のパケットをそれぞれ送信する。これら返答用のパケットは、図3に示したクロスバネットワーク装置10におけるクロスバスイッチS01、S10、S32およびS23がそれぞれオンされることで、<送信元>のプロセッサエレメントPE0 〜PE3 へそれぞれ送信される。
【0101】
そして、<送信元>のプロセッサエレメントPE0 〜PE3 は、<送信先>のプロセッサエレメントPE0 〜PE3 からの返答用のパケットをそれぞれ受信すると、ステップSD12の判断結果を「Yes」として、ステップSD13へそれぞれ進む。ステップSD13では、<送信元>のプロセッサエレメントPE0 〜PE3 は、返答用のパケットの受信時刻をそれぞれ記録した後、ステップSD14へそれぞれ進む。ステップSD14では、<送信元>のプロセッサエレメントPE0 〜PE3 は、組をなす<送信先>のプロセッサエレメントPE0 〜PE3 宛のパケットの送信回数が規定回数n2 (たとえば、5回)に達したか否かを判断する。この場合、送信回数が1回であるため、<送信元>のプロセッサエレメントPE0 〜PE3 は、判断結果を「No」として、ステップSD10へ戻る。
【0102】
以後、<送信元>のプロセッサエレメントPE0 〜PE3 は、ステップSD14の判断結果が「Yes」となるまで、同一の<送信先>のプロセッサエレメントPE0 〜PE3 へパケットを送信する処理、送信時刻の記録、および返答用パケットの受信時刻の記録を行う(ステップSD10〜ステップSD13参照)。この場合、<送信元>のプロセッサエレメントPE0 〜PE3 は、伝送時間の誤差を少なくするために、1回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。
【0103】
そして、<送信先>のプロセッサエレメントPE0 〜PE3 宛のパケットの送信回数が規定回数n2 (5回)に達すると、ステップSD14では、<送信元>のプロセッサエレメントPE0 〜PE3 は、判断結果を「Yes」として、ステップSD15へ進む。ステップSD15では、<送信元>のプロセッサエレメントPE0 〜PE3 は、組番号8(図10参照)に対応するつぎの(1f)項〜(4f)項までのそれぞれの往復路におけるパケットの伝送時間を集計する。この伝送時間は、高負荷状態における測定値である。
【0104】
Figure 0003828321
【0105】
すなわち、(1f)項の往復路について、<送信元>のプロセッサエレメントPE0 は、<送信先>のプロセッサエレメントPE1 からのパケットの受信時刻(ステップSD13)と、<送信先>のプロセッサエレメントPE1 宛のパケットの送信時刻(ステップSD10)との差を伝送時間として求める。ここで、(1f)項の往復路については、規定回数n2 (ステップSD14)分の伝送時間が求められる。つぎに、<送信元>のプロセッサエレメントPE0 は、たとえば、上記規定回数n2 分の伝送時間の平均をとることで、(1f)項の往復路における測定結果としての伝送時間を求める。同様にして、(2f)項〜(4f)項までのそれぞれの往復路について、<送信元>のプロセッサエレメントPE1 〜PE3 は、測定結果としての伝送時間をそれぞれ求める。
【0106】
つぎに、<送信元>のプロセッサエレメントPE0 〜PE3 は、それぞれ求めた伝送時間と、それぞれの往復路に対応する期待値データ(ステップSD9)とを比較することで、高負荷状態における性能評価を行い、この性能評価結果に基づいて、エラーの有無を判断する。具体的には、(1f)項の往復路について、<送信元>のプロセッサエレメントPE0 は、測定結果としての伝送時間と、当該往復路に対応する図5に示した期待値データtime(3)とを比較する。この場合、両者の差が規定値以下である場合、所望の特性が得られているものと判断され、両者の差が規定値以上である場合、エラーが発生しているものと判断される。このエラーが発生する要因としては、前述した図32に示した受信干渉が挙げられる。また、<送信元>のプロセッサエレメントPE1 〜PE3 においても、プロセッサエレメントPE0 の場合と同様の手法により、エラーの有無が判断される。
【0107】
ここで、エラーが発生している場合、ステップSD15では、<送信元>のプロセッサエレメントPE0 〜PE3 は、判断結果を「Yes」として、ステップSD16へ進む。ステップSD16では、<送信元>のプロセッサエレメントPE0 〜PE3 は、エラー情報をディスプレイ(図示略)に表示させたり、ブザー(図示略)を鳴動させる等のエラー処理を実行することで、エラーに関する詳細な情報を試験者に報知した後、ステップSD17へ進む。ここで、エラー情報は、エラーが発生した往復路およびプロセッサエレメントを特定するための情報、伝送時間、期待値データ等である。また、エラーの発生がない場合、<送信元>のプロセッサエレメントPE0 〜PE3 は、ステップSD15の判断結果を「No」として、ステップSD17へ進む。
【0108】
ステップSD17では、<送信元>のプロセッサエレメントPE0 〜PE3 は、組番号8(図10および図9(a)参照)に関する試験の終了をプロセッサエレメントPE0 (マスタプログラムMP)へ通知した後、ステップSD5へ進む。これにより、プロセッサエレメントPE0 (マスタプログラムMP)は、ステップSD4の判断結果を「Yes」として、ステップSD5へ進む。ステップSD5では、プロセッサエレメントPE0 (マスタプログラムMP)、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、ステップSA6(図6参照)と同様にして、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントPE0 (マスタプログラムMP)は、ステップSD6へ進む。
【0109】
ステップSD6では、プロセッサエレメントPE0 (マスタプログラムMP)は、試験回数が規定回数n3 (たとえば2回)に達したか否かを判断する。ここで、試験回数は、図10に示した一つの組番号の組み合わせに関する試験が行われたとき、1カウントされる。したがって、この場合、組番号8(図10参照)の組み合わせに関する試験が1回実行されたのみであるため、プロセッサエレメントPE0 (マスタプログラムMP)は、ステップSD6の判断結果を「No」として、ステップSD1へ戻る。なお、規定回数n3 が24に設定されている場合には、図10に示した組み合わせテーブルにおける全ての組番号1〜24に関する試験が行われる。
【0110】
また、ステップSD5の同期処理において同期がとられると、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、ステップSD18へ進む。ステップSD18では、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、ステップSD6と同様にして、試験回数が規定回数n3 に達したか否かを判断し、この場合、判断結果を「No」として、ステップSD8へ戻る。
【0111】
ステップSD1では、前述した動作と同様にして、プロセッサエレメントPE0 (マスタプログラムMP)は、組み合わせテーブル(図10参照)を参照することで、組番号24の組み合わせ(0−3、1−2、2−1、3−0)を選択する。したがって、図9(b)に示したように2回目の負荷試験においては、上記組番号24の組み合わせに基づいて負荷試験が実行される。図9(b)に示した例では、つぎの(1g)項〜(4g)項の組み合わせが図示されている。
【0112】
Figure 0003828321
【0113】
つぎに、ステップSD1では、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )へ、組番号24の組み合わせ、および試験開始を通知した後、ステップSD2へ進む。これにより、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、2回目の負荷試験における組番号24(図9(b)参照)の組み合わせを認識した後、ステップSD8の判断結果を「Yes」として、ステップSD9へ進む。ステップSD9では、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、プロセッサエレメントPE0 (マスタプログラムMP)からの期待値データ(伝送時間の期待値)を受信したか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0114】
また、ステップSD2では、プロセッサエレメントPE0 (マスタプログラムMP)は、組番号24の組み合わせに応じた期待値データをプロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )毎にメモリ140 (図1参照)からそれぞれ読み出す。そして、プロセッサエレメントPE0 (マスタプログラムMP)は、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )へ期待値データをそれぞれ送信した後、ステップSD3へ進む。そして、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、期待値データをそれぞれ受信すると、ステップSD9の判断結果を「Yes」としてステップSD3へ進む。
【0115】
ステップSD3では、プロセッサエレメントPE0 (マスタプログラムMP)、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )においては同期処理が実行される。以後、前述した組番号8の場合と同様にして、組番号24に関する測定が行われる。すなわち、<送信元>のプロセッサエレメントPE0 〜PE3 は、ステップSD14の判断結果が「Yes」となるまで、同一の<送信先>のプロセッサエレメントPE0 〜PE3 へパケットを送信する処理、送信時刻の記録、および返答用パケットの受信時刻の記録を行う(ステップSD10〜ステップSD13参照)。
【0116】
そして、<送信先>のプロセッサエレメントPE0 〜PE3 宛のパケットの送信回数が規定回数n2 (5回)に達すると、ステップSD14では、<送信元>のプロセッサエレメントPE0 〜PE3 は、判断結果を「Yes」として、ステップSD15へ進む。ステップSD15では、<送信元>のプロセッサエレメントPE0 〜PE3 は、組番号8(図10参照)の場合と同様にして、組番号24に対応するつぎの(1h)項〜(4h)項までのそれぞれの往復路におけるパケットの伝送時間と、期待値データとを比較することで、エラーの有無を判断する。
【0117】
Figure 0003828321
【0118】
ここで、<送信元>のプロセッサエレメントPE0 〜PE3 は、上記エラーが発生している場合、ステップSD15の判断結果を「Yes」として、ステップSD16へ進み、エラー処理を行った後、ステップSD17へ進む。一方、エラーが発生していない場合、<送信元>のプロセッサエレメントPE0 〜PE3 は、ステップSD15の判断結果を「No」として、ステップSD17へ進む。
【0119】
ステップSD17では、<送信元>のプロセッサエレメントPE0 〜PE3 は、組番号24(図10および図9(b)参照)に関する試験の終了をプロセッサエレメントPE0 (マスタプログラムMP)へ通知した後、ステップSD5へ進む。これにより、プロセッサエレメントPE0 (マスタプログラムMP)は、ステップSD4の判断結果を「Yes」として、ステップSD5へ進む。ステップSD5では、プロセッサエレメントPE0 〜PE3 は、ステップSA6(図6参照)と同様にして、同期処理を行った後、ステップSD6へ進む。
【0120】
ステップSD6では、プロセッサエレメントPE0 (マスタプログラムMP)は、試験回数(2回)が規定回数n3 (たとえば2回)に達しているため、判断結果を「Yes」として、ステップSD7へ進む。また、同様にして、ステップSD18では、プロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、判断結果を「Yes」として、ステップSD7へ進む。ステップSD7では、プロセッサエレメントPE0 (マスタプログラムMP)、およびプロセッサエレメントPE0 〜PE3 (スレーブプログラムSP0 〜SP3 )は、ステップSA1(図6参照)と同様にして、同期処理を行った後、一連の負荷試験を終了する。
【0121】
以上説明したように、実施の形態1によれば、複数の<送信元>のプロセッサエレメントから一つの<送信先>のプロセッサエレメントへパケットを送信させないという条件で、プロセッサエレメントPE0 〜PE3 からパケットを一斉に送信しているため常に高負荷状態で負荷試験を行うことができる。さらに、実施の形態1によれば、実際に測定した結果を期待値として性能評価を行っているため、信頼性が高い試験結果が得られる。
【0122】
(実施の形態2)
さて、前述した実施の形態1においては、図9(a)および(b)に示したように、<送信元>のプロセッサエレメントPE0 〜PE3 から<送信先>のプロセッサエレメントPE0 〜PE3 へ一斉にパケットをそれぞれ送信することで、高負荷の状態を作り出して、負荷試験を行う例について詳述した。ここで、さらに負荷試験の試験結果の信頼性を上げるには、複数のパケットを、クロスバネットワーク装置10に同一時刻に到着させるという、最高負荷の状態で負荷試験を行えばよい。しかしながら、実施の形態1においては、クロスバネットワーク装置10とプロセッサエレメントPE0 〜PE3 との間の伝送距離、伝送特性がそれぞれ異なるため、クロスバネットワーク装置10における複数のパケットの到着時刻がパケット毎に相違し、負荷が最高値とならない。以下、最高負荷の状態で負荷試験を行う例を実施の形態2として説明する。
【0123】
図12は、本発明にかかる実施の形態2の構成を示すブロック図である。この図に示した並列プロセッサ装置の基本的な構成は、図1に示したものと同様である。ただし、図12に示した並列プロセッサ装置においては、図1に示した並列プロセッサ装置に比して4台多い、8台のプロセッサエレメントPE0 〜PE7 が設けられている。また、プロセッサエレメントの台数の増加にともなって、クロスバネットワーク装置20の構成も、クロスバネットワーク装置10(図1参照)とは若干異なる。
【0124】
図12において、プロセッサエレメントPE0 〜PE7 は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、プロセッサエレメントPE0 (図1参照)と同一構成とされている。クロスバネットワーク装置20は、プロセッサエレメントPE0 〜プロセッサエレメントPE7 間を相互接続する装置であり、レジスタ群11(図2参照)と同様にして、同期処理に用いられるレジスタ群21と、N×N(同図では8×8)スイッチ構成のクロスバスイッチ群22とを有している。このクロスバネットワーク装置20においては、入線側(送信側)がプロセッサエレメントPE0 〜PE7 のそれぞれの送信部(図示略)に接続されており、出線側(受信側)がプロセッサエレメントPE0 〜PE7 のそれぞれの受信部(図示略)に接続されている。このように、クロスバネットワーク装置20は、N×N(同図では8×8)スイッチ構成とされており、任意の入力線(送信部)−出力線(受信部)間を接続する装置である。
【0125】
レジスタ群21は、レジスタ21PE0 〜21PE7 から構成されており、プロセッサエレメントPE0 〜プロセッサエレメントPE7 の同期をとるために用いられる。これらレジスタ21PE0 〜21PE7 は、プロセッサエレメントPE0 〜PE7 にそれぞれ対応して設けられている。レジスタ21PE0 は、プロセッサエレメントPE0 からのアクセスにより、「1」データまたは「0」データを格納する。なお、プロセッサエレメントPE0 は、レジスタ21PE0 のみに「1」データまたは「0」データの格納を行うことができるが、他のレジスタ21PE1 〜21PE7 に対して、データの格納を行うことができない。同様にして、レジスタ21PE1 〜21PE7 は、プロセッサエレメントPE1 〜PE7 からのアクセスにより、「1」データまたは「0」データをそれぞれ格納する。
【0126】
また、レジスタ群21(レジスタ21PE0 〜21PE7 )は、全てのプロセッサエレメントPE0 〜PE7 により、格納されたデータが共通で参照されるようになっている。すなわち、プロセッサエレメントPE0 は、全てのレジスタ21PE0 〜21PE7 に格納されたデータの参照を行うことができる。他のプロセッサエレメントPE1 〜PE7 も同様にして、全てのレジスタ21PE0 〜21PE7 に格納されたデータの参照を行うことができる。同期処理において、プロセッサエレメントPE0 〜PE7 は、レジスタ21PE0 〜21PE7 に「1」データ(または「0」データ)を個別的にそれぞれ書き込む。その後、プロセッサエレメントPE0 〜PE7 は、一定時間間隔をおいてレジスタ群21(レジスタ21PE0 〜21PE7 )にポーリングをかけることで、保持されているデータを参照する。そして、プロセッサエレメントPE0 〜PE7 は、レジスタ群21に保持されているデータが全て「1」(または「0」)になったとき、同期がとられたことを認識する。
【0127】
クロスバスイッチ群22は、8×8配列の都合64個のクロスバスイッチを有しており、プロセッサエレメントPE0 〜PE7 のうち、任意の組み合わせのプロセッサエレメント間を相互接続する。このクロスバスイッチ群22の基本的な機能は、クロスバスイッチ群12(図3参照)と同様である。ここで、図12に示したクロスバスイッチ群22において、複数のクロスバスイッチは、黒丸(●)および白丸(○)で図示されている。また、黒丸(●)は、当該クロスバスイッチがオンにされている状態を示し、白丸(○)は、当該クロスバスイッチがオフにされている状態を示す。したがって、図12に示した例では、プロセッサエレメントPE0 〜PE7 は、図13に示す接続状態とされている。
【0128】
また、図12に示したプロセッサエレメントPE0 〜PE7 のそれぞれのメモリ(図示略)には、図4の場合と同様にして、マスタプログラムおよびスレーブプログラムからなる負荷試験プログラムがそれぞれ記憶されている。具体的には、プロセッサエレメントPE0 のメモリには、マスタプログラムおよびスレーブプログラムが記憶されており、プロセッサエレメントPE1 〜PE7 のそれぞれのメモリには、スレーブプログラムがそれぞれ記憶されている。
【0129】
(伝送時間の測定)
つぎに、上述した実施の形態2の動作について説明する。ここで、実施の形態2においては、負荷試験に必要な伝送時間を測定する測定処理(図14参照)に続いて、実施の形態1と同様の測定処理(図6参照)が行われた後に、負荷試験(図15参照)が行われる。はじめに、図14を参照して測定処理について説明する。この測定処理においては、図14に示したようにプロセッサエレメントPE0 〜プロセッサエレメントPE7 が基準プロセッサエレメントとして順次選択され、この基準プロセッサエレメントとクロスバネットワーク装置10との間の往復路におけるパケットの伝送時間の測定が行われる。つまり、測定処理においては、つぎの(1i)項〜(8i)項までのそれぞれの往復路に関する伝送時間の測定が行われる。
【0130】
(1i)プロセッサエレメントPE0 −クロスバネットワーク装置10間の往復路
(2i)プロセッサエレメントPE1 −クロスバネットワーク装置10間の往復路
(3i)プロセッサエレメントPE2 −クロスバネットワーク装置10間の往復路
(4i)プロセッサエレメントPE3 −クロスバネットワーク装置10間の往復路
(5i)プロセッサエレメントPE4 −クロスバネットワーク装置10間の往復路
(6i)プロセッサエレメントPE5 −クロスバネットワーク装置10間の往復路
(7i)プロセッサエレメントPE6 −クロスバネットワーク装置10間の往復路
(8i)プロセッサエレメントPE7 −クロスバネットワーク装置10間の往復路
【0131】
ここで、伝送時間とは、基準プロセッサエレメントからパケットが送信されてから、クロスバネットワーク装置10により折り返された上記パケットが基準プロセッサエレメントに受信されるまでの時間をいう。上記往復路は、基準プロセッサエレメント→クロスバネットワーク装置10→基準プロセッサエレメントという具合に、クロスバネットワーク装置10からの折り返し経路である。
【0132】
つぎに、図16に示したフローチャートを参照しつつ、プロセッサエレメント−クロスバネットワーク装置間の往復路における伝送時間の測定処理について説明する。図16において、ステップSE1〜ステップSE7までは、図14に示したプロセッサエレメントPE0 (マスタプログラム)により実行される処理である。また、ステップSE1、ステップSE8〜ステップSE16およびステップSE7は、上述した基準プロセッサエレメントとして選択された一つのプロセッサエレメント(スレーブプログラム)により実行される処理である。
【0133】
図14に示したプロセッサエレメントPE0 においてマスタプログラムが起動されると、図16に示したステップSE1では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 (スレーブプログラム)〜プロセッサエレメントPE7 (スレーブプログラム)に対して同期処理を行うように指示する。プロセッサエレメントPE0 〜PE7 は、ステップSA1(図6参照)と同様にして、図12に示したレジスタ21PE0 〜21PE7 にそれぞれアクセスすることで同期処理を行う。そして、同期処理が終了すると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSE2へ進む。また、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、ステップSE8へ進み、プロセッサエレメントPE0 (マスタプログラム)から測定開始が指示されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0134】
ステップSE2では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 〜PE7 のなかから一つのプロセッサエレメントを基準プロセッサエレメントとして選択した後、この基準プロセッサエレメントへ測定開始を指示する。この場合、ステップSE2では、プロセッサエレメントPE0 (マスタプログラム)は、基準プロセッサエレメントとして図14に示したプロセッサエレメントPE0 (スレーブプログラム)を選択したものとする。したがって、ステップSE2では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 (スレーブプログラム)に対して測定開始を指示した後、ステップSE3へ進む。したがって、この場合、前述した(1i)項の往復路における伝送時間の測定が行われる。ステップSE3では、プロセッサエレメントPE0 (マスタプログラム)は、基準プロセッサエレメント(この場合プロセッサエレメントPE0 )からの伝送時間の集計結果を受信したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0135】
また、測定開始の指示を受けると、プロセッサエレメントPE0 (スレーブプログラム)は、ステップSE8の判断結果を「Yes」としてステップSE9へ進む。ステップSE9では、プロセッサエレメントPE0 (スレーブプログラム)は、図14に示したように、自局へ送信すべきパケットの送信時刻を記録した後、ステップSE10へ進む。ステップSE10では、プロセッサエレメントPE0 は、自局宛のパケットを送信部(図示略)から送信した後、ステップSE11へ進む。ステップSE11では、プロセッサエレメントPE0 は、自局宛のパケットを受信したか否かを判断し、この場合、未受信であるため判断結果を「No」として同判断を繰り返す。そして、プロセッサエレメントPE0 宛のパケットは、図12に示したクロスバスイッチがオン(黒丸(●)参照)されることにより、クロスバネットワーク装置10からプロセッサエレメントPE0 へ折り返し送信される。
【0136】
そして、プロセッサエレメントPE0 の受信部(図示略)により上記パケットが受信されると、ステップSE11では、プロセッサエレメントPE0 は、判断結果を「Yes」としてステップSE12へ進む。ステップSE12では、プロセッサエレメントPE0 は、パケットの受信時刻を記録した後、ステップSE13へ進む。ステップSE13では、プロセッサエレメントPE0 宛のパケットの送信回数が規定回数n4 (たとえば、5回)に達したか否かを判断する。
【0137】
この場合、送信回数が1回であるため、プロセッサエレメントPE0 は、判断結果を「No」として、ステップSE9へ戻る。以後、ステップSE13の判断結果が「Yes」となるまで、ステップSE9〜ステップSE12では、プロセッサエレメントPE0 は、自局宛のパケットを送信する処理、送信時刻の記録、および受信時刻の記録を行う。この場合、プロセッサエレメントPE0 は、伝送時間(測定結果)の誤差を少なくするために、1回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。
【0138】
そして、ステップSE13の判断結果が「Yes」になると、プロセッサエレメントPE0 は、ステップSE14へ進む。ステップSE14では、プロセッサエレメントPE0 は、上述した(1i)項の往復路におけるパケットの伝送時間を集計する。すなわち、プロセッサエレメントPE0 は、(1i)項の往復路について、パケットの受信時刻(ステップSE12)と、パケットの送信時刻(ステップSE9)との差を伝送時間として求める。ここで、(1i)項の往復路については、規定回数n4 (ステップSE13)分の伝送時間が求められる。そして、プロセッサエレメントPE0 (スレーブプログラム)は、求められた複数の伝送時間の集計結果をプロセッサエレメントPE0 (マスタプログラム)へ送信した後、ステップSE15へ進む。
【0139】
そして、(1i)項の伝送路に関する伝送時間の集計結果を受信すると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSE3の判断結果を「Yes」として、ステップSE4へ進む。ステップSE4では、プロセッサエレメントPE0 (マスタプログラム)は、測定終了の通知を基準プロセッサエレメント(この場合、プロセッサエレメントPE0 (スレーブプログラム))から受けたか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。
【0140】
ステップSE15では、プロセッサエレメントPE0 (スレーブプログラム)は、(1i)項の伝送路に関する測定終了をプロセッサエレメントPE0 (マスタプログラム)へ通知した後、ステップSE16へ進む。そして、上記測定終了の通知を受けると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSE4の判断結果を「Yes」として、ステップSE5へ進む。また、ステップSE16では、プロセッサエレメントPE0 (スレーブプログラム)は、プロセッサエレメントPE0 (マスタプログラム)からの時間差データを受信したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。ここで、時間差データは、図14に示した伝送時間(1)〜(8)までのうち、最長の伝送時間を基準伝送時間とした場合に、この基準伝送時間と伝送時間(1)〜(8)とのそれぞれの時間差のデータである。なお、伝送時間(1)〜(8)、および時間差データの詳細については後述する。
【0141】
ステップSE5では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 〜PE7 の全てを基準プロセッサエレメントとして測定を行ったか否かを判断する。この場合、プロセッサエレメントPE0 (スレーブプログラム)を基準プロセッサエレメントとした測定しか行われていないため、プロセッサエレメントPE0 (マスタプログラム)は、ステップSE5の判断結果を「No」として、ステップSE2へ戻る。
【0142】
ステップSE2では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE1 〜PE7 のなかからつぎの基準プロセッサエレメントとして、図14に示したプロセッサエレメントPE1 を選択する。つぎに、プロセッサエレメントPE0 (マスタプログラム)は、前述した動作と同様にして、プロセッサエレメントPE1 (基準プロセッサエレメント)へ測定開始を指示する。これにより、前述したプロセッサエレメントPE0 (基準プロセッサエレメント)の場合と同様にして、プロセッサエレメントPE1 を基準プロセッサエレメントとした測定が行われる。すなわち、この場合には、前述した(2i)項の往復路における伝送時間が測定される。
【0143】
そして、上記(2i)項に関する測定が終了し、プロセッサエレメントPE1 から伝送時間の集計結果を受信すると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSE3の判断結果を「Yes」とし、ステップSE4へ進む。そして、プロセッサエレメントPE1 から測定終了の通知を受けると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSE4の判断結果を「Yes」としてステップSE5へ進む。ステップSE5では、プロセッサエレメントPE0 (マスタプログラム)は、判断結果を「No」として、ステップSE2へ戻る。以後、前述した動作と同様にして、プロセッサエレメントPE2 〜PE7 をそれぞれ基準プロセッサエレメントとした場合における伝送時間の測定が順次行われる。したがって、この場合には、前述した(3i)項〜(8i)項までのそれぞれの往復路における伝送時間が求められる。
【0144】
そして、プロセッサエレメントPE0 〜PE7 をそれぞれ基準プロセッサエレメントとした全測定が終了すると、ステップSE5では、プロセッサエレメントPE0 (マスタプログラム)は、判断結果を「Yes」としてステップSE6へ進む。ステップSE6では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)のそれぞれに対応する時間差データを求める。上記時間差データを求めるにあたって、プロセッサエレメントPE0 (マスタプログラム)は、上述した(1i)項〜(8i)項までのそれぞれの往復路における伝送時間の集計結果の平均値をとる。
【0145】
つぎに、プロセッサエレメントPE0 (マスタプログラム)は、それぞれの平均値を「2」で除算することで、図14に示した伝送時間(1)〜(8)を得る。たとえば、伝送時間(1)は、プロセッサエレメントPE0 からクロスバネットワーク装置10までの往路(片道)における伝送時間であり、伝送時間(2)は、プロセッサエレメントPE1 からクロスバネットワーク装置10まで往路(片道)における伝送時間である。以下同様にして、伝送時間(8)は、プロセッサエレメントPE7 からクロスバネットワーク装置10までの往路(片道)における伝送時間である。
【0146】
つぎに、プロセッサエレメントPE0 (マスタプログラム)は、図14に示した伝送時間(1)〜(8)のうちで最長の伝送時間を基準伝送時間とする。この場合、伝送時間(1)が基準伝送時間であるものとする。なお、最長の伝送時間が二つ以上ある場合には、いずれか一方を基準伝送時間とすればよい。ついで、プロセッサエレメントPE0 (マスタプログラム)は、基準伝送時間(この場合、伝送時間(1))と、伝送時間(1)〜(8)とのそれぞれの差を時間差データとして求める。以下に、プロセッサエレメントPE0 〜PE7 とそれぞれの時間差データの一例を示す。
【0147】
Figure 0003828321
【0148】
つぎに、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)のそれぞれへ上記時間差データを送信した後、ステップSE7へ進む。そして、時間差データがプロセッサエレメントPE0 〜PE7 (スレーブプログラム)のそれぞれに受信されると、ステップSE16では、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、それぞれのメモリ(図示略)に時間差データを記憶させた後、判断結果を「Yes」としてステップSE7へ進む。ステップSE7では、プロセッサエレメントPE0 〜プロセッサエレメントPE7 は、ステップSA6(図6参照)と同様にして、同期処理を行った後、一連の測定処理を終了する。
【0149】
つぎに、実施の形態2においては、前述した伝送時間の測定処理(図6参照)と同様の測定処理が行われることにより、前述した期待値データが作成される。ここで、実施の形態1においては、期待値データを求める範囲をプロセッサエレメントPE0 〜PE3 としたが、実施の形態2では、上記範囲をプロセッサエレメントPE0 〜PE7 として期待値データが作成される。ここで、作成された期待値データは、プロセッサエレメントPE0 (図15参照)のメモリ(図示略)に記憶される。
【0150】
(負荷試験)
つぎに、上述した測定処理(図16参照)により得られた時間差データ、および測定処理(図6参照)により得られた期待値データに基づく負荷試験について、図17に示したフローチャートを参照しつつ説明する。以下に詳述する負荷試験は、実施の形態1と同様にして、たとえば、図13に示したように、プロセッサエレメントPE0 〜PE7 において組を決めておき、組をなすプロセッサエレメント間でパケットを送信する試験である。
【0151】
ここで、実施の形態1では、試験開始時にパケットを一斉に送信するのに対して、実施の形態2は、時間差データに基づいてそれぞれのプロセッサエレメントからのパケットの送信時刻をずらすことで、全てのパケットが同一時刻でクロスバネットワーク装置20に到着するように、パケットの送信を行う点が、実施の形態1の負荷試験と相違する。すなわち、実施の形態2においては、クロスバネットワーク装置20が最高負荷の状態で負荷試験が行われる。また、実施の形態2における負荷試験では、実施の形態1と同様にして、プロセッサエレメント−プロセッサエレメント間における往復路の伝送時間が測定され、この伝送時間と期待値データとを比較することで、負荷特性が評価される。
【0152】
図17に示したステップSF1〜ステップSF7は、図14に示したプロセッサエレメントPE0 (マスタプログラム)により実行される処理であり、ステップSF3、ステップSF8〜ステップSF19、ステップSF20、ステップSF5およびステップSF7は、図14に示したプロセッサエレメントPE0 〜PE7 (スレーブプログラム)により実行される処理である。
【0153】
前述した測定処理(図6および図16参照)が終了すると、プロセッサエレメントPE0 (マスタプログラム)が図17に示したステップSF1の処理を実行するとともに、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)はステップSF8の処理を実行する。ステップSF8では、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、プロセッサエレメントPE0 (マスタプログラム)より試験開始の指示があったか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0154】
一方、ステップSF1では、プロセッサエレメントPE0 (マスタプログラム)は、組み合わせテーブル(図示略)を参照することで、プロセッサエレメントPE0 〜PE7 における組を決定する。上記組み合わせテーブルは、前述した図10に示した組み合わせテーブルと同種であるが、組み合わせの範囲がプロセッサエレメントPE0 〜PE7 とされている。この場合、プロセッサエレメントPE0 (マスタプログラム)は、組み合わせテーブルの中から、たとえば、図13に示した組み合わせを選択する。この場合の組み合わせは、つぎの(1j)項〜(8j)項のようになる。
【0155】
Figure 0003828321
【0156】
つぎに、ステップSF1では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)へ、上述した(1j)項〜(8j)項の組み合わせ(図13参照)、および試験開始を通知した後、ステップSF2へ進む。これにより、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、負荷試験における組み合わせを認識した後、ステップSF8の判断結果を「Yes」として、ステップSF9へ進む。ステップSF9では、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、プロセッサエレメントPE0 (マスタプログラム)からの期待値データ(伝送時間の期待値)を受信したか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0157】
また、ステップSF2では、プロセッサエレメントPE0 (マスタプログラム)は、(1j)項〜(8j)項の組み合わせに応じた期待値データをプロセッサエレメントPE0 〜PE7 (スレーブプログラム)毎にメモリ(図示略)からそれぞれ読み出す。そして、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)へ期待値データをそれぞれ送信した後、ステップSF3へ進む。そして、期待値データをそれぞれ受信すると、ステップSF9では、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、判断結果を「Yes」としてステップSF3へ進む。
【0158】
ステップSF3では、プロセッサエレメントPE0 (マスタプログラム)、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、ステップSD1(図11参照)と同様にして、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSF4へ進む。ステップSF4では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)から試験終了の通知を受けたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0159】
また、ステップSF3の同期処理により同期がとられると、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、タイマ(図示略)による計時を開始した後、ステップSF10へ進む。ステップSF10では、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、それぞれのタイマの時間(計時結果)が、前述した時間差データ以上であるか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。ここで、再度、前述したプロセッサエレメントと時間差データとの関係を以下に示す。
【0160】
Figure 0003828321
【0161】
具体的には、プロセッサエレメントPE0 (スレーブプログラム)は、時間差データが「±0」であるため、タイマの時間(計時結果)が0以上になるとすぐに、ステップSF10の判断結果を「Yes」として、ステップSF11へ進み、前述した(1j)項に示した<送信先>のプロセッサエレメントPE1 へのパケットの送信時刻を記録した後、ステップSF12へ進む。ステップSF12では、プロセッサエレメントPE0 (スレーブプログラム)は、(1j)項に示した<送信先>のプロセッサエレメントPE1 宛のパケットを送信する。このようにプロセッサエレメントPE0 は、時間差データが「±0」であるため、ステップSF3の同期処理が終了すると、間髪を入れずに<送信先>のプロセッサエレメントPE1 へパケットを送信した後、ステップSF13へ進む。
【0162】
また、プロセッサエレメントPE1 は、時間差データが「+2」であるため、タイマの時間(計時結果)が「2」以上になるまで、ステップSF10の判断結果を「No」として、待機する。そして、時間が「2」以上になると、プロセッサエレメントPE1 は、ステップSF10の判断結果を「Yes」として、ステップSF11へ進み、前述した(2j)項に示した<送信先>のプロセッサエレメントPE0 へのパケットの送信時刻を記録した後、ステップSF12へ進む。
【0163】
ステップSF12では、プロセッサエレメントPE1 は、(2j)項に示した<送信先>のプロセッサエレメントPE0 宛のパケットを送信する。このようにプロセッサエレメントPE1 は、時間差データが「+2」であるため、ステップSF3の同期処理が終了すると、時間差データ(「+2」)に相当する時間分、待機した後、<送信先>のプロセッサエレメントPE0 へパケットを送信し、ステップSF13へ進む。以下同様にして、プロセッサエレメントPE2 〜PE7 は、時間差データに相当する時間分、待機した後、<送信先>のプロセッサエレメントへパケットを送信し、ステップSF13へ進む。
【0164】
そして、ステップSF12において、プロセッサエレメントPE0 〜PE7 から異なる送信時刻で送信されたそれぞれのパケットは、同一時刻で図12に示したクロスバネットワーク装置20に到達する。これにより、クロスバネットワーク装置20のクロスバスイッチ群22では、黒丸(●)で示した都合8個のクロスバスイッチが同一時刻でそれぞれオンにされる。すなわち、この場合、クロスバネットワーク装置20は、最高負荷の状態にある。そして、それぞれのパケットは、<送信先>のプロセッサエレメントPE0 〜PE7 へ送信される。
【0165】
ステップSF13では、<送信元>のプロセッサエレメントPE0 〜PE7 は、組をなす<送信先>のプロセッサエレメントPE0 〜PE7 からの返答用のパケットを受信したか否かをそれぞれ判断し、返答用のパケットを受信するまで同判断をそれぞれ繰り返す。そして、<送信先>のプロセッサエレメントPE0 〜PE7 は、<送信元>のプロセッサエレメントPE0 〜PE7 からのパケットを受信すると、割り込みを発生させステップSF19の処理を実行する。すなわち、ステップSF19では、<送信先>のプロセッサエレメントPE0 〜PE7 は、組をなす<送信元>のプロセッサエレメントPE0 〜PE7 へ返答用のパケットをそれぞれ送信する。これら返答用のパケットは、図12に示したクロスバネットワーク装置20におけるクロスバスイッチ群22がオンされることで、<送信元>のプロセッサエレメントPE0 〜PE7 へそれぞれ送信される。
【0166】
そして、<送信元>のプロセッサエレメントPE0 〜PE7 は、<送信先>のプロセッサエレメントPE0 〜PE7 からの返答用のパケットをそれぞれ受信すると、ステップSF13の判断結果を「Yes」として、ステップSF14へそれぞれ進む。ステップSF14では、<送信元>のプロセッサエレメントPE0 〜PE7 は、返答用のパケットの受信時刻をそれぞれ記録した後、ステップSF15へそれぞれ進む。ステップSF15では、<送信元>のプロセッサエレメントPE0 〜PE7 は、組をなす<送信先>のプロセッサエレメントPE0 〜PE7 宛のパケットの送信回数が規定回数n5 (たとえば、5回)に達したか否かを判断する。この場合、送信回数が1回であるため、<送信元>のプロセッサエレメントPE0 〜PE7 は、判断結果を「No」として、ステップSF10へ戻る。
【0167】
以後、<送信元>のプロセッサエレメントPE0 〜PE7 は、ステップSF15の判断結果が「Yes」となるまで、同一の<送信先>のプロセッサエレメントPE0 〜PE7 へパケットを送信する処理、送信時刻の記録、および返答用パケットの受信時刻の記録を行う(ステップSF10〜ステップSF14)。この場合、<送信元>のプロセッサエレメントPE0 〜PE7 は、伝送時間の誤差を少なくするために、1回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。
【0168】
そして、<送信先>のプロセッサエレメントPE0 〜PE7 宛のパケットの送信回数が規定回数n5 (5回)に達すると、ステップSF15では、<送信元>のプロセッサエレメントPE0 〜PE7 は、判断結果を「Yes」として、ステップSF16へ進む。ステップSF16では、<送信元>のプロセッサエレメントPE0 〜PE7 は、つぎの(1k)項〜(8k)項までのそれぞれの往復路におけるパケットの伝送時間を集計する。この伝送時間は、最高負荷状態における測定値である。
【0169】
Figure 0003828321
【0170】
つぎに、<送信元>のプロセッサエレメントPE0 〜PE7 は、ステップSD15(図11参照)と同様の手法により求めた伝送時間と、それぞれの往復路に対応する期待値データ(ステップSF9参照)とを比較することで、最高負荷状態における性能評価を行い、この性能評価結果に基づいて、エラーの有無を判断する。ここで、エラーが発生している場合、ステップSF16では、<送信元>のプロセッサエレメントPE0 〜PE7 は、判断結果を「Yes」として、ステップSF17へ進み、ステップSD16(図11参照)と同様にして、エラー処理を行った後、ステップSF18へ進む。一方、エラーの発生がない場合、<送信元>のプロセッサエレメントPE0 〜PE7 は、ステップSF16の判断結果を「No」として、ステップSF18へ進む。
【0171】
ステップSF18では、<送信元>のプロセッサエレメントPE0 〜PE7 は、(1j)項〜(8j)項の組み合わせに関する試験の終了をプロセッサエレメントPE0 (マスタプログラム)へ通知した後、ステップSF5へ進む。これにより、プロセッサエレメントPE0 (マスタプログラム)は、ステップSF4の判断結果を「Yes」として、ステップSF5へ進む。ステップSF5では、プロセッサエレメントPE0 (マスタプログラム)、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、ステップSD5(図11参照)と同様にして、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSF6へ進む。
【0172】
ステップSF6では、プロセッサエレメントPE0 (マスタプログラム)は、試験回数が規定回数n6 (たとえば1回)に達したか否かを判断し、この場合、判断結果を「Yes」として、ステップSF7へ進む。なお、規定回数n6 が2以上に設定されている場合は、プロセッサエレメントPE0 (マスタプログラム)は、判断結果を「No」として、ステップSF1へ戻り、組み合わせテーブルにおける他の組み合わせに関する試験を前述した動作と同様にして行う。
【0173】
また、ステップSF5の同期処理において同期がとられると、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、ステップSF20へ進む。ステップSF20では、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、ステップSF6と同様にして、試験回数が規定回数n6 に達したか否かを判断し、この場合、判断結果を「Yes」として、ステップSF7へ進む。なお、規定回数n6 が2以上に設定されている場合、プロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、ステップSF8へ戻り、組み合わせテーブルにおける他の組み合わせに関する試験を前述した動作と同様にして行う。そして、ステップSF7では、プロセッサエレメントPE0 (マスタプログラム)、およびプロセッサエレメントPE0 〜PE7 (スレーブプログラム)は、ステップSD7(図11参照)と同様にして、同期処理を行った後、一連の負荷試験を終了する。
【0174】
以上説明したように、実施の形態2によれば、複数の<送信元>のプロセッサエレメントから一つの<送信先>のプロセッサエレメントへパケットを送信させないという条件で、しかも同一時刻で複数のパケットがクロスバネットワーク装置20に到着する送信タイミングで複数のパケットを送信しているため常に最高負荷状態で負荷試験を行うことができる。さらに、実施の形態2によれば、実際に測定した結果を期待値とし、かつ最高負荷状態における伝送時間に基づいて性能評価を行っているため、さらに信頼性が高い試験結果が得られる。
【0175】
(実施の形態3)
さて、前述した実施の形態1においては、図9(a)および(b)に示したように、プロセッサエレメントPE0 〜PE3 における<送信元>のプロセッサエレメントと<送信先>のプロセッサエレメントとの組を決めておき、<送信元>のプロセッサエレメントから<送信先>のプロセッサエレメントへ一斉にパケットをそれぞれ送信することで、高負荷の状態を作り出して、負荷試験を行う例について詳述した。また、前述した実施の形態2においては、複数のパケットを、図12に示したクロスバネットワーク装置20に同一時刻に到着させることにより、最高負荷の状態で負荷試験を行う例について詳述した。以下においては、上述した実施の形態1および実施の形態2を組み合わせるとともに、伝送時間が長い伝送ルートに着目して負荷試験を行う場合を実施の形態3として説明する。
【0176】
図18は、本発明にかかる実施の形態3の構成を示すブロック図である。この図に示した並列プロセッサ装置の基本的な構成は、図1に示したものと同様である。ただし、図18に示した並列プロセッサ装置においては、図1に示した並列プロセッサ装置に比して3台多い、7台のプロセッサエレメントPE0 〜PE6 が設けられている。また、プロセッサエレメントの台数の増加にともなって、クロスバネットワーク装置30の構成も、クロスバネットワーク装置10(図1参照)とは若干異なる。
【0177】
図18において、プロセッサエレメントPE0 〜PE6 は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、プロセッサエレメントPE0 (図1参照)と同一構成とされている。クロスバネットワーク装置30は、プロセッサエレメントPE0 〜プロセッサエレメントPE6 間を相互接続する装置であり、レジスタ群11(図2参照)と同様にして、同期処理に用いられるレジスタ群31と、N×N(同図では7×7)スイッチ構成のクロスバスイッチ群32と有している。
【0178】
このクロスバネットワーク装置30においては、入線側(送信側)がプロセッサエレメントPE0 〜PE6 のそれぞれの送信部(図示略)に接続されており、出線側(受信側)がプロセッサエレメントPE0 〜PE6 のそれぞれの受信部(図示略)に接続されている。このように、クロスバネットワーク装置30は、N×N(同図では7×7)スイッチ構成とされており、任意の入力線(送信部)−出力線(受信部)間を接続する装置である。
【0179】
レジスタ群31は、レジスタ31PE0 〜31PE6 から構成されており、プロセッサエレメントPE0 〜プロセッサエレメントPE6 の同期をとるために用いられる。これらレジスタ31PE0 〜31PE6 は、プロセッサエレメントPE0 〜PE6 にそれぞれ対応して設けられている。レジスタ31PE0 は、プロセッサエレメントPE0 からのアクセスにより、「1」データまたは「0」データを格納する。なお、プロセッサエレメントPE0 は、レジスタ31PE0 のみに「1」データまたは「0」データの格納を行うことができるが、他のレジスタ31PE1 〜31PE6 に対して、データの格納を行うことができない。同様にして、レジスタ31PE1 〜31PE6 は、プロセッサエレメントPE1 〜PE6 からのアクセスにより、「1」データまたは「0」データをそれぞれ格納する。
【0180】
また、レジスタ群31(レジスタ31PE0 〜31PE6 )は、全てのプロセッサエレメントPE0 〜PE6 により、格納されたデータが共通で参照されるようになっている。すなわち、プロセッサエレメントPE0 は、全てのレジスタ31PE0 〜31PE6 に格納されたデータの参照を行うことができる。他のプロセッサエレメントPE1 〜PE6 も同様にして、全てのレジスタ31PE0 〜31PE6 に格納されたデータの参照を行うことができる。
【0181】
同期処理において、プロセッサエレメントPE0 〜PE6 は、レジスタ31PE0 〜31PE6 に「1」データ(または「0」データ)を個別的にそれぞれ書き込む。その後、プロセッサエレメントPE0 〜PE6 は、一定時間間隔をおいてレジスタ群31(レジスタ31PE0 〜31PE6 )にポーリングをかけることで、保持されているデータを参照する。そして、プロセッサエレメントPE0 〜PE6 は、レジスタ群31に保持されているデータが全て「1」(または「0」)になったとき、同期がとられたことを認識する。クロスバスイッチ群32は、7×7配列の都合49個のクロスバスイッチS00〜S66を有しており、プロセッサエレメントPE0 〜PE6 のうち、任意の組み合わせのプロセッサエレメント間を相互接続する。このクロスバスイッチ群32の基本的な機能は、クロスバスイッチ群12(図3参照)と同様である。
【0182】
また、図18に示したプロセッサエレメントPE0 〜PE6 のそれぞれのメモリ(図示略)には、図4の場合と同様にして、マスタプログラムおよびスレーブプログラムからなる負荷試験プログラムがそれぞれ記憶されている。具体的には、プロセッサエレメントPE0 のメモリには、マスタプログラムおよびスレーブプログラムが記憶されており、プロセッサエレメントPE1 〜PE6 のそれぞれのメモリには、スレーブプログラムがそれぞれ記憶されている。
【0183】
つぎに、上述した実施の形態3の動作について図19、図20および図21に示したフローチャートを参照しつつ説明する。実施の形態3においては、実施の形態1と同様の測定処理(図6参照)に続いて、実施の形態2と同様の測定処理(図16参照)が行われた後に、さらに測定処理(図21参照)が行われる。そして、一連の測定処理が行われた後に、負荷試験が行われる。ここで、実施の形態3では、図19に示したように、他の伝送ルートに比して、伝送時間が長い伝送ルート(たとえば、プロセッサエレメントPE6 →プロセッサエレメントPE0 )に着目して、負荷試験が行われる。具体的には、図19に示した例では、プロセッサエレメントPE6 からプロセッサエレメントPE0 へパケットを送信している間に、他のプロセッサエレメント間でパケットの送信を行う。
【0184】
また、図20に示したステップSG1〜ステップSG16は、図18に示したプロセッサエレメントPE0 (マスタプログラム)により実行される処理である。ステップSG17〜ステップSG48、ステップSG1〜ステップSG5、ステップSG10、ステップSG12およびステップSG16は、図18に示したプロセッサエレメントPE0 〜PE6 (スレーブプログラム)により実行される処理である。
【0185】
図18に示したプロセッサエレメントPE0 においてマスタプログラムが起動されると、図20に示したステップSG1では、プロセッサエレメントPE0 〜PE6 は、前述した動作と同様にして同期処理を行った後、ステップSG2へ進む。ステップSG2では、プロセッサエレメントPE0 〜PE6 は、図16に示したフローチャートにしたがって、プロセッサエレメント−クロスバネットワーク装置間の往復路における伝送時間の測定処理を実行した後、ステップSG3へ進む。
【0186】
この測定処理においては、実施の形態2と同様にして、プロセッサエレメントPE0 〜PE6 のそれぞれに対応する時間差データが求められる。なお、実施の形態2においては、時間差データを求める範囲をプロセッサエレメントPE0 〜PE7 としたが、実施の形態3では、上記範囲をプロセッサエレメントPE0 〜PE6 として時間差データが求められる。ここで、求められた時間差データは、プロセッサエレメントPE0 〜PE6 のそれぞれのメモリに記憶される。
【0187】
ステップSG3では、プロセッサエレメントPE0 〜PE6 は、図6に示したフローチャートにしたがって、プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間の測定処理を実行した後、ステップSG4へ進む。この処理においては、実施の形態1と同様にして、前述した期待値データが作成される。ここで、実施の形態1においては、期待値データを求める範囲をプロセッサエレメントPE0 〜PE3 としたが、実施の形態3では、上記範囲をプロセッサエレメントPE0 〜PE6 として期待値データが作成される。ここで、作成された期待値データは、プロセッサエレメントPE0 (図18参照)のメモリ(図示略)に記憶される。
【0188】
ステップSG4では、プロセッサエレメントPE0 〜PE6 は、プロセッサエレメント−プロセッサエレメント間の往路(片道)における伝送時間の測定処理を図21に示したフローチャートにしたがって実行する。この測定処理においては、プロセッサエレメントPE0 〜プロセッサエレメントPE6 のうち1組のプロセッサエレメントが選択され、この1組のプロセッサエレメント(送信側)−プロセッサエレメント(受信側)間の往路(片道)におけるパケットの伝送時間の測定が行われる。
【0189】
図21において、ステップSH1〜ステップSH8は、図18に示したプロセッサエレメントPE0 (マスタプログラム)により実行される処理である。また、ステップSH1、ステップSH9〜ステップSH20およびステップSH8は、組をなす一方のプロセッサエレメント(送信側)により実行される処理である。さらに、ステップSH1、ステップSH21〜ステップSH27、ステップSH10、ステップSH13およびステップSH8は、組をなす他方のプロセッサエレメント(受信側)により実行される処理である。
【0190】
図21に示したステップSH1では、プロセッサエレメントPE0 〜PE6 は、前述した動作と同様にして、同期処理を実行した後、ステップSH2、ステップSH9およびステップSH21へそれぞれ進む。図21に示したステップSH2では、プロセッサエレメントPE0 (マスタプログラム)は、図18に示したプロセッサエレメントPE0 〜PE6 における、二つのプロセッサエレメントを1組とする組み合わせのなかから1組を選択することで、伝送時間の測定を行う組を決定する。
【0191】
この場合、図18に示したプロセッサエレメントPE6 (送信側)−プロセッサエレメントPE0 (受信側)からなる組が選択されたものとする。プロセッサエレメントPE0 (マスタプログラム)は、上記組をなす二つのプロセッサエレメント(この場合、プロセッサエレメントPE6 (送信側)およびプロセッサエレメントPE0 (受信側))へ測定開始を指示した後、ステップSH3へ進む。ステップSH3では、プロセッサエレメントPE0 (マスタプログラム)は、送信側のプロセッサエレメント(この場合、プロセッサエレメントPE6 )からの後述する伝送時間の集計結果を受信したか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0192】
そして、プロセッサエレメントPE0 (マスタプログラム)より測定開始が指示されると、ステップSH9では、プロセッサエレメントPE6 (送信側)は、判断結果を「Yes」としてステップSH10へ進む。この処理と並行して、ステップSH21では、プロセッサエレメントPE0 (受信側)は、判断結果を「Yes」としてステップSH10へ進む。ステップSH10では、プロセッサエレメントPE6 およびPE0 は、同期処理を行った後、ステップSH11およびステップSH22へそれぞれ進む。
【0193】
ステップSH11では、プロセッサエレメントPE6 (送信側)は、組をなすプロセッサエレメントPE0 (受信側)へ送信すべきパケットの送信時刻を記録した後、ステップSH12へ進む。ステップSH12では、プロセッサエレメントPE6 は、上記プロセッサエレメントPE0 宛のパケットを送信部(図示略)から送信した後、ステップSH13へ進む。そして、プロセッサエレメントPE0 宛のパケットは、図18に示したクロスバスイッチS06がオンされることにより、クロスバネットワーク装置30を介してプロセッサエレメントPE0 へ送信される。
【0194】
そして、プロセッサエレメントPE0 の受信部(図示略)により上記パケットが受信されると、ステップSH22では、プロセッサエレメントPE0 は、判断結果を「Yes」としてステップSH23へ進む。ステップSH23では、プロセッサエレメントPE0 (受信側)は、パケットの受信時刻を記録した後、ステップSH13へ進む。ステップSH13では、プロセッサエレメントPE6 、プロセッサエレメントPE0 は、同期処理を行った後、ステップSH14およびステップSH24へそれぞれ進む。ステップSH14では、プロセッサエレメントPE6 (送信側)は、プロセッサエレメントPE0 (受信側)からの受信時刻データを受信したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0195】
ステップSH24では、プロセッサエレメントPE0 (受信側)は、パケットの受信時刻を示す受信時刻データをプロセッサエレメントPE6 (送信側)へ送信した後、ステップSH25へ進む。ステップSH25では、プロセッサエレメントPE0 は、プロセッサエレメントPE6 から測定終了の通知を受けたか否かを判断し、この場合、判断結果を「No」として、ステップSH10に戻る。そして、上記受信時刻データを受信すると、プロセッサエレメントPE6 は、ステップSH14の判断結果を「Yes」として、ステップSH15へ進む。ステップSH15では、プロセッサエレメントPE0 宛のパケットの送信回数が規定回数n9 (たとえば、5回)に達したか否かを判断する。
【0196】
この場合、送信回数が1回であるため、プロセッサエレメントPE6 は、判断結果を「No」として、ステップSH10へ戻る。以後、ステップSH15の判断結果が「Yes」となるまで、プロセッサエレメントPE6 は、同一のプロセッサエレメントPE0 へパケットを送信する処理、受信時刻データを受信する処理を行い、プロセッサエレメントPE0 は、パケットを受信する処理、および受信時刻データを送信する処理を行う。ここで、プロセッサエレメントPE6 は、1回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。
【0197】
そして、プロセッサエレメントPE0 宛のパケットの送信回数が規定回数n9 (5回)に達すると、ステップSH15では、プロセッサエレメントPE6 は、判断結果を「Yes」としてステップSH16へ進む。この時点では、プロセッサエレメントPE6 からプロセッサエレメントPE0 までの往路(片道)に関する都合5回分の送信時刻および受信時刻に関するデータが記録されている。
【0198】
ステップSH16では、プロセッサエレメントPE6 は、プロセッサエレメントPE0 へ測定終了を通知した後、ステップSH17へ進む。これにより、ステップSH25では、プロセッサエレメントPE0 は、判断結果を「Yes」として、ステップSH26へ進む。ステップSH26では、プロセッサエレメントPE0 (受信側)は、プロセッサエレメントPE0 (マスタプログラム)から測定終了の指示があったか否かを判断し、この場合、判断結果を「No」として、ステップSH21へ戻る。
【0199】
また、ステップSH17では、プロセッサエレメントPE6 は、プロセッサエレメントPE6 −プロセッサエレメントPE0 間の往路(片道)におけるパケットの伝送時間を集計した後、集計結果をプロセッサエレメントPE0 (マスタプログラム)へ送信した後、ステップSH18へ進む。この場合、プロセッサエレメントPE6 は、上記往路について、受信時刻データ(ステップSH14)と、プロセッサエレメントPE0 宛のパケットの送信時刻(ステップSH11)との差を伝送時間として求める。
【0200】
そして、上記集計結果を受信すると、ステップSH3では、プロセッサエレメントPE0 (マスタプログラム)は、集計結果をメモリ(図示略)に記憶させた後、ステップSH4へ進む。ステップSH4では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE6 (送信側)から測定終了の通知を受けたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0201】
また、ステップSH18では、プロセッサエレメントPE6 は、プロセッサエレメントPE0 (マスタプログラム)へ測定終了を通知した後、ステップSH19へ進む。ステップSH19では、プロセッサエレメントPE6 は、プロセッサエレメントPE0 (マスタプログラム)より測定終了の指示があるか否かを判断し、この場合、判断結果を「No」としてステップSH9へ戻る。
【0202】
そして、プロセッサエレメントPE6 (送信側)より測定終了の指示を受けると、ステップSH4では、プロセッサエレメントPE0 (マスタプログラム)は、判断結果を「Yes」として、ステップSH5へ進む。ステップSH5では、プロセッサエレメントPE0 (マスタプログラム)は、図18に示したプロセッサエレメントPE0 〜PE6 における、二つのプロセッサエレメントを1組とする組み合わせの全てに関する測定が終了したか否かを判断する。この場合、プロセッサエレメントPE6 (送信側)−プロセッサエレメントPE0 (受信側)からなる組に関する測定しか終了していないため、プロセッサエレメントPE0 (マスタプログラム)は、ステップSH5の判断結果を「No」として、ステップSH2に戻る。以後、前述した動作と同様にして、他の組に関する伝送時間の測定が実行される。
【0203】
そして、全ての組に関する測定が終了すると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSH5の判断結果を「Yes」として、ステップSH6へ進む。ステップSH6では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)へ測定終了を指示した後、ステップSH7へ進む。これにより、ステップSH19およびステップSH26では、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)は、判断結果を「Yes」として、ステップSH20およびステップSH27へ進む。ステップSH20およびステップSH27では、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)は、プロセッサエレメントPE0 (マスタプログラム)からの時間差データを受信したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0204】
ステップSH7では、プロセッサエレメントPE0 (マスタプログラム)は、図18に示したプロセッサエレメントPE0 〜PE6 における組毎に、集計結果の平均値をとることにより、往路(片道)の測定結果(伝送時間)を求める。すなわち、この場合、複数の組に対応する複数の測定結果が求められる。つぎに、プロセッサエレメントPE0 (マスタプログラム)は、上記複数の測定結果間においてそれぞれ差をとり、この差を時間差データとして、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)へそれぞれ送信した後、ステップSH18へ進む。そして、上記時間差データを受信するとステップSH20およびステップSH27では、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)は、判断結果を「Yes」として、ステップSH18へ進む。ステップSH18では、プロセッサエレメントPE0 〜PE6 は、同期処理を行った後、図20に示したメインルーチンへ戻る。
【0205】
図20に示したステップSG5では、プロセッサエレメントPE0 〜PE6 は、同期処理を行う。この同期処理が終了すると、プロセッサエレメントPE0 (マスタプログラム)がステップSG6の処理を実行するとともに、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)はステップSG17、ステップSG31およびステップSG40の処理を実行する。ステップSG17、ステップSG31およびステップSG40では、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)は、プロセッサエレメントPE0 (マスタプログラム)から試験開始の指示があるか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0206】
ここで、ステップSG31およびステップSG40の処理は、組をなす基準プロセッサエレメント(送信側)および基準プロセッサエレメント(受信側)により実行され、ステップSG17の処理は、組をなす二つの基準プロセッサエレメント以外のプロセッサエレメントにより実行される。ここで、組をなす二つの基準プロセッサエレメントは、プロセッサエレメントPE0 〜PE6 のなかから選択される。
【0207】
ステップSG6では、プロセッサエレメントPE0 (マスタプログラム)は、伝送ルートを決定した後、ステップSG7へ進む。ここで、伝送ルートとは、ステップSG4の処理で説明したプロセッサエレメント−プロセッサエレメント間の往路(片道)をいう。また、伝送ルートを決定する基準は、当該伝送ルート(片道)における伝送時間が、この伝送ルートにおける1組のプロセッサエレメント以外の、プロセッサエレメント間における往復路の伝送時間より長いこと、である。伝送ルートの決定の際には、伝送ルート(片道)における伝送時間として、ステップSG4の測定結果が用いられ、プロセッサエレメント間の往復路の伝送時間として、ステップSG3の測定結果(往路における伝送時間)が用いられる。
【0208】
この場合、上記伝送ルートとして、図19に示したプロセッサエレメントPE6 −プロセッサエレメントPE0 間の往路(片道)が選択されたものとする。したがって、図19に示した例では、プロセッサエレメントPE6 −プロセッサエレメントPE0 間の往路(片道)における伝送時間は、他のプロセッサエレメント間の往復路における伝送時間より長い。この場合、他のプロセッサエレメントは、プロセッサエレメントPE1 〜PE5 である。
【0209】
ステップSG7では、プロセッサエレメントPE0 (マスタプログラム)は、上記伝送ルートにおける基準プロセッサエレメントへ試験開始を指示する。この場合、上記伝送ルートは、図19に示したプロセッサエレメントPE6 −プロセッサエレメントPE0 間の往路である。また、ここでいう基準プロセッサエレメントは、伝送ルートの送信側に位置するプロセッサエレメントPE6 、および受信側に位置するプロセッサエレメントPE0 を指す。したがって、この場合、ステップSG7では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE6 (送信側)およびプロセッサエレメントPE0 (受信側)へ試験開始を指示した後、ステップSH8へ進む。
【0210】
上記試験開始の指示を受けると、ステップSG31およびステップSG40では、プロセッサエレメントPE6 (送信側)およびプロセッサエレメントPE0 (受信側)は、判断結果を「Yes」として、ステップSG32へ進む。ステップSG32では、プロセッサエレメントPE6 (送信側)およびプロセッサエレメントPE0 (受信側)は、同期処理を行った後、ステップSG33およびステップSG41へそれぞれ進む。
【0211】
ステップSG33では、プロセッサエレメントPE6 (送信側)は、組をなすプロセッサエレメントPE00 (受信側)へ送信すべきパケットの送信時刻を記録した後、ステップSG34へ進む。ステップSG34では、プロセッサエレメントPE6 は、上記プロセッサエレメントPE0 宛のパケットを送信部(図示略)から送信した後、ステップSG35へ進む。そして、プロセッサエレメントPE0 宛のパケットは、図18に示したクロスバスイッチS06がオンされることにより、クロスバネットワーク装置30を介してプロセッサエレメントPE0 へ送信される。また、ステップSG41では、プロセッサエレメントPE0 (受信側)は、プロセッサエレメントPE6 からのパケットを受信したか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0212】
また、ステップSG8では、プロセッサエレメントPE0 (マスタプログラム)は、組み合わせテーブルを参照することで、基準プロセッサエレメント(この場合、プロセッサエレメントPE6 およびPE0 )を除く、複数のプロセッサエレメント(この場合、プロセッサエレメントPE1 〜PE5 )における組を決定する。上記組み合わせテーブルは、前述した図10に示した組み合わせテーブルと同種であるが、組み合わせの範囲がプロセッサエレメントPE0 〜PE6 とされている。この場合、プロセッサエレメントPE0 (マスタプログラム)は、組み合わせテーブルの中から、たとえば、図19に示した組み合わせを選択する。この場合の組み合わせは、つぎの(1l)項〜(5l)項のようになる。
【0213】
Figure 0003828321
【0214】
つぎに、ステップSG8では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE1 〜PE5 (スレーブプログラム)へ、上述した(1l)項〜(5l)項の組み合わせ(図19参照)、および試験開始を通知した後、ステップSG9へ進む。これにより、プロセッサエレメントPE1 〜PE5 (スレーブプログラム)は、負荷試験における組み合わせを認識した後、ステップSG17の判断結果を「Yes」として、ステップSG18へ進む。ステップSG18では、プロセッサエレメントPE1 〜PE5 (スレーブプログラム)は、プロセッサエレメントPE0 (マスタプログラム)からの期待値データ(伝送時間の期待値)を受信したか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0215】
ステップSG9では、プロセッサエレメントPE0 (マスタプログラム)は、(1l)項〜(5l)項の組み合わせに応じた期待値データをプロセッサエレメントPE1 〜PE5 (スレーブプログラム)毎にメモリ(図示略)からそれぞれ読み出す。そして、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE1 〜PE5 (スレーブプログラム)へ期待値データをそれぞれ送信した後、ステップSG10へ進む。そして、期待値データをそれぞれ受信すると、ステップSG18では、プロセッサエレメントPE1 〜PE5 (スレーブプログラム)は、判断結果を「Yes」としてステップSG10へ進む。
【0216】
ステップSG10では、プロセッサエレメントPE0 (マスタプログラム)、プロセッサエレメントPE1 〜PE5 (スレーブプログラム)は、同期処理を行う。この同期処理において同期がとられると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSG11へ進む。ステップSG11では、プロセッサエレメントPE0 (マスタプログラム)は、全てのプロセッサエレメントPE0 〜PE6 (スレーブプログラム)から試験終了の通知を受けたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0217】
また、ステップSG10の同期処理により同期がとられると、プロセッサエレメントPE1 〜PE5 (スレーブプログラム)は、タイマ(図示略)による計時を開始した後、ステップSG19へ進む。ステップSG19では、プロセッサエレメントPE1 〜PE5 (スレーブプログラム)は、ステップSF10(図17参照)と同様にして、それぞれのタイマの時間(計時結果)が、ステップSG2で得られた時間差データ以上であるか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。すなわち、プロセッサエレメントPE1 〜PE5 は、実施の形態2と同様にして、時間差データに相当する時間分、待機する。そして、タイマの時間(計時結果)が時間差データ以上になると、プロセッサエレメントPE1 〜PE5 は、判断結果を「Yes」として、ステップSG20へ進む。
【0218】
ステップSG20では、プロセッサエレメントPE1 〜PE5 は、ステップSF11(図17参照)と同様にして、<送信先>のプロセッサエレメントPE1 〜PE5 へのパケットの送信時刻をそれぞれ記録した後、ステップSF21へ進む。ステップSF21では、プロセッサエレメントPE1 〜PE5 は、<送信先>のプロセッサエレメントPE1 〜PE5 宛のパケットをそれぞれ送信する。ここで、それぞれのパケットの送信時刻は、前述した実施の形態2の場合と同様にして異なる。また、それぞれのパケットは、図18に示したプロセッサエレメントPE6 からプロセッサエレメントPE0 へパケットが送信されている最中、言い換えれば、クロスバネットワーク装置30におけるクロスバスイッチS06がオンになっているときに送信される。
【0219】
そして、ステップSG21においてプロセッサエレメントPE1 〜PE5 から異なる送信時刻で送信されたそれぞれのパケットは、同一時刻で図18に示したクロスバネットワーク装置30に到達する。これにより、クロスバネットワーク装置30のクロスバスイッチ群32では、クロスバスイッチS51、S15、S42、S24、S33が同一時刻でそれぞれオンにされる。すなわち、この場合、クロスバネットワーク装置30は、最高負荷の状態にある。そして、それぞれのパケットは、<送信先>のプロセッサエレメントPE1 〜PE5 へ送信される。
【0220】
ステップSG22では、<送信元>のプロセッサエレメントPE1 〜PE5 は、組をなす<送信先>のプロセッサエレメントPE1 〜PE5 からの返答用のパケットを受信したか否かをそれぞれ判断し、返答用のパケットを受信するまで同判断をそれぞれ繰り返す。そして、<送信先>のプロセッサエレメントPE1 〜PE5 は、<送信元>のプロセッサエレメントPE1 〜PE5 からのパケットを受信すると、割り込みを発生させステップSG30の処理を実行する。すなわち、ステップSG30では、<送信先>のプロセッサエレメントPE1 〜PE5 は、組をなす<送信元>のプロセッサエレメントPE1 〜PE5 へ返答用のパケットをそれぞれ送信する。これら返答用のパケットは、図18に示したクロスバネットワーク装置30を経由して、<送信元>のプロセッサエレメントPE1 〜PE5 へそれぞれ送信される。
【0221】
そして、<送信元>のプロセッサエレメントPE1 〜PE5 は、<送信先>のプロセッサエレメントPE1 〜PE5 からの返答用のパケットをそれぞれ受信すると、ステップSG22の判断結果を「Yes」として、ステップSG23へそれぞれ進む。ここで、<送信元>のプロセッサエレメントPE1 〜PE5 が返答用のパケットを全て受信し終えるまで、プロセッサエレメントPE0 (受信側)は、プロセッサエレメントPE6 (送信側)からのパケットを受信し終えない。これは、ステップSG6において前述した基準により伝送ルートが決定されているからである。
【0222】
ステップSG23では、<送信元>のプロセッサエレメントPE1 〜PE5 は、返答用のパケットの受信時刻をそれぞれ記録した後、ステップSG24へ進む。ステップSG24では、<送信元>のプロセッサエレメントPE1 〜PE5 は、組をなす<送信先>のプロセッサエレメントPE1 〜PE5 宛のパケットの送信回数が規定回数n7 (たとえば、5回)に達したか否かを判断する。この場合、送信回数が1回であるため、<送信元>のプロセッサエレメントPE1 〜PE5 は、判断結果を「No」として、ステップSG19へ戻る。
【0223】
以後、<送信元>のプロセッサエレメントPE1 〜PE5 は、ステップSG24の判断結果が「Yes」となるまで、同一の<送信先>のプロセッサエレメントPE1 〜PE5 へパケットを送信する処理、送信時刻の記録、および返答用パケットの受信時刻の記録を行う(ステップSG19〜ステップSG23)。この場合、<送信元>のプロセッサエレメントPE1 〜PE5 は、伝送時間の誤差を少なくするために、1回の送信毎にパケットのデータ長を可変させながら送信する処理を行う。そして、<送信先>のプロセッサエレメントPE1 〜PE5 宛のパケットの送信回数が規定回数n7 (5回)に達すると、ステップSG24では、<送信元>のプロセッサエレメントPE0 〜PE6 は、判断結果を「Yes」として、ステップSG25へ進む。
【0224】
また、プロセッサエレメントPE6 (送信側)からのパケットを受信すると、プロセッサエレメントPE0 (受信側)は、ステップSG41の判断結果を「Yes」とし、ステップSG42へ進む。ここで、ステップSG41の判断結果が「Yes」となった時点では、<送信元>のプロセッサエレメントPE1 〜PE5 は、返答用パケットを受信し終えている。ステップSG42では、プロセッサエレメントPE0 (受信側)は、パケットの受信時刻を記録した後、ステップSG35へ進む。
【0225】
ステップSG35では、プロセッサエレメントPE6 (送信側)およびプロセッサエレメントPE0 (受信側)は、同期処理を行った後、ステップSG36およびステップSG43へ進む。ステップSG36では、プロセッサエレメントPE6 (送信側)は、プロセッサエレメントPE0 宛のパケットの送信時刻に関する送信時刻データをプロセッサエレメントPE0 へ送信した後、ステップSG37へ進む。そして、上記送信時刻データを受信すると、プロセッサエレメントPE0 は、ステップSG43の判断結果を「Yes」として、ステップSG44へ進む。
【0226】
ステップSG37では、プロセッサエレメントPE6 は、プロセッサエレメントPE0 から受信終了の通知を受けたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。また、ステップSG44では、まず、プロセッサエレメントPE0 は、プロセッサエレメントPE6 からのパケットの受信時刻(ステップSG42参照)と、上記パケットに関する送信時刻データ(ステップSG43参照)との差を、プロセッサエレメントPE6 −プロセッサエレメントPE0 間の往路(片道)の伝送時間として求める。
【0227】
つぎに、プロセッサエレメントPE0 は、ステップSD15(図11参照)と同様にして、上記伝送時間と、ステップSG4(図21参照)で求められた往路における伝送時間とを比較することで、性能評価を行う。つぎに、プロセッサエレメントPE0 は、性能評価結果に基づいて、エラーの有無を判断する。ここで、エラーが発生している場合、ステップSG44では、プロセッサエレメントPE0 は、判断結果を「Yes」として、ステップSG45へ進み、ステップSD16(図11参照)と同様にして、エラー処理を行った後、ステップSG46へ進む。一方、エラーの発生がない場合、プロセッサエレメントPE0 は、ステップSG44の判断結果を「No」として、ステップSG46へ進む。
【0228】
ステップSG46では、プロセッサエレメントPE0 は、受信終了をプロセッサエレメントPE6 へ通知した後、ステップSG47へ進む。ステップSG47では、プロセッサエレメントPE0 (スレーブプログラム)は、試験終了をプロセッサエレメントPE0 (マスタプログラム)へ通知した後、ステップSG12へ進む。また、プロセッサエレメントPE0 から受信終了が通知されると、ステップSG37では、プロセッサエレメントPE6 は、判断結果を「Yes」として、ステップSG38へ進む。ステップSG38では、プロセッサエレメントPE6 は、プロセッサエレメントPE0 (マスタプログラム)へ試験終了を通知した後、ステップSG12へ進む。
【0229】
一方、ステップSG25では、プロセッサエレメントPE1 〜PE5 は、ステップSD15(図11参照)と同様の手法により、エラーの有無を判断する。ここで、エラーが発生している場合、ステップSG25では、プロセッサエレメントPE1 〜PE5 は、判断結果を「Yes」として、ステップSG26へ進み、ステップSD16(図11参照)と同様にして、エラー処理を行った後、ステップSG27へ進む。一方、エラーの発生がない場合、プロセッサエレメントPE1 〜PE5 は、ステップSG25の判断結果を「No」として、ステップSG27へ進む。ステップSG27では、プロセッサエレメントPE1 〜PE5 は、プロセッサエレメントPE0 (マスタプログラム)へ試験終了を通知した後、ステップSG12へ進む。
【0230】
そして、全てのプロセッサエレメントPE0 〜PE6 (スレーブプログラム)から試験終了の通知を受けると、ステップSG11では、プロセッサエレメントPE0 (マスタプログラム)は、判断結果を「Yes」として、ステップSG12へ進む。ステップSG12では、プロセッサエレメントPE0 〜PE6 は、同期処理を行う。この同期処理が終了すると、プロセッサエレメントPE0 (マスタプログラム)は、ステップSG13へ進み、当該伝送ルート(この場合、プロセッサエレメントPE6 −プロセッサエレメントPE0 間:図18参照)に関する試験回数が規定回数n8 に達したか否かを判断し、この判断結果が「No」である場合、ステップSG8に戻り、上述した工程を繰り返す。
【0231】
また、同期処理が終了すると、プロセッサエレメントPE1 〜PE5 (スレーブプログラム)は、ステップSG28へ進み、当該伝送ルートに関する試験回数が規定回数n8 に達したか否かを判断し、この判断結果が「No」である場合、ステップSG17に戻り、上述した工程を繰り返す。さらに、同期処理が終了すると、プロセッサエレメントPE6 (送信側)は、ステップSG39へ進み、当該伝送ルートに関する試験回数が規定回数n8 に達したか否かを判断し、この判断結果が「No」である場合、ステップSG32に戻り、上述した工程を繰り返す。同様にして、同期処理が終了すると、プロセッサエレメントPE0 (受信側)は、ステップSG48へ進み、当該伝送ルートに関する試験回数が規定回数n8 に達したか否かを判断し、この判断結果が「No」である場合、ステップSG32に戻り、上述した工程を繰り返す。
【0232】
そして、当該伝送ルートに関する試験回数が規定回数n8 に達すると、ステップSG13、ステップSG28、ステップSG39およびステップSG48のそれぞれの判断結果が「Yes」となる。これにより、ステップSG14では、プロセッサエレメントPE0 (マスタプログラム)は、ステップSG6で説明した伝送ルートを決定する条件を満たす全ての伝送ルートに関する試験が終了したか否かを判断し、判断結果が「No」である場合、ステップSG6へ戻る。
【0233】
以後、ステップSG6以降においては、別の伝送ルートに関する試験が行われる。また、ステップSG29では、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)は、プロセッサエレメントPE0 (マスタプログラム)から試験終了の指示を受けたか否かを判断し、この判断結果が「No」である場合、ステップSG17、ステップSG31およびステップSG40へ戻り、別の伝送ルートに関する試験を行う。
【0234】
そして、全ての伝送ルートに関する試験が終了すると、ステップSG14では、プロセッサエレメントPE0 (マスタプログラム)は、判断結果を「Yes」として、ステップSG15へ進む。ステップSG15では、プロセッサエレメントPE0 (マスタプログラム)は、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)へ試験終了を指示した後、ステップSG16へ進む。そして、上記試験終了の指示を受けると、プロセッサエレメントPE0 〜PE6 (スレーブプログラム)は、ステップSG29の判断結果を「Yes」として、ステップSG16へ進む。ステップSG16では、プロセッサエレメントPE0 〜PE6 は、同期処理を行った後、一連の負荷試験を終了する。
【0235】
以上説明したように、実施の形態3によれば、他の組に比べて伝送時間が長い特定の組(たとえば、図19に示したプロセッサエレメントPE0 −プロセッサエレメントPE6 )でパケットの送信を行っている最中に他の組でパケットの送信、性能評価を行うようにしたので、特定の組におけるパケットの送信が、他の組におけるパケットの送信に及ぼす影響を知ることができる。
【0236】
(実施の形態4)
図22は、本発明にかかる実施の形態4の構成を示すブロック図である。この図に示した並列プロセッサ装置の基本的な構成は、図1に示したものと同様である。ただし、図22に示した並列プロセッサ装置においては、図1に示した並列プロセッサ装置に比して1台多い、5台のプロセッサエレメントPEA 〜PEE が設けられている。また、プロセッサエレメントの台数の増加にともなって、クロスバネットワーク装置50の構成も、クロスバネットワーク装置10(図1参照)とは若干異なる。また、実施の形態4は、障害診断、異常箇所の特定を行う障害診断装置に関するものである。
【0237】
図22において、プロセッサエレメントPEA 〜PEE は、並列アルゴリズムにしたがって、並列的に演算をそれぞれ実行する演算要素であり、CPU、メモリ等をそれぞれ有している。これらプロセッサエレメントPEA 〜PEE の基本的な構成は、前述したプロセッサエレメントPE0 (図1参照)と同じである。すなわち、プロセッサエレメントPEA は、装置各部を制御するCPU40A と、障害診断プログラム、演算プログラム、演算データ等を記憶するメモリ41A と、CPU40A の制御により演算データ等をパケットとして送信する送信部42A と、パケットを受信する受信部43A とを有している。上記障害診断プログラムは、並列プロセッサ装置の障害診断を行うためのプログラムであり、この障害診断プログラムの詳細については、後述する。
【0238】
他のプロセッサエレメントPEB 〜PEE も、プロセッサエレメントPEA と同様の構成とされている。すなわち、プロセッサエレメントPEB は、障害診断制御等を行うCPU40B と、障害診断プログラム等を記憶するメモリ41B と、パケットを送信する送信部42B と、パケットを受信する受信部43B とを有している。同様にして、プロセッサエレメントPEC は、CPU40C 、メモリ41C 、送信部42C および受信部43C を有しており、プロセッサエレメントPED は、CPU40D 、メモリ41D 、送信部42D および受信部43D を有している。また、プロセッサエレメントPEE は、CPU40E 、メモリ41E 、送信部42E および受信部43E を有している。
【0239】
クロスバネットワーク装置50は、プロセッサエレメントPEA 〜プロセッサエレメントPEE 間を相互接続する装置であり、レジスタ群11(図1参照)と同様にして、同期処理に用いられるレジスタ群51と、N×N(同図では5×5)スイッチ構成のクロスバスイッチ群52とを有している。このクロスバネットワーク装置50においては、入線側(送信路LS 側)がプロセッサエレメントPEA 〜PEE の送信部42A 〜42E に接続されており、出線側(受信路LR 側)がプロセッサエレメントPEA 〜PEE の受信部43A 〜43E に接続されている。
【0240】
レジスタ群51は、レジスタ51A 〜51E から構成されており、プロセッサエレメントPEA 〜プロセッサエレメントPEE の同期をとるために用いられる。これらレジスタ51A 〜51E は、プロセッサエレメントPEA 〜PEE にそれぞれ対応して設けられている。レジスタ51A は、プロセッサエレメントPEA からのアクセスにより、「1」データまたは「0」データを格納する。なお、プロセッサエレメントPEA は、レジスタ51A のみに「1」データまたは「0」データの格納を行うことができるが、他のレジスタ51B 〜51E に対して、データの格納を行うことができない。同様にして、レジスタ51B 〜51E は、プロセッサエレメントPEB 〜PEE からのアクセスにより「1」データまたは「0」データをそれぞれ格納する。
【0241】
また、レジスタ群51(レジスタ51A 〜51E )は、全てのプロセッサエレメントPEA 〜PEE により、格納されたデータが共通で参照されるようになっている。すなわち、プロセッサエレメントPEA は、全てのレジスタ51A 〜51E に格納されたデータの参照を行うことができる。他のプロセッサエレメントPEB 〜PEE も同様にして、全てのレジスタ51A 〜51E に格納されたデータの参照を行うことができる。同期処理において、プロセッサエレメントPEA 〜PEE は、レジスタ51A 〜51E に「1」データ(または「0」データ)を個別的にそれぞれ書き込む。
【0242】
その後、プロセッサエレメントPEA 〜PEE は、一定時間間隔をおいてレジスタ群51(レジスタ51A 〜51E )にポーリングをかけることで、保持されているデータを参照する。そして、プロセッサエレメントPEA 〜PEE は、レジスタ群51に保持されているデータが全て「1」(または「0」)になったとき、同期がとられたことを認識する。
【0243】
クロスバスイッチ群52は、5×5配列のクロスバスイッチS1 〜S25という都合25個のクロスバスイッチを有しており、プロセッサエレメントPEA 〜PEE のうち、任意の組み合わせのプロセッサエレメント間を相互接続する。サービスプロセッサ60は、プロセッサエレメントPEA 〜PEE にそれぞれ接続されており、クロスバスイッチ群52と同様の機能を備えている。すなわち、サービスプロセッサ60は、プロセッサエレメントPEA 〜PEE のうち、任意の組み合わせのものを接続する。
【0244】
また、図22に示したプロセッサエレメントPEA 〜PEE のそれぞれのメモリ41A 〜41E には、図4の場合と同様にして、マスタプログラムおよびスレーブプログラムからなる障害診断プログラムがそれぞれ記憶されている。具体的には、プロセッサエレメントPEA のメモリ41A には、マスタプログラムおよびスレーブプログラムが記憶されており、プロセッサエレメントPEB 〜PEE のメモリ41B 〜41E には、スレーブプログラムがそれぞれ記憶されている。
【0245】
図23(a)および(b)は、プロセッサエレメントPEA 〜PEE の送信部42A 〜42E からそれぞれ送信されるパケットのデータ構造を示す図である。図23(a)に示したようにパケットは、宛先等に関するヘッダと、パケット本体(データ)とから構成されている。上記ヘッダは、図23(b)に示したように、送信先PE番号、送信元データアドレス、送信先データアドレス、データサイズ、およびパケットIDから構成されている。上記送信先PE番号は、プロセッサエレメントPEA 〜PEE のうち、送信先のプロセッサエレメントを特定するための番号である。
【0246】
したがって、プロセッサエレメントPEA 〜PEE には、固有の番号(たとえば、0〜4)がそれぞれ付与されている。送信元データアドレスは、送信元のプロセッサエレメントにおいて、パケットが格納されているメモリのアドレスである。送信先データアドレスは、送信先のプロセッサエレメントにおいて、パケットが格納されるメモリのアドレスである。データサイズは、パケット本体(データ)のサイズである。パケットID(図25参照)は、複数のパケットにおいて当該パケット、言い換えれば、<送信元>のプロセッサエレメントと<送信先>のプロセッサエレメントとからなる組を識別するための識別子である。このパケットIDの詳細については、後述する。
【0247】
また、図24に示したように、プロセッサエレメントPEA 〜PEE においては、送信すべき複数のパケットが送信順にキュー構造をなすように、メモリ41A 〜41E にそれぞれ書き込まれる。この場合、新たなパケットがキューに追加されると、書き込みポインタWがパケット一つ分移動し、読み出されたパケットの送信が行われると、読み込みポインタRが書き込みポインタWと逆方向にパケット一つ分移動する。そして、書き込みポインタWと読み込みポインタRとが一致した時点で、全てのパケットの送信が終了する。
【0248】
つぎに、上述した実施の形態4の動作について説明する。以下においては、図26に示したクロスバスイッチ群52におけるクロスバスイッチS13とS14との間に異常箇所Tがある場合を例にとって、障害診断、異常箇所の特定について説明する。
【0249】
はじめに、図27に示したフローチャートを参照しつつ、障害診断を行うための試験について説明する。図27において、ステップSI1では、プロセッサエレメントPEA (マスタプログラム)は、図25に示した試験情報を生成した後、ステップSI2へ進む。ここで、図25に示した試験情報は、前述したパケットID(図23(b)参照)、送信元プロセッサエレメント、送信先プロセッサエレメント、およびパケット本体という項目からなる25種類の情報からなり、プロセッサエレメントPEA 〜PEE における組み合わせに対応するパケット情報である。なお、図25において「A」〜「E」は、プロセッサエレメントPEA 〜PEE をそれぞれ表す。
【0250】
たとえば、パケットID(=0)のパケットは、<送信元>のプロセッサエレメントPEA から<送信先>のプロセッサエレメントPEA へ送信すべきパケット本体(=0)を有している。したがって、パケットID(=0)により、<送信元>のプロセッサエレメントPEA および<送信先>のプロセッサエレメントPEA からなる組が一意に特定される。同様にして、パケットID(=1)のパケットは、<送信元>のプロセッサエレメントPEA から<送信先>のプロセッサエレメントPEB へ送信すべきパケット本体(=1)を有している。したがって、パケットID(=1)により、<送信元>のプロセッサエレメントPEA および<送信先>のプロセッサエレメントPEB からなる組が一意に特定される。
【0251】
また、ステップSI26では、プロセッサエレメントPEB 〜PEE (スレーブプログラム)は、プロセッサエレメントPEA (マスタプログラム)からの図25に示した試験情報(パケットを含む)を受信したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0252】
ステップSI2では、プロセッサエレメントPEA (マスタプログラム)は、図25に示した試験情報にしたがって、都合25個のパケット(図23(a)および(b)参照)を生成した後、ステップSI3へ進む。たとえば、パケットID(=0)に関するパケットにおいて、図23(b)に示した送信先PE番号は<送信先>のプロセッサエレメントPEA に付与された番号であり、パケットIDは0(図25参照)である。また、図23(a)に示したパケット本体は、パケット本体0(図25参照)である。
【0253】
ステップSI3では、プロセッサエレメントPEA (マスタプログラム)は、図25に示した試験情報(パケットを含む)を図22に示したサービスプロセッサ60経由でプロセッサエレメントPEB 〜PEE (スレーブプログラム)へ送信するか否かを判断する。なお、上記試験情報およびパケットは、プロセッサエレメントPEA で保持されているため、このプロセッサエレメントPEA に送信されない。
【0254】
ここで、ステップSI3の判断結果が「Yes」である場合、プロセッサエレメントPEA (マスタプログラム)は、ステップSI5へ進む。ステップSI5では、プロセッサエレメントPEA (マスタプログラム)は、試験情報(パケットを含む)をサービスプロセッサ60経由でプロセッサエレメントPEB 〜PEE (スレーブプログラム)へ送信した後、ステップSI6へ進む。
【0255】
また、ステップSI3の判断結果が「No」である場合、プロセッサエレメントPEA (マスタプログラム)は、ステップSI4へ進む。ステップSI4では、プロセッサエレメントPEA (マスタプログラム)は、試験情報(パケットを含む)をクロスバネットワーク装置50経由でプロセッサエレメントPEB 〜PEE (スレーブプログラム)へ送信した後、ステップSI6へ進む。ここで、サービスプロセッサ60を経由して試験情報(パケットを含む)を送信する理由は、クロスバネットワーク装置50に何らかの障害があることにより、試験情報(パケットを含む)が送信先へ到着しないといった不具合を回避するためである。なお、実施の形態4においては、プロセッサエレメントPEB 〜PEE (スレーブプログラム)へ試験情報のみを送信しておき、プロセッサエレメントPEB 〜PEE においてパケットを生成するようにしてもよい。
【0256】
そして、プロセッサエレメントPEA (マスタプログラム)からの試験情報(パケットを含む)を受信すると、プロセッサエレメントPEB 〜PEE は、ステップSI26の判断結果を「Yes」として、ステップSI6へ進む。ステップSI6では、プロセッサエレメントPEA 〜PEE は、同期処理を行う。そして、同期処理が終了すると、プロセッサエレメントPEA は、それぞれのタイマ(図示略)の計時を開始した後、ステップSI7へ進み、プロセッサエレメントPEB 〜PEE は、ステップSI27へそれぞれ進む。ステップSI7では、プロセッサエレメントPEA は、図25に示したパケットID0のパケットを<送信先>のプロセッサエレメントPEA へ送信した後、ステップSI8へ進み、送信時に異常を検知したか否かを判断し、同判断結果が「No」である場合、ステップSI9へ進む。
【0257】
ここで、ステップSI8の判断結果が「Yes」である場合、プロセッサエレメントPEA は、ステップSI20へ進み、マスタ側割り込み処理を実行する。このマスタ側割り込み処理において、ステップSI21では、プロセッサエレメントPEA は、異常検知の通知があるか否かを監視した後、ステップSI22へ進む。ステップSI22では、プロセッサエレメントPEA は、後述する異常情報/報告を受信した後、メインルーチンへ戻る。
【0258】
ステップSI9では、プロセッサエレメントPEA は、図25に示したパケットID0〜4に対応する全てのパケットを送信したか否かを判断し、この場合、判断結果を「No」として、ステップSI7へ戻る。以後、プロセッサエレメントPEA は、図25に示した残りのパケットID1〜4に対応するパケットを順次送信する。そして、ステップSI9の判断結果が「Yes」になると、プロセッサエレメントPEA は、ステップSI10へ進む。ステップSI10では、プロセッサエレメントPEA は、<送信先>のプロセッサエレメントからのパケットを受信したか否かを判断し、判断結果が「No」である場合、同判断を繰り返す。
【0259】
また、ステップSI27では、プロセッサエレメントPEB 、PEC 、PED およびPEE は、ステップSI7と同様にして、図25に示したパケットID5、パケットID10、パケットID15、およびパケットID20のそれぞれのパケットを、<送信先>のプロセッサエレメントPEA へ送信した後、ステップSI28へ進む。ステップSI28では、プロセッサエレメントPEB 、PEC 、PED およびPEE は、送信時に異常を検知したか否かを判断し、同判断結果が「No」である場合、ステップSI29へ進む。
【0260】
ここで、ステップSI28の判断結果が「Yes」である場合、スレーブ側割り込み処理を発生させる。すなわち、ステップSI36では、異常情報を取得した後、メインルーチンへ戻る。そして、プロセッサエレメントPEB 、PEC 、PED およびPEE は、プロセッサエレメントPEA (マスタプログラム)へ異常の検知を通知する。これにより、プロセッサエレメントPEA (マスタプログラム)は、上述したステップSI20の割り込み処理を行う。
【0261】
ステップSI29では、プロセッサエレメントPEB 、PEC 、PED およびPEE は、図25に示したパケットID5〜9、パケットID10〜14、パケットID15〜19、およびパケットID20〜24にそれぞれ対応する全てのパケットを送信したか否かを判断し、この場合、判断結果を「No」として、ステップSI27へ戻る。
【0262】
以後、プロセッサエレメントPEB 、PEC 、PED およびPEE は、図25に示した残りのパケットID6〜9、パケットID11〜14、パケットID16〜19、およびパケットID21〜24にそれぞれ対応するパケットを順次送信する。そして、ステップSI29の判断結果が「Yes」になると、プロセッサエレメントPEB 〜PEE は、ステップSI30へ進む。ステップSI30では、プロセッサエレメントPEB 〜PEE は、<送信先>のプロセッサエレメントからのパケットを受信したか否かを判断し、判断結果が「No」である場合、同判断を繰り返す。
【0263】
また、図25に示したパケットID0〜24に対応する25個のパケットは、クロスバネットワーク装置50を経由して、<送信先>のプロセッサエレメントPEA 〜PEE へそれぞれ送信される。そして、プロセッサエレメントPEA によりパケットが受信されると、プロセッサエレメントPEA は、ステップSI10の判断結果を「Yes」として、ステップSI11へ進む。ステップSI11では、プロセッサエレメントPEA は、受信したパケットをチェックした後、ステップSI12へ進む。
【0264】
ステップSI12では、プロセッサエレメントPEA は、タイマの時間(時計)が監視時間を越えたか否かを判断し、この判断結果が「Yes」の場合、ステップSI15へ進む。この監視時間は、パケットの受信の有無を監視する時間である。この場合、タイマの時間が監視時間を超えていないものとすると、プロセッサエレメントPEA は、判断結果を「No」として、ステップSI13へ進む。ステップSI13では、プロセッサエレメントPEA は、ステップSI11のチェック結果に基づいて、受信したパケットが、本来受信すべきパケットであるか否かを判断する。
【0265】
具体的には、プロセッサエレメントPEA は、受信したパケットの送信先PE番号(図23(b)参照)を確認することで、受信したパケットが自局宛のパケットであるか否かを判断する。この判断結果が「No」である場合、プロセッサエレメントPEA は、当該パケットが誤送されたものと認識し、ステップSI16へ進む。このようなパケットの誤送が発生する要因としては、<送信元>のプロセッサエレメントの故障により図23(b)に示す送信先PE番号が別の番号に置き換わる等の要因が考えられる。
【0266】
ステップSI16では、プロセッサエレメントPEA は、受信したパケットのパケットID(図23(b)参照)をキーとして、当該パケットの本来の宛先(送信先)を試験情報(図25参照)から検索した後、ステップSI17へ進む。ステップSI17では、プロセッサエレメントPEA は、受信したパケットの送信先PE番号(図23(b)参照)を、上記検索した正しい送信先PE番号に書き換える。そして、プロセッサエレメントPEA は、当該パケットを本来の宛先へ代行送信した後、ステップSI18へ進む。これにより、当該パケットは、本来の送信先のプロセッサエレメントに受信される。ステップSI18では、プロセッサエレメントPEA (スレーブプログラム)は、代行送信した旨をプロセッサエレメントPEA (マスタプログラム)に報告した後、ステップSI14へ進む。
【0267】
これにより、プロセッサエレメントPEA (マスタプログラム)は、ステップSI20のマスタ割り込み処理を実行する。すなわち、ステップSI21では、プロセッサエレメントPEA (マスタプログラム)は、プロセッサエレメントPEA 〜PEE (スレーブプログラム)からの通知があるか否かを監視した後、ステップSI22へ進む。ステップSI22では、プロセッサエレメントPEA (マスタプログラム)は、上記代行受信した旨の報告を受信した後、メインルーチンへ戻る。
【0268】
一方、ステップSI13の判断結果が「Yes」である場合、すなわち、正常にパケットを受信した場合、プロセッサエレメントPEA は、ステップSI14へ進む。ステップSI14では、プロセッサエレメントPEA は、<送信先>のプロセッサエレメントから送信された全てのパケットを受信したか否かを試験情報(図25)を参照することで判断し、この場合、判断結果を「No」としてステップSI10へ戻る。以後、プロセッサエレメントPEA は、パケットの受信、チェック等の処理を実行する。
【0269】
一方、パケットを受信すると、プロセッサエレメントPEB 〜PEE は、SI31へ進む。以後、ステップSI30〜ステップSI34、およびステップSI37〜ステップSI39では、前述したステップSI10〜ステップSI14、およびステップSI16〜ステップSI18までの処理と同様の処理が、プロセッサエレメントPEB 〜PEE によりそれぞれ実行される。
【0270】
そして、ステップSI12の判断結果、またはステップSI14の判断結果が「Yes」になると、プロセッサエレメントPEA は、ステップSI15へ進む。ステップSI15では、プロセッサエレメントPEA は、試験結果をまとめた後、ステップSI19へ進む。また、ステップSI32の判断結果、またはステップSI34の判断結果が「Yes」になると、プロセッサエレメントPEB 〜PEE は、ステップSI35へ進む。ステップSI35では、プロセッサエレメントPEB 〜PEE は、試験結果をまとめた後、ステップSI19へ進む。ステップSI19では、プロセッサエレメントPEA 〜PEE は、同期処理を行う。
【0271】
そして、上記同期処理が終了すると、プロセッサエレメントPEA は、ステップSI23へ進み、プロセッサエレメントPEA は、プロセッサエレメントPEB 〜PEE から試験結果を受信したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。また、同期処理が終了すると、プロセッサエレメントPEB 〜PEE は、ステップSI40へ進み、クロスバネットワーク装置50(またはサービスプロセッサ60)経由で、試験結果をプロセッサエレメントPEA へ送信した後、一連の処理を終了する。そして、試験結果を受信すると、プロセッサエレメントPEA は、ステップSI23の判断結果を「Yes」として、ステップSI24へ進む。
【0272】
ステップSI24では、プロセッサエレメントPEA は、全ての試験結果を受信したか否かを判断し、この判断結果が「No」である場合、ステップSI23へ戻る。そして、全ての試験結果を受信すると、プロセッサエレメントPEA は、ステップSI24の判断結果を「Yes」として、ステップSI25へ進む。ステップSI25では、プロセッサエレメントPEA (マスタプログラム)は、受信した試験結果を収集することで、図28に示した試験結果を得た後、一連の処理を終了する。図28の試験結果においては、「結果」は、パケット毎の試験結果を表しており、「OK」は、当該パケットの送信/受信が正常に行われたことを意味しており、「NG」は当該パケットに関して送信/受信の異常が発生したことを意味している。
【0273】
つぎに、図28に示した試験結果を解析する処理について、図29に示したフローチャートを参照しつつ説明する。この処理は、プロセッサエレメントPEA (マスタプログラム)により実行される。図29に示したステップSJ1では、プロセッサエレメントPEA は、図30に示したマトリックス表を初期化した後、ステップSJ2へ進む。このマトリックス表は、図26に示したクロスバスイッチS1 〜クロスバスイッチS25を模式化したものである。
【0274】
また、横の配列を示す変数PEx (PEA 〜PEE )は、送信側のプロセッサエレメントPEA 〜PEE (図22および図26参照)を特定するための変数であり、縦の配列を示す変数PEy (PEA 〜PEE )は、受信側のプロセッサエレメントPEA 〜PEE (図22および図26参照)を特定するための変数である。また、図30において、○印は、試験結果が正常(OK)であることを意味し、×印は、試験結果が異常(NG)であることを意味している。
【0275】
ステップSJ2では、プロセッサエレメントPEA は、図28に示した試験情報の「結果」を参照することで、全て正常(OK)であるか否かを判断する。この場合、図28に示した試験情報において、パケットID12、17および22が共に異常(NG)であるため、プロセッサエレメントPEA は、ステップSJ2の判断結果を「No」として、ステップSJ3へ進む。なお、ステップSJ2の判断結果が「Yes」である場合、プロセッサエレメントPEA は、ステップSJ15へ進む。ステップSJ15では、プロセッサエレメントPEA は、図30に示したマトリックス表の全ての欄に○印を配したものを、解析結果として、ディスプレイ(図示略)に表示する。この表示を確認することにより、試験者は、全ての試験が正常に終了したこと、すなわち、異常箇所がないことを認識する。
【0276】
この場合、ステップSJ3では、プロセッサエレメントPEA は、図30に示した横の配列を示す変数PEx に1を代入した後、ステップSJ4へ進む。ステップSJ4では、プロセッサエレメントPEA は、図30に示した縦の配列を示す変数PEy に1を代入した後、ステップSJ5へ進む。ここで、変数PEx (=1)は、図28に示した<送信元>のプロセッサエレメントPEA に対応しており、変数PEy (=1)は、図28に示した<送信先>のプロセッサエレメントPEA に対応している。
【0277】
ステップSJ5では、プロセッサエレメントPEA (マスタプログラム)は、変数PEx (=1)およびPEy (=1)により特定される図28に示したパケットID(=0)に応じた結果をチェックする。この場合、上記結果が正常(OK)であるため、プロセッサエレメントPEA は、図30のマトリックス表の部分(S25)に○印を配した後、ステップSJ6へ進む。
【0278】
ステップSJ6では、プロセッサエレメントPEA は、変数PEy (=1)がPE台数(=5)と同数であるか否かを判断する。ここで、PE台数は、プロセッサエレメントPEA 〜PEE の総数である。この場合、プロセッサエレメントPEA は、ステップSJ6の判断結果を「No」として、ステップSJ7へ進む。ステップSJ7では、プロセッサエレメントPEA は、変数PEy (=1)を1インクリメントして2とした後、ステップSJ5へ進む。ここで、変数PEy (=2)は、図28に示した<送信先>のプロセッサエレメントPEB に対応している。
【0279】
ステップSJ5では、プロセッサエレメントPEA (マスタプログラム)は、変数PEx (=1)およびPEy (=2)により特定される図28に示したパケットID(=1)に応じた結果をチェックする。この場合、上記結果が正常(OK)であるため、プロセッサエレメントPEA は、図30のマトリックス表の部分(S24)に○印を配した後、ステップSJ6へ進む。
【0280】
以後、プロセッサエレメントPEA は、ステップSJ6の判断結果が「Yes」となるまで、変数PEx (=1)の値を一定にした状態で、変数PEy を順次1インクリメントさせることで、上述したチェックを行う。そして、ステップSJ6の判断結果が「Yes」になると、プロセッサエレメントPEA は、ステップSJ8へ進む。この時点では、図30に示したマトリックス表において、S25〜S21のそれぞれの部分には、正常を意味する○印が配されている。
【0281】
ステップSJ8では、送信部異常の判定条件を満たすか否かが判断される。ここで、送信部異常の判定条件とは、変数PEx (=1)に対応する<送信元>のプロセッサエレメント(この場合、プロセッサエレメントPEA )の送信部が異常であるか否かを判定するための条件をいう。具体的には、判定条件は、変数PEx の値が一定で、かつ変数PEy がPE台数と同値となるまでに、ステップSJ5において全ての結果が異常であること、である。この場合、図30から明らかなように、S25〜S21の部分の全てに正常を表す○印が配されているため、プロセッサエレメントPEA は、ステップSJ8の判断結果を「No」として、ステップSJ9へ進む。
【0282】
なお、送信部異常の判定条件が満たされた場合、すなわち、図30に示したS25〜S21の部分の全てに異常を表す×印が配されている場合、プロセッサエレメントPEA は、ステップSJ8の判断結果を「Yes」として、ステップSJ10へ進む。ステップSJ10では、プロセッサエレメントPEA は、変数PEx (=1)に対応する<送信元>のプロセッサエレメントPEA の送信部42A (図22参照)に異常がある旨をディスプレイ(図示略)に表示させる等して、試験者に報知した後、ステップSJ9へ進む。
【0283】
ステップSJ9では、プロセッサエレメントPEA は、変数PEy に1を代入した後、ステップSJ11へ進む。ステップSJ11では、プロセッサエレメントPEA は、変数PEx (=1)がPE台数(=5)と同数であるか否かを判断し、この場合、判断結果を「No」として、ステップSJ12へ進む。ステップSJ12では、プロセッサエレメントPEA は、変数PEx (=1)を1インクリメントした後、ステップSJ5へ進む。ここで、変数PEx (=2)は、図28に示した<送信元>のプロセッサエレメントPEB に対応している。ステップSJ5では、プロセッサエレメントPEA は、変数PEx (=2)およびPEy (=1)により特定される図28に示したパケットID(=5)に応じた結果をチェックする。この場合、上記結果が正常(OK)であるため、プロセッサエレメントPEA は、図30のマトリックス表の部分(S20)に○印を配した後、ステップSJ6へ進む。
【0284】
以後、プロセッサエレメントPEA は、ステップSJ6の判断結果が「Yes」となるまで、変数PEx (=2)の値を一定にした状態で、変数PEy を順次1インクリメントさせることで、上述したチェックを行う。そして、ステップSJ6の判断結果が「Yes」になると、プロセッサエレメントPEA は、ステップSJ8へ進む。この時点では、図30に示したマトリックス表において、S20〜S16のそれぞれの部分には、正常を意味する○印が配されている。
【0285】
ステップSJ8では、プロセッサエレメントPEA は、上述した動作と同様にして、送信部異常の判定条件が満たされているか否かを判断し、この場合、図30から明らかなように、S20〜S16の部分の全てに正常を表す○印が配されているため、ステップSJ8の判断結果を「No」として、ステップSJ9へ進む。ステップSJ9では、プロセッサエレメントPEA は、変数PEy に1を代入した後、ステップSJ11へ進む。ステップSJ11では、プロセッサエレメントPEA は、変数PEx (=2)がPE台数(=5)と同数であるか否かを判断し、この場合、判断結果を「No」として、ステップSJ12へ進む。
【0286】
ステップSJ12では、プロセッサエレメントPEA は、変数PEx (=2)を1インクリメントした後、ステップSJ5へ進む。ここで、変数PEx (=3)は、図28に示した<送信元>のプロセッサエレメントPEC に対応している。ステップSJ5では、プロセッサエレメントPEA は、変数PEx (=3)およびPEy (=1)により特定される図28に示したパケットID(=10)に応じた結果をチェックする。この場合、上記結果が正常(OK)であるため、プロセッサエレメントPEA は、図30のマトリックス表の部分(S15)に○印を配した後、ステップSJ6へ進む。
【0287】
以後、プロセッサエレメントPEA は、ステップSJ6の判断結果が「Yes」となるまで、変数PEx (=3)の値を一定にした状態で、変数PEy を順次1インクリメントさせることで、上述したチェックを行う。そして、ステップSJ6の判断結果が「Yes」になると、プロセッサエレメントPEA は、ステップSJ8へ進む。この時点では、図30に示したマトリックス表において、S15およびS14のそれぞれの部分には、正常を意味する○印が配されており、S13〜S11のそれぞれの部分には、異常を意味する×印が配されている。
【0288】
ステップSJ8では、プロセッサエレメントPEA は、上述した動作と同様にして、送信部異常の判定条件が満たされているか否かを判断し、この場合、図30から明らかなように、S15〜S11の部分において正常を意味する○印が一部配されているため、判断結果を「No」としてステップSJ9へ進む。ステップSJ9では、プロセッサエレメントPEA は、変数PEy に1を代入した後、ステップSJ11へ進む。ステップSJ11では、プロセッサエレメントPEA は、判断結果を「No」として、ステップSJ12へ進み、変数PEx (=3)を1インクリメントした後、ステップSJ5へ進む。
【0289】
以後、プロセッサエレメントPEA は、ステップSJ11の判断結果が「Yes」となるまで、変数PEx および変数PEy を順次1インクリメントさせることで、上述したチェックを行う。そして、ステップSJ11の判断結果が「Yes」になると、プロセッサエレメントPEA は、ステップSJ13へ進む。この時点では、図30に示したマトリックス表において、S10〜S1 のそれぞれの部分には、正常を意味する○印が配されている。
【0290】
ステップSJ13では、受信部異常の判定条件を満たすか否かが判断される。ここで、受信部異常の判定条件とは、変数PEy に対応する<送信先>のプロセッサエレメントの受信部が異常であるか否かを判定するための条件をいう。具体的には、判定条件は、変数PEy の値が一定で、かつ変数PEX がPE台数と同値となるまでに、ステップSJ5において全ての結果が異常であること、である。この場合、図30から明らかなように、横の配列において、異常を意味する×印が5(=PE台数)個連続して配されていないため、プロセッサエレメントPEA は、ステップSJ13の判断結果を「No」として、ステップSJ15へ進む。
【0291】
なお、受信部異常の判定条件が満たされた場合、すなわち、図30に示した横の配列において、たとえば、S25〜S5 の部分の全てに異常を表す×印が配されていると仮定した場合、プロセッサエレメントPEA は、ステップSJ13の判断結果を「Yes」として、ステップSJ14へ進む。ステップSJ14では、プロセッサエレメントPEA は、変数PEy (=1)に対応する<送信先>のプロセッサエレメントPEA の受信部43A (図22参照)に異常がある旨をディスプレイ(図示略)に表示させる。
【0292】
つぎに、プロセッサエレメントPEA は、ディスプレイに表示されたマトリックス表から異常箇所を特定する。具体的には、プロセッサエレメントPEA は、異常を意味する×印の部分(S13〜S11)に着目し、これら三つの×印に対応する送信側プロセッサエレメントを確認する。この場合、三つの×印に対応する送信側プロセッサエレメントは、いずれもプロセッサエレメントPEC である。つぎに、プロセッサエレメントPEA は、三つの×印が属する配列(S15〜S11)において正常を意味する○印が配された部分(S15、S14)に着目し、これら二つの○印に対応する受信側プロセッサエレメントを確認する。この場合、受信側プロセッサエレメントは、プロセッサエレメントPEA およびプロセッサエレメントPEB である。
【0293】
このマトリックス表によれば、図26に示した送信側のプロセッサエレメントPEC から受信側のプロセッサエレメントPEA およびPEB 宛にそれぞれ送信されたパケットは、クロスバスイッチS15およびS14を経由して、受信側のプロセッサエレメントPEA およびPEB に正常に受信されていることがわかる。また、送信側のプロセッサエレメントPEC からプロセッサエレメントPEC 〜PEE 宛にそれぞれ送信されたパケットは、いずれもプロセッサエレメントPEC 〜PEE に受信されていないことがわかる。したがって、プロセッサエレメントPEA は、図26に示したクロスバスイッチS14とクロスバスイッチS13との間で、異常箇所Tを特定した後、ステップSJ15へ進む。ステップSJ15では、プロセッサエレメントPEA は、図30に示したマトリックス表および異常箇所を特定した結果をディスプレイ(図示略)に表示させた後、一連の処理を終了する。
【0294】
以上説明したように、実施の形態4によれば、複数のプロセッサエレメントを過不足なく組み合わせた場合の組を特定するパケットID(識別子)を付加したパケットを送信し、図25に示した試験情報に基づいて、<送信元>のプロセッサエレメントと<送信先>のプロセッサエレメントとの間における異常を把握するようにしたので、迅速に異常箇所を特定することができる。
【0295】
また、実施の形態4によれば、異常の有無に関する情報を図30に示したマトリックス表に配し、異常箇所に対応するクロスバスイッチの位置を把握するようにしたので、従来困難とされていたクロスバネットワーク装置における異常箇所が迅速に特定される。
【0296】
さらに、実施の形態4によれば、誤った宛先のパケットがプロセッサエレメントに受信された場合に、このプロセッサエレメントから、本来の宛先(プロセッサエレメント)へ送信するようにしたので、本来、当該パケットを受信すべきプロセッサエレメントにおいて、受信タイムアウトにより異常を検出するといった二次障害を防止することができる。
【0297】
以上、本発明の実施の形態1〜4について図面を参照して詳述してきたが、具体的な構成例はこれら実施の形態1〜4に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。たとえば、前述した実施の形態1〜4においては、負荷試験装置の機能または障害診断装置の機能を実現するための負荷試験プログラムまたは障害診断プログラムを図31に示したコンピュータ読み取り可能な記録媒体200に記録して、この記録媒体200に記録された負荷試験プログラムまたは障害診断プログラムを同図に示したコンピュータ100に読み込ませ、実行することにより負荷試験または障害診断を行うようにしてもよい。
【0298】
図31に示したコンピュータ100は、上記負荷試験プログラム、障害診断プログラムを実行するCPU101と、キーボード、マウス等の入力装置102と、各種データを記憶するROM(Read Only Memory)103と、演算パラメータ等を記憶するRAM(Random Access Memory)104と、記録媒体200から負荷試験プログラム、障害診断プログラムを読み取る読取装置105と、ディスプレイ、プリンタ等の出力装置106と、装置各部を接続するバスBUとから構成されている。
【0299】
CPU101は、読取装置105を経由して記録媒体200に記録されている負荷試験プログラムまたは障害診断プログラムを読み込んだ後、負荷試験プログラムまたは障害診断プログラムを実行することにより、前述した負荷試験または障害診断を行う。なお、記録媒体200には、光ディスク、フロッピーディスク、ハードディスク等の可搬型の記録媒体が含まれることはもとより、ネットワークのようにデータを一時的に記録保持するような伝送媒体も含まれる。
【0300】
また、実施の形態1〜3においては、プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間(期待値を含む)を測定した結果に基づいて性能評価を行う例について説明したが、往路における伝送時間(期待値を含む)を測定した結果に基づいて性能評価を行うようにしてもよい。したがって、実施の形態1〜3における伝送時間(期待値を含む)の測定経路は、往復路、往路のいずれであってもよい。
【0301】
また、前述した特許請求の範囲に記載された発明においては、つぎのような変形例も可能である。すなわち、請求項2にかかる発明においては、送信元の演算手段から自局宛のパケットを送信させ、演算手段−ネットワーク間の伝送時間をそれぞれの演算手段について順次、測定する折り返し試験手段(前述した実施の形態2のプロセッサエレメントPE0 〜PE7 のそれぞれのCPUに相当)を備え、前記負荷試験手段は、前記折り返し試験手段の測定結果に基づいて、前記送信タイミングを決定するようにしてもよい。
【0302】
この発明によれば、送信元の演算手段から自局宛のパケットが送信されると、パケットは、ネットワークにより上記送信元の演算手段に折り返された後、送信元の演算手段に受信される。このとき、折り返し試験手段により、演算手段−ネットワーク間の伝送時間が測定される。そして、負荷試験手段は、上記折り返し試験手段の測定結果に基づく送信タイミングで複数のパケットをそれぞれ送信させる。
【0303】
このように、上記発明によれば、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、しかも同一時刻で複数のパケットがネットワークに到着する送信タイミングで複数のパケットを送信しているため常に最高負荷状態で負荷試験を行うことができる。また、上記発明によれば、実際に測定した組毎の伝送時間を期待値とし、かつ最高負荷状態における伝送時間に基づいて性能評価を行っているため、さらに信頼性が高い試験結果が得られる。
【0316】
【発明の効果】
以上説明したように、請求項1、4にかかる発明によれば、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、複数のパケットを一斉に送信しているため常に高負荷状態で負荷試験を行うことができるという効果を奏する。また、請求項1、4にかかる発明によれば、実際に測定した組毎の伝送時間を期待値として性能評価を行っているため、信頼性が高い試験結果が得られるという効果を奏する。
【0317】
また、請求項2、5にかかる発明によれば、複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、しかも同一時刻で複数のパケットがネットワークに到着する送信タイミングで複数のパケットを送信しているため常に最高負荷状態で負荷試験を行うことができるという効果を奏する。また、請求項2、5にかかる発明によれば、実際に測定した組毎の伝送時間を期待値とし、かつ最高負荷状態における伝送時間に基づいて性能評価を行っているため、さらに信頼性が高い試験結果が得られるという効果を奏する。
【0318】
また、請求項3、6にかかる発明によれば、特定の組でパケットの送信を行っている最中に他の組でパケットの送信、性能評価を行うようにしたので、特定の組におけるパケットの送信が、他の組におけるパケットの送信に及ぼす影響を知ることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる実施の形態1の構成を示すブロック図である。
【図2】図1示したレジスタ群11の構成を示すブロック図である。
【図3】図1示したクロスバスイッチ群12を示すブロック図である。
【図4】同実施の形態1におけるマスタプログラムMPとスレーブプログラムSP0 〜SP3 との関係を示すブロック図である。
【図5】プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間の測定方法を説明するブロック図である。
【図6】プロセッサエレメント−プロセッサエレメント間の往復路における伝送時間の測定処理を説明するフローチャートである。
【図7】図6に示した同期処理を説明するフローチャートである。
【図8】図6に示した同期処理を説明するフローチャートである。
【図9】同実施の形態1の動作を説明するブロック図である。
【図10】同実施の形態1における組み合わせテーブルを示す図である。
【図11】同実施の形態1の動作を説明するフローチャートである。
【図12】本発明にかかる実施の形態2の構成を示すブロック図である。
【図13】同実施の形態2の概略構成を示すブロック図である。
【図14】プロセッサエレメント−クロスバネットワーク装置間の往復路における伝送時間の測定方法を説明するブロック図である。
【図15】同実施の形態2の動作を説明するブロック図である。
【図16】プロセッサエレメント−クロスバネットワーク装置間の往復路における伝送時間の測定処理を説明するフローチャートである。
【図17】同実施の形態2の動作を説明するフローチャートである。
【図18】本発明にかかる実施の形態3の構成を示すブロック図である。
【図19】同実施の形態3の動作を説明するブロック図である。
【図20】同実施の形態3の動作を説明するフローチャートである。
【図21】プロセッサエレメント−プロセッサエレメント間の往路における伝送時間の測定処理を説明するフローチャートである。
【図22】本発明にかかる実施の形態4の構成を示すブロック図である。
【図23】同実施の形態4におけるパケットのデータ構造を示す図である。
【図24】同実施の形態4におけるパケットの送信動作を説明する図である。
【図25】同実施の形態4における試験情報の一例を示す図である。
【図26】同実施の形態4の動作を説明する図である。
【図27】同実施の形態4の動作を説明するフローチャートである。
【図28】同実施の形態4における試験結果を示す図である。
【図29】同実施の形態4の動作を説明するフローチャートである。
【図30】同実施の形態4におけるマトリックス表を示す図である。
【図31】本発明にかかる実施の形態1〜4の変形例の構成を示すブロック図である。
【図32】従来のプロセッサエレメントPE0 〜PE4 およびクロスバネットワーク装置1の構成を示すブロック図である。
【符号の説明】
10 クロスバネットワーク装置
12 クロスバスイッチ群
130 〜133 CPU
PE0 〜PE7 プロセッサエレメント
30 クロスバネットワーク装置
PEA 〜PEE プロセッサエレメント
40A 〜40E CPU
41A 〜41E メモリ
50 クロスバネットワーク装置
52 クロスバスイッチ群
100 コンピュータ
200 記録媒体

Claims (6)

  1. パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験を行う負荷試験装置において、
    送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定する伝送時間測定手段と、
    複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、前記複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを一斉に送信させ、それぞれの組の演算手段−演算手段間の伝送時間を測定する負荷試験手段と、
    前記負荷試験手段により測定されたそれぞれの組の伝送時間と、前記それぞれの組に対応する前記期待値との比較結果に基づいて、性能評価を行う性能評価手段と、
    を備えることを特徴とする負荷試験装置。
  2. パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験を行う負荷試験装置において、
    送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定する伝送時間測定手段と、
    複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、前記複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを、それぞれのパケットが前記ネットワークに同一時刻で到着する送信タイミングで送信させ、それぞれの組の演算手段−演算手段間の伝送時間を測定する負荷試験手段と、
    前記負荷試験手段により測定されたそれぞれの組の伝送時間と、前記それぞれの組に対応する前記期待値との比較結果に基づいて、性能評価を行う性能評価手段と、
    を備えることを特徴とする負荷試験装置。
  3. パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験を行う負荷試験装置において、
    送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定する伝送時間測定手段と、
    複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、他の組に比べて伝送時間が長い特定の組における送信元の演算手段から、組をなす送信先の演算手段へパケットを送信させている間に、前記他の組における複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを一斉に送信させ、それぞれの組の演算手段−演算手段間の伝送時間、および前記特定の組における演算手段−演算手段間の伝送時間を測定する負荷試験手段と、
    前記負荷試験手段により測定された前記特定の組の伝送時間、および前記他の組のそれぞれの伝送時間と、前記特定の組および前記他の組のそれぞれに対応する前記期待値との比較結果に基づいて、性能評価を行う性能評価手段と、
    を備えることを特徴とする負荷試験装置。
  4. パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験に適用される負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定させる伝送時間測定工程と、
    複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、前記複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを一斉に送信させ、それぞれの組の演算手段−演算手段間の伝送時間を測定させる負荷試験工程と、
    前記負荷試験工程により測定されたそれぞれの組の伝送時間と、前記それぞれの組に対応する前記期待値との比較結果に基づいて、性能評価を行わせる性能評価工程と、
    をコンピュータに実行させるための負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体。
  5. パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験に適用される負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定させる伝送時間測定工程と、
    複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、前記複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを、それぞれのパケットが前記ネットワークに同一時刻で到着する送信タイミングで送信させ、それぞれの組の演算手段−演算手段間の伝送時間を測定させる負荷試験工程と、
    前記負荷試験工程により測定されたそれぞれの組の伝送時間と、前記それぞれの組に対応する前記期待値との比較結果に基づいて、性能評価を行わせる性能評価工程と、
    をコンピュータに実行させるための負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体。
  6. パケット送受信機能をそれぞれ備える複数の演算手段と、前記複数の演算手段間を相互接続するネットワークとを備える並列プロセッサ装置の負荷試験に適用される負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、演算手段−演算手段間の伝送時間を期待値として1組づつ測定させる伝送時間測定工程と、
    複数の送信元の演算手段から一つの送信先の演算手段へパケットを送信させないという条件で、送信元の演算手段および送信先の演算手段を1組として前記複数の演算手段を過不足なく組み合わせた結果に基づいて、他の組に比べて伝送時間が長い特定の組における送信元の演算手段から、組をなす送信先の演算手段へパケットを送信させている間に、前記他の組における複数の送信元の演算手段から、組をなすそれぞれの送信先の演算手段へパケットを一斉に送信させ、それぞれの組の演算手段−演算手段間の伝送時間、および前記特定の組における演算手段−演算手段間の伝送時間を測定させる負荷試験工程と、
    前記負荷試験工程により測定された前記特定の組の伝送時間、および前記他の組のそれぞれの伝送時間と、前記特定の組および前記他の組のそれぞれに対応する前記期待値との比較結果に基づいて、性能評価を行わせる性能評価工程と、
    をコンピュータに実行させるための負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP24651999A 1999-08-31 1999-08-31 負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP3828321B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP24651999A JP3828321B2 (ja) 1999-08-31 1999-08-31 負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体
US09/513,695 US6665268B1 (en) 1999-08-31 2000-02-25 Load testing apparatus, computer readable recording medium for recording load test program, fault diagnosis apparatus, and computer readable recording medium for recording fault diagnosis program
US10/449,012 US7137035B2 (en) 1999-08-31 2003-06-02 Load testing apparatus, computer readable recording medium for recording load test program, fault diagnosis apparatus, and computer readable recording medium for recording fault diagnosis program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24651999A JP3828321B2 (ja) 1999-08-31 1999-08-31 負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006055102A Division JP3970907B2 (ja) 2006-03-01 2006-03-01 障害診断装置、および障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2001075833A JP2001075833A (ja) 2001-03-23
JP3828321B2 true JP3828321B2 (ja) 2006-10-04

Family

ID=17149614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24651999A Expired - Fee Related JP3828321B2 (ja) 1999-08-31 1999-08-31 負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (2)

Country Link
US (2) US6665268B1 (ja)
JP (1) JP3828321B2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6894970B1 (en) * 2000-10-31 2005-05-17 Chiaro Networks, Ltd. Router switch fabric protection using forward error correction
TW515947B (en) * 2001-02-07 2003-01-01 Via Tech Inc Test method of 1394 controller
JP2003222659A (ja) * 2002-01-31 2003-08-08 Umc Japan 解析シミュレータ、解析シミュレート方法及び解析シミュレートプログラム
JP2004005085A (ja) * 2002-05-31 2004-01-08 Hitachi Ltd ストレージネットワーク性能測定システム
US7243145B1 (en) * 2002-09-30 2007-07-10 Electronic Data Systems Corporation Generation of computer resource utilization data per computer application
US7437446B2 (en) * 2002-09-30 2008-10-14 Electronic Data Systems Corporation Reporting of abnormal computer resource utilization data
US7280620B2 (en) * 2002-10-18 2007-10-09 Canon Kabushiki Kaisha Electronic device including image forming apparatus
US7330889B2 (en) * 2003-03-06 2008-02-12 Actional Corporation Network interaction analysis arrangement
US7386612B2 (en) * 2003-06-18 2008-06-10 Honeywell International Inc. Method and apparatus for disambiguating transmit-by-exception telemetry from a multi-path, multi-tier network
US7356612B2 (en) * 2003-06-18 2008-04-08 Honeywell International Inc. Method and apparatus for storing and retrieving data related to paths of a multi-path, multi-tier network
US7366988B2 (en) * 2003-06-18 2008-04-29 Honeywell International Inc. Method and apparatus for converting a network description into a computer program for disambiguating transmit-by-exception telemetry from a multi-path, multi-tier network
US7574482B2 (en) * 2003-10-31 2009-08-11 Agere Systems Inc. Internal memory controller providing configurable access of processor clients to memory instances
JP4443200B2 (ja) * 2003-12-01 2010-03-31 富士通株式会社 情報システム
US20050221816A1 (en) * 2004-03-31 2005-10-06 Hall Thomas M System for and method of operating a radio station in a broadcast network
KR100703725B1 (ko) * 2004-12-22 2007-04-05 삼성전자주식회사 서버의 성능 측정을 위한 장치 및 방법
US7793269B2 (en) 2005-02-15 2010-09-07 Ebay Inc. Parallel software testing based on a normalized configuration
US7587638B2 (en) * 2005-02-25 2009-09-08 Microsoft Corporation Method and system for generating and monitoring variable load on an application under test
JP5079988B2 (ja) * 2005-06-13 2012-11-21 オリンパス株式会社 分散処理システム、分散処理方法及びプログラム
US7478272B2 (en) * 2005-09-30 2009-01-13 International Business Machines Corporation Replacing a failing physical processor
WO2007043144A1 (ja) * 2005-10-05 2007-04-19 Hewlett-Packard Development Company, L.P. 負荷試験装置およびその方法
US7675867B1 (en) * 2006-04-19 2010-03-09 Owl Computing Technologies, Inc. One-way data transfer system with built-in data verification mechanism
JP4623592B2 (ja) * 2006-06-12 2011-02-02 富士通株式会社 データ処理システムの試験方法、試験プログラム及び試験装置
US7783933B2 (en) * 2006-09-14 2010-08-24 International Business Machines Corporation Identifying failure in a tree network of a parallel computer
US8068415B2 (en) 2007-04-18 2011-11-29 Owl Computing Technologies, Inc. Secure one-way data transfer using communication interface circuitry
US7941526B1 (en) 2007-04-19 2011-05-10 Owl Computing Technologies, Inc. Transmission of syslog messages over a one-way data link
US8352450B1 (en) 2007-04-19 2013-01-08 Owl Computing Technologies, Inc. Database update through a one-way data link
US8139581B1 (en) 2007-04-19 2012-03-20 Owl Computing Technologies, Inc. Concurrent data transfer involving two or more transport layer protocols over a single one-way data link
US7992209B1 (en) 2007-07-19 2011-08-02 Owl Computing Technologies, Inc. Bilateral communication using multiple one-way data links
JP5205888B2 (ja) 2007-09-14 2013-06-05 富士通株式会社 負荷試験プログラム、負荷試験方法および当該負荷試験プログラムを実行する情報処理装置
US8675502B2 (en) * 2008-01-30 2014-03-18 Cisco Technology, Inc. Relative one-way delay measurements over multiple paths between devices
JP5320918B2 (ja) 2008-09-09 2013-10-23 富士通株式会社 ネットワークシステムおよびシステム試験プログラム
US9305189B2 (en) 2009-04-14 2016-04-05 Owl Computing Technologies, Inc. Ruggedized, compact and integrated one-way controlled interface to enforce confidentiality of a secure enclave
JP5549237B2 (ja) * 2010-01-21 2014-07-16 富士通株式会社 試験環境構築プログラム、試験環境構築方法、及び試験装置
US8732453B2 (en) 2010-07-19 2014-05-20 Owl Computing Technologies, Inc. Secure acknowledgment device for one-way data transfer system
JP5411835B2 (ja) * 2010-11-17 2014-02-12 株式会社日立製作所 プログラマブルコントローラ、および、通信制御方法
KR101520055B1 (ko) * 2013-07-31 2015-05-19 에스케이하이닉스 주식회사 프로그래머블 로직을 이용한 메모리 테스트 왕복 시간 계산 장치
US9575987B2 (en) 2014-06-23 2017-02-21 Owl Computing Technologies, Inc. System and method for providing assured database updates via a one-way data link
US10540254B2 (en) * 2015-11-05 2020-01-21 Intel Corporation Technologies for analyzing persistent memory programs

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3814859A (en) * 1973-01-02 1974-06-04 Gte Automatic Electric Lab Inc Communication switching system transceiver arrangement for serial transmission
US4881230A (en) * 1987-10-05 1989-11-14 Ibm Corporation Expert system for processing errors in a multiplex communications system
JPH03238951A (ja) 1990-02-15 1991-10-24 Nec Corp 多重経路通信装置
JPH04256260A (ja) 1991-02-08 1992-09-10 Nec Corp ネットワーク負荷試験装置
FR2711466B1 (fr) 1993-10-20 1996-01-26 Tremel Jean Yves Appareil de test de réseau de télécommunication de type ATM et de mesure de performance de connexion ATM.
JPH07129522A (ja) 1993-10-20 1995-05-19 Hitachi Ltd 並列コンピュ−タの試験方式
US6041427A (en) * 1997-10-27 2000-03-21 Vlsi Technology Scan testable circuit arrangement
US6618389B2 (en) * 1999-11-22 2003-09-09 Worldcom, Inc. Validation of call processing network performance

Also Published As

Publication number Publication date
US7137035B2 (en) 2006-11-14
JP2001075833A (ja) 2001-03-23
US6665268B1 (en) 2003-12-16
US20040078718A1 (en) 2004-04-22

Similar Documents

Publication Publication Date Title
JP3828321B2 (ja) 負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体
EP0139069B1 (en) Distributed processing system with fault diagnostic
US5033047A (en) Multiprocessor system with a fault locator
NO750339L (ja)
Grunwald et al. Benchmarking hypercube hardware and software
CN100474283C (zh) 数据处理系统
JP3970907B2 (ja) 障害診断装置、および障害診断プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2010079702A (ja) 伝送装置、伝送方法、伝送プログラム
JP2001147839A (ja) 情報収集装置、情報生成装置、情報収集プログラムを記録したコンピュータ読み取り可能な記録媒体および情報生成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2017067566A (ja) 端末装置および検出プログラム
Peterson et al. A high-speed message-driven communication architecture
JPS602709B2 (ja) ビルデイング・ブロツク構造をもつデータ処理システム
KR0135501B1 (ko) 전전자교환기의 통화로계 경로시험 분석 시스템
KR100388979B1 (ko) 프로세서간 통신 신호분석장치_
JPH10105525A (ja) 並列プロセッサ競合動作試験方法
JP2765659B2 (ja) データ処理装置の自己テスト方式
JPH02257358A (ja) マルチプロセッサシステムにおける障害情報収集方式
JP3084310B2 (ja) コンピュータネットワーク監視方式
JP2000187598A (ja) 並列計算機
CA1269141A (en) Task synchronization arrangement and method for remote duplex processors
JPH02171053A (ja) ネットワーク試験方式
JPS5857843A (ja) デ−タ回線交換装置のチエツク方式
JPH05151371A (ja) データ駆動型計算機
JPH0130336B2 (ja)
JP2000268015A (ja) マルチノードシステム,ネットワークトレース装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060301

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060706

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130714

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees