polysynchronous clocking for molecular computingmbmc.info/wp-content/uploads/2015/12/riedel.pdf ·...

37
Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor, Electrical and Computer Engineering Graduate Faculty, Biomedical Informatics and Computational Biology University of Minnesota University Southern California – MBMC Workshop, Dec. 4, 2015

Upload: others

Post on 03-Oct-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Polysynchronous Clocking for Molecular Computing

Marc RiedelAssociate Professor, Electrical and Computer Engineering

Graduate Faculty, Biomedical Informatics and Computational BiologyUniversity of Minnesota

University Southern California – MBMC Workshop, Dec. 4, 2015

Page 2: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Digital Circuits

Computation Elements State Holding Elements

Page 3: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Synchronous Sequential Computation

Computation

Memory

Clock

Input Output

Page 4: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Bistable Bit Representation(dual-rail encoding)

Page 5: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

AND Gate

Outputting 0

Outputting 1

Page 6: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

OR Gate

Outputting1

Outputting 0

Page 7: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

XOR Gate

Outputting 1

Outputting 0

Page 8: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Logic Gates

Page 9: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Clock

Page 10: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Implementing D Flip Flop

Master-slave configuration

Page 11: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Synchronous Sequential Computation

Computation

Memory

Clock

Input Output

Page 12: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Molecular Clocking

Page 13: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Clock Distribution Network in Silicon Circuits

• Significant Fraction of Design Effort

• 15% of Area, 20% of Power Dissipation

Page 14: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Positional Encodings

75710 = 7·102 + 5·101 + 7·100

• A positional representation scheme is compact: 2n distinct numbers can be represented with n bits.

• Operating on this representation is complex.

Human

Computer 10101112 = 26 + 24 + 22 + 21 + 20

Page 15: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Stochastic (Fractional) Encoding

A real value x in [0, 1] is represented by a sequence of random bits, each of which has probability x of being one and probability of 1 − x of being zero.

0,1,0,1,1,0,0

x = 3/7

Page 16: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Positional Multiplication

Page 17: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

AB

C1,1,0,0,0,0,1,01,1,0,1,0,1,1,1

1,1,0,0,1,0,1,0

a = 6/8

b = 4/8

c = 3/8

Assume two input bit streams are independent

6/8 · 4/8 = 3/8

Stochastic Multiplication

Page 18: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Scaled Addition

))1(

()](1[)()()(

bsasBPSPAPSP

CPc

0

1

Page 19: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Stochastic Logic

5/8

3/8

4/8

3/8

4/8

8/8

Probability values are the input and output signals.

combinationalcircuit

Page 20: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Stochastic LogicProbability 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

combinationalcircuit

Page 21: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

combinationalcircuit

Stochastic LogicProbability values are the input and output signals.

t

Functions of a probability value t.

3.08.08.0 2+- tt

Page 22: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Virtual 1: Fewer Gates

Across many types of benchmark circuits and applications, consistently find 50 to 100 times fewer logic gates required.

Stochastic vs. Conventional Circuits

Page 23: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Compare conventional implementation to stochasticimplementation of polynomial functions.

Virtual 1: Fewer GatesStochastic vs. Conventional Circuits

Page 24: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Virtue 2: Fault Tolerance

• Stochastic Encoding– A bit flip does not substantially change the probability:

1010111001 → 1010011001

• Binary Radix Encoding– A bit flip in the most significant bit causes a huge

change in the value:(1010)2 → (0010)2

0.6 0.5

10 2

Stochastic vs. Conventional Circuits

Page 25: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Deterministic v.s. Stochastic Implementation of Gamma correction function with 10% noise injection.

Conventional Implementation

Stochastic Implementation

1% 2% 10%

Stochastic Implementation: no pixels with errors > 25%!

Deterministic implementation:37% pixels with errors > 25%

Page 26: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Virtue 3: Clock Skew ToleranceStochastic vs. Conventional Circuits

Page 27: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Virtue 3: Clock Skew ToleranceStochastic vs. Conventional Circuits

Page 28: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Replace Global Clock with(Crappy) Local Clocks

Domain 1

Domain 1

Domain 1

Page 29: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Replace Global Clock with(Crappy) Local Clocks

Domain 1

Domain 1

Domain 1

Page 30: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Virtue 3: Clock Skew ToleranceStochastic vs. Conventional Circuits

Page 31: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Fractional Representation

Represent a value in the range [0..1] with a pair of molecular types X0 and X1:

Page 32: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Multiplication

a x b = c

c

Page 33: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

(scaled) Addition

0 0 → 0

0 1 → 0

1 0 → 1

1 1 → 1

10 1

1. 0 1. 10 1 0 0 1 1

1. 0 1. 10 1 0 1 1

Page 34: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Synchronous Sequential Computation

Computation

Memory

Clock

Input Output

Page 35: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

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

Page 36: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

• Methods and CAD tools for implementing logical and arithmetic with molecular reactions.

Where are we?

• Methods and CAD tools for generating sequential and iterative computation (e.g., DSP functions) with molecular reactions.

Where are we headed?

• A technology-independent chemical CPU.

Discussion

• Mapping designs onto chemical substrates (e.g., DNA)

Page 37: Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf · Polysynchronous Clocking for Molecular Computing Marc Riedel Associate Professor,

Acknowledgements

Kia BazarganDavid Lillja

Weikang Qian Peng Li

Keshab Parhi