Presentation is loading. Please wait.

Presentation is loading. Please wait.

Marc Riedel – EE5393 The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic Electrical & Computer Engineering University of Minnesota.

Similar presentations


Presentation on theme: "Marc Riedel – EE5393 The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic Electrical & Computer Engineering University of Minnesota."— Presentation transcript:

1 Marc Riedel – EE5393 The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic Electrical & Computer Engineering University of Minnesota

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

3 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.

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

5 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,…

6 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,…

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

8 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

9 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

10 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 0 1 0 0 1 x X

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

12 Interfacing with Stochastic Logic Interpret outputs according to fractional weighting. combinational circuit 

13 Arithmetic Operations Multiplication(Scaled) Addition ba BPAP CPc    )()( )( ) )1( ()](1[)()( )( bsas BPSPAPSP CPc   

14 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

15 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

16 Computing with Probabilities combinational circuit Constrain the problem: (independently)     constant )1Pr( t X i )(tf t

17 X Y X Y Z Z C S Computing with Probabilities (independently) tZX  )1Pr()1 3.0)1  Y t t t t 0.3 2 4.06.0tt  3.08.08.0 2  tt

18 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

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 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:

21 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”.

22 A little math… Bernstein basis polynomial of degree n

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

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

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

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 Example: Converting a Polynomial Power-Form Polynomial Bernstein Polynomial coefficients in unit interval

29 Probabilistic Multiplexing ) )1( ()](1[)()( )( btat BPTPAPTP CPc    Bernstein polynomial

30 Generalized Multiplexing

31 X 1, …, X n are independent Boolean random variables with, for 1 ≤ i ≤ n

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

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

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

35 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.

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 multivariate polynomials. Implement sequential computation.

39 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

40 View engineered biochemistry as a form of computation. Biochemical Reactions Synthetic Biology computationinputsoutputs Quantities of Different Types Probability Distribution on Different Types

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

42 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

43 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


Download ppt "Marc Riedel – EE5393 The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic Electrical & Computer Engineering University of Minnesota."

Similar presentations


Ads by Google