I have been working with multi-threading and multiprocessing in python, and I started to reach the limits of what my desktop processor is capable of. My university has a surplus store and every once in a while there are some good computers for cheap. I decided to pick some of them up to use for a cluster computer. They are all dell computers, in total I had 34 cores to work with.
So here is the front view from my finalized cluster setup. I have 10, small form factor dells that have two cores each. They are sitting on top of two dell optiplexes with four cores each. Then in the middle is my main desktop pc that is not connected to the cluster. In the bottom square is a UPS and another dell optiplex with four cores, to the right of it, there is one more dell optiplex with two cores.
Most of the networking is on the top of the setup. I bought three ethernet cables for three dollars, and I crimped the cables to size to make everything more tidy than having many six foot ethernet cables for each computer. I am booting to linux from the usb drives. One of the reasons these computers were so cheap is because the university takes out the storage on each device, and I could get these usb drives for cheap, so it worked out for me.
In the future I would like to get something like the Kubernetes distribution K3s to work on this cluster. For now I was only able to setup a stress testing environment and send some python jobs. I was able to monitor all the devices cpu loads and temperatures and for the most part they all ran fairly cool, albeit at the cost of higher speeds.