Hot answers tagged

49

Some interesting questions. I think you may be slightly misunderstanding how the "supercomputers" built with Raspberry Pis work. They do not function as an automatic load sharing system. They are designed for something called parallel programming, where a complex task is broken down into pieces that can be performed simultaneously. The main Pi in the cluster ...


35

I suggest looking at Dispy - the distributed computation python module. To run a program on a number of Raspberry Pi's (nodes) from a PC (server - assume IP is 192.168.0.100): Install an operating system on each RasPi Attach each RasPi to your network. Find the IP (if dynamic), or set up static IPs. (Let's assume that you have three nodes, and their IPs ...


23

The general consensus is that clusters are a waste of bandwidth. Yes, your cluster will have access to the sum of all the processing power and RAM, but you are introducing network latency into your performance equation. If you are focused more on RAM than CPU, you could build a RAM-heavy desktop for the same price as your Pi cluster. You mentioned 20 Rpi2 ...


14

You definitely cannot upgrade the ram. It is mounted to the CPU and is not user upgradeable like a desktop computer is. You can't physically swap out the CPU either, what you may be able to do is overclock the CPU but that may already have been done. You can set the clock speed using the following command: sudo raspi-config. As for clustering, the program ...


10

Some guys at Southampton Uni have put together a cluster and written a detailed overview of their work at http://www.southampton.ac.uk/~sjc/raspberrypi/.


10

You should be aware of the work that has already been done - there's even a name for a cluster of RasPi boxen. The Embedded Linux Wiki says a Bramble is defined as "a Beowulf cluster of Raspberry Pi devices". Raspberry Pi Homebrew has a number of posts about Brambles, and see also the Foundation's own forum.


9

It's not really possible to simply upgrade RAM or CPU. Both are one solid package soldered onto the board. Cluster computing also won't solve this - it simply does not work like you'd hope it would. Bringing more than one computer to work at the same task is complex to say the least and the emulation software you run your games with can't profit from the ...


9

The pi seems like an economical device for developing systems of that sort and experimenting with them, but I don't think it is so feasible to then put such a cluster to use on real world problems and expect it to do well against some obvious options. If your end cost is ~$50 per pi (the board, an SD card, some cables for power and ethernet), then $400 will ...


8

There is a few things you can do. Put a fan/heatsink on your Raspberry Pi. This would prevent the CPU from throttling if it gets too hot, insuring stable performance and helping with 2. Overclock your CPU Just making it run faster should improve your performances, but you really want to look into 1. first. Tweak the RAM allocation towards GPU or CPU, ...


6

It is completely possible, but the biggest problem is attainability. It is an idea I would not only think workable, but useful as you could go with the idea of portable parallel computing. As far as specifics, coding languages like FORTRAN and C++ will do best. Look at beowulf.org for more on cluster computing


6

Short answer: probably It really depends on whether or not the process is able to be parallelized. Some processes just can't be split among the RPi's and therefore would not have any benefit from a cluster. But, rendering animations sounds like a task that would be able to be split up and therefore would benefit from a cluster. @Thingian said that it ...


6

Probably not. There's a few issues here. The raspberry pi runs the ARM arcitecture, and I've never seen rendering software that runs on it. The best renderfarm is useless if your software won't work. While pricier, x86 has better single threaded support, available software. While the on die ram might have lower latency, more and faster ram might be handy. ...


5

It really depend on computation model and your goals. I'm working on cluster for machine learning and my computation model focus on double precision matrix multiplication (best benchmark for cluster performance is linpack). Raspberry Pi after overclocking can give about 64 MFLOPS (double precision) in comparison my Notebook (Core Duo T9600 2.8 GHz) gives 1.9 ...


5

I really hate to be a ball buster here, but at what point did you associate Raspberry Pis and "high performance NAS." Although it'd be a cool project like this, Raspberry Pis just aren't that powerful. They're low cost for fully functioning computer, but they are by no means cheap for their computing power. I would recommend a device more adequately ...


5

There is no reason you couldn't design a custom PCB and stick a bunch of compute modules on them if you desired. There are a few "gotchas" though. This wouldn't be particularly powerful. The chips used in the Raspberry Pi are old. Relatively ancient in the way high performance computers work. Sure you can have a dozen of the RPi's SOC chips, but is that ...


5

No, this is not how any of this works. (Currently) VMware only works on x86 based instruction sets, which the RPI is not. VMware can manage clusters, but that doesn't imply one VM can span across multiple nodes. An active VM is always on exactly one host ... except for a few seconds when migrating, but even then it cannot use the combined resources of ...


5

NO! Do not interconnect those power sources or you will release the power supply Genie. Connect one ground (GND) line between the two Raspberry Pi's and any other power supplies all you want but never the power sources. The 5-Volt is the power coming from the USB connected power supply. The 3.3-Volt line is a "regulated" power conditioned from the 5-Volt ...


5

No you can't combine 2 Pi's to have better CPU speed. Any software designed for a cluster must be specifically written to do so. If you haven't already I suggest buying a Pi3B+, it is noticeably quicker than a Pi3B.


4

I was thinking about something similiar but being done with spare motherboards in my house. Clusters don't work like normal PCs. A cluster of slow computers is not the same as one fast. Clusters are designed to run cluster-targeted software. This software is coded to divide similiar parts of work to be done onto smaller pieces ready to be executed paralelly ...


4

With some reservations, the answer is probably "No". That is not to say that you can't make a cluster of raspberry pis (because you can), and not to say that you can't run minecraft on such a cluster (because you can), but rather that currently there is no implementation of a minecraft server that would actually benefit from such a setup. That is - the ...


4

We can't really tell since anyone (including me) might have already built a 5000-node cluster and simply did not publish their work. The largest one that's made aware to the public is, in fact, the GCHQ cluster. Update: This(link) is bigger. I might have a 10,000 node Pi 3 cluster in my secret Pacific ocean underwater lair. Muhahahahahha!


4

You would have to reprogram the legacy games entirely. Think about it this way: cluster computing with 2 Raspis would make sense only when you can split the task up between 2 computers. In addition, the processor is faster than the USB. There is little practical point for clustering. My advice would be to overclock the Raspi (would try first) or change in-...


4

For a rough measurement, I generated a 2000 x 2000 matrix with random integer entries between 0 and 9, and timed computation of the determinant in SageMath (I did this twice, with similar results). On my Raspberry Pi 4B, the computation took 15 minutes, compared to just over 3 minutes on my 10-year-old desktop with a quad-core i7-860 processor. The least ...


3

While not doing this with compute modules, I have 6 PI3's running together to test HA setups (database cluster sometimes, load balanced nginx servers other times). It's way cheaper to buy 6 pi's (and the various and sundry parts to get them running) than it is to lease 6 virtual machines or buy even a modest computer capable of hosting 6 VM's simultaneously....


3

You can definitely make you own. You can either cut up and existing micro usb cable, and solder the red and black (not always though) to a central (thicker) cable. You can also buy the plugs themselves Some people have powered the Pi though the GPIO header. The downside to this is that you bypass the polyfuse and the Transient voltage suppressor diode. So ...


3

Even if a game or emulator could make use of multiple computation units -- which is very, very unlikely, especially in older games designed for single-core platforms -- communication cost would likely be prohibitive for most gaming purposes. Every piece of information would have to go through the whole TCP/IP-Ethernet stack (unless you use special hardware ...


3

Of course not! Each node in your cluster needs to be able to load all of the textures / geometry etc. So it would limit the total size of your source data to (much less than) 1GB, but 20 copies. Instead, consider renting an EC2 instance, on demand : https://aws.amazon.com/ec2/pricing For example, a c3.8xlarge at $1.68 per hour will render much faster than ...


3

If you are going for max speed, then Python is not your friend. What it gains in flexibility it pays for in reduced capability for the compiler to perform substantial optimizations. Certain optimizations are simply not available to Python. Although I'm not a fan of Fortran specifically, you should also be aware that for matrix multiplication, you almost ...


2

Using your pi cluster to parallelize a closed-source PC application seems very difficult. First of all, some piece of the application must run on the Pi. For open source applications which run on the Pi and already have cluster support, it is quite possible. For Blender (as @InkBlend says), there is multiblend, which runs rendering in parallel on a cluster....


2

Apparently Broadcom will never create an openCL implemention for the GPU, so the short answer is no, unless you want to try some tricks with shaders/OGL as suggested in that link. Looks like someone's implemented CUDA emulation on the pi, but of course that won't really be using the GPU.


Only top voted, non community-wiki answers of a minimum length are eligible