Monday, November 12, 2007

Parallel Computing and Cognitive Fitness

I just finished reading the article "Cognitive Fitness" in the November 2007 issue of Harvard Business Review. The article covers new research in neuroscience about staying sharp and exercising your brain. One of the items you often find in these articles and research is to learn something completely new and/or something you don't normally deal with.

After reading this article I went back to surfing the web.....and came across some information on parallel computing. Perfect! This is something that I've always considered out of my realm of comprehension, yet I have always been very interested in it. As an added bonus there are some insights to draw in the data center industry and links to information about Google!

First -- Microsoft. Microsoft has made a couple of moves this year to indicate a trend in parallel computing and perhaps a tie-in to container-style data centers....stay with me, I'll get to that. In July of this year EETimes.com interviewed Burton Smith about programming languages and parallel computing. Smith oversees research in programming languages for parallel hardware architectures.
Multicore processors are driving a historic shift to a new parallel architecture for mainstream computers. But a parallel programming model to serve those machines will not emerge for five to 10 years, according to experts from Microsoft Corp.
Then, last Friday, Microsoft Research hired veteran supercomputer researcher Dan Reed. Reed's mission is to take a "green field approach" to the spiraling power and reliability requirements of large data centers.
"There is a sea change in computing coming at the intersection of multicore and large data centers, and working on this is one of the most exciting things I can imagine doing," said Reed. There's no single path to the parallel programming models needed to support tomorrow's multi core processors, said Reed. "It will take a variety of efforts in areas such as functional languages, transactional memory, extensions of existing languages and new higher level tool kits," he said.
And as we all know now, Microsoft is building 'mega data centers' to support the massive computing infrastructure required for internet-scale initiatives and Microsoft Research.

EETimes.com also had an interesting article about a month ago on the Cloud Computing initiative for Google and IBM. Google's Christophe Bisciglia explained:
"It's no longer enough to program one machine well; to tackle tomorrow's challenges, students need to be able to program thousands of machines to manage massive amounts of data in the blink of an eye."
The Google/IBM initiative is to advance large-scale distributed computing by providing hardware, software and services to Universities. Google is providing several hundred of their custom-built computers, while IBM will provide its BladeCenter and Sytem X Servers. The initiative (and article) are pretty interesting; check it out here

The other Google link I found returned me to the 'brain workout' I was receiving by reading about parallel computing. Check out the slides and presentations on Distributed Systems and Cluster Computing at Google -- here

Ok, so now the container angle. Caveat---remember I'm a newbie for the parallel computing topic, so tell me if I'm way off here. Google's infrastructure is more or less, clusters of networked CPU's orchestrated for various tasks and applications. Microsoft hints at similar items when talking about writing programming languages for parallel computing. Why not call a fully-loaded container of computers a cluster, write 'internet-scale' applications that will be able to reference multiple clusters (i.e.: thousands of CPUs across different containers) and still utilize the multi-core processors within each computer. Ok -- I know, this is essentially what Google does now across their data centers -- but why not change up the data center model. Place compute units (in this case, a full container) at geographically disperse locations and then reference them with an parallel-optimized OS or language. The benefit to shipping containers in this case is not having the high up-front costs involved with building the mega data centers that they are today, and they can move the containers to where the cheap power and land are without too much trouble. With such dense computing and more raw power than form factor, the container is a good fit, and the portability and quick build time are added benefits. I still advocate that security is an absolute must add-on for shipping container parks, but retro-fit a warehouse and BYOUG (bring your own UPS and Generator).

Ok -- that's enough brain exercising for one night (maybe a couple).

No comments: