Why SQM Doesn’t Scale (And Why Datacenters Don’t Use It)

Why SQM Doesn’t Scale (And Why Datacenters Don’t Use It)

SQM (Smart Queue Management) is one of the best things that happened to home networking.

Enable CAKE or fq_codel, and suddenly:

  • latency drops
  • bufferbloat disappears
  • the network feels “fast” again

So naturally, the question becomes:

Why don’t datacenters use it?

The answer is simple — and uncomfortable:

Because it doesn’t scale.

Why SQM Works So Well at Home

SQM solves a very specific problem:

too many flows competing for a slow link.

It works by:

  • classifying flows
  • ensuring fairness
  • actively managing queues

On a 100 Mbps or even 1 Gbps link, this is manageable.

A modest CPU can:

  • inspect packets
  • maintain per-flow state
  • schedule traffic intelligently

And the results are excellent.

What Changes at Scale

Now move to a datacenter:

  • 25 Gbps
  • 100 Gbps
  • 400 Gbps

At these speeds:

  • packets arrive every few nanoseconds
  • flow counts explode
  • memory bandwidth becomes critical

A CPU cannot:

  • track every flow
  • apply per-packet decisions
  • maintain fairness in software

The model breaks down.

Why Hardware Wins

Datacenters don’t try to replicate SQM.

Instead, they use:

  • hardware queues
  • traffic classes
  • simple schedulers (WRR, strict priority)

This approach is:

  • less precise
  • but massively scalable

And crucially:

it runs at line rate.

The Hidden Cost of “Smart” Queues

SQM is powerful because it is:

  • stateful
  • adaptive
  • per-flow aware

But each of those has a cost:

  • CPU cycles
  • memory access
  • cache pressure

At small scale, this is fine.

At large scale, it becomes impossible.

This Isn’t Just a Datacenter Problem

The same issue appears on small routers.

Older or low-power SoCs:

  • single-core or low-frequency CPUs
  • limited memory bandwidth

When you enable SQM on these devices:

  • CPU becomes the bottleneck
  • throughput drops
  • latency improves — but at a cost

This is the same trade-off, just at a smaller scale.

The Alternative: Simpler, Aligned Systems

Instead of relying on complex software scheduling, modern designs favor:

  • hardware QoS (CoS queues)
  • DSCP-based classification
  • end-to-end alignment (NIC, switch, Wi-Fi)

This is less flexible than SQM.

But it is:

  • predictable
  • efficient
  • scalable

Where This Fits In Modern Routers

As we’ve seen:

  • flow offload bypasses SQM
  • hardware queues still work
  • DSCP alignment becomes critical

This leads to a different philosophy:

don’t fight the hardware — use it.

Conclusion

SQM is not wrong.

It is just designed for a different scale.

At home, it solves real problems elegantly.

At datacenter scale — or even on small CPUs — it becomes too expensive.

That’s why large networks rely on:

  • simple classification
  • hardware scheduling
  • consistent prioritization

Not because they are less advanced.

But because they scale.

Leave a Reply

Your email address will not be published. Required fields are marked *