The Pine64 folks have given us so many tasty pieces of hardware over the last few years, but it’s fair to say that their products are for experimenters rather than consumers and can thus be a little rough around the edges at times. Their Clusterboard for example is a Mini-ITX PCB which takes up to seven of their SOPINE A64 compute modules, and networks them for use as a cluster by means of an onboard Gigabit Ethernet switch. It’s a veritable powerhouse, but it has an annoying bug in that it appears reluctant to restart when told. [Eric Draken] embarked upon a quest to fix this problem, and while he got there in the end his progress makes for a long and engrossing read.
We journey through the guts of the board and along the way discover a lot about how reset signals are generated. The eventual culprit is a back-EMF generated through the reset distribution logic itself causing the low-pulled line to never quite descend into logic 0 territory once it has been pulled high, and the solution an extremely simple application of a diode. For anyone who wishes to learn about logic level detective work it’s well worth a look. Meanwhile the board itself with its 28 ARM cores appears to have plenty of potential. It’s even a board we’ve mentioned before, in a personal supercomputer project.
Cluster computing is a popular choice for heavy duty computing applications. At the base level, there are hobby clusters often built with Raspberry Pis, while the industrial level involves data centers crammed with servers running at full tilt. [greg] wanted something cheap, but with x86 support – so set about building a rig his own way.
The ingenious part of [greg]’s build comes in the source computers. He identified that replacement laptop motherboards were a great source of computing power on the cheap, with a board packing an i7 CPU with 16GB of RAM available from eBay for around £100, and with i5 models being even cheaper. With four laptop motherboards on hand, he set about stacking them in a case, powering them, and hooking them up with the bare minimum required to get them working. With everything wrapped up in an old server case with some 3D printed parts to hold it all together, he was able to get a 4-node Kubernetes cluster up and running for an absolute bargain price.
We haven’t seen spare laptop motherboards used in such a way before, but we could definitely see this becoming more of a thing going forward. The possibilities of a crate full of deprecated motherboards are enticing for those building clusters on the cheap. Of course, more nodes is more better, so check out this 120 Pi cluster to satiate your thirst for raw FLOPs.
Classic motorcycles are the wild west of information displays. Often lacking even basic instrumentation such as a fuel gauge and sometimes even a speedometer, motorcycles have come a long way in instrument cluster design from even 20 years ago. There’s still some room for improvement, though, and luckily a lot of modern bikes have an ECU module that can be tapped into for some extra information as [mickwheelz] illustrates with his auxiliary motorcycle dashboard.
This display is built for a modern Honda enduro, and is based upon an ESP32 module. The ESP32 is tied directly into the ECU via a diagnostic socket, unlike other similar builds that interface with a CAN bus specifically. It can monitor all of the bike’s activity including engine temperature, throttle position, intake air temperature, and whether or not the bike is in neutral. [mickwheelz] also added an external GPS sensor so the new display can also show him GPS speed and location information within the same unit.
[mickwheelz] credits a few others for making headway into the Honda ECU. [Gonzo] created a similar build using a Raspberry Pi and more rudimentary screen but was instrumental in gathering the information for this build. If you’re looking for a display of any kind for your antique motorcycle which is lacking an ECU, though, we would suggest a speedometer made with nixie tubes.
It isn’t that hard to assemble an array of Raspberry Pi boards and there are several reasons you might want to do so. The real trick is getting power to all of them and cooling all of them without having a mess of wires and keeping them all separated. The ClusterCTRL stack lets you stack up to five Raspberry Pi boards together. The PCB aligns vertically along the side of the stack of Pis with sockets for each pin header. Using a single 12 to 24V supply, it provides power for each board, a USB power connection, and provisions for two fans. There is also a USB port to control the fans and power.
There’s also a software component to deliver more granular control. Without using the software, the PI’s power on in one second and monitor a GPIO pin to control the fans. With the software, you can turn on or off individual nodes, gang the two fans to turn on together, and even add more stacks.
There is a case that you can print from STL files, although you can buy them preprinted on the Tindie listing where the bulk of information on ClusterCTRL is found. You could also have a 3D printing vendor run off a copy for you if you’d rather.
The power supply is a 10A 5.1V DC to DC converter. That works out to 2A per Pi and 51W total. The power supply for the input, then, needs to be enough to cover 51W, the power for the fans, and some overhead for regulator inefficiency and other small overhead.
We’ve seen a lot of Pi clusters over the years including one that is a good learning tool for cluster management. Of course, there’s always the Oracle cluster with 1,060 boards, which is going to take a bigger power supply.
If you’ve programmed much in Linux or Unix, you’ve probably run into the fork system call. A call to fork causes your existing process — everything about it — to suddenly split into two complete copies. But they run on the same CPU. [Tristan Hume] had an idea. He wanted to have a call, telefork, that would create the copy on a different machine in a Linux cluster. He couldn’t let the idea go, so he finally wrote the code to do it himself.
If you think about it, parts of the problem are easy while others are very difficult. For example, creating a copy of the process’s code and data isn’t that hard. Since the target is a cluster, the machines are mostly the same — it’s not as though you are trying to move a Linux process to a Windows machine.
Continue reading “Beam Your Program To Another Computer”
Raspberry Pi clusters are a common enough project, but a lot of the builds we see focus on the hardware side of the cluster. Once it’s up and running, though, what comes next? Raspberry Pis aren’t very powerful devices, but they can still be a great project for learning how to interact with a cluster of computers or for experimental test setups. In this project from [Dino], four Pis are networked together and then loaded with a basic set of software for cluster computing.
The first thing to set up, after the hardware and OS, is the network configuration. Each Pi needs a static IP in order to communicate properly. In this case, [Dino] makes extensive use of SSH. From there, he gets to work installing Prometheus and Grafana to use as monitoring software which can track system resources and operating temperature. After that, the final step is to install Ansible which is monitoring software specifically meant for clusters, which allows all of the computers to be administered more as a unit than as four separate devices.
This was only part 1 of [Dino]’s dive into cluster computing, and we hope there’s more to come. There’s a lot to do with a computer cluster, and once you learn the ropes with a Raspberry Pi setup like this it will be a lot easier to move on to a more powerful (and expensive) setup that can power through some serious work.
In it, the user is challenged in their knowledge of how to use the ubiquitous
curl in a variety of different ways. Perhaps this doesn’t sound terribly daunting, especially if your knowledge of curl is limited to knowing it is a command-line tool to fetch something from a web server. But curl has a staggering number of features. The man page is over 4500 lines in length. The software’s main site offers a (free) 250+ page guide on how to use curl and libcurl. Reflecting on this is exactly what led [Ben] to create his challenge.
It’s a wonderful piece of work, but things get really interesting once [Ben] starts talking about the infrastructure behind it all. At its core the game works by giving the user a problem and a virtual machine, and catching outgoing HTTP calls to see whether they look correct. If the outgoing HTTP call is the right solution for the problem, terminate the current VM and start up the next one with the next problem. He’s put a lot of work into getting suitable VMs up and running quickly, securely, and properly isolated. The code can be found on the project’s GitHub repository for those who want a closer look.
But that’s not all. [Ben] says that in the past he’s had a bad habit of presenting interactive features in his blog posts that can’t keep up with sudden demand. So to address that, the system auto-scales as needed with a small Linux cluster; small brick-sized PCs are started and shut down automatically to meet demand. Hey, the only thing cooler than a functioning cluster is a cluster doing an actual job, like this one that detects NSFW images.