Scale-up and Scale-out


As I listen to server manufacturers these days the choice seems to come down to "scale-up" or "scale-out." The former meaning that you can get more processing power by adding more processors in the same server (symmetric multi-processing, or SMP). The latter technique increases processing power by coding the application to run across lots of 1U dual-processor "pizza-box" servers. Blades are a variation on that same theme.

Each of these has it's place. SMP is particularly effective when the application has a monolithic architecture and requests for service aren't always independent. Databases are a good example of the kind of application that people run on big SMP boxes because of cache coherency and other issues. Multiple, independent servers makes sense when the application can be split multiple independent tasks. Web servers are a good example of applications that people run "scaled-out."

Some recent developments in the world of processors could portend changes to the conventional wisdom surrounding these two ways of scaling.

Intel and AMD support up to 4-way SMP and no more. You can buy 8-way, 16-way, and 32-way SMP machines, but this is accomplished at considerable expense and engineering expertise. I think we're close to seeing the last of the 8-socket servers. Only IBM and Unisys sill make Intel-based 8-way systems. Currently, 8-way and higher SMP servers represent less than 1% of the Intel-based server market and that's likely to go down. Here's why:
From Scale-up and scale-out | Between the Lines | ZDNet.com
Referenced Mon Sep 26 2005 08:19:27 GMT-0600 (MDT)

I was in Austin visiting Dell last week. This article is a reflection of thoughts I had while I was there and at IBM a few weeks before that. There used to be a time when I cared deeply about processors because I was always searching for a little more power. Now, I'm basically to the point where I don't care. The switch by Apple from PowerPC to Intel didn't even register. Still, as this article shows, there are some long term trends that are going to create some significant changes in how we use servers and how we program them.