5 ms·
I don't think that using a Raspberry Pi as a poor mans Transputer will be very satisfactory. The INMOS T800-20 was 20mhz and did 10 MIPS. However, it had four
by jdboyd 13y ago
I don't think that using a Raspberry Pi as a poor mans Transputer will be very satisfactory.
The INMOS T800-20 was 20mhz and did 10 MIPS. However, it had four links, each doing 20Mb/s, so it can communicate at about the same speed it process data.
By comparison, a RaspberryPi is ~700Mhz and 847MIPs, but proportionally IO is extremely starved. It barely is able to keep up with 100Mb ethernet which gives only slightly more bandwidth than the the Transputer had 30 years ago.
There are numerous cool things about the RaspberryPi, like the graphics, the community support for cool software, the HD camera option (and the company making an HDMI input adapter board to connect to the camera interface on the RPi). However, it strikes me as a terrible choice for clustering and I feel sad whenever I see someone talking about doing that.
A much better choice would be an ARM chip with built in gigabit ethernet. One possibility would be to find PogoPlugs. They aren't just a bare board, but they can often be found for under $20 with hardware gigabit ethernet, an 800mhz or 1.2ghz processor, and 128-512megs of RAM. Another option that is a little more expensive would be to use Biostar J1800NH with 2 gig RAM sticks, pico PSUs, booting from cheap flash drives, could probably be put together for $105 per node.
- chillingeffect 13y agoYes, this is a trope amongst the amateur fan base of the Raspberry Pi and it is familiar in many other avocations. "I know my hobby X is not good enough, but if I got enough of them, it might be way better than things actually designed to do X!" When it was first proposed to me about a year or two ago, to massively connect RPis, I quickly did the math and showed a simple top-of-the-line graphics card ( I did the numbers for a Radeon 7970 ) outperformed RPis at a factor of something like 10 to 1 in price/GFlops. That's without even considering interconnections. I know Jacques Mattheij is some kind of folkhero here on HN, so I'll tread lightly, but I find this weak as it's years overdue and comes complete with a non-committal call to someone else doing the action- not a value in this community. He implies his time is worth more than other people's: "Doing this will be [...] well worth it." "If anybody builds this let me know"
- rwmj 13y agoThose who haven't read Kumar, Grama, Gupta and Karpis[1], are doomed to rediscover it, painfully. [1] http://www.amazon.com/Introduction-Parallel-Computing-Analysis-Algorithms/dp/0805331700 http://www.amazon.com/Introduction-Parallel-Computing-Analys...
- chillingeffect 13y agoDo you happen to know if there's a particular term or metric that describes the cost of the overhead of interconnecting elements?
- rwmj 13y agoThe book (above) has a comprehensive series of equations you can use to measure the cost of interconnections in parallel algorithms. I can tell you I did an MSc-level course in this, and it is very complex, one of the hardest courses I did on what was a very difficult MSc. Edit: But basically your comment about interconnecting RPis with ethernet is completely true. It's a huge waste of time.
- jacquesm 13y agoRadeons and other GPU based solutions are extremely effective for some classes of problems but definitely not for all of them and they typically scale extremely bad if the problem does not map well onto the underlying architecture. I've been doing quite a bit of work using GPU's for problems that they are well suited to and the performance is extremely impressive. But as soon as you need more decoupling for whatever reason between the individual instruction streams they are not a very effective solution. The communications overhead made by the GP is a good point and I'll definitely look into that, the xmos stuff linked elsewhere in this thread is very interesting as well. Whether or not I'm a folk hero is up for debate, but feel free to speak as though you would to anybody else, I have 0 privileges here and would find it strange if people were to act differently because of my visibility. When I'm wrong I'm wrong. And as to your last point: I simply don't have the skills to route the board required, that's why this is a blog post without schematics or board layouts. That's not because 'my time is worth more than other people's', see my other projects as proof to the contrary. As for this being years overdue, the RasPi compute module has been out for only a few weeks.
- jacquesm 13y agoInteresting points about the bandwidth availability, I made the (naive) assumption that the RasPi compute module would be able to communicate at speed with its surroundings, otherwise it would not be usable for anything but proof-of-concepts and certain classes of problems. I'll have a really good look at the datasheet of the compute module to figure out what its exact limitations are, thanks for the pointers to alternatives.