Slashdot Mirror


Introducing Probability into Chip Design

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

37 of 271 comments (clear)

  1. 1 + 1 by rastos1 · · Score: 5, Funny
    1 + 1 = 2. However there is a 0.0009% probability of it being 1.999999999.

    Sorry could not resist.

    1. Re:1 + 1 by SpaghettiPattern · · Score: 5, Funny

      That was done before in the first batches of Pentium 0.99999999.

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  2. so does that mean improbability drives too? by Wameku · · Score: 5, Funny

    UM, Ford. theres an infinite number of monkeys outside that want to talk to us about a script for hamlet they've hammered out. PROBABILITY FACTOR OF 1 to 1: any other problems are your own lookout.

  3. Is this new? by Jugalator · · Score: 4, Insightful

    "We will shift from the deterministic designs of today to probabilistic and statistical designs of the future"

    Doesn't branch predictions in current processors use probabilities already?

    --
    Beware: In C++, your friends can see your privates!
    1. Re:Is this new? by bentini · · Score: 4, Interesting
      Probabilities that will always be the same if you run the exact same sequence of commands.

      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.

    2. Re:Is this new? by mgessner · · Score: 3, Informative

      I can't speak for all branch prediction models, but in the PowerPC, the answer is yes, but it's static.

      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 :)

      --
      "Sometimes the truth is stupid." - Lawrence, creator of Prime Intellect
    3. Re:Is this new? by Jugalator · · Score: 4, Informative

      Oh, I see... The page now loaded for me, and it seems they're simply considering the fact that previously, hardware performance didn't vary that much, but now when we've got down to real small components -- down to atom level -- that are packed closely together, the probability that the chips will behave differently from environment changes becomes greater. And as the probability of chips "misbehaving" increases, there will also be an increasing need of chips that can take this probability of fluctations into account.

      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.

      --
      Beware: In C++, your friends can see your privates!
  4. Is that 1.999 repeating? by TrekkieGod · · Score: 4, Funny
    Is that .9 repeating? If so, there's a 100% possibility of 1 + 1 = 1.9999...

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

    --

    Warning: Opinions known to be heavily biased.

    1. Re:Is that 1.999 repeating? by TrekkieGod · · Score: 2, Insightful
      Uh...

      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 getting 3. Trust me, pal 1/3 exactly equals .333...

      It's incredible how much resistance there is by people whenever this is mentioned in a math class...it's a solid argument.

      --

      Warning: Opinions known to be heavily biased.

    2. Re:Is that 1.999 repeating? by blancolioni · · Score: 4, 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 /. but that's probably my bad. Anyway, say X was the maximum real number less than one. Let Y = 1 - (1 - X) / 2. Now clearly Y is less than 1, but also Y - X = (1 - X) / 2 which is > 0 since 1 - X > 0, so Y > X, and therefore X is not the maximum.

    3. Re:Is that 1.999 repeating? by sco08y · · Score: 2, Insightful

      Didn't mean to post right away...

      Anyway, the reason is that people have conceptual issues with infinities.

    4. Re:Is that 1.999 repeating? by hanssprudel · · Score: 2, Interesting

      i've been using a computer for so long that i'm half convinced that the reals are a hoax invented by physicists to make their sums easier ;-)

      Well, at least you are, or rather were, in good company. When Lindemann proved the transcendence of pi, Kronecker asked:

      "Of what use is your beautiful investigation of pi? Why study such problems when irrational numbers do not exist?"

    5. Re:Is that 1.999 repeating? by Anonym0us+Cow+Herd · · Score: 4, Informative

      An easier form of this proof that I used back in 1979 or thereabouts is when arguing with those who don't understand that 0.9999... is equal to 1. I had learned this proof even earlier from my excellent math teacher in high school.

      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.

      --
      The price of freedom is eternal litigation.
    6. Re:Is that 1.999 repeating? by Anonym0us+Cow+Herd · · Score: 2, Insightful

      My excellent high school math teacher had explained to me, when I had asked, exactly what is an irrational number?

      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

      939287357853918724781923498753298235789 divided by 1000000000000000000000000000000000000000.

      Similarly, even a long decimal number, with some trailing set of digits repeating, can be expressed as the ratio of two integers.

      An irrational number, such as PI, or the square root of 2, can NOT be expressed as the ratio of two integers.

      --
      The price of freedom is eternal litigation.
    7. Re:Is that 1.999 repeating? by Anonym0us+Cow+Herd · · Score: 2, Insightful

      .3 recurring is always going to be a little lower than a third.

      No. 0.3333... with some finite number of 3's is going to be less than 1/3.

      .3 recurring is exactly equal to 1/3. Exactly. Because the number of trailing 3's is infinite. See the proof about 0.9999... recurring being equal to 1.

      --
      The price of freedom is eternal litigation.
    8. Re:Is that 1.999 repeating? by Anonym0us+Cow+Herd · · Score: 2, Informative

      Unless somewhere along the line you make the error of assuming that 0.9999... = 1, you cannot arrive at 9x = 9.

      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 there is a difference between 1 and 0.9999... then there must be some number in between these two. Would you be so kind as to tell me what what number is?

      --
      The price of freedom is eternal litigation.
    9. Re:Is that 1.999 repeating? by Stalyn · · Score: 2, Informative

      ahhh jeeze.

      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

      let n = 3

      0.999 * 10 = 9.99
      n = 2

      let n = inf

      0.9999.... * 10 = 9.9999....

      n = inf - 1

      lim n = inf
      n -> inf

      lim n - 1 = inf
      n -> inf

      --
      The best education consists in immunizing people against systematic attempts at education. - Paul Feyerabend
    10. Re:Is that 1.999 repeating? by Pharmboy · · Score: 2, Funny

      But then, I've been using computers since I was 10...

      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...:)

      --
      Tequila: It's not just for breakfast anymore!
  5. I remember... by Muad'Dave · · 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.

    --
    Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
  6. The more things change by Peldor · · Score: 2, Funny

    Hey, this is nothing new as anyone who owned an original Pentium can tell you. It probably gave you the right answer, except for the occassional FDIV.

  7. it is an old story by wannasleep · · Score: 5, Informative

    In the interview, a lot of things have been left out. The topic is first and foremost old. It goes back to the 80s. Statistical variations have always been taken into account by using worst cases. Problem is that the worst case approach sucks in the latest technologies, so more sophisticated methods have to be used. There has been a lot of research in the last 10 years (Check american, german, and italian universities, just to name few).
    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.

    1. Re:it is an old story by fupeg · · Score: 2, Informative

      I think there is a slight misunderstanding here. The "variance" of analogy systems is really just manufacturing fault tolerance. The manufacturing process is imperfect and so there is a standard error associated with each quality of a given component. This is a little different than the kind of variance that is related to quantum mechanics.

      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 bond to the atom and it's ability to do that is a function of the position of the other electrons in the silicon atom. Quantum mechanics tells us that the positions of these electrons is not determined UNTIL something (such as the electron in this case) interacts with the atom. Until the time of interaction, the electrons have no discrete positions but are instead described by probability distributions. So this is an AND gate that is non-deterministic. Not only will "not always work", but you have no way of knowing if will or will not until you fire an electron at it, and just because it "fails" once has no bearing on the probability of it "failing" again. This is similar to the analog analogy, but it is even less deterministic.

      I think Brokar caused some of the confusion in his interview by bringing up the analogy of variance in speeds of P4 chips. For that to be an accurate analogy, each P4 chip's speed would also vary each time you measured it. Anyways, a chip designed around this kind of non-deterministic behavior would be impressive. And chips will have to be designed this way for the size of components to get much smaller (an atomic diameter is around 0.1 nm.)

  8. Old news... by qtp · · Score: 2, Funny

    Didn't intel already do this whith the original Pentium?

    --
    Read, L
  9. Re:Corporate Feces by Peldor · · Score: 4, Funny

    At least it didn't say Pentium(R) 4(R). Not for lack of trying, I'm sure.

  10. About time! by sco08y · · Score: 2, Funny

    Kinda like we've been releasing software that "probably" works for the past 40 years?

    It's good to see computer engineering is finally catching up with computer science!

  11. HAL by Anonymous Coward · · Score: 2, Funny

    This will make HAL even worse:

    OPEN the DOOR HAL!

    Proberbly not, Dave

  12. Already happens by PsiPsiStar · · Score: 2, Funny

    Isn't probability already a part of chip design.
    "Our new P4 has a 40% probability of being out in May, a 20% chance of being out in June..."

    --

    ___
    It's the end of my comment as I know it and I feel fine.
  13. Think error correction by elwinc · · Score: 2, Insightful

    I believe the kind of probabalistic computing Intel's talking about is analagous to error correction. On your average data CD about 15% of the bits are redundant and devoted to error correction. This reduces the probability of erroneously reading the CD, although the probability of error is still non-zero. Same deal with ECC memory. I'm guessing Intel is looking at ways to apply that kind of trick to the computational logic.

    --
    --- Often in error; never in doubt!
  14. That is a very smart man. by mr_luc · · Score: 3, Insightful

    Listen to that guy. He just GETS it.

    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 /. do, and contribute all their mind and skills and time to furthering open-source and other efforts, and that is very commendable.

    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. :)

  15. The future is now! by supergerwalk · · Score: 2, Funny

    And we'll all be traveling in flying cars while eating meals in pill form!!

  16. This idea has been around for ages by Theovon · · Score: 2, Informative

    Random number generators are used in ASIC and FPGA logic placement and interconnect routing.

    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. :)

  17. A first step? by djeaux · · Score: 2, Interesting
    Assuming that the overarching goal of computer (and software) design is to emulate the human brain -- or even the brain of a flatworm -- hardware is going to have to break free of the confines of binary true-false logic, tight tolerances, etc., and embrace variation.

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

    --
    "Obviously, I'm not an IBM computer any more than I'm an ashtray" (Bob Dylan)
  18. Probability by geekoid · · Score: 2, Funny

    Intel:
    The addition is probably right.

    Amd:
    It will probably melt through your desk.

    Me:
    I will probably be modded to Hell.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  19. Re:Infinity != Infinity, for all values of Infinit by Anonym0us+Cow+Herd · · Score: 2, Informative

    I'm not talking about different functions approaching infinity at different rates.

    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.

    --
    The price of freedom is eternal litigation.
  20. Faster Processors... by MojoRilla · · Score: 2, Funny

    Q4: What are some other applications that need more power?

    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.

  21. Re:I'm a non-believer. by Charbal · · Score: 2, Informative

    Alright. So, say that x is 0.99999... with an infinite number of nines. You claim that x is a number distinct from 1 (since you claim 1 - x is nonzero). Since the the rationals and irrationals are both dense in the reals, we know that if we pick any two distinct reals, we'll always have numbers between them. That is, it's impossible to pick a number and the "next" real number without skipping over any. Yet that is essentially what you've done by positing that the gap between these numbers is infinitely small.

    Put in other terms,

    1 - x = limit(n->infinity, 1 - sum(9*10^(-i), i=1..n)) = limit(n->infinity, 10^(-n))

    So let y equal 1 - x. We can show that if y != 0, then 1 - x < y even with a finite number of digits. Just pick n to be the least integer which is at least -log(y)+1 and then 10^n < y just considering a finite number of digits, n.

    That is, if you tell me what the nonzero gap between the numbers that you expect to see, one can show that the gap is less than that. Since the gap is a nonnegative number that is less than all nonzero (ie, positive) choices, it is zero.

    Therefore, 0.9999999..... = 1.

    On an even more off-topic note, has anyone else started to think that trolls that bring up controversial mathematical statements are probably the best way to get responses nowadays? Not to say that the OP was a troll, but if it was, congratulations on all the responses. Also, congratulations to the Monty Hall problem poster some days back that was a troll.

    --
    Prudence forbids me to explain myself further. - Isaac Barre, 1765
  22. Hardly non-deterministic computing by Roxton · · Score: 2, Interesting

    He's not talking about non-deterministic computing. He's talking about ways to salvage the chip if one or more subcircuits don't function correctly. The article isn't very technical, but this probably alludes to having redundant circuits, possibly even taking the answer that the most redundant circuits produce.

    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 delays. If this system works at all, you can be certain that it will be very rigidly subjected to the law of diminishing returns.

    -Roxton