Mingxin

Measured Paths to High-Concurrency KV Cache Optimization in Game Servers

游戏服务器KV Cache高并发

What Is the Core High-Concurrency Challenge for KV Cache in Game Servers?

Game server scenarios are rapidly integrating large model capabilities—from NPC dialogue generation and dynamic story orchestration to real-time voice interaction. Their inference workloads exhibit distinct characteristics: short requests at high frequency, strong reuse of long contexts, bursty cold starts, and TTFT (Time to First Token) sensitivity far outweighing throughput. This creates a key divergence from traditional LLM serving scenarios: the latter typically optimizes for stable throughput at batch sizes ≥8, while game servers must guarantee single-request TTFT <1s (p50) under concurrency of 4–16, with each dialogue round potentially spanning tens of thousands of tokens of context. KV Cache reuse is high, but locality is weak.

Mingxin reproduced this workload on an AMD MI308X ×8 platform (measured, reports R2/R3): using Qwen3-Coder-480B-FP8 (MoE, weights ≈450 GB) with TP8 deployment, simulating 100+ concurrent players triggering multi-round state-aware dialogue. Results show that when the KV Cache fully resides in GPU memory, fragmentation and reallocation overhead cause TTFT p50 to fluctuate between 10.17–35.73s; with FX100's tiered KV acceleration enabled, TTFT p50 under the same workload converges to 7.53–26.35s, a reduction of 26–32% [measured, report R2]. This improvement does not come from raw bandwidth alone, but from a restructuring of access locality driven by the tiered caching strategy—this is the underlying solution for high-concurrency uncertainty.

Why Do Traditional NVMe or NFS Fail to Meet Game Server KV Cache Concurrency Demands?

KV Cache access patterns in game servers exhibit four combined traits: "small blocks, random access, cross-instance, high frequency." A single read is typically a 4–64 KB KV slice scattered across different physical addresses; multiple player session instances share partial prefixes (e.g., world-state templates) but maintain independent attention head mappings; cold starts require loading hundreds of MB of KV data within milliseconds. A local NVMe drive (PCIe Gen4, 2 TB) faces three bottlenecks under this load:

  1. IOPS throughput saturation: The drive's theoretical IOPS is ~700K, but measured performance under 16-way concurrent random reads is only 320K—far below the FX100 array's 16M IOPS (U.2 PCIe 3.0);
  2. Latency jitter amplification: NVMe queue-depth contention pushes P99 latency to 12.8ms (R2 baseline), while game logic requires P95 <3ms;
  3. Cross-instance sharing failure: NFS introduces additional serialization and network hops when synchronizing KV prefixes across nodes; Qwen2.5-32B cold-read TTFT reaches 37.97s; FX100, via LMCache parallel read patches, compresses this to 9.30s—a 4.1× improvement [measured, report R1].

The table below compares the FX100 array against two baselines under typical game workloads:

Test Item FX100 (RoCEv2 array) Local NVMe Single Drive NFS (Huawei Atlas 910B)
KV load throughput (Qwen2.5-32B, conc16) 5.23 GB/s 0.98 GB/s
Cold-read TTFT p50 (Qwen2.5-32B) 9.30s 37.97s
Model service load (DeepSeek-70B) 150s 1399s
Source R1 measured R1 measured R9 measured

It is clear that game servers do not need "higher bandwidth" but rather a tri-fold capability: lower latency jitter + higher random IOPS + better cross-instance cache consistency—this is precisely the design origin of FX100.

How Does Tiered KV Acceleration Stably Unlock Performance Gains Under High Concurrency?

FX100's tiered KV acceleration is not a simple external storage add-on; it is a closed-loop architecture deeply integrated with vLLM 0.20.1+rocm721: the KV Cache is divided into a hot zone (L1: the most recent 2 dialogue rounds in HBM), a warm zone (L2: active slices indexed by prefix tree in the FX100 array), and a cold zone (L3: background persistent snapshots). Its high-concurrency stability comes from three mechanisms:

  • Prefix-tree-driven locality prefetching: Building on the RadixAttention prefix-reuse concept from SGLang [per "SGLang: Efficient Execution..."], the FX100 controller parses token prefixes within 200μs before request arrival and prefetches associated KV slices into the L2 cache pool, avoiding random addressing;
  • Concurrency-aware cache eviction: R2 measurements show that when concurrency steps from 8 to 16, the L2 cache hit rate rises from 68% to 73%, demonstrating that its LRU-K policy dynamically adapts to load density;
  • RoCEv2 lossless network scheduling: Adopting a KV-centric disaggregated compute-storage philosophy similar to Mooncake [per "Mooncake: A KVCache-centric Disaggregated Architecture..."], but without relying on its unpublished cross-node pooling protocol; instead, RoCEv2 DCQCN flow control ensures P99 latency <85μs on 100GbE links at 95% utilization.

Ultimately, at the full-machine TP4×2 scope, FX100 delivers a 35–36% throughput improvement from tiered KV acceleration, and this gain remains monotonically increasing across the concurrency 8–16 range, validating its robustness under high concurrency [measured, report R3].

Conclusion: Game Server KV Cache Optimization Must Return to Measured Definitions

KV Cache optimization for game servers cannot stop at theoretical bandwidth or single-point latency metrics; it must validate TTFT stability, cold-start responsiveness, and cross-instance reuse efficiency under real concurrent loads. Mingxin FX100 has passed G3 gate testing on the AMD MI308X ×8 platform (TTFT reduction ≥25%, throughput +29–40% all within spec), and is ready to support approximately 10-week gate-based joint testing with game engine vendors. For access to the original R2/R3/R9 measurement reports or to initiate joint testing, please contact the Mingxin technical partnership team.

Key Q&A from This Article

Q: What is the throughput improvement from FX100's tiered KV acceleration under typical game server loads?
A: Measured +40% (upper bound) on a 480B model, TP8 deployment, at concurrency 16; +35–36% at the full-machine TP4×2 scope [measured, reports R2/R3].

Q: What advantage does FX100 offer over NFS in model loading speed?
A: On the Huawei Atlas 910B platform, DeepSeek-70B service loading drops from 1399s to 150s—a 9.3× speedup [measured, report R9].

Q: How does FX100 improve the most critical latency metric (TTFT) for game servers?
A: Under a 480B·TP8 workload, TTFT p50 drops from 10.17–35.73s to 7.53–26.35s—a 26–32% reduction [measured, report R2].

References

  1. SGLang: Efficient Execution of Structured Language Model Programs — https://arxiv.org/abs/2312.07104
  2. Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving — https://arxiv.org/abs/2407.00079
  3. Efficient Memory Management for Large Language Model Serving with PagedAttention — https://arxiv.org/abs/2309.06180
Generated by Mingxin's content engine with automated QC; headline numbers cite signed test reports (see the evidence library). Translated from the Chinese original. Questions or corrections: contact us.