Cloud computing represents the latest in a series of concessions to the limits of scaling computer performance. Multi-threading, multi-cores, multi-processor, and now multi-server solutions arise as compromises in the search for ever more powerful compute platforms. Multi-anything represents a compromise, because it forces partitioning compute tasks. Decomposing compute tasks to take advantage of parallelism is not always possible and always adds cost. The preferred way forward remains scaling single threaded compute capacity.
Operating systems and software tend to take a long time to catch up with each subsequent generation of hardware parallelism. Cloud computing will not represent an exception to the rule. Anyone embracing cloud computing as the means to obtain mainframe like functionality from a collection of commodity servers will be disappointed. Realizing the promise of cloud computing requires purpose built servers, reducing their number by incorporating ever more powerful processors, and the adoption of, as yet, unknown cloud specific server performance benchmarks.
Virtualization asserts a degree of server to server communication and disk I/O intensity that makes existing server architectures entirely unsuitable. The lowly mainframe represents a more useful reference point. The “modern” mainframes incorporate low cost commodity components by opening multiple communication and disk I/O channels. Cloud server architectures will need implement some form of the same model.
The present dynamic differs from the 1980′s embrace of “personal computers” over mainframe computing. PC’s represent the preferred solution for distributing compute capacity to different users. Aggregating PC’s into a “cloud” produces a suboptimal solution for tasks requiring large scale compute resources. Virtualization represents mere bandaid pending the more powerful compute platforms.
In the mean time, the cloud ecosystem needs to explore alternative architectures and do a better job tracking progress with cloud specific benchmarks. The present virtualization offers fall far short of the price performance improvements necessary to break the grip of server huggers. Dual Intel 5410′s generate a GeekBench result of 6000 in standalone mode (see http://browse.geekbench.ca/). The Geekbench score for the Amazon EC2 High Compute instance (which uses dual Intel 5410′s) comes in at 5000. As is obvious on the CloudPriceCalculator ranking, Amazon EC2 charges a significant premium for this 20% loss of compute capacity.