• 検索結果がありません。

チェックポイント・リスタートのサポート

2. コマンド・リファレンス

2.3. スケーラブルなプロセス管理システム (Hydra) コマンド

2.3.6. チェックポイント・リスタートのサポート

インテル® MPI ライブラリーのチェックポイント・リスタート機能は、アプリケーションから透過に設定されて

います。MPI プロセス管理インターフェイスを経由して、チェックポイント・リスタート機能にアクセスできま す。チェックポイント・リスタートのオプションと環境変数は、Hydra プロセス管理でのみ適用されます。デ フォルトのプロセス管理を変更して Hydra プロセス管理を使用するには、I_MPI_PROCESS_MANAGER=hydra を設定します。

注意

チェックポイント・リスタート機能を使用するには、OFA* ネットワーク・モジュールが必要です。

I_MPI_FABRICS 環境変数に ofa を設定するか、-ib オプションを指定することで、OFA ネットワーク・モ ジュールを選択できます。

注意

チェックポイント・リスタート機能を有効にするには、次の設定を行います。

• I_MPI_OFA_DYNAMIC_QPS 環境変数に 1 を設定

• I_MPI_OFA_NUM_RDMA_CONNECTIONS 環境変数に 0 を設定

注意

チェックポイント・リスタート機能を使用するため、Berkeley Lab Checkpoint/Restart* (BLCR) ソフトウェアを インストールします。

グローバルオプション

-ckpoint <switch>

引数

<switch> チェックポイントのスイッチ。

enable | yes | on | 1 起動されたアプリケーション向けにチェックポイント機能を有効にし

ます。

disable | no | off | 0 起動されたアプリケーション向けにチェックポイント機能を無効にし

ます。これは、デフォルト値です。

チェックポイント機能を有効/無効にする場合、このオプションを指定します。無効に設定された場合、ほか のチェックポイントのオプションは無視されます。

-ckpoint-interval <sec>

引数

<sec> 秒単位のチェックポイントの間隔。

タイマー駆動型チェックポイントの機能を有効にするには、このオプションを使用します。「タイマー駆動型 チェックポイント」をご覧ください。<sec> 秒ごとにチェックポイントが作成されます。このオプションが省 略されると、シグナル駆動のチェックポイント機能が使用されます。詳細は、「明示的なシグナル駆動型 チェックポイント」をご覧ください。

-ckpoint-preserve <N>

引数

<N> 保持するチェックポイント・イメージの最大数。デフォルト値は 1 で

す。

チェックポイントのイメージを減らすため、実行中のチェックポイントの最後の <N> チェックポイントを保持 するには、このオプションを使用します。デフォルトでは、最後のチェックポイントのみが保持されます。

-restart

保存されたチェックポイントの 1 つからアプリケーションを再開するには、このオプションを使用します。

-ckpointlib、-ckpoint-prefix および -ckpoint-num オプションが再開に影響します。実行形式のファ イル名はプロセス管理から提供されますが、無視されます。チェックポイントを取得するには再起動したアプ リケーションに許されているため、-restart オプションは -chkpoint やほかのチェックポイントオプショ ンを伴うことはできません。

-ckpoint-num <N>

引数

<N> アプリケーションを再開するチェックポイント・イメージの識別子。

有効な値は、最後のチェックポイントの数と同じかそれ以下の数値で す。デフォルトは、最後のチェックポイント番号です。

このオプションは、アプリケーションを再開中に使用します。チェックポイント番号 <N> (0 からカウント) が、

再開ポイントとして使用されます。最適値を求めるには、-ckpoint-prefixオプションを指定してチェック ポイント・ストレージ・ディレクトリーの設定を調査します。

注意

-ckpoint-preserve オプションで決定されるイメージ数が最大数として保持されます。

チェックポイントが存在しない場合、アプリケーションは起動時にエラーメッセージを出力して中断されます。

デフォルトでは、最後のチェックポイントが選択されます。

ローカルオプション

-ckpointlib <lib>

引数

<lib> チェックポイント・リスタートのシステム・ライブラリー。

blcr Berkeley Lab Checkpoint/Restart* (BLCR) ライブラリー。これは、デ フォルト値です。

チェックポイント・リスタート・システムのライブラリーを選択するには、このオプションを使用します。

Berkeley Lab Checkpoint/Restart* (BLCR) ライブラリーのみがサポートされます。

注意

チェックポイント関数を使用したり、アプリケーションを再開するときに、同じオプションを指定する必要が あります。

-ckpoint-prefix <dir>

引数

<dir> チェックポイントを保存するディレクトリー。デフォルト値は /tmp

です。

チェックポイントを保存するディレクトリーを設定します。デフォルトで、/tmpが使用されます。ディレクト

リー <dir> は書き込み可能でなければいけません。さもないと、プロセス起動中にエラーが発生し、アプリ

ケーションはアボートします。

注意

チェックポイント関数を使用したり、アプリケーションを再開するときに、同じオプションを指定する必要が あります。

-ckpoint-tmp-prefix <dir>

引数

<dir> チェックポイントを一時保存するディレクトリー。デフォルト値は

/tmp です。

一時チェックポイントを保存するディレクトリーを設定します。チェックポイントは、-ckpoint-tmp-prefix から -ckpoint-prefix で指定されたディレクトリーへ移行します。ディレクトリー <dir> は書き込み可能で なければいけません。さもないと、アプリケーション起動中にアボートします。オプションが設定されていない と、一時ストレージは使用されません。

-ckpoint-logfile <file>

チェックポイントのアクティビティーをモニターするには、このオプションを使用します。トレース結果は、

<file> へ出力されます。<file> は書き込み可能でなければいけません。さもないと、アプリケーション起動 中にアボートします。これは、オプション機能です。

環境変数

I_MPI_CKPOINT

構文

I_MPI_CKPOINT=<switch>

引数

<switch> チェックポイントのスイッチ。

enable | yes | on | 1 起動されたアプリケーション向けにチェックポイント機能を有効にし

ます。

disable | no | off | 0 起動されたアプリケーション向けにチェックポイント機能を無効にし

ます。これは、デフォルト値です。

説明

チェックポイントの機能を切り替えるには、この環境変数を使用します。このオプションは、-ckpoint オプ ションと同じ効果があります。–ckpointオプションを指定すると、Hydra プロセス管理はI_MPI_CKPOINT 環境変数を設定します (もし設定されていなければ)。

I_MPI_CKPOINTLIB

構文

I_MPI_CKPOINTLIB=<lib>

引数

<lib> チェックポイント・リスタートのシステム・ライブラリー。

blcr Berkeley Lab Checkpoint/Restart* (BLCR) ライブラリー。これは、デ フォルト値です。

説明

チェックポイント・リスタート・システムのライブラリーを選択するには、この環境変数を使用します。この オプションは、-ckpointlib オプションと同じ効果があります。

I_MPI_CKPOINT_PREFIX

構文

I_MPI_CKPOINT_PREFIX=<dir>

引数

<dir> チェックポイントを保存するディレクトリー。デフォルト値は/tmp

です。

説明

チェックポイントを保存するディレクトリーを設定します。このオプションは、-ckpoint-prefixオプショ ンと同じ効果があります。

I_MPI_CKPOINT_TMP_PREFIX

構文

I_MPI_CKPOINT_TMP_PREFIX=<dir>

引数

<dir> チェックポイントを一時保存するディレクトリー。

説明

-ckpoint-prefix が永続的なストレージを示し、この環境変数を使用して一時的なチェックポイントのスト

レージを示します。このオプションは、-ckpoint-tmp-prefixオプションと同じ効果があります。

I_MPI_CKPOINT_INTERVAL

構文

I_MPI_CKPOINT_INTERVAL=<sec>

引数

<sec> 秒単位のチェックポイントの間隔。

説明

タイマー駆動型チェックポイントの機能を切り替えるには、この環境変数を使用します。このオプションは、

-ckpoint-interval オプションと同じ効果があります。

I_MPI_CKPOINT_PRESERVE

構文

I_MPI_CKPOINT_PRESERVE=<N>

引数

<N> 保持するチェックポイント・イメージの最大数。デフォルト値は 1

です。

説明

チェックポイントのイメージを減らすため、実行中のチェックポイントの最後の <N> チェックポイントを保持 するには、このオプションを使用します。このオプションは、-ckpoint-preserve オプションと同じ効果が あります。

I_MPI_CKPOINT_LOGFILE

構文

I_MPI_CKPOINT_LOGFILE=<file>

引数

<file> チェックポイントのアクティビティーを保存するトレースファイル。

説明

チェックポイントのアクティビティーを監視するには、このオプションを使用します。トレース結果は、

<file> へ出力されます。このオプションは、-ckpoint-logfile オプションと同じ効果があります。

I_MPI_CKPOINT_NUM

構文

I_MPI_CKPOINT_NUM=<N>

引数

<N> アプリケーションを再開するチェックポイントのイメージ数。

説明

このオプションは、アプリケーションを再開中に使用します。このオプションは、-ckpoint-num オプション と同じ効果があります。

I_MPI_RESTART

構文

I_MPI_RESTART=<switch>

引数

<switch> 再開スイッチ。

enable | yes | on | 1 保存されているチェックポイントの 1 つからアプリケーションを再開 する機能を有効にします。

disable | no | off | 0 アプリケーションの再開を無効にします。これは、デフォルト値で

す。

説明

保存されたチェックポイントの 1 つからアプリケーションを再開するには、この環境変数を使用します。この オプションは、–restart オプションと同じ効果があります。

MPI アプリケーションの実行

チェックポイント・リスタートの機能は、Hydra プロセスランチャー (mpiexec.hydra) で利用できます。ラ ンチャーは、チェックポイントを取得するため 2 つの互いに排他的な方式を提供します。

• 時間で

• 明示的なシグナルで

チェックポイントを一時的または永続的に保存するディレクトリーのパスを指定できます。

タイマー駆動型チェックポイント

次の例では、3600 秒 (=1 時間) ごとにチェックポイントが取得されます。チェックポイントは、ckptdirと呼 ばれるディレクトリーに保存されます。各ノードは、ノード番号とチェックポイント番号からなる 1 つの チェックポイントを生成します。

user@head $ mpiexec.hydra -ckpoint on -ckpoint-prefix /home/user/ckptdir - ckpoint-interval 3600 -ckpointlib blcr -n 32 -f hosts /home/user/myapp 明示的なシグナル駆動型チェックポイント

次の例では、アプリケーションが起動されチェックポイントを取得するためアプリケーションに明示的なシグ

ナル (SIGUSR1) が送信されます。チェックポイントは、ckptdir と呼ばれるディレクトリーに保存されます。