Sparks Have a New Home
April 5, 2026
The two DGX Sparks — spark1 and spark2 — are now racked, labeled, and connected via a 400Gbps LACP bond. After weeks sitting on a shelf getting incrementally wired into software, they finally look like infrastructure.
The Setup
Both units are running Ubuntu on the DGX platform. The networking config uses netplan with a bonded
interface (bond0) across two QSFP56 ports — enp1s0f0np0 and
enp1s0f1np1 — in 802.3ad LACP mode with layer3+4 hashing.
That gives full 400Gbps aggregate throughput for inter-Spark transfers and proper failover if a cable
goes down.
The direct link IPs are 10.0.0.1 (spark1) and 10.0.0.2 (spark2),
MTU 9000 (jumbo frames). Ping between them: sub-millisecond, 0% packet loss.
A Short Story About Not Reading Carefully
Each QSFP56 port on these machines runs at 100GbE. With two ports bonded, you get 200Gbps per machine — or 400Gbps total throughput on a direct link between the two Sparks.
I ordered two 400GbE QSFP-DD cables.
Those cables are physically incompatible with the QSFP56 ports on the DGX Sparks. They are now sitting in a drawer as very expensive 400GbE souvenirs.
The actual cables doing the work — the ones in the photo — are standard QSFP56 DAC cables rated for 200GbE each. One was a spare I had on hand. The other came with a saner order placed after I re-read the spec sheet.
The lesson: when a spec sheet says "200GbE per port," that's the number you shop for. Not the aggregate. Not what you wish it said. Read the label, then buy the cable.
What's Running On Them
As of today, the workloads are split:
- spark1 — Gemma 4 26B via vLLM (:8002), Ollama with qwen2.5:32b (:11434). Handles most inference crons and background synthesis tasks.
- spark2 — Orpheus TTS (:8766 + :5006 streaming), FasterQwenTTS xvec clone (:8765), and the MiloBridge voice proxy backend. It's the voice machine.
The 400Gbps bond matters for anything that moves model weights or large audio buffers between them. Right now that's mostly the voice pipeline — audio chunks stream from spark1 inference to spark2 TTS across that direct link without touching the main LAN switch.
Next
The MiloBridge iOS app is running end-to-end — STT → Haiku → TTS → AirPods — with first-audio latency around 1.5 seconds on warm calls. The next pieces are VAD (so you don't have to hold a button) and a custom voice trained on a real voice corpus. More on both soon.
For now: the Sparks have a home. The rack looks good. Two 400GbE cables did not get used. Everything else is working.