Wednesday, February 8, 2012

Ready to take on Google?

Suppose you are budding Caltech Computer Science undergraduate (I know it farfetched, but stay with me). You’ve been cruising along in CS 144, killing every set, and casually parading your Rankmaniac image up the Google page ranks. Though through this whole Rankmaniac process, you’ve become privy to the fact that Google just doesn’t do search right (If it did then YOUR image would be ranked number 1, right?).  So, you and your fellow Rankmaniac buddies get together and start your own search engine. After trivially writing thousands upon thousands of lines of code (I mean seriously if Brin and Page can do, can’t anyone?), you are ready to give your search engine a go and finally show Google who is the new king of search. And so run your code…

And wait…

And wait…

And wait…

And wait some more…

And wait…

It seems like your MacBook Pro just isn’t quite going to cut it (mine is running at a gaudy 4 gigaFLOPS).  Surprisingly, despite your immaculate code, it seems that Google still has the slight upper hand. As of 2008, Google had 500,000 servers in their distributed computing system each with approximately 160gigaFLOPS for a trifling total of 80 petaFLOPS (hey that’s only 20000000 times faster than my computer!). This means that something that takes Google 1 hour to compute will only take your computer 2283 years to compute!

For those of you who are numerically inclined, here is all you have to do to catch Google (assume for this exercise a laptop running with nothing else runs at 20gigaFLOPS, costs $1000, and has volume 120 in3):
  1.  Buy 4000000 computers ($4,000,000,000)
  2. Find space for them (280,000 ft3)
  3. Wire them together
  4. Compile!



Stick in there big guy, you’ll get there eventually.

Links:

1 comment: