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
--
I'm surprised M$ hasn't patented unpredictability in operations. Oh, wait, that's software...
"Nature bats last..."
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!
unpredictability becomes a great asset leading to energy conservation and increased computation speeds if this is the case, then windows MS is Godly.
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.
Intel's just saying that to draw your attention away from IBM's cell! Its a trick, dont listen to them; theyre just making this stuff up!
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.
"Let's learn to live with it and see what we can do with unpredictability"
dejavu!, I said this years ago when my ex-boss decided to buy a w2k server!!
WTF am I doing replying to an AC at 5 A.M on a Friday night?
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.
genius. Pure genius.
... outdid themselves in their preparation for the next Pentium FPU fire drill
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...
"unpredictability becomes a great asset leading to energy conservation and increased computation speeds"
It's called "scrap," "recycling," and "selling the slower chips to someone else."
"... 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
There is already acceptable levels of randomness in the form of soft errors. Designs already take into account the fact that you just have to live with a certain rate of error because of cosmic rays or alpha particles. It looks like they are just extending such techniques to transistor tolerances.
D6 63 0D 70 89 81 BB 8E 7B 7C 5F 5D 54 EA AB 73
Where 2+2 always = 4.67345234
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.
Google is a great example of what you can achieve with probabilistic techniques. They have to deal with tons of information but still provide you with a quick answer.
University researchers make money by getting grants from industry and government. They get these grants by getting publicity in the business press. This is just a plea for money.
Nothing to see here, move along...
(This sig intentionally left blank)
"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!)."
Your brain seems to handle the job just fine.
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.
The article mentions how they just work with the fact that transistors don't match. Well, engineers have been working with mismatched transistors ever since the transistor was invented.
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.
Password: ********
I'm sorry it appears the password you have entered is incorrect. This could be due to the fact that the processor is unsure of the binary encoding of your password, have a nice day.
All your Sybase are belong to us.
I can remember sitting in a meeting (just listening) on a future Sematech roadmap... I remember the discussion about the dopant levels in gates at the end of the roadmap and I did a quick calculation of the number of B atoms required.... It was 3. 2 would not work nor would 4. (This is indivudual atoms of B not density etc) I was amazed. (I think that the node was the second one past 45 nm - which should be about 20 nm - I don't remember.) Now we seem to have someone saying that we can live with the 30%+ error...... Sounds more like trusting a drunk to give you directions home.
This message was brought to you by "Lack of Sleep."
Yeah, i read that too as was like, "damn, someone isn't an EE". Hell, i'm not, but took enough classes on fab and silicon to know that was bunk.
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
Famous ex-wrestler, turned programmer, Zangief, claims that the unpredictability in his programs is not caused by bugs, but by a "energy conservation" feature!
if he was flying on an aircraft controlled by systems that gave somewhat unpredictable results.
My rights don't need management.
They have drugs that can help you with your issues. Please see a kind doctor and allow him to put that nice white suit with the long sleeves on you. It will make you feel better
A person's personal opinions should be totally irrelevant as far as his/her job is concerned; it's job performance that counts. Now, if the person lets his/her own personal beliefs interfere with his/her job (e.g., in this case, not hiring blacks, etc.), then that is a different matter.
BTW, many blacks are lazy. So are many whites, and many yellows, and many [insert color here]s. If one tries to generalize laziness to all blacks, however, all you have to do is point to people like Colon Powell and Whoopi Goldberg, organizations such as the SCLC and Black Panthers, and African tribes such as the Zulus.
P.S. I just read his entire article. It starts out sounding racist, but the article as a whole is not. At the worst, he was being economicist.
This just in -- The future is not predictable.
News at Eleven.
Assuming e.g. an array of ints the answer to this problem is:
return INT_MAX;
I thought that was what overclocking was for...
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.
For this sort of idea to be successful at the hardware level, we would have to make a fundamental change in the way we view the general-purpose processor.
Right now, at the level of assembly or microcode, it's a deterministic machine that takes known, valid, and limited combinations of inputs and produces outputs that are (or should be) entirely replicable from one piece of hardware to the next.
Leveraging the an inherent uncertainty would require that the underlying algorithms account for its existence. At most, present silicon designs acknowledge that "errors" occur and attempt to either catch or correct the errors in flight. Uncertainty has no such things as errors--only variance.
In order for this approach to be truly successful, the fundamental method of teaching flow control to undergraduate programmers will have to change from something resembling a flow chart (hey, it's how I was taught) to something resembling a Monte Carlo analysis. I couldn't even begin to imagine how we would have to reconceive or reimplement some types of data structures... for instance, looking up anything in an array by its index number certainly becomes an interesting proposition in the proposed environment. Something as useful and fundamental as sequential reads becomes impossible in such an "uncertain" environment, unless you have a specified "certain" region of the CPU that processes code similar to the ways that existing ISAs do.
---
According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
and making a beowulf cluster out of it, oops... Damn! all your joke belong to us!
Something that was not raised was what the randomness applied to. If you're dealing with an error factor in the fabrication of the processor, you are going to more than likely alter the program running on the machine. Even a single instruction being altered in most programs generally leads to catastrophic failure of the program. Now on the other hand, if the data was being handled with 30% inaccuracy, I believe that 9assuming the program didn't crash as a result of absurd data) what we got out would be worse than worthless. A small change in initial conditions in many algorithms leads to a major change in the output data. (the "butterfly effect")
I can only see this 'error margin' having very limited applications, where a small gain in speed is worth severely impacting the probability of correctness. Most of what we do with computers is done because we need deterministic results - every time we add 2 and 2 we NEED to get 4. In those cases, 3.999997 is no better than 115, it's still not 4.
I work for the Department of Redundancy Department.
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.
... but it's close enough. Welcome to your computer.
what i means is, hardware unpredictability is different to software unpredictability. i would feel much safer with software unpredictability (altho not ideal) as it is easier and more cost effective to fix. i would like to come up with a good analogy here like "theres a one in a billion chance that an asteroid would destroy earth, but when your on the smelly end of the luck stick...". it isnt exactly easy to make secure,reliable,consistant etc.software on /predictable/ hardware as it is, let alone on /upredictable/ hardware, however non-critical or buffered the app may be.
in conclusion, i would welcome a 'tru-random' co-processor which is physically seperate from the 'predictable' chip and is only used where random-ness is /required/.
Johnny 5 could recognize a chair or a face... he could even see shapes in the clouds! Your whole argument fell apart at the end, hah!
I recomend for people to read his site (but only after getting intoxicated, that way the danger of mental damage will be lessened and things might actually make sense ... in a dancing-pink-elephants sort of way)
The fact of him being the president of OSI (never you mind a high-ranking member) casts an extremely negative light on that organization.
Keep in mind that the transistor is an analog device that we have nearly pressed to its limits for digital devices. Check this out: http://www.hp.com/hpinfo/newsroom/feature_stories/ 2005/05crossbar.html
The optimal error rate before correction is typically low. A few percent, tops, even for forgiving applications like cell phones.
Yay Gatech! Finally...
Should ask these guys.
No sig for you!!
Intels new 'instability' is not yet usable by windows. Microsoft has announced that Service Pack 3 will add support for this enchancement. http://www.breakmygentoo.net/ already has hacked support for this new feature! In other news IBM has announced that they will be unveiling a new microprocessor that will be 900x more unstable then anything Intel has to offer.
...if the values in the array are distributed randomly (or a reasonable approximation thereof). If they're not, you might just be screwed.
I got my Linux laptop at System76.
Well it's nice to know that my night out on the town, will not set off the "airbag".
Actually the problem isn't speed or the number of transistors, the real problem is feature size. Current technology (the state of the art) is 90 nm. With larger features (transistor dimensions), you might have 100 million electrons turning 'on'. There is the 1 in a million chance that one of them might randomly jump 'off', but the average wins. Most stay put. As features get smaller, Heisenbergs uncertainty principle reaches out and bites certainty in the ass. So 'nearly impossible' becomes 'statistically probable' as feature size gets smaller. One in a billion becomes one in a thousand or one in a hundred (or one in ten). If it's the banks computer, my account, and a billion dollars in my favor, then: God Bless you Mr. Heisenberg!
I've heard rumor that the folks at Georgia Tech are getting together with the paranormal psychics at Princeton that threatens to border on insanity.
Can anyone tell me directions on how to get there? I personally prefer to drive on the disordered side of the border as I don't like feeling constrained.
This is not a troll, but an objective observation. Take any given rented, badly-scratched DVD, pop it in an off-the-shelf DVD player, get tons of artifacts, stuttering, etc. Pop it in a PS2 (which is DVD-ROM in theory), and watch the video almost stop playing. Pop it in a Lite-On DVD-ROM drive, watch it play all the way through, at most stalling for a second or two at the bad parts.
It's true that, scaling up, it may be better to have a six billion by four billion pixel display that has 90% accuracy than a 640x480 display with 100% accuracy, but I'd have to see it work, and keep that inaccuracy the HELL away from my CPU!
Don't thank God, thank a doctor!
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
if the values in the array are distributed randomly
That doesn't matter. The analysis never said anything about the distribution of the numbers in the array. You may assume a worst case distribution of the numbers in the array, and the algorithm still works. Probability is meassured over random choices made by the algorithm, not over inputs. So given an input, you can compute the probability that the algorithm fails, which is always going to be a small number. Then you take the input giving the highest error probability (and now we are no longer assuming random choices, but deterministically chosing the worst case input). Since all the probabilities are small, even the largest of them will be small. This way of analysing error probabilities shouldn't come as a surprise, because that is how it is always done when considering probalistic algorithms.
Do you care about the security of your wireless mouse?
Just build in a random-number generator!
I guess I'm become an old fogie and hadn't noticed it. "...leads to varying degrees of unpredictability, which used to be a no-no word in the microprocessor world."
Sounds like they're breaking the "Principle of Least Astonishment" - the result of performing an operation should be obvious, consistant, and predicatable. (Or for GUIs, the most usable system is the one that least often leaves users astonished.) They're equivalent.
"unpredictability becomes a great asset leading to energy conservation and increased computation speeds."
Why yes, if you don't have to be right, you can greatly increase the computation speed and save power at the same time -
10 PRINT "PI=3"
20 END
Who needs sites like:
www.ualr.edu/~lasmoller/pi.html
www.cecm.sfu.ca/pi/pi.html
www.bath.ac.uk/~mfws20/having_fun_with_pi.html
with my better program above?
Want it more unpredictable? Use: 10 PRINT "PI=";RND()
Want it even faster? How about: 10 END
That program is so fast and unpredictable it didn't bother to print out the answer.
And hey, energy conservation? That's easy, just examine the power-on bit a few times until it changes state. You'll then have all of the power you want, since your server just unpredicatably powered itself off.
(I'm ignoring the obvious Pentium math coprocessor jokes, that's much too easy.)
" excessive heat is now a major obstacle for speed-demon chips.... A lot of this heat stems from today's deterministic approach to chip design, Palem notes. The chip gobbles large amounts of energy to be absolutely certain that each data bit is either a 0 or 1 at every step of a calculation."
Hey, I can't wait for my bank to get hold of one of these --
1) deposit a dollar,
2) withdraw a dollar,
3) check my account for a unpredictable event - like my account balance got stored with the leading bits flipped (NO not the sign bit!)
4) If balance is 0.00, GOTO 1 (http://www.acm.org/classics/oct95/)
5) PROFIT!!!
If the universe is someone's simulation -- does that mean the stars are just stuck pixels?
Is nothing more than statistical likelyness... same things were done in various fuzzy algorithms in the past. So what you do is to feed input in and get a likelyness of something. The problem is likelyness only works in an endless domain, you feed something in and you get a likelyness which is true to 100% over endless seeds during an endless period of time. A snapshot back in time always will give a significant number of false positives or negatives. The main problem is, that if you apply those methods to concrete problems which are correlated to randomness and try to earn money from it you usally end up loosing a lot of money. People tried that in the past with gambling and trying to apply statistical methods into it and failed and from what I can see here, you end up with a fuzzy chip and likelyhood in hardware and you will get the same results in stock brockerage as you already are getting by applying current methods onto the same problems of psychology, basically garbage. But the chips are interesting however, for all fields where you really need some kind of fuzzyfication problem (which is alsmost everywhere where you know how to apply that stuff in a serious manner of trying to predict something on a statistical base), but it definitely is not the golden goose which suddenly gives you the total control over stocks. The whole stock brokerage thing reminds me on the middle ages where scientists tried to gather funds by promising to turn lead into gold while working on their own things.
...and the 386 will regain it's majesty as KING OF CPUS!
Is it just an accident (pun intended) that Slashdot ran this story at the same time as the current one on including random processes on-die?
Kinda spooky (or is it the global collective consciousness expressing it's desire to us, the technical geeky guys, to do it's will)...
The reason that it can be true that 1+1 > 2 is that very peculiar nonzero value of the + operator
google googol
See pictures of tits
... thinking about the headline it musn't be bad at all. He's not advocating flipping opcodes in a cpu and going with the joyride guys. Currently chips work on full swing voltages, beefy noise margins and quite conservative settle timings. In signaling theory there's a lot more than that and the telecomm people developed elaborate modulation schemes that permit data encoding and very good error rejection. I'm talking out of my ass but there are codes that reliably pack a lot of data; why shouldn't computing equipment take advantage of that instead of GHz morse code? RAM and peripherial interconnect could use coherent modulation today rather than go optical (which is still On Off Keying after all) and pay for the mixed subtrate process costs. OOK has been a simple and reliable model for logical circuitry, but today we have enough processing & modeling horsepower to develop stuff that makes better use of the bandwidth.
Mi domando chi à il mandante di tutte le cazzate che faccio - Altan
We're inventing Dad.
"We have an agreement with the bank, they don't make pizzas and we don't cash checks"
Going to Business Week for accurate technical articles is like going to Phrack to get the latest prime rate prediction. Like having Paris Hilton teach string theory (not the -bikini kind). Like asking Janet Jackson to teach classes in modesty. Like having Dick Cheney lead the Andes 10-mile run.
...the first baby-step of emerging silicone-based sentience?
Ignorance is curable, stupid is forever.
the median is -1.
No no absolutely not. remember its the median were takling about. the whole whole analaysis is non-parametric meaning the array value are irrelevant to the analysis.
to see this, sort the array, now replace every number in the array with its ordinal position in the sort. does this change the problem? no. same analysis.
I'm familiar with the project here at Tech.
It doesn't work because the premise behind the chaos in the information is fundamentally flawed. The subthreshold characteristics aren't particularly reliable. It's genius, if you don't know the technology behind it.
http://slashdot.org/~squiggleslash/journal/97860 says it got resolved. He created lots of criticism because of his statements on his blog, that's for sure.
reminds me of a neural net
That's indeed a good point. Considering that neural nets consist of zillion of cells that all compute the same function, a few of those cells returning bogus results (because they are unpredictable) wouldn't really pose much of a problem w.r.t. the final results.
Of course, every program out there would have to be rewritten as a neural net. Regular von-Neumann programs would not stand a chance in systems without error-correcting codes.
cpghost at Cordula's Web.
I was talking about the OP. :)
I think it is one of those ol' "used properly you can gain great benefit, but used improperly you stand to fall back further than before" issues myself. Take OSS and its chaotic nature. Sure there are some efforts to try and establish some real engineering, but those are usually avoided by Johnny Hacker. I don't imagine this is any different.
If such unpredictability is basically narrowed down, then you can use it in a predictable way. Oh and to those that are throwing around the term "Entropy" please just make sure you are using it correctly... most don't. We don't need yet another term being bastardized by a society who thinks they are too smart to check their facts.
I was thinking of a different song...
"It's a great big universe
and we're all really puny
we're just tiny little specks
about the size of Mickey Rooney..."
Classic, second only to their countries-of-the-world song.
My stupid web site
although it's doesn't really apply to Windows 2000 and later.
Pain is merely failure leaving the body