Gridwars Parallel Programming Challenge
Peter_Pork writes "New Scientist has an article about GridWars, a challenging new game that runs on large clusters of computers. Programs fight each other for supremacy in terms of the number of processors they control, and the main point of the contest is to develop better parallel algorithms. It seems a nice idea: have fun while you improve the state-of-the-art in cluster computing. The result of the last contest was somewhat of an upset, since a craftsmanly Russian program defeated a sophisticated genetic algorithm from NASA."
Anyone remember Core Wars?
It should not read like that it should be.
since a craftsmanly Russian program defeated a sophisticated program created by a genetic algorithm from NASA.See (from NS):
"The final battle saw Wenig's program - created using genetic algorithms - take on a program designed by a computing student from Moscow State University."
A subtle, but important difference. Now if the prgrams were actually evolving in the Gridwars game that would be interesting, as it would be similar(ish) to my project.
*Dreams of a day they put an edit queue on slashdot*
Much more information is available at the GridWars II official site.
This reminds me of a story my solid state physics professor like to tell (this is the short version):
NASA decided that the astronauts needed a writing utensil to take notes during space missions. NASA spend a large amount of money to develop the zero G ballpoint pen.
The soviets gave the cosmosnauts pencils.
Quicky check at the NASA program and I find a switch statement of 2049 (2^11) parts. It is broken up in switch blocks of 64.This is sad coding on so many different levels. I am not sure how to express my feelings about it.
First let's look at a straight forward way of how to do this....the lookup-table.It is fast (speed is an issue).
Takes up less space (programming space can be an issue).
Easier to read (debugging tricky programs is hard enough without the obfuscation).
And should have been part of your basic programming education.
And this is state of the art coming out of NASA?
I'm impressed our shuttles go UP in the first place (ja, ja...low blow...just kidding ofcourse).
Really, if I see this kind of coding I cringe. Then talk to the person. Then make sure they learn from their mistakes and don't do it again, or they can find themselves a job outside of my team.
Multi-threaded applications are less common that one might think. Even those GUI applications that would benefit alot from improved responsivness due to multi-treading avoids it, due to greatly increased complexity.
When the Gang of Four came out with their Design Pattern book, it was a great hit, and very usefull indeed. But design pattern for multi-threaded programming is not that well-know. But some are published, as the link below shows :
http://www.cs.wustl.edu/~schmidt/patterns-ace.ht ml