The major flaw of the cloud, and ironically its touted strength, is its inability to scale up. For example, the promise of cloud providers is that you can start out with a 512MB nodes and scale up however much you want! The sky is the limit they say! Oh, but no more than 16GB of RAM on the same node! Truth be told, you're going to hit bottlenecks way before you start using that much memory. Something is going to saturate whether it's the IO subsystem, CPU, network IO, or the bus. And that's probably the main reason for putting a cap at 16GB. It's balanced and fair. But what if one needs 72GB of RAM on one node without having to worry about hitting IO / CPU bottlenecks? What to do? You'd be out luck!
You can scale out by allocating new nodes on other blades and load balancing the application across. This is when one needs to dig in the cloud, get down and dirty. You'd have to worry about provisioning scripts, data replication, sync, etc. So the answer is no, you can't scale up with IO / CPU / and RAM on the same blade!
This is where NUMA comes in. It stands for non-uniform memory access. This is what I believe the next cloud will be based on. Imagine hundreds of stacked blades connected with very high speed IO and memory buses. Each server has 16GB of RAM. Process 108796 on server103 already consuming 132GB RAM needs an additional 30GB to run, server105 (closest and less costly in terms of bus access) responds and delivers! IO is scalable since each blade has its own IO chip. So IOPS can scale up not down, as is the case today.
The good news is that the Nehalem architecture is the first NUMA capable Intel CPU. Perhaps paving the way for NUMA across blades. Linux has had NUMA code for ages. The next vendor to turn a bunch of Linux blades into a scalable super computer for hosting will take it all home. I think motherboard vendors and Intel will have to coordinate to come up with a bus that connects the blades' fabric.
A Silicon-Valley startup makes a solution for AMD processors that joins NUMA nodes over infiniband. 3LeafSystems offers a hardware and software solution that allows you to join up to 16 nodes to create a single system with 128 cores and 1TB of memory. The company recently set a world record for SPECjbb on x86, achieving 5,534,233 Business Operations per Second, more than twice the previous record of 2,150,260 BOPS set by NEC. I would post links to the company and the results, but this board has ridiculous rules about post counts to access those "features".
well, hopefully they will get this ready soon and at affordable prices. Right now the "cloud" word is mostly a marketing thing and will probably disappear in a year or so.
Most offer 16GB (15,something infact) since their nodes do not hold more than 16 GB of ram and they keep a few hundred MB for Xen, that's all.
█ IntoDNS - Check your DNS health and configuration
█ FLEIO - OpenStack billing and control panel for service providers
It depends on what industry you're talking about. For budget vps's unlimited scalability is obviously a farce, but with enterprise solutions like citrix xenapp for application virtualization the claims are more substantiated, and, too, significantly diverge from traditional techniques like load balancing.
A 'cloud' is a misnomer I think. Grid, distributed, computing etc has been around for a long time. All you need is an application and money to fund it AMD have had NUMA since the Opteron (that's why it was so successful and even able to compete with Core2 in the 2+ socket space)! And big business have been building systems with a gajillion cores and high-speed proprietary interconnects in rings, cubes, or hybercubes!
So whats changed? Evolutionary improvements I guess..
Communication is still *the* bottleneck [especially when you want to go out of the motherboard] and writing applications that can make use of such "scalability" is still the challenge [assume you are going to scale *across* nodes]... IMHO
Although that 3LeafSystem does look interesting.. I have read about a lot of promising upcoming 'solutions' in my time so please excuse the skeptic in me it appears to be like a virtual machine implementing a shared memory abstraction layer for big software? Have I read it right? Will be keen to see how it performs across a variety of workloads.
As RavC says, grid/distributed/parallel computing isn't a new concept... Scientific applications, mathematical applications run really well on this type of setup.
From a hosting perspective, the key is finding a way to harness the aggregation of all of those computer resources for web hosting type applications. The problem is, a "standard" hosting application doesn't tend scale in the same sense naturally, hence you find you need the added complication of database clustering, load balancing etc.
Darren Lingham - UK Webhosting Ltd. - (0800) 024 2931 Tsohost.co.uk - Quality UK Windows and Linux hosting since 2003 UK WordPress Hosting - Fast, easy, cloud based WordPress Hosting