Powered by a cluster of 256 Raspberry Pis, Virginia Tech’s stunning kinetic sculpture gives a visual representation
of how parallel processing works
Standing nine and a half feet tall, the SeeMore sculpture-cum-supercomputer suddenly whirrs into life, its green translucent panels sliding fluidly outwards in mesmerising waves across its spiral surface, delivering a physical representation of the computations being performed. Resembling something from a science-fiction movie, SeeMore is powered by a network of 256 Raspberry Pi Model B+s; one is attached to each plastic panel, whose articulating arm swings outwards whenever that particular Pi is actively working on a parallel computing task.
The full article can be found in The MagPi 40 and was written by Phil King
The idea for SeeMore originated in 2013 when Virginia Tech computer science professor Kirk Cameron was working on a 32-node Raspberry Pi cluster in his lab. Seeking a way to help more people understand the concept of parallel computing, he approached his colleague Sam Blanchard, assistant professor of sculpture, to help create an interactive art installation for that purpose. Since Sam’s main area of interest lies in robotic creations, he immediately suggested making a kinetic sculpture that responds to what’s going on inside the computer. “LCDs are cool,” explains Sam, “but you can really get a visceral reaction from people by showing them something that is moving… and has a presence in a space.”
Sam tells us that the cylindrical design of SeeMore was partially inspired by the classic Cray-1 supercomputer of the mid to late 1970s, a time when computers were far from being boring black boxes. “They had a physical presence, almost like a sculpture or a piece of furniture,” says Sam. Indeed, the Cray-1 even had a bench around it so that people in the office could sit and have their coffee! While SeeMore lacks a seating facility, its footprint is proportional to that of the Cray-1, although it’s almost twice as big and also has an hourglass shape to it. In addition, an early design decision was taken to deliberately expose all SeeMore’s workings, including the combined 2,736 feet (834m) of wiring, in much the same way as the Cray‑1. “One thing I really appreciated about that form was that it had this interior space and an exterior facade and so it was very transparent in the way that you could not just literally see through it but walk around and see [all the wires and workings],” reveals Sam.
The power of parallel
This transparency of design ties in perfectly with the project’s main aim of helping the general public to visualise how parallel computing works and emphasise the important work of high-performance computing researchers. As Kirk points out, we all benefit every day from the advances made in large-scale systems that are essential to the infrastructures of services like Google, Twitter, and Dropbox. “Yet, the general population that relies on these technologies doesn’t understand the importance and the elegance innate to what folks like us do. By using aesthetics and visualisation, my idea was to impart the most basic information such as the fact that we use lots of devices collectively and in parallel to solve problems larger than those we can solve with a single system. The algorithms you see on SeeMore represent synchronous and asynchronous communications and collaborations common in parallel codes and systems.”
When SeeMore was exhibited recently at the World Maker Faire in New York City, it was set up with a local open-source database to enable users to search (via a custom touchscreen) for points of interest around a given subway stop. Kirk tells us that multiple steps are required to for such a task. “The first is to break this problem into smaller sub-tasks such as having each Pi search part of a very large database of points of interest. In this example, the Pis in our cluster would be assigned portions of a database to search and all of them would be given the same subway stop as their ‘token’ to use in the search. This divide-and-conquer approach is a common algorithm used in parallel computing and this example is similar to the algorithm used in Google search and demonstrated on SeeMore.”
Scaling it up
Having started out with a modest budget, the project was gradually scaled up via three prototype stages, which used first one Raspberry Pi, then nine, and then 30 (see ‘Prototyping process’ boxout). Extra funding was subsequently provided by the National Science Foundation and Virginia Tech’s own Institute for Creativity, Arts and Technology, which enabled it to be scaled up to the final 256-node version.
SeeMore’s mechanisms were all custom-made and designed by Sam, and their design evolved over time. Most notably, the articulating arms that move the panel-mounted Pis were designed specifically to create a more fluid effect. “The movement of the Raspberry Pis is actually a curve… so it doesn’t just flap out, it articulates outward,” says Sam. “It has a double linkage that some might see as superfluous, or overly complex, but I think that what you get… is this waveform that relates to these ideas of fluidity and that springs from what a lot of parallel computers are built to process: things like weather simulation or fluid dynamics.”
Also, rather than moving straight to its maximum 90-degree outward position when triggered, each panel moves in proportion to the percentage of computing capacity being used by the respective Raspberry Pi. To achieve this, each Pi is linked to its arm’s servo via a GPIO pin. While in the prototype designs, the servo also received its power from the Pi, a switch from the original Pi Model B to the B+ for SeeMore’s final version necessitated that both be powered separately. Not wanting to overcomplicate the design with battery packs or external power supplies, Sam ended up buying PSUs with two USB ports so separate cables could be run to the Raspberry Pi and its servo.
On the software side, Kirk tells us that the combination of controlling the servos and running a full OS on the Pis led to complications. “For example, there is a software stack or a series of tools that we typically install on top of the operating system across the whole cluster. In the Pi environment, combining this stack with the servo controls and synchronising the movement of the Pis to running tasks was challenging… there is not a lot of community software support available since this had never been done. Thus, we created a lot of custom software to make this work in a visually compelling way.”
The arms themselves comprise a number of pieces made from HDPE (high-density polyethylene) plastic, milled out on a ShopBot CNC machine. These had bronze bearings inserted, all using steel shafts cut by the team. “Almost every single piece is custom: some people assume we bought those off the shelf, but I can assure you we spent many hours machining those pieces,” laughs Sam. He tells us that this provided students with many hours of milling experience.
The plastic panels are all laser-cut and etched with the IP address of the attached Pi in two places, so they can be seen whether the panel is flat or has moved out. Having started out with blue and clear panels, the team changed them to a translucent green for the New York Maker Faire. “I like the idea of customising the project for where we show it.”
The logistics of exhibiting SeeMore at an event involve it being transported in six crates and then assembled at the location. “My students and I show up three days ahead of time,” says Sam. Once the framework’s rings – which are split into two for shipping, with Pis still attached – are put back together, there’s a day and a half of wiring to be done. “It’s one guy on the outside and one guy on the inside, and then you’re just passing wires to each other. It’s actually pretty loose in there and I like to keep it that way: I like how the wires move on their own inside the structure.” While routing all the USB power lines correctly is a major challenge, Sam tells us that getting the Pi network connected is less problematic since the cables are connected to six 48‑port Ethernet switches in SeeMore’s base, so it doesn’t matter which ports they’re plugged into.
Although the overall assembly process is arduous, the end result is certainly spectacular, attracting a crowd of visitors at the couple of events at which SeeMore has appeared so far. Sadly, Sam tells us there’s no suitable space at Virginia Tech to keep SeeMore in assembled form, so it’s currently back in its crates, but there are plans to exhibit it again in 2016. Watch this space for more news.