PicoCray - Raspberry Pi Pico Cluster

Parallel Computing On The PicoCray RP2040 Cluster

[ExtremeElectronics] cleverly demonstrates that if one Raspberry Pi Pico is good, then nine must be awesome.  The PicoCray project connects multiple Raspberry Pi Pico microcontroller modules into a parallel architecture leveraging an I2C bus to communicate between nodes.

The same PicoCray code runs on all nodes, but a grounded pin on one of the Pico modules indicates that it is to operate as the controller node.  All of the remaining nodes operate as processor nodes.  Each processor node implements a random back-off technique to request an address from the controller on the shared bus. After waiting a random amount of time, a processor will check if the bus is being used.  If the bus is in use, the processor will go back to waiting.  If the bus is not in use, the processor can request an address from the controller.

Once a processor node has an address, it can be sent tasks from the controller node.  In the example application, these tasks involve computing elements of the Mandelbrot Set. The particular elements to be computed in a given task are allocated by the controller node which then later collects the results from each processor node and aggregates the results for display.

The name for this project is inspired by Seymore Cray. Our Father of the Supercomputer biography tells his story including why the Cray-1 Supercomputer was referred to as “the world’s most expensive loveseat.” For even more Cray-1 inspiration, check out this Raspberry Pi Zero Cluster.

Cluster Your Pi Zeros In Style With 3D Printed Cray-1

From a performance standpoint we know building a homebrew Raspberry Pi cluster doesn’t make a lot of sense, as even a fairly run of the mill desktop x86 machine is sure to run circles around it. That said, there’s an argument to be made that rigging up a dozen little Linux boards gives you a compact and affordable playground to experiment with things like parallel computing and load balancing. Is it a perfect argument? Not really. But if you’re anything like us, the whole thing starts making a lot more sense when you realize your cluster of Pi Zeros can be built to look like the iconic Cray-1 supercomputer.

This clever 3D printed enclosure comes from [Kevin McAleer], who says he was looking to learn more about deploying software using Ansible, Docker, Flask, and other modern frameworks with fancy sounding names. After somehow managing to purchase a dozen Raspberry Pi Zero 2s, he needed a way to keep them all in a tidy package. Beyond looking fantastically cool, the symmetrical design of the Cray-1 allowed him to design his miniature version in such a way that each individual wedge is made up of the same identical  set of 3D printed parts.

In the video after the break, [Kevin] explains some of the variations the design went through. We appreciate his initial goal of making it so you didn’t need any additional hardware to assemble the thing, but in the end you’ll need to pick up some M2.5 standoffs and matching screws if you want to build one yourself. We particularly like how you can hide all the USB power cables inside the lower “cushion” area with the help of some 90-degree cables, leaving the center core open.

This isn’t the first time we’ve seen somebody build their own tiny Cray-1. A particularly dedicated hacker built his own 1/10th scale replica of the 1970s supercomputer powered by an FPGA back in 2010, and eventually got to the point of trying to boot original software on it.

Continue reading “Cluster Your Pi Zeros In Style With 3D Printed Cray-1”

Hackaday Podcast 002: Curious Gadgets And The FPGA Brain Trust

In this week’s podcast, editors Elliot Williams and Mike Szczys look back on favorite hacks and articles from the week. Highlights include a deep dive in barn-door telescope trackers, listening in on mains power, the backstory of a supercomputer inventor, and crazy test practices with new jet engine designs. We discuss some of our favorite circuit sculptures, and look at a new textile-based computer and an old server-based one.

This week, a round table of who’s-who in the Open Source FPGA movement discusses what’s next in 2019. David Shah, Clifford Wolf, Piotr Esden-Tempski, and Tim Ansell spoke with Elliot at 35C3.

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (60 MB or so.)

Continue reading “Hackaday Podcast 002: Curious Gadgets And The FPGA Brain Trust”

Seymour Cray, Father Of The Supercomputer

Somewhere in the recesses of my memory there lives a small photograph, from one of the many magazines that fed my young interests in science and electronics – it was probably Popular Science. In my mind I see a man standing before a large machine. The man looks awkward; he clearly didn’t want to pose for the magazine photographer. The machine behind him was an amazing computer, its insides a riot of wires all of the same color; the accompanying text told me each piece was cut to a precise length so that signals could be synchronized to arrive at their destinations at exactly the right time.

My young mind was agog that a machine could be so precisely timed that a few centimeters could make a difference to a signal propagating at the speed of light. As a result, I never forgot the name of the man in the photo – Seymour Cray, the creator of the supercomputer. The machine was his iconic Cray-1, the fastest scientific computer in the world for years, which would go on to design nuclear weapons, model crashes to make cars safer, and help predict the weather.

Very few people get to have their name attached so firmly to a product, let alone have it become a registered trademark. The name Cray became synonymous with performance computing, but Seymour Cray contributed so much more to the computing industry than just the company that bears his name that it’s worth taking a look at his life, and how his machines created the future.

Continue reading “Seymour Cray, Father Of The Supercomputer”

Help [Chris] Boot His Cray-1 Supercomputer

[Chris Fenton] needs your help. After constructing a 1/10th scale, cycle accurate Cray-1 supercomputer and finding a disk with Cray software on it, he’s ready to start loading the OS. There’s a small problem, though: no one knows how to boot the thing.

[Chris] posted a disk image for a Cray-1/X-MP with the help of the people at archive.org. Now he needs your help – if you think you can reverse engineer the file system, [Chris] will pay handsomely with a miniature model of a Cray printed on his MakerBot. In any case, it seems like a fun challenge.

From our quick glance at the disk image with a HEX editor, it looks like [Chris] has something special on his hands. We see a few references to “Cray memory and registers,” as well as “IOP-0 Kernel, Version 4.2.2” in the header along with a few dates referencing July of 1989.  This is consistent with the history of the source disk pack. If you think you’ve got what it takes to reverse engineer the file system of a Cray-1, this is your chance.

Recovering Data For A Homemade Cray

In our hubris, we pat ourselves on the back when we’re able to pull data off our old SCSI drives. [Chris Fenton]’s attempt to get an OS for a homebrew Cray-1 puts us rightfully to shame.

Last year we saw [Chris]’ fully functional 1/10th scale Cray-1 supercomputer built around FPGA. While the reproduction was nearly cycle-accurate, [Chris] hasn’t had an opportunity to test out his system because of the lack of available Cray software. A former Cray employee heard of his plight and loaned an 80 Megabyte CDC 9877 disk pack to in the hope of getting some system software.

[Chris] acquired a monstrous 100 pound disk drive to read the disk pack, but after 30 years in storage a lot of electrical problems cropped up. Since reading the drive digitally proved to be an exercise in futility, [Chris] hit upon the idea of taking analog data straight from the read head. This left him with a magnetic image of the disk pack that was ready for some data analysis.

After the disk image was put up on the Internet, the very talented [Yngve AAdlandsvik] figured out the data, header, and error correction formats and sent [Chris] a Python script to tease bits from the analog image. While no one is quite sure what is on the disk pack provided by the Cray employee, [Chris] is remarkably close to bringing the Cray-1 OS back from the dead. There’s also a great research report [Chris] wrote as penance for access to the CDC disk drive. Any Hack A Day readers feel like looking over the data and possibly giving [Chris] a hand?

Tiny Cray-1 Courtesy Of An FPGA

[Chris Fenton] spent a year and a half constructing a 1/10th scale Cray-1 reproduction. The famous supercomputer was meticulously modelled in a field programmable gate array for a “nearly cycle-accurate” reproduction. [Chris’] hardware of choice for the project is a Xilinx Spartan-3E 1600 development board, using 75-80% of the available resources. The finished product runs at 33 MHz and is missing a few functions but it sounds like they don’t affect code execution. We like that he didn’t stop with the processor implementation, but also took the time to produce a case for the development board that looks just like the original.

Unlike the Atari 2600 FPGA project, we’re not quite sure what we’d use this for. But that doesn’t diminish the excellence of his work.