4 ms·
What sort of cost to performance do these give? Is it actually more cost effective to purchase and run 6 RPis compared to commodity x86 hardware? How about comp
by leoedin 11y ago
What sort of cost to performance do these give? Is it actually more cost effective to purchase and run 6 RPis compared to commodity x86 hardware? How about compared to the cost of computing your job on one of the numerous cloud based offerings? I've never really been faced with a compute job that takes long enough to be worth investigating parallelisation, so I'm fairly ignorant in that regard.
This is certainly a neat project (and perhaps provides a nice talking point), but is it more than that?
- stkim1 11y agoIn terms of performance per cost, the cluster isn't on par with x86 system. Probably, not even close. Nonetheless, the network cost is real, and you get to have a first hand experience of how your algorithm performs.
- geerlingguy 11y agoA cluster of six Raspberry Pi 2s running Drupal (a PHP CMS) is about 20% slower than a single i7 laptop with an SSD for general usage, and can be _much_ slower if your usage requires lots of disk or network I/O. The 4-core ARMv7 chip in the Pi 2 is way faster than the chip in previous Pis, but it's not a speed demon by any means. And the network I/O (and all I/O) being tied down to a slowish USB 2.0 bus means you're limited to ~90 Mbps through LAN, or ~200 Mbps if you use a USB 3.0 network adapter. Even trying a fast SSD plugged into one of the USB ports (rather than a comparatively slow 'Extreme Pro' microSD card), you won't get a huge performance boost because of limited I/O bandwidth. See many, many more benchmarks on this wiki: https://github.com/geerlingguy/raspberry-pi-dramble/wiki https://github.com/geerlingguy/raspberry-pi-dramble/wiki P.S. I have a cluster of six Pi 2s running http://www.pidramble.com/ http://www.pidramble.com/, and I'm actually considering moving more of my hobby/very-low-traffic sites over to it, since it's a sunk cost of $400 whereas many of these small sites are currently on $5 or $10/month servers.
- kiddico 11y agoWhat's this about using a USB 3 ethernet adapter? Does the RPI have usb 3 ports? If so I've been missing out...
- geerlingguy 11y agoNo, but you can only buy USB 3.0 adapters with gigabit ratings (all the USB 2.0 adapters max out at 10/100). See: http://www.midwesternmac.com/blogs/jeff-geerling/getting-gigabit-networking http://www.midwesternmac.com/blogs/jeff-geerling/getting-gig...
- Sanddancer 11y agoThere are several USB 2.0 gigabit ethernet dongles out there. They'll obviously only reach a max of 480mbit/sec, but so will the 3.0s on a 2.0 bus.
- rasz_pl 11y ago>about 20% slower than a single i7 laptop this number seems too low, hmm ah, you mean the 'funny' 1.7GHz i7 >or ~200 Mbps if you use a USB 3.0 network adapter how is usb 3.0 going to help usb 2.0 pee? I think you meant GigE usb adapter, but looking at your tests even that merely got close to wired 100mbit speed :( >sunk cost of $400 coincidentally thats the cost of a used i7 laptop :) or a purpose build home server All in all such cluster is a cool hobby/learning project, but I wouldnt run anything serious on it.
- stephencanon 11y agoAs a learning tool, this is really cool. For practical compute workloads, it's not very interesting. A Cortex-A7 core @ 900MHz has a peak of 1.8 Gflops (single-precision; 450 Mflops for double). Assuming that you could actually achieve peak for the cluster as a whole (you can't for non-trivial problems because of communication overhead), that would give you 43 Gflops in single precision and 10.8 Gflops in double. A single Haswell core clocked at a very conservative 2 GHz has a peak of 64 Gflops in single-precision and 32 Gflops in double, without communication overhead because it's a single core. More importantly, the Cortex-A7 is a 32-bit machine, so working on big problems is painful (though it does support LPAE). There's also much better availability of highly-tuned compute libraries for x86 and GPUs. You're going to be writing your own compute kernels to get near peak on the cluster of Cortex-A7.
- rcarmo 11y agoWell, for me it's a way to learn how to squeeze more performance from a codebase, and a healthy reminder that not everything on the planet runs on x64 machines. Having to port stuff to a different architecture (or even having to rebuild tools/packages you'd ordinarily have on x64 but not on ARM) is a sobering experience. Anyway, the Oracle JDK (1.8) runs speedily enough on these, and you can run ElasticSearch or Hazelcast just fine -- and focus on optimising things. Like the quote goes, "if you want to write fast software, do it on a slow computer"