チェックポイント設定は、次のタスクを実行する機能です。
実行中のジョブまたはアプリケーションの状態を凍結する
この状態 (チェックポイント) をディスクに保存する
システム停止などの原因で、そのジョブまたはアプリケーションが終了しなかった場合に、そのチェックポイントからジョブまたはアプリケーションを再開する
チェックポイントをあるホストから別のホストに移動すると、チェックポイント設定機能により、リソースをあまり失うことなく、クラスタ内のジョブまたはアプリケーションを移行できます。つまり、チェックポイント設定機能の助けにより、動的な負荷分散を実現できます。
Grid Engine システムは、次の 2 つのレベルのチェックポイント設定をサポートしています。
このレベルでのチェックポイント生成メカニズムは、完全にユーザーまたはアプリケーションの責任で実現します。ユーザーレベルのチェックポイント設定の例には、次のものがあります。
アプリケーション再起動時のファイルの適切な処理とともに行われる、重要なアルゴリズムステップでの、アプリケーションで符号化された再起動ファイルの定期的な書き込み。
アプリケーションにリンクする必要があり、チェックポイント設定メカニズムをインストールするチェックポイントライブラリの利用。
さまざまなサードパーティ製アプリケーションが、再起動ファイルの書き込みに基づく、統合されたチェックポイント機能を提供します。チェックポイントライブラリは、ハードウェアベンダーまたはパブリックドメインから入手できます。たとえば、University of Wisconsin の Condor プロジェクトにアクセスしてください。
このレベルのチェックポイント設定は、任意のジョブに適用できるオペレーティングシステム (またはその拡張機能) によって実現する必要があります。カーネルレベルのチェックポイント設定を使用するために、ソースコードを変更したり、アプリケーションを再リンクしたりする必要はありません。
カーネルレベルのチェックポイント設定は、ジョブ全体、すなわち、ジョブによって作成されたプロセス階層に適用できます。対照的に、ユーザーレベルのチェックポイント設定は、通常単一プログラムに制限されます。つまり、そうしたプログラムが埋め込まれているジョブは、ジョブ全体を再開した場合に、この問題に正しく対処する必要があります。
チェックポイント設定ライブラリに基づくチェックポイント設定ばかりでなく、カーネルレベルのチェックポイント設定は、非常に多くのリソースを消費する可能性があります。チェックポイント生成時にジョブまたはアプリケーションが使用している仮想アドレス空間全体をディスクにダンプしなければならないためです。これに比べて、再起動ファイルに基づくユーザーレベルのチェックポイント設定では、チェックポイントに書き込むデータを重要情報に関するものだけに制限することができます。
Grid Engine システムでは、使用する各チェックポイント設定の方法に関する、構成可能な属性記述が用意されています。さまざまな属性記述は、さまざまなチェックポイント設定方法だけでなく、さまざまなオペレーティングシステムアーキテクチャーでそれらの方法から派生する可能性がある多様な方法も反映します。
この属性記述をチェックポイント設定環境と呼びます。Grid Engine システムの配布には、デフォルトのチェックポイント設定環境が用意されており、サイトのニーズに応じて変更することができます。
原理的には、新しいチェックポイント設定方法を組み込むこともできます。ただし、新しい方法の組み込みは難しい作業になる可能性があります。このような組み込み作業は、経験の豊富なスタッフまたは Grid Engine システムサポートチームだけが行うようにしてください。
「QMON Main Control」ウィンドウで、「Checkpoint Configuration」ボタンをクリックします。「Checkpoint Configuration」ダイアログボックスが表示されます。
以前に構成したチェックポイント設定環境を表示するには、「Checkpoint Objects」の下に表示されているチェックポイント設定環境名のいずれかを選択します。「Configuration」の下に、対応する構成が表示されます。
「Checkpointing Configuration」ダイアログボックスで「Add」をクリックします。ユーザーが編集可能なテンプレート構成とともに「Add/Modify Checkpoint Object」ダイアログボックスが表示されます。
テンプレートに必要な情報を入力します。
変更を sge_qmaster に登録するには「OK」をクリックします。変更を保存せずにダイアログボックスを閉じるには、「Cancel」をクリックします。
「Checkpoint Objects」リストで、変更する構成済みのチェックポイント設定環境の名前を選択してから「Modify」をクリックします。選択したチェックポイント設定環境の現在の構成とともに「Add/Modify Checkpoint Object」ダイアログボックスが表示されます。
「Add/Modify Checkpoint Object」ダイアログボックスでは次の情報を変更できます。
名前
「Checkpoint Command」、「Migration Command」、「Restart Command」および「Clean Command」の文字列
チェックポイント設定ファイルを格納するディレクトリ
チェックポイントを開始しなければならない時点
チェックポイントの開始時点でジョブまたはアプリケーションに送信するシグナル。
これらのパラメータの詳細については、checkpoint(5) のマニュアルページを参照してください。
また、使用するインタフェースを定義する必要があります。インタフェースはチェックポイント設定方法とも呼ばれます。「Name」の下にある「Interface」リストからインタフェースを選択します。さまざまなインタフェースの意味の詳細については、checkpoint (5) のマニュアルページを参照してください。
Grid Engine システムの配布に付属するチェックポイント設定環境の場合は、「Name」のパラメータと「Checkpointing Directory」のパラメータのみ変更します。
変更を sge_qmaster に登録するには「OK」をクリックします。変更を保存せずにダイアログボックスを閉じるには、「Cancel」をクリックします。
構成済みのチェックポイント設定環境を削除するには、チェックポイント設定環境を選択してから「Delete」をクリックします。
コマンド行からチェックポイント設定環境を構成するには、適切なオプションを使用して qconf コマンドを入力します。
次のオプションを使用できます。
-ackpt オプション (チェックポイント設定環境の追加) を使用すると、チェックポイント設定環境の構成テンプレートが含まれるエディタが表示されます。このエディタは、デフォルトの vi エディタか、EDITOR 環境変数に対応するエディタのいずれかです。パラメータ ckpt-name で、チェックポイント設定環境の名前を指定します。このパラメータは、テンプレートの対応するフィールドにすでに入力されています。チェックポイント設定環境の構成は、テンプレートを変更してディスクに保存することで行います。変更すべきテンプレートエントリの詳細については、 checkpoint(5) のマニュアルページを参照してください。
-Ackpt オプション (ファイルからのチェックポイント設定環境の追加) を使用すると、指定したファイルが解析され、新しいチェックポイント設定環境の構成が追加されます。
このファイルは、チェックポイント設定環境テンプレートの形式を有する必要あります。
-dckpt オプション (チェックポイント設定環境の削除) を使用すると、指定したチェックポイント設定環境が削除されます。
-mckpt オプション (チェックポイント設定環境の変更) を使用すると、構成テンプレートとして、指定したチェックポイント設定環境が含まれるエディタが表示されます。このエディタは、デフォルトの vi エディタか、EDITOR 環境変数に対応するエディタのいずれかです。チェックポイント設定環境の変更は、テンプレートを変更してディスクに保存することで行います。変更すべきテンプレートエントリの詳細については、checkpoint(5) のマニュアルページを参照してください。
-Mckpt オプション (ファイルからのチェックポイント設定環境の変更) を使用すると、指定したファイルが解析され、既存のチェックポイント設定構成が変更されます。
このファイルは、チェックポイント設定環境テンプレートの形式を有する必要あります。
-sckpt オプション (チェックポイント設定環境の表示) を使用すると、指定したチェックポイント設定環境の構成が標準出力に出力されます。
-sckptl オプション (チェックポイント設定環境リストの表示) を使用すると、現在構成されているすべてのチェックポイント設定環境の名前のリストが表示されます。