440 likes | 635 Views
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 .
E N D
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. • High defect rates. Novel materials, devices, technologies: • High density of bits/logic/interconnects. Challenges for logic synthesis:
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.
Probabilistic Signals deterministic deterministic random Claude E. Shannon1916 –2001 “A Mathematical Theory of Communication” Bell System Technical Journal,1948.
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,…
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
Stochastic Logic combinationalcircuit Probability values are the input and output signals. 4/8 5/8 3/8 4/8 3/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
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
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.
Nanowire Crossbar (idealized) Randomized connections, yet nearly one-to-one.
å Ñ å Ñ å Ñ å Ñ å Ñ å Ñ Interfacing with Stochastic Logic Interpret outputs according to fractional weighting. combinationalcircuit
= 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
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
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)
f ( t ) t combinationalcircuit ì t = = Pr( X 1 ) í i constant î Computing with Probabilities Constrain the problem: (independently)
+ 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)
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
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?
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
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”.
A little math… Bernstein basis polynomial of degree n
is a Bernstein coefficient A little math… Bernstein basis polynomial of degree n Bernstein polynomial of degree n
, we have Given A little math… Obtain Bernstein coefficients from power-form coefficients:
Given , we have A little math… Elevate the degree of the Bernstein polynomial:
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
coefficients in unit interval Example: Converting a Polynomial Power-Form Polynomial Bernstein Polynomial
= c P ( C ) = + - P ( T ) P ( A ) [ 1 P ( T )] P ( B ) = + - t a ( 1 t ) b Bernstein polynomial Probabilistic Multiplexing
X1, …, Xn are independent Boolean random variables with , for 1 ≤ i ≤ n Generalized Multiplexing
X1, …, Xn are independent Boolean random variables with , for 1 ≤ i ≤ n Generalized Multiplexing
Z0, …, Zn are independent Boolean random variables with , for 0 ≤ i ≤ n Generalized Multiplexing
Z0, …, Zn are independent Boolean random variables with , for 0 ≤ i ≤ n Generalized Multiplexing
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).
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 multivariatepolynomials. • Implement sequential computation.
Acknowledgements Weikang Qian John Backes MARCO center on Functional Engineered Nano-Architectonics:
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
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
Design Scenario Bacteria are engineered to produce an anti-cancer drug: triggering compound drug E. Coli
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
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”.