Low-power chips to model a billion neurons

August 1, 2012
spinnaker_machine_architecture

SpiNNaker’s machine architecture is divided into three fundamental layers. Each chip contains 18 cores that act like neurons, sending and receiving signals. All information on the connections’ delays and strengths is stored in a layer of synchronous dynamic RAM (SDRAM) on each chip, and all signals pass through a separate router layer. (Credit: APT Advanced Processor Technologies Research Group)

A miniature, massively parallel computer, powered by a million ARM processors, could produce the best brain simulations yet, Steve Furber suggests in IEEE Spectrum.

With traditional digital circuits, that would require a supercomputer that’s 1000 times as powerful as the best ones we have available today. And we’d need the output of an entire nuclear power plant to run it.

Fortunately, there are at least half a dozen projects dedicated to building brain models using specialized analog circuits that can model brain activity as fast as or even faster than it really occurs, and they consume a fraction of the power.

But analog chips do have one serious drawback — they aren’t very programmable.

“To help things along, my colleagues and I are building something a bit different: the first low-power, large-scale digital model of the brain,” says Furber. “Dubbed SpiNNaker, for Spiking Neural Network Architecture, our machine looks a lot like a conventional parallel computer, but it boasts some significant changes to the way chips communicate. We expect it will let us model brain activity with speeds matching those of biological systems but with all the flexibility of a supercomputer.”

Over the next year and half, Furber’s team plans to create SpiNNaker by connecting more than a million ARM processors, the same kind of basic, energy-efficient chips that ship in most of today’s mobile phones. When it’s finished, SpiNNaker will be able to simulate the behavior of 1 billion neurons. That’s just 1 percent as many as are in a human brain but more than 10 times as many as are in the brain of one of neuroscience’s most popular test subjects, the mouse.

“With any luck, the machine will help show how our brains do all the incredible things that they do, providing insights into brain diseases and ideas for how to treat them. It should also accelerate progress toward a promising new way of computing.”

There have actually been some pretty impressive (but slow) supercomputer models that have managed to reproduce neuron operation with great fidelity, like the ongoing Blue Brain Project.

spinnaker_chips

To keep SpiNNaker as compact as possible, the machine’s chips are packed together in sets of 48 onto 23-centimeter-square boards [left]. A SpiNNaker chip contains 18 ARM9 cores [above], each with local RAM. Cores communicate with one another and with more-distant cores via a router at the center of each chip. All the information on the connectivity of the system is uploaded to these routers. (Credit: left: Norcott Technologies Limited; right: University of Manchester)

One way to speed things up is by using custom-made analog circuits that directly mimic the operation of the brain, says Furber.

But as speedy and efficient as analog circuits are, they’re not very flexible; their basic behavior is pretty much baked right into them.

And that’s unfortunate, because neuroscientists still don’t know for sure which biological details are crucial to the brain’s ability to process information and which can safely be abstracted away.

“In 2005, my colleagues and I set out to find a good compromise between the shortcomings of the traditional digital and analog approaches to brain modeling. We wanted to come up with a system that would be capable of modeling brain activity in real time, as analog circuits do, yet be as programmable as a general-purpose digital computer.”

The result: SpiNNaker, which received £5 million ($8 million) from the United Kingdom’s Engineering and Physical Sciences Research Council in 2006. Four U.K. universities — Cambridge, Manchester, Sheffield, and Southampton — are involved in the project, along with three industry partners, ARM, Silistix, and Thales, which contributed the processor and interconnect technologies.

The machine will consist of 57 600 custom-designed chips, each of which contains 18 low-power ARM9 processor cores. Such chips are, of course, eminently programmable. At the center of each chip, we place a specially designed router that receives and directs all the packets coming from the cores and forms links with neighboring chips. We stack 128 megabytes of synchronous dynamic RAM, or SDRAM, on top of each chip to hold the connectivity information for up to 16 million synaptic connections.

As with most other brain models, SpiNNaker’s operation is centered on the “spike” — an idealization of the electrical impulse sent out by firing neurons. The information needed to model a spike is tiny: You can condense it down to a single packet containing just 40 bits.

But things get complicated when you set out to pass around as many of those packets as the brain does. To model even 1 percent of the human brain could involve wrangling 10 billion packets a second, each of which might need to be sent along to dozens of other chips containing hundreds of processors.

The team eliminated this problem by taking those routing responsibilities away from the processors. In SpiNNaker, a processor modeling a spiking neuron sends a small packet that uniquely identifies the neuron to the router at the center of the chip.

When a router receives a packet, it looks up the packet’s unique identifier in a precomputed table that lists all the connections between neurons. Then the router passes copies of the packet out to other processors on the same chip or to routers on six adjacent chips. All the processors do is receive spikes and, if the total spike input is strong enough, generate new spikes.

“In SpiNNaker we cannot implement anything like the hundreds of thousands of physical connections that are sometimes found among individual neurons. However, we can make up for that weakness by exploiting the computational power of the cores as well as the millionfold speed advantage that signals moving along metal wires have over biological ones.

“Because modeling a single spike requires only a fraction of the core’s time, we can save on space and power by packing about a thousand simulated neurons onto every processor. The output signals generated by the interaction of those thousand neurons come in the form of spikes, which we send out using only the wires that connect each of the processors and routers. We can keep all these overlapping signals in order by using careful multiplexing.

“The basic operation of SpiNNaker involves mapping a problem onto the machine — setting up the connectivity graphs in the machine’s routing hardware — and then letting the model run with the spikes flying where and when they may.

“With SpiNNaker, there is effectively no difference between communicating with a nearby processor and one that’s many chips away. We can upload any neural network we’d like, and the exact way that processors are connected should have no bearing on how fast that neural network can be modeled.

“In a sense, the SpiNNaker machine could be considered a rewirable computer — an enormous version of the field-programmable gate array chip, or FPGA, specialized for neurons. With appropriate tweaking, it should be able to model any part of the brain we choose.

“SpiNNaker won’t get us all the way to full-scale simulations of the human brain. But the machine’s communications architecture could help pave the way for better-networked analog chips that could get us there. It will also help show us what information we need to make good models. Then we can really put our brains to use.”