Slashdot Mirror


Sacrificing Accuracy For Speed and Efficiency In Processors

Skudd writes "Modern computing has always been reliant on accuracy and correct answers. Now, a professor at Rice University in Houston posits that some future applications could be revolutionized by 'probabilistic computing.' Quoting: 'This afternoon, Krishna Palem, speaking at a computer science meeting in San Francisco, will announce results of the first real-world test of his probabilistic computer chip: The chip, which thrives on random errors, ran seven times faster than today's best technology while using just 1/30th the electricity. ... The high density of transistors on existing chips also leads to a lot of background "noise." To compensate, engineers increase the voltage applied to computer circuits to overpower the noise and ensure precise calculations. Palem began wondering how much a slight reduction in the quality of calculations might improve speed and save energy. He soon realized that some information was more valuable than other information. For example, in calculating a bank balance of $13,000.81, getting the "13" correct is much more important than the "81." Producing an answer of $13,000.57 is much closer to being correct than $57,000.81. While Palem's technology may not have a future in calculating missions to Mars, it probably has one in such applications as streaming music and video on mobile devices, he said.'

4 of 499 comments (clear)

  1. Sacrifices are expected by LiquidCoooled · · Score: 4, Interesting

    I have spent the last 9 months coding up a dynamic scalable UI for the nokia tablets.

    I have had to make huge compromises to accuracy to obtain the desired performance.

    I had the choice of using the full featured (but slow) widget sets and graphical primatives which existed already, or find a way to make it work as I expected it to.

    The results have left people breathless :)

    take a look here: http://www.youtube.com/watch?v=iMXp0Dg_UaY

    --
    liqbase :: faster than paper
  2. Re:Bank balance by phoenix321 · · Score: 4, Interesting

    High accuracy is required for encoding music and video, though.

    Maybe we could have a selective accuracy, where programmers can set their needs via registers or direct it to different CPU cores. Accurate cores for banking transactions, AV-stream encoding and 2D GUI operations while inaccurate cores are used for AV-stream decoding, and computer game 3d drawing and AI decisions.

    There's a whole lot we are calculating now without the need for more than 3 significant digits - and a whole bunch where we intentionally use random numbers, sometimes even with strong hardware entropy gathering.

    These are all cases where we could just scrap the accuracy for faster processing or longer battery times. No one cares about single bit errors in portable audio decoders or in high fps 3d gaming.

  3. Re:Use in MP3 Players by phoenix321 · · Score: 4, Interesting

    If you bought a popular artist recently, your music is autotuned already.

    Anyway, this means that less than 0.1 percent of your decoded audio samples will be less 0.1 percent off. This is probably very acceptable outside concert halls and living rooms if it delivers large bonuses in battery saving or calculation speed.

    For example, we could use a much beefier compression algorithm than MP3 or current algorithms even longer on even smaller devices.

  4. Re:wll, by hackstraw · · Score: 4, Interesting

    This whole thing is old and silly.

    Seymour Cray is known for saying "Do you want fast or accurate?" because back then there was no IEEE 754 spec (which is not infinitely precise) for floating point numbers at the time and machines were pretty primitive then and his machine did Newtonian approximations of many numeric calculations that were accurate to a point, just like John Carmack did (in software) with Doom's inverse square root.

    The moral of the story is that in 2009 and beyond its probably best to have hardware continue to be accurate. This is why we have digital 1s and 0s instead of some other base of computation.

    Now, in software, feel free to make things as sloppy as you want. If your bank (not mine) wants to round 13,000.83 to some other value, then by all means go for it. But I think that most of us are OK with accurate hardware.