このページの更新は終了しました。

最新の情報はTSUBAME3.0計算サービスのWebページをご覧ください。

TSUBAME2.5からTSUBAME3.0へのデータ移行方法の資料はこちら

Lustreの負荷を上げないアクセス方法を教えてください。

並列処理の場合、/home領域ではなく、並列I/Oに対応したLustre(work0,1)をご利用ください。
Lustreは並列対応しておりますが、並列数が増加してくると、やはり負荷が上がる状況が発生してまいります。
Lustre(/work0)の負荷を上げない利用方法として、以下のような点があげられます。

・細かく頻繫に繰り返し/work0にアクセスするような場合、処理をまとめて回数をへらす。
・目的に応じて、
   - ローカルSSD(/scr) ノード内で閉じている細かいI/O用
   - 共有スクラッチ(/gscr0) 一時ファイル用
   - gpfs領域(/data0) テープ装置と連動する高速なデータ置き場用
     を利用して分散する
・ジョブの開始タイミングを分散する。
・ディレクトリあたりのファイル数を減らす。

シェル内で発行されるtailコマンドなどでファイルを連続的に参照している場合、下記 1番と同様の状況になります。
MPIプログラムではプロセス別に動作しますので、同一ファイル名の場合、上書き等が発生して正しい結果が得られない場合があります。通常はプロセス番号等をファイルに付加して分散ファイル化します。
チューニング講習会資料 ( http://tsubame.gsic.titech.ac.jp/docs/guides/UNIX/tune.pdf )
P.111 入出力ファイルの分散化に具体的なプログラム記述方法が示されています。

また、プログラムなどでは次の点について留意ください。
1.ループ内でwrite文は使用しない
   → ループ等での連続出力はLustreを高騰させます。
※ DBなどで挿入したwrite文はコメントアウトしてください
2.ファイルは、なるべく書式無しを利用
   → 書式付きに比べて書式無し出力は10倍以上処理が速くなります。(read/write同様)
3.ファイルのオープンは最初に実施し、closeは最後に1回
   → パラメータ等をその都度、必要に応じて入力するような場合は、
       一括入力(シングル)に、また、MPI等ではrank0で読み込み他のrankにbcast展開する処理のほうが速くなります。

MPIプログラムの場合、ファイルと通信を組み合わせて利用することにより処理の高速化にもつながりますのでご検討ください。

【重要】
同時実行(並列も同様)処理は処理数の増加と共に負荷が顕著化してまいります。
大量処理、並列処理等を実施する場合、ストレージのモニタ
http://mon.g.gsic.titech.ac.jp/storage/
等を参照しながら、負荷が増大しないことを確認いただけますと幸いです。