Compute Procurement — Inference & Agentic

Securing the compute structure that fits your requirement

We work with inference and agentic platform teams to access the compute market efficiently — reading supply as it stands, and structuring commitments that map tightly to the technical requirement.

The metric that matters here: tokens per second per dollar — within your SLOs. They aren't a caveat on that number; they decide which numbers are available to you at all.
1

Sizing your requirement

Seven dimensions — each one decides something the market prices:

SLOsp99 time-to-first-token (TTFT) · inter-token latency (ITL; sometimes TPOT) · end-to-end turn time where it binds
decides which serving paths and rungs are eligible for you at all — and the reliability floor your contracts commit to
Workload profilewhat one job needs: memory footprint, coupling
decides your increment — whether you buy in nodes or racks
Traffic profilevolume, burstiness, growth
decides how much you commit, and how much you keep flexible
Traffic mixcached / fresh / output tokens
decides your real cost per task — the mix moves gross margin
Preemption tolerancewhich traffic survives interruption
decides whether the cheapest capacity on the market is open to you
Growth posturewhat you'd commit to if the next two quarters go right
decides tenor — what you lock, and for how long
Placement & timingresidency, latency to customer, capacity-live date
decides region, and what real market lead times allow

This is the spec we price against the market. We don't set these numbers — you do. What we add is what they cost: what does each 100ms of p99 budget you refuse to spend cost you per year in foregone batching gain? Most teams can't answer that today — and it's a finance question, not an engineering one.

Two lines of that spec — fits one node, and coupling — decide which market you're in.

WORKLOAD PROFILE What needs racks — and where engineering moves the line Large-scale pretraining doesn't move — the coupling is the workload Frontier MoE serving disaggregation, expert placement — better, but still rack-scale Long-context RAG paged KV, prefix caching, quantization — crosses back into node territory Long-reasoning inference KV quantization, speculative decoding LoRA fine-tuning Chat & agentic serving node-native — optimization buys occupancy, not position Robotics / sim training Cross-GPU communication within one job Tightly coupled Loosely coupled Fits one node Spans many nodes Single-job memory footprint — weights, KV cache, activations Stock serving stack Optimized serving stack Node territory "Stock" = the baseline published benchmarks measure against: FP16, static batching, unmanaged KV. Long-context FP16 KV alone can exceed a node's memory — what pushes those workloads rightward under stock. Positions are illustrative. Some workloads cross the boundary under optimization; some only gain occupancy; some don't move. Workload profile moves you; volume doesn't. Every leftward move takes a workload out of rack-sized purchases and into node-sized ones.
The classification step: what needs racks under a stock serving stack — and what returns to nodes under an optimized one.

What one job needs — not your aggregate volume, not your company's size — sets the smallest unit of compute you can buy.

And that's partly an engineering choice: every leftward move on the map takes a workload out of rack-sized purchases and into node-sized ones.

THE OCCUPANCY BRIDGE What disciplined serving engineering is worth per node All gains taken inside the same p99 SLO Stock serving FP16, static batch ~1.7× ×1.5–2 Quantization weights + KV ~3× ×1.5–2 Paged KV + prefix caching ~5× ×1.5–2.5 Continuous batching ~7× ×1.2–1.5 Speculative decoding ~8–9× ×1.2–1.5 Prefill/decode disaggregation Effective capacity of one node (stock serving = 1×) Capacity added by this lever (illustrative range) Carried from previous levers Indexed to stock serving — FP16, static batching, unmanaged KV: the baseline published benchmarks measure against. Ranges are conservative readings of published results: NVIDIA reports ≈2× from FP8 (TensorRT-LLM); the vLLM paper reports 2–4× over prior SOTA and up to 24× over stock serving; Orca (OSDI '22) pioneered iteration-level batching. Our ~8–9× is conservative against that range — and every multiple is committed capacity you don't buy.
Indexed to stock serving — the baseline published benchmarks measure against. NVIDIA, vLLM, and Orca results anchor the ranges; our cumulative ~8–9× is deliberately conservative.

And the one lever that isn't free: batching buys throughput and spends tail latency — which is why the last chart in this sequence needs your p99 SLO on it.

THE SLO TRADE Throughput is bought with tail latency Your latency ceiling Throughput you're giving up Usable Beyond your SLO Small batches Large batches Largest batch you can actually run Batch size Relative scale Throughput Tail latency (p99) Shapes are illustrative — the relationship, not the magnitudes. The two series share an axis but not a unit. The ceiling is your p99 SLO. Where it sits is a product decision, and it decides how much of the curve you get to use.
The trade we price: your p99 budget against the batching gain it forecloses.

Batching is the cheapest lever you have, and it spends tail latency to buy throughput. Your p99 SLO binds while real throughput gain is still on the table — the shaded region isn't waste; it's gain your SLO forecloses. That's the number the requirement asked you to price.

The mechanics, if useful — why peak FLOPS won't predict a serving bill

FLOPS is a theoretical ceiling, and a fair proxy when a workload is compute-bound. Decode — the phase that dominates most serving bills — is memory-bandwidth-bound: each generated token re-reads the model's weights and that request's KV cache from memory, and the arithmetic per token is small relative to the data moved. Two parts with identical peak FLOPS can produce materially different cost per token.

Illustrative: a 70B-parameter model in FP16 holds ~140GB of weights. At batch size 1 on ~3.35TB/s of memory bandwidth, every token requires re-reading those weights: ~42ms per token, ~24 tokens/sec — with the compute units mostly idle. At batch size 32, the same weight-read serves 32 requests at once, and throughput rises toward ~700–800 tokens/sec. The lever was batching, not FLOPS.

2

Reading the market

The supply side is dynamic and capacity remains genuinely constrained. Four structural facts decide what your requirement can clear against — and each one shapes the commitment you should sign:

1

The increment — and who can host it

Rack-scale systems deploy as single 120kW+ liquid-cooled units from a short list of qualified hosts; node-scale capacity is sold across the whole market in small steps. Why it matters: your increment regulates how much of the market is open to you at all.

2

The form of the contract

Commitments are denominated in tokens — a guaranteed rate, the provider owns the hardware — or in hardware, where you do. Why it matters: the form decides who carries the cost of idle capacity, before any price comparison starts.

3

The tenor on offer

Sub-six-month reserved terms are broadly unavailable; discounts concentrate at 1–2 year commitments, with prepayment norms beyond a year. Why it matters: tenor committed is a price lever — and any discount secured should reflect the lock-in and potential idle-capacity risk.

4

The depreciation horizon

Hardware generations turn over faster than the contract terms you sign, and residual-value assumptions vary widely across operators. Why it matters: the divergence between the accelerating release of new hardware generations and the assumed residual value of your contracted hardware is reflected on your balance sheet.

The current read on all four — our monthly Market pulse — is published on the compute procurement overview.

Rack-scale profile

A short list of hosts · rack-sized commitments · longer terms

Node-scale profile

The whole market · small, reversible steps

This is why sizing comes first: your workload profile picks your market — and your market picks the commitments you can sign.

3

Structuring the commitment

Your requirement sets the target; we secure and optimize the structure that delivers it.

  • Two ladders, not one — commitments are denominated in tokens or in hardware
  • Denomination decides who carries the idle — settled before any price comparison starts

Provisioned throughput — sold in provider-defined units; Azure's "PTUs" (provisioned throughput units) popularized the form, and it has since spread across the market — means committing to a guaranteed token rate while the provider owns the hardware behind it.

Token-denominated — the provider carries utilization risk
RungTypical commitmentYou're buyingYou're giving up
Serverless / shared APINoneZero capacity risk, instant elasticityHighest unit price, no capacity guarantee
Provisioned throughput (PTU-style)Monthly – 1 yearA guaranteed token rate; the provider owns the hardware problemPay for the reserved rate whether you consume it or not — a pure utilization break-even
  • Every step down a ladder — a lower unit price, traded for ownership of the idle
  • Denomination, not rung, decides who eats unconsumed capacity — a PTU rate and a GPU-hour rate are different products; settle this before comparing prices
TOKEN-DENOMINATED
  1. Serverless / per-token API
  2. Provisioned throughput (PTU-style)
  3. Committed token volume
Provider owns the hardware — and the idle
HARDWARE-DENOMINATED
  1. Spot / preemptible
  2. On-demand GPU-hour
  3. Reserved / committed term
  4. Dedicated & bare metal
  5. Owned hardware in colocation
You own the hardware — and the idle

Lower unit price as you descend either ladder; more of the idle transfers to you.

Hardware-denominated — you carry utilization risk
RungTypical commitmentYou're buyingYou're giving up
Spot / preemptibleNoneThe lowest prices available, often by a wide marginInterruption at the provider's discretion — only viable if the workload survives preemption
On-demand instancesNone to hourlyFlexibility, fast experimentationPremium pricing, no guaranteed availability
Reserved capacity (GPU-hours)6 months – 3 yearsMaterially lower unit price, guaranteed capacityA locked demand assumption; over-commitment risk
Dedicated bare metalMulti-yearIsolation, performance predictability, full topology controlLonger lock-in, more operational responsibility
Owned hardware in colocationCapex + facility termLowest marginal cost at high sustained utilizationCapital, depreciation risk, obsolescence exposure

The rungs are the market's public taxonomy. The priced version of this ladder — current tenor curves, provider terms, and what actually moves in negotiation — is client material.

What we structure, at your commitment size:

  • Which terms genuinely move — and which don't
  • Tenor laddering — expiries stagger; never cliff-date
  • Provider concentration — priced as a risk, not left as an accident
  • Spot — for the preemption-tolerant share of your traffic
  • Mixed-fleet reconciliation — the numbers auditors and lenders will ask about

For a first commitment, the useful question isn't "what's the cheapest rung." It's "what's the smallest commitment that clears my SLOs — and what does it cost me to be wrong?"

4

Optimizing the cost structure

The provider invoice is not the cost structure.

  • The engineered gap — list price to cost-to-serve is engineered out, and that gap is what drives margin
  • Division of labor — closing it is engineering's work; measuring it defensibly is ours

Utilization is the multiplier.

  • Consumed, not allocated — committed capacity bills continuously; demand doesn't, and we measure the difference
  • On a first commitment it's a forecast — how much idle are you choosing to pre-pay for?

We build the numbers diligence underwrites.

  • The set — margin trajectory, commitment coverage, residuals across generations, provider concentration
  • In place before they're asked for — built on your cadence, not under deal pressure
Cost per successful task — calculator
Launching this week

Prices four sourcing rungs per successful task, not per token — every contested assumption is a switch on the result card, and the self-host rung shows as a band until your inputs narrow it. If a calculator hides its contested assumptions, distrust it.

Built on the CPST model with full calibration provenance.

Spruce
Street

Where we plug in

1

Evaluate

Your SLOs, your traffic profile, and — if you hold capacity — realized cost-to-serve and consumed-versus-allocated utilization against what you've contracted.

2

Configure

Commitment structure, tenor laddering, and workload shaping — built against the market read.

3

Operate

Compute needs recur — renewals, expansions, rebalancing. We run procurement as a standing process, on a systematic cadence rather than as a fire drill.

4

Report

Unit economics your board, lenders, and diligence can rely on, stated defensibly.

Spruce Street can support you at any stage, from inception to enterprise-grade maturity — whether you are:

Signing your first compute commitment: We bring the market intelligence and price the trade-offs on either side of it: committing too little to support growth and burstiness, or locking in excess capacity at rates the market may later undercut.

Scaling through a step-change: When your compute requirement jumps by an order of magnitude, we provide an independent perspective and the tools to help you optimize the structure.

Operating a substantial existing compute fleet: We work alongside your teams — freeing up their bandwidth and adding an edge across the process: the market read, renewal and renegotiation timing, invoice and contract reconciliation, and diligence-ready reporting.

Price your requirement against the market.

Book a compute cost structure review