DCPDCP DCP
9.3 実行オーバーヘッド 見積りに関する考察
ムとして意味がある.これを見ると、並列度が低い(p<< 1)プログラムの場合、も小 さくなり、急激に処理時間比が悪化することが分かる.図9.3(p =1)の =0:01のよう に1000PEで2倍程度であったはずの処理時間比も、p=9になると9倍程度になる.pが
1に近いところの変化を見るために、図9.4を0:99p 1;0:01 0:1の範囲で、
軸を対数軸としてグラフを描き直したものが図9.5である.これを見ても並列度がかなり高 く(p! 1)ないと、性能を向上が期待できないことが分かる.メッセージ処理効率が上昇 するか、あるいはメッセージ数が減少して処理時間mMが小さいプログラムの場合には、
が減少することから、やはりプログラムの並列性の高さがより支配的になる.これはサ イトを構成するプロセッサ数が大きくなるほど顕著である.
The Ideal Overhead on MPP (alpha = 10)
10000 PE
0.1
0.5
0.9 1 0.1
0.5
1 1
5 6 7 8 9 10
p
beta * gamma 1000 PE
100 PE 10 PE
Performance Ration of FTP to Original
図 9.4: マルチプロセッサでの推定オーバーヘッド (0:1<p<1)
The Ideal Overhead on MPP (alpha = 10) 10 PE
0.99
0.995
1 0.001
0.01
0.1 1
5 6 7 8 9 10
p
beta * gamma
Performance Ratio of FTP to Original
100 PE 1000 PE 10000 PE
図9.5: マルチプロセッサでの推定オーバーヘッド (0:99<p<1)
その結果、耐故障実行が、サイト単一プロセッサ構成で十分な効率で動作するには、メッ セージ処理性能がプロセスの単位処理性能の10%以下であるか、またはユーザプログラム の非決定性が決定性の1%以下であることが必要であることが分かる.並列システム上で の処理時間比を見ると、元のプログラムの並列度が最も大きく影響していることが分かる.
プログラムの並列度がかなり高いものでないと、耐故障化処理オーバーヘッドの影響を大 きくうける.もちろん並列度が高い場合であっても、負荷分散が十分に行えなければ上の 理論値から外れることになる.
なお、この時ユーザプログラムの並列化可能率をp(0 p1) 、ユーザプログラムの並 列実行によって生じるメッセージ処理時間mMとユーザプログラムの単一プロセッサ上で の実行時間O Rの比 =mM=ORとするとき、 <p 1の範囲でのみ評価できること を示した.これを満たさないプログラムは、並列実行し遅くなるクラスのプログラムであ り、並列計算に向かないからである.よって、並列度が低くなればメッセージ処理時間比
も十分小さくならなければ、並列処理に向かないことが分かる.
従って本研究で提案する方式が、並列効果によって処理オーバーヘッドを低くおさえる ためには、元のプログラムにかなり高い並列度があり、かつプロセッサ間コミュニケーショ ン量が多いものでなければならない.純粋に並列言語として設計された並列論理型言語で は、並列性の高いプログラム記述も他の言語記述よりも可能性が高いとはいえ、ユーザの 設計するアルゴリズムの並列性に大きく依存することは否定できない.結局のところ並列 効果によるオーバーヘッドの低減の可能性はあるものの、サイト構成するプロセッサが単 一プロセッサであるときの処理オーバーヘッドを減少させることが本システムの性能向上 につながる.