sgl-project / sgl-project/SpecForge

[Question] Disaggregated training (producer:consumer 1:7) ~3.2x slower than DP for Qwen3.6-35B-A3B — expected?

Open
#718 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.2k
Forks
346
Avg merge
4d 1h
Merged PRs (30d)
41

Description

Checklist
Motivation

I'm training a draft model for Qwen3.6-35B-A3B using SpecForge and observing a significant wall-clock time difference between the disaggregated topology and the original DP (data-parallel) approach. I'd like to understand whether this gap is expected, and if there are recommended tuning strategies.

Setup
Item Value
Target model Qwen3.6-35B-A3B
Dataset size ~1.3M samples
Epochs 6
Training method DFlash (disaggregated, online)
Producer : Consumer ratio 1 : 7 (still experimenting with other ratios)
Hardware 8× GPU single node
Observation
Method Estimated total time
Original DP (colocated) ~45 hours
Disaggregated (producer:consumer = 1:7) ~6 days (~144 hours)

The disaggregated approach is roughly 3.2× slower in wall-clock time compared to the original DP method for the same dataset and epoch count.

Questions
  1. Is this magnitude of slowdown expected for the disaggregated topology on a single node with a 1:7 producer-to-consumer ratio?
  2. What are the primary bottlenecks — is it the feature capture throughput on the producer side, the Mooncake transfer overhead, or consumer-side waiting/starvation?
  3. Are there recommended producer:consumer ratios or runtime tuning knobs (e.g., producer_lease, in_flight_high_watermark, in_flight_low_watermark) that can significantly close this gap?
  4. Would using multiple capture servers (repeating server_urls) or offline pre-captured features be the recommended path for this model size?
  5. Any known scaling behavior or best-practice configs for Qwen3.6-35B-A3B disaggregated training?
Additional context
  • I'm still experimenting with different producer:consumer ratios; 1:7 is the current setting.
  • The DP baseline uses the same hardware and dataset, just with the colocated target-inference + trainer approach.
  • Happy to provide logs, throughput stats, or config YAML if helpful.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files or tests are named. Start by reviewing the disaggregated training configuration and runtime settings mentioned in the issue, then compare producer throughput, Mooncake transfer overhead, and consumer waiting using logs, throughput stats, and config YAML; done means establishing whether the slowdown is expected and documenting validated ratios or tuning guidance.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
distributed-systems, machine-learning, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.