Cool/Weird Stuff To Do On a Cluster?
Gori writes "I'm a researcher at a university. Our group mainly does Agent Based Modeling of interdisciplinary problems (think massive simulations where technology, policy, and economics meet). Recently, we managed to get a bunch of money for a High Performance Cluster to run our stuff on. The code is mostly written in Java. Our IT support people are very capable of setting up a stable cluster that will run Java perfectly. But where's the fun in that? What I'm trying to figure out are other, more far-out and interesting things to do with this machine — think 500+ Opteron cores, 2 GB RAM per core, a gigabit interconnect with some badass switches, a massive storage array, plus a bunch of UltraSPARC boxes. So at times when there's no stuff to crunch, I'd like to boot the thing up with a 'weird' system image and geek around in the name of science. Try fancy ways of building models, dynamically adding all sorts of hardware to it, etc. Have different schedulers compete for resources. Imagine a Matlab vs. Boinc vs. ProActive shootout. Maybe run plan9 on it? Most of us are not CE/CS people, but we are geeky enough. So, what would be the coolest and most far out thing you would do with this kind of hardware ?"
And save the environment a little bit?
"So, what would be the coolest and most far out thing you would do with this kind of hardware?"
Instead of pissing around with stuff that may not go anywhere other than a few giggles over lunch.
Why not just rent, or lend it out to people who don't have the funding or equipment that could use this cluster for a better purpose than "playing around"?
Just saying...
I (Mat) work at Vanderbilt University's supercomputing center. Our university supercomputing center was originally a joint venture between the proteomics and high-energy physics departments, but they decided to make it a independent university-wide initiative to bring HPC tools to all users.
Before we founded the center, there were a lot of groups that required computing on campus, but it was highly inefficient. Their local clusters had lots of free cycles (low return on asset) that they couldn't effectively share with other users, the clusters were down quite often (grad students and postdocs are poor sysadmins, plus they should be doing actual research anyway). Several other problems related to either pooling of resources or pooling of knowledge, you get the idea...
I highly recommend setting up a batch scheduler such as Torque/Maui and opening your cluster to all researchers on campus. You'd be surprised how much demand is out there. We have all the usual math/science/engineering/biomedical users, plus users in more esoteric fields (nursing, accounting, music, psychology). You can always give your group a higher job priority if needed. It gives a higher return on asset and gets lots of goodwill on campus (and, potentially, at funding agencies). You can charge users for support, storage, etc for cost recovery, or even use it as a revenue source if your grants allow.
Having different types of users also allows cross-pollination of ideas. We have a large number of biomedical researchers who are now using a high-energy physics software (geant), biomedial people who are teaching other users how to program in R, etc. These are avenues for research/discovery that didn't exist before.
I think reverse-engineering reality is called "Physics".