ジョブ実行結果の管理

このページでは、ジョブが生成した全ての出力ファイルを管理する方法について説明します。出力ファイルを効果的に管理することによって、ファイルのサイズ縮小(転送速度の改善につながります)、データの効率的な整理、およびRescaleのストレージ上のファイルへの容易なアクセスといった多くの利点があります。

概要

Rescale上でジョブを実行する場合、作業ディレクトリは $HOME/work/ となります。これは、実行中のソフトウェアが全ての出力ファイルをダンプする場所であり、デフォルトのコマンドプロンプトの作業ディレクトリでもあります。

ジョブ実行が完了すると、作業ディレクトリにあるファイルを保存し、ストレージに転送します。これは通常ジョブ実行の最後のステップであり、このステップにかかる時間は、ファイルサイズの合計とファイル数に依存します。

不必要なファイルの削除

効率的にファイルを管理するための簡単な方法は、ジョブの終了時に不必要なファイルを削除することです。これは、シミュレーションのコマンドの末尾に、追加のコマンドを記述することで実現できます。

ワイルドカード * を使ってファイル名を任意の文字にマッチさせることにより、1つのコマンドで複数のファイルを削除することができます。

ソフトウェア設定のページに記述するコマンドの例を以下に示します。

Job cleanup

削除されたファイルは復元できないので、ご注意ください。

ファイルの圧縮

ファイルを圧縮することで、様々なメリットがあります。まず、ファイルサイズを小さくし、ファイル数を少なくすることで、データのアップロードとダウンロードを高速化することができます。これは、出力ファイルが非常に大きくなることが予想される場合(10GB以上)に特に重要です。次に、作業ディレクトリを1つの圧縮ファイルにすることで、ディレクトリ構造を保持することができます。Rescaleのストレージ上でファイルを管理する場合、ディレクトリ構造を維持したいのであれば、代わりにZIPファイルとして保存すると便利です。

Rescaleでは以下の圧縮形式に対応しています。

  • .zip
  • .tar, .tar.gz, .tgz, .gz

例えば、全てのd3plotファイルをアーカイブしたい場合は、以下のようなコマンドを使用します。

tar -czf archive.tar.gz *d3plot*
rm *d3plot*

出力ファイルフィルター

この機能は、フィルターにマッチしたファイルを個別にアーカイブすることで、ジョブ結果ファイルの一部を簡単にダウンロードできるようにするものです。Rescaleのフィルターは正規表現によりマッチングを行い、出力を返します。

Output filters button

セレクターの設定

ジョブ投入が行われていなければ、ジョブ設定のどこからでも Filters ボタンにアクセスできます。Filters ボタンをクリックすると、下図のような Output File Archive Filters ウィンドウが表示されます。

Output filters window

セレクターボックスにフィルターを記述し、Add クリックするとセレクターが適用されます。適用されたフィルターがセレクターのリストに表示されます。ファイルのフィルターは必要な数だけ追加することができます。複数のフィルターの場合、すべてのフィルターに対してマッチングを行い、1つのアーカイブとして結果が残ります。

セレクターを削除するしたい場合は、Action カラムの下にある X キーをクリックします。以下がいくつかの例になります。

全てのディレクトリを対象とするファイルフィルターの例

  • **/**

このセレクターは、結果のディレクトリ中の全てのファイルをzip圧縮します。

  • **/velocity.jpeg

このセレクターは、結果のディレクトリ中の任意のパスにある velocity.jpeg という名前の全てのファイルをzip圧縮します。

  • **/*.out

このセレクターは、結果のディレクトリ中の任意のパスにある .out拡張子がついた全てのファイルをzip圧縮します。

  • **/residual*

このセレクターは、結果のディレクトリ中の任意のパスにある residual名前ではじまる全てのファイルをzip圧縮します。

  • **/*plot*

このセレクターは、結果のディレクトリ中の任意のパスにあるplot文字列を名前に含む全てのファイルをzip圧縮します。

特定のディレクトリを対象とするファイルフィルターの例

  • **.jpeg

このセレクターは、結果のルート(トップレベル)ディレクトリ中にある .jpeg拡張子がついた全てのファイルをzip圧縮します。

  • Airfoil/**

このセレクターは、Airfoilディレクトリ中の全てのファイルをzip圧縮します。

  • Airfoil/*.out

このセレクターは、Airfoilディレクトリ中にある.out拡張子がついた全てのファイルをzip圧縮します。

圧縮されたセレクターの検索

ジョブが完了したら、結果のページへ移動してください。全ての出力ファイルフィルターはzipファイルとしてアーカイブされ、output-archive.zip という名前となります。このファイルは、以下の画像例のように、結果ファイルのルート(トップレベル)ディレクトリに保存されます。

Output archive file

ポスト処理スクリプト

また、ポスト処理スクリプトを活用することで、より複雑なクリーンアップやポスト処理コマンドを実行することも可能です。このコマンドは、ソフトウェア設定のページで設定したコマンドが全て実行された後、一度だけ実行されます。この機能/スクリプトを使用して、ジョブ出力をクリーンアップしたり、結果のページで見やすいようにパースしたりすることができます。

ポスト処理機能の使い方についてはこちらで詳しく解説しています。