This is a little project I've been working on for a while now, and I finally got everything working this past weekend. It's a "fully-networked, bus and token-ring enabled, 4-way scalable 'vectorization' of the Arduino" ... um ... or at least that's what this book tells me it is. :-)
This is what it looked like mid-assembly - you can see how I expoxied the 4 Arduinos back to back in a ring, and then placed DoubleTall ExtenderShields around it:
This is the finished project, including some blue LED vanity lights on the inside:
Another angle when it was first assembled:
And finally, here are some videos of it in action - enjoy!
Here's a link to the source code for the command dispatcher, and here's the source code for the nodes. If you're interested, I also have the whole thing up as a kit.
4 comments:
Ok, so maybe it isn't as fast as the Los Alamos National Laboratory super computer that was announced this last week, but it sure is close! http://news.yahoo.com/s/ap/20080609/ap_on_hi_te/fastest_computer
When you say "scalable", does that mean it's possible to add cores, so that with additional arduinos and larger USB hubs one could conceivably do larger parallellism, six, eight, or twelve core, perhaps?
Also, what are the applications for multicore arduino?
Yep, definitely - each node gets assigned a unique id, and connects to each other in a token ring / serial bus method. The command dispatcher issues data to any of the nodes through a simple protocol. Consequently, you could probably reasonably connect up to about 64 or 128 nodes (more than that, though, would likely slow down due to the speed of the serial bus).
Oh yeah - and you could use it do physical computing with parallel processing, connect it to tons of relays, or experiment with physical feedback loops. In my case, I'm experimenting with different redundant architectures for small amateur rocket launches, to see which designs are most resistant to single node failure :-)
Post a Comment