一致していることが見てとれる.ただし非決定性200、決定性2000のように総実行数2200 リダクション程度では、誤差が大きく現れたものと思われる.
図10.10は、非決定性が0.01%のプログラムを並列実行させた際の実行結果である.図
10.10のPE数は処理プロセッサ数を指す.耐故障化プログラムは、ホストプロセッサ(PE0)
とPSG、BSG を構成する処理プロセッサによって実行されるため、このPE数は、PSG を構成するプロセッサ数に相当する.このプログラムは、PE数に比例して処理量も増加さ せているため、元のプログラムの実行時間はほぼ一定となっている.また、同じプログラ ムを単に分散させているため並列化によって増えるコミュニケーションは0とみなせる.
2.5e+06 2.84e+06 3.6e+06 3.8e+06 4e+06
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Execution Time (micro sec)
PE
0.01%(Determinisity-200/Nondeterminisity-2000000)
FTS
耐故障化したプログラムは、多少の速度低下があるものの、PE数の増大に対する速度 低下は小さくなっている.この速度低下は、ゴールの転送処理が増大したことと、ゴール の転送にあわせて監視プロセスを起動していることによると思われる.
6 124 155 898 1326 2114 13080 19296
1 2 3 4 5 6 7 8 9 10 11121314
Number of messages
PE
0.01%(Nondeterminisity-200/Determinisity-2000000)
FTS (No ack/Normal) FTS FTS (No ack/Batch) Original
図 10.11: ベンチマークプログラム(並列実行時のシステム総メッセージ数)
測定値の増分から考えて、1ゴールの転送におよそ10msecかかっていることになる.ログ の返信を返すことによる速度低下を見るために、ログに対して返信を返さないバージョン も動作させてみたが、負荷バランスが崩れてしまい3PE以上では性能低下がみられた.こ れは、PE1からすべての処理を割り付ける前に、それ以前にゴール割り付けしたプロセッ サでの処理が終了し、再割り当てが発生したことによる.比較できるのは までである
が、バッチモードであっても返信を返すことで増えた処理時間は6%程度と見られる.
図10.11は、このときのシステム全体での総メッセージ送受信処理回数を表す.
0.15 0.2 0.3 0.4 0.5 1 2 3
2 20 200 2000 20000 200000 2e+06 2e+07
The ratio of No-wait-FTS to FTS
Determinisity Nondeterminisity 2
Nondeterminisity 20 Nondeterminisity 200 Nondeterminisity 2000
図 10.12: ベンチマークプログラム(ログ返信無し/返信あり処理時間比)
なお耐故障化プログラムでは、PSG、BSG含めた数であるため、PEあたりでは表記の値 の1/2である.元のプログラムではメッセージ処理数は、PEあたり高々10メッセージ以 下であるのに対して、耐故障化プログラムはPEあたり450 メッセージほどになっている.
ログと返信が非決定的実行数200に対してそれぞれあるため、ほぼこの数値に近い.返信 を返さないバージョンの通常モードでは、ログの送受信にread、answer、release のそれぞ れ3メッセージがあるため、非決定性200の3倍で600メッセージを処理している. これ
に対してバッチ転送モードでは、80メッセージ程度で済んでいる.
図10.12はログの返信無しの場合と、返信する場合の耐故障実行の処理時間比を示す. ロ
グ無しの実行を見るとホストノードでのメッセージ送受信処理がわずかに増大しており、
全体の実行数が小さい場合には通信処理の占める割合が大きいため性能低下を招いている.