Thesis: SMP is a failure for most Internet servers

July 17, 2006

I used to be a big proponent of getting SMP PClone servers instead of uniprocessor ones. Nowadays, though, I'm not so sure, and I now actively tilt towards UP machines.

The advantage of SMP over UP is more CPU capacity and to some extent larger caches (if the OS scheduling works out right). But Internet-facing servers are rarely hurting for more CPU; often you really want more IO and maybe more memory.

(This assumes that the server is not grotesquely overconfigured to start with, which happens more than I'd like to think, especially because vendors rarely sell low-powered servers.)

And the downside of another CPU these days is not just in the extra cost. The CPU is one of the largest sources of heat (and consumer of power) in modern servers, which is now an issue of serious concern in many data centers.

The one wart I can see in this is widespread use of SSL and other cryptography, since that can eat a bunch of CPU. On the other hand, experimentation suggests that a two year old uniprocessor can do straightforward bulk transfers at 100 mbits/sec while using less than half the CPU. (Admittedly, bulk transfers are only half the story, as I believe that doing the SSL handshake eats more CPU than a stream cypher.)

A theoretical advantage of SMP is that the OS can drop currently unneeded CPUs into low power modes or turn them off entirely. But for this to really work out you need the CPUs you're using to draw less power than a normal UP machine's CPU, so that you're saving over just having a plain UP machine to start with, and my impression is that no one sells PC machines with low power consuming SMP CPUs.

(In general SMP capable CPUs always seem to be at the high end of Intel and AMD's product ranges, with the power consumption that goes with that.)

Written on 17 July 2006.
« Weekly spam summary on July 15th, 2006
Why you can't mix wildcard IP port binding with other bindings »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Mon Jul 17 01:27:21 2006
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.