第 3 章 簡易実行による実行時間予測手法 [8] と提案手法 11
4.2 姫野ベンチマークの予測結果
4.2.2 予測誤差
図4.3・4.4・4.5から分かるように、ループ回数を多くするとデータのバラつき
が減っていくことが読み取れる。本稿では、データのバラつき具合を実際の実行 時間に対する誤差と考える。そこで、どの程度バラつきがあるのかを計算する(偏 差Dを求める)ために、式(4.1)を用いる。なお、標準偏差を求める式を参考にし ているが、通常の標準偏差とは違い、実際の実行時間のデータ範囲からのズレを 求めることとする。つまり、すべての予測データが実際の実行時間のデータ範囲 に入っている場合は、偏差Dは0と考える。
また、偏差Dが実際の実行時間と比べてどの程度差があるのかを誤差eとして、
eを求める式を式(4.2)に示す。
D =
1
N
N i=1
di2 (4.1)
di =
⎧⎪
⎪⎨
⎪⎪
⎩
xi−max (ifxi > max)
0 (ifmin≤xi ≤max) xi−min (ifxi < min)
e = D
min + D
max
× 1
2 ×100 [%] (4.2)
(ただし、Nはデータ数、min・maxはそれぞれ実測時 のデータの最小値・最大値を示す))
表4.3・4.4・4.5は、それぞれ計算・通信・全実行時間予測の偏差と誤差を表した
ものである。また、表4.3・4.4・4.5の予測誤差の部分を図に表したものが図4.6・
4.7・4.8であり、予測誤差をPU数の変化に着目して図示したものが、図4.9・4.10・ 4.11である。
計算予測に関しては、すべてのPU数において、ループ回数を5回まで(実測時
の1/1000回)削減しても誤差を9%以内に抑えることができた。また、ループ回
数を500回(実測時の1/10回)にすると、誤差を2%以内にすることができた。
通信予測に関しては、計算予測に比べて、誤差が安定するまでに必要なループ 回数は多くなっている。しかし、ループ回数を100回にすれば、128PU使用時を 除いて誤差を12%以内、500回にすれば、すべてのPU数において誤差を11%以内 にすることができた。
最後に、計算と通信を合わせた全実行時間予測の誤差について考察する。PU数 が少ない場合は計算部分の比率が高いため、通信の誤差が大きくても、全体の誤 差自体はループ回数を削減しても小さくなる。64PU使用時まではループ回数を5 回まで削減しても、誤差を8%以内に抑えることができた。しかし、128PU使用時 は図3.2に示すようなコンテンションの発生が頻繁に起きるため、通信全体の予測 をするために必要なループ回数を十分に取らなければならない。そのため、ルー
プ回数が少ない場合、通信予測の誤差が大きくなるため、全体の予測誤差も大き くなっている。ただし、ループ回数を500回とした時は、予測の誤差は4.69%であ り、予測に必要なループ回数が100〜500回の間にあることが分かる。
表 4.3: 計算実行時間予測の偏差と誤差
5回 10回 50回 100回 500回
2台 偏差 5.08681 15.0960 1.87776 2.69739 1.44315 誤差(%) 0.57 1.69 0.21 0.30 0.16 4台 偏差 12.7617 27.6679 0.19313 2.99687 2.09699
誤差(%) 2.91 6.30 0.04 0.68 0.48 8台 偏差 9.76922 8.40169 3.00063 2.77825 2.46853
誤差(%) 4.16 3.58 1.28 1.18 1.05 16台 偏差 7.13310 3.91433 4.43669 2.01994 1.65451
誤差(%) 6.32 3.47 3.93 1.79 1.47 32台 偏差 4.53165 2.71288 1.47688 1.16585 0.96054
誤差(%) 8.22 4.92 2.68 2.11 1.74 64台 偏差 1.93624 2.03134 1.16920 0.91505 0.44884
誤差(%) 7.24 7.60 4.37 3.42 1.68 128台 偏差 0.59437 0.70698 0.44305 0.54545 0.10047
誤差(%) 4.46 5.30 3.32 4.09 0.75
図 4.6: 計算実行時間予測の予測誤差
表 4.4: 通信実行時間予測の偏差と誤差
5回 10回 50回 100回 500回
2台 偏差 2.17607 26.3408 0.59488 1.86242 1.40127 誤差(%) 4.72 57.1 1.29 4.04 3.04 4台 偏差 2.46625 27.5381 0.24534 2.04991 0.34642
誤差(%) 4.53 50.5 0.45 3.76 0.64 8台 偏差 3.60570 3.21607 5.86786 2.52205 2.98574
誤差(%) 6.61 5.89 10.7 4.62 5.47 16台 偏差 8.81068 2.01831 0.48330 0.02873 1.56799
誤差(%) 24.29 5.56 1.33 0.08 4.32
32台 偏差 5.29496 0.72201 7.02592 3.56834 3.28357
誤差(%) 17.13 2.34 22.7 11.5 10.6
64台 偏差 1.09375 0.67328 1.80067 1.96385 0 誤差(%) 3.35 2.06 5.51 6.01 0.00 128台 偏差 12.1490 33.0984 9.07918 9.56668 1.83211
誤差(%) 42.2 115 31.5 33.2 6.37
図 4.7: 通信実行時間予測の予測誤差
表 4.5: 全実行時間予測の偏差と誤差
5回 10回 50回 100回 500回
2台 偏差 4.33282 37.4875 1.17945 2.28388 0.94044 誤差(%) 0.46 4.02 0.13 0.24 0.10 4台 偏差 10.9831 37.0733 0.05240 2.01429 0.73053
誤差(%) 2.22 7.48 0.01 0.41 0.15 8台 偏差 5.35476 7.59344 4.82002 0.62729 1.66383
誤差(%) 1.85 2.63 1.67 0.22 0.58 16台 偏差 7.27174 2.23896 3.86426 0.15647 0.14167
誤差(%) 4.87 1.50 2.59 0.10 0.09 32台 偏差 4.82746 2.23569 6.40027 2.68745 2.71293
誤差(%) 5.60 2.59 7.42 3.12 3.15 64台 偏差 1.84788 1.95455 1.50323 1.61573 0
誤差(%) 3.10 3.28 2.52 2.71 0.00 128台 偏差 12.1990 33.0057 9.05389 9.45989 1.97364
誤差(%) 28.9 78.3 21.4 22.4 4.69
図 4.8: 全実行時間予測の予測誤差
図 4.9: PU数の変化と予測誤差(計算)
図 4.10: PU数の変化と予測誤差(通信)
図 4.11: PU数の変化と予測誤差(全体)