Tuesday Dec 06, 2005

Turning the tables on Horizontal Scaling

While previewing the UltraSPARC T1 CMT processor to many customers I have been saying that it turns the tables on horizontal scaling, and here I am to expand on what was just a bullet in my slides through this and other CMT related musings.

We hear about Google indexing and search server farms as the ultimate in horizontal scaling, 5000, 6000, 10000 servers. Every time I hear about Google the number goes up. Not the stock, the number of servers in the farm. I also remember Subodh stating that whatever can be horizontally scaled, will. Essentially the wisdom of Horizontal Scaling is to realize that the cost per processor tends to be higher in large SMP systems than uni or dual processor systems. If the application (or the workload) is amenable to separation as loosely coupled networked processing, then the Horizontal Scaling (a.k.a. scale out) architecture is appealing based on cost, and service availability metrics.

We all know that web facing workloads are horizontally scalable by virtualizing the service IP address through a load balancer box, or using Round Robin DNS. Wireless telephony servers also tend to use scaling out for most network elements, generally with a clustering or HA layer instead of the simplistic intercepting load balancer used for IP networks. Sunray servers are hybrid species, they are deployed horizontally as groups of servers, but users also want fast Sunray sessions on fast SMPs. This point is proven by my colleague Jochen, who has mastered the art of manual load balancing, that is, repeatedly sliding a Javacard until you get the fastest Sunray server in the building.

Does Subodh's prediction mean that the world is inexorably converging on server farms or clusters? Does it mean that commoditized generic 1P/2P whiteboxes will underpin our Internet and telephone networks? Not if we realize that there is one act left to Horizontal Scaling, that is, scaling processors inside a chip rather than scaling them out across the sheetmetal of discrete servers. CMT is exactly that, turning the tables on Horizontal Scaling by keeping the cost and availability benefits, but throwing out its drawbacks. And one of the drawbacks of the scale out model is the theme that got my blogging started: Memory.

Next time somebody tells you about the Google server farm, forget the number of servers they claim by then, just visualize the number of memory DIMMs, imagine them all lined up and warm just in case you want to search something at that very moment. Now ask yourselves, is there a way of getting the computation to scale horizontally without having to spread all these memory DIMMs all over the place? CMT is exactly that, distributing computation while consolidating the system memory. Need a shorter description of that? How about Horizontal Micro-scaling . You heard it first in my blog.

Now I'll stop and wait for a comment or two before I go on. And the one comment I need is: But, ain't memory cheap anyways?



[ Technorati: NiagaraCMT, ]

digg del.icio.us
Comments:

Q: But, isn't memory cheap anyway? A: Not if you buy it from Sun.

Posted by shadow on December 08, 2005 at 03:25 AM PST #

Thanks Shadow for the lead. Sun buys memory from memory manufacturers, not from Sun. My question stands.

Posted by Ariel Hendel on December 09, 2005 at 10:27 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed