Any serious production servers yet?
Matthew Dillon
dillon at apollo.backplane.com
Tue May 30 12:09:41 PDT 2006
Er. Well, if I were talking about today I would be talking about today.
I'm talking about the near-future, 2-3 years from now. It would be the
height of stupidity to have programming goals that only satisfy the
needs of today.
In 2-3 years single-core cpus will be relegated to niche status. You
won't be able *BUY* Intel or AMD single-core's at all for general purpose
computers. It won't matter a bit whether the average consumer is able
use the extra computing power, it will be there anyway because it doesn't
cost Intel or AMD any more to build it verses building single-core cpu's,
it doesn't eat any more power either (in fact, it eats less, for more
aggregate computing power). So regardless of what you believe the
future is quite clearly going to become permanently multi-core.
In anycase, it's a mistake to assume that the extra computing power
is wasted just because you can't think of anything that can use it
right now. That mentality is what caused Bill Gates to make the statement
that no computer would ever need more then 640KB of memory.
There are plenty of applications both existing and on the horizon that
would be easily be able to use the additional computing power. Even on a
fast machine today SSH can still only encrypt at a 25-40MB/sec rate.
Filesystems such as ZFS are far more computationally expensive then
what we use today, but what you get for that price is an unbelievable
level of stability and redundancy. Photo-processing? It takes my
fastest box 4 hours to run through the fixups for one trip's worth of
photos. Since that workload is primarily userland, it only takes
2 hours on my dual-core box. Encryption, Graphics, Photo-processing,
Database operations.
What else? Interpreted languages are a big deal these days. Java is
still ridiculously slow compared a direct-coded program even on the
fastest cpu. How about virtualization? With the fast external links
becoming available (for example, AMD's externalized Hypertransport
bus) it is far more economical to have a pure-computing box and use
virtualization to split it up into many virtualized machines. I know
people that don't HAVE separate windoz boxes anymore, or even multi-boot
systems any more. They run all the OS's they need on one system,
simultaniously, using VMWARE.
So I am not stuck in the 'I don't need that much computing power' box.
I *DO* need that much computing power. If it means I don't have to
worry about losing my life's work from a disk failure, or it means I
can have the 3-D desktop I've always dreamed about, or if it means
I can run 20 parallel ssh links for backups, and a myrid of other
reasons. If it means a machine room can have fewer boxes in it (with
the reduced cooling requirements), or a print preprocessor (another
primarily user-level cpu hog) can shove a document out twice as fast,
or even if it just means that a 10 year old kid can play his favorite
MMPORG at 60 frames a second on the cheap. Make no mistake, there are
a billion things that the computing power can be used for.
-Matt
More information about the Users
mailing list