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."
The only winning move is not to play. How about a nice game of chess?
I couldn't resist!
A hundred thousand Beowulf jokes just collided in my head . . . What's a geek to do?!
Mikey-San
Karma: +Eleventy billion (mostly affected by watching Celebrity Jeopardy)
that all beowolf cluster jokes below this reply are null and void.
Just like that junkyard wars where the crazy Brittish always beat the Americans!
I think it would benefit the researchers all of the world, if Gridwars was made available to the Open Source developer community. Their long-term vision and thoroughness would be beneficial to all parties in symbiotic relationship.
The Open Source developer community would be able to enhance Gridwars by ensuring that it would be compile correctly on all iterations of Red Hat, adding Beowulf cluster support, and hot-swap floppy capability. These are functionalities that are required in the corporate and academic world, where 99.999% uptime is almost mandatory. Except for online banking which only required a 67% uptime according to federal law.
Only by publishing their code to the world can be enhance Telegard BBS doors such Global Wars and Tradewars.
Which is nice.
Wearing pants should always be optional.
An article where SOVIET RUSSIA *and* beowulf jokes are on topic. What's next? A Natalie Portman interview?
Isn't this the exact same concept as armagetron? Bunch of programs fight each other, trying to crash the other ones?
"For years, I struggled with reality... but I'm happy to say I finally won out over it." -- Elwood P. Dowd
I've often been told my programs require more cpu, allocate more memory, and take more time than any other coder on the team. If I can scale up my special skillz to more than one processor at a time, I might have a chance here.
Scientific American has an article about Hellmouth, a challenging new game created by Junis that runs on large clusters of computers. Sponsorship from SCO looks to be confirmed and celebrities such as Natalie Portman promoting grits are in tow.
Sadly, the death of Stephen King during the game's promotion at E3 and LinuxWorld (where no one showed up) put a damper on things, while in Soviet Russia the people controlled YOU.
This article makes it seem like there is a NEW challenge. According to the Flash Demo on thier website, however, it appears that Grid Wars 2 was June 23-25, 2003.
LOL HAHAHAHAHA
Sounds like war games for nerds.
-- "Why would you quote your self?" -Me.
Anyone remember Core Wars?
What was the name of the old game where two programs batteled for survival? Trying to shut each other down or something like that. I think it was back in the Vaxen days, but due to heavy memory fragmentation I'm not quite sure.
This article just rings a bell... No wait, that's the tripwire. Gotta go.
All rites reversed 2010
Is this going to one day turn into a computer program which defeats its rival in the computer, then takes on civilisation as we know it and takes over the world?
Its the beginning of the matrix people. We should stop it now!!!
*twitch*
In Soviet Russia, parallel algorith writes you!
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*
This seems like a fun idea. It'd be more fun though if they had this web enabled and running all the time. Then we could keep submitting new code to play. Of course you'd want to limit how often new players were added.. or someone would cheat by just reentering the same code over and over until it overwhelmed the competition.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Rogue: oh no! a 'C' is chasing my @! majick missle! majick missle! arghhll...
I thought that 'a beowulf cluster of these' would do much better than that.
Free Software: Like love, it grows best when given away.
hmmm
I'm guessing that this guy works for the Russian mobsters that put together the porn/spam network reported earlier.
Free Software: Like love, it grows best when given away.
The result of the last contest was somewhat of an upset, since a craftsmanly Russian program defeated a sophisticated genetic algorithm from NASA.
Perhaps their virus writing skills give them an edge
Table-ized A.I.
This is not the first time something craftmanslike can beat something sofisticated. Even thought the following examples are strictly hardware, the general idea is the same.
Take, for instace the T34 vs the Tiger. The Tiger was one of the most sofisticated - if not the most sofisticated - tanks in production at the time, but were drowned by hordes of the more craftmanlike and easily manufactured T34.The battle between a simple, craftmanlike approach and sofistication was once again seen in the early sixties, in the race to get a man into space. The russians fielded the Vostok, a design born more out of solid craftmanship than anything else. It's very simplicity was a strenght, allowing it to undertake missions up to five days long, while the american attemt at a longdurationflight in the highly sofisicated Mercury lasted just under a day and a half, leaving Gordon Cooper in a virtualy dead capsule (having to eyeball his attitude thru the windown and manualy fire the retros). Granted, one reason the US had to go for sofisication is that their rockets simply couldn't lift as much as russian rockets... but whereas derivatives of the Vostok still flies (as unmanned recoverable satelites), the line that breed the Mercury is dead.
Sofistication is well and good, but many times a less sofisticated but better crafted designs / programs can outperform it. Sofistication for it's own sake is usually not worth the tradeoffs.
Everything in the world is controlled by a small, evil group to which, unfortunately, no one you know belongs.
Therein lies the lesson. Craftsmanly usually defeats sophisticated. It is pompous to assume otherwise. (And yes, the comparison of the American and Russian space programs bears this out.)
Much more information is available at the GridWars II official site.
My karma is "Excellent" and I get jack shit for moderator points
Other BBS' supported door games, too. And I don't remember Global Wars.
Dont that sound awfully familiar?
Everything in the world is controlled by a small, evil group to which, unfortunately, no one you know belongs.
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.
Not to troll, but do you mean you were upset last time because craftsmanly russian spacecrafts (e.g. Soyuz) ended up being cheap and safer than $2B NASA shuttles ?
Remember, how exotic, things may look, the winner will always be one which is conceptually sound, fundametally strong and is architected by experienced engineers.
- mritunjai
This was the original game, described by A.K. Dewdney in Scientific American back in the 80's. It involved multiple programs battling to control the memory space of a single computer, rather than nodes of a distributed system. You can read Dewdney's articles online at King of the Hill, along with a great deal of other information.
Anyone remember these programs? Had tons of fun in highschool writing PRobots algorithms, Gridwars sounds a lot like that.
~Berj
Games like this never have a *best* strategy. They are like rock-paper-scisors, or the prisoners' dilemma. I bet one of the next strategys to win will involve a an evovled behavior that has cetain probabilities on what to do next based on previous states and input.
The reason the russian guy wan was *luck*. Tournements like this should be seeded randomly and played thousands of times. Only then could one player prove to be superior, and even then he would only be superior in his ability to beat up on the majority of "lesser" and "common" players.
bash-2.04$
bash-2.04$yes "Don't you hate dialup connections?"| write USERNAME
Programs fight each other for supremacy in terms of the number of processors they control...
I thought Windows won this contest...
i don't necessarily view it as craft vs sophistication. the sophisticated thing was the genetic algorithm, not the resulting program. that GA was competing in the contest with another GA -- the one that produced the Russian programmer. that second GA could be considered vastly more sophisticated than the first. it produced a general purpose intelligence that could defeat the first GA at what it was specifically designed to do. :D
go nature!
The enemies of Democracy are
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.
http://robocode.alphaworks.ibm.com/home/home.html
Oh right the
col^Hde war.
phew.
-he who laughs last, is a bit slow.
journal
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
It would have been an upset if the NASA program had beat the Russian program.
no, if you get mod points, you get 5.
you are more likely to get them with high karma though
but once you apply all the rules to make it behave and play fair, it all seems rather boring! When I saw core wars years ago I had a notion of clever assembler programs running amuck ... but then they started with their special compilers and modified language, so it was pretty much all over (bar the shouting). This just seems ... bleech ... academic!!
We, as humans, cannot create anything to do comething better than we can (providing we have the same tools).
This is why AI is not more intellignet than humans, why we haven't found a fast way to factor products of large primes with computers, and why humans can still beat computers at chess.
Computers are good ate one thing. Doing mundane calculations over and over again ad.infinitum. They do this very fast. They cannot, however, compute something that (with enough time) could not be calculated by a human. We code (create/invent) based on what we know. We know how to calculate the path of a rocket, factoring in initial acceleration, wind, etc... so we can make a computer do it really fast.
We know how to play chess... so we can make a computer do it really fast.
We know how to calculate interest, so we can make a computer do it very fast. We do not know how to make cold fusion work, therefore we cannot get a computer to figure it out for us.
Until someone figures out a way to teach any human to beat every other human every time, we cannot develop a computer that is 'smarter' that we are.
I've never met a GA that lived up to it's claims. The problem is that they provide an ill-formulated solution to ill-posed problems. Let's say you are going to use a GA to optimize in a prohibitively large parameter space. After it "optimizes" you are still in the same large space and there is no real way to know if you didn't wander onto a local optimum. It's not at all shocking that a well crafted algorithm can more than occasionally find a better solution than a GA.
They've got to stop it now!
showtime had a show called Oddyssey 5
similar...
And broadband internet recommended. When will people realize that we want te be able to access CONTENT quickly and efficiently, not watch the super spiffy animation you made in a plugin that I can't copy-paste text from?
Make me a friend and I'll mod you up
The idea of having programs evolve and fight each other for computational resources is not new. It has been used for 5-10 years in Avida, software used in evolutionary research.
The approach has been very successful, resulting in a better understanding of complicated topics such as the evolution of complex organs.
Tor
United States should have used Windows... there would have been no chance of losing, it would have taken control of all the processors and crashed the computer too!
No russian can beat that.
I wonder... Did Microsoft have an entry? The virus like nature of thier software would seem to make it a winner. Maybe not, it would probably crash itself and forfieit.
can these algorithms evolve enough to change Windows security bugs by theirselves?
Ick. It turns out that the whole gig is just a publicity stunt for Engineered Inteligence's "CxC" parallel/clustering programming language/environment. Considering that it requires a '30 day free trial' (or paid licence) of the system to test, debug and play the game, I doubt this'll take off into much of a self-sustaining community.
my sig's at the bottom of the page.
If a program can be developed to search for code snippets then test them in a protected environment of its own we might be able to develope a more effective self directing algorythm.
What I am suggesting is like digital DNA but with the ability to search and test new code, then add desired functions to the core.
The real leap that will indicate true AI is if to desire functions can become a core function without intervention. Of course a sense of morals will need to be an overide to a function desire algorythm.
Essentially letting programs encorporate child functions that they spawn is key to this approach.
OH THE SHAME I fell off the wagon and use sigs again!
"Any fool can make things bigger, more complex, and more violent. It takes a touch of genius-and a lot of courage-to move in the opposite direction."
And yet, right above this, their page says 300kb+ connection recommended. Am I the only one who finds the humor in this?
I think this is the parent to Skynet!!
It's happening!!!
Noooooooooooooo!!!
Basically, Russians understand quality. Americans don't yet.
Oh, and sophisticated.
Deleted
The "Pizza" corewar server you link to has long been superceded by the "Pro" (in particular 94nop) hills at KOTH and the beginner (amongst others) Redcode hills
The Winner of the Mega Gridwars 2, Robert Macrae, is one of the Corewar greats.
An example of one of his warriors is Phantasm
The hard-core can generally be found on IRC at irc.koth.org Sundays 7p.m. GMT.
That's an interesting filosofy.
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
I competed in the first GridWars contest. I didn't even place, but they did send me a couple undersized GridWars t-shirts for having competed. A lot of people found hacks, err, undocumented features, in the battle program that allowed their warriors to some interesting things, and many of the "features" were allowed to be used in the contest. Few well behaved programs survived the first round.
This might be a starting point for digital warfare if it isn't already this way. Sides at war start planting extremely powerful viruses and concealed viruses into the enemy's main computers, even though the main purpose for viruses has always been severely destructive or to allow inapropriate access to data (trojans/backorifices).
Onda Technology Institute
Isn't this how they created the AIs that blew up the world in Odyssey 5?
[o]_O
Yeah, but does it run on Linux?
"Sheesh, what is it with this story to bring all of the russians out of the woodwork to proclaim the power of their space program?"
We ended up using their engine.
"Does *one* thing well and nothing more" (Unix philosophy) versus "does everything and more" (Windows bloat).
We have a lot of examples why simple is better.
But, you know what? -- and this may be the quality in the Russian program: simple is hard, complex is easy.
If anyone else has read this book, it shows how an architect creates a few operating systems and sets them against each other to solve problems, and the most efficient one wins and the others are thrown away, and its a long battle. in the end, there is a massively parrellel computer and adapted operating system that no human can understand because it is run off a neural network and actually somewhat controlled by the operating system itself. quite an interesting read. its by Pierre Oullette if anyone wants to check it out
women are bitches! - nuff said =)
The results may have turned out vastly different if the NASA program performed a bit of evolution during the contest.
It seems to me a great waste of evolutionary computation techniques to stop evolving just prior to competing!
And yes, of course I understand the overhead, yady-yah of trying to evolve during the competition... But I'm certain a twist could have been introduced, such as selecting from a pool of "best evolved" solutions based on effectiveness against the competition... Keep the most evolved population alive, rather than just keeping the most fit solution alive...
An interesting read, nonetheless...
It is your personal duty to fight for what is right on a daily basis. Ignoring injustice is identical to approving
only 6 int and 6 float variables were allowed to be used. the lookup table would've been against the rules. code length wasn't restricted, just the execution time. this is the very reason they reuse the output array in the examples, too
It happens to me, too. devenv.exe sits eating 99% of ny CPU for hours on end. It's happened on two machines, yet when I search the web, no one else suffers from it.
Wait, who's that at the do
Hey, we're still alive, and a slashdotting would sure be great :)
:)
The newsgroups is still there (nntp://rec.games.corewar), and the main hill is hosted at http://www.koth.org (more newbie/evolver friendly hills at http://corewars.sourceforge.net/). There's an IRC channel (irc.koth.org:6667 #corewars), with weekly(sunday) mini tournaments. BTW, those who have played with the '86 or '88 standards a long time ago, might be interested in knowing that a new standard is in use ('94 draft - been a draft for 10 years now), which makes many, many things more logical(still backward compatible with '88 too)
Good, i've done my evangelising of the month
Try Corewar @ www.koth.org - rec.games.corewar
Chris, before you respond to my comment, perhaps you should read it... Let me present this back to you:
From my original comment: And yes, of course I understand the overhead, yady-yah of trying to evolve during the competition... But I'm certain a twist could have been introduced, such as selecting from a pool of "best evolved" solutions based on effectiveness against the competition... Keep the most evolved population alive, rather than just keeping the most fit solution alive...
From Chris's response: in the actual competition environment, the GA would probably be very ill-suited. evolution takes a long time, and most changes don't yield a better solution. the overhead of running the GA and the other offspring just would have crippled nasa's entry.
Was my comment that obtuse?
I am saying, essentially, that you don't have to actually "evolve" during the competition, but perhaps select from a pool of pre-evolved strategies using real-time fitness tests... a variation that includes NO genetic reproduction, just "selection" from the most highly evolved solutions that NASA had previously created... Hell, the fitness tests themselves could be run by literally "trying out" individuals in the population - and only keeping around the ones that are proving effective against the current competition.
It is your personal duty to fight for what is right on a daily basis. Ignoring injustice is identical to approving
Anyways, the table lookup is NOT necessarily faster than huge switch statement...... If the table is large and has poor reference locality, then your program could end up thrashing the processor cache.
I find it hard to believe that a cache-miss would adversely effect the results of these combats. We are talking about parallel processing, after all. Don't you think the latency associated with communicating with other nodes not only washes out, but in fact totally overwhelms the latency of a cache miss or two?
I would need to take a look at the numbers, but I would guess that it would even be possible to take advantage of this fact (node-to-node communication latency) to do some real-time evolution (or perhaps just hill-climbing using a pre-evolved population) to make the GA system fight with heterogenous properties (e.g. not all nodes have the same strategy).
I think there would be ample room for GA mischief from the NASA model. And no, I don't think the table-lookup vs. a compiled switch statement means much at all, in this situation.
The reason that it can be true that 1+1 > 2 is that very peculiar nonzero value of the + operator