Marc Riedel – EE5393 The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic Electrical & Computer Engineering University of Minnesota
Opportunities & Challenges Topological constraints. Inherent structural randomness. High defect rates. Novel materials, devices, technologies: Challenges for logic synthesis: High density of bits/logic/interconnects.
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 Claude E. Shannon 1916 –2001 “A Mathematical Theory of Communication” Bell System Technical Journal, deterministic random deterministic
Stochastic Logic Structure logical computation probabilistically. p 1 = Prob(1) p 2 = Prob(1) 1,1,0,1,0,1,1,0… 1,0,0,0,1,1,0,0,… combinational circuit 0,1,1,0,1,0,1,0,… 0,1,1,0,1,0,0,0,… 1,0,1,0,1,0,1,0,… 1,1,1,1,1,1,1,1,…
Stochastic Logic 5/8 3/8 Structure logical computation probabilistically. 1,1,0,1,0,1,1,0… 1,0,0,0,1,1,0,0,… combinational circuit 0,1,1,0,1,0,1,0,… 0,1,1,0,1,0,0,0,… 1,0,1,0,1,0,1,0,… 1,1,1,1,1,1,1,1,…
Stochastic Logic 5/8 3/8 4/8 3/8 4/8 8/8 Probability values are the input and output signals. combinational circuit
Stochastic Logic Probability values are the input and output signals. 1,1,0,1,0,1,1,0… 1,0,0,0,1,1,0,0,… 0,1,1,0,1,0,1,0,… 0,1,1,0,1,0,0,0,… 1,0,1,0,1,0,1,0,… 1,1,1,1,1,1,1,1,… serial bit streams combinational circuit
Stochastic Logic Probability values are the input and output signals. parallel bit streams 4/8 3/8 4/8 8/8 5/8 3/8
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. Probabilistic Bundles x 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 ba BPAP CPc )()( )( ) )1( ()](1[)()( )( bsas BPSPAPSP CPc
Computing with Probabilities combinational circuit X2X2 X1X1 XnXn independent random Boolean variables Y random Boolean variable ii xX )1Pr( 10 i x ),,()1 1 n xxfyY 10 y
Computing with Probabilities combinational circuit independent random Boolean variables Y random Boolean variable Constrain the problem: (independently) constant )1Pr( t X i X2X2 X1X1 XnXn
Computing with Probabilities combinational circuit Constrain the problem: (independently) constant )1Pr( t X i )(tf t
X Y X Y Z Z C S Computing with Probabilities (independently) tZX )1Pr()1 3.0)1 Y t t t t tt tt
SynthesisAnalysis “There are known ‘knowns’; and there are unknown ‘unknowns’; but today I’ll speak of the known ‘unknowns’.” – Donald Rumsfeld, 2004 combinational circuit Probabilistic Inputs Probabilistic Outputs Known Unknown Specified / Independent Unknown Given
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 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 combinational circuit )(tg t A necessary and sufficient condition:
Probabilistic Domain combinational circuit )(tg 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 ) )1( ()](1[)()( )( btat BPTPAPTP CPc Bernstein polynomial
Generalized Multiplexing
X 1, …, X n are independent Boolean random variables with, for 1 ≤ i ≤ n
Generalized Multiplexing X 1, …, X n are independent Boolean random variables with, for 1 ≤ i ≤ n
Generalized Multiplexing Z 0, …, Z n are independent Boolean random variables with, for 0 ≤ i ≤ n
Generalized Multiplexing Z 0, …, Z n are independent Boolean random variables with, for 0 ≤ i ≤ n
Experimental Results Compare [conventional] deterministic to [new] stochastic implementation of polynomial computation: Deterministic implementation: based on benchmark circuit (ISCAS’85 multiplier circuit C6288). Area-delay product. Error tolerance with noise injection.
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.
Engineering novel functionality in biological systems. Biochemical Reactions View engineered biochemistry as a form of computation. Synthetic Biology E. Coli computationinputsoutputs Molecular Triggers Molecular Products
View engineered biochemistry as a form of computation. Biochemical Reactions Synthetic Biology computationinputsoutputs Quantities of Different Types Probability Distribution on Different Types
Bacteria are engineered to produce an anti-cancer drug: Design Scenario drug triggering compound E. Coli
produce drug triggering compound E. Coli Approach: engineer a probabilistic response in each bacterium. with Prob. 0.3 don’t produce drug with Prob. 0.7 Synthesizing Stochasticity
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 Implement design by selecting specific types and reactions – say from “toolkit”. Experimental Design vis-a-vis Technology Mapping in Circuit Design