<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Benchmarking | Rabimba Karanjai</title><link>http://rabimba.fyi/tags/benchmarking/</link><atom:link href="http://rabimba.fyi/tags/benchmarking/index.xml" rel="self" type="application/rss+xml"/><description>Benchmarking</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 25 Jun 2026 18:00:00 +0000</lastBuildDate><image><url>http://rabimba.fyi/media/icon_hu_6d534efae7b021f2.png</url><title>Benchmarking</title><link>http://rabimba.fyi/tags/benchmarking/</link></image><item><title>OpenXLA Summer DevLab 2026 — Benchmarking vLLM on XLA Backends</title><link>http://rabimba.fyi/events/openxla-devlab-summer-2026-vllm-on-xla/</link><pubDate>Thu, 25 Jun 2026 18:00:00 +0000</pubDate><guid>http://rabimba.fyi/events/openxla-devlab-summer-2026-vllm-on-xla/</guid><description>&lt;h3 id="talk-overview"&gt;Talk Overview&lt;/h3&gt;
&lt;p&gt;Invited by Google&amp;rsquo;s ML and TPU teams to present at &lt;strong&gt;OpenXLA Summer DevLab 2026&lt;/strong&gt; hosted at Google Corporate HQ in Mountain View, CA, alongside speakers from Google, NVIDIA, and the Meta PyTorch team.&lt;/p&gt;
&lt;p&gt;The talk details our empirical evaluation of the matured &lt;strong&gt;vLLM + OpenXLA&lt;/strong&gt; stack, contrasting it with the native &lt;strong&gt;vLLM + CUDA&lt;/strong&gt; serving path under identical enterprise workloads.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="key-technical-insights"&gt;Key Technical Insights&lt;/h3&gt;
&lt;h4 id="1-the-runtime-collision-dynamic-cuda-vs-static-openxla"&gt;1. The Runtime Collision: Dynamic CUDA vs. Static OpenXLA&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPU / CUDA:&lt;/strong&gt; Inherently dynamic, memory allocation and kernel launches scale on the fly to arbitrary prompt lengths with near-instantaneous container startup.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TPU / OpenXLA:&lt;/strong&gt; Built around high-density &lt;strong&gt;Systolic Arrays&lt;/strong&gt; streaming deterministic matrix multiplications. XLA compiles rigid machine code ahead of time, requiring incoming variable-length prompts to be mapped into static padding buckets (128, 256, 512, 1024 tokens), introducing compute padding overhead.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Compilation Wall:&lt;/strong&gt; Uncompiled sequence configurations or cold starts trigger ahead-of-time compilation passes that can pause server execution for 20–30 minutes, complicating elastic autoscaling.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-the-throughput-trap-vs-usable-goodput"&gt;2. The Throughput Trap vs. Usable Goodput&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Standard evaluations optimize for &lt;strong&gt;Peak Throughput&lt;/strong&gt; (tokens/sec), masking degraded latency.&lt;/li&gt;
&lt;li&gt;LLM inference splits into:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prefill phase:&lt;/strong&gt; Compute-bound; dictates &lt;strong&gt;Time to First Token (TTFT)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decode phase:&lt;/strong&gt; Memory-bandwidth-bound; dictates &lt;strong&gt;Time Per Output Token (TPOT)&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;We evaluate capacity using &lt;strong&gt;Usable Goodput&lt;/strong&gt; — requests per second successfully meeting both &lt;strong&gt;TTFT ≤ 1000 ms&lt;/strong&gt; and &lt;strong&gt;TPOT ≤ 50 ms&lt;/strong&gt; simultaneously.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-interconnect-limits--tail-latency-collapse"&gt;3. Interconnect Limits &amp;amp; Tail Latency Collapse&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;On single-chip configurations (e.g., Llama-3.1 8B), the system scales predictably, keeping P99 response loops under 38 ms.&lt;/li&gt;
&lt;li&gt;For partitioned 70B models requiring inter-chip all-reduce tensor collectives, operating over baseboard &lt;strong&gt;PCIe Gen5 without NVLink bridges&lt;/strong&gt; quickly saturates the bus. P99 decode tail latency spikes to &lt;strong&gt;~466 ms/token&lt;/strong&gt;, causing usable goodput to collapse from &lt;strong&gt;9.3 down to 2.4 requests/second&lt;/strong&gt; under peak concurrency.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-the-2026-unified-vllm-xla-stack-architecture"&gt;4. The 2026 Unified vLLM-XLA Stack Architecture&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Consolidated Control Layer:&lt;/strong&gt; Google&amp;rsquo;s internal JetStream stack was officially archived in early 2026 and folded into the JAX-native &lt;code&gt;tpu-inference&lt;/code&gt; engine, with vLLM providing the OpenAI-compatible frontend orchestrator.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Torchax Lowering:&lt;/strong&gt; Standard PyTorch graphs are caught on-the-fly and lowered into StableHLO structures without eager Python interpreter bottlenecks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ragged Paged Attention v3 (RPA v3):&lt;/strong&gt; Implemented in Google&amp;rsquo;s low-level Pallas and Mosaic kernel layout engines, RPA v3 enables dynamic ragged tiling inside HBM, fusing KV-cache scatter steps into the attention block and delivering up to &lt;strong&gt;86% Model Bandwidth Utilization (MBU)&lt;/strong&gt; during generation.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="resources--artifacts"&gt;Resources &amp;amp; Artifacts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Presentation Slides:&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Benchmark Harness &amp;amp; Test Suite:&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deep-Dive Engineering Post:&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Recorded Session Stream:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>The Throughput Trap: Benchmarking vLLM on OpenXLA and the Reality of Production LLM Serving</title><link>http://rabimba.fyi/blog/the-throughput-trap-benchmarking-vllm/</link><pubDate>Thu, 25 Jun 2026 00:00:00 +0000</pubDate><guid>http://rabimba.fyi/blog/the-throughput-trap-benchmarking-vllm/</guid><description>&lt;p&gt;
&lt;/p&gt;</description></item></channel></rss>