Folding@Home clustering with Raspberry Pi 3
I've recently begun working with my first Raspberry Pi 3, and I'm planning a new project.
The idea will be to set up an expandable array of Raspberry Pis that will be 100% dedicated to Folding. Each Pi 3 has four cores at 1.2ghz each and 1GB of LPDDR2-900 SDRAM, as well as a VideoCore IV GPU.
Build a base/rack for the units, ideally to be hung on a wall.
-- Will include a powered USB hub for distributing power
-- network hub/switch for connectivity
-- room for further expansion
Enable one Raspberry Pi 3 with Folding@Home, maximize single-unit computations, enable remote monitoring.
Once that's done:
- Liquid-cooled SoC
- Add more units
- Cluster units with BOINC
- 100% self-contained solar powered
- Upgrade from 32-bit to 64-bit Linux ????
Photos/progress will be posted here and probably blogged somewhere, so tune in to this thread for updates! Any guidance and insight along the way is much appreciated.
Seems like a fun project Just don't expect mondo-points from those little guys
Probably not. This is more of a "Can I do it?" project than anything.
One of the resources that I'm using is a cloud-based hosting service called Mythic Beasts that offers clustered hosting using raspberry pis. They have contributed quite a bit to the Pi's codebase and have a lot of good resources on clustering.
This will also be somewhat of a space and energy saver. I guess the cheapest way to Fold is with older, used mobo/procs but that takes up quite a bit of space. Let's say I have enough Pis to take up the space of a normal-sized ATX mobo. Will I get as many points from that array as I do with one mobo/cpu? Will the array use more energy than a single 500-600W PSU? Those will be the questions I will try to answer. Probably compare it to the proc/cpu/psu that I'm currently using for Folding.
Might want to add some cooling fans into the mix. Under load, the RPi3 tends to run pretty hot from my understanding (my RPi is never under load).
I imagine that a cooling fan will be used up until liquid cooling is implemented, but I'm not going to attempt overclocking until I go liquid.
Sounds good! I'm interested in your real world findings.
Sounds awesome! I particularly like the expandable aspect. For that, maybe Ansible, Chef, Puppet, Salt, or the like will make it easier.
I don't think there's a GNU/Linux* ARM build of Folding, but you could maybe get the Android version working. I'm not sure if it's any more difficult to deal with Android deployments in an automated way.
BOINC supports lots of great distributed computing projects, but not Folding. Nothing wrong with a SETI@Home cluster, though. You can see the compatible Android and Linux ARM projects here.
Probably don't need to, since the RAM is only 1GB. I'd just use whatever distro that makes your life the easiest, whether it's 32 or 64-bit.
* finally a scenario where the GNU/Linux pedant definition points to a practical difference!
I have been reading up on people running Android on Raspberry Pi 3. The Android app makes me hopeful that they will have more ARM/SoC options available in the near future. As a backup, however, I believe that I can still use the Chrome browser version. We shall see.
Yeah, this part will depend on an ARM version of Folding@Home as well, but if I have to wait, there will just be a bunch of single Pis running on their own. I feel though that once there are binaries for ARM processors, the rest will come quickly.