Benchmark Results (2026071600)
AWS 32コア物理環境における vmemkv と RocksDB の性能比較ベンチマーク。
Stacking Variants
各最適化の詳細は Design Document を参照。
- RocksDB: LSM-Tree のベースライン比較
- Baseline: vmemkv 最適化なし
- +BF: + T1 Bloom Filter
- +Simd: +BF + SIMD Scan(T1 sorted_region の SIMD 線形探索)
- +Inline: +Simd + T1 Inline Value (<8B のValueをT1のみで処理)
- +Prefault: +Inline + T2 Async Prefaulting(全部盛り)
Environment
- Instance: AWS c6id.8xlarge (ap-northeast-1)
- CPU: Intel Xeon Platinum 8375C @ 2.90GHz (32 cores)
- L2 Cache: 1,280 KiB × 16 (per-core private)
- RAM: 66.3 GB
- RAM (Larger-Than-Memory): cgroup で DRAM を 1GiB に制限し予めデータ量を4GiBぶん挿入した状態で開始
- Disk: Local NVMe SSD (Swap Media for LTM)
- Kernel: 6.17.0-1019-aws
- Git Rev: 9bde41e6fb78
Workloads
- Insert: 順次挿入(1/4/16/32 スレッド)
- Get Hit/Miss (Zipf/Uniform): ポイントルックアップ
- Update / Delete: Zipf 分布での更新・削除
- Scan After Reorg (Zipf/Uniform): T1 reorganize 後のレンジスキャン
- YCSB-E: 95% Scan + 5% Insert 混合(32スレッド / 30秒タイムライン)
Overall Notes & Annotations
Insert Workload
Update (Zipf) Workload
Delete (Zipf) Workload
Get Miss (Zipf) Workload
Get Hit (Zipf) Workload
Get Hit (Uniform) Workload
Scan After Reorg (Zipf)
Scan After Reorg (Uniform)
YCSB-E — Scan + Insert 混合スループット(30秒タイムライン)
YCSB-E ワークロード: 95% Scan(100件レンジスキャン)+ 5% Insert を 32スレッドで 30秒間実行。
縦点線は T1 Reorganize 発生タイミングを示す。
Workload-Adaptive Soft Limit により、スキャン検出時に append_region を
L2キャッシュ容量(~26,000件 / 1MB ÷ 40B)以下に保つ。Reorg 直後に走査対象が
sorted_region のみになりスキャン QPS が V字回復する。
Scan QPS タイムライン
32 threads / 30 secondsInsert Workload
Update (Zipf) Workload
Delete (Zipf) Workload
Get Miss (Zipf) Workload
Get Hit (Zipf) Workload
Get Hit (Uniform) Workload
Scan After Reorg (Zipf)
Scan After Reorg (Uniform)
YCSB-E — Scan + Insert 混合スループット(30秒タイムライン)
YCSB-E ワークロード: 95% Scan(100件レンジスキャン)+ 5% Insert を 32スレッドで 30秒間実行。
縦点線は T1 Reorganize 発生タイミングを示す。
Workload-Adaptive Soft Limit により、スキャン検出時に append_region を
L2キャッシュ容量(~26,000件 / 1MB ÷ 40B)以下に保つ。Reorg 直後に走査対象が
sorted_region のみになりスキャン QPS が V字回復する。
Scan QPS タイムライン
32 threads / 30 secondsInsert Workload
Update (Zipf) Workload
Delete (Zipf) Workload
Get Miss (Zipf) Workload
Get Hit (Zipf) Workload
Get Hit (Uniform) Workload
Scan After Reorg (Zipf)
Scan After Reorg (Uniform)
YCSB-E — Scan + Insert 混合スループット(30秒タイムライン)
YCSB-E ワークロード: 95% Scan(100件レンジスキャン)+ 5% Insert を 32スレッドで 30秒間実行。
縦点線は T1 Reorganize 発生タイミングを示す。
Workload-Adaptive Soft Limit により、スキャン検出時に append_region を
L2キャッシュ容量(~26,000件 / 1MB ÷ 40B)以下に保つ。Reorg 直後に走査対象が
sorted_region のみになりスキャン QPS が V字回復する。
Scan QPS タイムライン
32 threads / 30 secondsInsert Workload
Update (Zipf) Workload
Delete (Zipf) Workload
Get Miss (Zipf) Workload
Get Hit (Zipf) Workload
Get Hit (Uniform) Workload
Scan After Reorg (Zipf)
Scan After Reorg (Uniform)
YCSB-E — Scan + Insert 混合スループット(30秒タイムライン)
YCSB-E ワークロード: 95% Scan(100件レンジスキャン)+ 5% Insert を 32スレッドで 30秒間実行。
縦点線は T1 Reorganize 発生タイミングを示す。
Workload-Adaptive Soft Limit により、スキャン検出時に append_region を
L2キャッシュ容量(~26,000件 / 1MB ÷ 40B)以下に保つ。Reorg 直後に走査対象が
sorted_region のみになりスキャン QPS が V字回復する。