これまでに開発してきた不連続格子を用いた差分法による波動伝播シミュレーションプログラムを、8台から16台程度のPCを接続した小〜中規模のPCクラスター上で効率的に並列計算を行うことができるように拡張することが本研究の目的である。平成16年度には、汎用プログラム(GMS : Ground Motion Simulator)に並列計算機能を実装し、PCクラスター上での差分法シミュレーションプログラムの計算に用いるCPUの数と計算時間の関係を評価し、比較的単純なモデルに関してプログラムのスケーラビリティーを検証した。本年度は、多数の点震源のあるモデルや、大量に計算結果の出力がある場合に関して検討を行い、並列出力を可能とするようシステムを改良した。 波動場の空間・時間的変化を把握するためには計算結果を大量に出力する必要があるが、出力に関しても並列化を行わない限り並列度が大きくなると全計算時間に占める出力に要する時間の割合が大きくなり非効率である。昨年度に開発したシステムでは出力データをマスターCPUにメモリー間通信で集めてから出力していた。今年度、各CPUが並列に出力可能なようにシステムを改良した。これにより、メモリー間通信にかかる時間を省ける上、さらに出力データ量自身も少なくなるという二重のメリットがある。これにより出力に要する時間を大幅に短縮でき、出力が多い場合の並列化効率を大幅に向上させることに成功した。 また、点震源を並べることで面的な震源を近似するために、数千から1万個以上の震源を必要とする場合があるが、このような場合、単純な空間分割による並列計算では特定のCPUに負荷が集中するため効率が極端に低下することになる。このような問題を解消するため、震源に関する並列計算は別途CPUの割付を行い負荷を平準化するようにシステムを改良した。これによりどの程度効率化されるかはモデル依存性が高いため一概にいえないが、例えば十勝沖地震のシミュレーションを16CPUで並列計算をする場合に一割程度の計算時間が短縮されることが分かった。
|