SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
GPUがPostgreSQLを加速する
~PG-Strom 10年の歩みと、その次の未来へ~
HeteroDB,Inc
Chief Architect & CEO
KaiGai Kohei <kaigai@heterodb.com>
自己紹介/会社紹介
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
2
会社概要
 商号 ヘテロDB株式会社
 創業 2017年7月4日
 拠点 品川区北品川5-5-15
大崎ブライトコア4F
 事業内容 高速データ処理製品の開発・販売
GPU&DB領域の技術コンサルティング
ヘテロジニアスコンピューティング技術をデータベース領域に適用し、
誰もが使いやすく、シンプルで高速な大量データ分析基盤を提供する。
代表者プロフィール
 海外 浩平(KaiGai Kohei)
 OSS開発者コミュニティにおいて、PostgreSQLやLinux kernelの
開発に15年以上従事。主にセキュリティ・FDW等の分野で
PostgreSQLのメインライン機能の強化に貢献。
 IPA未踏ソフト事業において“天才プログラマー”認定 (2006)
 GPU Technology Conference Japan 2017でInception Awardを受賞
GPU-DBの10年を振り返る(1/2)
NVIDIA TESLA C2070 (2009)
CUDA Cores: 448 (Fermi)
DRAM: 6GB (GDDR5)
PCI-E 2.0 x16, FP32: 1.03TFlops
NVIDIA TESLA K20X (2012)
CUDA Cores: 2,688 (Kepler)
DRAM: 6GB (GDDR5)
PCI-E 3.0 x16, FP32: 3.95TFlops
NVIDIA TESLA P100 (2016)
CUDA Cores: 3,584 (Pascal)
DRAM: 16GB (HBM2)
PCI-E 3.0 x16, FP32: 9.56TFlops
NVIDIA TESLA V100 (2017)
CUDA Cores: 5,120 (Volta)
DRAM: 32GB (HBM2)
PCI-E 3.0 x16, FP32: 14.0TFlops
NVIDIA A100 (2020)
CUDA Cores: 6,912 (Ampare)
DRAM: 80GB (HBM2)
PCI-E 4.0 x16, FP32: 19.5TFlops
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
4
GPU-DBの10年を振り返る(2/2)
(2017~)
PG-Strom
(2012~)
(2014~)
(旧MAP-D; 2013~)
(2016~)
(2014~)
(2015~)
(2016~)
➢ 2010年頃 「ビッグデータ」が盛り上がる。Hadoopなど大人気。
➢ GPUの性能・信頼性が向上を続け、DBMSへの組み込みも現実味。
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
5
GPUの発展と共に、
PG-Stromの進化を振り返る
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
6
GPUとはどんなプロセッサか?(1/2)
多数のコアと広帯域メモリによる強力な並列演算性能を有する。
CPU
Cache
CUDA Core
CUDA Core
CUDA Core
CUDA Core
CUDA Core
CUDA Core
CUDA Core
CUDA Core
広帯域メモリ
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
7
Intel Xeon Platinum 8380
# of cores: 40
clock: 2.30GHz
3.40GHz (boost)
L1 cache: 64kB / core
L2 cache: 1MB / core
L3 cache: 60MB / proc
DRAM: DDR4-3200 x 8
(max 204.8GB/s)
NVIDIA A100 [80GB; PCI-E]
# of CUDA cores: 6,912 [32bit]
(108 SM)
clock: 1.065 GHz
1.410 GHz (boost)
L1 cache: 192kB / SM (*)
L2 cache: 40MB / proc
DRAM: HBM2e [80GB]
(max 1,935GB/s)
GPUとはどんなプロセッサか?(2/2)
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
8
スレッド同士での同期やデータ交換を低コストで実行できる
●
item[0]
step.1 step.2 step.4
step.3
GPUを用いた
Σi=0...N-1item[i]
配列総和の計算
◆
●
▲ ■ ★
● ◆
●
● ◆ ▲
●
● ◆
●
● ◆ ▲ ■
●
● ◆
●
● ◆ ▲
●
● ◆
●
item[1]
item[2]
item[3]
item[4]
item[5]
item[6]
item[7]
item[8]
item[9]
item[10]
item[11]
item[12]
item[13]
item[14]
item[15]
log2N ステップで
items[]の総和を計算
HW支援によるコア間の同期機構
SELECT count(X),
sum(Y),
avg(Z)
FROM my_table;
集約関数の計算で用いる仕組み
PostgreSQLにGPUを試そうとしたきっかけ
▌PGconf 2011 (Ottawa) で聴講したあるセッション・・・
 Parallel Image Searching Using PostgreSQL and PgOpenCL
Running PostgreSQL Stored Procedures on a GPU
✓ https://www.pgcon.org/2011/schedule/events/352.en.html
 画像処理用のストアドプロシジャを、GPU用のプログラミング環境
OpenCL で作成するための拡張モジュールについて。
A列 B列 C列 D列 E列
幅の小さいデータでも、
大量の行を並べれば
長大なBLOBと同じく
GPU並列処理が効くのでは?
May-2011
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
9
実際に作ってみた(1/2)
FDWを使用して、テーブル構造の裏側に
簡易的な列ストアを作成した。
※ 当時はFDWが唯一のエグゼキュータを
拡張するための方法。
CPUでテーブルをスキャンし、同時に、
並行してGPUで条件句を処理するという
構造を持っていた。
※ 当時は並列クエリ実行が無かった
Jan-2012
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
10
実際に作ってみた(2/2)
WHERE条件句から CUDA C のコードを
自動生成してJITコンパイルを行う。
※ EXPLAINすると CUDA C の生のソース
コードが表示される。かなりシュール。
Jan-2012
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
11
PostgreSQL v9.3における機能強化 Sep-2013
← Background worker process
通常のPostgreSQLテーブルを、裏で列ストアに変換し
ようと提案した機能。
↓ Writable foreign tables
元々はPG-Strom用のFDWテーブルにINSERTや
UPDATEを使ってデータをロードするため提案。
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
12
「お仕事」として PG-Strom の開発に取り組む Dec-2013
『社内新事業公募』における審査
(※ イメージ)
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
13
2014年のGPUを振り返る
▌優先すべき課題
① クラッシュしない
② 正しい計算結果を返す
③ クラッシュしない
④ デバッグしやすい構造
⑤ クラッシュしない
⑥ 高いパフォーマンス
NVIDIA TESLA K20X
✓ 第3世代 Kepler アーキテクチャ
✓ 2,688個のCUDAコアと、6GiBのGDDR5 DRAMを搭載
✓ PCI-E 3.0 x16レーンでホストシステムと接続
✓ ECCメモリ搭載。エンタープライズ用途での利用も意識したモデル。
まずは DBMS 側の
品質を上げる!
2014
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
14
「趣味」から「実用」に向けたアーキテクチャの変更
 OpenCL ➔ CUDAへの移行
➢ マルチプラットフォーム(NVIDIA, AMD, Intel)➔ 再現できないトラブル報告が多数寄せられる(死
➢ CUDA 7.0以降はNVRTCが提供される ➔ CUDAでもランタイムコンパイルが可能に
 各バックエンドプロセス内でGPUを制御する方式に移行
➢ CUDA Contextの生成に要する時間は許容可能なレベル(OpenCLの場合は数秒を要していた)
➢ エラーが発生したときのクラッシュダンプの採取しやすさ
新しいアーキテクチャ
(CUDAベース)
PostgreSQL
Backend
CUDA
Context
PG-Strom
host/GPU
code
PostgreSQL
Backend
CUDA
Context
PG-Strom
host/GPU
code
PostgreSQL
Backend
CUDA
Context
PG-Strom
host/GPU
code
Postmaster
Process
fork(2)
PostgreSQL
Backend
従来のアーキテクチャ
(OpenCLベース)
PG-Strom
host code
PostgreSQL
Backend
Background
Worker
PG-Strom
GPU
Service
Postmaster
Process
fork(2)
PG-Strom
host code
Local connection to
GPU Service
Device
Context
2014
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
15
PostgreSQL v9.5における機能強化 May-2015
Parser
Optimizer
Executor
execBegin
Exec
execEnd
CustomScan API
PostgreSQL本体へのパッチを必要せず、純粋に
拡張モジュールのみでGPU実行を実装できるように。
SQL
実行結果
パース木
実行計画
add_scan_path
add_join_path
BeginCustomScan
ExecCustomScan
EndCustomScan
拡張モジュールによる実装
CustomScan API
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
16
難儀な問題:GPUメモリの使用量予測
full
table
scan
GpuScan
GpuJoin
64MB
SCAN系処理なら、必ず「入力データ量 ≧ 出力データ量」
JOIN系処理なら「入力データ量<出力データ量」があり得る。
➔ バッファの必要量をDB統計情報から予測するなど
kernel source buffer
kernel source buffer
kernel result buffer
kernel result buffer
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
17
Pascal世代GPUの登場
NVIDIA TESLA P100
✓ 第5世代 Pascal アーキテクチャ
✓ 3,584個のCUDAコアと、16GiBのHBM2 DRAMを搭載
✓ PCI-E 3.0 x16レーンでホストシステムと接続
✓ FP64のアトミック演算に対応
✓ GPUでのデマンドページングとメモリオーバーコミットに対応
Apr-2016
どういうことか?
✓ GPUメモリの論理アドレス空間上で雑に malloc()
しておけば、実際に使った分だけGPUメモリを
割り当てる。
✓ GPUメモリが足りなければ、ホストメモリと
スワッピングを行う。
➔ 複雑&不正確な結果バッファのサイズ推定と
リトライから解放される事に。
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
18
Pascal世代GPUによるメモリ管理の簡略化
▌第4世代 Maxwell 以前
JOINやGroup Byなど『事前に行数の最大値を
予測する』ことが難しいワークロードに対しても、
過不足なくメモリを割り当てる事が必要。
➔ DBの統計情報を使ったりしていたが、
基本的に無理ゲーであった。
▌第5世代 Pascal 以降
ある程度ざっくりと大きなメモリを割り当てても、
実際に使用した分だけしか物理メモリを消費しな
いため、メモリ使用量の予測そのものが不要に。
➔ バグの原因となる複雑なロジックそのものの
解消と、品質の改善に大きく寄与。
せっかく割り当てたメモリを
全然使っていなかった。
➔ 同時に他のタスクを
動かせたはずなのに!
これだけあれば十分だと予測した
けれども、実際には不足。
➔ リトライでパフォーマンスが
低下してしまう…。
GPU物理メモリ
GPU論理アドレス空間
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
19
SSD-to-GPU Direct SQLの着想と開発(1/3) 冬-2015
GPUコア
GPU Device Memory
CPU Host Memory
ストレージ
(HDD/SSD)
CPU
720GB/s
16GB/s
0.5GB/s
60GB/s
NVME-SSD
一台あたり
3GB/s
(当時の)PG-Stromを含む、
GPU-DBはデータがオンメモリ前提
ストレージに落ちたら「負け」
一方この頃、NVME-SSD製品が登場
安価な高速SSDがブレイクの兆し。
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
20
SSD-to-GPU Direct SQLの着想と開発(2/3) 冬-2015
NVIDIA GPUDirect RDMA
nvme.ko
ドライバ
nvme_strom.ko
ドライバ
ホストメモリ デバイスメモリ
物理アドレス空間
NVME-READ
From: Block 1234
Qty: 32
Dest: 0x34567000
NVME-READ
From: Block 2345
Qty: 32
Dest: 0x45678000
NVME
コマンド
NVME
コマンド
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
21
SSD-to-GPU Direct SQLの着想と開発(3/3)
✓ GPU-Direct SQL(当時は SSD-to-GPU Direct SQL)により、メモリサイズを越えた
大量データ(数TB~)を処理する事が可能に。
✓ この特徴が、PG-Stromが他のGPU-DB製品とは異なった進化をするきっかけに。
✓ この頃は、猫も杓子も “Deep Learning!” “Deep Learning!”
Aug-2016
実験用に購入した
Intel SSD 750 (400GB) の
理論帯域まで出ている (!)
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
22
GTC-2017にて May-2017
NVIDIA TESLA V100
✓ 第6世代 Volta アーキテクチャ
✓ 5,120個のCUDAコアと、最大32GiBのHBM2 DRAMを搭載
✓ PCI-E 3.0 x16レーンでホストシステムと接続
✓ Tensorコアを搭載した初めてのモデル
(深層学習用の専用計算回路)
✓ 各スレッドがProgram Counterを持つ事になり、分岐処理を持つ
ソフトウェアの実行がより高速に。
GPU Technology Conference 2017で発表した
SSD-to-GPU Direct SQLのポスターは、全138件の中から
Top-5 Finalistとして選出され、来場者投票で惜しくも次点に。
PCI-Eバスが更に高速化し、GPUの処理能力ですらも
飽和に近付くAmpare以降の世代で効いてくる特徴
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
23
HeteroDB社の設立
▌製品コンセプトを再定義する
 PostgreSQLを使い慣れた人はたくさんいる。
 GPU-DB「だけど」計算ワークロードよりも
I/O中心のバッチ系処理に強い。
 IoT/M2Mなど、日々積み重なるものの、
更新処理がほとんどないデータが増加
 ログデータの分析・検索用途に適した
「データ処理製品」として定義づけ。
Jul-2017
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
24
① Apache Arrowへの対応(1/3)
ETL
OLTP OLAP
伝統的なOLTP&OLAPシステム - データはDBシステムの内側で生成される
Data
Creation
IoT/M2M時代 - データはDBシステムの外側で生成される
Log
processing
BI Tools
BI Tools
Gateway Server
Data
Creation
Data
Creation
Many Devices
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
25
DBシステムへのデータのインポートが、集計処理以上に時間のかかる処理に!
Data
Import
Import!
2019
① Apache Arrowへの対応(2/3)
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
26
▌Arrow形式の特徴
 列指向で分析用途向けに設計されたデータ形式
 アプリケーションによらず、共通のデータ交換形式として利用可能
 整数、実数、日付時刻、文字列など基本的なデータ型を定義
 更新・削除は無理だが、追記に強い(➔ ログデータに向いた形式)
NVIDIA GPU
PostgreSQL / PG-Strom
2019
① Apache Arrowへの対応(3/3)
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
27
▌なぜApache Arrow形式がログデータ処理に適しているのか?
 被参照列のみ読み出すため、I/O量が少なくて済む
 GPUメモリバスの特性から、プロセッサ実行効率が高い
 Read-onlyデータなので、実行時のMVCC検査を行う必要がない
SSD-to-GPU Direct SQL機構を使って、被参照列だけを転送する。
PCIe Bus
NVMe SSD
GPU
SSD-to-GPU P2P DMA
WHERE-clause
JOIN
GROUP BY
クエリの被参照列のみ、
ダイレクトデータ転送
Apache Arrow形式を解釈し、
データを取り出せるよう
GPUコード側での対応。
小規模の処理結果だけを
PostgreSQLデータ形式で返す
Results
metadata
2019
② データ処理速度 10GB/s への挑戦(1/2)
複数SSD(md-raid0)への対応と、品質・安定性の改良
Supermicro 1019GP-TT
CPU: Xeon Gold 6126T (2.6GHz, 12C)
RAM: 192GB (32GB DDR4-2666 x6)
GPU: NVIDIA Tesla P40 (3840C, 24GB) x1
SSD: Intel SSD DC P4600 (2.0TB, HHHL) x3
HDD: 2.0TB (SATA, 72krpm) x6
N/W: 10Gb ethernet x2ports
2018
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
28
PostgreSQL
パーティション
② データ処理速度 10GB/s への挑戦(2/2)
オプティマイザで頑張り、SSD-GPUから漏出するデータを減らす
lineorder
lineorder_p0
lineorder_p1
lineorder_p2
customer date
supplier parts
Scan
Scan
Scan
Agg
実行結果
Scan
Join
Gather
レコード数が多いと
結合処理が大変
2018
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
29
PostgreSQL
パーティション
② データ処理速度 10GB/s への挑戦(2/2)
オプティマイザで頑張り、SSD-GPUから漏出するデータを減らす
lineorder
lineorder_p0
lineorder_p1
lineorder_p2
customer date
supplier parts
Scan
Scan
Scan
Gather
Agg
実行結果
Scan
Join
PreAgg
Join
PreAgg
Join
PreAgg
GROUP BYまでGPUで済ませると、
ほとんどのデータはホスト側に
戻ってこない。
2018
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
30
~100TB程度の
ログデータを
シングルノードで
処理可能に
4ユニットの並列動作で、
100~120GB/sの
実効データ処理能力
列データ構造により
ユニット毎25~30GB/sの
実効データ転送性能
秒速で10億レコードを処理する(1/2)
QPI
SSD-to-GPU Direct SQL、列志向ストア、PCIeバス最適化の全てを投入
CPU2
CPU1
RAM RAM
PCIe-SW PCIe-SW
NVME0
NVME1
NVME2
NVME3
NVME4
NVME5
NVME6
NVME7
NVME8
NVME9
NVME10
NVME11
NVME12
NVME13
NVME14
NVME15
GPU0 GPU1 GPU2 GPU3
HBA0 HBA1 HBA2 HBA3
GPU+4xSSDユニット
あたり8.0~10GB/sの
物理データ転送性能
31
PCIe-SW PCIe-SW
JBOF unit-0 JBOF unit-1
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
Oct-2019
秒速で10億レコードを処理する(2/2) Oct-2019
Supermicro 4029GP-TRT
CPU: Xeon Gold 6226 (2.7GHz, 12C) x2
RAM: 192GB (16GB DDR4-2666) x12
GPU: NVIDIA Tesla V100 (5120C, 16GB) x4
SSD: Intel SSD DC P4510 (1.0TB, U.2) x16
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
32
ユーザ様事例
▌背景
地方公共団体というユーザ様の性格上、
イントラネットで発生したセキュリティ事故
に関しては、Webやメール等のログを分析し、
その原因や影響範囲を特定して早期に報告を
行う必要があった。
▌従来の課題
従来は、PostgreSQLのクラスタにシステム
ログを分散して保存していた。
しかし、それでもTBを越えるログの検索に
40分以上を要する事が多々あり、事実上、
ログによる原因究明は機能せず。
▌PG-Stromの適用による解決
新システムでは、SSD-to-GPU Direct SQLと
BRINインデックスによる絞り込みを併用し、
平均して6GB/sのログ検索速度を実現。
検索クエリは30秒で応答を返すようになった。
この水準の性能を達成したことにより、
現場のエンジニアが使い慣れたPostgreSQLを
用いて、原因究明のためのトライ&エラーを
繰り返すことが可能となった。
Dec-2019
システム
ログ
従来システム:
PostgreSQLのクラスターで構成
システム
ログ
新システム:
GPUとNVME-SSDを搭載した
2Uサーバに、PG-Stromを
インストールして構成
某地方自治体様:ログ検索用システム
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
33
GTC-2020 (online) にて
GPU Technology Conference 2020 基調講演より
NVIDIA A100
✓ 第8世代 Ampere アーキテクチャ
✓ 6,912個のCUDAコアと、最大80GiBのHBM2 DRAMを搭載
✓ L2キャッシュサイズの拡大(V100の 6MB → 40MB)
✓ PCI-E 4.0 x16レーンでホストシステムと接続
長らく続いた PCI-E 3.0 世代からの切り替え。
GPU 1台あたり処理能力の目安は 20GB/s 強となり、
来たる PCI-E 5.0 世代では 40~50GB/s が見込まれる。
NVIDIA GPUDirect Storage
May-2020
従来の自社製ドライバ(nvme_strom.ko)とほぼ
同等機能を有するソフトウェアスタックが、
NVIDIAよりCUDA Toolkitの標準機能のひとつとして
公式にリリースされると発表。
➔ HeteroDB も事前評価に参加し、水面下で対応
作業を進めていた。
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
34
次世代のPG-Stromで取り組むべきテーマ
 PCI-E 4.0 / 5.0 の帯域幅に対応できる実装
 同時接続数の増加に対応できるアーキテクチャ
 省電力・低CO2排出(DPU対応)
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
35
GPU利用効率の改善(1/2)
非対称な処理を挟むとGPUのパフォーマンスは大きく劣化する
● ● ● ● ● ● ● ● ● ●
LaneId: 0 1 2 3 4 27 28 29 30 31
Warp: unit of execution in GPU (32 simultaneous threads)
検索条件句の評価
F F F T F F F T F F
結果バッファの
スロットを確保
被参照列を読み出し、
結果バッファへ追記
htup = LoadTupleFromSource(base_index+LaneId);
rv = ExecEvalWhereClause(htup, whereClause);
mask = __ballot_sync(__activemask(), rv);
if (LaneId == 0) {
count = __popc(mask);
base = AllocateDestinationBuffer(count);
}
base = __shfl_sync(__activemask(), base, 0);
if (rv) {
mask &= ((1U << LaneId) - 1);
dst_index = base + __popc(mask);
ExecProjectionAndWriteBuffer(dst_index, htup,
ProjectionList);
}
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
36
2022
GPU利用効率の改善(2/2)
PCI-E 3.0時代(12GB/s)はGPUの処理能力に余裕があったが、
PCI-E 5.0(50GB/s)になるとGPU側にもかなりの最適化が必要
Shared Counter
32レコードを
同時に読み出し
WHERE条件句を
評価
ローカルバッファに
評価したレコードの
ポインタを記録
ローカルバッファ内の
レコード数 ≧ 32
F
T
ローカルバッファから
32レコードを
同時に読み出し
結果バッファに
32レコード分の
領域を確保
被参照列のみから成る
レコードを、結果
バッファに書き出す
比較的複雑な処理は、常に32スレッドを飽和させるように設計変更!
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
37
2022
PostgreSQL
Backend
リソース管理の改善
CUDA Contextの生成ごとに消費されるワーキングメモリの節約
従来のアーキテクチャ 新しいアーキテクチャ
GPU
PostgreSQL
Backend
CUDA
Context
PG-Strom
PostgreSQL
Backend
CUDA
Context
PG-Strom
PostgreSQL
Backend
CUDA
Context
PG-Strom
Postmaster
Process
working
memory
working
memory
working
memory
fork(2)
GPU
PG-Strom
PostgreSQL
Backend
Background
Worker
CUDA
Context
GPU
Service
(multi-
threads)
Postmaster
Process
working
memory
fork(2)
PG-Strom
Local connection to
GPU Service
✓ コード品質やでバック手法に対する知見が十分で
なかった時期、デバッグを容易にするメリット。
✓ メモリコピーのコストをやや過大に見積もり。
✓ CUDA Context初期化時間、およびワーキング
メモリ(数百MB~1GB)の節約。
✓ CUDA Contextスイッチの削減とGPU使用率改善
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
38
2022
DPUへの対応(1/2)
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
39
PCI-Eバス
SSD➔GPU
データ転送量:大
データ転送量:小
GPU➔CPU
SQLを
実行
Smart-SSD
データ転送量:小
Smart-SSD
➔
CPU
PCI-Eバス
NAND Flash
(記憶素子)
DPU
GPU
データ転送量:大
NAND Flash ➔ DPU
NVME-SSD
Smart-SSDの内部
現行技術:GPU-Direct SQL
新技術:Smart-SSD / Smart-NIC 版 PG-Strom
Smart-NIC
Smart-NIC
➔
CPU
DPU
高速N/Wポート
RDMA対応
100Gb/200Gb N/W
NVME/GPUの能力をフルに
引き出したとしても、ここ
がボトルネックになってし
まう。
2023
DPUへの対応(2/2)~ 直感的なアーキテクチャの理解
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
40
✓ 現在入手可能で最も強力なプロセッサで
ある GPU を使用し、全力でNVME-SSDから
データを流し込んで処理する方式。
✓ GPUの計算能力に利点はあるが、PCI-E 4.0
では20.0GB/s程度、PCI-E 5.0でも40.0GB/s
程度で律速してしまい、それ以上データ
を投入できなくなる。
(GPUが遊んでしまう問題)
✓ 今後、2023年以降に Smart-NIC/-SSD製品の
市場投入が本格的に進む。
✓ GPUやCPUのようにパワフルではないが、
DPUはデータに近いところでSQLワーク
ロードを処理できるため、転送すべき
データ量自体を減らす事ができる。
✓ 低消費電力で、サーバあたりの搭載数を
増やす事ができる。
GPU-Direct SQL
(動力集中方式)
Smart-SSD / Smart-NIC
(動力分散方式)
2023
PG-Strom 10年の歩みと、その次の未来を振り返る。
 はじまりは『あ、面白そう』から。
 最適な設計は、その年代に利用可能なテクノロジに左右される。
✓ 2014年に『デバッグ難しい』と投げ出したアーキテクチャも、
2022年にはソフトウェアスタックが安定し、再びメリットが勝ることに。
✓ 2016年にPascal世代で memory overcommit が使えるようになった事で、
Maxwell以前に悩んでいたメモリ管理から解放される事となった。
 PG-Stromの方向性を決定づけた GPU-Direct SQL 機構
✓ GPU-DBとしては珍しい「I/Oワークロード」に注力するという方向性
✓ PCI-E 4.0世代で 20GB/s、PCI-E 5.0世代では 40GB/s のデータ処理能力を
✓ 2021年からはNVIDIAもGPUDirect Storageという形で公式サポート
 より“データに近い場所”を追求~Smart-NIC/-SSD対応
✓ GPUほど強力ではないが、省電力かつ搭載台数を増やしやすい
✓ 2023年以降、各社からリリースされる製品への対応を準備中。
GPUがPostgreSQLを加速する ~PG-Strom 10年の歩みと、その次の未来へ~
41
オモシロ技術を、カタチにする。

Contenu connexe

Similaire à 20221116_DBTS_PGStrom_History

20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCacheKohei KaiGai
 
Cld017 nh シリーズリリース
Cld017 nh シリーズリリースCld017 nh シリーズリリース
Cld017 nh シリーズリリースTech Summit 2016
 
Cld017 nh シリーズリリース
Cld017 nh シリーズリリースCld017 nh シリーズリリース
Cld017 nh シリーズリリースTech Summit 2016
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_TokyoKohei KaiGai
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄Yukio Saito
 
20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGISKohei KaiGai
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStromKohei KaiGai
 
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】Kohei KaiGai
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStromKohei KaiGai
 
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstromKohei KaiGai
 
俺的 Ignite update 萌えポイント portal&arm, compute, network -
俺的 Ignite update 萌えポイント   portal&arm, compute, network -俺的 Ignite update 萌えポイント   portal&arm, compute, network -
俺的 Ignite update 萌えポイント portal&arm, compute, network -Yui Ashikaga
 
2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archiDaisuke Nagao
 
20171212_GTCJapan_InceptionSummt_HeteroDB
20171212_GTCJapan_InceptionSummt_HeteroDB20171212_GTCJapan_InceptionSummt_HeteroDB
20171212_GTCJapan_InceptionSummt_HeteroDBKohei KaiGai
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroupManaMurakami1
 
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤Google Cloud Platform - Japan
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instanceAmazon Web Services Japan
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & AppsGoogle Cloud Platform - Japan
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由gree_tech
 

Similaire à 20221116_DBTS_PGStrom_History (20)

20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
 
Cld017 nh シリーズリリース
Cld017 nh シリーズリリースCld017 nh シリーズリリース
Cld017 nh シリーズリリース
 
Cld017 nh シリーズリリース
Cld017 nh シリーズリリースCld017 nh シリーズリリース
Cld017 nh シリーズリリース
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 
20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStrom
 
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
 
なにわTech20161215
なにわTech20161215 なにわTech20161215
なにわTech20161215
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStrom
 
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom
 
俺的 Ignite update 萌えポイント portal&arm, compute, network -
俺的 Ignite update 萌えポイント   portal&arm, compute, network -俺的 Ignite update 萌えポイント   portal&arm, compute, network -
俺的 Ignite update 萌えポイント portal&arm, compute, network -
 
2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi
 
20171212_GTCJapan_InceptionSummt_HeteroDB
20171212_GTCJapan_InceptionSummt_HeteroDB20171212_GTCJapan_InceptionSummt_HeteroDB
20171212_GTCJapan_InceptionSummt_HeteroDB
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroup
 
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由
 

Plus de Kohei KaiGai

20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_APIKohei KaiGai
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrowKohei KaiGai
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_countKohei KaiGai
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_IndexKohei KaiGai
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGISKohei KaiGai
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_ProcessingKohei KaiGai
 
20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_OnlineKohei KaiGai
 
20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdwKohei KaiGai
 
20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_FdwKohei KaiGai
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_BetaKohei KaiGai
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGaiKohei KaiGai
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdwKohei KaiGai
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_FdwKohei KaiGai
 
20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - EnglishKohei KaiGai
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LTKohei KaiGai
 
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
20181211 - PGconf.ASIA - NVMESSD&GPU for BigDataKohei KaiGai
 
20181210 - PGconf.ASIA Unconference
20181210 - PGconf.ASIA Unconference20181210 - PGconf.ASIA Unconference
20181210 - PGconf.ASIA UnconferenceKohei KaiGai
 
20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQL20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQLKohei KaiGai
 
20181016_pgconfeu_ssd2gpu_multi
20181016_pgconfeu_ssd2gpu_multi20181016_pgconfeu_ssd2gpu_multi
20181016_pgconfeu_ssd2gpu_multiKohei KaiGai
 
20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdw20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdwKohei KaiGai
 

Plus de Kohei KaiGai (20)

20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_count
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing
 
20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_Online
 
20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw
 
20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
 
20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
 
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
 
20181210 - PGconf.ASIA Unconference
20181210 - PGconf.ASIA Unconference20181210 - PGconf.ASIA Unconference
20181210 - PGconf.ASIA Unconference
 
20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQL20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQL
 
20181016_pgconfeu_ssd2gpu_multi
20181016_pgconfeu_ssd2gpu_multi20181016_pgconfeu_ssd2gpu_multi
20181016_pgconfeu_ssd2gpu_multi
 
20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdw20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdw
 

Dernier

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
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
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~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...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Dernier (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
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, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~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...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

20221116_DBTS_PGStrom_History