バーストバッファの性能評価
尾形 幸亮 1), 池田 健二 1), 疋田 淳一 1)
1) 京都大学 企画・情報部
ogata.kosuke.7c@kyoto-u.ac.jp

A Performance Evaluation of Burst Buffers
Kosuke Ogata 1), Kenji Ikeda 1), Junichi Hikita 1)
1) Planning and Information Management Department, Kyoto Univ.
概要
本学のスーパーコンピュータシステム には、ストレージシステムの新たな機能として、バーストバッファと呼ばれる SSD により構成された高速な一時ストレージを導入している。バーストバッフ
ァにより、従来システムでは性能の不足しがちな、転送ブロックサイズの小さい IO や、single-shared
ファイルの IO について高速化が期待できるため、本稿ではベンチマークソフトを用いて性能測定を行った結果について報告する。

1.

同システムに配置されている 2 種類のバーストバ

はじめにッファについて、仕様を説明する。続いて、バース
トバッファの性能測定について条件と結果を述べ、

京都大学学術情報メディアセンター（以下、当結果について考察する。

センター）では、スーパーコンピュータシステムとして、Cray XC40（システム A）、Cray CS400 2820XT（システム B）、Cray CS400 4840X（システ2.

ム C）の 3 種類の演算システム及びストレージをスーパーコンピュータシステム概要運用している。ストレージは、Lustre による分散フ

スーパーコンピュータシステムの機器構成をァイルシステムと、バーストバッファと呼ばれる

図 1 に示す [1]。当センターは 3 種の演算システム

SSD により構成された高速な一時ストレージを導を保有しており、演算性能を重視したシステム A、入している。従来のストレージシステムでは読み研究室とのクラスタとの親和性・連続性を重視し書きの速度が不足する状況における性能改善を意たクラスタタイプのシステム B、大規模メモリを図している。本稿では、まず当センター保有のス必要とするユーザのためのシステム C により構成

ーパーコンピュータシステムの概要を述べたのち、している。

図 1

システム構成これに加えて、ユーザデータを格納するストレを抑えることができる。当センターでは、バースージシステムとバーストバッファを保有している。

トバッファとして、システム A 向けに Cray 社の本稿ではシステム A と B をストレージおよびバー

DataWarp、システム B および C 向けに DDN 社のストバッファを用いて性能評価を行っており、以IME を導入している（図 1 の太枠で囲われた機器）。

下に構成について説明する。
2.1.

システム A

以下、DataWarp、IME の順に、構成、理論性能、利用形態について説明する。

(Knights Landing)プロセッサを 1 基搭載したノード

2.4.1. DataWarp
DataWarp は、システム A の計算ノードと同様を 1,800 台接続した大規模並列コンピュータであに Cray 社の Aries インターコネクトに接続されてる。
各ノードには 68 個の CPU コアを搭載し、96GBおり、総容量は 230TB、転送速度は 200GB/s の構のメモリを持っている。ストレージシステムとは、成である。Lustre ファイルシステムの 50GB/s の転InfiniBand FDR x28(190.4GB/s)で接続されている。

送性能と比較し 4 倍高速である。

シ ス テ ム A は 、 Intel 社 の 最 新 の Xeon Phi

2.2.

システム Bシステム B は、Intel 社の最新の Xeon プロセッ
サ (Broadwell-EP)を 2 基搭載したノードを OmniPath ネットワークにより 850 台接続した大規模クラスタシステムである。
各ノードには 36 個の CPUコアを搭載し、128GB のメモリを持っている。ス
トレージシステムとは、Omni-path と InfiniBand のブリッジを介して接続されており、ネットワーク帯域は、193.9GB/s である。
2.3.

ストレージ

ス ト レ ー ジ シ ス テ ム と し て 、 DDN 社 のDataWarp のハードウェアは、2 個の SSD を搭載したブレードを単位としている。SSD の容量は 1個当たり 3.2TB である[2][3]。このブレード 36 台がIO ノードに装着されており、ここから直接 Ariesインターコネクトに接続される。
現段階の DataWarp の利用形態は、ユーザプログラムによるファイルのステージングを伴う高速なスクラッチ領域である。将来的には Lustre との間で透過的に I/O を高速化するストレージキャッシュとして働くようにソフトウェアアップデートが計画されている。

EXAScaler による Lustre ファイルシステムを有し

2.4.2. IME
IME は、システム B の計算ノードと同一ネットている。メタデータサーバ（MDS）6 ノード、オブワークである Omni-Path で接続されている。総容

ジェクトストレージサーバ（OSS）18 ノードで構量は 230TB、転送速度は 240GB/s であり、50GB/s成され、物理容量は 16PB、転送性能は 100GB/s での Lustre ファイルシステムよりも転送速度が 4.8ある。今回の性能評価で用いたファイルシステム倍高速である。

は、MDSx2、OSSx8、転送性能 50GB/s の構成である。システム A との間は InfiniBand EDR およびFDR により接続され、システム B および C との間は InfiniBand と Omni-Path のブリッジサーバを経て接続される。
2.4.

バーストバッファ

バーストバッファは、Lustre ストレージが苦手とする I/O を補助する目的で導入しており、MPIプロセスが共通のファイル（以下、single-shared ファイル）に行う I/O 性能の改善や、小さい I/O（一度の転送ブロックサイズは小さいが、トータルの転送量は多い状況）における性能改善が期待されるものである。特に single-shared ファイルの性能が高ければ、大規模並列時のファイル I/O において、メタデータアクセスが過大になってしまう点

IME のハードウェアは、IME14K を 6 筐体(12 ノード)導入している。IME14K は NVMe SSD(800GB)を 1 ノードあたり 24 個搭載している[4]。システム
B とは Omni Path x72 (872.6GB/s)、Lustre とは変換スイッチを介して InfiniBand EDR x16(193.9GB/s、システム B および C と共用)で接続される。
IME は Lustre のファイルシステムとメタデータを共有し、透過的にファイルアクセス可能な機構を備えている。ファイル読み込みは、直接 Lustre を参照するが、事前に IME 上にプリフェッチすることも可能である。ファイル書込みは IME 上に書き込んだ後、IME のコントロールコマンドにより、明示的に Lustre 側にシンクさせる必要がある[5]。
当センターの運用ではジョブスケジューラのジョブ終了処理にシンクコマンドが自動で実行されるよう設定することで、ストレージのキャッシュ領ブロックサイズを同一としている。条件 2 は、ノ域としての透過的な利用を実現している。

3.

ード当たりのプロセス数を 10 で固定し、複数ノー性能測定

ドにおける転送性能を測定した。他の条件は、条今回の性能測定では、ベンチマークソフトとして IO スループットベンチマークである IOR[6]と、より実際の応用を想定し、並列計算ベンチマークスイートである NAS Parallel Benchmark[7]（以下、NPB）を用いた。NPB については、サブセットである BT-IO (full) を用いている。BT-IO は、ディスク IO が比較的多いブロック三重対角行列の計算を行うベンチマークであり、single-shared のファイ件 1 と同じである。条件 3 は、single-shared ファイ
ルに対する性能を測定であること以外は、条件 2と同じである。条件 4 は、プロセス数及びノード数を 10 で固定し、I/O における 1 回あたりの転送サイズを変化させて測定した。特に小さい転送サイズにおける I/O 性能を確認する意図である。
アプリケーションベンチマークである NPB BTIO は、クラス D の問題サイズ を用いている。プルにランダムに近いアクセスを行うことが特徴でロセス数は N の二乗である制約があるが、各プロある。両者のバージョン、コンパイル環境およびセスを最小のノードに詰め込む形で測定した。測動作環境は表 1 のとおりである。
表 1

定条件を表 2 に示す。
いずれの測定においても、3 回以上測定した最ソフトウェア環境大性能の値を採用した。

項目値

ソフトウェア・バージョン

IOR 2.10.3
NPB 3.3.1

コンパイル環境Intel 17.0.2

種類

BT-IO (full)

最適化オプション

-O2

行列の規模

408x408x408 の行列式

MPI ライブラリ

Cray MPICH 7.5.3 (システム A)
Intel MPI 2017.2（システム B）

作成されるファ

表 2

NAS Parallel Benchmark の測定条件

パラメータ値（クラス D）
126GB

イルのサイズ
3.1.

総プロセス数測定条件

IOR は、Lustre とバーストバッファの転送性能を評価するために、表 3 に示す 4 つの条件を設定( カ ッコ 内は ノード数)した。条件 1 は、単一ノードの転送性能を測るためにプロセス数を変化させて測定した。MPI プロ
セスごとに別ファイルに対して I/O を行う方式（以システム A：
16(1),36(1),49(1),64(1),81(2),100(2),121(2),144(3),169(3),196(3),225(4),256(4)システム B：
16(1),36(1),49(2),64(2),81(3),100(3),121(4),144(4)下、file-per-process）を選択している。また、プロ
セスあたりの処理するファイルサイズと転送時の表 3
項目

IOR の測定条件

条件１

条件２

I/O API
ファイルアクセス

条件３

条件４

POSIX
File-per-process

File-per-process

Single-shared

File-per-process

Sequential

アクセスオーダ
計算ノード数1

1,2,4,6,8,10

1,2,4,6,8,10

10

ノードあたりプロ

1,4,8,16,32

101010

セス数
10GB

プロセスあたりのファイルサイズ
1 回あたり転送サ
イズ

10GB

10GB

10GB

16KB,32KB,64KB,128KB, 256KB,512KB, 1MB,2MB

4.

である。多ノードを使用した File-per-process にお測定結果と考察

4.1.

いてバーストバッファが Lustre に対してアドバンテージを得られた結果となっている。

単一ノードでの測定結果(条件１)

まず、IOR を用いた条件 1 での測定結果につい
図 2、図 3 の通り、Lustre はプロセス数の増加とともに転送速度が少しずつ改善するのに対し、DataWarp 及び IME では 4~8 プロセスで高い性能を示し、それ以降は最大値の約半分の性能となっ転送速度(MB/s)て、リード速度を図 2、ライト速度を図 3 に示す。ており、現状の DataWarp 及び IME のクライアン

40,00035,00030,00025,00020,00015,00010,0005,000
00

トの実装では、1 ノード当たりのプロセス数が増

Lustre(A)図 4681012Lustre(B)

DataWarp

IME

file-per-process でのリード速度(条件 2)

4,000
3,000
2,000
1,000
0051015202530

DataWarp

IME35

転送速度(MB/s)

転送速度(MB/s)

5,000

4

ノード数

えると、性能が低下することが分かる。

プロセス数
Lustre(B)

Lustre(A)図 2

40,00035,00030,00025,00020,00015,00010,0005,000
002

4681012

ノード数

単一ノード（条件１）でのリード速度

Lustre(A)

図 5

6,000

転送速度(MB/s)

2

Lustre(B)

DataWarp

IME

file-per-process でのライト速度(条件 2)

5,000
4,000

4.3.

3,000

single-shared での測定結果(条件 3)

2,000

次に、IOR を用いた条件 3 での測定結果につい1,000て、リード速度を図 6、ライト速度を図 7 に示す。

0051015202530

DataWarp

IME35

プロセス数
Lustre(A)図 3

Lustre(B)単一ノード（条件１）でのライト速度

DataWarp では計算ノードを増やしてクライアントの処理能力およびインターコネクトの帯域幅が増えるのと比例し、転送速度が向上しており、10 ノードではリード 36104MB/s、ライト 38184MB/s である。一方、Lustre では計算ノードの数によらず転送速度が低迷しており、10 ノード時にリード4.2.

複数ノードでの測定結果(条件 2)

次に、IOR を用いた条件 2 での測定結果について、リード速度を図 4、ライト速度を図 5 に示す。
DataWarp、IME ともに、計算ノードを増やしてクライアントの処理能力およびインターコネクトの帯域幅が増えるのと比例し、転送速度が向上している。10 ノード時の転送速度では、DataWarp がLustre との比でリード 3.5 倍、ライト 3.8 倍であり、IME が Lustre との比でリード 2.0 倍、ライト 2.4 倍

1002MB/s、ライト 1128MB/s となっている。DataWarp と Lustre の 10 ノード時のライト速度の比は、33.9 倍となっている。
IME についても、DataWarp と同様により転送速度が向上している。10 ノード時、IME の転送速度はリード 29390MB/s、ライト 14404 MB/s である。
なお、本来ライト性能もリードと同程度の性能がでる想定のため、この点は調査中である。一方、Lustre はリード 951MB/s、ライト 1085MB/s であり、IME との比はリードで 30.9 倍、ライトで 13.3 倍となっている。
バーストバッファで single-shared ファイルが高速に扱えることで、Lustre における file-per-processの I/O では超大規模並列を行う際のストレージのメタデータへの負荷が大きくなる問題点を改善す

転送速度(MB/s)

60,000

ることができるため、大規模計算時の速度改善が50,000
40,00030,00020,00010,000016k

40,00035,00030,00025,00020,00015,00010,0005,000
024681012Lustre(A)

転送速度(MB/s)

Lustre(B)

DataWarp

IME

single-shared（条件 3）でのリード速度
40,00035,00030,00025,00020,00015,00010,0005,000
0128k 256k 512k

1M

2M

DataWarp

IME

小さい IO（条件４）でのリード速度
45,00040,00035,00030,00025,00020,00015,00010,000
5,000
016k

32k

64k

128k 256k 512k

1M

2M

転送ブロックサイズ(Byte)
Lustre(A)Lustre(B)

DataWarp

IME

図 9

小さい IO（条件４）でのライト速度

4.5.

NAS Parallel Benchmark の測定結果

NPB BT-IO を用いて測定した結果を示す。まず、024681012ノード数
Lustre(A)4.4.

転送速度(MB/s)

図 8ノード数

図 764kLustre(B)

Lustre(A)0

図 632k

転送ブロックサイズ（Byte）

Lustre(B)

DataWarp

システム A での DataWarp と Lustre の比較を図 10に示す。

IME

single-shared（条件 3）でのライト速度
小さい IO の測定結果(条件 4)

次に、IOR を用いた条件 4 での測定結果につい3,500

平均転送速度(MB/s)

転送速度(MB/s)

期待できる。

3,000
2,500
2,000
1,500
1,000
0て、リード速度を図 8、ライト速度を図 9 に示す。
DataWarp は小さすぎる I/O は不得手であるが、プロセス数（カッコ内はノード数）

128KB 以降で Lustre を上回る性能を示している。

LustreIME については、32KB までは Lustre が優位であり、それ以降に Lustre を上回る性能を示している。

500

図 10

DataWarp

転送速度（DataWarp 対 Lustre）

DataWarp は、Lustre に比べ最大 16.8 倍の転送速度向上が見られたが、100 プロセス以降は転送速度が下がっている。転送速度が下がる原因として、
126GB のデータ量では、100 プロセス超の並列処理には不足していることが原因と考えられるが、それまでは順調に並列化効果を得られていると言える。より大規模な並列性能を確認するために、

データサイズが大きいクラス E の追加測定を行った。なおクラス E では、総データサイズは 2072GBである。測定結果を図 11 に示す。400（20x20）～
784（28x28）プロセスでは、並列化効果が得られており、データ量が十分であれば、100 プロセス以上でも転送性能が伸びていることが確認できる。4005.

おわりに
本稿では、当センターのスーパーコンピュータシステムに配置されている 2 種類のバーストバッ
ファおよび Lustre ストレージシステムについて、仕様と性能測定の結果と考察を述べた。

プロセス以下の実行は、ノードのメモリが不足す

今回はプログラムの改変を伴わずに扱えるるため測定していない。1024（32x32）プロセス以POSIX インターフェイスによる性能を評価したが、降は、転送性能が低下し横ばいになっているが、IME に は よ り 高 速 に ア ク セ ス 可 能 な MPI-IO

1024 並列ではデータサイズが約 2GB (2072GB /（ROMIO）インターフェイスがあるため、今後の1024) となり、クラス E でも 1024 並列以上ではデータ量が不足するためと考えられる。

追加調査についても検討している。DataWarp 及びIME は、初期バージョンがリリースされたばかり平均転送速度（MB/s）の発展途上中の状態であるため、今後のソフトウェアアップデートによる機能追加及び性能の改善5,500が期待されるため、2018 年度に予定している本格5,000
4,500運用開始に向けて継続的に性能評価を行いたいと4,000考えている。

3,500
3,000
2,5002,000

参考文献
プロセス数（カッコ内はノード数）
datawarp

図 11転送速度（DataWarp、クラス E）

次に、システム B で IME と Lustre の比較を行ったものを図 12 に示す。IME では、Lustre に比べ最大 8.0 倍の転送速度向上が見られた。IME についてもプロセス当たりのデータ量が 2GB 以下となる
64 プロセス以降に DataWarp 同様転送性能が落ちる結果となった。なお、大規模な計算ノードの確保の確保ができなかったため、クラス E について平均転送速度(MB/s)

は未測定である。
1,400
1,200
1,000
800
600
400
2000

プロセス数（カッコ内はノード数）
Lustre

図 12IME

転送速度（IME 対 Lustre）[1] 京学術情報メディアセンター、“スーパーコンピュータシステム”、京都大学、
http://www.iimc.kyotou.ac.jp/ja/services/comp/supercomputer (参照2017-09-27)[2] “Cray XC40 DataWarp Applications I/OAccelerator”、Cray Inc.、
http://www.cray.com/sites/default/files/resources/
CrayXC40-DataWarp.pdf (参照 2017-09-27)[3] “Accelerate your IO with the NERSC BurstBuffer”、NERSC、
https://www.nersc.gov/assets/Uploads/DataDayBurstBuffer.pdf (参照 2017-09-27)[4] “IME - アプリケーション認識型 I/O アク
セラレーションおよびバーストバッファ”、
DDN Inc.、
https://ddn.co.jp/products/ssdstorage/ime.html(参照 2017-09-27)[5] 橋爪 信明、“バーストバッファ型 IO アクセ
ラレーション製品 DDN IME のご紹介”
DDN Inc.、
https://ddn.co.jp/dcms_media/other/IME_14_vol2
1no4_shinseihin.pdf (参照 2017-09-27)[6] “IOR HPC Benchmark”、Lawrence Livermore
National Laboratory、
https://sourceforge.net/projects/ior-sio/files/ (参照 2017-09-27)[7] “NAS Parallel Benchmarks I/O Version 2.4”、
NASA、
https://www.nas.nasa.gov/assets/pdf/techreports/2003/nas-03-002.pdf (参照 2017-09-27)