Up|<<Prev|Next>>


9.4 UNICOS 最適化

前出のように、I/O効率を向上させるためにI/O階層を置き換えることは可能です。 Cray Y-MPと類似した、Cray コンピューターのOSであるUNICOSに関しては、これは既になされています。

更に、 NETCDF_FFIOSPEC 環境変数を正しく設定することにより、ユーザーは一層、I/O効率を上げることが出来ます。この変数は、UNICOS OS下で実行中に、NetCF I/Oの Flexible File I/OTバッファを指定します。(この変数は他のOSでは無視されます。)適切な設定を選択すればNetCDF I/Oの効率を飛躍的に向上させることが出来ます―デフォルトのFORTRAN bianry I/Oを超えることもも可能です。下記のような指定が可能です。

 

bufa:336:2

2、 非同期、各336ブロックの I/O バッファ(つまりダブルバッファ)。これはデフォルト指定で、連続的なI/O向け。

cache:256:8

8、同期、 256ブロックバッファ。 大きいランダムアクセス向け。

cachea:256:8:2

8、非同期、2ブロック先行読み取り/後方書き込みファクタ付き256ブロックバッファ 。より大きなランダムアクセス向け。

cachea:8:256:0

256、非同期、先行読み取り/後方書き込み無しの8ブロックバッファ。これは小さなページ向けで、ランダムアクセス向きに先行読み取り機能がありません。NetCDF配列をスライスなどが例として挙げられます。

cache:8:256,cachea.sds:1024:4:1

これは2階層キャッシュです。最初の(同期)階層は メモリ内の 256個の 8ブロックバッファからなり、2番目の(非同期)階層は SSD上の 4個の 1024ブロックバッファからなります。 この機構はデータセット内を2x1024ブロックの単位で 波状にランダムあくせすする場合に向いています。

CRIの FFIO ライブラリによってサポートされているオプション/構成はこの機構を通じて利用できます。FFIOの機能を最大限利用するためにCRIのI/O最適化ガイドを参照することをお勧めします。 この機構は、又、CRIのEIE I/Oライブラリとも互換性があります。

Tuning the NETCDF_FFIOSPEC 変数をプログラムのI/Oパターンに調整すれば、性能が飛躍的に向上します。何百倍というスピードが得られた例もあります。


Up|<<Prev|Next>>