DBエンジニアのための 最新HW講座
株式会社インサイトテクノロジー
CTO 石川 雅也
SSD, Infiniband and Memory
Disclaimer 本資料の内容はすべて執筆者の個人的な見解であり、株式会社インサイトテクノロジーの公式な見解を示すものではありません。
本資料内で使用されている社名、ロゴ、製品、サービス名およびブランド名は、該当する各社の登録商標または商標です。
本資料内でベンチマークプログラムの一部を流用して性能測定していますが、データベースのベンチマーク目的ではありません。
本資料の一部あるいは全体について許可無く複製および転載することを禁じます。
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 2
自己紹介 • 石川 雅也 (いしかわ まさや)
• 現職 o 株式会社インサイトテクノロジー 取締役 CTO
FB: MasayaIshikawa
• 職歴 o 外資系HWベンダーにて、ミニコンOS, UNIX OS担当SE. 社内SE向け技術
情報発信、トラブルシュート。crash dump解析、UNIX SCSI Device Driverの改造なども。
o 1993年 日本オラクルに入社。DBインフラ系テクニカルサポート、 コンサルティング、トラブルシュート。
o 1995年 インサイトテクノロジー設立 Oracleパフォーマンス管理ツール Performance Insight開発 (1995~) Oracleアクセスログ取得管理ツール PISO開発 (2004~) SQL Server版、富士通Symfoware版 PISO開発 (2005~) DB コンサルティング、トラブルシュート
2009年 SSDのR&D開始 2011年1月 DB向けHW Insight Qube R&D本格的に開始。 2012年3月 Insight Qube発売
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 3
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 4
Insight Qube の目標
コモディティなパーツを使用して、
DB向けに ボトルネックを無くしたシステムを構成し、
驚異的な性能、
高い運用性、
優れたコストパフォーマンス
を実現すること!
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 5
DB専用機器と同等の性能
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 6
0
500
1000
1500
2000
2500
3000
3500
4000
Insight QUBE A B
処理時間(秒)
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 6
テスト内容:
約30GB相当のデータをRAC2ノードからinsert (シーケンシャル/ランダム ライト)のテストを実施
競合A:DB専用アプライアンス 競合B:高性能汎用機器でのチューニング
Insight Qubeスペック Oracle RAC 2 node構成
DB:サーバ×2 CPU: Xeon 5690 (12Mcache/3.46GHz/6cores/12threads) * 2 Memory: 48GB
Storageサーバ×3: Storage * 3 (240 * 8 * 3 = 5.8TB / 実効容量 = 2.9TB)
HWもわかるDBエンジニアに
HWまで理解している DBエンジニアって、
重宝されるゾ♪
このセッションでは、DB専用ハードウェア
Insight Qubeの開発を通じて得た知見を、SSD, Infiniband, 大容量Memory という 3つの最新技術と共にご紹介します。
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 7
System Bottlenecks
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 8
Eliminate Bottlenecks
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 9
Agenda of SSD
10
• HDD, SSD, PCIe Flash の比較
• SSDのパフォーマンスを考える • 書き込み速度劣化、Client/Enterpriseモデルの違い
• IOサイズ別パフォーマンスとデータベース
• アライメント、OSチューニング、IOスケジューラー など
• SSDの寿命を考える • 寿命とは
• Client/Enterpriseモデルの違い
• カタログから寿命を読む
Copyright © 2012 Insight Technology, Inc. All Rights Reserved.
Storageの性能比較
11
0 500 1000 1500 2000
HDD
SSD
PCIe SSD
MB/sThroughput
700~2GB/s
~ 500MB/s
~200MB/s
0 100 200 300 400 500
HDD
SSD
PCIe SSD
IOPS(k)IOPS
70K~500k
20k~70k
~300
Copyright © 2012 Insight Technology, Inc. All Rights Reserved.
* コンシューマー向け製品を含む。 HDDは 2.5”
Storageの仕様比較
12
0 500 1000 1500 2000 2500
HDD
SSD
PCIe SSD
GB Capacity
300MB~2.4TB
1.6TB
1TB
0 2000 4000 6000 8000
HDD
SSD
PCIe SSD
円/GB 価格
2000 ~ 6000円
100 ~ 1200円 [3000円]
60 ~ 300円
0 20 40 60 80
HDD
SSD
PCIe SSD
Watt消費電力 Idle:20w RW:50w
Idle:~1w RW:数w
Idle:4w RW:8w
* コンシューマー向け製品を含む。 HDDは 2.5”
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 13
http://www.snia.org/sites/default/files/UnderstandingSSDPerformance.Jan12.web_.pdf
SSDのパフォーマンスを考える
FOB
Steady State
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 14
http://www.snia.org/sites/default/files/UnderstandingSSDPerformance.Jan12.web_.pdf
SSDのパフォーマンスを考える
SSDの書き込み速度低下
15
Write Amplification
NAND Flash Chipの特性で、データの上書きは出来ず、一度
消去してから書き込むしかない。また消去の単位は書込みの
単位より大きい。そのため余計な読み込み・書込みが発生。
1. データが書き込まれていな
い場合は、
2. そのまま書き込める
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
16
Write Amplification
NAND Flash Chipの特性で、データの上書きは出来ず、一度
消去してから書き込むしかない。また消去の単位は書込みの
単位より大きい。そのため余計な読み込み・書込みが発生。
1. データが書き込まれている場合、
2. 1箇所だけ変更しようとしても、
3. 消去するサイズのデータをコピー
し、
4. データを消去し、
5. 1箇所を変更して、
SSDの書き込み速度低下
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
17
Write Amplification
NAND Flash Chipの特性で、データの上書きは出来ず、一度
消去してから書き込むしかない。また消去の単位は書込みの
単位より大きい。そのため余計な読み込み・書込みが発生。
1. データが書き込まれている場合、
2. 1箇所だけ変更しようとしても、
3. 消去するサイズのデータをコピー
し、
4. データを消去し、
5. 1箇所を変更して、
6. 全て書き戻す。
SSDの書き込み速度低下
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
• read: 数10μs
• write: 数10μs ~ 数100μs
• erase: 数ms
18
0%
20%
40%
60%
80%
100%
A B C D
Rnd. Read
Seq. Read
Rnd. Write
Seq. Write
最大速度を100として、
速度劣化時の速度の割
合。
SSD製品別 速度劣化率 2011
Copyright © 2012 Insight Technology, Inc. All Rights Reserved.
19
0%
20%
40%
60%
80%
100%
A B E C D
Rnd. Read
Seq. Read
Rnd. Write
Seq. Write
最大速度を100として、
速度劣化時の速度の割
合。
SSD製品別 速度劣化率 2012
Copyright © 2012 Insight Technology, Inc. All Rights Reserved.
この 速度安定感!
MLCを使用しているが、
耐久性も抜群
抜群の コストパ
フォーマンス
DBの典型的なIOサイズ
• Oracle o Sequential Read – block size 4k, 8k,…
o Scattered Read – block size x multiblock_read_count = 128k, 256k
…
o Direct Read – Scattered Readと同じ
• SQL Server o Clustered Index Seek – block size 8k
o Clustered Index Scan – extent size 64k
o 起動オプション設定などの調整で 最大512k まで大きくすることが可能
• Vectorwise o スペック上は 1M、実測値は 512kか?
• Filesystem o 512b ~
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 21
カタログ・スペックに騙されるな
• Th. R/W 500MB/500MB (大体は128k~ の値)
• IOPS R/W 2万~7万 (大体は 4k の値)
IOサイズ 4k で 5万IOPSなら Th. 200MB/s
512bの値を載せている製品もあるので注意
• これらの値は、(大体は) FOB(Fresh Out of Box)の性能と思え
• 心ある Enterprise向け製品は
Steady (Sustained)Performanceを載せている。
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 22
SSD本体以外の考慮点 アライメント
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 23
http://www.smartstoragesys.com/pdfs/AN001_Benchmarking_and_Performance.pdf
• NAND Flush Memory Blocks • RAID Stripe Size, Chunk Size • Partition Alignment • FileSystem Blocksize • DB Blocksize
• IOスケジューラ (Linux) o HDDの場合は cfq
o SSDの場合は noop (or deadline)
• Kernel options, Filesystem Options, …
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 24
SSD本体以外の考慮点 OS関連
SSDの寿命を考える
25
SSDの寿命とは? ビットエラーが多発したブロックを不良ブロックとして切り離し、予備
領域を使う。予備領域がなくなった時が寿命で、SSDはリードオンリー
またはアクセス不能!! になる。
MLCで3千回から5千回、eMLCで3万回、SLCで10万回が
NAND Flash Chipとしての書込み寿命(P/E 回数)
MLCは、このままではEnterpriseに使用できないので、
いかに寿命を延ばすかが、各社の技術!!
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
SSDの寿命を延ばすには
26
Ware Leveling
書込みを並列化させ、書込み速度の向上を図るとともに、
特定のチップに書込みが偏らないように調整する。
すべてのチップが同時に書込み寿命を迎えるのが理想的
予備領域 (Over Provisioning)
一般的なコンシューマー向けSSDの場合 Binary GiB(ギビバイト) (1024 ^ 3)
と Decimal GB (1000 ^ 3)の違いを利用している。
例えば 256GBの製品の場合 274.88GiB(256 x 1024 ^ 3) なので、その差
18.8GBが予備領域 (約 7%)
エンタープライズ向けの場合、25%程度を予備領域として確保している製品が
多い。製品によっては 40%~200%以上を予備領域としている製品もある。
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
SSDの寿命を延ばすには
27
ECCエラー訂正
512byte毎に数ビット(1年前は 4~8bit)のエラーが訂正出来る。
Flashメモリのプロセスルールが微細になると、エラー発生率も上がるため、プ
ロセスルールが進化すると ECCの bit数も大きくする必要がある。
ECCで訂正できるビット数を増やすと、その分チップを長く使うことが出来る
ので、結果として寿命が延びる。
Fusion-ioの ioDriveは 512byteあたり 39bit
SandForce SF-2500は 512byteあたり 55bit
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
寿命に関するスペックの見方
• WA – Write Amplification
WA =Flashに書き込まれたデータ量
Hostから書き込んだデータ量
通常1.1~10程度。圧縮機能付きコントローラの場合は 0.2 ~ 7.5 アクセスメソッドやデータの種類などにより異なる。が、コントローラー(ファームウェア)の良し悪しが一番影響するところ。 小さいほうが良い
• Sequential Access: WA値が小さい Random Access: WA値が大きい
• 圧縮機能付きコントローラの場合、未圧縮データは WA値が小さい 圧縮済みデータは WA値が大きい
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 28
寿命に関するスペックの見方
• TBW – Total Byte Written 書き込み可能 総容量
TBW =Capacity 容量 ∗ (1 + 𝑂𝑃) ∗ PE可能回数
WA
𝑂𝑃 = 𝑂𝑣𝑒𝑟𝑃𝑟𝑜𝑣𝑖𝑠𝑖𝑜𝑛𝑖𝑛𝑔 = 𝑃ℎ𝑦𝑠𝑖𝑐𝑎𝑙 Capacity
𝐿𝑜𝑔𝑖𝑐𝑎𝑙 𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 − 1
• DWPD – Data Write per Day 1日に容量の何倍書き込みして、何年保証するか
DWPD =TBW
保証期間 日 ∗ Capacity(容量)=
1 + 𝑂𝑃 ∗ PE可能回数
WA ∗ 保証期間(日)
Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 29
SSD製品別 書き込み寿命
30
0
5
10
15
20
25
30
35
A B E C D
Write Endurance
TB / GB
容量1GBあたり、何TB書き
込むと寿命になるか。
TB
10 DWPD/5y
31
• エンタープライズ市場で使えるMLC SSDが多数。
• HDDと比較すると、台数削減が見込めるため、
HWコスト、スペースコスト、運用コスト、消費電力コスト
の削減が実現可能。性能向上による業務へのプラスのイン
パクトも考えるべき。
SSD まとめ
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
32
• 性能劣化はどのSSDでも存在する。
• どれ位劣化するかはカタログには書いていない !!!!
劣化の度合いは値段には比例しない !!!
• Steadyなパフォーマンスを教えてもらおう!
• 寿命もWA値の設定次第でどうにでも見せられる。
• こちらも理論武装して、
WA値がいくつで計算した寿命なのか教えてもらおう!
• その他、性能を引き出すため、寿命を延ばすために、
正しい使い方を。
SSD まとめ
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
SSD Vendors
33
SSDベンダーは、全世界で 200社前後。
Enterprise向けだけでも、数十社。HDDと同様再編が進んでいる。
Flash Based Strage HP 3PAR (買収), NetApp, DELL, Hitachi Data Systems EMC XtremeIO (買収), IBM Texas Memory Systems(買収), Kaminario, Nimbus Data, Pure Storage, Skyera, Tegile Systems, Violin Memory, Whiptail
PCIe Flash
Fusion-io, LSI, Intel, STEC, Micron, OCZ, Virident, EMC
SAS/SATA SSD STEC, OCZ, SanDisk, Micron, Smart Storage Systems, Samsung, Intel, Toshiba, …
Copyright © 2012 Insight Technology, Inc. All Rights Reserved.
Eliminate Bottlenecks
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 34
35
• 転送速度
40Gbps (QDR x4)
56Gbps (FDR x4)
• コスト (ポート単価)
10GbE, FCよりもかなり安い
• Latency – 1μsec (port to port)
10GbEは 20~μsec
• 取り扱いや柔軟性、拡張性は 10GbEにかなわない。
• しかし、コストと速度、およびCluster内のインターコネクトと
しての用途を考えると Infinibandが最適の選択肢。
• 但し、使用するプロトコルなど含めて、扱いは若干ハードルが
あるだろう。
Infiniband とは
Copyright © 2012 Insight Technology, Inc. All Rights Reserved.
36
主なメーカー • Mellanox
現在、市場の9割以上を占有
40GbEの最大メーカーでもある
6月に12port IB, Eth switchを
低価格で販売
• QLogic (Intelが買収)
今はダメ
来年以降に EDRで巻き返しを計画中
Infiniband とは
Copyright © 2012 Insight Technology, Inc. All Rights Reserved.
37
http://www.infinibandta.org/content/pages.php?pg=technology_overview
Infiniband ロードマップ
38
• Bit変換の仕様が異なるため実際の速度は
QDR 4GB/s に対して FDR 6GB/s
• PCI Express Gen3 x8 (80Gbps) を使用する
• DDR3-1333 10GB/s
• PCIe Gen3.0 x8 8GB/s
• Infiniband FDR x4 6GB/s
• PICe Gen2.0 x8 4GB/s
• Infiniband QDR x4 4GB/s
• 10GbE 1GB/s
• Fibre Channel 0.8Gbps
Infiniband FDR
39
•現時点ではCluster間あるいはStorageとのイ
ンターコネクトとしてはベストな選択。
一番早くて、相対的なコストも10GbE, FCと
比較して高くない。 (安くないけど)
•使用するのに若干ハードルはある。Driver
Versionとか…
一度構成出来れば、運用性は良い。
•Mellanox 1社になり、市場として広がるのか
が心配。
Infiniband まとめ
Eliminate Bottlenecks
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 40
Memory Bottleneck
• 大量メモリーがパフォーマンス上有利なことは自明
• しかし、従来メモリーボトルネックは容量の問題としてしか語られて来なかった。果たしてそれは正しいのか?
• 課題は
正しい構成の仕方
使いどころの把握
コスト
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 41
Latencyの比較
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 42
IBM Redbooks - http://www.redbooks.ibm.com/redpapers/pdfs/redp4814.pdf
Latencyの比較
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 43
CPU Register
CPU Cache
RAM
SSD
HDD
SSD
RAM, Cache, …
メモリの正しい構成の仕方
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 44
Memory Bench with Multi Core
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 45
10.0
20.3
24.9 27.2 27.9
0
5
10
15
20
25
30
1 core 2 core 4 core 8 core 16 core
Th
rou
gh
pu
t (G
B/s)
Ramsmp3.5.0 (http://alasir.com/software/ramspeed/) で計測
Xeon(4core) x 2, DDR3-1333 8GB R-DIMM DR 使用
Memory 規格
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 46
チップ規格 モジュール規格 転送速度
DDR3-800 PC3-6400 6.4 GB/s
DDR3-1066 PC3-8500 8.5 GB/s
DDR3-1333 PC3-10600 10.7 GB/s
DDR3-1600 PC3-12800 12.8 GB/s
Xeon Architecture
装着可能枚数 /CPU
対応DIMM サイズ
最大メモリ搭載量 /CPU
対応メモリチップ
Westmere-EP 6枚 16GB 96GB DDR3-1333
Westmere-EX 8枚 16GB 128GB DDR3-1066
Sandy Bridge 12枚 32GB 384GB DDR3-1600
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 47
Sandy Bridge Support Memory
32GB R-DIMMを使うと 800MHz動作、かつ 2枚/Ch = 8枚/CPU つまり 256GB/CPU
までしかサポートされない
Sandy Bridge Support Memory
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 48
32GB LR-DIMMを使うと 1066MHz動作で
384GB/CPU までサポートされる
Memoryの最適な枚数
• 4メモリー・チャンネルあるSandy Bridge Dual CPUマシンに、192GBメモリーを載せるときはどう構成する?
• 32GB x 6枚 = 192GB?
16GB x 12枚 = 192GB?
• 正解は 16GB x 8枚 + 8G x 8枚 Dual CPUで 8メモリー・チャンネルあるので、DIMM枚数は 8の倍数にするべし。
• 16GB DIMMはCPUに近い方に載せる
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 49
メモリの使いどころの把握
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 50
Infiniband Fabric(40Gbs/s)
Storage Storage
Storage
RAC Node
#1
RAC Node
#2
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 51
SATA SSD * 6
* 3ノード
Redhat Enterprise
Linux 5.7 64bit
Intel Xeon E5645
2.40GHz * 2 * 2ノード
120GB * 2ノード
Oracle 11.2.0.3 EE +
RAC SGA 40GB
SATA 1K rpm HDD * 6
* 3ノード
Storage Storage Storage 6枚のSSDを
使用して 3.2GB/s read
Infiniband利用で 10GB/s read
RACのインターコネクトにも
実測 #1 • 4億件の売上データから、4半期ごとの売上を集計
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 52
select /*+ parallel(s,48) use_hash(s,p) */
to_char(s.TIME_ID, 'yyyy-Q') YMD,
sum(s.AMOUNT_SOLD * p.PROD_LIST_PRICE) SOLD
from SALES s,
PRODUCT p
where s.PROD_ID = p.PROD_ID
group by to_char(s.TIME_ID, 'yyyy-Q')
order by 1;
DWH Power Test
84.4
12.4 11.6 0
20
40
60
80
100
120
Ela
pse
d T
ime (
sec)
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 53
7倍
メモリの効果なし?
実測#2
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 54
• TPC-Hで使用しているSQLの一部を複数セッションから
同時に実行
• セッション数を 5 → 10 → 20 と増やしてみて、ボト
ルネックの傾向を探る
IQ DWH query performance
0.8 0.6 0.4
8 12
16
27
39
49
0
10
20
30
40
50
60
5 session 10 session 20 session
Qpm
HDD SSD In-Memory
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 55
x 4
0
x 3
x 1
23
メモリのコスト
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 56
コスト比較
0 25 50 75 100 125 150
DIMM
PCI-e…
SSD
HDD
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 57
※ SAS HDD 7200rpm を 1とした場合
HDD x1~5
SSD x10~20
PCI-e SSD x33~60
Enterprise向けStorageと Memoryの 容量あたり単価比較
~8GB x25
16GB x45
32GB x150
Memory Bottleneck
• 課題は
正しい構成の仕方
使いどころの把握
そしてコスト
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 58
Conclusion Memory • 正しい構成の仕方
o CPUの数が多いほうがメモリ帯域を有効に使用出来る
(Core数では無い)
o 大容量メモリを使用するならR-DIMMではなく LR-DIMMを使用する必要がある。速度も LR-DIMMが有利。
o Memory Channelを有効に使える枚数を意識する
• 使いどころの把握 o OLTP的な処理では効果が見込める
o DWH的な処理の場合、充分に早いスループットを実現しているストレージの場合、メモリの効果が出ないパターンがある
• コスト o 特に大容量メモリを実現する場合、コストは高い。IQなら安い!
Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 59