SlideShare a Scribd company logo
1 of 43
Download to read offline
GPU	
  アクセラレータと不揮発性メモリ
を考慮した	
  I/O	
  性能の予備評価	
白幡 晃一1,2、佐藤 仁1,2、松岡 聡1	
  
1:	
  東京工業大学	
  
2:	
  JST	
  CREST	
1
GPU	
  と不揮発性メモリを用いた	
  
大規模データ処理	
•  大規模データ処理	
  
–  センサーネットワーク、遺伝子情報、SNS	
  など	
  
–  ペタ〜ヨッタバイト級	
  →	
  高速処理が必要	
  
•  スーパーコンピュータ上での大規模データ処理	
  
–  GPU	
  
•  高性能、高バンド幅	
  
–  例)	
  Tesla	
  K20X	
  3.95Tflops、250	
  GB/s	
  
•  メモリ容量は	
  〜5GB	
  程度	
  →	
  データの退避が必要	
  
–  不揮発性メモリ	
  
•  SSD,	
  PCI-­‐E接続型フラッシュメモリなど	
  
•  高バンド幅(数	
  GB/s)、高速	
  I/O(〜1M	
  IOPS)	
  
•  安価で高性能な mSATA	
  SSD	
  (mini	
  SATA	
  SSD)	
  の出現	
  
2
問題点	
•  スーパーコンピュータ上でのローカルディスク
の最適な構成方法は明らかではない	
  
– ローカルディスクの構成方法	
  
•  最適な不揮発性メモリの選択	
  
•  不揮発性メモリを用いたマシンの構成方法	
  
– ローカルディスクから	
  GPU	
  への最適な	
  I/O	
  手法	
  
•  ローカルディスクの設定、GPU	
  への転送手法、転送粒度	
  
3	
?
解決手法	
•  不揮発性メモリから	
  GPU	
  への	
  I/O	
  手法の比較	
  
– 複数 mSATA	
  SSD	
  を用いたプロトタイプマシンの設計	
  
•  mSATA	
  SSD	
  のバンド幅を最大限に引き出す設計	
  
•  既存の不揮発性メモリとの性能比較	
  
– 複数 mSATA	
  SSD	
  から	
  GPU	
  への	
  I/O	
  性能評価	
  
•  複数 mSATA	
  SSD	
  の構成、設定、I/O手法、GPU	
  への転送
手法、転送粒度	
4
目的と成果	
•  目的	
  
–  不揮発性メモリから	
  GPU	
  への最適な	
  I/O	
  手法を把握	
  
•  成果	
  
–  16	
  枚の mSATA	
  SSD	
  を用いたプロトタイプマシンの設計	
  
–  複数 mSATA	
  SSD	
  の	
  I/O	
  基本性能の評価	
  
•  16枚の mSATA	
  SSD	
  で 7.39	
  GB/s	
  (理論ピークの 92.4%)	
  
•  8枚の mSATA	
  SSD	
  で PCI-­‐E	
  接続型フラッシュメモリに対して
3.20〜7.60	
  倍 の	
  Read	
  性能	
  
–  複数 mSATA	
  SSD	
  から	
  GPU	
  への	
  I/O	
  性能の予備評価	
  
•  8枚の mSATA	
  SSD	
  から	
  GPU	
  へ 3.06GB/s	
  のスループット	
5
発表の流れ	
1.  背景	
  
2.  複数 mSATA	
  SSD	
  を用いた予備評価	
  
1.  プロトタイプマシンの設計	
  
2.  I/O	
  ベンチマークを用いた評価	
  
3.  既存の不揮発性メモリとの性能比較	
  
3.  複数 mSATA	
  SSD	
  と	
  GPU	
  を用いた予備評価	
  
1.  プロトタイプマシンの設計	
  
2.  ベンチマークアプリケーションの実装	
  
3.  予備評価	
  
4.  関連研究	
  
5.  まとめ	
6
発表の流れ	
1.  背景	
  
2.  複数 mSATA	
  SSD	
  を用いた予備評価	
  
1.  プロトタイプマシンの設計	
  
2.  I/O	
  ベンチマークを用いた評価	
  
3.  既存の不揮発性メモリとの性能比較	
  
3.  複数 mSATA	
  SSD	
  と	
  GPU	
  を用いた予備評価	
  
1.  プロトタイプマシンの設計	
  
2.  ベンチマークアプリケーションの実装	
  
3.  予備評価	
  
4.  関連研究	
  
5.  まとめ	
7
複数枚の mSATA	
  SSD	
  を用いた	
  I/O	
•  mini	
  SATA	
  SSD	
  (mSATA	
  SSD)	
  
–  mSATA:	
  	
  SATA	
  規格コネクターの仕様の一つ	
  
–  mSATA	
  SSD:	
  	
  mSATA	
  接続の	
  SSD	
  
•  通常の	
  SSD	
  に比べ面積が小さい	
  
•  複数枚の mSATA	
  SSD	
  を組み合わせて使用	
  
–  高いコストパフォーマンスを実現可能	
  
•  例)	
  crucial®	
  m4	
  msata	
  SSD	
  256	
  GB:	
  	
  
–  Read:	
  500	
  MB/s、Write:	
  260	
  MB/s	
  
–  平均アクティブ時消費電力:	
  <200mW	
  
–  $260	
  〜	
  $300	
  
•  SSD	
  に比べ、設置面積・消費電力で優位	
  
•  PCI-­‐E	
  接続型フラッシュメモリに比べ、価格・バンド幅で優位	
  
8
マザーボード	
	
  
RAID	
  カード	
mSATA	
 mSATA	
 mSATA	
 mSATA	
PCI-­‐E	
  3.0	
  x	
  8レーン	
  
8	
  GB/s	
  (片方向)	
  (>	
  4GB/s)	
mSATA	
  SSD:	
  	
  
	
  	
  	
  	
  容量:	
  256GB	
  x	
  16枚 →	
  4TB	
  
	
  	
  	
  	
  Readバンド幅:	
  0.5GB/s	
  	
  x	
  16枚 →	
  8	
  GB/s	
  
複数 mSATA	
  SSD	
  を用いた	
  
プロトタイプマシンの設計	
SATA	
  3.0	
  
0.5	
  GB/s	
  x	
  8ポート →	
  4	
  GB/s	
  
9	
Readバンド幅:	
  	
  
0.5	
  GB/s	
  x	
  8枚	
  →	
  4	
  GB/s
複数 mSATA	
  SSD	
  プロトタイプマシン上
での予備評価	
•  複数 mSATA	
  SSD	
  の基本	
  I/O	
  性能評価	
  
–  ハードウェア RAID	
  の有無	
  
•  Raw	
  デバイス	
  (ハードウェアRAIDを組まない)	
  
–  1枚毎にマウントし、 それぞれ	
  Ext4	
  でファイルシステムを作成	
  
–  ブロックサイズ(1枚当たり):	
  4KB	
  
•  RAID	
  0	
  
–  ストライプサイズ:	
  64KB,	
  1MB	
  
–  キャッシュ機能の	
  ON・OFF	
  
–  複数 mSATA	
  SSD	
  のスケーラビリティ	
  
•  枚数:	
  1,	
  2,	
  4,	
  8,	
  16	
  
•  他の不揮発性メモリとの比較	
  
–  SSD	
  
–  PCI-­‐E	
  接続型フラッシュメモリ	
  
10
複数 mSATA	
  SSD	
  プロトタイプマシン上
での予備評価	
•  複数 mSATA	
  SSD	
  の基本	
  I/O	
  性能評価	
  
–  ハードウェア RAID	
  の有無	
  
•  Raw	
  デバイス	
  (ハードウェアRAIDを組まない)	
  
–  1枚毎にマウントし、 それぞれ	
  Ext4	
  でファイルシステムを作成	
  
–  ブロックサイズ(1枚当たり):	
  4KB	
  
•  RAID	
  0	
  
–  ストライプサイズ:	
  64KB,	
  1MB	
  
–  キャッシュ機能の	
  ON・OFF	
  
–  複数 mSATA	
  SSD	
  のスケーラビリティ	
  
•  枚数:	
  1,	
  2,	
  4,	
  8,	
  16	
  
•  他の不揮発性メモリとの比較	
  
–  SSD	
  
–  PCI-­‐E	
  接続型フラッシュメモリ	
  
11
複数 mSATA	
  SSD	
  の基本 I/O	
  性能評価	
•  目的:	
  複数 mSATA	
  SSD	
  の基本	
  I/O	
  性能を確認	
  
•  シーケンシャル Read,	
  Write	
  の測定	
  
•  fio	
  の設定	
  
– I/O	
  エンジン:	
  	
  libaio	
  
– I/O	
  queue	
  depth:	
  1	
  
– I/O	
  ブロックサイズ	
  
•  シーケンシャル Read:	
  	
  4MB	
  
•  シーケンシャル	
  Write:	
  	
  4MB	
  
– 使用したデータサイズ:	
  200GB	
  (1	
  mSATA	
  SSD	
  当たり)	
  
12
評価環境	
CPU:	
  	
  Intel®	
  Core™	
  i7-­‐3770K	
  CPU	
  @	
  3.50GHz	
メモリ:	
  	
  16.292	
  GB	
  
	
  
RAID	
  カード:	
  
	
  	
  adaptec	
  ASR-­‐7805Q	
	
mSATA	
 mSATA	
 mSATA	
 mSATA	
mSATA	
  SSD:	
  	
  
	
  	
  crucial®	
  m4	
  msata	
  256GB	
  SATA	
  6Gbps	
  
	
  	
  Readバンド幅:	
  	
  0.5GB/s	
  x	
  16枚	
  =	
  8	
  GB/s	
  
	
  	
  Writeバンド幅:	
  	
  0.26	
  GB/s	
  x	
  16枚	
  =	
  4.16	
  GB/s	
  
PCI-­‐E	
  3.0	
  x8レーン	
 PCI-­‐E	
  3.0	
  x8レーン	
SATA	
  3.0
Read	
  バンド幅の測定結果	
•  Raw	
  デバイスは RAID0	
  に対して	
  10%	
  程度高速	
  
–  7.69	
  GB/s,	
  理論ピークの 96.2%	
  
•  RAID0	
  でもストライプサイズを大きくすれば高性能	
  
–  1MB	
  では	
  7.39	
  GB/s	
  (理論ピークの 92.4%)	
  
0	
  
1000	
  
2000	
  
3000	
  
4000	
  
5000	
  
6000	
  
7000	
  
8000	
  
9000	
  
0	
   5	
   10	
   15	
   20	
  
Bandwidth	
  [MB/s]	
#	
  mSATAs	
Raw	
  mSATA	
  4KB	
  
RAID0	
  1MB	
  
RAID0	
  64KB	
  
RAID0	
  1MB	
  (cache	
  off)	
  
RAID0	
  64KB	
  (cache	
  off)	
  
14
Write	
  バンド幅の測定結果	
•  RAID0	
  1MB	
  が最も高速 (3.75	
  GB/s,	
  理論ピークの	
  90.2%)	
  
–  RAIDカードが遅延書き込みの最適化を行っている可能性	
0	
  
500	
  
1000	
  
1500	
  
2000	
  
2500	
  
3000	
  
3500	
  
4000	
  
0	
   5	
   10	
   15	
   20	
  
Bandwidth	
  [MB/s]	
#	
  mSATAs	
Raw	
  mSATA	
  4KB	
  
RAID0	
  1MB	
  
RAID0	
  64KB	
  
RAID0	
  1MB	
  (cache	
  off)	
  
RAID0	
  64KB	
  (cache	
  off)	
  
15
他の不揮発性メモリとの性能比較	
•  目的:	
  他の不揮発性メモリとの性能差を把握	
  
•  比較対象	
  
– SSD	
  
•  TSUBAME	
  2.0	
  の計算ノードに搭載されているローカル	
  
SSD	
  を使用	
  
– PCI-­‐E	
  接続型フラッシュメモリ	
  
•  Fusion	
  IO	
  社の	
  ioDrive2	
  を使用	
  
•  Readバンド幅:	
  1.4	
  GB/s	
  
•  CPU	
  上での密行列ベクトル積を用いて比較	
  
– シーケンシャル	
  Read	
  が実行時間の多くを占める	
  
16
他のデバイスとの比較結果	
•  mSATA	
  SSD	
  8枚の方が	
  ioDrive2	
  より 3.20〜7.60倍 高速	
  
•  mSATA	
  SSD	
  はシーケンシャルI/O性能に優れる	
  
0	
  
0.5	
  
1	
  
1.5	
  
2	
  
2.5	
  
3	
  
3.5	
  
4	
  
4.5	
  
5	
  
0.274	
   0.547	
   1.09	
   2.19	
   4.38	
   8.75	
   17.5	
   35	
  
Throughput	
  [GB/s]	
Matrix	
  Size	
  [GB]	
8	
  mSATA	
  (RAID	
  0)	
  
ioDrive2	
  
TSUBAME	
  SSD	
  
17
複数 mSATA	
  SSD	
  を用いた	
  
実験のまとめ	
18	
•  Read,	
  Write	
  ともに	
  RAID0	
  を使用した場合に良好な性能	
  
–  理論ピークの 90%	
  以上の性能	
  
–  複数 mSATA	
  SSD	
  でスケールを確認	
  
–  ストライプサイズを大きく設定することにより、複数 mSATA	
  
SSD	
  のバンド幅を活かせている	
  
•  複数 mSATA	
  SSD	
  を用いることにより既存の不揮発性メ
モリに対して高いスループット	
  
–  ioDrive2	
  より 3.20〜7.60	
  倍高速	
  
–  PCI-­‐E	
  接続型フラッシュメモリは	
  IOPS	
  に特化しているため	
  
複数 mSATA	
  SSD	
  を用いた	
  
実験のまとめ	
•  Read,	
  Write	
  ともに	
  RAID0	
  を使用した場合に良好な性能	
  
–  理論ピークの 90%	
  以上の性能	
  
–  複数 mSATA	
  SSD	
  でスケールを確認	
  
–  ストライプサイズを大きく設定することにより、複数 mSATA	
  
SSD	
  のバンド幅を活かせている	
  
•  複数 mSATA	
  SSD	
  を用いることにより既存の不揮発性メ
モリに対して高いスループット	
  
–  ioDrive2	
  より 3.20〜7.60	
  倍高速	
  
–  PCI-­‐E	
  接続型フラッシュメモリは	
  IOPS	
  に特化しているため	
  
19	
複数 mSATA	
  SSD	
  マシンの有効性を確認	
  
発表の流れ	
1.  背景	
  
2.  複数 mSATA	
  SSD	
  を用いた予備評価	
  
1.  プロトタイプマシンの設計	
  
2.  I/O	
  ベンチマークを用いた評価	
  
3.  既存の不揮発性メモリとの性能比較	
  
3.  複数 mSATA	
  SSD	
  と	
  GPU	
  を用いた予備評価	
  
1.  プロトタイプマシンの設計	
  
2.  ベンチマークアプリケーションの実装	
  
3.  予備評価	
  
4.  関連研究	
  
5.  まとめ	
20
複数 mSATA	
  SSD	
  と	
  GPU	
  を用いた	
  
プロトタイプマシンの設計	
mSATA	
  SSD:	
  crucial®	
  m4	
  msata	
  256GB	
  SATA	
  6Gbps	
  
	
  容量:	
  256GB	
  x	
  8枚	
  →	
  2TB	
  
	
  Readバンド幅:	
  0.5GB/s	
  	
  x	
  8枚	
  →	
  4	
  GB/s	
  
21	
mSATA	
 mSATA	
 mSATA	
 mSATA	
GPU	
GPU:	
  NVIDIA	
  TESLA™	
  C2050	
  
144	
  GB/s	
CPU:	
  Intel®	
  Core™	
  i7-­‐3770K	
  CPU	
  @	
  3.50GHz	
  
メモリ:	
  16.292	
  GB	
RAID	
  カード:	
  	
  
	
  	
  adaptec	
  ASR-­‐7805Q	
  
PCI-­‐E	
  3.0	
  x	
  8レーン	
  
8	
  GB/s	
  (片方向)	
  (>	
  4GB/s)	
SATA	
  3.0	
  
0.5	
  GB/s	
  x	
  8ポート →	
  4	
  GB/s	
  
PCI-­‐E	
  2.0	
  x	
  8	
  
4	
  GB/s	
  (片方向)
不揮発性メモリと	
  GPU	
  を用いた	
  
密行列ベクトル積の実装	
22	
行列の読み込み	
入力ファイルを開く	
行列の転送	
  (CPU	
  →	
  GPU)	
行列ベクトル積の計算	
ベクトルの転送	
  (GPU	
  →	
  CPU)	
GPU	
  メモリ	
ホストメモリ	
不揮発性メモリ	
行列	
ベクトルの読み込み・転送	
 行列	
 ベクトル	
部分行列	
 ベクトル	
ベクトル	
ベクトル	
ベクトル	
部分行列	
 ベクトル
不揮発性メモリと	
  GPU	
  を用いた	
  
密行列ベクトル積の実装	
23	
行列の読み込み	
入力ファイルを開く	
行列の転送	
  (CPU	
  →	
  GPU)	
行列ベクトル積の計算	
ベクトルの転送	
  (GPU	
  →	
  CPU)	
GPU	
  メモリ	
ホストメモリ	
不揮発性メモリ	
行列	
ベクトルの読み込み・転送	
 行列	
 ベクトル	
部分行列	
 ベクトル	
ベクトル	
ベクトル	
ベクトル	
部分行列	
 ベクトル	
実行時間の大部分は行列の転送が占める	
  
複数 mSATA	
  SSD	
  から	
  GPU	
  への	
  I/O	
  
性能の予備評価	
•  目的:	
  複数 mSATA	
  SSD	
  から	
  GPU	
  への基本	
  I/O	
  性能を確認	
  
•  評価方法	
  
–  密行列ベクトル積ベンチマークを使用	
  
–  行列データサイズ:	
  280	
  MB	
  〜	
  140	
  GB	
  まで変化させて実験	
•  比較内容	
  
–  ハードウェアRAIDの有無	
  
•  RAID0	
  を使用するか、使用する場合のストライプサイズ	
  
–  mSATA	
  SSD	
  からの読み込み手法	
  
•  mmap,	
  pread	
  
–  ホストメモリから	
  GPU	
  への	
  DMA	
  転送の有無	
  
•  Pinned	
  メモリの使用の有無	
  
–  データ転送粒度	
  
•  35,	
  70,	
  140,	
  280,	
  560	
  MB	
  
–  GPU	
  の使用の有無	
  
•  ホストメモリ上で CPU	
  が計算する場合との比較	
24
RAID0	
  と	
  Raw	
  デバイスの比較	
•  Raw	
  デバイスの場合は	
  OpenMP	
  で並列読み込み	
  
•  行列の転送粒度は	
  70MB	
  
•  RAID0	
  1MB	
  が最も高速	
  
–  OpenMP	
  による並列読み込みが最適化されていない可能性	
0	
  
0.5	
  
1	
  
1.5	
  
2	
  
2.5	
  
3	
  
3.5	
  
0.274	
   0.547	
   1.09	
   2.19	
   4.38	
   8.75	
   17.5	
   35	
   70	
   140	
  
Throughuput	
  [GB/s]	
Matrix	
  Size	
  [GB]	
Raw	
  8	
  mSATA	
  
8	
  mSATA	
  RAID0	
  (1MB)	
  
8	
  mSATA	
  RAID0	
  (64KB)	
  
25
読み込み手法による比較	
•  mmap,	
  pread	
  を比較	
  
•  行列サイズが大きい場合は同等の性能	
  
•  行列サイズが小さい場合は mmap	
  の方が高速	
  
–  pread	
  の粒度を	
  70MB	
  としたため、オーバーラップが不十分のため	
  
0	
  
0.5	
  
1	
  
1.5	
  
2	
  
2.5	
  
3	
  
3.5	
  
0.274	
   0.547	
   1.09	
   2.19	
   4.38	
   8.75	
   17.5	
   35	
   70	
   140	
  
Throughput	
  [GB/s]	
  
Matrix	
  Size	
  [GB]	
8	
  mSATA	
  GPU	
  (pread)	
  
8	
  mSATA	
  GPU	
  (mmap)	
  
26
ホストメモリから	
  GPU	
  メモリへの	
  	
  
DMA	
  転送の有無による比較	
•  Pinned	
  メモリを使用した方が 1.21〜2.28倍 高速	
  
–  DMA	
  転送による効果	
0	
  
0.5	
  
1	
  
1.5	
  
2	
  
2.5	
  
3	
  
3.5	
  
0.274	
   0.547	
   1.09	
   2.19	
   4.38	
   8.75	
   17.5	
   35	
   70	
   140	
  
Throughput	
  [GB/s]	
Matrix	
  Size	
  [GB]	
8	
  mSATA	
  GPU	
  (pinned)	
  
8	
  mSATA	
  GPU	
  (non-­‐pinned)	
  
27
行列の転送粒度による比較	
•  35〜70MB	
  の粒度が最も高速	
  
–  粒度が大きいと オーバーラップ領域が小さくなるため	
0	
  
0.5	
  
1	
  
1.5	
  
2	
  
2.5	
  
3	
  
3.5	
  
0.274	
   0.547	
   1.09	
   2.19	
   4.38	
   8.75	
   17.5	
   35	
   70	
   140	
  
Throughput	
  [GB/s]	
Matrix	
  Size	
  [GB]	
8	
  mSATA	
  GPU	
  (35MB)	
  
8	
  mSATA	
  GPU	
  (70MB)	
  
8	
  mSATA	
  GPU	
  (140MB)	
  
8	
  mSATA	
  GPU	
  (280MB)	
  
8	
  mSATA	
  GPU	
  (560MB)	
  
28
GPU	
  を使用しない場合との比較	
•  CPU	
  を使用した方が高速	
  
–  GPU	
  を使用した場合は	
  PCI-­‐E	
  のバンド幅	
  (3.06	
  GB/s)	
  に律速	
  
–  PCI-­‐E	
  バンド幅の上限が上がれば、CPUと同等のスループットになると	
  
考えられる	
0	
  
0.5	
  
1	
  
1.5	
  
2	
  
2.5	
  
3	
  
3.5	
  
4	
  
4.5	
  
5	
  
0.274	
   0.547	
   1.09	
   2.19	
   4.38	
   8.75	
   17.5	
   35	
   70	
   140	
  
Throughput	
  [GB/s]	
Matrix	
  Size	
  [GB]	
8	
  mSATA	
  GPU	
  
8	
  mSATA	
  CPU	
  
29
30	
ブレイクダウン	
•  Vampir	
  Trace	
  を使用	
  
•  行列サイズが 1.12	
  GB	
  の場合
31	
ブレイクダウン	
•  Vampir	
  Trace	
  を使用	
  
•  行列サイズが 1.12	
  GB	
  の場合	
不揮発性メモリ	
  →	
  ホストメモリ への読み込み
32	
ブレイクダウン	
•  Vampir	
  Trace	
  を使用	
  
•  行列サイズが 1.12	
  GB	
  の場合	
ホストメモリ ⇄	
  GPUメモリへの転送
33	
ブレイクダウン	
•  Vampir	
  Trace	
  を使用	
  
•  行列サイズが 1.12	
  GB	
  の場合	
GPU上での計算
34	
ブレイクダウン	
•  Vampir	
  Trace	
  を使用	
  
•  行列サイズが 1.12	
  GB	
  の場合	
•  I/O、転送、計算のオーバーラップを確認	
  
•  CPU	
  →	
  GPU	
  への転送がボトルネック	
  
•  転送量に対し計算量が不十分であるため	
  
•  計算が占める割合は	
  8%	
  程度	
  
複数 mSATA	
  SSD	
  と	
  GPU	
  を用いた	
  
実験のまとめ	
•  最適な	
  I/O	
  手法の選択により,複数 mSATA	
  SSD	
  
から	
  GPU	
  へ PCI-­‐E	
  上限(3.06	
  GB/s)のスループット	
  
–  RAID0	
  を使用し、ストライプサイズを	
  1MB	
  に設定	
  
–  Pinned	
  メモリへ	
  35〜70MB	
  程度の粒度で転送	
  
–  DMA	
  転送を用いると 1.21〜2.28倍高速	
  
–  十分にオーバーラップされる場合は pread	
  と mmap	
  
に大きな性能差は見られなかった	
  
•  GPU	
  への転送を隠蔽できる計算量を持つアプリ
ケーションが必要	
–  密行列ベクトル積では計算が占める割合は	
  8%	
  程度	
  
35
複数 mSATA	
  SSD	
  と	
  GPU	
  を用いた	
  
実験のまとめ	
•  最適な	
  I/O	
  手法の選択により,複数 mSATA	
  SSD	
  
から	
  GPU	
  へ PCI-­‐E	
  上限(3.06	
  GB/s)のスループット	
  
–  RAID0	
  を使用し、ストライプサイズを	
  1MB	
  に設定	
  
–  Pinned	
  メモリへ	
  35〜70MB	
  程度の粒度で転送	
  
–  DMA	
  転送を用いると 1.21〜2.28倍高速	
  
–  十分にオーバーラップされる場合は pread	
  と mmap	
  
に大きな性能差は見られなかった	
  
•  GPU	
  への転送を隠蔽できる計算量を持つアプリ
ケーションが必要	
–  密行列ベクトル積では計算が占める割合は	
  8%	
  程度	
  
36	
複数 mSATA	
  SSD	
  から	
  GPU	
  への	
  
最適な転送方法を確認	
  
発表の流れ	
1.  背景	
  
2.  複数 mSATA	
  SSD	
  を用いた予備評価	
  
1.  プロトタイプマシンの設計	
  
2.  I/O	
  ベンチマークを用いた評価	
  
3.  既存の不揮発性メモリとの性能比較	
  
3.  複数 mSATA	
  SSD	
  と	
  GPU	
  を用いた予備評価	
  
1.  プロトタイプマシンの設計	
  
2.  ベンチマークアプリケーションの実装	
  
3.  予備評価	
  
4.  関連研究	
  
5.  まとめ	
37
関連研究	
•  不揮発性メモリ同士の性能比較*1	
  
–  SATA	
  接続型と PCI-­‐E	
  接続型不揮発性メモリの性能比較	
  
•  RAID	
  カード上での不揮発性メモリの性能調査*2	
  
–  パラメータ探索による性能調査	
  
•  オーバーヘッドの削減による mmap	
  の最適化*3	
  
–  プロセッサ間割り込みの削減による最適化	
  
•  GPUからファイルシステムへのI/Oインターフェイス*4	
  
–  GPU	
  メモリ上のバッファキャッシュの最適化	
  
*1:	
  Master	
  et	
  al.:	
  “Performance	
  Analysis	
  of	
  Commodity	
  and	
  Enterprise	
  Class	
  Flash	
  Devices”,	
  PSDW	
  2010	
  
*2:	
  He	
  et	
  al.:	
  “DASH-­‐IO:	
  an	
  empirical	
  study	
  of	
  flash-­‐based	
  IO	
  for	
  HPC”,	
  TG	
  2010	
*3:	
  Song	
  et	
  al.:	
  “Low-­‐latency	
  memory-­‐mapped	
  I/O	
  for	
  Data-­‐intensive	
  Applicarons	
  on	
  Fast	
  Storage	
  Devices”,	
  
	
  	
  	
  	
  	
  	
  DISCS	
  2012	
  
*4:	
  Silberstein	
  et	
  al.:	
  “GPUfs:	
  Integrarng	
  a	
  File	
  System	
  with	
  GPUs”,	
  ASPLOS	
  2013	
   38
まとめと今後の課題	
•  まとめ	
  
–  不揮発性メモリから	
  GPU	
  への最適な	
  I/O	
  手法を把握	
  
–  16	
  枚の mSATA	
  SSD	
  を用いたプロトタイプマシンの設計	
  
–  複数 mSATA	
  SSD	
  の	
  I/O	
  基本性能の評価	
  
•  16枚の mSATA	
  SSD	
  で 7.39	
  GB/s	
  (理論ピークの 92.4%)	
  
•  8	
  mSATA	
  SSD	
  で	
  ioDrive2	
  に対し 3.20〜7.60	
  倍 の	
  Read	
  性能	
  
–  複数 mSATA	
  SSD	
  から	
  GPU	
  への	
  I/O	
  性能の予備評価	
  
•  8	
  mSATA	
  SSD	
  から	
  GPU	
  へ 3.06	
  GB/s	
  のスループット	
  
•  RAID0	
  (ストライプサイズ	
  1MB)	
  を組み、35〜70MB	
  の粒度で 	
  
DMA	
  転送	
  
•  今後の課題	
  
–  ランダム	
  I/O	
  の評価	
  
•  大規模グラフ探索など	
  
–  実アプリケーションを用いた評価	
  
•  スペクトラルクラスタリングなど	
  
39
•  Backup	
40
mini	
  SATA	
  SSD	
  (mSATA	
  SSD)	
•  mSATA	
  SSD	
  
– 大容量、高性能、低消費電力、低価格	
  
– 例)	
  CT256M4SSD3:	
  	
  
•  256	
  GB	
  
•  Read:	
  500	
  MB/s、Write:	
  260	
  MB/s	
  
•  平均アクティブ時消費電力:	
  <200mW	
  
•  アイドル時消費電力:	
  <85mW	
  
•  $260-­‐$300	
  
41
複数 mSATA	
  SSD	
  の	
  IOPS	
0	
  
50000	
  
100000	
  
150000	
  
200000	
  
250000	
  
300000	
  
350000	
  
1	
   2	
   4	
   8	
   16	
  
IOPS	
#	
  mSATA	
  SSDs	
Raw	
  mSATA	
  SSDs	
  
RAID0	
  64KB	
  
42
Implementaron	
  using	
  mulr-­‐mSATA	
  
without	
  RAID	
  0	
GPU	
CPU	
mSATA	
1.	
  Open	
  input	
  file	
  
2.	
  Read	
  in	
  parallel	
  (OpenMP)	
  
3.	
  Copy	
  input	
   5.	
  Copy	
  output	
  
4.	
  Computaron	
  
Repeat	
  for	
  each	
  chunk	
mSATA	
mSATA	
43

More Related Content

What's hot

MySQL 初めてのチューニング
MySQL 初めてのチューニングMySQL 初めてのチューニング
MySQL 初めてのチューニングCraft works
 
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceYAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceKazuho Oku
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Yuki Morishita
 
MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編Takanori Sejima
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3infinite_loop
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポートAkihiro Kuwano
 
EthernetやCPUなどの話
EthernetやCPUなどの話EthernetやCPUなどの話
EthernetやCPUなどの話Takanori Sejima
 
[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)
[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)
[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)Insight Technology, Inc.
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)Masahiro NAKAYAMA
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Daisuke Ikeda
 
NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)Takanori Sejima
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話Takanori Sejima
 
MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編gree_tech
 
GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性Yusaku Watanabe
 

What's hot (20)

MySQL 初めてのチューニング
MySQL 初めてのチューニングMySQL 初めてのチューニング
MySQL 初めてのチューニング
 
Cpu cache arch
Cpu cache archCpu cache arch
Cpu cache arch
 
Code jp2015 cpuの話
Code jp2015 cpuの話Code jp2015 cpuの話
Code jp2015 cpuの話
 
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceYAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポート
 
EthernetやCPUなどの話
EthernetやCPUなどの話EthernetやCPUなどの話
EthernetやCPUなどの話
 
Osc2011 Do
Osc2011 DoOsc2011 Do
Osc2011 Do
 
[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)
[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)
[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
 
NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)
 
20111028ssmjp
20111028ssmjp20111028ssmjp
20111028ssmjp
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話
 
MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編
 
Sfstudy#2チーム5
Sfstudy#2チーム5Sfstudy#2チーム5
Sfstudy#2チーム5
 
GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性
 

Viewers also liked

Presentación mapa conceptual
Presentación mapa conceptualPresentación mapa conceptual
Presentación mapa conceptualenitmar
 
ilyas ghuman k dajlo fareb ka tehqiqi jaiza
ilyas ghuman k dajlo fareb ka tehqiqi jaizailyas ghuman k dajlo fareb ka tehqiqi jaiza
ilyas ghuman k dajlo fareb ka tehqiqi jaizasunninews92
 
Examenesdesubsanacindefccde1a5 130315224347-phpapp02
Examenesdesubsanacindefccde1a5 130315224347-phpapp02Examenesdesubsanacindefccde1a5 130315224347-phpapp02
Examenesdesubsanacindefccde1a5 130315224347-phpapp02jesus alburqueque
 
Physics and chemistry
Physics and chemistryPhysics and chemistry
Physics and chemistrydaniel_mieres
 
Manual de usuario PowerPoint
Manual de usuario PowerPointManual de usuario PowerPoint
Manual de usuario PowerPointLILIANA CASTRO
 
Ciclo del agua
Ciclo del aguaCiclo del agua
Ciclo del aguaterepm
 
evaluation of water resources in wadi el natrun, western desert, egypt
evaluation of water resources in wadi el natrun, western desert, egyptevaluation of water resources in wadi el natrun, western desert, egypt
evaluation of water resources in wadi el natrun, western desert, egyptIJEAB
 
Workshop "How to pitch to a corporate VC" @ Start Summit 2013 in St. Gallen
Workshop "How to pitch to a corporate VC" @ Start Summit 2013 in St. GallenWorkshop "How to pitch to a corporate VC" @ Start Summit 2013 in St. Gallen
Workshop "How to pitch to a corporate VC" @ Start Summit 2013 in St. GallenPenny Schiffer
 
rescanworkAmphibian Breeding Pond formBC_EnteredData_Brucejack_23-28Jul2012
rescanworkAmphibian Breeding Pond formBC_EnteredData_Brucejack_23-28Jul2012rescanworkAmphibian Breeding Pond formBC_EnteredData_Brucejack_23-28Jul2012
rescanworkAmphibian Breeding Pond formBC_EnteredData_Brucejack_23-28Jul2012Robert Mack
 
economy of production and labor requirement in major field
economy of production and labor requirement in major fieldeconomy of production and labor requirement in major field
economy of production and labor requirement in major fieldIJEAB
 

Viewers also liked (20)

Presentación mapa conceptual
Presentación mapa conceptualPresentación mapa conceptual
Presentación mapa conceptual
 
ilyas ghuman k dajlo fareb ka tehqiqi jaiza
ilyas ghuman k dajlo fareb ka tehqiqi jaizailyas ghuman k dajlo fareb ka tehqiqi jaiza
ilyas ghuman k dajlo fareb ka tehqiqi jaiza
 
Examenesdesubsanacindefccde1a5 130315224347-phpapp02
Examenesdesubsanacindefccde1a5 130315224347-phpapp02Examenesdesubsanacindefccde1a5 130315224347-phpapp02
Examenesdesubsanacindefccde1a5 130315224347-phpapp02
 
DIPLOMAFELIPE
DIPLOMAFELIPEDIPLOMAFELIPE
DIPLOMAFELIPE
 
Physics and chemistry
Physics and chemistryPhysics and chemistry
Physics and chemistry
 
Estrategia Gamificación AUTOFERR
Estrategia Gamificación AUTOFERREstrategia Gamificación AUTOFERR
Estrategia Gamificación AUTOFERR
 
Manual de usuario PowerPoint
Manual de usuario PowerPointManual de usuario PowerPoint
Manual de usuario PowerPoint
 
Please 1.30.2017
Please 1.30.2017Please 1.30.2017
Please 1.30.2017
 
02
0202
02
 
SISTEMA CURRICULAR
SISTEMA CURRICULARSISTEMA CURRICULAR
SISTEMA CURRICULAR
 
Ciclo del agua
Ciclo del aguaCiclo del agua
Ciclo del agua
 
New Ways to Take Full Advantage
New Ways to Take Full AdvantageNew Ways to Take Full Advantage
New Ways to Take Full Advantage
 
evaluation of water resources in wadi el natrun, western desert, egypt
evaluation of water resources in wadi el natrun, western desert, egyptevaluation of water resources in wadi el natrun, western desert, egypt
evaluation of water resources in wadi el natrun, western desert, egypt
 
St Tropez
St TropezSt Tropez
St Tropez
 
Zelgor Slide Deck
Zelgor Slide DeckZelgor Slide Deck
Zelgor Slide Deck
 
Workshop "How to pitch to a corporate VC" @ Start Summit 2013 in St. Gallen
Workshop "How to pitch to a corporate VC" @ Start Summit 2013 in St. GallenWorkshop "How to pitch to a corporate VC" @ Start Summit 2013 in St. Gallen
Workshop "How to pitch to a corporate VC" @ Start Summit 2013 in St. Gallen
 
Kitab al ^aqidah-print3
Kitab al ^aqidah-print3Kitab al ^aqidah-print3
Kitab al ^aqidah-print3
 
Fusio
FusioFusio
Fusio
 
rescanworkAmphibian Breeding Pond formBC_EnteredData_Brucejack_23-28Jul2012
rescanworkAmphibian Breeding Pond formBC_EnteredData_Brucejack_23-28Jul2012rescanworkAmphibian Breeding Pond formBC_EnteredData_Brucejack_23-28Jul2012
rescanworkAmphibian Breeding Pond formBC_EnteredData_Brucejack_23-28Jul2012
 
economy of production and labor requirement in major field
economy of production and labor requirement in major fieldeconomy of production and labor requirement in major field
economy of production and labor requirement in major field
 

Similar to GPUアクセラレータと不揮発性メモリを考慮したI/O性能の予備評価

Snr005 レノボだから実現
Snr005 レノボだから実現Snr005 レノボだから実現
Snr005 レノボだから実現Tech Summit 2016
 
20170329_BigData基盤研究会#7
20170329_BigData基盤研究会#720170329_BigData基盤研究会#7
20170329_BigData基盤研究会#7Kohei KaiGai
 
An Intelligent Storage?
An Intelligent Storage?An Intelligent Storage?
An Intelligent Storage?Kohei KaiGai
 
[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...
[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...
[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...Insight Technology, Inc.
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryAtsushi Koshiba
 
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...Atsushi Suzuki
 
BOSTON Viridis for Hadoop by ELSA Japan
BOSTON Viridis for Hadoop by ELSA JapanBOSTON Viridis for Hadoop by ELSA Japan
BOSTON Viridis for Hadoop by ELSA JapanAtsushi Suzuki
 
20160625 cloud samuai_final
20160625 cloud samuai_final20160625 cloud samuai_final
20160625 cloud samuai_finalTakano Masaru
 
20180630 interact2018 rev1
20180630 interact2018 rev120180630 interact2018 rev1
20180630 interact2018 rev1Takano Masaru
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpuKohei KaiGai
 
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計ShuheiUda
 
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Keisuke Takahashi
 
qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所Takeshi HASEGAWA
 
S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)
S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)
S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)Microsoft Azure Japan
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus WorkshopHitoshi Sato
 
Fusion-io(ioDrive) benchmarking #sfstudy 01 LT
Fusion-io(ioDrive) benchmarking #sfstudy 01 LTFusion-io(ioDrive) benchmarking #sfstudy 01 LT
Fusion-io(ioDrive) benchmarking #sfstudy 01 LTMasahito Zembutsu
 
Cyberagent amd tyan server solution seminar 2018
Cyberagent amd tyan server solution seminar 2018Cyberagent amd tyan server solution seminar 2018
Cyberagent amd tyan server solution seminar 2018Tomohiro Hirano
 
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI) Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI) Hiroshi Matsumoto
 
20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワーク20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワークKuninobu SaSaki
 

Similar to GPUアクセラレータと不揮発性メモリを考慮したI/O性能の予備評価 (20)

Snr005 レノボだから実現
Snr005 レノボだから実現Snr005 レノボだから実現
Snr005 レノボだから実現
 
20170329_BigData基盤研究会#7
20170329_BigData基盤研究会#720170329_BigData基盤研究会#7
20170329_BigData基盤研究会#7
 
An Intelligent Storage?
An Intelligent Storage?An Intelligent Storage?
An Intelligent Storage?
 
[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...
[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...
[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
 
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
 
BOSTON Viridis for Hadoop by ELSA Japan
BOSTON Viridis for Hadoop by ELSA JapanBOSTON Viridis for Hadoop by ELSA Japan
BOSTON Viridis for Hadoop by ELSA Japan
 
20160625 cloud samuai_final
20160625 cloud samuai_final20160625 cloud samuai_final
20160625 cloud samuai_final
 
20180630 interact2018 rev1
20180630 interact2018 rev120180630 interact2018 rev1
20180630 interact2018 rev1
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpu
 
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
 
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
 
qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所
 
S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)
S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)
S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus Workshop
 
Fusion-io(ioDrive) benchmarking #sfstudy 01 LT
Fusion-io(ioDrive) benchmarking #sfstudy 01 LTFusion-io(ioDrive) benchmarking #sfstudy 01 LT
Fusion-io(ioDrive) benchmarking #sfstudy 01 LT
 
Fpgax 20130604
Fpgax 20130604Fpgax 20130604
Fpgax 20130604
 
Cyberagent amd tyan server solution seminar 2018
Cyberagent amd tyan server solution seminar 2018Cyberagent amd tyan server solution seminar 2018
Cyberagent amd tyan server solution seminar 2018
 
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI) Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
 
20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワーク20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワーク
 

More from Koichi Shirahata

Performance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming ModelPerformance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming ModelKoichi Shirahata
 
GPGPUを用いた大規模高速グラフ処理に向けて
GPGPUを用いた大規模高速グラフ処理に向けてGPGPUを用いた大規模高速グラフ処理に向けて
GPGPUを用いた大規模高速グラフ処理に向けてKoichi Shirahata
 
GPUを考慮したMapReduceのタスクスケジューリング
GPUを考慮したMapReduceのタスクスケジューリングGPUを考慮したMapReduceのタスクスケジューリング
GPUを考慮したMapReduceのタスクスケジューリングKoichi Shirahata
 
Hybrid Map Task Scheduling for GPU-based Heterogeneous Clusters
Hybrid Map Task Scheduling for GPU-based Heterogeneous ClustersHybrid Map Task Scheduling for GPU-based Heterogeneous Clusters
Hybrid Map Task Scheduling for GPU-based Heterogeneous ClustersKoichi Shirahata
 
A GPU Implementation of Generalized Graph Processing Algorithm GIM-V
A GPU Implementation of Generalized Graph Processing Algorithm GIM-VA GPU Implementation of Generalized Graph Processing Algorithm GIM-V
A GPU Implementation of Generalized Graph Processing Algorithm GIM-VKoichi Shirahata
 
Performance Analysis of Lattice QCD on GPUs in APGAS Programming Model
Performance Analysis of Lattice QCD on GPUs in APGAS Programming ModelPerformance Analysis of Lattice QCD on GPUs in APGAS Programming Model
Performance Analysis of Lattice QCD on GPUs in APGAS Programming ModelKoichi Shirahata
 
汎用グラフ処理モデルGIM-Vの複数GPUによる大規模計算とデータ転送の最適化
汎用グラフ処理モデルGIM-Vの複数GPUによる大規模計算とデータ転送の最適化汎用グラフ処理モデルGIM-Vの複数GPUによる大規模計算とデータ転送の最適化
汎用グラフ処理モデルGIM-Vの複数GPUによる大規模計算とデータ転送の最適化Koichi Shirahata
 
Out-of-core GPU Memory Management for MapReduce-based Large-scale Graph Proce...
Out-of-core GPU Memory Management for MapReduce-based Large-scale Graph Proce...Out-of-core GPU Memory Management for MapReduce-based Large-scale Graph Proce...
Out-of-core GPU Memory Management for MapReduce-based Large-scale Graph Proce...Koichi Shirahata
 
A Scalable Implementation of a MapReduce-based Graph Processing Algorithm for...
A Scalable Implementation of a MapReduce-based Graph Processing Algorithm for...A Scalable Implementation of a MapReduce-based Graph Processing Algorithm for...
A Scalable Implementation of a MapReduce-based Graph Processing Algorithm for...Koichi Shirahata
 
Performance Analysis of MapReduce Implementations on High Performance Homolog...
Performance Analysis of MapReduce Implementations on High Performance Homolog...Performance Analysis of MapReduce Implementations on High Performance Homolog...
Performance Analysis of MapReduce Implementations on High Performance Homolog...Koichi Shirahata
 

More from Koichi Shirahata (10)

Performance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming ModelPerformance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming Model
 
GPGPUを用いた大規模高速グラフ処理に向けて
GPGPUを用いた大規模高速グラフ処理に向けてGPGPUを用いた大規模高速グラフ処理に向けて
GPGPUを用いた大規模高速グラフ処理に向けて
 
GPUを考慮したMapReduceのタスクスケジューリング
GPUを考慮したMapReduceのタスクスケジューリングGPUを考慮したMapReduceのタスクスケジューリング
GPUを考慮したMapReduceのタスクスケジューリング
 
Hybrid Map Task Scheduling for GPU-based Heterogeneous Clusters
Hybrid Map Task Scheduling for GPU-based Heterogeneous ClustersHybrid Map Task Scheduling for GPU-based Heterogeneous Clusters
Hybrid Map Task Scheduling for GPU-based Heterogeneous Clusters
 
A GPU Implementation of Generalized Graph Processing Algorithm GIM-V
A GPU Implementation of Generalized Graph Processing Algorithm GIM-VA GPU Implementation of Generalized Graph Processing Algorithm GIM-V
A GPU Implementation of Generalized Graph Processing Algorithm GIM-V
 
Performance Analysis of Lattice QCD on GPUs in APGAS Programming Model
Performance Analysis of Lattice QCD on GPUs in APGAS Programming ModelPerformance Analysis of Lattice QCD on GPUs in APGAS Programming Model
Performance Analysis of Lattice QCD on GPUs in APGAS Programming Model
 
汎用グラフ処理モデルGIM-Vの複数GPUによる大規模計算とデータ転送の最適化
汎用グラフ処理モデルGIM-Vの複数GPUによる大規模計算とデータ転送の最適化汎用グラフ処理モデルGIM-Vの複数GPUによる大規模計算とデータ転送の最適化
汎用グラフ処理モデルGIM-Vの複数GPUによる大規模計算とデータ転送の最適化
 
Out-of-core GPU Memory Management for MapReduce-based Large-scale Graph Proce...
Out-of-core GPU Memory Management for MapReduce-based Large-scale Graph Proce...Out-of-core GPU Memory Management for MapReduce-based Large-scale Graph Proce...
Out-of-core GPU Memory Management for MapReduce-based Large-scale Graph Proce...
 
A Scalable Implementation of a MapReduce-based Graph Processing Algorithm for...
A Scalable Implementation of a MapReduce-based Graph Processing Algorithm for...A Scalable Implementation of a MapReduce-based Graph Processing Algorithm for...
A Scalable Implementation of a MapReduce-based Graph Processing Algorithm for...
 
Performance Analysis of MapReduce Implementations on High Performance Homolog...
Performance Analysis of MapReduce Implementations on High Performance Homolog...Performance Analysis of MapReduce Implementations on High Performance Homolog...
Performance Analysis of MapReduce Implementations on High Performance Homolog...
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Recently uploaded (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

GPUアクセラレータと不揮発性メモリを考慮したI/O性能の予備評価

  • 1. GPU  アクセラレータと不揮発性メモリ を考慮した  I/O  性能の予備評価 白幡 晃一1,2、佐藤 仁1,2、松岡 聡1   1:  東京工業大学   2:  JST  CREST 1
  • 2. GPU  と不揮発性メモリを用いた   大規模データ処理 •  大規模データ処理   –  センサーネットワーク、遺伝子情報、SNS  など   –  ペタ〜ヨッタバイト級  →  高速処理が必要   •  スーパーコンピュータ上での大規模データ処理   –  GPU   •  高性能、高バンド幅   –  例)  Tesla  K20X  3.95Tflops、250  GB/s   •  メモリ容量は  〜5GB  程度  →  データの退避が必要   –  不揮発性メモリ   •  SSD,  PCI-­‐E接続型フラッシュメモリなど   •  高バンド幅(数  GB/s)、高速  I/O(〜1M  IOPS)   •  安価で高性能な mSATA  SSD  (mini  SATA  SSD)  の出現   2
  • 3. 問題点 •  スーパーコンピュータ上でのローカルディスク の最適な構成方法は明らかではない   – ローカルディスクの構成方法   •  最適な不揮発性メモリの選択   •  不揮発性メモリを用いたマシンの構成方法   – ローカルディスクから  GPU  への最適な  I/O  手法   •  ローカルディスクの設定、GPU  への転送手法、転送粒度   3 ?
  • 4. 解決手法 •  不揮発性メモリから  GPU  への  I/O  手法の比較   – 複数 mSATA  SSD  を用いたプロトタイプマシンの設計   •  mSATA  SSD  のバンド幅を最大限に引き出す設計   •  既存の不揮発性メモリとの性能比較   – 複数 mSATA  SSD  から  GPU  への  I/O  性能評価   •  複数 mSATA  SSD  の構成、設定、I/O手法、GPU  への転送 手法、転送粒度 4
  • 5. 目的と成果 •  目的   –  不揮発性メモリから  GPU  への最適な  I/O  手法を把握   •  成果   –  16  枚の mSATA  SSD  を用いたプロトタイプマシンの設計   –  複数 mSATA  SSD  の  I/O  基本性能の評価   •  16枚の mSATA  SSD  で 7.39  GB/s  (理論ピークの 92.4%)   •  8枚の mSATA  SSD  で PCI-­‐E  接続型フラッシュメモリに対して 3.20〜7.60  倍 の  Read  性能   –  複数 mSATA  SSD  から  GPU  への  I/O  性能の予備評価   •  8枚の mSATA  SSD  から  GPU  へ 3.06GB/s  のスループット 5
  • 6. 発表の流れ 1.  背景   2.  複数 mSATA  SSD  を用いた予備評価   1.  プロトタイプマシンの設計   2.  I/O  ベンチマークを用いた評価   3.  既存の不揮発性メモリとの性能比較   3.  複数 mSATA  SSD  と  GPU  を用いた予備評価   1.  プロトタイプマシンの設計   2.  ベンチマークアプリケーションの実装   3.  予備評価   4.  関連研究   5.  まとめ 6
  • 7. 発表の流れ 1.  背景   2.  複数 mSATA  SSD  を用いた予備評価   1.  プロトタイプマシンの設計   2.  I/O  ベンチマークを用いた評価   3.  既存の不揮発性メモリとの性能比較   3.  複数 mSATA  SSD  と  GPU  を用いた予備評価   1.  プロトタイプマシンの設計   2.  ベンチマークアプリケーションの実装   3.  予備評価   4.  関連研究   5.  まとめ 7
  • 8. 複数枚の mSATA  SSD  を用いた  I/O •  mini  SATA  SSD  (mSATA  SSD)   –  mSATA:    SATA  規格コネクターの仕様の一つ   –  mSATA  SSD:    mSATA  接続の  SSD   •  通常の  SSD  に比べ面積が小さい   •  複数枚の mSATA  SSD  を組み合わせて使用   –  高いコストパフォーマンスを実現可能   •  例)  crucial®  m4  msata  SSD  256  GB:     –  Read:  500  MB/s、Write:  260  MB/s   –  平均アクティブ時消費電力:  <200mW   –  $260  〜  $300   •  SSD  に比べ、設置面積・消費電力で優位   •  PCI-­‐E  接続型フラッシュメモリに比べ、価格・バンド幅で優位   8
  • 9. マザーボード   RAID  カード mSATA mSATA mSATA mSATA PCI-­‐E  3.0  x  8レーン   8  GB/s  (片方向)  (>  4GB/s) mSATA  SSD:            容量:  256GB  x  16枚 →  4TB          Readバンド幅:  0.5GB/s    x  16枚 →  8  GB/s   複数 mSATA  SSD  を用いた   プロトタイプマシンの設計 SATA  3.0   0.5  GB/s  x  8ポート →  4  GB/s   9 Readバンド幅:     0.5  GB/s  x  8枚  →  4  GB/s
  • 10. 複数 mSATA  SSD  プロトタイプマシン上 での予備評価 •  複数 mSATA  SSD  の基本  I/O  性能評価   –  ハードウェア RAID  の有無   •  Raw  デバイス  (ハードウェアRAIDを組まない)   –  1枚毎にマウントし、 それぞれ  Ext4  でファイルシステムを作成   –  ブロックサイズ(1枚当たり):  4KB   •  RAID  0   –  ストライプサイズ:  64KB,  1MB   –  キャッシュ機能の  ON・OFF   –  複数 mSATA  SSD  のスケーラビリティ   •  枚数:  1,  2,  4,  8,  16   •  他の不揮発性メモリとの比較   –  SSD   –  PCI-­‐E  接続型フラッシュメモリ   10
  • 11. 複数 mSATA  SSD  プロトタイプマシン上 での予備評価 •  複数 mSATA  SSD  の基本  I/O  性能評価   –  ハードウェア RAID  の有無   •  Raw  デバイス  (ハードウェアRAIDを組まない)   –  1枚毎にマウントし、 それぞれ  Ext4  でファイルシステムを作成   –  ブロックサイズ(1枚当たり):  4KB   •  RAID  0   –  ストライプサイズ:  64KB,  1MB   –  キャッシュ機能の  ON・OFF   –  複数 mSATA  SSD  のスケーラビリティ   •  枚数:  1,  2,  4,  8,  16   •  他の不揮発性メモリとの比較   –  SSD   –  PCI-­‐E  接続型フラッシュメモリ   11
  • 12. 複数 mSATA  SSD  の基本 I/O  性能評価 •  目的:  複数 mSATA  SSD  の基本  I/O  性能を確認   •  シーケンシャル Read,  Write  の測定   •  fio  の設定   – I/O  エンジン:    libaio   – I/O  queue  depth:  1   – I/O  ブロックサイズ   •  シーケンシャル Read:    4MB   •  シーケンシャル  Write:    4MB   – 使用したデータサイズ:  200GB  (1  mSATA  SSD  当たり)   12
  • 13. 評価環境 CPU:    Intel®  Core™  i7-­‐3770K  CPU  @  3.50GHz メモリ:    16.292  GB     RAID  カード:      adaptec  ASR-­‐7805Q mSATA mSATA mSATA mSATA mSATA  SSD:        crucial®  m4  msata  256GB  SATA  6Gbps      Readバンド幅:    0.5GB/s  x  16枚  =  8  GB/s      Writeバンド幅:    0.26  GB/s  x  16枚  =  4.16  GB/s   PCI-­‐E  3.0  x8レーン PCI-­‐E  3.0  x8レーン SATA  3.0
  • 14. Read  バンド幅の測定結果 •  Raw  デバイスは RAID0  に対して  10%  程度高速   –  7.69  GB/s,  理論ピークの 96.2%   •  RAID0  でもストライプサイズを大きくすれば高性能   –  1MB  では  7.39  GB/s  (理論ピークの 92.4%)   0   1000   2000   3000   4000   5000   6000   7000   8000   9000   0   5   10   15   20   Bandwidth  [MB/s] #  mSATAs Raw  mSATA  4KB   RAID0  1MB   RAID0  64KB   RAID0  1MB  (cache  off)   RAID0  64KB  (cache  off)   14
  • 15. Write  バンド幅の測定結果 •  RAID0  1MB  が最も高速 (3.75  GB/s,  理論ピークの  90.2%)   –  RAIDカードが遅延書き込みの最適化を行っている可能性 0   500   1000   1500   2000   2500   3000   3500   4000   0   5   10   15   20   Bandwidth  [MB/s] #  mSATAs Raw  mSATA  4KB   RAID0  1MB   RAID0  64KB   RAID0  1MB  (cache  off)   RAID0  64KB  (cache  off)   15
  • 16. 他の不揮発性メモリとの性能比較 •  目的:  他の不揮発性メモリとの性能差を把握   •  比較対象   – SSD   •  TSUBAME  2.0  の計算ノードに搭載されているローカル   SSD  を使用   – PCI-­‐E  接続型フラッシュメモリ   •  Fusion  IO  社の  ioDrive2  を使用   •  Readバンド幅:  1.4  GB/s   •  CPU  上での密行列ベクトル積を用いて比較   – シーケンシャル  Read  が実行時間の多くを占める   16
  • 17. 他のデバイスとの比較結果 •  mSATA  SSD  8枚の方が  ioDrive2  より 3.20〜7.60倍 高速   •  mSATA  SSD  はシーケンシャルI/O性能に優れる   0   0.5   1   1.5   2   2.5   3   3.5   4   4.5   5   0.274   0.547   1.09   2.19   4.38   8.75   17.5   35   Throughput  [GB/s] Matrix  Size  [GB] 8  mSATA  (RAID  0)   ioDrive2   TSUBAME  SSD   17
  • 18. 複数 mSATA  SSD  を用いた   実験のまとめ 18 •  Read,  Write  ともに  RAID0  を使用した場合に良好な性能   –  理論ピークの 90%  以上の性能   –  複数 mSATA  SSD  でスケールを確認   –  ストライプサイズを大きく設定することにより、複数 mSATA   SSD  のバンド幅を活かせている   •  複数 mSATA  SSD  を用いることにより既存の不揮発性メ モリに対して高いスループット   –  ioDrive2  より 3.20〜7.60  倍高速   –  PCI-­‐E  接続型フラッシュメモリは  IOPS  に特化しているため  
  • 19. 複数 mSATA  SSD  を用いた   実験のまとめ •  Read,  Write  ともに  RAID0  を使用した場合に良好な性能   –  理論ピークの 90%  以上の性能   –  複数 mSATA  SSD  でスケールを確認   –  ストライプサイズを大きく設定することにより、複数 mSATA   SSD  のバンド幅を活かせている   •  複数 mSATA  SSD  を用いることにより既存の不揮発性メ モリに対して高いスループット   –  ioDrive2  より 3.20〜7.60  倍高速   –  PCI-­‐E  接続型フラッシュメモリは  IOPS  に特化しているため   19 複数 mSATA  SSD  マシンの有効性を確認  
  • 20. 発表の流れ 1.  背景   2.  複数 mSATA  SSD  を用いた予備評価   1.  プロトタイプマシンの設計   2.  I/O  ベンチマークを用いた評価   3.  既存の不揮発性メモリとの性能比較   3.  複数 mSATA  SSD  と  GPU  を用いた予備評価   1.  プロトタイプマシンの設計   2.  ベンチマークアプリケーションの実装   3.  予備評価   4.  関連研究   5.  まとめ 20
  • 21. 複数 mSATA  SSD  と  GPU  を用いた   プロトタイプマシンの設計 mSATA  SSD:  crucial®  m4  msata  256GB  SATA  6Gbps    容量:  256GB  x  8枚  →  2TB    Readバンド幅:  0.5GB/s    x  8枚  →  4  GB/s   21 mSATA mSATA mSATA mSATA GPU GPU:  NVIDIA  TESLA™  C2050   144  GB/s CPU:  Intel®  Core™  i7-­‐3770K  CPU  @  3.50GHz   メモリ:  16.292  GB RAID  カード:        adaptec  ASR-­‐7805Q   PCI-­‐E  3.0  x  8レーン   8  GB/s  (片方向)  (>  4GB/s) SATA  3.0   0.5  GB/s  x  8ポート →  4  GB/s   PCI-­‐E  2.0  x  8   4  GB/s  (片方向)
  • 22. 不揮発性メモリと  GPU  を用いた   密行列ベクトル積の実装 22 行列の読み込み 入力ファイルを開く 行列の転送  (CPU  →  GPU) 行列ベクトル積の計算 ベクトルの転送  (GPU  →  CPU) GPU  メモリ ホストメモリ 不揮発性メモリ 行列 ベクトルの読み込み・転送 行列 ベクトル 部分行列 ベクトル ベクトル ベクトル ベクトル 部分行列 ベクトル
  • 23. 不揮発性メモリと  GPU  を用いた   密行列ベクトル積の実装 23 行列の読み込み 入力ファイルを開く 行列の転送  (CPU  →  GPU) 行列ベクトル積の計算 ベクトルの転送  (GPU  →  CPU) GPU  メモリ ホストメモリ 不揮発性メモリ 行列 ベクトルの読み込み・転送 行列 ベクトル 部分行列 ベクトル ベクトル ベクトル ベクトル 部分行列 ベクトル 実行時間の大部分は行列の転送が占める  
  • 24. 複数 mSATA  SSD  から  GPU  への  I/O   性能の予備評価 •  目的:  複数 mSATA  SSD  から  GPU  への基本  I/O  性能を確認   •  評価方法   –  密行列ベクトル積ベンチマークを使用   –  行列データサイズ:  280  MB  〜  140  GB  まで変化させて実験 •  比較内容   –  ハードウェアRAIDの有無   •  RAID0  を使用するか、使用する場合のストライプサイズ   –  mSATA  SSD  からの読み込み手法   •  mmap,  pread   –  ホストメモリから  GPU  への  DMA  転送の有無   •  Pinned  メモリの使用の有無   –  データ転送粒度   •  35,  70,  140,  280,  560  MB   –  GPU  の使用の有無   •  ホストメモリ上で CPU  が計算する場合との比較 24
  • 25. RAID0  と  Raw  デバイスの比較 •  Raw  デバイスの場合は  OpenMP  で並列読み込み   •  行列の転送粒度は  70MB   •  RAID0  1MB  が最も高速   –  OpenMP  による並列読み込みが最適化されていない可能性 0   0.5   1   1.5   2   2.5   3   3.5   0.274   0.547   1.09   2.19   4.38   8.75   17.5   35   70   140   Throughuput  [GB/s] Matrix  Size  [GB] Raw  8  mSATA   8  mSATA  RAID0  (1MB)   8  mSATA  RAID0  (64KB)   25
  • 26. 読み込み手法による比較 •  mmap,  pread  を比較   •  行列サイズが大きい場合は同等の性能   •  行列サイズが小さい場合は mmap  の方が高速   –  pread  の粒度を  70MB  としたため、オーバーラップが不十分のため   0   0.5   1   1.5   2   2.5   3   3.5   0.274   0.547   1.09   2.19   4.38   8.75   17.5   35   70   140   Throughput  [GB/s]   Matrix  Size  [GB] 8  mSATA  GPU  (pread)   8  mSATA  GPU  (mmap)   26
  • 27. ホストメモリから  GPU  メモリへの     DMA  転送の有無による比較 •  Pinned  メモリを使用した方が 1.21〜2.28倍 高速   –  DMA  転送による効果 0   0.5   1   1.5   2   2.5   3   3.5   0.274   0.547   1.09   2.19   4.38   8.75   17.5   35   70   140   Throughput  [GB/s] Matrix  Size  [GB] 8  mSATA  GPU  (pinned)   8  mSATA  GPU  (non-­‐pinned)   27
  • 28. 行列の転送粒度による比較 •  35〜70MB  の粒度が最も高速   –  粒度が大きいと オーバーラップ領域が小さくなるため 0   0.5   1   1.5   2   2.5   3   3.5   0.274   0.547   1.09   2.19   4.38   8.75   17.5   35   70   140   Throughput  [GB/s] Matrix  Size  [GB] 8  mSATA  GPU  (35MB)   8  mSATA  GPU  (70MB)   8  mSATA  GPU  (140MB)   8  mSATA  GPU  (280MB)   8  mSATA  GPU  (560MB)   28
  • 29. GPU  を使用しない場合との比較 •  CPU  を使用した方が高速   –  GPU  を使用した場合は  PCI-­‐E  のバンド幅  (3.06  GB/s)  に律速   –  PCI-­‐E  バンド幅の上限が上がれば、CPUと同等のスループットになると   考えられる 0   0.5   1   1.5   2   2.5   3   3.5   4   4.5   5   0.274   0.547   1.09   2.19   4.38   8.75   17.5   35   70   140   Throughput  [GB/s] Matrix  Size  [GB] 8  mSATA  GPU   8  mSATA  CPU   29
  • 30. 30 ブレイクダウン •  Vampir  Trace  を使用   •  行列サイズが 1.12  GB  の場合
  • 31. 31 ブレイクダウン •  Vampir  Trace  を使用   •  行列サイズが 1.12  GB  の場合 不揮発性メモリ  →  ホストメモリ への読み込み
  • 32. 32 ブレイクダウン •  Vampir  Trace  を使用   •  行列サイズが 1.12  GB  の場合 ホストメモリ ⇄  GPUメモリへの転送
  • 33. 33 ブレイクダウン •  Vampir  Trace  を使用   •  行列サイズが 1.12  GB  の場合 GPU上での計算
  • 34. 34 ブレイクダウン •  Vampir  Trace  を使用   •  行列サイズが 1.12  GB  の場合 •  I/O、転送、計算のオーバーラップを確認   •  CPU  →  GPU  への転送がボトルネック   •  転送量に対し計算量が不十分であるため   •  計算が占める割合は  8%  程度  
  • 35. 複数 mSATA  SSD  と  GPU  を用いた   実験のまとめ •  最適な  I/O  手法の選択により,複数 mSATA  SSD   から  GPU  へ PCI-­‐E  上限(3.06  GB/s)のスループット   –  RAID0  を使用し、ストライプサイズを  1MB  に設定   –  Pinned  メモリへ  35〜70MB  程度の粒度で転送   –  DMA  転送を用いると 1.21〜2.28倍高速   –  十分にオーバーラップされる場合は pread  と mmap   に大きな性能差は見られなかった   •  GPU  への転送を隠蔽できる計算量を持つアプリ ケーションが必要 –  密行列ベクトル積では計算が占める割合は  8%  程度   35
  • 36. 複数 mSATA  SSD  と  GPU  を用いた   実験のまとめ •  最適な  I/O  手法の選択により,複数 mSATA  SSD   から  GPU  へ PCI-­‐E  上限(3.06  GB/s)のスループット   –  RAID0  を使用し、ストライプサイズを  1MB  に設定   –  Pinned  メモリへ  35〜70MB  程度の粒度で転送   –  DMA  転送を用いると 1.21〜2.28倍高速   –  十分にオーバーラップされる場合は pread  と mmap   に大きな性能差は見られなかった   •  GPU  への転送を隠蔽できる計算量を持つアプリ ケーションが必要 –  密行列ベクトル積では計算が占める割合は  8%  程度   36 複数 mSATA  SSD  から  GPU  への   最適な転送方法を確認  
  • 37. 発表の流れ 1.  背景   2.  複数 mSATA  SSD  を用いた予備評価   1.  プロトタイプマシンの設計   2.  I/O  ベンチマークを用いた評価   3.  既存の不揮発性メモリとの性能比較   3.  複数 mSATA  SSD  と  GPU  を用いた予備評価   1.  プロトタイプマシンの設計   2.  ベンチマークアプリケーションの実装   3.  予備評価   4.  関連研究   5.  まとめ 37
  • 38. 関連研究 •  不揮発性メモリ同士の性能比較*1   –  SATA  接続型と PCI-­‐E  接続型不揮発性メモリの性能比較   •  RAID  カード上での不揮発性メモリの性能調査*2   –  パラメータ探索による性能調査   •  オーバーヘッドの削減による mmap  の最適化*3   –  プロセッサ間割り込みの削減による最適化   •  GPUからファイルシステムへのI/Oインターフェイス*4   –  GPU  メモリ上のバッファキャッシュの最適化   *1:  Master  et  al.:  “Performance  Analysis  of  Commodity  and  Enterprise  Class  Flash  Devices”,  PSDW  2010   *2:  He  et  al.:  “DASH-­‐IO:  an  empirical  study  of  flash-­‐based  IO  for  HPC”,  TG  2010 *3:  Song  et  al.:  “Low-­‐latency  memory-­‐mapped  I/O  for  Data-­‐intensive  Applicarons  on  Fast  Storage  Devices”,              DISCS  2012   *4:  Silberstein  et  al.:  “GPUfs:  Integrarng  a  File  System  with  GPUs”,  ASPLOS  2013   38
  • 39. まとめと今後の課題 •  まとめ   –  不揮発性メモリから  GPU  への最適な  I/O  手法を把握   –  16  枚の mSATA  SSD  を用いたプロトタイプマシンの設計   –  複数 mSATA  SSD  の  I/O  基本性能の評価   •  16枚の mSATA  SSD  で 7.39  GB/s  (理論ピークの 92.4%)   •  8  mSATA  SSD  で  ioDrive2  に対し 3.20〜7.60  倍 の  Read  性能   –  複数 mSATA  SSD  から  GPU  への  I/O  性能の予備評価   •  8  mSATA  SSD  から  GPU  へ 3.06  GB/s  のスループット   •  RAID0  (ストライプサイズ  1MB)  を組み、35〜70MB  の粒度で   DMA  転送   •  今後の課題   –  ランダム  I/O  の評価   •  大規模グラフ探索など   –  実アプリケーションを用いた評価   •  スペクトラルクラスタリングなど   39
  • 41. mini  SATA  SSD  (mSATA  SSD) •  mSATA  SSD   – 大容量、高性能、低消費電力、低価格   – 例)  CT256M4SSD3:     •  256  GB   •  Read:  500  MB/s、Write:  260  MB/s   •  平均アクティブ時消費電力:  <200mW   •  アイドル時消費電力:  <85mW   •  $260-­‐$300   41
  • 42. 複数 mSATA  SSD  の  IOPS 0   50000   100000   150000   200000   250000   300000   350000   1   2   4   8   16   IOPS #  mSATA  SSDs Raw  mSATA  SSDs   RAID0  64KB   42
  • 43. Implementaron  using  mulr-­‐mSATA   without  RAID  0 GPU CPU mSATA 1.  Open  input  file   2.  Read  in  parallel  (OpenMP)   3.  Copy  input   5.  Copy  output   4.  Computaron   Repeat  for  each  chunk mSATA mSATA 43