QDNA

2x DGX Spark RDMA cluster + Qwen 3.8 27B mono-spark

Case study : January 2026, in production since February 2026.

Goal

Stand up a local platform that runs DeepSeek V4 Flash 284B (13B active) in FP4 and Qwen 3.8 27B in FP8, with two distinct contexts: 1 million tokens for DeepSeek on a 2-Spark cluster, 262,144 tokens for Qwen on a mono-spark. The platform must accept concurrent calls from several internal agents through LiteLLM, and route each request to the most suitable model via a semantic router.

Hardware

ItemReferenceQuantity
GPU serverNVIDIA DGX Spark : 128 GB unified memory, ConnectX-7 200 Gb/s3
RDMA switchNVIDIA Spectrum-3 200 GbE, 8 ports1
CablingQSFP56 DAC 200 Gb/s, 1 m4
UPSAPC Smart-UPS 3000 VA, double conversion1
12 U rackAPC NetShelter, 19-inch, 600 x 1000 mm1

Total cost

ItemDetailAmount ex. tax
DGX Spark3 x €3,800€11,400
Spectrum-3 switch + DAC cables€1,800 + €200€2,000
UPS + rack€1,100 + €300€1,400
QDNA engineering6 weeks of integration and production rollout€6,800
Total investment€21,600

Estimated recurring annual cost: €1,200 in energy (the 3 Sparks draw 1,100 W under average load), €600 in UPS maintenance, €400 in internal bandwidth.

Steps and timeline

  1. Week 1 : Scoping and hardware selection. Half-day workshop: use cases, expected maximal context, target throughput, network constraints. Decision: three DGX Sparks rather than one DGX Station, because the single-node Spark latency does not cover DeepSeek FP4 1M context. Validation of the NVFP4 format on DeepSeek weights.
  2. Week 2 : Delivery and rack-mount. The three Sparks landed in a 12 U rack, UPS wired in, ventilation checked. The Spectrum-3 switch was configured in RoCE v2 mode, two links between each Spark and the switch for redundancy (four links used, two in reserve).
  3. Week 3 : RDMA cluster bring-up. NCCL configuration pointed at the ConnectX-7 interfaces, bandwidth validation through nccl-tests all_reduce_perf: 185 Gb/s measured between the two Sparks, 92 % of nominal. First run of a DeepSeek model sharded across two nodes, 1M-context prefill measured at 28 seconds.
  4. Week 4 : DeepSeek harness. The orchestration script that pushes weights to the two nodes, configures the sparse KV cache, monitors inter-node latency. Throughput validated at 68 tokens/s per user, 45 tokens/s under moderate load (10 users).
  5. Week 5 : LiteLLM orchestration and semantic router. LiteLLM deployed as single entry point, branch « deepseek » on the Spark cluster, branch « qwen » on the mono-spark. The semantic router analyzes each request and chooses the branch based on content: short factual queries to Qwen, long generation or reasoning to DeepSeek.
  6. Week 6 : Load testing and production rollout. Locust tests: 200 virtual users, peak throughput of 1,800 requests per minute, p95 latency at 1.8 s. Production cutover, SLA validation, debugging of a retry loop on the semantic router that doubled requests.

Context sizes and measured throughput

ModelHardwareQuantizationMax contextPrefill 1 M (Qwen 262 K)Single-user throughput
DeepSeek V4 Flash 284B (13B active)2 x Spark RDMA clusterNVFP41,048,576 tokens28 s68 tok/s
Qwen 3.8 27BDGX Spark monoFP8262,144 tokens3 s120 tok/s

DeepSeek harness on the two nodes

The harness rests on three building blocks:

LiteLLM ecosystem and semantic router

Diagram

                 ┌───────────────────────────────┐
                 │  Hermes Agent                  │
                 │  (orchestrator, HTTP)         │
                 └───────────────┬───────────────┘
                                 │
                 ┌───────────────▼───────────────┐
                 │  Semantic router (bge-small)  │
                 │  + Mem0 memory layer         │
                 └───────────────┬───────────────┘
                                 │
                 ┌───────────────▼───────────────┐
                 │  LiteLLM (entry point)        │
                 │  /v1/chat/deepseek  /v1/chat/qwen │
                 └───┬───────────────────────┬───┘
                     │ RDMA over RoCE v2     │ PCIe
                     │                       │
       ┌─────────────▼──────────┐ ┌─────────▼─────────┐
       │  Spark #1 + Spark #2    │ │  Spark #3        │
       │  cluster NVFP4 2x128GB │ │  Qwen 3.8 27B FP8 │
       │  DeepSeek V4 Flash 284B│ │  mono-node        │
       │  NCCL all_reduce 185G/s│ │  128 GB unified  │
       └────────────────────────┘ └───────────────────┘
                        │
                 ┌──────▼──────┐
                 │  Switch    │
                 │ Spectrum-3 │
                 │ 200 GbE    │
                 └────────────┘

Operational metrics (first six months)

IndicatorValue
Requests served per day14,500 (average), 31,800 peak
Latency p500.42 s
Latency p951.8 s
Routing rate to DeepSeek34 %
Routing rate to Qwen66 %
Marginal cost per request€0.001 (amortization + energy)
Availability over six months99.97 % (one 2 h 30 outage on UPS)

Want to replicate this architecture?

Half-day scoping offered, on your use cases and your volumes.

Book a call

FAQ

Why two DGX Sparks instead of one?

To serve DeepSeek V4 Flash 284B (13B active) in FP4, which exceeds the memory of one unit (128 GB). The ConnectX-7 RDMA between the two Sparks forms a 256 GB unified domain, sufficient in NVFP4.

What maximal context in practice?

DeepSeek: 1 M tokens with sparse KV cache over 2 nodes. Qwen 3.8 27B mono-spark: 262,144 tokens (262 K) in FP8, which fit in the 128 GB of the Spark.

How long to production?

Six weeks from signature to the first validated query. Three weeks on hardware integration and the cluster, one week on the DeepSeek harness, two weeks on LiteLLM orchestration and the semantic router.

Total investment cost?

Three Sparks at €3,800 each, RDMA switch, UPS, racks and cabling: €14,800 hardware. Plus €6,800 of QDNA engineering, totalling €21,600 excluding energy and bandwidth.