FAQ/ 氾濫解析の高速化をしたい¶
DioVISTA/Floodの解析速度を、もっと速くしたいです。
たとえば、高性能なPCを使えば、もっと速くなりますか。
1000ケースなど多数のケースがあり、計算時間を短縮したいと考えています。
回答¶
DioVISTAを実行するPCについて、推奨される事項を列挙します。
- 高性能なCPUを使ってください
- 高速なSSDを使ってください
- 計算結果をNASに直接書き込まないでください
- Windowsの電源設定を [高パフォーマンス] にしてください
高性能なCPUを使ってください¶
DioVISTA/Floodは、CPUのマルチコアを利用した並列処理を行っています。CPUのクロック数が高く、コア数が多いと計算速度が向上します。
当社で確認している限り、12コアまではコア数に比例して高速化します。理想的には、クロック数が2倍なら2倍速、コア数が2倍なら2倍速となります。ただし、クロック数が2倍のものは入手困難ですので、コア数が2倍、という選択肢になろうかと思います。
また、当社で開発の際は Intel CPUを使ってパフォーマンスの最適化および検証を行っていますので、Intel CPUをお勧めします。
高速なSSDを使ってください¶
DioVISTA/Floodは、計算結果をストレージに書き込みます。計算速度が速く、ログ保存間隔が短い場合、ストレージの書き込み速度の影響が顕著になります。
当社では、HDDに比べSSDの方が2倍ほど計算時間が速いケースがあることを確認しています。 (内蔵SSDの書き込み速度は450 MB/s, 内蔵HDDは100 MB/s程度といわれています)
計算結果をNASに直接書き込まないでください¶
ローカルストレージのSSDに対し、NASは8倍程度の書き込み時間がかかると考えられます。 (内蔵SSDの書き込み速度は450 MB/s, 内蔵HDDは100 MB/s、NASは60 MB/s程度といわれています)
さらに、NASの速度はネットワークが混雑すると低下します。
当社が、数十~数百ケースを十数台のPCによって並列処理する場合は、NASへの書き込みが集中しないように工夫をしています。具体的には、それぞれのPCがシミュレーション実行時にそれぞれのローカルのストレージに書き込み、1ケースのシミュレーションが終わるごとにNASに転送させています。また、NASに2台以上のPCが同時書き込みしないような制御をプログラムにさせています。
Windowsの電源設定を [高パフォーマンス] にしてください¶
Windows の電源設定を [高パフォーマンス] にしてください。
当社では、Intel Xeonx E3-1281 v3 (3.70GHz) 4コア/8スレッドを使用したサーバで、省電力モードが初期値であったため、これを高パフォーマンスに変更したところ、2倍以上(10分→3~4分)速くなった事例を確認しています。