Checkpointing to Save Job Progress

長時間シミュレーションのためのチェックポイントの保存

チェックポイントとは?

チェックポイントは、実行中のシミュレーションから必要なデータを保存するプロセスで、通常、ジョブの再開やシステム障害時の安全ポイントとして実装されています。

チェックポイントのグッドプラクティス

事前準備

  • 多くのソフトウェアには、シミュレーションのチェックポイントや再スタートのためのオプションが用意されています。シミュレーションを開始する前に、関連するチェックポイントのフラグがオンになっていることを確認してください。
  • アプリケーションによって命名法や書式が異なるので、使用するアプリケーションに適したフラグを設定することが重要です。
  • また、Rescaleプラットフォームにはネイティブのチェックポイント機能であるSnapshotがあり、中間ファイルを簡単に保存することができます。この方法は、再起動の際には最適ではないことに注意してください。

ソフトウェアベースのチェックポイントと再起動手順

チェックポイント 関連情報のみ

  • また,過剰なデータの書き込みは,Out of Memoryに起因するシステム障害や,シミュレーションの処理速度を低下させる可能性があります.
  • 一般に,ほとんどのアプリケーションでは,シミュレーションの再開に使用できる再開ファイルの書き込みが許可されています.
  • 例えば、Abaqusでは.rstファイルが作成され、最後の計算反復/ステップからシミュレーションを再開するのに使用できます。

モニタリング・シミュレーション

  • 長時間のジョブシミュレーションを行う場合、定期的に監視を行うことをお勧めします。そうすることで、発生しうるエラーを発見することができます。
  • また、定期的に監視を行うことで、エラーの後にアプリケーションが自動的に停止しない場合、シミュレーションの進捗を確認し、停止させることができます。

以下のことを避けるようにしてください。

チェックポイントの頻度

  • 過剰なチェックポイントは、クラウドインスタンスのストレージを占有し、シミュレーションの中断やメモリ不足によるシステムエラーにつながります。
  • また、出力ファイルを過剰に書き込むと、シミュレーションの速度が低下し、ジョブ全体の時間が長くなります。

チェックポイントなし

  • 定期的なチェックポイントを行わないと、システム障害時に進捗状況やデータが失われる可能性があります。
  • 例えば、数日間シミュレーションを実行する場合、シミュレーション時間の数時間ごとにチェックポイントを行うことをお勧めします。