Computing experts unveil superefficient 'inexact' chip

May 17, 2012
In terms of speed, energy consumption and size, inexact computer chips like this prototype, are about 15 times more efficient than today's microchips. Credit: Avinash Lingamneni/Rice University/CSEM

Researchers have unveiled an "inexact" computer chip that challenges the industry's dogmatic 50-year pursuit of accuracy. The design improves power and resource efficiency by allowing for occasional errors. Prototypes unveiled this week at the ACM International Conference on Computing Frontiers in Cagliari, Italy, are at least 15 times more efficient than today's technology.

The research, which earned best-paper honors at the conference, was conducted by experts from Rice University in Houston, Singapore's Nanyang Technological University (NTU), Switzerland's Center for Electronics and Microtechnology (CSEM) and the University of California, Berkeley.

"It is exciting to see this technology in a working chip that we can measure and validate for the first time," said project leader Krishna Palem, who also serves as director of the Rice-NTU Institute for Sustainable and Applied Infodynamics (ISAID). "Our work since 2003 showed that significant gains were possible, and I am delighted that these working chips have met and even exceeded our expectations."

ISAID is working in partnership with CSEM to create new technology that will allow next-generation inexact microchips to use a fraction of the electricity of today's .

"The paper received the highest peer-review evaluation of all the Computing Frontiers submissions this year," said Paolo Faraboschi, the program co-chair of the ACM Computing Frontiers conference and a distinguished technologist at Hewlett Packard Laboratories. "Research on approximate computation matches the forward-looking charter of Computing Frontiers well, and this work opens the door to interesting energy-efficiency opportunities of using inexact hardware together with traditional processing elements."

This comparison shows frames produced with video-processing software on traditional processing elements (left), inexact processing hardware with a relative error of 0.54 percent (middle) and with a relative error of 7.58 percent (right). The inexact chips are smaller, faster and consume less energy. The chip that produced the frame with the most errors (right) is about 15 times more efficient in terms of speed, space and energy than the chip that produced the pristine image (left). Credit: Rice University/CSEM/NTU

The concept is deceptively simple: Slash power use by allowing processing components -- like hardware for adding and multiplying numbers -- to make a few mistakes. By cleverly managing the probability of errors and limiting which calculations produce errors, the designers have found they can simultaneously cut energy demands and dramatically boost performance.

One example of the inexact design approach is "pruning," or trimming away some of the rarely used portions of digital circuits on a microchip. Another innovation, "confined voltage scaling," trades some performance gains by taking advantage of improvements in processing speed to further cut power demands.

In their initial simulated tests in 2011, the researchers showed that pruning some sections of traditionally designed microchips could boost performance in three ways: The pruned chips were twice as fast, used half as much energy and were half the size. In the new study, the team delved deeper and implemented their ideas in the processing elements on a prototype silicon chip.

"In the latest tests, we showed that pruning could cut energy demands 3.5 times with chips that deviated from the correct value by an average of 0.25 percent," said study co-author Avinash Lingamneni, a Rice graduate student. "When we factored in size and speed gains, these chips were 7.5 times more efficient than regular chips. Chips that got wrong answers with a larger deviation of about 8 percent were up to 15 times more efficient."

Project co-investigator Christian Enz, who leads the CSEM arm of the collaboration, said, "Particular types of applications can tolerate quite a bit of error. For example, the human eye has a built-in mechanism for error correction. We used inexact adders to process images and found that relative errors up to 0.54 percent were almost indiscernible, and relative errors as high as 7.5 percent still produced discernible images."

Palem, the Ken and Audrey Kennedy Professor of Computing at Rice, who holds a joint appointment at NTU, said likely initial applications for the pruning technology will be in application-specific processors, such as special-purpose "embedded" like those used in hearing aids, cameras and other electronic devices.

The inexact hardware is also a key component of ISAID's I-slate educational tablet. The low-cost I-slate is designed for Indian classrooms with no electricity and too few teachers. Officials in India's Mahabubnagar District announced plans in March to adopt 50,000 I-slates into middle and high school classrooms over the next three years.

The hardware and graphic content for the I-slate are being developed in tandem. Pruned chips are expected to cut power requirements in half and allow the I-slate to run on solar power from small panels similar to those used on handheld calculators. Palem said the first I-slates and prototype hearing aids to contain pruned chips are expected by 2013.

Explore further: Ant colonies help evacuees in disaster zones

Related Stories

Indian district plans to adopt 50,000 I-slate tablets

Mar 19, 2012

The U.S.- and Singapore-based creators of the I-slate educational tablet and local government officials in India's Mahabubnagar District plan to adopt 50,000 of the low-cost electronic educational slates into ...

Indian schools to benefit from new computer chips

Mar 10, 2009

An educational initiative between Rice University computer scientists and Indian educators will enable schools in rural India to be some of the first to benefit from Rice's revolutionary, low-energy computer chips.

Recommended for you

'Chief Yahoo' David Filo returns to board

21 minutes ago

Yahoo announced the nomination of three new board members, including company co-founder David Filo, who earned the nickname and formal job title of "Chief Yahoo."

Fired Yahoo exec gets $58M for 15 months of work

31 minutes ago

Yahoo's recently fired chief operating officer, Henrique de Castro, left the Internet company with a severance package of $58 million even though he lasted just 15 months on the job.

Simplicity is key to co-operative robots

8 hours ago

A way of making hundreds—or even thousands—of tiny robots cluster to carry out tasks without using any memory or processing power has been developed by engineers at the University of Sheffield, UK.

Freight train industry to miss safety deadline

9 hours ago

The U.S. freight railroad industry says only one-fifth of its track will be equipped with mandatory safety technology to prevent most collisions and derailments by the deadline set by Congress.

User comments : 44

Adjust slider to filter visible comments by rank

Display comments: newest first

KBK
1 / 5 (1) May 17, 2012
how does one control the overlap area in usage... where critical and non-critical meet?

This aspect is inevitable,and I'm sure we'll be learning how many mistakes can be made in that area of definition.

Painfully so. If these types of chips become heavily implemented, the average population will definitely be learning the difference between the two and how to keep them logically separated at any given step.

Steep learning curve ahead, no doubt.
baudrunner
not rated yet May 17, 2012
I wonder if real-time chip-based image enhancement could return a perfect image at maybe the cost of even a large portion of that 15x energy efficiency rating, which would still give us some kind of an increase in efficiency.
axemaster
5 / 5 (2) May 17, 2012
OK, so here's a problem I thought of almost immediately... In a video, if errors affect each frame differently, won't the errors show up as a very noticeable flickering in the image? Especially if this were used for processing computer game images, which normally have very sharp edges, it seems like it would be almost unbearable.

But whatever, still an interesting line of study to be sure.
ShotmanMaslo
4.4 / 5 (7) May 17, 2012
We used inexact adders to process images and found that relative errors up to 0.54 percent were almost indiscernible


Well, they do seem discernible to me..
kaasinees
2.1 / 5 (11) May 17, 2012
OK, so here's a problem I thought of almost immediately... In a video, if errors affect each frame differently, won't the errors show up as a very noticeable flickering in the image? Especially if this were used for processing computer game images, which normally have very sharp edges, it seems like it would be almost unbearable.

But whatever, still an interesting line of study to be sure.

floating point operations are already non-critical.
kaasinees
2.7 / 5 (12) May 17, 2012
This might have an application to speed up games and video processing.
Deathclock
2.5 / 5 (11) May 17, 2012
OK, so here's a problem I thought of almost immediately... In a video, if errors affect each frame differently, won't the errors show up as a very noticeable flickering in the image? Especially if this were used for processing computer game images, which normally have very sharp edges, it seems like it would be almost unbearable.

But whatever, still an interesting line of study to be sure.


The errors would subtly change the color of individual pixels, it wouldn't show up as flickering, though if bad enough maybe as "snow" like noise.
Deathclock
2.7 / 5 (14) May 17, 2012
This might have an application to speed up games and video processing.


You mean, exactly like the article says and gives an example of? GENIUS!
kaasinees
2 / 5 (12) May 17, 2012
This might have an application to speed up games and video processing.


You mean, exactly like the article says and gives an example of? GENIUS!

You are delusional, nowhere does it state games.
Deathclock
2.3 / 5 (16) May 17, 2012
This might have an application to speed up games and video processing.


You mean, exactly like the article says and gives an example of? GENIUS!

You are delusional, nowhere does it state games.


Nowhere does it state that it isn't powered by magical leprechauns either but that doesn't prevent anyone from using reason to conclude that it probably isn't...

The example they gave, the only image in the article, is of a video frame... so you, with your infinite wisdom and insight, suggest that it might be used for speeding up video processing.

I reiterate, GENIUS!
kaasinees
2.6 / 5 (14) May 17, 2012
Nowhere does it state that it isn't powered by magical leprechauns either but that doesn't prevent anyone from using reason to conclude that it probably isn't...

Ease down on the coke dude.

The example they gave, the only image in the article, is of a video frame... so you, with your infinite wisdom and insight, suggest that it might be used for speeding up video processing.

Less resistance, bigger dye, easier dissipation.

I reiterate, GENIUS!

Thanks.
MCPtz
5 / 5 (1) May 17, 2012
I'm trying to figure out what they're doing with the I-slate. It (almost) certainly cannot use the inexact processor for something such as text processing, where it obviously could use it for compression.

I guess I'll just have to keep an eye on their research page in the mean-time.
kaasinees
2.5 / 5 (8) May 17, 2012
I'm trying to figure out what they're doing with the I-slate.

video, music playing?

where it obviously could use it for compression.

unless you want to decompress not a good idea.
that_guy
3 / 5 (2) May 17, 2012
There's a 7.5 percent change that the 15 time increase in efficiency could be wrong. It was an inexact calculation.

I will point out - Which would be better -
a)an SD video stream with no errors,
or
b)an HD video stream with 7 percent errors.

In a mobile device (Especially with heterogeneous cores on a SOC), as long as the errors are only tolerated within certain specifications/streams/cores, there are applications where the inexact approach could yield battery, performance, and quality improvements in one shot.

However - given the pace of improvement on mobile processing and the different programming techniques required, they should put more effort into positioning this for niche needs, rather than mainstream consumer electronics.
CHollman82
2.3 / 5 (6) May 17, 2012
It's quite simple, anything tolerant of lossy compression would benefit from this imprecise processing. Anything that requires loss-less compression would not be compatible with this.
Anorion
3.7 / 5 (3) May 17, 2012
forget that, i want accuracy and quality, with pristine images and videos and HQ music and all ...
i wouldn't buy that
CHollman82
2.6 / 5 (5) May 17, 2012
forget that, i want accuracy and quality, with pristine images and videos and HQ music and all ...
i wouldn't buy that


I want that too, but it is possible to lose data (either through compression or this inexact processing) without losing any perceptible quality in video and audio. In fact, even if you get bluray quality videos they are compressed using a lossy compression scheme. I once downloaded a RAW copy of a video, no compression at all, it was 40 something gigs... looked exactly like a 16gb bluray rip.
Anorion
1 / 5 (1) May 17, 2012
forget that, i want accuracy and quality, with pristine images and videos and HQ music and all ...
i wouldn't buy that


I want that too, but it is possible to lose data (either through compression or this inexact processing) without losing any perceptible quality in video and audio. In fact, even if you get bluray quality videos they are compressed using a lossy compression scheme. I once downloaded a RAW copy of a video, no compression at all, it was 40 something gigs... looked exactly like a 16gb bluray rip.

yeah but thats not reason to make them with errors build in and shitty quality on purpose lolz
only means there is more work to be done to improve quality and accuracy, not to be satisfied with mediocrity.
and they just CPUs , its not like they consume gigawatts, haveing lousy CPUs wont change your bill or save on oil imports lolz
Vendicar Dickarian
3 / 5 (6) May 17, 2012

yeah but thats not reason to make them with errors build in and shitty quality on purpose lolz
only means there is more work to be done to improve quality and accuracy, not to be satisfied with mediocrity.
and they just CPUs , its not like they consume gigawatts, haveing lousy CPUs wont change your bill or save on oil imports lolz


You're missing the point. The Indians have been trying to make the world's cheapest computer for years. They want to give a sub-$50 computer to a billion kids or so, and they really don't care about whether or not you can use it for Halo 6 or whatever.
kris2lee
not rated yet May 17, 2012
forget that, i want accuracy and quality, with pristine images and videos and HQ music and all ...
i wouldn't buy that


I want new laptops with 1400x1050 resolution screens.
Terriva
1 / 5 (4) May 17, 2012
The intrinsic fuzziness is the main secret of speed of quantum computers - you cannot beat the uncertainty principle, which already limits the computational power of classical computers in many aspects of CPU technology. So that the quantum computers can become considerably faster only when they remain more fuzzy than the classical computers. Which render quantum computers rather as a hype powered with job places generation, than the actual progress. The phrase "fast idiots" applies to them a way more, than for classical computers.
unknownorgin
not rated yet May 17, 2012
I am sure this is a great discovery however the way this article explains it seems impossible if not very difficult because any digital logic gate can only perform a fixed set of logical functions and in normal operation will not make mistakes. Perhaps they are using lower clock speeds and using a power management circut to cut power to areas of the chip not in use at the time. Pruning???
Deathclock
1.9 / 5 (9) May 17, 2012
@unknownorigin...

Digital signals have two levels corresponding to a binary 1 and a binary 0 value. The change of state from 0 to 1 or vice-versa is not instantaneous. The higher the clock the greater the voltage required to cause the signal to "snap" from one state to the next fast enough to be sampled accurately during the sampling period. If you have any experience overclocking desktop processors you know that increasing the voltage can help increase stability at a given clock speed. This is because the higher voltage reduces the time it takes for a digital line to transition from one state to the other, and at higher clock speeds they must do so more rapidly.

So, if they allow for some degree of error, they can maintain a lower voltage, a higher clock speed, or a balanced combination of the two, that's how this works.
vega12
not rated yet May 18, 2012
Not everything is about our PCs. There is also the possibility that this could be used for research computing. There are many applications of this to simulations that don't require exactness, and could benefit from the increased performance. You could always have a normal CPU running all the OS stuff and this a separate chip, akin to using separate GPUs and sound chips.
Deathclock
1.9 / 5 (9) May 18, 2012
Can you give an example of a simulation that doesn't care about precision? I would think, of any possible application, a simulation would care about precision calculations above all else.
Deathclock
2.1 / 5 (11) May 18, 2012
floating point operations are already non-critical.


What? No... IEEE-754 allows for the dynamic balance of precision and range. Small values can have an extremely high level of decimal precision, while you can represent extremely large values by sacrificing precision.

Do not confuse precision with accuracy... The result of floating point calculations is ALWAYS accurate.

I don't know how you can claim that the result of a floating point operation is non-critical... it depends entirely on the application that is using it. I use 64bit floating point math to calculate distance based on light travel time in an optical fiber, and the result of the calculation (to as high of a precision as I can get) is critical to the correct operation of the instrument.
kaasinees
2.2 / 5 (10) May 18, 2012
In games often they have blurry particles for game effects, post processing which add blur, static effects etc. Algorithms that make things smooth instead of blocky. Shaders come into mind.

They could add a critical chip and a non critical chip to graphic cards. The critical chip would mostly calculate the 3D space locations and such. While the non-critical chip does all the effects that are blurry anyway it could be designed in such a way that it takes advantage of the errors to create a blur effect or a random static effect just like as would happen in our eyes.

Go go nvidia.

I use 64bit floating point math to calculate distance based on light travel time in an optical fiber, and the result of the calculation (to as high of a precision as I can get) is critical to the correct operation of the instrument.

A double floating point? Anyway it just means that your program doesn't require to be very accurate or precise. IEEE uses encoding so your errors get bigger over time.
Eikka
3.3 / 5 (3) May 18, 2012
This chip isn't well suited for video applications due to the way video compression works. The cumulative error between frames and not just in individual frame means, that even a 0.25% error in a highly compressed video will cumulate to 7% of error over 30 frames.

That's because almost all video compression works by drawing a clean keyframe every n frames and then calculating the difference to that in the subsequent frames. If each frame has a small error to it, the next frame will have a larger error to it and you get a pumping effect where the picture gets periodically more blurry and more blocky and pixelated until the next keyframe arrives.

Seeing that heavily compressed video may have a keyframe every 1-2 seconds, or 30-60 frames, the accumulation of error would make it unbearably messy with up to 12% of error by the last frame until the next keyframe suddenly clears up the picture.
SincerelyTwo
5 / 5 (2) May 18, 2012
Deathclock;

CFD's, image compression (likely only practical for static images, not video), pattern detection, AI, physics (for games at least), etc....
Deathclock
2.5 / 5 (11) May 18, 2012
I use 64bit floating point math to calculate distance based on light travel time in an optical fiber, and the result of the calculation (to as high of a precision as I can get) is critical to the correct operation of the instrument.

A double floating point? Anyway it just means that your program doesn't require to be very accurate or precise. IEEE uses encoding so your errors get bigger over time


You really should learn when to be quite so you don't make a fool out of yourself.

Yes, a 64bit float is keyword "double"... yes, my application requires very high precision and accuracy, I am calculating the distance light travels over intervals of hundreds of PICOseconds up to tens of milliseconds... this measurement is given in kilometers with 6 decimal digits of precision and requiring accuracy to the millimeter. Do you understand? I calculate distance to the MILLIMETER by timing the travel of a light pulse in an optical fiber.

You have no idea what you are talking about.
Deathclock
2.5 / 5 (8) May 18, 2012
Deathclock;

CFD's, image compression (likely only practical for static images, not video), pattern detection, AI, physics (for games at least), etc....


I don't know why that was addressed to me, I already stated that this technique would work well with anything that is tolerant of lossy compression.
Deathclock
2 / 5 (8) May 18, 2012
CFD's, image compression (likely only practical for static images, not video), pattern detection, AI, physics (for games at least), etc....


Fluid Dynamics: Depends on how accurate you want the simulation to be, the key property of a simulation is that it tries to be as accurate as possible.

Compression: No, not if you want to be able to decompress it again. For lossy compression I already stated that this technique would work well on anything that tolerates lossy compression.

Pattern Detection: Again, depends on how accurate you want it to be...

AI/Physics/Etc: No, again, the goal of a simulator is to be as accurate as possible... otherwise it's not really simulating anything, it's approximating it. I suppose if you don't really care about the result then you can use this for a physics approximation.
kaasinees
2.3 / 5 (6) May 18, 2012
qwrty
kaasinees
2.2 / 5 (10) May 18, 2012
millimeter. Do you understand? I calculate distance to the MILLIMETER by timing the travel of a light pulse in an optical fiber.

Ah that explains why you havent ran into any errors yet.
millimeters are well within the error range of floating point operations.

tinyurl com/czqwkr9

I am amazed you passed college or university or whatever you did.
kaasinees
2.2 / 5 (10) May 18, 2012
Yes, a 64bit float is keyword "double"... yes, my application


I wasnt talking about the C/C keyword.
Deathclock
2.4 / 5 (9) May 18, 2012
Ah that explains why you havent ran into any errors yet.
millimeters are well within the error range of floating point operations.


What? Not millimeter by itself you idiot, millimeters expressed as the amount of time it takes light to travel that far... Jesus, you don't understand anything you read.
kaasinees
2.1 / 5 (11) May 18, 2012
What? Not millimeter by itself you idiot, millimeters expressed as the amount of time it takes light to travel that far... Jesus, you don't understand anything you read.


Yes i do. Do you?
Deathclock
2.7 / 5 (7) May 18, 2012
How long does it take light to travel 1 millimeter in an optical fiber with an IOR of 1.468 expressed in seconds Kass?
Lurker2358
1 / 5 (2) May 18, 2012
If I bought a computer and got results like the middle or right images I'd demand my money back.
vega12
5 / 5 (1) May 19, 2012
Can you give an example of a simulation that doesn't care about precision? I would think, of any possible application, a simulation would care about precision calculations above all else.


For starters, Monte Carlo simulations can deal with a little bit extra uncertainty, as long as the mistakes that happen only happen in the non critical parts that actually run the simulation.

Second of all, many physical situations already have a lot of uncertainty associated with the laws and initial conditions, not to mention that the model itself probably has some uncertainties involved, so to sacrifice a bit of precision for a huge gain in efficiency could be a good thing.
Terriva
2.3 / 5 (3) May 19, 2012
Can you give an example of a simulation that doesn't care about precision?
The (cumulation of) rounding errors is the main enemy of the stability of scientific simulation. They often lead to the fancy, but unphysical results, which are difficult and misleading to interpret. The Monte Carlo simulators are sensitive to quality of the random number generators instead. The inexact chip would make such generator biased as well, because common generators are relying on precision of calculations during computing of division errors.
JES
not rated yet May 21, 2012
These are already installed in SatNavs...
Mayor__Dooley
1 / 5 (2) May 21, 2012
How ironic that this comes about as programming becomes more inefficient to support the vacuously slapdash yet fashionable development methods.
The global energy consumption would drop quite a bit if certain compilers, used for pervasive products, were not so laughably crass with the machine code that spews out of their rear end.
antialias_physorg
not rated yet May 21, 2012
No, not if you want to be able to decompress it again. For lossy compression I already stated that this technique would work well on anything that tolerates lossy compression.

I think such a chip would be completely unsuited for compression algorithms. Compression takes redundant information out of the dataset.
The chip mentioned in the article can get away with being inexact in cases where there is a lot of redundant information (or a wide range over which a value is valid - which amounts to the same thing).
But decompressing a compressed file using an inexact method will just give you garbage. And not just garbage that will be locally noticeable but potentially over the entire dataset (e.g. decompressing a color palette inexactly in a compressed picture, or timing information in video/audio. This would be even very noticeable in lossy compression schemes)

More news stories

Simplicity is key to co-operative robots

A way of making hundreds—or even thousands—of tiny robots cluster to carry out tasks without using any memory or processing power has been developed by engineers at the University of Sheffield, UK.

Microsoft CEO is driving data-culture mindset

(Phys.org) —Microsoft's future strategy: is all about leveraging data, from different sources, coming together using one cohesive Microsoft architecture. Microsoft CEO Satya Nadella on Tuesday, both in ...

Floating nuclear plants could ride out tsunamis

When an earthquake and tsunami struck the Fukushima Daiichi nuclear plant complex in 2011, neither the quake nor the inundation caused the ensuing contamination. Rather, it was the aftereffects—specifically, ...

New clinical trial launched for advance lung cancer

Cancer Research UK is partnering with pharmaceutical companies AstraZeneca and Pfizer to create a pioneering clinical trial for patients with advanced lung cancer – marking a new era of research into personalised medicines ...

More vets turn to prosthetics to help legless pets

A 9-month-old boxer pup named Duncan barreled down a beach in Oregon, running full tilt on soft sand into YouTube history and showing more than 4 million viewers that he can revel in a good romp despite lacking ...