Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Exadata with Persistent Memory: An Epic Journey

Exadata with Persistent Memory: An Epic Journey

Exadata X8M Persistent Memory について

oracle4engineer

March 08, 2021
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. 100 Gb/s RoCE ネットワークファブリック 25/10 GigE外部ネットワーク • 100Gb RDMA over

    Converged Ethernet (RoCE) ネットワーク・ファブリック 168 TBディスク容量 25.6 TB PCI NVMe Flash 1.5 TB 永続性メモリ 32コア(SQLオフロード⽤) High Capacity 51.2 TB PCI NVMe Flash 1.5 TB 永続性メモリ 32コア(SQLオフロード⽤) Extreme Flash • スケールアウト型でインテリジェントな 2ソケット・ストレージ・サーバー • スケールアウト型 2ソケットDBサーバー 2ソケット Xeonプロセッサ 48コア(サーバーあたり) 384 GB - 1.5 TB DRAM Exadata X8M-2: 最先端のハードウェア Copyright © 2021, Oracle and/or its affiliates, 4
  2. X8M-2 Eighth Rack Quarter Rack Elastic Multi-Rack X8M-8 Elastic Exadata

    X8M: スケーラビリティ Copyright © 2021, Oracle and/or its affiliates, 5
  3. フラッシュの進化(2009 – 2019) Copyright © 2021, Oracle and/or its affiliates,

    7 0 5.3 5.3 22.4 44.8 89.6 179.2 358 358 358 14 50 75 100 100 263 301 350 560 560 .05 1 1.5 1.5 2.66 4.14 5.6 5.97 6.57 16 V 1 Sep 2008 Xeon E5430 Harpertown V2 Sep 2009 Xeon E5540 Nehalem X2 Sep 2010 Xeon X5670 Westmere X3 Sep 2012 Xeon E5-2690 Sandy Bridge X4 Nov 2013 Xeon E5-2697v2 Ivy Bridge X5 Dec 2014 Xeon E5-2699v3 Haswell X6 Apr 2016 Xeon E5-2699v4 Broadwell X7 Oct 2017 Xeon 8160 Skylake X8 Apr 2019 Xeon 8260 Cascade Lake X8M Sep 2019 Xeon 8260 Cascade Lake Flash SCSI Flash NVMe
  4. フラッシュの進化は停滞しているか︖ Copyright © 2021, Oracle and/or its affiliates, 8 0

    5.3 5.3 22.4 44.8 89.6 179.2 358 358 358 14 50 75 100 100 263 301 350 560 560 .05 1 1.5 1.5 2.66 4.14 5.6 5.97 6.57 16 Flash SCSI Flash NVMe 1,600万IOPS 19マイクロ秒以下のレ イテンシー V 1 Sep 2008 Xeon E5430 Harpertown V2 Sep 2009 Xeon E5540 Nehalem X2 Sep 2010 Xeon X5670 Westmere X3 Sep 2012 Xeon E5-2690 Sandy Bridge X4 Nov 2013 Xeon E5-2697v2 Ivy Bridge X5 Dec 2014 Xeon E5-2699v3 Haswell X6 Apr 2016 Xeon E5-2699v4 Broadwell X7 Oct 2017 Xeon 8160 Skylake X8 Apr 2019 Xeon 8260 Cascade Lake X8M Sep 2019 Xeon 8260 Cascade Lake
  5. 永続メモリは新しい半導体テクノロジー • 容量、性能、価格はDRAMとフラッシュの間 Intel® Optane™ DC Persistent Memory: • メモリ速度で読込み-フラッシュよりもはるかに⾼速

    • DRAMとは異なり書込みは電源障害でも保存 永続書込みには洗練されたアルゴリズムで障害時のデータ整合性を保つ • CPUキャッシュからPMEMへのデータをフラッシュする特別命令をコール • クラッシュで中断された書込みの完全な順序や壊れた順序 永続性メモリ(PMEM) Copyright © 2021, Oracle and/or its affiliates, 11 FLASH PMEM DRAM Higher Cost Per GB Faster
  6. Remote Memory Direct Access (RDMA)とは︖ Copyright © 2021, Oracle and/or

    its affiliates, 12 Memory Region CPU CPU RDMA書込み RDMA読込み Database Server Storage Server Memory Region
  7. • Exadata 100 Gb RoCEは RDMAの性能と信頼性を Ethernetファブリックで提供 • RDMA は⻑くに渡りInfiniBandと親和的

    • ⼤容量データ転送で⾼スループットと低CPU使⽤率 • 独⾃のDirect-to-Wireプロトコルにより、ノード間OLTPクラス タメッセージを3倍⾼速に転送 • 新しい仕掛けはなにか? RoCEを利⽤した新しい内部ネットワークファブリック Copyright © 2021, Oracle and/or its affiliates, 13 世界初、世界唯⼀の RoCEベースのデータベースマシン
  8. 従来のストレージに永続性メモリを配置した場合: • データベースは読込みI/OコールをOSに発⾏ • OSはメッセージをストレージに送信 • ストレージCPUは永続性メモリへの読込みを発⾏ • ストレージCPUはサーバーOSに応答を送信 •

    サーバーOSはデータベースをウェイクアップ 永続性メモリ読込みのスピードは、ネットワークとI / Oソフトウェア、割り込み、コンテキ スト・スイッチなどの⾼コストな処理でかき消される PMEMからの性能のメリットが消えてしまう 従来のストレージに永続性メモリを配置した場合 Copyright © 2021, Oracle and/or its affiliates, 16 Compute Server Storage Server Hot SAN Persistent Memory
  9. 従来のストレージはサーバー側キャッシュ読込みを実⾏ 従来の読み込み(Two-Sided Read) Copyright © 2021, Oracle and/or its affiliates,

    … Flash Cache Line Flash Cache Line … Flash Cache ストレージ(cellsrv)がルックアップ [Disk, Offset] -> フラッシュ上の位置, フラッシュに読込みを発⾏ DBはREADリクエストを スト レージに送信 [Disk, Offset ] ストレージはデータを DBに送信 Database Server Storage Server 17
  10. Compute Server Storage Server Warm Cold InfiniBand FLASH 従来の Exadata

    のFlash I/O のレイテンシーを分解してみる Copyright © 2021, Oracle and/or its affiliates, Database Software Kernel/OS (Database Server) Kernel/OS (Storage Server) Exadata System Software コンテキスト・スイッチ: 数⼗ μsec Flash Read Raw Latency: <100 µs コンテキスト・スイッチ: 数⼗ μsec Database 8K Read エンド・トゥ・エンド・レイテンシ: ~200 µsec 18
  11. Flashを単にPersistent Memoryに置き換えた場合に得られる結果 Copyright © 2021, Oracle and/or its affiliates, Database

    Server Storage Server Database Software Kernel/OS (Database Server) Kernel/OS (Storage Server) Exadata System Software PMEM Read Raw Latency: ~1 µs PMEM Database 8K Read エンド・トゥ・エンド・レイテンシ: ~100 µsec 半導体からの読み込み待機時 間は 1/100 に改善されるにも かかわらず、コンテキスト・スイッチ に時間を要し、半導体による短 縮の 90%以上が無駄に コンテキスト・スイッチ: 数⼗ μsec コンテキスト・スイッチ: 数⼗ μsec 19
  12. Persistent Memory から劇的な待機時間短縮を得る-RDMAでPMEMアクセス Copyright © 2021, Oracle and/or its affiliates,

    コンテキスト・スイッチ: 数⼗ μsec →RDMAで不要に なる コンテキスト・スイッチ: 数⼗ μsec →RDMAで不要に なる Database Server Storage Server Database Software Kernel/OS (Database Server) Kernel/OS (Storage Server) Exadata System Software PMEM RDMA 同⼀CPU/memory 環境 の Exadata より10倍⾼速 (※Exadata X8 と X8M の⽐較) Database 8K Read エンド・トゥ・エンド・レイテンシ: < 19 µsec 20
  13. 新しい破壊的テクノロジーで、RDMA経由でのPMEMキャッシュ読込みが可能に 超⾼速なRDMA での読み込み(One-Sided Read) Copyright © 2021, Oracle and/or its

    affiliates, … PMEM Cache Line PMEM Cache Line … PMEM Cache RDMAでPMEMから データを取り出し Storage Server Database Server 21
  14. 世界初、世界で唯⼀のデータベース⽤に最適化された共有型永続性メモリ Exadataストレージ・サーバーは透過的にフラッシュ・メモリの前に永続性メモ リ・アクセラレータを追加 データベースは、I/OではなくRDMAを利⽤してリモートのPMEMを読込む • ネットワークおよびI/Oソフトウェア処理、割り込み処理、コンテキストスイッチをバイ パス PMEMは⾃動的に階層化されDB間で共有される • 最もホットなデータ⽤のキャッシュとして利⽤され、10倍の実効容量を増やす

    永続化メモリは耐障害性のためにストレージサーバー間で⾃動的にミラー化 される データベースからの8K I/Oに対し1600万IOPS, 19us以下のレイテンシ Exadata X8M : 永続性メモリ・データ・アクセラレータ(*) Copyright © 2021, Oracle and/or its affiliates, 22 Compute Server Storage Server Hot Warm RDMA Cold RoCE Persistent Memory FLASH (*)Exadata System Software 19.3 かつ Database Software 19c 環境において
  15. DB server, Storage server 両⽅のプロセスが関与 • DBはストレージにリクエストを送信 • ストレージはFlash Logに書込み、Ackを送信

    従来のLog Write(Two-sided Log Write) Copyright © 2021, Oracle and/or its affiliates, ストレージ・サーバーはFlashとHDDへの 書込みを同時に発⾏ (Flash Log経由) DBはログ書込みリクエストをス トレージに送信 ストレージ・サーバーは DBにAckを返す Storage Server Database Server Flash Log 24
  16. 従来⽅式でPersistent Memoryへ REDOログを書き込む場合 Copyright © 2021, Oracle and/or its affiliates,

    Database Server Storage Server Database Software Kernel/OS (Database Server) Kernel/OS (Storage Server) Exadata System Software PMEM Write Raw Latency: <10 µs PMEM Database 8K Read エンド・トゥ・エンド・レイテンシ: ~100 µsec 時間の 90%以上が無駄 コンテキスト・スイッチ: 数⼗ μsec コンテキスト・スイッチ: 数⼗ μsec 25
  17. • 新しい破壊的テクノロジーで、RDMA経由での永続的なPMEMログ書込みが可能に • (書き込み冗⻑性はredundancyに従う) 超⾼速なRDMA Log 書き込み(One-Sided Log Write) Copyright

    © 2021, Oracle and/or its affiliates, … … PMEM Log Buffer PMEM Log Buffer … PMEM Log Buffer RDMAでPMEMの Redo Logに書込み PMEM Log ストレージ・サーバーはバックグラ ウンドでFlashログへ書込みを 実⾏(⾮同期) Database Server Storage Server 26
  18. • ストレージ・サーバーのクラッシュ時の動き 超⾼速なRDMA Log 書き込み(One-Sided Log Write) Copyright © 2021,

    Oracle and/or its affiliates, … … PMEM Log Buffer PMEM Log Buffer … PMEM Log Buffer PMEM Log ストレージ・サーバーはPMEM ログ・リカバリを実⾏ Storage Server Database Server 27
  19. Exadata X8M 永続性メモリ・コミット・アクセラレータ(*) Copyright © 2021, Oracle and/or its affiliates,

    Compute Server Storage Server Hot Warm RDMA Cold RoCE Persistent Memory FLASH Flush Later to Flash/Disk • ログ書込みのレイテンシはOLTP性能にとってクリティカル • ログ書込みが⾼速になるとコミット時間が⾼速に • ログ書込みが遅くなるとDB全体が性能劣化 • ⾃動コミット・アクセラレータ • データベースは⼀⽅向RDMA書込みを発⾏し、複数ストレージ・ サーバー上のPMEMに書き込む • ネットワークや、I/Oに関するソフトウェア処理、割込み、コンテキス ト・スイッチ等をバイパス • 最⼤8倍にログ書込みが⾼速化 (*)Exadata System Software 19.3 Database Software 19c 28
  20. 壮⼤な旅 Copyright © 2021, Oracle and/or its affiliates, 29 168

    336 504 504 672 1344 1344 1.68B 2.3 2.3 PB 14 X 0 5.3 5.3 22.4 44.8 89.6 179.2 358 358 358 TB 64 X 64 64 96 128 192 288 352 384 384 384 6 X 256 576 1152 2048 4096 6144 12288 12288 12288 12 TB 48 X 20 40 40 40 80 80 80 80 80 200 Gb/s 10x 8 24 184 400 400 400 400 800 800 800 Gb/s 100 X 14 50 75 100 100 263 301 350 560 560 GB/s 40 X .05 1 1.5 1.5 2.66 4.14 5.6 5.97 6.57 16 M 320 X V1 から X8M で の成長率 V1 Sep 2008 Xeon E5430 Harpertown V2 Sep 2009 Xeon E5540 Nehalem X2 Sep 2010 Xeon X5670 Westmere X3 Sep 2012 Xeon E5-2690 Sandy Bridge X4 Nov 2013 Xeon E5-2697v2 Ivy Bridge X5 Dec 2014 Xeon E5-2699v3 Haswell X6 Apr 2016 Xeon E5-2699v4 Broadwell X7 Oct 2017 Xeon 8160 Skylake X8 Apr 2019 Xeon 8260 Cascade Lake X8M Sep 2019 Xeon 8260 Cascade Lake