Thursday, August 20, 2009

Hardware Hackers Create a Modular Motherboard by Priya Ganapati

An ambitious group of hardware hackers have taken the fundamental building blocks of computing and turned them inside out in an attempt to make PCs significantly more efficient.

The group has created a motherboard prototype that uses separate modules, each of which has its own processor, memory and storage. Each square cell in this design serves as a mini-motherboard and network node; the cells can allocate power and decide to accept or reject incoming transmissions and programs independently. Together, they form a networked cluster with significantly greater power than the individual modules.

The design, called the Illuminato X Machina, is vastly different from the separate processor,memory and storage components that govern computers today.

“We are taking everything that goes into motherboard now and chopping it up,” says David Ackley, associate professor of computer science at the University of New Mexico and one of the contributors to the project. “We have a CPU, RAM, data storage and serial ports for connectivity on every two square inches.”

A modular architecture designed for parallel and distributed processing could help take computing to the next level, say its designers. Instead of having an entire system crash if a component experiences a fatal error, failure of a single cell can still leave the rest of the system operational. It also has the potential to change computing by ushering in machines that draw very little power.

“We are at a point where each computer processor maxes out at 3Ghz (clock speed) so you have to add more cores, but you are still sharing the resource within the system,” says Justin Huynh, one of the key members of the project. “Adding cores the way we are doing now will last about a decade.”

Huynh and his team are no strangers to experimenting with new ideas. Earlier this year, Huynh and his partner Matt Stack created the Open Source Hardware Bank, a peer-to-peer borrowing and lending club that funds open source hardware projects. Stack first started working on the X Machina idea about 10 months ago.

Computing today is based on the von Neumann architecture: a central processor, and separate memory and data storage. But that design poses a significant problem known as the von Neumann bottleneck. Though processors can get faster, the connection between the memory and the processor can get overloaded.That limits the speed of the computer to the pace at which it can transfer data between the two.

“A von Neumann machine is like the centrally planned economy, whereas the modular, bottom up, interconnected approach would be more capitalist,” says Ackley.”There are advantages to a centrally planned structure but eventually it will run into great inefficiencies.”

By creating modules, Huynh and his group hope to bring a more parallel and distributed architecture. Cluster-based systems aren’t new. They have been used in high end computing extensively. But with the Illuminato X Machina they hope to extend the idea to a larger community of general PC users.

“The way to think of this is that it is a system with a series of bacteria working together instead of a complex single cell amoeba,” says JP Norair, architect of Dash 7, a new wireless and data standard. An electrical and computer engineering graduate from Princeton University, Norair has studied modular architecture extensively.

Each X Machina module has a 72 MHz processor (currently an ARM chip), a solid state drive of 16KB and 128KB of storage in an EEPROM (electrically erasable programmable read-0nly memory) chip. There’s also an LED for display output and a button for user interaction.

Every module has four edges, and each edge can connect to its neighbors. It doesn’t have sockets, standardized interconnects or a proprietary bus. Instead, the system uses a reversible connector. It’s smart enough to know if it is plugged into a neighbor and can establish the correct power and signal wires to exchange power and information, says Mike Gionfriddo, one of the designers on the project.

The X Machina has software-controlled switches to gate the power moving through the system on the fly and a ‘jumping gene’ ability, which means executable code can flow directly from one module to another without always involving a PC-based program downloader.

Each Illuminato X Machina node also has a custom boot loader software that allows it to be programmed and reprogrammed by its neighbors, even as the overall system continues to run, explains Huynh. The X Machina creators hope to tie into the ardent Arduino community. Many simple Arduino sketches will run on the X Machina with no source code changes, they say.

Still there are many details that need to be worked out. Huynh and his group haven’t yet benchmarked the system against traditional PCs to establish exactly how the two compare in terms of power consumption and speeds. The lack of benchmarking also means that they have no data yet on how the computing power of an X Machina array compares to a PC with an Intel Core 2 Duo chip.

Programs and applications have also yet to be written for the X Machina to show whether it can be an effective computing system for the kind of tasks most users perform. To answer some of these questions, Ackley plans to introduce the Illuminato X Machina to his class at the University of New Mexico later this month. Ackley hopes students of computer science will help understand how traditional computer programming concepts can be adapted to this new structure.

So far, just the first few steps towards this idea have been taken, says Huynh.

Norair agrees. “If they can successfully get half the power of an Intel chip with a cluster of microcontrollers, it will be a great success,” he says, “because the power consumption can be so low on these clusters and they have a level of robustness we haven’t seen yet.”

No comments: