AWS c6id Benchmark Charts
AWS 32コア物理環境における VMemKV と RocksDB の包括的な性能ベンチマーク結果。各グラフの下部アコーディオンから、個別ディスカッション(Giscus)が行えます。
Variants
- RocksDB
- Baseline: すべての最適化機能をオフにしたベースラインの vmemkv。
- Simd: T1 レンジスキャンに AVX2/AVX-512 ベクトル並列走査を適用。
- Bloom: 存在しないキーの Get を O(1) で弾く T1 ブルームフィルタを有効化。
- Hints: Larger-than-memory環境でスワップによるストールを防ぐ madvise メモリヒントを有効化。
- T1InlineValue: 8B以下のValueを T1 インデックススロットへ埋め込み T2 の処理をバイパス。
- Prefaulting: 2MB Chunk Alloc & Pre-faulting による mmap_lock ロック衝突の緩和。
Environment
- CPU: Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz (32 Cores / 64 Threads)
- Cache: L1D 48KB, L1I 32KB, L2 1.25MB (per 2 cpus) | L3 54MB (per 32 cpus)
- RAM: Total 66.3 GB (In LTM runs, RAM is constrained to 1GiB)
- OS / Kernel: Ubuntu 22.04 LTS (Linux 6.17.0-1019-aws)
- Compiler: GCC / CMake Release Build
- Disk: Local NVMe SSD (AWS Instance Store, Swap Media)
Overall Notes & Annotations
このベンチマーク実験全体に対する考察やアノテーションメモをローカルに保存できます(ブラウザの localStorage に自動保存されます)。
Insert Workload
実験概要: Measures incremental database insertions starting from a fresh store.
Update Workload
実験概要: Replaces values of randomly selected existing keys in-place.
Delete Workload
実験概要: Removes existing keys, triggering index node deallocation and space reclamation.
Get (Hit) Workload
実験概要: Retrieves existing keys using Zipfian distribution (locality of access).
Get (Miss) Workload
実験概要: Queries non-existent keys to evaluate T1 Bloom Filter filtering efficiency.
Scan (No Reorg) Workload
実験概要: Performs range queries of 100 consecutive keys under stable database state. (⚠️ 注意: 現在のSCAN実装には設計と異なるバグがあり、リクエストごとにインデックス全体を全件コピーしてO(N log N)ソートするため、データ数Nが膨大になるスモールバリュー環境で極端に性能が低下しています。次回修正予定。)
Scan (With Reorg) Workload
実験概要: Executes range queries concurrently while background T1 reorganization is running. (⚠️ 注意: 現在のSCAN実装には設計と異なるバグがあり、リクエストごとにインデックス全体を全件コピーしてO(N log N)ソートするため、データ数Nが膨大になるスモールバリュー環境で極端に性能が低下しています。次回修正予定。)
Insert Workload
実験概要: Measures incremental database insertions starting from a pre-populated LTM store.
Update Workload
実験概要: Replaces values of randomly selected existing keys in-place under cgroup limit.
Delete Workload
実験概要: Removes existing keys, triggering index node deallocation and space reclamation in LTM.
Get (Hit) Workload
実験概要: Retrieves existing keys using Zipfian distribution, validating active page swap hit rate.
Get (Miss) Workload
実験概要: Queries non-existent keys to evaluate T1 Bloom Filter filtering efficiency in memory-constrained environment.
Scan (No Reorg) Workload
実験概要: Performs range queries of 100 consecutive keys under stable database state with SSD swappings. (⚠️ 注意: 現在のSCAN実装には設計と異なるバグがあり、リクエストごとにインデックス全体を全件コピーしてO(N log N)ソートするため、データ数Nが膨大になるスモールバリュー環境で極端に性能が低下しています。次回修正予定。)
Scan (With Reorg) Workload
実験概要: Executes range queries concurrently while background T1 reorganization is running under memory limit. (⚠️ 注意: 現在のSCAN実装には設計と異なるバグがあり、リクエストごとにインデックス全体を全件コピーしてO(N log N)ソートするため、データ数Nが膨大になるスモールバリュー環境で極端に性能が低下しています。次回修正予定。)
Insert Workload
実験概要: Measures incremental database insertions starting from a pre-populated LTM store (Large Values).
Update Workload
実験概要: Replaces values of randomly selected existing keys in-place under cgroup limit (Large Values).
Delete Workload
実験概要: Removes existing keys, triggering index node deallocation and space reclamation in LTM (Large Values).
Get (Hit) Workload
実験概要: Retrieves existing keys using Zipfian distribution, validating active page swap hit rate (Large Values).
Get (Miss) Workload
実験概要: Queries non-existent keys to evaluate T1 Bloom Filter filtering efficiency in memory-constrained environment (Large Values).
Scan (No Reorg) Workload
実験概要: Performs range queries of 100 consecutive keys under stable database state with SSD swappings (Large Values). (⚠️ 注意: 現在のSCAN実装には設計と異なるバグがあり、リクエストごとにインデックス全体を全件コピーしてO(N log N)ソートするため、データ数Nが膨大になるスモールバリュー環境で極端に性能が低下しています。次回修正予定。)
Scan (With Reorg) Workload
実験概要: Executes range queries concurrently while background T1 reorganization is running under memory limit (Large Values). (⚠️ 注意: 現在のSCAN実装には設計と異なるバグがあり、リクエストごとにインデックス全体を全件コピーしてO(N log N)ソートするため、データ数Nが膨大になるスモールバリュー環境で極端に性能が低下しています。次回修正予定。)