Cool/Weird Stuff To Do On a Cluster? 608
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 ?"
Re:Super photogenesis (Score:5, Informative)
Far, far longer than that. Even if we assume only 1 bit per pixel, 255x255=65025 bits. So each bitmap is basically just a number, 65025 bits long, and you want all permutations of them. So the problem of generating the bitmaps devolves into "count from 0 to 2^65025".
Of course, 2^65025 is a very, very big number. How long would it take to count that high? Assume you can magically do the increment in one cycle, and you have super-unbelievably fast 4GHz processors with absolutely no overhead and perfect scalability. You also do no processing on the image whatsoever, you simply iterate through them. So each core is processing a phenomenal 4 billion images every second. You have 500 cores, so you're chewing through a grand total of 2 trillion images a second. Wow, that's pretty damned fast!
2 trillion is almost 2^41. So if you're getting through 2^41 images every second, that means it will take a mere... 2^65025 / 2^41 = 2^1586 seconds.
There are roughly 2^25 seconds in a year, so that means you're going to be able to complete this count in a mere 2^63 years. That's 9 billion billion years, much longer than the lifespan of the universe. And that's merely to iterate through the images with no processing whatsover. Increase the computing power by a factor of a billion, and it would still take 9 billion years just to count them.
It's even worse if you do the maths right. (Score:1, Informative)
2^65025 / 2^41 = 2^64984 seconds. Divide by subtracting the index, e.g. 10^3/10^2=10^1
To divide by 2^25, just subtract 25 from the exponent, giving 2^64959 years, or 10^19555 years. But still much longer than the age of the universe.
Re:Cool/Weird Stuff To Do On a Cluster? (Score:2, Informative)
low performance java (Score:3, Informative)
But that's object oriented languages (which is getting better since I'm learning how to make myArray[i] run twice as fast), I prefer to use C and fortran. Those babies are low memory and totally rock. You don't spend all your time making method calls, which chew cycles for each call (let alone being in large nested loops).
I don't mind punching out Java code; it's extremely good for some tasks, but it is not a language I'd use on a high performance system. Just in my experience. I could be wrong and would love to be proven wrong.
Meanwhile, back to the main article topic (Score:3, Informative)
Are there limits to the fact that when a charged particle is accelerated, it emits a photon? I was once told that below a certain point, the charge does not emit a photon. Really? Why? A possibly useful phenomenon needs relevant data! Thanks!
Do Good in the World (Score:4, Informative)
A number of other posters have suggested this answer, but I wanted to emphasize it.
You are lucky enough to have a massive, desirable resource that is underutilized while we are in the midst of an academic funding environment which has been called the worst ever for supporting basic and applied research. You, as an academician, have an unwritten duty to help other academicians, and so rather than think of geeky ways to mess around with your new toy, why not share your wealth?
Here are the advantages:
1. You can wrangle additional publications out of it by being an author on published papers by providing sufficient support. Publications are the lifeblood of academics.
2. You can use it to leverage improved relations (or establish relations) with other departments within your university, or across universities. This might not seem like it would be worth much to you, but it will be impressive to your supervisors and department heads (they can take credit for it), and will make you look good in their eyes.
3. You can leverage it to good-news PR. University administrations love good PR. Talk to your PR department. Involve your department.
4. You can do good in the world.
I, personally, run an analysis of neural recordings every so often using Matlab that takes about a week on a reasonably modern dual-core system. It sure would be nice to have that finish in 1/500 as much time! There are about 20 or so researchers who are doing work like mine, and none of them, to my knowledge, are using a high-performance computing environment to analyze their data. It just isn't within their means. I'm not talking about some esoteric, arcane basic science research (although I'm a huge, huge proponent of that), but helping the paralyzed to walk again.
Re:low performance java (Score:3, Informative)
Wanna fill your spare cycles? Go to your Mathematics department and have a chat to the post-graduate students in non-linear algebra
If you've got Matlab licenses, get to your university's Matlab mail list and advertise your machine for batch submission. People can be slow to adopt this, but once they've done it a few times, they won't do it any other way.
Make sure you're ready for the extra accounts
Don't keep the machine to yourselves