Monday, March 22, 2010

AMD is releasing a dozen cores on a single CPU… now what to do with them?

We have all heard that multi-core computing is the way of the future, but with AMD announcing that production of their 8- and 12-core AMD Opteron 6100 Series processors are underway it won’t be long before you can have access to some very serious computing power all from a single server. In fact, AMD has a contest right now asking what would you do with 48 Cores on your server, which piqued my interest and got me thinking about the possibilities. Most general purpose computing can only utilize a few cores at a time, so aside from running a massive database/web server or consolidating a few dozen virtual servers into one physical machine it is difficult to think up a use case for the 105.6GHz of raw computation that would be available from 4x12 core CPUs. Even altruistic ideas like setting up thin-client learning environments for starving kids in Ethiopia don’t really fit very well, as that problem is much better addressed by other means (not to mention CPUs don’t taste very good :-P).

If you ask me, that kind of power is best displayed the same way it was in 1997 when Deep Blue won a chess game against a reigning world champion (Garry Kasparov). Deep Blue ended up losing 4-2 overall, but it still showed that computers were capable of completing head-to-head with a formable human opponent. Deep Blue was essentially a massively parallel computer with 30x120MHz nodes and 480 special “chess chips” that allowed it to evaluate 200 million positions a second and find the best move by brute force. Now days Chess is a well studied game with even mobile phones being able to compete at the grandmaster level.

I was never much of a chess player, but I have spent a fair amount of time working on computer software for Texas Holdem, which has a much more complex game theory with lots of unknowns and many different playing styles. I think that poker will be the next big arena for computer vs human competition, and while computers are already used for collecting and analyzing player poker hands and playing virtual tournaments they still are not quite up to the task of competing with human players.

With 48 cores though you would have the ability to run many sub-process that could make predictions and, once validated, be used to profile a player and quickly create an optimal offensive strategy for each hand. A full poker table may have up to 12 players, but considering there are 4 cores for each player, that seems like ample computing power to create neuro-networks that model each player to try and predict their next move. Each network is independent, and the four channels of DDR-3 for each AMD Opteron processor should give great bandwidth throughput. I have already been able to evaluate in excess of 20,000,000 hands per second on a basic quad core system, so the power of 48 cores is simply the next logical step!

No comments:

Post a Comment