DB Tech Showcase Tokyo 2018: C23『GPUとNVMEでPostgreSQLの限界に挑む』実況と反応まとめ

1
gonsuke777 @ora_gonsuke777

GPUによるI/O高速化な話 彡(゚)(゚) #dbts2018

2018-09-20 12:48:02
Tadashi Yamashita @tadayima_jp

#dbts2018 #C23 GPU+SSD+CPU+RAM これらはPCIバスで接続されている.... (HW的な話)

2018-09-20 12:49:06
gonsuke777 @ora_gonsuke777

SSD ⇒ (PCIeバス) ⇒ CPU ⇒ RAM にデータロードするのが一般的なデータフロー 彡(゚)(゚) #dbts2018

2018-09-20 12:49:28
Tadashi Yamashita @tadayima_jp

#dbts2018 #C23 つまり、PCIの細い経路をゴミデータも流れている。(フィルタがかかるのが、CPUだから)

2018-09-20 12:50:36
Tadashi Yamashita @tadayima_jp

#dbts2018 #C23 PostgreSQLのデータをGPUに直接転送する機能がある!?

2018-09-20 12:51:12
gonsuke777 @ora_gonsuke777

SSDをGPUに直接転送(NVidia CPUDirect RDMA) 彡(゚)(゚) #dbts2018

2018-09-20 12:51:18
gonsuke777 @ora_gonsuke777

SSDとGPUの物理接続はどうなっとるんやろう?PCI-eバス以外で接続するのかしら…PCI-eスロットには挿してるのかな? 彡(゚)(゚) #dbts2018

2018-09-20 12:52:35
gonsuke777 @ora_gonsuke777

PGStromは生PostgresSQLの3倍のスループットなグラフ 彡(゚)(゚) #dbts2018

2018-09-20 12:53:32
gonsuke777 @ora_gonsuke777

GPUDirect RDMAは元々はIB経由でHOST(CPU/RAM)を介さずに直接データ転送する仕組み 彡(゚)(゚) #dbts2018

2018-09-20 12:55:08
Tadashi Yamashita @tadayima_jp

#dbts2018 #C23 GPUデバイスメモリを物理メモリアドレス空間にマップできる

2018-09-20 12:55:29
gonsuke777 @ora_gonsuke777

GPUにSSDの物理アドレスを直接マッピングする。 彡(゚)(゚) #dbts2018

2018-09-20 12:56:18
Tadashi Yamashita @tadayima_jp

#dbts2018 #C23 SQL-to-GPUダイレクトSQL (ソフトウェアスタック)

2018-09-20 12:56:30
Tadashi Yamashita @tadayima_jp

SSD-to-GPUダイレクトSQL だったかな。

2018-09-20 12:57:45
gonsuke777 @ora_gonsuke777

物理結線的にはPCI-eスロット(PCI-eバス)で繋ぐんやな。 彡(゚)(゚) #dbts2018

2018-09-20 12:58:06
Tadashi Yamashita @tadayima_jp

#dbts2018 #C23 PCIスイッチを経由してSSDとGPUが繋がっているのがベスト

2018-09-20 12:59:53
gonsuke777 @ora_gonsuke777

PCIeスイッチが有るサーバーが SSD to GPU にはベスト 彡(゚)(゚) #dbts2018

2018-09-20 13:00:06
gonsuke777 @ora_gonsuke777

デカいサーバーにはPCIeスイッチが載っているが… 彡(゚)(゚) #dbts2018

2018-09-20 13:00:39
Tadashi Yamashita @tadayima_jp

#dbts2018 #C23 (PCIスイッチって意識したことなかった.....)

2018-09-20 13:00:53
gonsuke777 @ora_gonsuke777

別の解としてI/O拡張ボックス 彡(゚)(゚) #dbts2018

2018-09-20 13:01:12
gonsuke777 @ora_gonsuke777

I/O拡張ボックス ⇒ PCIeスイッチとPCI-eスロットをセットにした箱って感じかな? 彡(゚)(゚) #dbts2018

2018-09-20 13:02:04
gonsuke777 @ora_gonsuke777

サーバーと I/O拡張ボックスはHBAで接続。ここはSCSI接続ってことかしら。 彡(゚)(゚) #dbts2018

2018-09-20 13:02:56
Tadashi Yamashita @tadayima_jp

#dbts2018 #C23 IO拡張ボックスを使っていると、PostgreSQLからはパーティションテーブルとして使うことになる....のか.... PostgreSQL 11 からハッシュ・パーティションがサポートされる(予定?)

2018-09-20 13:04:09
Tadashi Yamashita @tadayima_jp

#dbts2018 #C23 気合いで、Aggregationとかを IO拡張ボックス側に push down させた。 ”気合い” .......

2018-09-20 13:05:28