京スパコンでは、データやプログラムの格納は、計算ノード群に近いローカルファイルシステムと大容量のグローバルファイルシステムという2階層の構成になっている。そして、ローカルファイルシステムの記憶装置ラックは4本の計算ノードラックとペアとなる形で隣接して置かれており、グローバルファイルシステムの記憶装置は建屋の1階にまとめて設置されている。

京スパコンは2階層のファイルシステムを持ち、ステージングを行っている

データやプログラムはグローバルファイルシステムに格納されているが、計算を行う前にローカルファイルシステムに転送しておく。そして、計算の途中ではローカルファイルだけを使用し、計算が終わるとその結果をローカルファイルからグローバルファイルに転送する。このような動作をステージングと呼ぶ。

このようにすると、計算ノードは高速のローカルファイルだけをアクセスするのでファイルI/Oの時間を短くできる。また、計算中に前のジョブの処理結果をステージ・アウトし、次のジョブに必要なデータやプログラムをステージ・インしておけば、計算ノードを遊ばせることなく処理を続けられる。

それぞれの計算ノードは、分担する仕事に必要な部分だけを読み書きすれば良く、ファイル全体をアクセスする必要はないという場合が多い。このため、ステージ・インを行う時に、それぞれの計算ノードが必要とする部分をその計算ノードの近くにある記憶装置に格納するというデータ転送を行う。このようにすることにより、ファイルの読み書きのデータがTofuインタコネクトを通るのを最小にし、アクセス時間を短縮すると同時に混雑の緩和にも貢献している。

ローカル、グローバルのファイルシステムは、どちらもLustreというオープンソースのファイルシステムに富士通が大規模化などのための改良を加えたFEFS(Fujitsu Exabyte File System)である。Lustreは、多数の記憶装置に分散してファイルを記憶し並列にアクセスを行う分散ファイルシステムであり、どのファイルがどこに格納されているかなどの管理情報(メタデータ)を扱うメタデータサーバ(MDS)、記憶装置を管理してファイルのR/Wを行うオブジェクトストレージサーバ(OSS)とデータの記憶装置であるオブジェクトストレージターゲット(OST)から構成される。

ローカルファイルシステムのR/Wバンド幅性能の測定結果

この図は、192ラックという全体の1/4.5の規模でのローカルファイルシステムの性能測定結果である。性能はOSS数に依存するが、574台としたケースでは、Read性能は334GB/s、Write性能は249GB/sとなっており、フルシステムではどちらも1TB/sを超えると予想される。

次の図は、このメタデータサーバのディレクトリやファイルの作成、消去の性能の測定結果で、OST数が2300あたりまでは一定の性能を維持しているが、OST数が4000という大規模システムになると、ディレクトリ消去以外では性能低下の傾向が見られる。

ディレクトリとファイルの作成、消去の操作のメタデータアクセスの性能測定結果

京スパコンのFEFSは富士通が大規模化のための拡張を行ったものであるが、元のLustreが京のような大規模なファイルシステムを想定して設計されていないことから、このように、大規模システムに十分対応できていない点があり、改良が続けられているという。

京コンピュータ全体としては、現在は試験利用という位置づけで運用しており、このような改良やチューニングを続け、2012年6月に完成の予定である。そして、11月からは一般ユーザを受け入れる共同利用を開始する。

スパコンは作ることが目的では無く、防災減災や創薬の効率化など我々の生活に役立つ成果や、医療や科学の発展に寄与する成果を得ることが目的であり、共同利用開始が本当の目的へのチャレンジの始まりである。