The Synthesis of Robust Polynomial Arithmetic with Stochastic
The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic Marc Riedel – EE 5393 Electrical & Computer Engineering University of Minnesota
Opportunities & Challenges Novel materials, devices, technologies: • High density of bits/logic/interconnects. Challenges for logic synthesis: • Topological constraints. • Inherent structural randomness. • High defect rates.
Opportunities & Challenges Strategy: • Cast synthesis in terms of arithmetic operations on real values. • Synthesize circuits that compute logical values with probability corresponding to the real-valued inputs and outputs.
Probabilistic Signals deterministic random “A Mathematical Theory of Communication” Bell System Technical Journal, 1948. Claude E. Shannon 1916 – 2001
Stochastic Logic Structure logical computation probabilistically. p 1 = Prob(1) 0, 1, 1, 0, … 0, 1, 1, 0, 0, 0, … 1, 0, … combinational circuit 1, 1, 0, 1, 1, 0… 1, 0, 0, 0, 1, 1, 0, 0, … 1, 1, … p 2 = Prob(1)
Stochastic Logic Structure logical computation probabilistically. 5/8 0, 1, 1, 0, … 0, 1, 1, 0, 0, 0, … 1, 0, … combinational circuit 1, 1, 0, 1, 1, 0… 1, 0, 0, 0, 1, 1, 0, 0, … 1, 1, … 3/8
Stochastic Logic Probability values are the input and output signals. 4/8 3/8 4/8 8/8 combinational circuit 5/8 3/8
Stochastic Logic Probability values are the input and output signals. 0, 1, 1, 0, … 0, 1, 1, 0, 0, 0, … 1, 0, … combinational circuit 1, 1, … serial bit streams 1, 1, 0, 1, 1, 0… 1, 0, 0, 0, 1, 1, 0, 0, …
Stochastic Logic Probability values are the input and output signals. 4/8 3/8 4/8 5/8 combinational circuit 3/8 8/8 parallel bit streams
Probabilistic Bundles 0 1 0 0 1 X x 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.
Nanowire Crossbar (idealized) Randomized connections, yet nearly one-to-one.
Interfacing with Stochastic Logic Interpret outputs according to fractional weighting. åÑ åÑ åÑ combinational circuit åÑ
Arithmetic Operations Multiplication (Scaled) Addition c = P(C ) = P( A) P( B ) c = P(C ) = P( S ) P( A) +[1 - P( S )]P( B) = s a + (1 - s ) b =ab
Computing with Probabilities independent random Boolean variables X 1 X 2 Xn Pr( X i = 1) = xi 0 £ xi £ 1 combinational circuit Y random Boolean variable Pr(Y = 1) = y = f ( x 1 , K , xn ) 0 £ y £ 1
Computing with Probabilities independent random Boolean variables X 1 X 2 combinational circuit Xn Y random Boolean variable Constrain the problem: ì t Pr( X i = 1) = í îconstant (independently)
Computing with Probabilities t combinational circuit f (t ) Constrain the problem: ì t Pr( X i = 1) = í îconstant (independently)
Computing with Probabilities X t 0. 3 Y C 0. 6 t + 0. 4 t 2 Zt Xt 0. 3 Y Zt S 0. 8 t - 0. 8 t 2 + 0. 3 Pr( X = 1) = Pr( Z = 1) = t Pr(Y = 1) = 0. 3 (independently)
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 Specified / Known Independent combinational circuit Probabilistic Outputs Given Unknown Known
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?
Probabilistic Domain t combinational circuit g(t ) A necessary and sufficient condition: A polynomial g(t) is either: 1. g(t) ≡ 0 or 1, or 2. 0 < g(t) < 1, for 0 < t < 1 and 0 ≤ g(0), g(1) ≤ 1
Probabilistic Domain t combinational circuit g(t ) Synthesis steps: 1. Convert the polynomial into a Bernstein form. 2. Elevate it until all coefficients are in the unit interval. 3. Implement this with “generalized multiplexing”.
A little math… Bernstein basis polynomial of degree n
A little math… Bernstein basis polynomial of degree n Bernstein polynomial of degree n is a Bernstein coefficient
A little math… Obtain Bernstein coefficients from power-form coefficients: Given , we have
A little math… Elevate the degree of the Bernstein polynomial: Given , we have
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).
Example: Converting a Polynomial Power-Form Polynomial
Example: Converting a Polynomial Power-Form Polynomial Bernstein Polynomial coefficients in unit interval
Probabilistic Multiplexing c = P (C ) = P(T ) P( A) +[1 - P(T )]P( B) = t a + (1 - t ) b Bernstein polynomial
Generalized Multiplexing
Generalized Multiplexing X 1, …, Xn are independent Boolean random variables with , for 1 ≤ i ≤ n
Generalized Multiplexing X 1, …, Xn are independent Boolean random variables with , for 1 ≤ i ≤ n
Generalized Multiplexing Z 0, …, Zn are independent Boolean random variables with , for 0 ≤ i ≤ n
Generalized Multiplexing Z 0, …, Zn are independent Boolean random variables with , for 0 ≤ i ≤ n
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 C 6288).
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)
Experimental Results 100 randomly chosen Bernstein polynomials with coefficients in the unit interval, 10 bits:
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 multivariate polynomials. • Implement sequential computation.
Synthetic Biology View Engineering engineered novel biochemistry functionality asina biological form of computation. systems. inputs computation outputs Molecular Triggers Biochemical Reactions Molecular Products E. Coli
Synthetic Biology View engineered biochemistry as a form of computation. inputs Quantities of Different Types computation Biochemical Reactions outputs Quantities Probability Distribution of Different on Different Types
Design Scenario Bacteria are engineered to produce an anti-cancer drug: triggering compound E. Coli drug
Synthesizing Stochasticity Approach: engineer a probabilistic response in each bacterium. produce drug with Prob. 0. 3 triggering compound E. Coli don’t produce drug with Prob. 0. 7
Discussion Computational Synthetic Biology vis-a-vis Technology-Independent Logic Synthesis • Synthesize a design for a precise, robust, programmable probability distribution on outcomes – for arbitrary types and reactions. Experimental Design vis-a-vis Technology Mapping in Circuit Design • Implement design by selecting specific types and reactions – say from “toolkit”.
- Slides: 43