Friday, October 22, 2010

Supercomputing didn't happen

I was fortunate enough to attend Bill Gate's back yard barbecue twice.  In the summers of 2003 and 2004 I interned at Microsoft, definitely two of the best summers of my life, and each time some interns were treated to meeting Bill Gates for dinner on his home turf.  What fantastic evenings - I don't remember the food but the unlimited free beer and ice cream sandwiches were just awesome.  Even the bathroom was amazing, the paper towels used to dry your hands after washing were like real towels, super thick and yet super soft.

Bill would arrive fashionably late on his back lawn that touches Lake Washington, just when the sun was setting but so bright you had to almost close your eyes to squint hard enough to see when looking west.  A crowd of 50+ interns would immediately surround him at very close proximity and at that point he would answer questions for about an hour and a half and then security would usher us out and back home.  Nobody wanted to leave Bill, he really has an electric personality in personal settings.  I think he wanted to inspire us interns, and he did.

I have some experience getting to the front of crowds, having practiced getting to the stage at Tool and Rage Against the Machine concerts - and I was able to in this case too, but there were always certain interns with more hubris, who would ask questions quicker and louder than me.  I was able to interject a couple times, and one of my questions pertained to supercomputing and what he thought about it.

He said "Supercomputing didn't happen, it never happened, ask anybody.  The only company that even tried is right over there [points across Lake Washington, referring to Cray Inc.] and they have only barely survived." (not a word for word quote)

I like people who get to the point and don't give wishy washy answers (who doesn't?), and I liked his statements.  Bill was definitely right from certain perspectives, and in that historical context, but today the destiny of PCs and supercomputers are deeply intertwined.  In the modern context, most of supercomputing is the collection of networked personal computers, personal computers that he invented.  Many supercomputers are built around hardware acceleration on graphics cards that originated in, and can't run without, the PC; and a standard way to build a supercomputer is by extending PC clusters with accelerator cards like Nvidia's Fermi or IBM's CELL PCI Express cards.  The dependency between supercomputing and the PC is not a one-way street either.  PCs owe many of their features to supercomputers like multi-core processing, 64-bit addressing, and SIMD instructions.  Only a fraction of the performance of modern desktop PCs would be possible without parallel programming techniques previously used only for supercomputers, like MPI and OpenMP.

Besides the insight Bill bestowed upon the crowd of interns, he also gave us great stories that we can tell and retell, anytime there is an excuse, to anyone who will listen.. blog readers not exempted!  :-D

No comments:

Post a Comment