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 ?"
I'd be interested to see how quickly you could fold@home@work on that cluster.
You know you want to. Or you could evolve a bunch of virtual creatures on it: http://www.karlsims.com/evolved-virtual-creatures.html http://www.stellaralchemy.com/lee/vce3d_related_projects.html
Although that was the easiest meme, It gave me an idea. Perhaps you could try some very-very-very high resolution ray tracing. I hear that such a process scales well with parallelism.
side note: captcha = shading
Protein folding really helps us biologists A LOT, so please run it. http://folding.stanford.edu/
I'm doing computational condensed matter physics for my PhD. If you give me an account, I can keep your cluster at full load while you're not using it. :) The type of stuff I run can span hundreds of processors over (sorry to say it) slow interconnects like GigE.
If you let me use it, I'll acknowledge you in all publications AND I'll make you some pretty pictures (materials under extreme conditions make for cool figures).
as some have said, donate the time to people would like to buy it but can't, or on odd days turn up 1000 SETI@home processes and see how far it gets?
Create a reverse Google bomb - Index every link to say 'george bush' from Google, read each page into memory hash the words, assigning value by count amongst all the pages, and then post the top ten words on GW that are not 'the' 'a' 'was' etc.
Perhaps comparing this to the same process on Paris Hilton would be a report that sparks SkyNet to life. I don't know. Seriously, if those two have 6 of the top ten words in common it would have to mean something.
If you have all that cpu sitting idle, that is the kind of weird shit nobody else would do, but also couldn't not read the report either. Perhaps you'll start something new for Google Trends? :)
Support NYCountryLawyer RIAA vs People
I do burn-in testing on a lot of the machines we get at work, using hardware I can't personally afford.
My favorite test is to find scenes to render with a raytracer.. yafray is my favorite, runs on all major platforms. But not just any scene, it has to have all the details turned up to 11, contain extremely high detail (polygon counts drive up memory usage), and write out an absurdly large image.
Kind of whimsical but it's hard to not be impressed by an image 20,000 pixels square with perfectly accurate reflections. Who cares if I can only fit a fraction of it on my monitor. ;)
Rosetta @ home or fold.it
Or you could try to thermally load them in patterns that produced different tones on the fans (or maybe an AM radio) record it then speed it up. Maybe you could make it sound like a baluga whale.
Or maybe you could implement a virtual machine cluster of 250 cores. The repeat the process till you see how many virtual machines you can stack on top of each other till it has the same speed as a single processor.
While this might sound stupid this would give us a rough estimate of how many watts per virtual world it takes and from that we could figure out how many layers deep in the simulation we actually live assuming the top level one is powered by something less than 1 sol of power.
or work out all possible moves in N-space tic-tac-toe. The only smart move is not to play.
Some drink at the fountain of knowledge. Others just gargle.
I fully agree. I'm the admin on a similar sized cluster (although our interconnects are much faster) that sees only about 50% utilization by the University. The rest of the time is lent out to other Universities without such a resource or need a place to run unfunded projects. I'd be amazed that such a resource would ever be allowed to be "played" on. Our up time is critical since many jobs take weeks sometimes months to run. Every effort is made to make the system rock solid and divide up the resources fairly.
http://www.opensciencegrid.org/
That way you can backfill the resource with jobs from VOs (Virtual Organizations, think projects/groups) you choose. It is similar to BOINC in the sense you can pick what science to support.
The idea is that the sharing will go both ways. You will give spare cycles to other users on OSG, and in return, you will be able to use spare cycles on other resources.
Spend some time on the OSG website reading the things under "Learn About Us". Also check out the research highlights to see what kind of science is being done on OSG resources:
http://www.opensciencegrid.org/About/Research_Using_OSG/Research_Highlights/Research_Highlights_Archive
(Shameless plug - I'm part of this team) The good news is that OSG have an ongoing effort to help you join your resource to OSG, and help your users get going on the grid:
https://twiki.grid.iu.edu/twiki/bin/view/Engagement/WebHome
You could always run Climateprediction.net.
Escher was the first MC and Giger invented the HR department.
xkcd Network
Instead of randomly generating pictures or something as someone suggested above, why not make it generate say a 64k program, keep iterating through this until you get an executable that will actually RUN (Without crashing) and see what happens.
+1 IDisagreeSoHeMustBeATrollOrAnAstroturferOrAShill
Prize money in the $100K and up ranges are available for primes that are found above 10 million digits. If you can get the cluster to search for a 10 million digit prime and you end up finding it, you'd earn your Department a cool $100,000 in extra funding. I haven't read the exact rules for the Prime95 program invlovement, but you'd still get a good grant for your Dept. from just crunching 1s and 0s on your idle processes.
I saw about $1,000,000 of hardware go to waste because they didn't budget maintenance for the system. We couldn't even fire it up to see what worked anymore. System barely ran for a year.
Started me rethinking my Doctorate plans in CS. If this pool of PhD's couldn't figure out that you were going to need to maintain the systems and have a number of people to work on it, then what the hell, book learnin didn't get them very far.
I'm sure though, that their thought was that once they got it in that surely the Administration would budget for maintenance.
This was an SGI system about 6 years ago.
He who said 1,000,000 monkeys on 1,000,000 typewriters would eventually type the great novel, never saw an AOL chat room
I'm a CS (Anthro minor) undergrad student working with "Agent Based Modeling of interdisciplinary problems" looking for a place to go to grad school. What university is this with the nice cluster and the group of people working on the problems I want to help solve?
Okay. Swinging, wild-ass guess - (color depth)^(bitmap size) = total number of possible pictures. So a 255^2 bitmap @ 16 bit color (~65k colors) = 3.551938486e+312970 possible pictures. You'd better by all the world's disk storage. Creating all them wouldn't be a problem. Sifting through them would take forever.
Interesting ramifications:
- Theoretically, there should be enough similar pictures to create movie of a ball-kicking fight between Lennon and Bush.
- You would have just also recreated the entire world's supply of past and future porn, albeit thumbnailed down to 255*255, and limited to 65k color.
- You would have produced at least one picture of a second shooter on the grassy knoll, even if there wasn't one to begin with.
I prefer rogues to imbeciles because they sometimes take a rest.
A variant on the rendering theme: Instead of simulating rays, simulate light wavelets and the modern theory of light. You should have enough compute power there to render reasonable scenes using such a technique.
Fluid dynamics: This is a popular one, and NASA offer source codes for free for subsonic, supersonic and even hypersonic flows. In fact, they offer quite a number of subsonic ones. They're also not the only source. There's several open-source CFD packages, ranging from river simulations to aircraft simulations.
Supernovae simulation: There are packages (freeish, rather restricted in access) that allow you to simulate thermonuclear and supernovae explosions within stars. The restrictions are for rather obvious reasons, even though the odds of anyone nasty obtaining a star is, well, unlikely.
COLOSSUS: There are still a couple of ENIGMA ciphers that have never been broken, which can be obtained along with the algorithm Colossus used in World War II to crack such codes. You could complete the set and maybe discover some lost secret (yeah, right).
BLAST: Other posters have suggested renting out the computer time, but that just transfers the problem of what to run, rather than solving it. BLAST, or one of the MPI-based variants thereof, is an exceedingly popular tool for examining nucleotide sequences, but as the databases grow ever-larger, the demand for ever-more information also increases, creating a need for significant compute power to produce the volume of results desired.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
If an infinite number of monkeys......
Write a program that creates random code and tries to run it, then starts again. Eventually, we'll have the Singularity and not have to worry about finding cool things to do.
Stasis is death. Embrace change.
Sadly, I have also seen waste like this. I know of a cluster that can only be 75% of the nodes can be turned on, because the building to house it was delayed a year and it's in a temporary space, but the money was allocated and had to be spent before the space was ready. If the money wasn't spent, the money would be taken away. I've been a cluster admin for a cluster that barely had 10% usage and I almost cried. Interestingly, this ties in with the "parallel programming is hard" problem. Some researchers don't bother to parallelize or optimize their applications because after the paper is written, the code isn't run any more. If you only need to run a few times to confirm your hypothesis, then why bother optimizing if the time between runs isn't terrible.
Reading Slashdot dulls creativity sometimes... I suggest you deprive yourself of sleep, overdose on caffeine, read something by Neal Stephenson (Snow Crash or Diamond Age), and meditate on your question with a 2-3 geeky buddies of yours around 2am.
1) Find a picture/piece of code/ISO image/etc. you'd like to compress. Treat it as a very big number. Now find a prime number that comes very close to it. Compress it by treating it as the Nth prime + the remainder. Repeat for the remainder See if the compression is any better than bzip. (I think i saw something like this done for the DeCSS code once...)
2) Find something to optimize via brute-force. (My favorite is neural nets predicting time-series). Run a distributed simulated annealing algorithm. (Run an instance of the algorithm on every core, check every N cycles to see which core is more "optimal", share the parameters with the rest of the instances).
3) Create an interactive multi-user raytraced environment. Get someone to bring in an ImmersaDesk or a CAVE. Stun all visitors.
4) Model a giant neural network. Teach it to do something cool in real-time with your favorite training algorithm...
5) Get dictionaries from 50-60 languages. Write something to correlate similarity of words meaning the same thing. Make pretty graph clustering them by similarity. Post pretty graph on Slashdot.
6) ???
7) Profit!
Actually, we are designing a sophisticated monitoring and control system that will power down all the nodes that have nothing to do. Sustainability is *the* reason why we build models in the first place. Most of them are used to estimate CO2 emissions of different future industrial systems.. so yeas, you are right, this is an important issue...
Complexity is a measure of our ignorance...