Dooly: Configuration-Agnostic, Redundancy-Aware Profiling for LLM Inference Simulation
Dooly is a configuration-agnostic, redundancy-aware profiling system for LLM inference simulation that leverages taint propagation and structural analysis to perform a single inference pass, thereby significantly reducing profiling costs while maintaining high accuracy across diverse hardware, engines, and model architectures.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine you are trying to build the perfect delivery system for a massive pizza chain. You have to decide on the trucks (hardware), the routing software (serving engines), the kitchen layout (model architecture), and the type of orders you get (workloads).
The problem is that there is no single "best" setup. A truck that's perfect for a small neighborhood might be terrible for a highway run. To figure out the best combination, you usually have to test every single scenario by actually driving the trucks. But testing every route, with every truck, in every weather condition, takes forever and costs a fortune in gas.
This is the problem computer scientists face with LLM Inference (running AI models). They need to test thousands of combinations of hardware, software, and models to find the fastest one. Currently, they use "simulators" (digital test drives), but these simulators are clumsy. They are like a driver who has to re-learn how to drive a car from scratch every time they switch to a slightly different model, even if the engine is identical. They also waste time testing the exact same thing over and over again.
Enter Dooly, a new tool that acts like a super-smart, memory-aided test driver.
The Core Problem: The "Reinventing the Wheel" Trap
The paper explains that current simulators are "hardcoded." If you want to test a new AI model, the simulator often needs to be manually rewritten to understand it. Worse, if you test Model A and then Model B, and they happen to use the exact same mathematical "engine" (like the same attention mechanism), the current tools don't realize it. They treat them as totally new tasks and measure them again from scratch.
The Analogy: Imagine you are a chef testing recipes.
- Old Way: You bake a chocolate cake. Then you want to test a vanilla cake. The old way forces you to buy new ingredients, clean the kitchen, and bake the vanilla cake from scratch, even though the oven, the mixing bowl, and the baking time are exactly the same. You are wasting time and money.
- The Insight: The paper realizes that many "ingredients" (like the size of the mixing bowl or the oven temperature) are fixed by the recipe (the model), while others (like how many cakes you are baking at once) change based on the customer's order.
How Dooly Works: The "Taint" Detective
Dooly solves this with two main tricks:
1. The "Taint" Propagation (Labeling the Ingredients)
Dooly runs the AI model just once with a dummy request. As it runs, it puts "sticky notes" (called taints) on every number it uses.
- If a number comes from the Model's design (like "this model has 32 heads"), it gets a "Model" sticky note.
- If a number comes from the Customer's order (like "bake 50 cakes"), it gets an "Order" sticky note.
Why this matters: When Dooly looks at the math later, it can say, "Hey, this calculation depends only on the Model sticky notes. Since Model A and Model B have the same sticky notes here, I don't need to test this part again. I already know the answer!" It instantly spots when two different models are actually doing the exact same math.
2. The "Context" Reuse (Using the Engine's Own Key)
Some parts of the AI (like the "Attention" mechanism) are like a car engine that needs to be warmed up and connected to the fuel line before it can run. Old simulators try to manually hook up wires to test these parts alone, which is hard and error-prone.
Dooly is smarter. It says, "Why build a new engine? Let's just use the car's own ignition system." It reuses the serving engine's own startup code to set up the environment perfectly. This allows it to test complex, stateful parts of the AI in isolation without needing a human to manually wire everything up.
The Results: Speed and Savings
The paper tested Dooly on 12 different AI models, using different hardware (NVIDIA A100 and H100 chips) and different software backends.
- Accuracy: It predicted the speed of the AI with very high precision (within 5% to 8% error), which is good enough for planning.
- Efficiency: By spotting the "duplicate" tests and skipping them, Dooly saved 56.4% of the time and computing power (GPU hours) compared to the old way.
- Flexibility: It worked out of the box for different models and hardware without needing to be manually rewritten for each one.
The Bottom Line
Dooly is a tool that stops computer scientists from wasting time re-testing the same things. By labeling where numbers come from and reusing existing software setups, it builds a "library of answers" that can be used to simulate any configuration instantly. It turns a months-long process of trial-and-error into a much faster, smarter exploration, helping engineers find the best way to run AI models without burning through expensive computer time.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.