[PR #1388] [MERGED] [Store] - Add comprehensive storage backend benchmark suite #2212

Closed
opened 2026-10-29 21:33:42 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/1388
Author: @maheshrbapatu
Created: 1/15/2026
Status: ✅ Merged
Merged: 1/22/2026
Merged by: @ykwd

Base: main ← Head: benchmark


📝 Commits (2)

📊 Changes

2 files changed (+2472 additions, -0 deletions)

View changed files

📝 mooncake-store/benchmarks/CMakeLists.txt (+12 -0)
➕ mooncake-store/benchmarks/storage_backend_bench.cpp (+2460 -0)

📄 Description

Description

Add extensive benchmarking infrastructure for evaluating storage backend
performance across multiple scenarios critical to LLM inference workloads.

Key features:

  • Support for all storage backends: OffsetAllocator, Bucket, and FilePerKey
  • Comprehensive test coverage:
    • Initialization and recovery time
    • BatchOffload (write) and BatchLoad (read) performance
    • Multi-threaded concurrent operations
    • Metadata lookup (IsExist) with hit/miss tracking
    • Mixed read-write workloads with realistic contention
    • Churn testing at near-capacity with overwrites
    • Restart/recovery benchmarks

Technical highlights:

  • Thread-local statistics for lock-free hot path
  • 4KB-aligned buffer pools for future O_DIRECT support
  • Data integrity verification via deterministic patterns
  • Multiple access patterns (sequential, zipf)
  • Cache mode support for cold vs warm testing

This benchmark is essential for performance validation and regression
testing of TTFT-critical read paths and storage backend optimizations.

Type of Change

  • Types
    • Bug fix
    • New feature
      • Transfer Engine
      • Mooncake Store
      • Mooncake EP
      • Integration
      • P2P Store
      • Python Wheel
    • Breaking change
    • CI/CD
    • Documentation update
    • Other

How Has This Been Tested?

Benchmarked with small block sizes.

Checklist

  • I have performed a self-review of my own code.
  • I have formatted my own code using ./scripts/code_format.sh before submitting.
  • I have updated the documentation.
  • I have added tests to prove my changes are effective.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/Mooncake/pull/1388 **Author:** [@maheshrbapatu](https://github.com/maheshrbapatu) **Created:** 1/15/2026 **Status:** ✅ Merged **Merged:** 1/22/2026 **Merged by:** [@ykwd](https://github.com/ykwd) **Base:** `main` ← **Head:** `benchmark` --- ### 📝 Commits (2) - [`ac2fbfa`](https://github.com/kvcache-ai/Mooncake/commit/ac2fbfaf28aa93893834189b5e8b0e741773aa5f) benchmark - [`cd34aa3`](https://github.com/kvcache-ai/Mooncake/commit/cd34aa38849e412bae3365697fa0296d628d0d74) fix formatting ### 📊 Changes **2 files changed** (+2472 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `mooncake-store/benchmarks/CMakeLists.txt` (+12 -0) ➕ `mooncake-store/benchmarks/storage_backend_bench.cpp` (+2460 -0) </details> ### 📄 Description ## Description Add extensive benchmarking infrastructure for evaluating storage backend performance across multiple scenarios critical to LLM inference workloads. Key features: - Support for all storage backends: OffsetAllocator, Bucket, and FilePerKey - Comprehensive test coverage: * Initialization and recovery time * BatchOffload (write) and BatchLoad (read) performance * Multi-threaded concurrent operations * Metadata lookup (IsExist) with hit/miss tracking * Mixed read-write workloads with realistic contention * Churn testing at near-capacity with overwrites * Restart/recovery benchmarks Technical highlights: - Thread-local statistics for lock-free hot path - 4KB-aligned buffer pools for future O_DIRECT support - Data integrity verification via deterministic patterns - Multiple access patterns (sequential, zipf) - Cache mode support for cold vs warm testing This benchmark is essential for performance validation and regression testing of TTFT-critical read paths and storage backend optimizations. ## Type of Change * Types - [ ] Bug fix - [X] New feature - [ ] Transfer Engine - [X] Mooncake Store - [ ] Mooncake EP - [ ] Integration - [ ] P2P Store - [ ] Python Wheel - [ ] Breaking change - [ ] CI/CD - [ ] Documentation update - [ ] Other ## How Has This Been Tested? Benchmarked with small block sizes. ## Checklist - [X] I have performed a self-review of my own code. - [ ] I have formatted my own code using `./scripts/code_format.sh` before submitting. - [ ] I have updated the documentation. - [ ] I have added tests to prove my changes are effective. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 21:33:42 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/Mooncake#2212
No description provided.