計算のためのメソッド起動を3回行なった場合について, 1つの並列オブジェクトに含まれるセル数が
使用PE数の増加とともに実行時間が短縮されており,
並列処理の効果を見ることができる.
使用PE数32のときが最も速くなっており,
これ以上のPE数を増やしても高速化は望めないと考えられる.
また, 1つの並列オブジェクトにセルを1000個とし,
PE数32としたとき,
23.589倍に対して 7.426倍であることから,
明らかに並列処理の効果が薄れている.
使用PE数9のときが最も速くなっているが,
2倍程度にしか高速化されていない.
これらの結果より, 1つの並列オブジェクトに含まれるセル数が多いほど 並列処理の効果が現れる. その理由は, 前述したように, 計算処理に費やされる時間と並列オブジェクト間通信に費やされる時間の 相対的な割合によるものが大きいと考えられる. 図5.9 には計算処理に費やされる時間が短いもの, 図5.10 には計算処理に費やされる時間が長いもの についての並列処理効果の概要図を示しておく.
図5.9: 計算処理に費やされる時間が短い場合 (並列処理することにより遅くなっている)
図5.10: 計算処理に費やされる時間が長い場合 (並列処理することにより高速化されている)
1つの並列オブジェクトに含まれるセル数が多いほど 計算処理に費やされる時間が多くなる. 計算処理そのものは, 各PEにおいて並列に実行されるので, 使用PE数倍に近い効果を期待できる. 一方, 通信処理に費やされる時間は, 本構成の場合には1つの並列オブジェクトに含まれるセル数によらない. 使用PE数に関わらず ある一定とみなせる処理時間を要する. また, 同じプロセッサに複数の並列オブジェクトが割り付けられ, それらの間に発生する通信は, PE間の通信と比べれば非常に高速である. しかし, 同一のプロセッサに割り付けられたとしても, 並列オブジェクトへのアクセスには, 排他制御等が含まれてしまい 配列へのアクセスに比べると遅いものとなる.
次に メソッド起動を1回にした場合の結果を示す.
メソッドの起動数を減らすことによって, さらに処理時間が短くなっているのがわかる.