Introducing Probability into Chip Design 271
prostoalex writes "The August issue of Intel Developer Update has an interview with Shekhar Borkar, Intel Fellow and Director of Circuit Research at Intel Corp. talking about the future of microprocessor design and what goes on inside Intel Labs. Borkar tells why we need even faster processors and how probability will make its way into future chip designs - "It's like the shift from Newtonian mechanics to quantum mechanics. We will shift from the deterministic designs of today to probabilistic and statistical designs of the future.""
1 + 1 (Score:5, Funny)
Sorry could not resist.
Is that 1.999 repeating? (Score:4, Funny)
.999... is exactly equal to 1. To the non-believers out there, consider that 1/3 = .333..., and that 1/3 + 1/3 + 1/3 = 1.
Re:Is that 1.999 repeating? (Score:2, Insightful)
Re:Is that 1.999 repeating? (Score:5, Insightful)
The supremum of all reals less than one is one. The set itself, as you said, doesn't have a maximum element.
In a not-at-all-patronising way, I'm surprised that this is even up for discussion on
Re:Is that 1.999 repeating? (Score:2, Interesting)
Well, at least you are, or rather were, in good company. When Lindemann proved the transcendence of pi, Kronecker [st-and.ac.uk] asked:
"Of what use is your beautiful investigation of pi? Why study such problems when irrational numbers do not exist?"
Re:Is that 1.999 repeating? (Score:2)
But then, I've been using computers since I was 10... Would you say that is the reason? 8-)
Re:Is that 1.999 repeating? (Score:3, Funny)
Was that 10 as in ten, or 10 as in two?
I bought my first computer when I was 00010010, but that was almost 00010101 years ago...:)
Re:Is that 1.999 repeating? (Score:2)
Re:Is that 1.999 repeating? (Score:2, Funny)
In base 7, 0.66666666... is equal to 1
In base 2, 0.11111111... is equal to 1
etc.
Notice that, in binary (base 2):
1/3 = 0.010101010101...
2/3 = 0.101010101010...
3/3 = 0.111111111111...
Re:Is that 1.999 repeating? (Score:2)
Re:Is that 1.999 repeating? (Score:3, Insightful)
Ummm, but .333 repeating + .333 repeating + .333 repeating does not equal 1
.333... + .333... + .333... = .999...
That's why .999... exactly equals 1. That was the argument. 1/3 * 3 in fraction equals 1, 1/3 * 3 in decimal form must also equal one.
There was a remainder when you divided 1/3 that got thrown out.
What in the name of Gauss are you talking about? Remainder thrown out? No remainders at all...decimals...0.333..., 3 repeats forever. If you kept doing the division, you keep gett
Re:Is that 1.999 repeating? (Score:2)
It's incredible how much resistance there is by people whenever this is mentioned in a math class...it's a solid argument.
It's the same reason why the square root of two was called an "irrational" number.
Re:Is that 1.999 repeating? (Score:3, Insightful)
Anyway, the reason is that people have conceptual issues with infinities.
Re:Is that 1.999 repeating? (Score:2, Insightful)
Numbers like 1/3, such as 0.3333... are rational, because even though they repeat, such numbers are exactly representable by the ratio of two integers.
In fact, any decimal number that can be expressed as the ratio of two integers, is a rational number. Even a number such as...
0.939287357853918724781923498753298235789
is a rational number. It is just
9392873578539187247819234987532982
Re:Is that 1.999 repeating? (Score:2)
1/3 + 1/3 = 2/3
2/3 = 0.67 (to 2 s.f.)
1/3 = 0.33 (to 2 s.f.)
0.67 + 0.33 = 1.00
1/3 can't be expressed (without an error) in decimal form as it's recurring. It's that error that causes a problem in your calculation.
I agree that
Re:Is that 1.999 repeating? (Score:3, Insightful)
No. 0.3333... with some finite number of 3's is going to be less than 1/3.
Re:Is that 1.999 repeating? (Score:2)
It's always going to be:-
10/3 = 3 r 1
10/3 = 3 r 1 etc etc etc
Re:Is that 1.999 repeating? (Score:2)
Um, no.
When you think you have a remainder, then there is simply NOT an infinite number of digits. You have stopped at less than infinity. You have a 0.3333 that is NOT recurring. It is 0.333 recurring that we are talking about here. You are talking about 0.3333 with some fixed finite number of 3's.
When you have some remainder, you have not finished yet. Add an additional infinite number of 3's and keep dividing
Re:Is that 1.999 repeating? (Score:2)
Please see this [slashdot.org].
After googling, there seems to be plenty of argument that 0.9999... is equal to 1. Therefore, 0.33333... is equal to 1/3.
I'll use the same proofs...
If there is a difference between 0.33333... and 1/3, then there must be a number in between the two. Please identify this number.
Would you agree that 0.333333... is equal to 0.3 + 0.033333...?
Is it also equal to 0.33 + 0.0033333...?
Is it also equal to 0.333 + 0.00033333...?
But no m
Re:Is that 1.999 repeating? (Score:2)
Repeat after me: the limit of a sequence needn't be an element of that sequence.
Re:Is that 1.999 repeating? (Score:2)
See this proof [slashdot.org].
Re:Is that 1.999 repeating? (Score:2)
(I'm going to use the tilde (~) to represent the repeating digits.)
z = 0.999~
10z = 9.999~
10z - z = 9.999~ - z
9z = 9
z = 1
Thus, 0.999~ = 1, QED.
Re:Is that 1.999 repeating? (Score:2)
That said...there probably aren't many non-calculus people in slashdot :)
Re:Is that 1.999 repeating? (Score:5, Informative)
Let x be 0.99999....
x = 0.9999....
10x = 9.9999...
10x - x = 9.9999... - 0.9999... = 9
10x - x = 9 (the infinite trail of nines drop off in the subtraction)
but also, 10x - x = 9x
So, 9x = 9
Therefore x = 1
With this form of the proof, it is easier to see how the trailing nines just drop off in the subtraction. After thinking about this, the key seems to be that after multiplying 0.9999... by ten, to get 9.9999..., you still have the same number (infinity) of nines behind the decimal point.
Re:Is that 1.999 repeating? (Score:2, Informative)
Infinitely repeating digits (aka 0.9...) don't share the same meaning as those that terminate (aka 0.9) treating them the same is inappropriate, and only useful in demonstrating the flaw in logic that they can be treated the same.
x = 0.9999...
10 = 10 * 0.9999...
10x - x = 10 * 0.9999... - 0.9999
10x + (-1)x = 10 * 0.9999... + (-1) * 0.9999...
(10 - 1)x = (10 - 1) * 0.9999...
9x = 9 * 0.9999...
Unless somewhere along the line you
Re:Is that 1.999 repeating? (Score:3, Informative)
I never made such an assumption. Let's review my proof.
Let x = 0.99999.....
Now, don't you agree that 10x would be 9.999999..... ?
So far I am not assuming what you have said.
Now is it true that 9.9999.... minus 0.9999.... would be exactly 9? An infinite number of nines minus an infinite number of nines is zero.
But there is an even simpler proof that someone else mentioned. If t
Re:Is that 1.999 repeating? (Score:2)
This is not a mathematically incorrect assumption.
Re:Is that 1.999 repeating? (Score:2)
Re:Is that 1.999 repeating? (Score:2)
Do we agree that 0.99999..... is equal to 0.9 + 0.099999...?
If so, then do we also agree that 0.99999.... is equal to 0.99 + 0.00999999....?
Then we find that no matter small a fraction we add to 0.99999... that we get a number greater than 1.
0.9 + 0.1 + 0.099999... > 1
0.99 + 0.01 + 0.009999... > 1
0.999 + 0.001 + 0.0009999.... > 1
No matter how small a fraction 0.0000.......001 you add, you get a number great
Re:Is that 1.999 repeating? (Score:2)
You are wrong... (Score:2)
"Let x be 0.999..."
This is most definitely NOT possible.
A non-complete can never be assigned.
That is like saying..."I'll go to infinity and bring you back some ice cream." I'm sorry, by logic the conditional expression will never be evaluated when dealing with infinity.
+1-1
Re:You are wrong... (Score:2)
Let x = pi
or... Let x = sqrt( 2 )
At least rational numbers can be expressed as the ratio of two integers (1/1) or (1/3). Irrational numbers cannot.
See these other proofs [slashdot.org].
Re:Is that 1.999 repeating? (Score:2, Informative)
1. first you apply rational analysis to an irrational number but whatever.
x = 0.9999....
lim x = 1
x -> 1
lim 10x = 10
lets supposed x = 0.999
thefore 10x = 9.99
10x - x = 8.991
now again x = 0.9999...
10x = 9.9999....
10x - x = 8.999....1
the infinite series of 9s is reduced by one when you multiply it by 10. it is a common misconception that all infinites are equal, this is not true.
let x = 0.9999... where n is the number of decimal places.
x to the n places * 10 = x to the n - 1 places
proof
Re:Is that 1.999 repeating? (Score:2)
0.9999... is not an irrational number. It is rational. That is, it can be expressed as the ratio of two integers.
For instance, 0.333333... is rational, because it is expressed as 1/3.
0.99999.... is rational because it is expressed as 1/1.
1/3 = 0.33333.....
Multiply both sides by 3, you get...
3/3 = 0.999999......
Re:Is that 1.999 repeating? (Score:2)
Is 0.99999...., minus 0.99999.... equal to zero?
If so, then 9.99999...,
minus 0.99999....
is exactly 9.
You are thinking of a finite number of nines. I'm thinking of an infinite number of nines.
Here is another question for you. What is infinity minue one? An infinite number of nines minus one nine.
In fact, infinity minus one has practical consequence. The Constitution gives Congress the power to grant copyright holders a
Infinity != Infinity, for all values of Infinity (Score:2)
You missed the parent's point that just because two things are infinite, doesn't make them equal. Some of them approach infinity at different rates, or are clearly larger or smaller than another. Infinity's just a handy notation, it is NOT an actual specific value.
There's a whole wonderful, nasty math of infinities out there for you to do a graduate degree in mathematics on. Saddle up and ride.
Re:Infinity != Infinity, for all values of Infinit (Score:3, Informative)
I'm talking about the fact that 9.99999.... minus nine is exactly 0.99999.....
Therefore 9.99999..... minus 0.99999.... must be exactly 9.
Re:Infinity != Infinity, for all values of Infinit (Score:2)
I would like to see some references to different values of infinity please. That is like saying that one is not equal to one for different values of one.
There's a whole wonderful, nasty math of infinities out there for you to do a graduate degree in mathematics on
And I'd really like to hear what the authors of such works would have to say
Re:Infinity != Infinity, for all values of Infinit (Score:2)
Re:Infinity != Infinity, for all values of Infinit (Score:2)
If 0.99999... is truly less than 1, then please name me a number that falls in between these two.
Re:Infinity != Infinity, for all values of Infinit (Score:2)
If A < B, then there must be some other number Z such that A < Z < B.
If 0.9999... is less than 1, then please name me a number that falls in between the two.
Re:Infinity != Infinity, for all values of Infinit (Score:2)
The average of a and b (assuming b is the larger of the two, IF they are different at all), is a = avg = b. Note those equal to.
Re:Infinity != Infinity, for all values of Infinit (Score:2)
So what is that number?
From this [cut-the-knot.org] web page, I got the following text....
Here's another enlightening argument from Burger [cut-the-knot.org] . I never met anybody who thought 0.999... greater than 1. So, if it's not equal to 1, it is less than 1. Let's think of the average of 0.999... and 1. As an average of any two numbers, it's greater than 0.999... but is less than 1. Can we determine its decimal expansion? Say, what is its integer part. Since
Re:Infinity != Infinity, for all values of Infinit (Score:2)
I'm not saying you're wrong - I in fact agree with you - I'm just saying your proof was a little sketchy.
Infinite Hotel (Score:2)
Yes, it does. The strangeness of this principle of infinities is more clearly seen when you consider the problem of the infinite hotel.
Suppose there is a hotel with a countably (each room is numbered, 1 through infinity) infinite number of rooms, and every room is full. I
Re:I'm a non-believer. (Score:2, Informative)
Re:NO! NO? NO?! (Score:2)
BEEP! Logic error! The behavior of a limit cannot in general be determined from the behavior of a limiting sequence. (After all, 1/3 is the limit of a sequence of numbers expressable as finite decimals and sqrt 2 is the limit of a sequence of rational numbers.) Don't feel bad though, I swear to God Hawking makes the same mistake in A Short History of Time
Re:Limiting sequence... (Score:2)
What do you mean by ``limiting everything over 0''? What sequence or class of sequences are you limiting? Clearly, a decreasing sequence of strictly positive values can limit to 0.
Re:Is that 1.999 repeating? (Score:2)
Re:Is that 1.999 repeating? (Score:2)
F(x)=1-x, x>0 LIMIT as X approaches 0, f(x) approaches 1.
That would be a limit. (1-x) != 1 ever. It would merely approach 1. However, 1-x !=
Re:1 + 1 (Score:5, Funny)
Re:1 + 1 (Score:2)
That was done before in the first batches of Pentium 0.99999999.
So that would be why the first batches of Pentium chips are actualy 486.99999-class processors.
Re:1 + 1 (Score:2)
Re:1 + 1 (Score:2)
so does that mean improbability drives too? (Score:5, Funny)
Is this new? (Score:5, Insightful)
Doesn't branch predictions in current processors use probabilities already?
Re:Is this new? (Score:5, Interesting)
What he appears to be suggesting is transistors that we acknowledge to be based in an analog world -- their state depends not only on the data you feed them, but also on the temperature they are immersed in, etc.
Re:Is this new? (Score:5, Informative)
I first thought the article was about speeding up stuff by probabilities and statistics, but it's mostly about solving a currently theoretical problem that might soon become an actual, real world problem. And to solve that problem, we might even have to move away from some of the computer architecture as we know it today.
Re:Is this new? (Score:3, Informative)
In the PowerPC, unless a hint is given by the programmer/compiler, forward branches (positive offset) are predicted as NOT taken, and backward branches are predicted as BEING taken.
This is simply because lots of branching (aside from function calls) takes place in for, while and do-while loops (or for, while, and repeat-until for you Pascal geeks
I remember... (Score:5, Interesting)
...back in the heady days of Concurrent Computer their top-of-the-line 3280 processor has "usual branch" instructions. The compiler could use the usual branch instructions to provide hints about the probability of the branch being taken to the processor. In a loop, for instance, you'd use a "usual branch not equal" (UBNE) instruction to send execution back to the top. This would indicate to the processor that it should preemptively invalidaate the cache and pipeline.
I'm sure many mainstream processors have this now, but it's funny to think that CCUR had this technology in the late 1980's.
Re:I remember... (Score:2)
for (i = 0; i 10; i++)
{
}
The branch to jump outside the loop
is the unlikely one. This is probably
a good assumption to make for loops.
Re:I remember... (Score:2)
Anyway, static branch prediction has been around for a long long time. That's not what intel is talking about.
The more things change (Score:2, Funny)
it is an old story (Score:5, Informative)
Also, the problem is old, meaning that analog designers had to deal with these problems since the early stages (example: the offset in the operational amplifiers is caused by transistor performance mismatch). Now, digital designs are affected too. First on the clocking network and now all the rest. Furthermore, it is widely known (in the community) that interconnect variations are of the same order of magnitude of the device (i.e. transistor)performance variations, and on the top of that dynamic effects (like cross talk) may severely affect the performance.
I don't agree with him on the fact that all the variations are gaussian, there is plenty of literature that states the contrary, and major chip makers know it very well.
Last but not least, there are already tools that deal with statistical variations, although none of them can handle a microprocessor, as they are mostly circtuit simulation-based. All in all, the good news is that awareness is spreading thru the designers.
Re:it is an old story (Score:2, Informative)
Imagine an AND gate that is a single silicon atom. For such a gate to be "open" a single electron would have to be "flow" through it. This requires the electron to bon
Old news... (Score:3, Funny)
I fail to see (Score:2)
Your failure (Score:2)
About time! (Score:3, Funny)
It's good to see computer engineering is finally catching up with computer science!
HAL (Score:2, Funny)
OPEN the DOOR HAL!
Proberbly not, Dave
Re:HAL (Score:2)
"Open the pod bay doors, HAL."
"I don't think so, Dave."
"Awright, it's time for MORE POWER!!!"
Kaboom!
I can now relax... (Score:2)
Look at the whole proactive computing model, where computers will anticipate our needs and sometimes take action on our behalf. That's one.
so I can relax and count on my Opera v40 to post the first post for me?
Already happens (Score:3, Funny)
"Our new P4 has a 40% probability of being out in May, a 20% chance of being out in June..."
Re:Already happens (Score:2)
Exactly, and a 95% chance of being delayed until at least September.
-
Think error correction (Score:3, Insightful)
That is a very smart man. (Score:4, Insightful)
I am actually, to some extent, inspired by that article. Corporate BS policies aside, whatever you think of Intel or AMD or any other company as a company, as a political entity, or as a producer or consumer goods, you still have to feel good that there are people like that, people that just GET the overriding vision of advancing technology, and are actively working to advance it.
I don't have time advance technology much in my current job. I don't have the mind or the skills or the time for boundary-pushing endeavors. Some at
But as we often lament, it sometimes seems like the Big Boys don't have the same spark. Let's not forget that somewhere within the pudge of even the fattest multinational technology company, there are brilliant, passionate minds working to further everything we hold dear. These are people who aren't just brilliant scientists or passionate geeks -- they're both. And they're on our side.
Re:That is a very smart man. (Score:2)
Not that it would matter if he came over from India yesterday. He's a smart man, he's very qualified, and he holds a position of great authority that commands great respect. This isn't a case of a mildly trained person who will work for peanuts being brought in to lay off a highly trained technician that wants an honest wage. Positions like the one h
Re:That is a very smart man. (Score:2)
The future is now! (Score:2, Funny)
Faster processors? (Score:2)
This idea has been around for ages (Score:3, Informative)
The goal is to place and route logic in a way that meets the designer's timing and area constraints. The problem is that a deterministic algorithm for that is NP-complete. Instead of considering all possibilities, a number of randomly-generated possibilities are considered, with some ability to make adjustments when one is chosen.
The randomly-generated possibilities, of course, are not completely random -- it's a matter of multiple gates competing for the same fixed-location logic cell, etc. Who gets the one closest to where they all want to be? Where do you place the rest? What about others competing for THOSE locations? It's complicated.
This is a big mistake... (Score:2)
A first step? (Score:3, Interesting)
Since physical science (and by extrapolation, engineering) is built on a "reductionist" paradigm where every problem is broken to its simplest components & solved piecemeal at that level, it makes sense for a "probabilistic" approach to chip design to happen some time. Might as well be now.
But when we operate under the reductionist model, we forget emergent properties at the system level. In developing a "learning" system -- which again, I assume to be the overarching goal -- we have to learn to deal with variation. Situations are almost never exactly the same. In the beginning of a "learning" system, things probably (pun intended) do look random. But as special cases, exceptions, subtle cues, etc. are encountered by the system & incorporated into the decision-making process, things appear to become increasingly deterministic.
So, if a "probabilistic" chip design is implemented properly, it likely will look pretty "deterministic" to the end-user, who expects certain kinds of results.
The problem now is that the hardware is "deterministic" & any attempt to create a "probabilistic" learning system has to happen in software. Right now, the limit to AI, IMO, is simply that chips aren't even in the same league with neurons. "Learning" software built on "learning" hardware ought to be a pretty powerful concept.
Of course, this may just be a way to get around the fact that manufacturing may be pushing the limits for tight tolerances & probabilistic chip design is the only out. Whatever it takes to force a paradigm shift.
"Most places a paradigms won't buy you a cup of coffee..."
Probability (Score:3, Funny)
The addition is probably right.
Amd:
It will probably melt through your desk.
Me:
I will probably be modded to Hell.
statistical? (Score:2)
Statistics? There are lies, damn lies, and 824633702441(WARNING! STAT FLOATING POINT ERROR)
Quality of life (Score:2)
Faster Processors... (Score:3, Funny)
Look at the whole proactive computing model, where computers will anticipate our needs and sometimes take action on our behalf. That's one.
When he said this, all I could think of was, yeah, computers need more power to run the heavy virus workload and still make them usable.
Hardly non-deterministic computing (Score:2, Interesting)
I'm not a smart enough man to know whether or not this is feasible. Keep in mind that introducing these redundancy checks actually increases the "length" of the circuit, increasing propogation del
Re:Hardly non-deterministic computing (Score:2)
In many computer systems designed for orbit, that use, say, 486s, they'll put in three of them. Any given calc gets run through all three. Which ever answer is most popular between all three, that's the answer used.
Why? Because 1+1 = 2, unless a stray bit of radiation or cosmic energy has flipped a bit in your processor.
Haven't they already done this? (Score:2)
It will work but I do not know why (Score:2)
So these processors will work but as quantum physics states we cannot know why, or will they just work in an alternate universe with threads to this? Very interesting but I smell some very unexpected results. Dissappearing sales revenues is first that comes to mind, rediculous developement costs is on the plate as well! I wish succ
then the improbability computer will appear... (Score:2)
Article summary (Score:2)
Can I Connect To The Internet Today? (Score:2)
Probably.
Maybe.
Will I be
Oh, that's a certainty.
Re:Corporate Feces (Score:4, Funny)
Re:Apples? (Score:2)
Re:Trinary Logic... a nonserious answer (Score:2)
Re:Trinary Logic... a serious issue... (Score:2)
It's fuzzy logic, and the idea is that along with true and false there are also degrees of truth. If true is represented as 1, and false as 0, then an operand can have any value between zero and one. Here are a few fuzzy operators:
Not: 1-operand
And: min(operand1, operand2)
Or: max(operand1, operand2)
Notice that this is a superset of the original operators; with normal tr
Re:Chaos Theory (Score:2)
Sign in Bed-n-Breakfast at the End of the Universe (Score:2)