ジョブ結果の管理
最終更新日2022年6月1日
概要
このページでは、ジョブから生成されたすべての出力ファイルを管理する方法を説明します。出力ファイルを効果的に管理することで、ファイルサイズの縮小(つまり転送速度の向上)、データの効率的な管理、Rescale Cloud Files上のファイルへの簡単なアクセスなど、多くの利点があります。
Rescaleでジョブを実行する場合、作業ディレクトリは$HOME/work/.に配置されます。これは、実行中のソフトウェアがすべての出力ファイルを保存する場所であり、また、デフォルトで公開されるコマンドラインプロンプトの作業ディレクトリでもあります。
ジョブが完了すると、Rescaleプラットフォームは、前述のワークディレクトリにあるすべてのファイルをRescaleファイルに保存・転送します。これは通常、ジョブの最後のステップで、これにかかる時間は、ファイルの総容量とファイル数に依存します。
ベストプラクティス:不要なファイルの削除
ファイルを効率的に管理する方法のひとつに、ジョブの最後に不要なファイルを削除する方法があります。これは、シミュレーションの実行コマンドの下にコマンドを追加することで可能です。
また、ワイルドカード*を使用すると、任意の文字にマッチし、1つのコマンドで複数のファイルを削除することができます。
ソフトウェア設定ページに記載するコマンドの例を以下に示します。
注意:削除されたファイルは復元できません。また、ジョブがWalltimeに達した場合、クリーンアップコマンドは実行されません。
ベストプラクティス:ファイル転送時間を短縮するために圧縮ファイルを使用する
ファイルを圧縮することには、多くの利点があります。まず、ファイルサイズとファイル数が減少するため、アップロードとダウンロードのプロセスが高速化されます。これは、出力ファイルが非常に大きくなる(10GB以上)ことが予想される場合、特に重要です。
次に、作業ディレクトリを1つの圧縮フォルダに圧縮することで、ディレクトリ構造を保持することができます。Rescale Cloud Filesでファイルを管理している場合、ディレクトリ構造を維持したいのであれば、ZIPファイルを保存することをお勧めします。
Rescaleは以下の圧縮方式をサポートしています。
- .zip
- .tar, .tar.gz, .tgz, .gz
例えば、すべてのd3plotファイルをアーカイブしたい場合は、以下のようなコマンドを使用します。
tar -czf archive.tar.gz *d3plot*
rm *d3plot
出力ファイルフィルタ
出力ファイルフィルタ機能は、フィルタにマッチしたファイルを個別にアーカイブすることで、ジョブ結果ファイルのサブセットのダウンロードを容易にします。Rescaleのフィルタは、正規表現(regex)を使ってマッチングを行い、出力を返します。
セレクタのセットアップ
ジョブがまだ送信されていなければ、ジョブセットアップのどこからでもFiltersボタンにアクセスすることができます。Filters ボタンをクリックします。Output File Archive Filtersウィンドウが下図のように表示されます。
Selectorボックスにフィルタを記入し、Addをクリックしてセレクタを適用します。適用されたフィルターは、Selector(s)リストに表示されます。必要な数だけファイルフィルターを追加することができます。複数のフィルタの場合、一致したものをすべて1つのアーカイブに格納します。セレクタを削除する必要がある場合は、Action列の下のXキーをクリックします。以下は、あなたのケースに有用ないくつかの例です。
次の例では、すべてのディレクトリを対象にフィルタリングを行います。
**/**
このセレクタは、結果ディレクトリにあるすべてのファイルをzipで圧縮します。
**/velocity.jpeg
このセレクタは、結果ディレクトリ内のあらゆる場所にあるvelocity.jpegという名前のファイルをすべて圧縮します。
**/*.out
このセレクタは、結果ディレクトリ内のあらゆる場所で拡張子が.outで終わるすべてのファイルを圧縮します。
**/residual*
このセレクタは、結果ディレクトリ内のあらゆる場所にあるresidualで始まるすべてのファイルをzip圧縮します。
**/*plot*
このセレクタは、結果ディレクトリ内のあらゆる場所で、ファイル名にplotという文字列を含むすべてのファイルを zip で圧縮します。
特定のディレクトリのファイルフィルタの例
**.jpeg
このセレクタは、Resultsのルート(トップレベル)ディレクトリにある拡張子が.jpegで終わるすべてのファイルをzip圧縮します
Airfoil/**
このセレクタは、Airfoilディレクトリ内のすべてのファイルをzip圧縮します
Airfoil/*.out
このセレクタは、Airfoilディレクトリ内の拡張子が.outで終わるすべてのファイルを圧縮します。
圧縮されたセレクタの検索
ジョブが完了したら、Resultsページに移動してください。すべての出力ファイルのフィルタはzipファイルにアーカイブされ、output-archive.zipと名付けられます。このファイルは、下の画像の例のように、Results ファイルのルート (トップレベル) ディレクトリにあります。
次のステップ
ジョブ結果ファイルを管理した後、ポスト処理スクリプトを使用して、より複雑なクリーンアップおよびポスト処理コマンドを実行することもできます。このスクリプトは、ソフトウェア設定ページのコマンドがすべて実行された後にのみ実行されます。この機能/スクリプトを使用して、ジョブ出力をクリーンアップしたり、Resultsページで見やすくするために変数を解析したりすることができます。
ポスト処理機能の使い方については、こちらで詳しく解説しています。