Deus Ex Machina
Posted by lordpinoy on January 26, 2006
Last Wednesday (January 25, 2006) saw the inauguration of Computational Science Research Center’s (CSRC) High Performance Computing (HPC) Facility. As one of the team leaders that helped build the cluster, I was invited. It also meant that I must arrive earlier than all the invited guests, some of them were the head honchoes, the hotshots, and the powers that be of the University (in fact, no less than current chancellor of UP Diliman attended the event) and the Department of Science and Technology (DOST) of our country. The Executive Director of the Philippine Council for Advanced Science Technology Research & Development (PCASTRD) assumed his position only last December and was visibly delighted at having to start the year with a milestone in the first year under his regime.
Needless to say, I was proud and happy because the cluster I have assembled and configured actually works. My colleagues in the lab are already using it for their simulations (and root-knows-what-else). So to be asked to arrive earlier than everyone else also meant that I am to ensure that there’d be no foulups during the presentation of the 2001-monolith-esque parallel supercomputer. <— I’ve always wanted to be in the vicinity of something that resembles that 2001 icon
Parallel Computers aren’t new but as far as I can recall, this is the first time an event such as this was made public and became a significant university affair. This wasn’t the first time I’ve dealt with parallel computers either. During my undergraduate years (about late 1998), I was given the opportunity to experiment on a 4-node cluster. It was part of a "curiosity" investigation to determine the feasibility of low cost-commodity-computer-parrallel supercomputing. It became necessary to learn different programming paradigms and to go deeper into intricacies of operating systems and networking. It was fun and cool at the same time, besides, how many could confidently put "High Performance Computing" on paper? Not many.
One year later, our director (lab coordinator at the time) submitted a project proposal that got us our first computer cluster. Unfortunately this cluster did not fare well. There were only a few people who knew how to use of it or write programs for it. I find it also strange that I wasn’t involved (by the project leaders) in its design and implementation. Because its use is exclusive to those in our research lab, no one (with or without bright ideas) was able to try it out on the cluster.
So why didn’t I make use of it? Well, around that time I was deeply involved in experiments with little or no computer modelling required. I do not remember anyone asking me to teach them parallel programming. The scale of their simulations was limited and most did not even contemplate tackling larger problem sizes. Nowadays, I think of it as a miss. If only enough efforts were exerted, the cluster would have made it in the top 500 supercomputers (in the world) list (http://www.top500.org). At gigaflops performance it would have earned a place in the top 150. Now it would take at least 2 Teraflops to get the #500 spot. That’s a three orders of magnitude quantum leap in the space of only 5 years.
There were other misses too. A foreign company donated a supercomputer. In three months, either no one bothered to allow us to perform preliminary investigations, or the cost of maintaining it was too high, it was returned. Disappointing really… Would have been a nice addition to the resume …
Fast forward to the future…
March 2005 - The present director (after assuming the position in October 2004), began experimenting again with parallel computing. This time, I was brought on board as a principal investigator. Recent advances in software and hardware technologies made it an exciting pursuit again! New paradigms were already in place. It wouldn’t be a problem if hardly anyone knew how to do parallel programming. The New Paradigm does not complicate things by forcing a change in user habits. One simply had to write his program in the usual manner, each according to his pace, style, and usual practices. When it was run, Voila! The cluster ensures that enough computational power would be available. I won’t go into detail as to how exactly does the cluster achieve this and spare the reader of meanignless glut (though some of you may actually have an idea — no offense intended). It should be noted that even the implications of the previous statements IMHO, sounds pretty awesome. It is closer in spirit to the ultimate goal of the earlier project: Interdisciplinary Scientific Computing.
So another proposal was submitted. This time around it would be different and would have better support. It got approved, money and equipment started rolling! But this being the Philippines, the waiting part took the longest. The hardware arrived in October of 2005. Fortunately, between March and October I was performing "scientific" investigations on a kiddie-version (another 4-node cluster) to study about optimizing cluster performance, doing benchmarks, etc… I was more than prepared for the mammoth task of assembling the "Most Powerful Parallel Computer" in the country.
I had help this time. Two of my undergraduate colleagues (I’m now a Grad Student trying to earn a PhD degree) did some time with me. After 2 weeks of toil it was ready. The next part was the software configuration which I did remotely (far from the machine) because of several constraints (I was involved in other projects).
So why did I bother to write about the cluster? For one, there’s a certain sense of accomplishment in bringing things to completion after being entrusted to you. Secondly, the opportunity made me realize again the joy of learning about many new things. Thirdly, we got paid.
More importantly (at least for me), I always wanted to feel what it is like to be the god in the machine. Deus ex machina.
(pictures will be added soon).
January 27th, 2006 at 6:24 am
Hi dael! Great to hear about your accomplishments… Sad I wasn’t there to experience it…