Thomas Watson, founder of IBM, is oft misquoted as stating
that the world really only would need five computers. Ironically the
frequently used, erroneous quotation may come to true by the very
hands of the business Watson created.
IBM launched an Epic project with an almost unfathomable goal -- to develop a
single supercomputer capable of running the entire internet as a
web application. The project, codenamed Kittyhawk (detailed in a white paper by IBM) created quite the stir in internet technology
community.
While the software details descend quickly into the realm of the cerebral, one
number that jumps off the page is the estimate
for the number of cores and memory for the finished proposed system -- 67.1 million
cores with 32PB of memory.
The system is based on IBM's Blue Gene/P architecture, which takes millions of
cores and arranges them in a hierarchal architecture. At the lowest level
four 850 MHz Power PC cores run on a single chip, with built in memory
controllers and
interconnects. The next level up is the card, which contains 32 of these
quad core chips known as "nodes." Up a level, 16 cards
compose a midplane. A server rack has two midplanes, yielding a total of
1024 nodes, or 4096 processors. Each server rack has 2TB of memory to
play with. A maximum of 16,384 racks can be networked to yield the
finally staggering metrics. As each rack has an I/O bandwidth of 640Gb/s,
a "full" 67.1m core system would sport 10.4Pb/s of bandwidth.
The design is certainly not unproven technology -- IBM's Blue Gene
architectures own
4 of the top 10 spots of the list of fastest supercomputers on the planet,
including the top spot, which is
occupied by IBM's Blue Gene/L. IBM's Blue Gene/L architecture is the
successor to its P architecture. The Kittyhawk project, initially designed with the Blue Gene/P
architecture, will likely make the eventual switch to the more powerful and
efficient "L" architecture.
IBM argues that there are many advantages to using large SMP (symmetric
multi-processing) systems for internet hosting. Such systems beat
clusters in power efficiency and space requirements. However, clusters
beat SMPs in terms of pricing and availability, due to the ability to utilize
generic commercial hardware for much of the system. This had led
companies such as Sun
Microsystems, Amazon.com, Google and Microsoft to adopt cluster hosting
centers, which provide the companies with the ability to flexibly increase
their capacity as demand mandates.
While it acknowledges the benefits of clusters, IBM feels that by using its
proven, scalable Blue Gene architecture it can provide box solutions for web software
jobs which beat cluster solutions at their own game. IBM says that
by choosing Blue Gene, web customers would be able to obtain large savings due
to the more efficient infrastructure.
The company also points out that a fast-growing web company often has need for
bandwidth outpaced by demand. Their web hosts can only add so much
capacity at a time, due to the long validation and construction process needed
to expand clusters. IBM says its Blue Gene system is validated per rack,
so can be quickly deployed for increased capacity. Additionally, it points out
that clusters have relatively high failure rates, leading to loss in service or
need for backup systems, while its racks seldom fail.
IBM's current implementation is in a dead heat with current clusters, according
to the company. It can currently run most standard web applications,
including Linux, Apache, MySQL and Ruby on Rails. Its conclusions are
based on the SPECjbb2005 Java performance benchmark, which yielded an
impressive 9565 Business Operations per second (BOPS) for the current
implementation, and LAMP (Linux Apache MySQL Perl/Python) software benchmarks,
which yielded similar encouraging results. IBM's researchers feel that
this is only the start and that an optimized version will blow away
clusters. They stated in the paper, "We hypothesize that for a large
class of web-scale workloads the Blue Gene/P platform is an order of magnitude
more efficient to purchase and operate than the commodity clusters in use
today."
The current implementation makes use of a Linux microkernel, network-based
management, software appliances and a quasi-stateless approach to provide high
performance. Parallel processing optimizations both in software and
hardware, sophisticated error checking, and built in trackable administrative
tools are among the many weapons in the system's arsenal.
One criticism of the system is that it uses IBM's proprietary PowerPC
architecture. This leaves system implementers with the choice of either
programming in Linux for PowerPC, an unpopular choice, or being forced to used
to use relatively clumsy ports of Linux/x86 code at the cost of
performance. Despite the landmark idea, IBM still finds itself a bit
weighed down in its refusal to accept the worldwide dominance
of the x86 architecture.
While these issues and the hiccups of a brand new approach still need to be ironed
out, IBM stands to gain some significant customers in the web hosting world
with its attractive setup, even if it can't accomplish its Herculean goal of
the Kittyhawk.