Slashdot Mirror


Chips That Flow With Probabilities, Not Bits

holy_calamity writes "Boston company Lyric Semiconductor has taken the wraps off a microchip designed for statistical calculations that eschews digital logic. It's still made from silicon transistors. But they are arranged gates that compute with analogue signals representing probabilities, not binary bits. That makes it easier to implement calculations of probabilities, says the company, which has a chip for correcting errors in flash memory claimed to be 30 times smaller than a digital logic-based equivalent."

37 of 153 comments (clear)

  1. Analog Computers by timgoh0 · · Score: 4, Insightful

    It would seem that they have reinvented the analog computer, but this time entirely on a chip. And probably (hopefully) with some logic that prevents errors due to natural processes like capacitive coupling.

    1. Re:Analog Computers by Sockatume · · Score: 2, Insightful

      Being able to do it on silicon should mean they can make them cheaply and quickly with existing fab gear. I could see these being a lot of fun for tinkerers.

      --
      No kidding!!! What do you say at this point?
    2. Re:Analog Computers by Anonymous Coward · · Score: 2, Informative

      This has nothing to do with analog computers. It has to do with probability of error:
      ref1: http://www.hindawi.com/journals/vlsi/2010/460312.html
      ref2: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5118445

    3. Re:Analog Computers by Anonymous Coward · · Score: 5, Informative

      No, it does. We aren't trying to reduce error in logic operations. We're passing analog values between one and zero into logic circuits. Literally, at the lowest level, the "bits" pumping through the chip are probabilities. It's not analog in the sense that we use op amps, we still use gates, but the inputs and ouptuts of the gates are probabilities, not hard bits.

    4. Re:Analog Computers by Anonymous Coward · · Score: 2, Interesting

      Probability computing is not analog computing. Nor is it digital. Nor is it limited to error correction and search engines. It's a new implementation of a mathematical concept that allows arbitrary logic to be implemented smaller and faster than traditional digital chips.

      Calling it analog is an insult.

    5. Re:Analog Computers by tenco · · Score: 2, Interesting

      Being able to do it on silicon should mean they can make them cheaply and quickly with existing fab gear. I could see these being a lot of fun for tinkerers.

      Sure, you can make them cheap. But QA could be a bitch, I imagine. Simply ensuring that all used gates operate linear within a small error margin should be hard. And how you gonna give error margins for each output it calculated? After all, it's analog not digital.

    6. Re:Analog Computers by pz · · Score: 2, Informative

      It's not analog in the sense that we use op amps, we still use gates

      What's the difference? A gate is just a high speed high gain ultra high distortion opamp.

      Forgot your introductory digital design courses already?

      Digital circuits are designed to reliably transmit or compute a digital value in to presence of noise. The way this is done is by excluding huge ranges of voltages and making very high gain op-amps that, while fast, do not need to be accurate. Accuracy is thrown out the window in favor of speed and noise immunity. You will (or should) never see a properly operating op-amp in a digital circuit putting out a voltage other than something in the range representing a 0 or 1 (in TTL-compatible circuits for example, 0 to 0.2 V for a 0 and 4.7 to 5.0V for a 1 ... note that I'm quoting output ranges not input ranges). The acceptable voltage ranges were designed such that a valid 0 signal when combined with inevitable noise would still be read as a 0 at the next stage; mid-range values are not permitted. See, eg, http://www.interfacebus.com/voltage_threshold.html .

      Op-amps designed for accurate reproduction of analog values are an entirely different creature, one where accuracy is among the primary design requirements. In contrast to digital circuits, a mid-range value is not only permissible, but expected.

      So while both digital and analog logic use op-amps, the design requirements and valid signal ranges are vastly different.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    7. Re:Analog Computers by plcurechax · · Score: 2, Interesting

      It would seem that they have reinvented the analog computer, but this time entirely on a chip.

      Actually it would be sweet to have an equivalent to a CPLD or FPGA for analog electronics, where an entire analog sub-system could be reduced to a single chip, reducing the cost and board real estate for usage in low-cost electronics, reduce noise levels. Many it's my math background, or working in scientific computing, but being able to work natively with continuous number versus discrete representation that are often only approximate (a la floating point number in a digital computer), would be nice.

      If such a computing device could be scaled up in "logical unit" density and speed like we've seen with digital computers, they could prove useful in a number of applications. Depending on the quality of noise (undefined or unintentional variation in numeric values), and its management, it might prove fruitful for scientific simulation such as weather forecasting, fluid dynamics, and any other model of physical conditions which are more accurately in continuous numbers (i.e. the Real number domain).

    8. Re:Analog Computers by denobug · · Score: 2, Informative

      Based on the reference given above. The idea is to use the possible error rate of a particular assembly of gates to generate a result tha represents a probability. So say, if by lowering the voltage level intentionally and run a particular logic through, the probability of the result is wrong (because of the physical limitations of the device), that would become the desired output, rather than having to raise the voltage to insure the logic is right all the time.

      The whole idea is to use less gates and less energy to come up with the same statistical result in a silicon. Organize the gates in different structures will have different probabilities of producing errors. So in theory with enough emperical data we can safely predict the porbabilities of an error coming from a certain arrangements. That is the beauty of the statistics, after all, and it does not have to be dead accurate as long as we are in the margin of errors. The results wills still have the base signals of 0 and 1, except they now represent a certain probabilities, instead of a hard 0 or 1 bit.

      Yes the theory is new so it would be hard to validate, but certainly it would be interesting to see how it works out in real-life application.

    9. Re:Analog Computers by Rhinobird · · Score: 2, Informative

      You mean like a Field Programmable Analog Array?

      http://en.wikipedia.org/wiki/Field-programmable_analog_array

      --
      If Mr. Edison had thought smarter he wouldn't sweat as much. --Nikola Tesla
    10. Re:Analog Computers by crgrace · · Score: 2, Interesting

      Actually, the article doesn't say that at all. In fact, it gives virtually no indication about how these new devices work. An analog computer uses op amps to solve differential equations. I highly, highly doubt that is what this new device is doing.

    11. Re:Analog Computers by crgrace · · Score: 2, Informative

      Of course, if they managed to do this using digital IC fab technology (analog ICs are very "big" when you compare to modern digital deep submicron technology), that'll be a huge breakthrough.

      That actually wouldn't be a breakthrough at all. I've been designing analog ICs in digital deep submicron technology for 8 years. Some really big companies (Broadcom, Marvel, etc.) have built their businesses on it. I'm currently working on a Pipelined ADC in 65nm CMOS. You may be thinking about Bipolar Analog ICs, which are still important in the marketplace. But, for communications or imaging systems work, the vast majority of analog circuits are on digital CMOS (with or without a special capacitor option).

      As an aside, I read recently that they still make close to 100 million 555 timers every year. I wonder what they're used for.

      Carl

    12. Re:Analog Computers by crgrace · · Score: 2, Informative

      It's not analog in the sense that we use op amps, we still use gates

      What's the difference? A gate is just a high speed high gain ultra high distortion opamp.

      Op amps have differential inputs, for one thing. They also generally have much, much higher gain than a gate. Do a voltage transfer characteristic of an inverter in the process of your choice and look at the slope when it is in its linear region. The case won't be any larger than 10 - 15 Volts/Volt. Can't hardly use *that* as an op amp.

    13. Re:Analog Computers by imgod2u · · Score: 2, Interesting

      Forgot your introductory digital design courses already?

      I think you forgot your analog circuit class. Functionally speaking, an inverter is no different than a high-gain, rail-to-rail voltage controlled op-amp. It's just far more susceptible to noise and has a very distorted IV curve. The reason digital has taken on so much popularity is that since you're either railing the amplifier to its VDD rail or GND rail and don't care about the in-betweens, you can use very small, very fast and sometimes lower power transistors and not care about how well the transistor performs when amplifying anything in between.

      Analog circuits have to have very precise shaping of Vin-to-Vout, Vin-to-Iout, Iin-Vout, or Iin-Iout. Hence they're usually a lot bigger, and a lot more power hungry (if you want speed) or a lot slower (if you want low power).

      That being said, for certain types of applications (for instance, statistical convolution) it may be faster in the end to use a slower, larger analog transistor and use fewer of them at lower speeds to do the same thing as a lot of smaller, faster digital transistors.

      But it takes more time to design and is difficult to change and scale to smaller geometries.

  2. There are 10 kinds of people in the world.. by Deus.1.01 · · Score: 5, Funny

    12.5% that understands binary 87.5 that don't...

    --
    My -1 Troll is actually a +1 funny. And my -1 flame is actually a +1 insightfull.
    1. Re:There are 10 kinds of people in the world.. by jimicus · · Score: 3, Funny

      Probably.

    2. Re:There are 10 kinds of people in the world.. by Thanshin · · Score: 4, Funny

      Probably.

      User: Are we in the right road to the beach?
      Google maps: Probably.
      User: the fuck?... Is this the beach road or not.
      Google maps: I'd say yes...ish. Most likely. ...
      User: The road is cut! It ends like right here!
      Google maps: Let me change my first answer to "I wouldn't bet on it. Much. I wouldn't bet much on it. ... Ok no, it's not likely to be the road. I'm turning off now. Good luck!"

  3. A Computer for Truth Challenged Scientists? by Handbrewer · · Score: 2, Funny

    So basically its a computer that makes up statistical computations and corrects them to fit the models on the fly? Lazy scientists, rejoice!

  4. Probability in computers: it's called a float by Z8 · · Score: 4, Insightful

    The article mentions Bayesian calculations. Can these computers really speed up those calculations? Nowadays Bayesian calculations usually involve thousands of iterations of a technique called Markov Chain Monte Carlo (MCMC) unless the distributions in question are conjugate priors. The simulation then converges to the right answer.

    The issue I see is that all these techniques are just math. They are either analytic (conjugate priors) or require strict error bounds in order get sensible answers (MCMC). There's no separate system of math that Bayesians use. Like many others, Bayesians just need quick reliable floating point mathematics. So anyway, I don't see how this can help Bayesian statisticians, unless it also revolutionizes engineering, physics, etc.

    1. Re:Probability in computers: it's called a float by Frequency+Domain · · Score: 4, Informative

      [...] Nowadays Bayesian calculations usually involve thousands of iterations[...]. The simulation then converges to the right answer.

      The convergence you refer to is asymptotic. In practice it takes about 10000 iterations to get around a 1% bound on a single probability point estimate, and a factor of a hundred for each order of magnitude improvement. On top of that, if you're dealing with multiple distributions the overall expectation is not just a simple function of the component expectations unless the whole system is linear, you need to use convolution to combine results. And on top of that, lots of interesting problems are based on order statistics, not means/expectations. Having hardware that correctly manipulates distributional behavior in a few CPU cycles would blow the doors off of MCMC.

  5. Analogue Computing by Anonymous Coward · · Score: 2, Insightful

    This is potentially a great advance. Everyone knows that analogue computing can greatly outperform digital computing (now each bit has a continuum of states so stores infinitely more data, each operation on 2 'bits'....you get the idea)....but there are many issues to resolve i.e.

    1) Error correction - every 'bit' is in an erroneous state
    2) Writing code for the thing - anyone got analogue algorithm design on their CVs?

  6. Awesome! by UID30 · · Score: 3, Funny

    How much longer before we get the "infinite improbability machine"?

    --
    "Glory is fleeting, but obscurity is forever." - Napoleon Bonaparte
  7. Re:may i just say by dominious · · Score: 3, Funny

    as a machine learning person

    This either means:

    You are a person who is learning from a machine or....
    You are a learning machine who is now referring to itself as person! You also get excited about probabilities and you are posting on /.

    A.I. has gone too far...

  8. Re:1 AND 1 = 1 : 0.8 AND 0.6 = 0.7 by selven · · Score: 4, Insightful

    If 0.8 AND 0.6 = 0.7 (I assume you're taking the average here), then 1 AND 0 would be 0.5, when it's supposed to be 0. The only answers I would accept for 0.8 AND 0.6 are 0.6 (min) and 0.48 (multiplication). An OR gate is constructed by attaching NOT (1 - x here) gates to the inputs and output of an AND gate, yielding 0.8 or 0.92 depending on which rule you go with.

  9. Re:Douglas Adams would be proud. by RivenAleem · · Score: 2, Funny

    My Bistromathic drive makes that look like an electric pram

  10. The actual thesis by Mathiasdm · · Score: 4, Informative

    By Ben Vigoda, Co-Founder and CEO: http://phm.cba.mit.edu/theses/03.07.vigoda.pdf

    --
    Join the anonymous, help develop the network: http://www.i2p2.de
    1. Re:The actual thesis by Born2bwire · · Score: 4, Funny

      By Ben Vigoda, Co-Founder and CEO: http://phm.cba.mit.edu/theses/03.07.vigoda.pdf

      Huh, I thought he was dead.

    2. Re:The actual thesis by Asic+Eng · · Score: 3, Informative
      Being a chip designer I quite frequently encounter articles which claim that there is going to be a "new way to design chips" coming soon. I'm admittedly a bit jaded hearing about another one.

      Often these approaches overstate the problems of current methodologies quite significantly. This thesis too, seems to hit the old favorites. Here is an example: In clocked digital systems, speed and throughput is typically limited by worst case delays associated with the slowest module in the system.

      This would be true if clocked digital systems would be restricted to a single clock. Some are, but the embedded devices I work on usually have half a dozen clocks or more. Some modules run with fairly high speeds, others at relatively low speeds - synchronizing them is not only a standard task, it's actually reasonably easy compared with other problems we face.

      Very closely related another of their claims: The larger the area over which the same clock is shared, the more costly and difficult it is to distribute the clock signal.

      Again - true in principle, but exaggerating the problem. It's not so difficult to distribute a clock over a large area if you allow skew between different areas. That might appear to defeat the purpose, but you really only need to interface reliably between those areas. Skew can even be helpful in some cases: if you send signal X from block A to be clocked-in by block B - then it helps if the clock arrives later at block B than at block A. Of course it's a disadvantage for a signal Y driven from B to A - but that signal might be faster (less logic to go through in block B). Modern design tools can automatically use clock skew to achieve better timing.

      One more: Building in redundancy to avoid catastrophic failure is not a cost-effective option when manufacturing circuits on a silicon wafer

      Well, we happen to do that regularly, it's cost-effective if you know what you are doing. There are parts of the chip which are much more likely to fail than others - RAMs are more prone to defects than ordinary digital logic. So as part of device testing defective areas of a RAM block can be mapped to a handful of spare cells. doubling every transistor as suggested in the thesis, is not necessary, obviously.

      Any of these "fundamentally new" approaches have to compete with the evolutionary solutions which people find for the same problems. That's hard because some of these are at least as clever as the "fundamental" ones, and they are much easier to adapt in existing design flows. I'm not ruling out that at some point we'll switch to a completely different design methodology, just as I'm not excluding the possibility that lighter-than-air travel will at some point find a place in commercial aviation again. I'm just not holding my breath.

    3. Re:The actual thesis by crgrace · · Score: 2, Insightful

      I'm a bit worried about them being completely fabless. I'm sure all their circuits work in SPICE, but how is this going to deal with real world noise, especially embedded on some other digital chip? The powerpoint explicitly states that is adversely affected especially by the sudden spikes caused by digital noise...

      I wouldn't worry too much. More companies than not are fabless you know. They are going to deal with noise the way all analog designers deal with noise. They are going to use a deep n-well with guard rings. They are going to bypass the hell out of their supplies. They are going to run their signals on high metal with shields beneath. The same things we all do.

       

  11. Re:1 AND 1 = 1 : 0.8 AND 0.6 = 0.7 by ikkonoishi · · Score: 2, Informative

    I think it is more of a probability thing then what you are thinking of. The return is the probability that the two values are the same. So 0.5 AND 0.5 would be 100% while 0.5 AND 0.6 would like 80% or something depending on the allowed error and uncertainty.

    Thinking of this reminded me of BugBrain. If you want to play with Bayesian logic it has a pretty good set of examples including building a neural network to perform simple character recognition.

  12. Sounds like a bitstream chip, but with more issues by the+Haldanian · · Score: 2, Interesting

    It's vaguely familiar, but since no two circuits are *truly* identical at the analog layer, *and* change as the temperature changes, people used digital instead where 'mostly 0' is still '0' and 'mostly 1' is still '1' regardless. Otherwise you can't mass produce them.

    Of more interest is people using analog-alike bitstreams, where the average number of 1's vs 0's in a random stream is the amplitude of the analog wave. They then blend the input streams together to produce the output stream. I've mostly seen this done by Royal Holloway University to produce neural chips that *don't* need squillions of interconnections - they just blend probability streams. Looks like people are playing with optical ones now too. Why not put a story up about that instead?

  13. Re:1 AND 1 = 1 : 0.8 AND 0.6 = 0.7 by Anonymous Coward · · Score: 3, Informative

    It's called fuzzy logic [http://en.wikipedia.org/wiki/Fuzzy_logic].

    One way to define it is NAND(x,y) = 1-MIN(x,y)
    and the rest follows using usual logic rules.

    I have no idea if that's what they do though.

  14. Re:may i just say by Chris+Burke · · Score: 2, Funny

    You are a learning machine who is now referring to itself as person! You also get excited about probabilities and you are posting on /.

    A.I. has gone too far...

    On the plus side, it sounds like the robot revolution is going to be stymied for the same reason as my productivity. Destroy all humans! After I refresh /. one more time...

    --

    The enemies of Democracy are
  15. Re:Fuzzy Logic by maharg · · Score: 2, Funny

    If you're into the concept of fuzzy logic, then I strongly suggest reading Aldiss' Barefoot in the Head if you've not already done so.

    I also recommend not reading it.

    --

    $ strings FTP.EXE | grep Copyright
    @(#) Copyright (c) 1983 The Regents of the University of California.
  16. Re:Mod shit down by plcurechax · · Score: 2, Interesting

    It's got absolutely nothing to do with analog computers.

    Really? Because the Fine Article from the OP, says:

    Internally, Lyric's probability gates are essentially analog devices typically working with analog values called pbits that have a digital resolution of approximately 8-bits although the approach is applicable for different resolutions as well.

    "[A]nalog devices working with analog values" does actually imply it is an analog computer, at least in part. Still, the overall usage sounds does novel, through the usage of Bayesian statistics "operations" logic as an alternative to the better known Boolean logic operations used in binary digital computers.

    While electronic analog computers are primarily considered rare artifacts these days, analog electronics still exist, and continue to be used in various applications where an embedded computer is either overkill (no need for a re-programmable computer, application is trivial in analog), or less suitable (few very simple evaluations at very high speeds).

  17. Re:Oh looksy me's got a quantum computer by Neon+Aardvark · · Score: 2, Interesting

    No, because it doesn't directly use entanglement and superposition.

    Like your car uses electricity, but it's probably not an electric car.

    --
    Azural - instrumentals
  18. Re:Mod shit down by crgrace · · Score: 2, Insightful

    "[A]nalog devices working with analog values" does actually imply it is an analog computer, at least in part. Still, the overall usage sounds does novel, through the usage of Bayesian statistics "operations" logic as an alternative to the better known Boolean logic operations used in binary digital computers.

    I have to disagree with you here. An analog computer is not the same thing as analog electronics in general. As an analogy, using a few digital gates to control an alarm doesn't mean you just built a digital computer.

    An analog computer is a special system that uses analog circuits to solve systems of differential equations. It is uniquely analog in the sense that it is continuous-time and has a continuously-variable output (not quantized). In the 40s and 50s, it was cheaper, more accurate (usually) and certainly required less equipment to do simulations using analog computers versus digital computers. Those days are long, long gone.

    Sure, analog electronics more than "still exist". The analog IC market is growing faster than it ever has. But I would be hard pressed to call the analog subtractor in a Pipelined ADC an "analog computer", nor would I call the mixer in a mobile phone (a circuit that multiplies two analog waveforms) an "analog computer" either.