特徴ある並列処理

つぎのグラフでエラトステネス法の特徴を説明する。このグラフ は1台のCPU400MHzメモリ128MB相当のPCによる 実験例である。 横軸はメモリ使用量(1K−100MB)で縦軸は1台のPCに よる計算時間である。数値の範囲は10の9乗から12乗までで ある。エラトステネス法では大量のメモリを使用する。 数値が 10の9乗であれば125MB、10の12乗であれば12GB 必要であり、並列処理により、データを分散させて計算する。 たとえば、10の9乗までの計算で、等分割10台で並列処理し、 900000000-1000000000の間の素数を計算すると12.5MBの メモリを使い、処理時間は21秒となる。分割数を大きくし、最 後の範囲のみに注目し、プロットしたグラフである。 メモリ使用量が500−50000バイト(50KB)までは メモリ使用量に比例して計算時間が増加する。しかし、そこから 3M−100MBまでは計算時間は増加しない。その後、メモリ 使用量が増すと、またまた増加に転じる。 この現象はキャッシュ、メモリ、ディスクの処理時間で説明でき る。最初の増加部分はキャッシュでの処理であり、つぎのフラッ ト部分はキャッシュとメモリでの処理であり、最後の増加部分は ディスクスワップ処理となる。大量のメモリをとびとびにアクセ スする問題ではこの例のような現象となる。