[db tech showcase tokyo 2016] a12: フラッシュストレージのその先へ...

39
フラッシュストレージのその先へ ~不揮発性メモリNVDIMMが拓くデータベースの世界~ 2016713日本ヒューレット・パッカード株式会社 小森 博之

Upload: insight-technology-inc

Post on 07-Jan-2017

818 views

Category:

Technology


4 download

TRANSCRIPT

フラッシュストレージのその先へ~不揮発性メモリNVDIMMが拓くデータベースの世界~

2016年7月13日日本ヒューレット・パッカード株式会社小森 博之

はじめに

– 本資料で示す測定データは、特定の条件・環境下で計測したものです。

– 各製品の性能の一面しか表していない可能性がありますし、製品の性能を保証するものでもありません。

– 計測に使用したツールや測定条件が一定していません。各計測間の比較はお控えください。

データ指向経営の

推進関連データを100%活用し、

卓越したビジネス成果をもたらす実用的な情報を提供。

ハイブリッド・インフラへの

変革

ワークプレイスの生産性

向上

デジタル・エンタープライズの

保護

“アイデアエコノミー”の到来

コンピュータの処理性能向上ストレージ処理性能が大幅に向上

メモリコントローラ

PCIe 3.0

• クロックの向上は停滞• 多コア化は継続

• E5 v4 : 22コア• E7 v4 : 24コア

• 専用プロセッサ• GPU• FPGA• Xeon Phi

• 容量の向上は鈍化• 128GBの登場• 半導体プロセスの限界

• 3D DRAM ?• DDR5 ?

• フラッシュにより大幅に性能向上• NVMe (PCIe接続)

• 大容量化の継続• 3D NAND• 7.68TB SSD (2.5インチ)

CPU メモリ

ストレージ

Special purpose cores専用コア

Photonicsフォトニクス

Massive memory pool巨大なメモリー群

The MachineHPEが目指すコンピュータの将来像

サーバー内蔵フラッシュストレージの変遷

SATA接続SSD

PCIe接続フラッシュ NVMe接続フラッシュNVMe接続フラッシュ

(ドライブタイプ)

1991年 2008年 2013年 2014年

高速化

標準化NVM Express

着脱可能SFF-8639

4KB ランダムリード性能HDD x 8 (RAID 10)とPCIeフラッシュの性能比較

0

2

4

6

8

10

12

1 2 4 8 16 32 64

(ms)

qdepth

4KB Random Read(Latency)

HDD x 8 (RAID 01) PCIe接続フラッシュ

0

100

200

300

400

500

1 2 4 8 16 32 64

(MB

/sec

)

qdepth

4KB Random Read(MB/sec)

HDD x 8 (RAID 01) PCIe接続フラッシュ

• HDD x 8をRAIDコントローラでRAID 10にしたボリュームとPCIeフラッシュ x 1枚の比較• Windows Server 2012 R2, Iometerで測定

64KB シーケンシャルリード性能HDD x 8 (RAID 10)とPCIeフラッシュの性能比較

• HDD x 8をRAIDコントローラでRAID 10にしたボリュームとPCIeフラッシュ x 1枚の比較• Windows Server 2012 R2, Iometerで測定

0200400600800

1000120014001600

1 2 4 8 16 32 64

(MB

/sec

)

qdepth

64KB Sequential Read(MB/sec)

HDD x 8 (RAID 01) PCIe接続フラッシュ

00.5

11.5

22.5

33.5

4

1 2 4 8 16 32 64

(ms)

qdepth

64KB Sequential Read(Latency)

HDD x 8 (RAID 01) PCIe接続フラッシュ

メモリとストレージ技術の融合

CPU

キャッシュ

DRAM

フラッシュ SDD

HDD

バイトアクセス

低レイテンシー

ブロックアクセス

高レイテンシー

メモリ

ストレージ

スピード

永続性

NVDIMM

NVDIMM = メモリのスピードを持った永続化ストレージ

NVDIMMとは?

Non-volatile memory (不揮発性メモリ)電源を供給しなくても記憶を保持するメモリの総称以下のようなものがある• フラッシュメモリ• 磁気抵抗RAM (MRAM)• 抵抗変化型メモリ (ReRAM)• 強誘電体メモリ (FeRAM)

NVDIMMNon-volatile memory (不揮発性メモリ) をDIMMスロットに装着する標準規格JEDEC DDR4 で規格化されている3種類の形態があり、現在 NVDIMM-Nが実用化されている

NVDIMM規格

JEDECがDDR4 DRAM DIMMの追加仕様として策定した、メモリスロットに不揮発性メモリを搭載するための標準規格。3種類の規格が存在。

NVDIMM-N NVDIMM-F NVDIMM-P

特長 : 高性能(小容量) 特長 : 大容量 特長 : NとFを兼用

• DRAMと不揮発性メモリを搭載• システムからアクセスするのはDRAM• DRAMと不揮発性メモリは同じ容量• 不揮発性メモリはDRAMのバックアップ• 容量:DRAM• 性能:DRAM

• 不揮発性メモリのみを搭載

• システムからアクセスするのは不揮発性メモリ

• アクセス方法はblockアクセス• 容量:不揮発性メモリ• 性能:不揮発性メモリ

• DRAMと不揮発性メモリを搭載• NVDIMM-NとNVDIMM-Fの両方のモードを備える

• DRAMより不揮発性メモリの容量が大きい

• 容量:不揮発性メモリ• 性能:DRAM or 不揮発性メモリ

不揮発性メモリDRAM 不揮発性

メモリDRAM不揮発性メモリ

不揮発性メモリDRAM

NVDIMM-Nの動作

E:稼動状態 OSからストレージとして見えて

おり、Read/Writeが高速に可能データ

不揮発性メモリDRAM

電源オフ Smartストレージバッテリーを使用して、DRAM上のデータを不揮発性メモリにバックアップ

データ

不揮発性メモリDRAM

電源オン不揮発性メモリ上のデータをDRAMに復元

データ

不揮発性メモリDRAME:

稼動状態 OSから電源オフ前のデータを持ったストレージとして見えており、Read/Writeが高速に可能データ

NVDIMMを使用するための条件どんなサーバーでも使えるわけではありません

サーバーでのサポート

OSでのサポート

アプリケーションでのサポート

• データをフラッシュに退避する時に使用するバッテリを搭載している• バイオスが、電源入/切の割り込みをNVDIMMに通知できる• バイオスが、DIMMとNVDIMMを識別できる

• OSがDIMMとNVDIMMを識別できる• NVDIMMに対する、ブロック・アクセスもしくはバイトアクセスの方法を提

供している• ブロック・アクセスの場合、ストレージデバイスとして提供できる

• ブロック・アクセスの場合には、通常のファイルシステム経由で使用できる• バイト・アクセスの場合には、Memory Mapped Fileなどのアクセス方法

を提供している

HPEから 8GB NVDIMM-Nの登場7月13日現在、発表はしていますが、販売は開始していません

NAND Flash

33

Smartストレージバッテリー

–主な仕様–メモリモジュールにDRAM(RDIMM)とNAND Flashを搭載(メモリスロットに装着)–NVDIMMコントローラーを持ち、HPE Smartストレージバッテリーをバックアップ電源として使用–突然の電源断時にはバッテリーを利用してデータを保護(FBWCと同様の仕組み)–OSからはローカルドライブとして参照可能–E5-2600 v4を搭載したDL360 Gen9, DL380 Gen9でサポート–最大16枚搭載可能

–メリット–メモリと同等速度のアクセスが可能

–利用用途–データキャッシュ–データベースのトランザクションログ領域 etc.

OSサポート

Windowsでのサポート

Linuxでのサポート

Windows Server 2012 R2• HPEがNVDIMM用ドライバを提供 (予定)• ブロックアクセスをサポート

Windows Server 2016 Technical Preview 5以降• OSとしてNVDIMMをサポート• ブロックアクセスとバイトアクセスをサポート

RHEL 7.2, CentOS 7.2用に NVDIMM SDKを提供http://linux.hpe.com/nvdimm/(正式サポートではありません)“This SDK is not for production use. Its support model is very limited and the software being provided is as-is and considered experimental.

ブロックアクセスとバイトアクセスWindows Server 2016の場合

ファイルシステム

SCM Disk Driver

Load/Store命令

SCM Bus Driver

ユーザーモードカーネルモード

アプリケーション

標準ファイルAPIアプリケーション

ローデバイスアクセス

SCM(Storage Class Memory)

ブロックアクセス

Microsoft社 Build:2016より

DirectAccessアプリケーション

SCM対応ファイルシステム(NTFS/DAX)

アプリケーションがメモリマップファイルを要求

メモリマップ領域

DirectAccess

データパス

DirectAccess設定パス

SCM Disk Driver

Load/Store命令

SCM Bus Driver

SCM(Storage Class Memory)

メモリマップ領域

ユーザーモードカーネルモード

Load/Store命令

バイトアクセス

起動時の認識

BIOS(RBSU)での設定

• NVDIMM-N Memory Functionality• NVDIMM-Nを有効にするかどうか

• NVDIMM-N Memory Interleaving• Interleavingをするかどうか

• NVDIMM-N Backup Power Policy• バッテリの容量が不十分な場合にブートを続けるかどうか

• NVDIMM-N Sanitize/Erase on Next Reboot Policy

• 次回ブート時にNVDIMM-N上のデータを消去するかどうか

• NVDIMM-N Data Integrity Checking• データが読めるかどうかのチェックをするかどうか

Windows Serverでの認識Windows Server 2016 Technical Preview 5を使用

検証環境検証を実施しました

HPE ProLiant DL360 Gen9サーバXeon E5-2630 v4(2.2GHz, 10コア) x 2, 128GBメモリ

HPE NVDIMM 8GBPCIeフラッシュ 1.3TB x 1Windows Server 2016 Technical Preview 5

0

100

200

300

400

500

600

700

PCIeフラッシュ NVDIMM

(MB

/sec

)

4KB Read, threads=1

4KB シーケンシャルリード性能PCIeフラッシュとNVDIMMの性能比較

• PCIeフラッシュ x 1枚とNVDIMM-N x 1枚の比較• Windows Server 2016 TP5, Flexible I/O Tester(fio)で測定

16倍

PCIeフラッシュ レイテンシー NVDIMM104マイクロ秒 99%タイル 5マイクロ秒

0

100

200

300

400

500

600

700

PCIeフラッシュ NVDIMM

(MB

/sec

)

4KB Write, threads=1

4KB シーケンシャルライト性能PCIeフラッシュとNVDIMMの性能比較

• PCIeフラッシュ x 1枚とNVDIMM-N x 1枚の比較• Windows Server 2016 TP5, Flexible I/O Tester(fio)で測定

4倍

PCIeフラッシュ レイテンシー NVDIMM22マイクロ秒 99%タイル 4マイクロ秒

NVDIMMをどのように使うか?

NVDIMMは速いPCIeフラッシュよりもさらに速い

容量が少ないことが課題

容量が少ない部分だけに使う

ライトバックキャッシュとして使う

SQLIOSimによる測定結果ログ領域にNVDIMMを活用

以下の2パターンを比較しています。測定にはSQL ServerのIOをシミュレーションできるSQLIOSimを使用しています。

• データとログの両方を PCIeフラッシュに配置• データをPCIeフラッシュに、ログをNVDIMMに配置

0 1000000 2000000 3000000 4000000 5000000 6000000

PCIe フラッシュ + NVDIMM-N

PCIe フラッシュ

SQLIOSimを使用した比較

DataLog

ログの書き込み時間が1/8に減少

Windows Server 記憶域スペースライトバックキャッシュとしての利用

記憶域プール

HDD

Media Type=SSDUsage=Journal

記憶域スペース

ライトバックキャッシュ

ランダム書き込みはまず高速なホットデータの領域に書き込まれ、その後HDDに書き込まれます。

Windows Server 記憶域スペースを使用した結果4KBシーケンシャルライト (1スレッド)

ライトバックキャッシュなし

ライトバックキャッシュPCIeフラッシュ

ライトバックキャッシュNVDIMM

PCIeフラッシュ レイテンシー NVDIMM38マイクロ秒 95%タイル 20マイクロ秒

119マイクロ秒 99%タイル 21マイクロ秒

354マイクロ秒 99.5%タイル 39マイクロ秒

SQL Server 2014 Acceleration Benchmark Factory TPC-C Performance

27

FlashSoft™ Software

–サーバー内蔵フラッシュの価値を最大化

–プラットフォームに依存しない

–どのベンダのどのPCIe, SAS SSDも使用可能

–高い拡張性

–仮想化密度を 3倍に

–アプリケーション性能を3~5倍に

–高い処理効率

–最低メモリ使用量: 140MB から 500MB–低いCPU使用率: 1%-3%

–高い互換性

–アプリケーションとOSに対して透過的

–ストレージへの変更が必要なし

– WindowsとLinuxをサポート

– ReadとWrite キャッシュを提供

TPC-C (Benchmark Factory) テストシステム構成

• HPE DL380 Gen9 サーバー

• 2基のIntel Xeon プロセッサ

• 4枚の 8GB HPE NVDIMM• SanDisk製の1.3TB HPE ワークロードアクセラレータ

• 128GB DDR4 メモリ

• HDD(OS): 2つの500GB SATAドライブ

• HDD(DB): 8個の1.2TB 10K SASドライブ

• SanDisk FlashSoft ソフトウェア

• OS: Windows Server 2012 R2• データベース: SQL Server 2014

©2016 Western Digital Corporation or affiliates. All rights reserved.

HPE DL380 Gen9 Server

SanDisk-based 1.3TB HPE PCIe Workload Accelerators

4 x HPE 8GB NVDIMMs

TPC-C (Benchmark Factory) テスト

©2016 Western Digital Corporation or affiliates. All rights reserved.

目的1. SQL Server 2014を使用して、TPSとレスポンスタイムを測定する

2. HDDだけを使用した場合と、4枚のHPE NVDIMMとPCIeワークロードアクセラレータをFlashSoftキャッシュソフトウェアを組み合わせた場合の性能を比較する

結果HDDだけを使用 (キャッシングなし):

- ユーザ数に伴い、TPSが262 から759に増加- しかし、レスポンスタイムは0.2から9.99秒に増加

NVDIMMとPCIeフラッシュを使用したFlashSoftのキャッシングを追加:- ユーザ数に伴い、TPSが211 から846に増加- しかし、レスポンスタイムは0.001 – 0.003秒に減少!

HDDだけを使用したデータベースBenchmark Factory: TPC-C

Scale: 500Virtual Users: 5000

TPS: 262Response Time: 0.2 Seconds

HDDだけを使用したデータベースBenchmark Factory: TPC-C

TPS: 200 - 759Response Time: 1.0 -2.1 Seconds

Scale: 1600Virtual Users: 4K-16K

HDDだけを使用したデータベースBenchmark Factory: TPC-C

Scale: 3200Virtual Users: 16000

TPS: 554Response Time: 9.99 Seconds

NVDIMMをログのキャッシュ、PCIeフラッシュデータのキャッシュとして使用Benchmark Factory: TPC-C

Scale: 1600Virtual Users: 4K-16K

TPS: 211 - 846Response Time: 0.001 – 0.002 Seconds

NVDIMMをログのキャッシュ、PCIeフラッシュデータのキャッシュとして使用Benchmark Factory: TPC-C

Scale: 3200Virtual Users: 16000

TPS: 847Response Time: 0.003 Seconds

まとめ

–NVDIMMの検証結果はホワイトペーパーとして近日中に公開する予定です

–今後の検証をご期待ください–データベースと組み合わせての検証

–FlashSoftを使用しての検証

日本ヒューレット・パッカードのセッション

本日 14:00-14:50 A13最新版VerticaのAnalytics機能を駆使して実現する簡単ログ分析 by 大薗純平

明日 14:00-14:50 B24そのデータベース 5年後大丈夫ですか

~本気で標準化とサービスレベルの確保を手に入れるNonStop SQL~ by 後藤宏

アンケートにご協力ください

Thank you!

小森博之プリセールス統括本部ソリューションセンターソリューション技術部

Tel: 090-7906-4517Mail: [email protected]日本ヒューレット・パッカード

株式会社〒136-8711東京都江東区大島2-2-1