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.'

35 of 499 comments (clear)

  1. Re:Bank balance by CastrTroy · · Score: 4, Insightful

    I agree. The whole problem with the example given in the summary is that your bank balance should never be wrong. There is no room for error in calculating bank balances. I also don't want to hear skips and pops in my music because they though it would be more energy efficient to use a processor that produced errors. I already get 26 hours of charge out of my MP3 player. I'd rather have them focus on getting more space for cheaper so I can carry lossless audio on my portable mp3 player.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  2. Re:Bank balance by BadAnalogyGuy · · Score: 5, Insightful

    If you are listening to music on a portable media device, it's safe to say that you aren't going to be able to hear the difference between the lossy format and the lossless format.

    It's like drinking from a well. Connoisseurs may claim to be able to taste the difference between it and tap water, but that's just the extra tang from all the bull shit.

  3. It seems like when you need a precise calculation by rolfwind · · Score: 4, Insightful

    like financial things, you compare the end product with the end product of the same calculation run either through the chip again or another chip (or increasingly likely another core).

    Still would be faster too.

  4. DSP's? by Zantetsuken · · Score: 2, Insightful

    Isn't that the point of using a DSP? So you can use a slower CPU to run the firmware and the DSP do that grunt work of decoding, thus letting you save power with the low voltage CPU?

    My question is, if it's just as well to use a DSP, why not just use a damned DSP?

    1. Re:DSP's? by Anonymous Coward · · Score: 1, Insightful

      Presumably, the idea is to use this technology to make good-enough DSPs that are much more efficient.

    2. Re:DSP's? by Firethorn · · Score: 4, Insightful

      I think the point would be using a DSP/math coprocessor that uses 1/30th the power in exchange for a .001% loss in accuracy for non-essential tasks like music decoding.

      I mean, combined with the lousy earbuds most people use, who'd notice? Especially if it makes their MP3 player last 3 times as long as ones that use more traditional and technically accurate DSP/decoder?

      --
      I don't read AC A human right
  5. Not completely correct by chthon · · Score: 3, Insightful

    If you read the chapter about the history about the IEEE FP standard in Microprocessors : a quantitative approach, then you will see that in the past accuracy was already sacrificed for speed in supercomputers.

  6. gfx by RiotingPacifist · · Score: 4, Insightful

    can't this be used in gfx cards, i mean with anti-aliasing and high resolutions it doesn't really matter so much if 1/2 a pixel is #ffffff or #f8f4f0 , hell you can probably even get a pixel entirely wrong for one frame and nobody will care (as long as it doesn't happen too often).

    --
    IranAir Flight 655 never forget!
  7. Nothing new here... by chill · · Score: 3, Insightful

    Isn't that essentially what JPEG, MPEG and every other lossy codec or transform does?

    --
    Learning HOW to think is more important than learning WHAT to think.
  8. Games? by ndogg · · Score: 3, Insightful

    I could definitely foresee this being used in game systems, especially for graphics.

    As long as it mostly looks right, that's all that really matters.

    --
    // file: mice.h
    #include "frickin_lasers.h"
  9. What a waste of grant money... by gavron · · Score: 2, Insightful
    Processors that provide different output for the same input cannot be used for anything that wants predictable output.

    They can not be used for ANY result that is later used by anything else -- after all, data based on bad data yields bad results.

    Next thing you know, some offshore manufacturer will use the "imprecise" (cheaper) chips instead of the "accurate" ones, and simple things we depend on everyday will fail in wonky ways.

    A bit-flip on a microwave will make a 30-second timer not expire at 0, and keep going at 99:99 and burn the food.

    A bit-flip on a home heating circuit will make 70F appear to be a target heat of 6F and never turn on.

    A bit-flip on an MP3 player would have it skip from 65 seconds into the song to 134 second into the song.

    These are all results if just ONE BIT were to flip JUST ONCE. The processor described would UNPREDICTABLY and RANDOMLY do worse than actually flip one bit.

    What's next -- they'll put three processors in each device and when two of them agree they'll go for it? "Voting Processing" is bs.

    E

    1. Re:What a waste of grant money... by cnettel · · Score: 2, Insightful

      Any system which fails permanently due to a single bit error is unstable and not robust (in the numeric sense). If the system is really critical, you should better be ready for bit errors.

      This approach is basically similar to what would be required in analog systems. After all, analog engineering was quite possible. The main of the meat in decoding MP3 is not about seeking in the stream, it's a lot of Fourier and postprocessing of the waveform -- loss there can be completely acceptable.

  10. The first thing that comes to mind... by Lordfly · · Score: 3, Insightful

    ...is gaming applications.

    Programmers spend a lot of time coming up with algorithms that simulate randomness for AI or cloud generation or landscapes or whatever... if the processor was just wonky to begin with it'd make certain things a lot more natural looking.

    It's interesting that AI in games is always touted as being "ultra-realistic", but always ends up being insanely easy to trip up. Having something "close enough" would add just enough realism/randomness to situations to perhaps make games and environment more dynamic.

    I wouldn't want these things processing my bank balance, though, unless it rounded up.

    --
    hookers and grits.
  11. Re:Bank balance by Hojima · · Score: 5, Insightful

    There are countless applications for a computer that don't depend on accuracy, but do depend on speed. For example: gaming, stock analysis, scientific/mathematical research etc. Just about every use for the computer can benefit from this. Bear in mind these applications can take the hit of inaccuracy, if not benefit from it depending on the situation. Yes there are some instances were accuracy is crucial, but that's why they will continue to make both of the processors. It's what they call a free market, and there will be always be a new niche to fill.

  12. for simulation by kilraid · · Score: 2, Insightful

    For simulation, Monte Carlo and such statistical sampling this would be perfect. There is already random error - sampling error - so adding a lesser source of error - computational error - while reducing the first would make sense if the computations can be sped up.

  13. Bad example... by Firethorn · · Score: 3, Insightful

    It looks like you got sucked into the bad example land. Later on in the article it mentions that it's intended for stuff where accuracy isn't paramount, but where it's not really necessary. Multimedia applications over space/bank calculations.

    I mean, there's 1.764 Million pixels in my screen that I'm typing my post on at the moment. Does it really introduce much error if I round it to 1.8M? I'm also running at 60Hz. Do you think that I'd really notice if there's a .01% chance that instead of getting white(255) I get white(254)? That'd be an average of 176 pixels a refresh, assuming an all-white screen. Thing is, those pixels wouldn't be the same every time. Then again, logically each pixel would tend towards red/blue/yellow depending on the error. But only slightly. In a HD movie, are you really going to notice?

    --
    I don't read AC A human right
  14. Re:Sacrifices are expected by Anonymous Coward · · Score: 1, Insightful

    It's related to the story because it's an example of increasing performance at the cost of reducing accuracy.

  15. Re:Bank balance by memco · · Score: 4, Insightful

    Ok, so not only do I have to give up efficiency in the chip itself, but now my efficiency suffers because I now have to determine which chips are useful for which applications. I don't want to have to start thinking about whether or not I plan to use my new laptop for anything requiring accuracy greater than such and such a percentage. I suppose this might be effective for niche markets, but it seems messy if you try to make it part of all computing platforms.

    --
    Get me a meat pie floater!
  16. Re:Primality testing by Dahamma · · Score: 2, Insightful

    Yeah, but there is a big difference between "random" and "incorrect".

    The errors resulting from undesirable interactions between transistors are probably a lot less random than a good pseudorandom number generator for these purposes.

  17. Re:Primality testing by Hognoxious · · Score: 2, Insightful

    Random algorithms are used all the time.

    I'm not even sure such things exist. Even if you meant pseudorandom, that still has zero to do with the point under discussion.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  18. Re:A Little Bit of History Repeating by osu-neko · · Score: 3, Insightful

    Sorry, I missed the part back in the 80's where using fuzzy logic caused my processor to consume 1/30th the power.

    --
    "Convictions are more dangerous enemies of truth than lies."
  19. Re:Bank balance by Anonymous Coward · · Score: 1, Insightful

    "There are countless applications for a computer that don't depend on accuracy, but do depend on speed. For example: gaming, stock analysis, scientific/mathematical research etc."

    Any mathematical calculation which is then used to decide program flow will result in errors. That directly affects gaming, stock analysis, scientific/mathematical research.

    Also chaos theory applies, which can amplify some errors over time as the values propagate. This greatly complicates the problems in real world examples.

    Arguing accuracy doesn't matter isn't the case in real world examples. In simply lab experiments its much easier to control the chaotic behavior. Achieving predictable and repeatable ways in real world examples is a lot harder.

  20. Sooo... by thetzar · · Score: 2, Insightful

    He's invented analog?

  21. Re:Bank balance by Hojima · · Score: 1, Insightful

    Given that, I would expect this hardware - if it proves useful - would primarily be in the "entertainment" sector of the market.

    Not really. Any simulations that are influenced by natural chaos would greatly benefit from this. Examples include engineering simulations of products that must have robust preventions of system failures, pharmaceutical simulations of chemical reactions that may have natural anomalies, statistical research that depends on many unknowns, stalk market predictions that depend on such statistical research, evolutionary algorithms that thrive on error, and it can even serve as supplemental calculation for AI to learn how to deal with new and unexpected occurrences. Like I said this processor has a whole new niche of its own, and it may come standard in a pc like the GPU.

  22. Re:Bank balance by shaitand · · Score: 2, Insightful

    Don't forget there are errors in the hardware processes anyway and error correction algorithms running on the software side that take care of them.

  23. Re:Bank balance by ZombieWomble · · Score: 3, Insightful
    I don't think any of these things particularly benefit from this type of processor. All of the situations you describe involve some degree of randomness, but this CPU doesn't sound like a source of useful random values at all.

    The randomness in these processes occurs in particular places, in particular quantities - this processor presumably produces some characteristic amount of randomness in each calculation, but the odds on it being a meaningful amount for whatever arbitrary calculation you're doing is vanishingly small - and given it's apparently treated to give different amounts of randomness in different bits, it's almost certainly non-uniform as well.

    In almost all simulations you want to make use of extremely well-controlled random numbers - something which adding some noise as part of your floating-point calculations is not.

  24. Analog? by w0mprat · · Score: 2, Insightful

    Transistors are naively analog. It's ironic that we use them for digital logic locked to a frequency cycle.

    --
    After logging in slashdot still does not take you back to the page you were on. It's been that way for 20 years.
  25. Re:Bank balance by wisty · · Score: 2, Insightful

    Accuracy might not matter for some steps in an implicit, iterative numerical scheme.

  26. Re:Bank balance by Firethorn · · Score: 2, Insightful

    In all probability this would never make it into usage as a CPU, more likely a dedicated section of silicon performing the function of a GPU/FPU/DSP. Actual control instructions would be high-integrity, just the low significance digits would get the 'cheap but a bit more unreliable' methods.

    I'd like to see how much an image would change if you imposed a 1% chance of a 10% error in either the chroma or luminance of each pixel. I'm willing to bet it'd be 'take a magnifying glass and the images next to each other to tell'. Change it to 30-60 hz video, and the perception of differences would go away.

    --
    I don't read AC A human right
  27. And this is a major step forward in the research by 3seas · · Score: 2, Insightful

    .... of artificial intelligence.

  28. Re:Bank balance by Pseudonym · · Score: 2, Insightful

    Think about a computation such as X - Y. If X and Y have the 3 first same digit, then you will have 0 significant bit for the result.

    Any numeric analyst worth their pay will have thought hard about every calculation. If there's a subtraction, then either it won't be two floating-point numbers of similar magnitude, or the result won't be crucial (e.g. it might be an error estimate rather than the actual result).

    If the characteristics of the hardware are known, then algorithms can be designed to suit them. This is just another tool in the toolbox.

    if you do anything more complicated than adding and multiplying, then you need accurate computation.

    Because, of course, IEEE-754 floating point numbers are renowned for their accuracy.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  29. Re:Bank balance by arminw · · Score: 2, Insightful

    ... In the US cents in my checkbook are important....

    Would that not depend on whether the errors made were equally in your favor and against it? If you did a large number of transactions and half of them added a penny or two to your account and half of them subtracted a similar amount, it would all even out in the, would it not? Only if the errors were unidirectional, would there be a problem in the long term.

    --
    All theory is gray
  30. Re:Bank balance by ozphx · · Score: 2, Insightful

    You wha?

    I think hardware and software designers already have that covered when they perform processing on different parts of your system, such as your CPU, or GPU...

    Specialization is a good thing, unless you have a preference for the performance of the directx reference rasterizer....

    --
    3laws: No freebies, no backsies, GTFO.
  31. Re:Oh God, please don't corrupt audio any further. by Aphoxema · · Score: 2, Insightful

    You say what you say, but for the life of me, I have never felt concerned with the supposed quality of audio. I just can't tell the difference between 128kbps and 256kbps, MP3 from FLAC, 22khz from 44khz.

    I also can not tell the difference between HD and upscaled SD when in motion.

    It just feels so ridiculous, I swear people are only fooling themselves in this high-def nonsense. I can't be sure of that, maybe there really is something I'm missing I'm unaware of.

    --
    "Most people, I think, don't even know what a rootkit is, so why should they care about it?"
  32. Re:Bank balance by durrr · · Score: 2, Insightful

    Inaccurate = my darts miss the target by up to a meter.
    Random = my darts may be assigned any possible movement vector with equal probability.

    Please understand that there's a difference between these two. If i'm inaccurate we can compensate by altering the mechanics of our 'game'(make a huge dartboard, triangulate from multiple throws). Whereas if i'm random we can't really do much to help.

    Accuracy(or lack of it) is not very challenging to measure either, and once you have it measured it should be trivial to compensate until the rate of significant errors drop lower than the chance of you being hit by lightning or whatever is considered within safe bounds.

    You should consider that you could spend 85% of your cpu cycles on error corrections to achive equality with precision circuits while keeping the advantage of having 1/30 power cost. The advantage of 1/30 the powercost doesn't only(or neccesarily) translate to smaller utility bills. It also means less heat, which doesn't only mean less nosiy fans but also bigger, more powerful chips(with noisy fans). Scale your current cpu with 10x the amount of transistors at current tech and your computer will rival your microwave in heating power. At 1/30th the power that would still only be 1/3 of what you're already using.

    Saying this technology will have no use at all is a bit unimaginative, unless you perhaps have a lot of stocks in the current industry?