WHY percentiles, mean kyun nahi? Kyunki users tail feel karte hain. Agar mean latency 50 ms hai lekin p99 2 s hai, toh 100 mein se 1 request painfully slow hai — aur ek page jo 100 backend calls karta hai woh almost always ek baar us slow tail ko hit karega. Tail hi perceived quality ko dominate karta hai.
Derivation: work = (operations); rate = (operations/second). Time = work / rate = F/(ηP). Bas yahi hai — yeh sirf arithmetic ke liye time=distance/speed hai.
Server ko M/M/1 queue maano: requests rate λ pe aati hain, har ek mean service time s leti hai, toh service rate μ=1/s. Utilization define karo ρ=λ/μ=λs.
Derivation sketch: M/M/1 mein system mein mean number ρ/(1−ρ) hota hai. Little's LawN=λ⋅E[L] se,
E[L]=λN=λρ/(1−ρ)=λ(1−ρ)ρ=1−ρsρ=λs⇒ρ/λ=s use karke.
WHY this matters: jab ρ→1 (server ~100% busy), E[L]→∞. Latency nonlinearly explode karti hai. Yeh cost-vs-latency ka sabse important fact hai: hardware ko "hot" run karna paisa bachata hai lekin tail latency barbaad kar deta hai.
Tail wahi hai jo users feel karte hain; request fan-out rare slow requests ko almost har page load pe hit karata hai.
M/M/1 mean latency formula aur uske variables batao.
E[L]=s/(1−ρ), jahan s=mean service time, ρ=λs=utilization.
Utilization ρ→1 hone par latency kyun explode karti hai?
E[L]=s/(1−ρ)→∞; jab server almost hamesha busy ho toh queue waiting time bina bound ke badhta hai.
FLOPs se compute-time floor formula kya hai?
Lcompute≥F/(ηP) — work ko achievable rate (peak P times efficiency η) se divide karo.
Cost per inference ∝1/X kyun hai?
C1M=106H/(3600X); zyaada requests per second fixed hourly machine cost ko amortize karti hain.
Batching trade-off kya hai?
Bade batches throughput badhate hain (↓cost) lekin unhe fill hone ka wait karna latency badhata hai; max-wait timeout se cap karo.
Little's Law kya hai?
N=λE[L] — system mein average number = arrival rate × average time in system.
LLM inference latency ke liye do sabse saste bade wins kya hain?
KV-cache reuse aur quantization (fp16/int8) — dono compute aur bytes moved kam karte hain.
100% GPU utilization target kyun nahi karte?
ρ=1 ke paas queueing latency diverge ho jaati hai; ρ≈0.6–0.8 target karo aur autoscale karo.
Recall Feynman: 12-saal ke bacche ko explain karo
Socho ek dukaan mein ek cashier hai. Agar log dheere aate hain, toh aapko jaldi serve milti hai. Jaise hi queue busy hoti jaati hai aur cashier almost kabhi rest nahi kar raha, wait balloon ho jaata hai — ek extra shopper huge delay add kar deta hai. Isliye hum apna computer 100% busy nahi rakhte: uski line bahut badi ho jaati hai. Zyaada logon ko saste mein serve karne ke liye, cashier kai orders ek saath bundle karti hai (batching) — lekin agar woh bundle karne ke liye zyaada der tak wait kare, toh pehle wale customers irritate ho jaate hain. Toh hum bundle karte hain, lekin sirf ek pal ke liye. Aur chhoti, halki machine use karna (simpler model, chhote numbers) har order ko jaldi khatam karta hai aur kam paisa lagta hai.