Slashdot Mirror


University Team Builds Lego and Raspberry Pi Cluster

hypnosec writes about a neat little hack using Lego, Raspberry Pis, and Scratch to construct a "supercomputer." From the article: "A team of computational engineers over at the University of Southampton led by Professor Simon Cox have built a supercomputer using Raspberry Pi and Lego. The supercomputer is comprised of 64 processors, 1TB of storage (16GB SD cards in each of the Raspberry Pis) and can be powered on using just a single 13-amp mains socket. MPI is used for communications between the nodes through the ethernet port. The team managed to build the core of the supercomputer for under £2500. Named 'Iridis-Pi' after University of Southampton's supercomputer Iridis, the supercomputer runs software that was built using Python and Scratch. Professor Cox used the free plug-in 'Python Tools for Visual Studio' to develop code for the Raspberry Pi." Lots of pictures of the thing, and a howto on making your own.

4 of 147 comments (clear)

  1. Re:Want by the_humeister · · Score: 5, Informative

    Unfortunately, the term "supercomputer" isn't really being used properly. They built a cluster of computers, sure. But "supercomputer"??? Hardly. The Raspberry Pi uses a processor based on ARM v6. Lemme give a single-threaded rendering comparison (Povray 3.6 running the benchmark scene (here's what the benchmark image output looks like) with my old HTC Aria, which uses a Qualcomm MSM 7227 processor and has similar processor specs as the Raspberry Pi (ARM v6 + VFP2 floating point hardware):

    HTC Aria (MSM 7227 @ 0.6 GHz) *
        Debian 6.0(armel), gcc 4.4, -mfloat-abi=softfp -mthumb
        Parse Time: 0 hours 1 minutes 3 seconds (63 seconds)
        Photon Time: 0 hours 53 minutes 49 seconds (3229 seconds)
        Render Time: 57 hours 31 minutes 41 seconds (207101 seconds)
        Total Time: 58 hours 26 minutes 33 seconds (210393 seconds)

    For comparison, here's a faster ARM processor from my Samsung Galaxy S II:

    Exynos 4210 @ 1.2 GHz (ARM Cortex A9),
        Debian 7.0(armhf), gcc 4.6, -mcpu=cortex-a9 -mhard-float -mthumb -mfpu=vfpv3 -ffast-math -funsafe-math-optimizations
        Parse Time: 0 hours 0 minutes 4 seconds (4 seconds)
        Photon Time: 0 hours 1 minutes 33 seconds (93 seconds)
        Render Time: 1 hours 26 minutes 34 seconds (5194 seconds)
        Total Time: 1 hours 28 minutes 11 seconds (5291 seconds)

    And here's from an Intel Core i5 2400s @ 2.5 GHz:

    Core i5 2400s @ 2.5 GHz, Ubuntu 12.04, gcc 4.6, -march=corei7-avx
    Total Scene Processing Times
        Parse Time: 0 hours 0 minutes 1 seconds (1 seconds)
        Photon Time: 0 hours 0 minutes 14 seconds (14 seconds)
        Render Time: 0 hours 10 minutes 12 seconds (612 seconds)
        Total Time: 0 hours 10 minutes 27 seconds (627 seconds)

    The ARM v6 processor took more than 2 days to render something that takes 10 minutes on a Core i5. So, "supercomputer" this cluster is not.

    * You may say, "Hey, this test is running using soft-float! If you used hard float, it'd be faster!" Well, you would be right that it would render faster under hard float, but this processor still wouldn't finish rendering in less than a day, let alone come anywhere close to Core i5 or Cortex A9.

  2. Re:Want by the_humeister · · Score: 3, Informative

    Povray 3.6 is single threaded, so all results are single threaded.

  3. Re:Want by CastrTroy · · Score: 4, Informative

    Actually, Just ran a test, because I was a little amazed that the ARM 6 was so much slower than the A9. Here are my numbers. Parse Time: 0 hours 0 minutes 14 seconds (14 seconds) Photon Time: 0 hours 5 minutes 43 seconds (343 seconds) Render Time: 5 hours 58 minutes 53 seconds (21533 seconds) Total Time: 6 hours 4 minutes 50 seconds (21890 seconds) While the Raspberry Pi wasn't faster than the A9 (didn't expect it to be) it was way faster then ARM6 you tested on. Most likely due to the fact that it uses hard float.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  4. Re:Want by petermgreen · · Score: 3, Informative

    The GPs figures are off. He is using a horrible compiler setup, not only is he using the softfloat calling convention, he is using -mthumb which AIUI will prevent the code from making direct use of the hardware FPU (and I suspect he uwas using debians version of libc preventing indirect use of the hardware fpc through libc routines)at all on armv6. According to hexxeh the povray benchmark under raspbian gives the following results under raspbian on a PI.

    Total Scene Processing Times
    Parse Time: 0 hours 0 minutes 16 seconds (16 seconds)
    Photon Time: 0 hours 5 minutes 57 seconds (357 seconds)
    Render Time: 6 hours 13 minutes 57 seconds (22437 seconds)
    Total Time: 6 hours 20 minutes 10 seconds (22810 seconds)

    http://www.raspberrypi.org/phpBB3/viewtopic.php?f=9&t=4256&start=175

    Your price figures are off too. An i5 based compute node can be built for more like $500

    Similarlly the real price of a Pi node is quite a bit more than $25. Firstly the Pi you can actually buy and would want for this task (clustering needs networking support) has a base price of $35 not $25. Secondly that price excludes things like the power power supply the SD card, the network cable and the mouning hardware. The real cost of a Pi node is probablly more like $50.

    So the Pi is about 10 times lower per node than the i5

    My overall conclusion is if compute power per dolar is your goal then a smamler number of i5s is a much better bet than a larger numer of Pis.

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register