Dooly: Configuration-Agnostic, Redundancy-Aware Profiling for LLM Inference Simulation
cs.DC, cs.AI
Submitted: 2026-05-08
Updated: 2026-10-20
Code: https://github.com/microsoft/vidur
Project page: https://dooly-project.github.io
License: http://creativecommons.org/licenses/by/4.0/
The gist: Selecting the optimal LLM inference configuration requires evaluation across hardware, serving engines, attention backends, and model architectures, since no single choice performs best across all
Terminology
Abstract
Selecting the optimal LLM inference configuration requires evaluation across hardware, serving engines, attention backends, and model architectures, since no single choice performs best across all workloads. Profile-based simulators are the standard tool, yet they hardcode their operation set to a specific configuration and re-profile every operation from scratch, making exploration prohibitively expensive. This cost stems from a missing structural understanding: every input dimension of each operation is fixed by the model configuration or determined by the incoming request. Many model-configuration values (e.g., head size, layer count) recur across models, so the same operation runs in many configurations; a single sweep over the request-dependent dimensions can serve them all. We present Dooly, which exploits this structure to achieve configuration-agnostic, redundancy-aware profiling. Dooly performs a single inference pass, labels each input dimension with its origin via taint propagation, and selectively profiles only operations absent from its latency database; stateful operations such as attention are isolated by reusing the serving engine's own initialization code, eliminating manual instrumentation. From this database, it builds latency regression models that serve as a drop-in backend for existing simulators. Across two GPU platforms, three attention backends, and diverse model architectures, Dooly achieves simulation accuracy within 5% MAPE for TTFT and 8% for TPOT while reducing profiling GPU-hours across 12 models by 56.4% compared to the existing profiling approach. We have open-sourced Dooly at https://dooly-project.github.io.
Sources
- Vidur: A Large-Scale Simulation Framework For LLM Inference
- Taming Throughput-Latency Tradeoff in LLM Inference with Sarathi-Serve
- Revati: Transparent GPU-Free Time-Warp Emulation for LLM Serving
- GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints
- Longformer: The Long-Document Transformer
- SLOs-Serve: Optimized Serving of Multi-SLO LLMs
- FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness
- Mixtral of Experts
- APEX: An Extensible and Dynamism-Aware Simulator for Automated Parallel Execution in LLM Serving
- Splitwise: Efficient generative LLM inference using phase splitting
- The Anatomy of a Triton Attention Kernel
- Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer
- Attention Is All You Need
- Qwen2.5-1M Technical Report
- SGLang: Efficient Execution of Structured Language Model Programs
- DistServe: Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving
Related papers
- iScheduler: Reinforcement Learning-Driven Continual Optimization for Large-Scale Resource Investment Problems
- Load Balancing with Evolving Workloads in Large-Scale Language Model Serving
- SAMM: Sharded Automated Market Maker
- InferScale: GPU-Native KV Injection for Personalized LLM Serving
- Vigil: Accountable Liveness against Selective Silence
- Steelhead: Interleaving Partially Synchronous and Asynchronous Commit Rules on a Shared DAG