@MichaelGannotti: https://x.com/MichaelGannotti/status/2084186867000279436

X AI KOLs Following News

Summary

A 14.7-hour soak test of DeepSeek V4 Flash on an NVIDIA DGX Spark with 971 requests shows zero crashes or errors, but throughput declined 28% due to thermal throttling, while TTFT and speculative acceptance remained stable.

https://t.co/B5dxYXY3sO
Original Article
View Cached Full Text

Cached at: 08/03/26, 05:49 PM

14.7 Hours, 971 Requests, Zero Crashes: DeepSeek V4 Flash Soak Test on the DGX Spark

We ran the ds4 inference server on the @NVIDIA DGX Spark for 14.7 hours under sustained mixed load — 971 requests alternating between reasoning, coding, math, tool calling, creative writing, and logic. Zero errors, zero crashes, zero memory leaks. But throughput declined 28% over the run, revealing a thermal pattern. Here is the full analysis.

The question

We deployed DeepSeek V4 Flash on the DGX Spark (post 1), tuned it for concurrency (post 2), proved it matches cloud quality (post 3), and watched it build Centipede from a single prompt (post 4). But all of those were short-duration tests — one request at a time, minutes apart, with cooldowns between benchmark categories.

The question that matters for production: what happens when the server runs for hours under sustained load?

Does memory leak? Does throughput degrade? Does the GPU thermal throttle? Does speculative decode break down? Do tool calls stop working? Does the process crash?

This post answers that with data from a 14.7-hour soak test: 971 requests, 220,187 tokens generated, zero errors.

The test

We wrote a soak test script that sends one request every ~30 seconds, cycling through 8 prompt types:

  • Reasoning — “If a train travels 80 km in 40 minutes, what is its speed in km/h?”

  • Coding — “Write a Python one-liner to flatten a nested list.”

  • Math — “What is 23 × 47? Show your work.”

  • Knowledge — “What is the capital of Brazil?”

  • Instruction — “List 5 programming languages. One per line.”

  • Tool — “What’s the weather in London? Use the tool.”

  • Creative — “Write a 3-sentence sci-fi story about a robot.”

  • Logic — “All birds can fly. Penguins are birds. Can penguins fly?”

Each request logs: iteration number, timestamp, completion tokens, wall time, throughput (tok/s), TTFT (ms), speculative acceptance rate, and finish reason. The script ran from 10:56 AM on August 2 until 1:37 AM on August 3 — 14 hours and 41 minutes.

The full soak test log is in the Nemo Knowledge Base.

Results

Headline metrics

MetricValueTotal iterations971Duration14.7 hoursErrors0Crashes0Total tokens generated220,187Request rate~66 requests/hourMemory (RSS)3.04 GB (stable, no growth)Server still running at end✅

Finish reason breakdown

Finish reasonCountPercentagestop (natural completion)72975.1%length (hit max_tokens)12112.5%tool_calls (successful tool call)12112.5%

Every tool-calling iteration (every 8th request, 121 total) produced a successful tool_calls finish reason. 100% tool calling success rate over 14.7 hours. The length finishes are all from the coding prompt (800 max_tokens), which the model sometimes fills completely.

Throughput over time — the key finding

**HourAvg tok/sMin tok/sMax tok/sAvg TTFT (ms)Avg Spec %**011.28.019.549571.3110.78.014.347777.8210.68.018.446376.0310.37.516.947676.149.91.814.546877.259.23.212.366575.869.36.612.747477.279.16.417.547375.789.15.617.146577.798.96.417.846275.2108.46.511.446177.0118.25.910.245977.8128.35.917.048876.4138.24.517.645775.0147.86.311.447374.6

Throughput declined from 11.2 to 7.8 tok/s — a 27.9% decrease over 14.7 hours. This is the most significant finding in the soak test. The decline is gradual (not a sudden drop) and consistent (not random). TTFT and spec acceptance are flat — only throughput degrades.

First 50 vs last 50 comparison

MetricFirst 50 requestsLast 50 requestsChangeAvg throughput10.8 tok/s7.8 tok/s−27.9%Avg TTFT500 ms470 ms−5.9% (improved)Avg spec acceptance71.3%74.5%+4.5%

TTFT actually improved slightly (5.9% faster) and spec acceptance is unchanged. Only decode throughput declined. This pattern — stable TTFT, declining decode — is consistent with thermal throttling on the GB10 chip. The prefill phase (which determines TTFT) is bursty and short; the decode phase (which determines throughput) is sustained and heat-generating. As the chip temperature rises over hours of continuous load, the GPU clock may be stepping down to maintain thermal limits.

Spec acceptance by prompt type — stable across 14.7 hours

Prompt typeCountAvg spec acceptAvg tok/sAvg TTFTTool calls12191.4%8.81,040 msReasoning12283.8%10.0438 msMath12283.5%10.8422 msKnowledge12176.2%7.8366 msInstruction12175.8%8.8395 msLogic12170.7%10.2418 msCoding12269.7%9.4412 msCreative12157.5%8.9385 ms

DSpark speculative decode held its acceptance pattern throughout the test. Tool calls consistently get the highest acceptance (91.4%) — the drafter model is good at predicting the structured format of a tool call. Creative writing gets the lowest (57.5%) — the drafter can’t predict creative continuations as well. This matches the pattern from our earlier benchmarks. The speculative decode system is stable over 14.7 hours.

Outliers — the 10 slowest requests

IterationTypetok/sTTFT (ms)Spec %Tokens321reasoning1.842384.5%112366tool3.214,5470.0%62909instruction4.529668.8%37540knowledge5.638771.6%107900knowledge5.737975.9%89903creative5.738659.9%500924knowledge5.832377.4%95756knowledge5.940769.2%118844knowledge5.937777.6%87383creative6.031957.7%84

Two notable outliers:

  • Iteration 321 (1.8 tok/s) — a reasoning prompt that took 61 seconds for 112 tokens. The next iteration recovered to normal speed. Likely a momentary thermal spike or GPU contention from background processes.

  • Iteration 366 (3.2 tok/s, 14.5s TTFT, 0% spec acceptance) — a tool-calling request with a 14.5-second TTFT and zero speculative acceptance. This is the most anomalous data point in the entire test. The 0% spec acceptance suggests the DSpark drafter model failed to initialize for this request, and the 14.5-second TTFT suggests the server was under memory pressure. But the request still completed successfully (finish=tool_calls) — it just took longer. The next iteration recovered completely.

Both outliers recovered immediately. Neither caused a cascade or lasting degradation. In 971 requests, only 2 showed significant anomalies — a 99.8% normal-operation rate.

Server process health

MetricStart of testEnd of testChangeRSS memory—3.04 GBStable (no growth)CPU usage—39.4%NormalServer responding✅✅No interruptionSpark uptime14 days15 daysNo reboot

No memory leak. RSS was 3.59 GB at the 4.8-hour mark and 3.04 GB at the 14.7-hour mark — it actually decreased slightly, which is normal for a process that has settled into its working set. The process did not grow over time.

Analysis

What the soak test proved

  • The server doesn’t crash. 971 requests over 14.7 hours, zero crashes, zero errors, zero process restarts. The ds4 engine is stable.

  • No memory leaks. RSS memory was stable at ~3 GB throughout. The process’s working set didn’t grow. The KV cache management is sound — 64K context with max_seq=11, cycling through requests, didn’t accumulate memory.

  • Tool calling is 100% reliable. All 121 tool-calling iterations produced correct tool_calls finish reasons. The tool-calling parser in ds4 didn’t break, degrade, or produce malformed responses over 14.7 hours.

  • Speculative decode is stable. DSpark acceptance rates held their pattern throughout — 91% on tools, 84% on reasoning, 58% on creative. The drafter model didn’t drift or fail over time.

  • TTFT is consistent. Time to first token didn’t increase over the test — it actually improved slightly (500 → 470 ms average). Prefill performance is not affected by sustained load.

What the soak test revealed

  • Throughput degrades ~28% over 14.7 hours. This is the most operationally significant finding. Decode throughput declined from 11.2 to 7.8 tok/s — a gradual, consistent decrease. The pattern (stable TTFT + declining decode) points to thermal throttling: the GB10 chip’s clock stepping down under sustained heat. The DGX Spark’s cooling system can dissipate bursty workloads but not continuous 14-hour inference at 93% GPU utilization.

  • Two anomalies in 971 requests. Iterations 321 and 366 showed significant throughput dips (1.8 and 3.2 tok/s) but recovered immediately. The 0% spec acceptance on iteration 366 suggests the drafter briefly failed to load — possibly a memory pressure event. The system self-corrected within one request cycle.

  • The degradation is recoverable. The throughput decline is gradual, not a cliff. The server never stopped responding. If thermal throttling is the cause, the throughput should recover when the chip cools — which means the degradation is temporary, not permanent. This needs verification with a cooldown test.

What this means for production

For interactive agent workloads (Hermes): The throughput decline is less relevant. Agent loops are bursty — a few requests, then idle while the agent processes the response. The GB10 has time to cool between bursts. The 28% decline was measured under continuous 30-second-interval load for 14.7 hours, which is far more aggressive than any real agent workload.

For batch workloads (document processing, evaluation harnesses): The throughput decline matters. If you’re running a 4-hour batch job, expect throughput to drop ~15-20% by the end. Plan for it in your time estimates. Alternatively, schedule batch jobs in shorter segments with cooldown periods.

For 24/7 serving: The server is stable enough — it won’t crash — but throughput will settle at ~7-8 tok/s after several hours. This is still usable for most workloads. If you need sustained peak throughput, you’d need active cooling or a rest cycle.

The complete DeepSeek V4 Flash series

This is the fifth and final post in the DeepSeek V4 Flash on DGX Spark series:

  • Deployment — 685B MoE model on a desktop GPU with DwarfStar 4

  • Tuning — Cutting context 4× to gain 5.5× concurrency

  • Showdown — Local matches cloud on quality (8/8, 3/3, 4/5)

  • Centipede — One prompt, 390 lines, zero bugs

  • Soak test — This post

The series covers the full lifecycle: deploy, tune, benchmark, build, and soak. Every number is measured. Every claim is backed by real data in the Nemo Knowledge Base.

Verification notes

  • Soak test script: ds4-soak.py, available in NemoKnowledgebase

  • Full log: 1,072-line log file with per-request metrics for all 971 iterations

  • Server state: verified at start, 4.8-hour mark, and end — all healthy

  • Hardware: NVIDIA DGX Spark (GB10/SM121, 128GB UMA), 15 days uptime at test end

  • Software: ds4 v0.5.2, 64K context, DSpark speculative decode, FP8/FP4 KV cache

  • All throughput/TTFT/spec numbers: from the timings field in ds4-server’s API responses, not estimated

  • Memory: RSS from ps aux at check-in points, not continuously monitored (a limitation — next soak should include continuous RSS logging)

What’s next

The DeepSeek V4 Flash evaluation is complete. The model is deployed, tuned, benchmarked, proven in a real build task, and now soak-tested for stability. The DGX Spark is running it at production quality as a non-primary provider in Hermes.

Next steps for SMF Works:

  • Cooldown test — let the server idle for 1 hour, then re-measure throughput to confirm the thermal decline is recoverable

  • Active cooling experiment — test whether a small fan or improved airflow reduces the thermal throttle

  • Real Hermes agent load — replace the synthetic soak test with actual agent loops and measure real-world performance

  • 32K context test — if we need more than 11 concurrent sequences, test at 32K context

The Forge is solid. The data is published. The model works.

Similar Articles

Deepseek V4 flash performance on DGX Spark

Reddit r/LocalLLaMA

A Reddit user shares their experience running DeepSeek V4 Flash on a dual-ASUS GX10 DGX Spark setup, detailing performance metrics, configuration, and power consumption, with throughput benchmarks across various context lengths.