html5-img
1 / 44

The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic

Marc Riedel . Weikang Qian . The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic. Electrical & Computer Engineering. University of Minnesota. DAC 2008 , Anaheim, CA June 12, 2008. Opportunities & Challenges. Topological constraints . Inherent structural randomness .

carys
Download Presentation

The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Marc Riedel Weikang Qian The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic Electrical & Computer Engineering University of Minnesota DAC 2008, Anaheim, CA June 12, 2008

  2. Opportunities & Challenges • Topological constraints. • Inherent structural randomness. • High defect rates. Novel materials, devices, technologies: • High density of bits/logic/interconnects. Challenges for logic synthesis:

  3. Opportunities & Challenges Strategy: • Cast synthesis in terms of arithmetic operations on real values. • Synthesize circuits that compute logical values with probabilitycorresponding to the real-valued inputs and outputs.

  4. Probabilistic Signals deterministic deterministic random Claude E. Shannon1916 –2001 “A Mathematical Theory of Communication” Bell System Technical Journal,1948.

  5. Stochastic Logic p1 = Prob(1) combinationalcircuit p2 = Prob(1) Structure logical computation probabilistically. 0,1,1,0,1,0,1,0,… 1,1,0,1,0,1,1,0… 0,1,1,0,1,0,0,0,… 1,0,1,0,1,0,1,0,… 1,0,0,0,1,1,0,0,… 1,1,1,1,1,1,1,1,…

  6. Stochastic Logic combinationalcircuit Structure logical computation probabilistically. 5/8 0,1,1,0,1,0,1,0,… 1,1,0,1,0,1,1,0… 0,1,1,0,1,0,0,0,… 1,0,1,0,1,0,1,0,… 1,0,0,0,1,1,0,0,… 1,1,1,1,1,1,1,1,… 3/8

  7. Stochastic Logic combinationalcircuit Probability values are the input and output signals. 4/8 5/8 3/8 4/8 3/8 8/8

  8. Stochastic Logic combinationalcircuit Probability values are the input and output signals. 0,1,1,0,1,0,1,0,… 1,1,0,1,0,1,1,0… 0,1,1,0,1,0,0,0,… 1,0,1,0,1,0,1,0,… 1,0,0,0,1,1,0,0,… 1,1,1,1,1,1,1,1,… serial bit streams

  9. Stochastic Logic Probability values are the input and output signals. 4/8 5/8 3/8 combinationalcircuit 4/8 3/8 8/8 parallel bit streams

  10. Probabilistic Bundles 0 1 x 0 X 0 1 A real value x in [0, 1] is encoded as a stream of bits X.For each bit, the probability that it is one is: P(X=1) = x.

  11. Nanowire Crossbar (idealized) Randomized connections, yet nearly one-to-one.

  12. å Ñ å Ñ å Ñ å Ñ å Ñ å Ñ Interfacing with Stochastic Logic Interpret outputs according to fractional weighting. combinationalcircuit

  13. = c P ( C ) = c P ( C ) = P ( A ) P ( B ) = + - P ( S ) P ( A ) [ 1 P ( S )] P ( B ) = a b = + - s a ( 1 s ) b Arithmetic Operations Multiplication (Scaled) Addition

  14. X1 independent random Boolean variables X2 Y Xn combinationalcircuit = = = Pr( X = 1 ) = x Pr( Y 1 ) y f ( x , , x ) K 1 i i n x £ £ £ £ y 0 1 0 1 i Computing with Probabilities random Boolean variable

  15. X1 independent random Boolean variables X2 Y Xn combinationalcircuit ì t = = Pr( X 1 ) í i constant î Computing with Probabilities random Boolean variable Constrain the problem: (independently)

  16. f ( t ) t combinationalcircuit ì t = = Pr( X 1 ) í i constant î Computing with Probabilities Constrain the problem: (independently)

  17. + 2 0 . 6 t 0 . 4 t - + 2 0 . 8 t 0 . 8 t 0 . 3 = = = = Pr( X 1 ) Pr( Z 1 ) t = = Pr( Y 1 ) 0 . 3 Computing with Probabilities X t C 0.3 Y t Z X t Z t 0.3 Y S (independently)

  18. combinationalcircuit Synthesis Analysis “There are known ‘knowns’; and there are unknown ‘unknowns’; but today I’ll speak of the known ‘unknowns’.” – Donald Rumsfeld, 2004 Probabilistic Inputs Probabilistic Outputs Specified /Independent Given Known Unknown Unknown Known

  19. Synthesis “There are known ‘knowns’; and there are unknown ‘unknowns’; but today I’ll speak of the known ‘unknowns’.” – Donald Rumsfeld, 2004 Questions: • What kinds of functions can be implemented in the probabilistic domain? • How can we synthesize the logic to implement these?

  20. g ( t ) t combinationalcircuit Probabilistic Domain A necessary and sufficient condition: • A polynomial g(t) is either: • g(t) ≡ 0 or 1, or • 0 < g(t) < 1, for 0 < t < 1 and 0 ≤ g(0), g(1) ≤ 1

  21. g ( t ) t combinationalcircuit Probabilistic Domain Synthesis steps: • Convert the polynomial into a Bernstein form. • Elevate it until all coefficients are in the unit interval. • Implement this with “generalized multiplexing”.

  22. A little math… Bernstein basis polynomial of degree n

  23. is a Bernstein coefficient A little math… Bernstein basis polynomial of degree n Bernstein polynomial of degree n

  24. , we have Given A little math… Obtain Bernstein coefficients from power-form coefficients:

  25. Given , we have A little math… Elevate the degree of the Bernstein polynomial:

  26. A Mathematical Contribution Given • A Bernstein polynomial (satisfying the necessary and sufficient condition) Iteratively elevating the degree yields: • A Bernstein polynomial with coefficients in the unit interval (in very few steps).

  27. Example: Converting a Polynomial Power-Form Polynomial

  28. coefficients in unit interval Example: Converting a Polynomial Power-Form Polynomial Bernstein Polynomial

  29. = c P ( C ) = + - P ( T ) P ( A ) [ 1 P ( T )] P ( B ) = + - t a ( 1 t ) b Bernstein polynomial Probabilistic Multiplexing

  30. Generalized Multiplexing

  31. X1, …, Xn are independent Boolean random variables with , for 1 ≤ i ≤ n Generalized Multiplexing

  32. X1, …, Xn are independent Boolean random variables with , for 1 ≤ i ≤ n Generalized Multiplexing

  33. Z0, …, Zn are independent Boolean random variables with , for 0 ≤ i ≤ n Generalized Multiplexing

  34. Z0, …, Zn are independent Boolean random variables with , for 0 ≤ i ≤ n Generalized Multiplexing

  35. Experimental Results Compare[conventional] deterministic to [new] stochastic implementation of polynomial computation: • Area-delay product. • Error tolerance with noise injection. Deterministic implementation: based on benchmark circuit (ISCAS’85 multiplier circuit C6288).

  36. Experimental Results Sixth-order Maclaurin polynomial approx., 10 bits: sin(x), cos(x), tan(x), arcsin(x), arctan(x), sinh(x), cosh(x), tanh(x), arcsinh(x), exp(x), ln(x+1)

  37. Experimental Results 100 randomly chosen Bernstein polynomials with coefficients in the unit interval, 10 bits:

  38. Conclusions • The area-delay product of the stochastic computation is comparable to the deterministic. • The stochastic implementation is much more input-error tolerant. Future Directions • Extend to the synthesis of multivariatepolynomials. • Implement sequential computation.

  39. Acknowledgements Weikang Qian John Backes MARCO center on Functional Engineered Nano-Architectonics:

  40. Synthetic Biology Engineering novel functionality in biological systems. View engineered biochemistry as a form of computation. inputs computation outputs Biochemical Reactions Molecular Triggers Molecular Products E. Coli

  41. Synthetic Biology View engineered biochemistry as a form of computation. inputs computation outputs Biochemical Reactions Quantities of Different Types Probability Distribution on Different Types Quantities of Different Types

  42. Design Scenario Bacteria are engineered to produce an anti-cancer drug: triggering compound drug E. Coli

  43. E. Coli Synthesizing Stochasticity Approach: engineer a probabilistic response in each bacterium. produce drug with Prob.0.3 triggering compound don’t produce drug with Prob.0.7

  44. Discussion Synthesize a design for a precise, robust, programmable probability distribution on outcomes – for arbitrary types and reactions. Computational Synthetic Biology vis-a-vis Technology-Independent Logic Synthesis Experimental Design vis-a-vis Technology Mapping in Circuit Design • Implement design by selecting specific types and reactions – say from “toolkit”.

More Related