The Raspberry Pi, a credit card sized, $35 computer, is a runaway success, exceeding even the wildest expectations of anyone in the hobbyist or educational communities. The latest version contains a 900 MHz quadcore ARM processor, 1 GB of DRAM, multiple USB ports, a 10/100 Ethernet port, an HDMI interface and 40 GPIO pins (for external device interfaces). Permanent storage is via a Micro SD card slot.
Assuming one has either an HDMI-capable digital television or desktop computer display, the only additional requirements are a USB keyboard/mouse and a Micro SD card of at least 8 GB capacity. Chances are most of us have all of these; if not, another $30 suffices for all but the display. Thus configured, the Raspberry Pi can run several variants of Linux and, as well as the forthcoming embedded version of Windows10.
All of this takes me back to a time in the early 1980s, when I walked to graduate school every day (in the snow, uphill both ways), Pac-Man was a state of the art video game, and the Rubik's Cube was bringing recreational group theory to the masses (though they didn't know it). A DEC VAX 11/780 with 2-8 MB of DRAM running the Berkeley Software Distribution (BSD) of UNIX was the de facto standard research environment for academic computer science.
At a time when batch computing and timeshared university mainframes defined academic research, these BSD VAX systems, along with the National Science Foundation (NSF) Coordinated Experimental Research (CER) program and the CSNET academic network, were transformative. It is no exaggeration to say that modern, experimental computer science can be traced directly to this environment. All of which is why Bill Joy once called the 1 MIPS of the VAX 11/780 the "electron volt of computing."
The Raspberry Pi is a more capable system in almost every way than that departmental VAX – faster, with a larger memory and bigger secondary storage system – as well having a richer base of open source software and access to the global Internet. It is a very tangible and inexpensive manifestation of Moore's Law. However, to quote from the movie Airplane!, that's not important right now. (I am serious. And don't call me Shirley.)
What is important is the transformative effect of the Raspberry Pi and related, inexpensive computing devices on both education and innovation. (The Kickstarter-funded Adapteva Parallela multicore processor is another.) Raspberry Pi's now serve as robot controllers, research sensors, web servers, and software development platforms; they are the darling of hobbyists and the maker movement.
However, the creation nearest and dearest to my heart has been the widespread development of Raspberry Pi Beowulf clusters for parallel computing education. These systems use inexpensive Ethernet switches to create systems similar to the Caltech Cosmic Cube, a seminal design for message-based parallel computing created by Chuck Seitz and Geoffrey Fox in the early 1980s.
Although not fast by today's parallel computing standards, these Raspberry Pi clusters allow students to construct complete parallel systems, ranging from small, development clusters (4-8 nodes) to larger (40-120+ nodes) research systems. More importantly, they expose all aspects of hardware and software configuration, bringing experiential parallel computing to a broad new class of students. (The construction recipe for ORNL's Tiny Titan is one of many such examples.) Even more importantly, the clusters let students run real-world parallel applications.
I would have dearly loved to have one of these clusters for parallel computing research back in the early 1980s. At that time, Richard Fujimoto and I were writing Ph.D. theses at UC-Berkeley and Purdue, respectively, about various aspects of message passing machines. We then collaborated on a book about what we then called multicomputer networks. We have come a long, long way since then.
Yes, I will have some Raspberry Pi. In fact, I'll have a cluster.
Comments
You can follow this conversation by subscribing to the comment feed for this post.