Unpredictability in Future Microprocessors
prostoalex writes "A Business Week article says increase in chip speeds and number of transistors on a single microprocessor leads to varying degrees of unpredictability, which used to be a no-no word in the microprocessor world. However, according to scientists from Georgia Tech's Center for Research in Embedded Systems & Technology, unpredictability becomes a great asset leading to energy conservation and increased computation speeds."
Three cheers for entropy!
I'd be a lot more trusting of their results if they had worked it out on a processor with 100% certainty.
Beep beep.
Will the number of windows errors increase or will they just occur at even more improbable times?
Dear aunt, let's set so double the killer delete select all
Probably and even bigger boon for encryption and key-generation.
When things get complex, multiply by the complex conjugate.
"unpredictability becomes a great asset leading to energy conservation and increased computation speeds."
When robots have this "unpredictability" tell me not to worry!
Degrees of probability and uncertainty have been in given in the communications industry for quite some time. This just seems to be pointing out that the same ideas can be applied to the actual processing of the data.
Now that I think about it, it does seem to make some sense. I am not sure that I would want to program on such a chip right now though (I imagine that debugging could become a nightmare really quickly!).
Like pi? Try 10,000 digits.
Well, there's a 99.99% chance that airbag shouldn't be deployed right now, I'm just gonna disregard that "1".
It is an interesting idea but I think there would have to be a lot of research that goes into this and here's what I mean.
The article is right in that certain things don't need 100% accuracy and that small variations in the answers can yield very good results. This could be important when time is more important than 100% accuracy.
That said, how do we know if the variations are small? Only 1 bit can change a huge negative number into a huge positive number in a standard integer (Okay, I haven't looked at the bit layout of an integer lately but I think it's encoded like this. If not, you still get my point right?).
So perhaps then this idea sort of works when we are aggregating lots of small calculated numbers but then switch to a traditional chip to add them together.
You see what I'm getting at? Computers don't really know that the small variation at the most significant bit is actually a huge variation.
I think there would also have to be a lot of analysis based on understanding how the variations add up and their cumulative effect. For example, a well written app under this scenario means that the errors basically average out over time as opposed to errors that blow out of proportion.
Anyways, I can think of a few good uses for this. Probably the most notable being down the DSP path (which the article metions). Our eyes probably wouldn't see small errors in an HD display during processing or hear small errors in audio processing.
This is parallel to the fact that there is less error checking in audio CDs and video DVDs than their computer counterparts CD-ROM and DVD-ROM (or the R/RW/etc.etc. counterparts).
Sunny
Be my Friend
Actually this sounds more useful to Diebold and the Republican National Committee.
Liberals call everyone Nazis yet they are the closest thing to it.
Signed,
FDIV
You're sitting at your desk and out of nowhere, bam! You are transported to the edge of the galaxy. Weird.
A blog like any other.
Nothing saves more power than a box that has been turned off due windows commiting suicide
Patent: from Latin patere, to be open
genius. Pure genius.
Before I found memtest my computers were VERY unpredicable.
Humor from a Genetically Molested Mind
so a "random" number could be ...actually random right, as opposed to the now deterministically computed pseudo random numbers....how could this NOT be useful!? The AI ramifications alone are fascinating to imagine...
"... three to one... two... one... probability factor of one to one... we have normality, Anything you still can't cope with is therefore your own problem. Please relax."
While certainly many problems can be solved using less than perfect measures, building an entire chip based on this would not work out so well. For example, while a DSP app might deal fine with small variations in results, a device driver or chunk of crypto code is probably not going to be very happy with close-but-not-quite-right results.
Why do I have a feeling these guys have done simulations with single applications, ignoring the surrounding OS environment?
I'd say that with Intel's various errors over the last fifteen years, like the fourth and ninth digit floating point division errors in the Pentium 60, and the heat throttleback due to normal operating conditions on their newer processors, Intel had done a wonderful job of embracing this new unpredictability technology.
Do not look into laser with remaining eye.
It sounds like this is just another implementation of an analog processor, which is far from a new idea. Really simple analog processors are just a bit of plastic foam used as a manifold. There's even the idea of having 0, 1, and 1/2 (where 1/2 is seen as uncertain) in something called a Lukasiewicz Logic Array. Anyways, I wish the guy good luck with it, though it might be a good idea if he did some more reading on ideas already presented on the subject.
Obvious google search link:
Google Search for "lukasiewicz analog"
Eurohacker European paranoia, gun rights, and h
Intel has hit a brick wall in terms of their processors. They invested heavily in their processor fabrication centers and are now coming to terms that they won't be able to produce reliably anymore. That said, lets discuss the nature of 1s and 0s. Typically, a 0 is broadcast across a chip as a lack of voltage, and a 1 brodcast as a +5 volts. Each transistor has to be capable of being just right of a resistor to not degrade the +5 volts. Heres where "unpredictability" comes into play: you have a handful of volts to play with. The article's talking about having unpredictable algorythms is the press agent not knowing what he's talking about, but certainly allowing a voltage threshold within the confines of the transistors is an okay thing. The only problem is when its across a lot of serial lines, because that compounds into significant loss. This is just my opinion, but I think this guy is talking about chip designs where the data isn't broadcast in 1s and 0s anymore, but in whatever multiples of electronvolts that would correspond to a number. I'm not comfortable with this, and I would like someone to tell me I'm just paranoid.
Naturally, he had us stumped, because the task is impossible. Without checking at least half the numbers, you can't be sure of the answer.
But, he pointed out, here's what you can do: pick 1000 numbers from the array at random and return the largest - a constant time operation! This "algorithm" just might return a wrong answer. But the chances of that happening are far less than the odds that you're in a nuthouse hallucinating this message right now. The odds are far less than the liklihood that a computer would botch a deterministic algorithm during executation anyways. The odds of making a mistake with the algorithm are 0, for all intents and purposes. So is that OK?
This article left me rather insatisfied, so I looked for a better one. I found it here, a collection of papers on the subject, with real-world results, it seems. The first article is a nice overview, and there's some pics of odd-looking silicon. They have funding from DARPA, interestingly enough.
That is one step closer to a human-like AI -- reminds me of a neural net. The technology from TFA may be just what they (computers) need to become like us: i.e. an ability to make quick decisions about complex problems, and succeeding more often than failing.
I, for one, welcome our unpredictable silicon overlords.
Random results are terrible because they are random. The scientific method depends upon experiments that can be repeated by other researchers. You can't base a theory on results that don't correlate with the inputs. You can repeat the experiment to obtain a probablistic model but not certainty.
A computer chip that yields unpredictable results is not going to magically recognize the image of a chair, much less a face because a chip that can't execute a program is more akin to the movie Short Circuit where the appliances go whacky. To me the author confuses the concept of fuzzy algorithms with random trials.
signature pending slashdot approval
Problem: find a number larger than the median
proposed solution: pick 1000 entires at random and retain the highest.
analysis: at first glance it might seem that the problem seems ill formed since the size of the array is not specified. But note that this is not a parametric problem. You are asked for the median, so the actual numerical values of the array irrelevant, only the rank order. Some wiseguys here have suggested returning the largest double precision number as a gaurenteed bound. While a wise ass answer it does raise a second interesting false lead. Even if the number were represented in infinite precision and this could be aribtrarily large or small the proposed solution does not care. Again this is because all that matters is the ranking of the numbers not their values.
COnsider the proposed solution. pick any cell at random and examine the number. if this number is returned there is a 50% chance it is equal to or greater than the median of the set. (if this is not obvious, dwell on the meaning of the word median: it means half the numbers are above/below that number.). So the chance it is below the median is 0.5. if you choose 1000 numbers the chance that all are below the median is 0.5^1000 which is roughly 1 part in a google.
So the author is right, this algorithm fails less often than the probability that there is a cosmic ray that corrupts the calculation or their is a power blackout in the middle of it or that you have a heart attack.
It seems to me that these chips would not replace the standard digital cpu's we have today, however they would instead complement their abilities. Adding a stochastic simulator chip would create a hybrid digital/probabilistic computer. Depending on the type of information that was being processed different chips would be employed. Your intel/amd chip would still do the digital/lossless functions while the stochastic chip would process data that is more resistant to loss of information or lossy.
Shh.
I seriously doubt any accountant, music snob, or cs major would allow the main cpu to become inconsistent, but if Apple or some other trendsetting company offered a new computer with a "Right Brain" chip just for these entropic applications I'd expect it to start a whole new fashion in desktop computers.
I'm surprised nobody has really mentioned error correction. In the same way that correction codes can work around RAM unreliability, you could have checksums built into each instruction to detect and correct errors. You would basically trade speed for reliability, something that has existed in communications for decades (refering to Shannon's work). I don't see why it wouldn't be the same for CPUs. I also remember clearly Richard Feynman proposing the idea (sorry, don't remember which book), so the idea isn't exactly new.
Opus: the Swiss army knife of audio codec