1 / 39

ELE 523E COMPUTATIONAL NANOELECTRONICS

Explore the strengths, weaknesses, and application areas of probabilistic computing. Understand stochastic computing with logic gates, circuit analysis, and synthesis methods for polynomial functions. Discover the benefits, challenges, and accuracy issues associated with probabilistic approaches in nanoelectronics.

glaspie
Download Presentation

ELE 523E COMPUTATIONAL NANOELECTRONICS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MustafaAltun • Electronics & Communication Engineering • Istanbul Technical University • Web: http://www.ecc.itu.edu.tr/ ELE 523E COMPUTATIONALNANOELECTRONICS W6: Probabilistic Computing, 22/10/2018 FALL 2018

  2. Outline • Overview of probabilistic computing • Strengths • Weaknesses • Application areas • Stochastic computing with logic gates • Circuitanalysis • Synthesis of stochasticinputs • Synthesis of polynomialfunctions • Probabilisticswitches • Two-terminal switches • Four-terminal switchesandpercolation

  3. Probabilistic Computing Deterministic Subsequent state of the system is determined deterministically • Probabilistic • Subsequent state of the system is determined probabilistically Deterministic Deterministic Deterministic Probabilistic

  4. WhyProbabilistic Computing? • Strengths • Easier to implement arithmetic operations. • Works efficiently in encoding/decoding • High degree of transient error tolerance. • Exploit randomness that is a fact in nanoscale. • Used in modeling probabilistic behavior of nanotechnologies. • Weaknesses • Accuracy problems. • Long computational times.

  5. StochasticComputing Stochastic computing (SC)is a probability computing that depends on random bit streams. 0,1,0,0,0,1,0,0 0,1,0,1,1,0,1,0 RandomBit Streams Stochastic Computing x x=4/8 P(x=1)= 4/8 AND z y=2/8 y P(y=1)= 2/8

  6. Random Bit Streams Randomlyassigningeach bit value CONVENTIONAL • Thestreamprobabilityprepresentstheprobability of having 1 foreach bit • Thestream has a binomialdistribution in terms of thenumber of 1s • Lessaccurate • Perfectlyrandom Randomlyshuffling a bit stream • Thestreamprobabilityprepresents (total number of 1s)/(total number of bits) • Thestream has a deterministicbehaviour in terms of number of 1s • Moreaccurate The longer thestreamsthecloserthesemethods.

  7. StochasticComputing • Stochasticcircuit Probabilistic Deterministic Probabilistic p1=2/6, p2=2/6, p3=2/6, p4=1/6, p5=5/6, p6=2/6

  8. Accuracy of SC x=4/8 AND z y=2/8 0,1,0,1,1,0,1,0 z=1/8 0,1,0,0,0,1,0,0 Whichone is right? 0,1,0,1,1,0,1,0 z=2/8 0,1,0,0,1,0,0,0 0,1,0,1,1,0,1,0 z=0/8 1,0,0,0,0,1,0,0

  9. Accuracy of SC x=4/8 AND z x=4/8 0,1,0,1,1,0,1,0 0,1,0,1,1,0,1,0 0,1,0,1,1,0,1,0 z=4/8 Dependency is important! Conventionally, inputstreamsareindependent

  10. Accuracy of SC Randomlyassigningeach bit value CONVENTIONAL • Thestreamprobabilityprepresentstheprobability of having 1 foreach bit • Thestream has a binomialdistribution Randomlyshuffling a bit stream • Thestreamprobabilityprepresents (total number of 1s)/(total number of bits) Calculatetheerror rate? Calculatetheerror as AND

  11. Randomly Assigning Example: • Consider 4-bit input bit streamsxandysuchthateach bit is 1 with an independentprobability of p=1/2. • Findtheprobability of accuratecomputationz=1/4. • Findtheprobabilityof havingz=0/4. • Findtheprobability of havingz=2/4. • Findtheprobability of havingz=3/4. • Findtheprobability of havingz=4/4. • Findtheeverageerror rate. x=2/4 z AND y=2/4

  12. RandomlyShuffling Example: • Considerrandomlydistributed 4-bit input bit streamsxandysuchthathalf of itsbitsare 1 andtheotherhalf 0. • Findtheprobability of accuratecomputationz=1/4. • Findtheprobabilityof havingz=0/4. • Findtheprobability of havingz=2/4. • Findtheprobability of havingz=3/4. • Findtheprobability of havingz=4/4. • Findtheeverageerror rate. x=2/4 z AND y=2/4

  13. ImprovingtheAccuracy Using correlatedbit streams Error-freecomputing Using quasi-randombit streams 1 gate vs. 1000 gatesdoingthesamejob Low-discrepancy vs. randomsequence

  14. Defect Tolerance in SC x=4/8=(0.100)2 z=1/8=(0.001)2 AND y=2/8=(0.010)2 Whatifthere is a bit-flip in an input? 0,1,0,1,1,0,1,0 z=1/8 0,1,0,0,0,1,0,0 (0.100)2 x (0.010)2 = (0.001)2

  15. Performance of Randomness Readytoserve“ÇiğKöfte” Ingredients of “ÇiğKöfte” Kneading“ÇiğKöfte” Heterogeneous to Homogeneous: HOW? The longer thekneading time the tastierthe “Çiğ Köfte”. The longer the kneading time the more homogeneous (accurate) the “ÇiğKöfte”.

  16. Performance of SC Bit Streams 0,1,0,1,1,0,1,0,….. The longer thebit streams the more accuratethecomputation. The longerthe bit streams the more reliablethecomputation. The longer thebit streams the slowerthecomputation.

  17. Arithmetic Operations with SC Multiplication: : xx y= z 3-bit deterministicmultiplier (30 gates) 3-bit stochasticmultiplier (1 gate) x=(0.100)2 AND z=(0.010)2 y=(0.100)2 At least how many bits shoud a stream have? At least how many streambitsfor an n-bitmultiplier?

  18. Arithmetic Operations with SC Scaledaddition: : x(s)+y(1-s)= z 1 1,1,1,1,1,0,1,1 x 1,0,1,1,0,0,1,1 1 MUX z 0 0,0,1,0,0,1,1,0 MUX y 0 1,0,0,1,0,1,0,1 s x=7/8, y=3/8, s=4/8, z=5/8

  19. Arithmetic Operations with SC Example: Find theexpression of zforbothstochasticanddeterministicinputsapplied. x1 1 AND x2 z MUX NOT x3 0 x4

  20. Synthesis Problem-1 Problem: How to construct a logic circuit in order to implement given output probabilitieswith a set of inputprobabilities? Example: Implementoutputprobabilities0.6, 0.2, and0.3withusinginputprobabilities of 0.4and0.5. P(x = 1) = 0.4 P(x = 1) = 0.4 0,0,1,0,1,0,1,0,1,0 0,1,0,1,0,0,1,1,0,0 P(z = 1) = 0.3 P(z = 1) = 0.2 P(z = 1) = 0.6 P(x = 1) = 0.4 0,1,0,0,0,1,0,0,0,1 0,0,0,1,0,0,1,0,0,0 1,0,1,1,0,1,0,0,0,0 0,1,0,0,1,0,1,1,1,1 1,0,0,1,1,0,0,1,1,0 1,0,1,1,0,0,1,0,0,1 P(y = 1) = 0.5 P(y = 1) = 0.5 P(z = 1) = P(x = 0) P(z = 1) = P(x = 0) P(y = 0) P(z = 1) = P(x = 1) P(y = 1)

  21. Synthesis Problem-1 Theorem(Qian et al. 2011):With inputprobabilities= {0.4, 0.5}, we can synthesize arbitrary decimal output probabilities. Example: Synthesize q = 0.757 (Black dots are inverters)

  22. Synthesis Problem-2 Problem: How to construct a logic circuit in order to implement a polynomial g(t) where both tand g(t)are in unit interval?

  23. Synthesis Problem-2 Example: Implementg(t) = 3/8t2+5/8 t. t AND 1 t g(t) MUX t 0 3/8

  24. Synthesis Problem-2 Example: Implementg(t) = t3 – 2t2+ 1. t NOR 1 t g(t) MUX 1 0 t

  25. Synthesis Problem-2 Example: Implementg(t) = 9/4t2 – 15/8 t + 5/8and test on g(1/2). t t t 5/8 0 0 1 g(t) MUX 1/8 2 1 3

  26. Synthesis Problem-2 Theorem(Qian et al. 2012):WithusingBernsteinpolynomials, we can synthesize anypolynomialg(t). Example: Implementg(t) = 9/4t2 – 15/8 t + 5/8. g(t) = 9/4t2 – 15/8 t + 5/8 = 5/8 B0+0 B1+ 1/8 B2+ 1 B3 Bi = probabilitythattheoutput of theaddingunit is i. B0 = (1-t)3 B1 = 3 t(1-t)2 B2 = 3 t2(1-t) B3 = t3

  27. Probabilistic Two-Terminal Switch • A probabilistic switch is ON with a probability of p. 0,1,0,1,1,0,1,0 • Can be implemented with stochastic bit streams. x P(x=1)= p = 4/8 • Can be used to model probabilistic phenomena in nanoscale such as random defects.

  28. Probabilistic Two-Terminal Switch • A probabilistic MOS is a probabilisticswitch. * Probabilistic CMOS technology: A surveyandfuturedirections

  29. Probabilistic Two-Terminal Switch

  30. Synthesis Problem Problem:How to construct a circuit in order to implement a given binary decimal numbers usingp-switcheswithp=1/2? Example: Implementtheoutputprobabilities0.112 and 0.0112with p-switcheswithp=1/2. 0.112 0.0112

  31. Synthesis Problem Example: Implementtheoutputprobability0.10112with p-switcheswithp=1/2. Progressing from the least-significant to the most-significant bits

  32. Synthesis Problem Binarytreeshowinghowtogenerateallpossibleswitchingcircuits (Wilhelm et al. 2008)

  33. Probabilistic Four-Terminal Switch • A probabilistic switch is ON with a probability of p. • Can be implemented with stochastic bit streams. 0,1,0,1,1,0,1,0 x P(x=1)= p = 4/8 • Can be used to model probabilistic phenomena in nano-crossbararrayssuch as random defects.

  34. Probabilistic Four-Terminal Switch • Findtheprobability of having a pathbetween top-bottomandleft-rightplates. • How tofindtheprobabilitiesforlargersizes? • For larger sizes is the probabilistic phenomenaincreaseordecrese? • Use «PercolationTheory»

  35. Percolation Theory pT-Bversuspfor1×1, 2×2, 6×6, 24×24, 120×120, and infinite size lattices. • Each square, representing a four-terminal switch,in the lattice/arrayis colored black with independent probabilityp. • pT-Bis the probability that a connected path exists between the top and bottom plates.

  36. Percolation Theory Rich mathematical topic that forms the basis of explanations of physical phenomena such as diffusion and phase changes in materials. Broadbent & Hammersley (1957).

  37. Percolation Theory Sharp non-linearity in global connectivity as a function of random local connectivity.

  38. Margins • One-margin: Tolerable p1ranges for which we interpret p2as logical one. • Zero-margin: Tolerable p1ranges for which we interpret p2as logical zero. Margins correlate with the degree of deterministic phenomena.

  39. Suggested Readings • Qian, W., & Riedel, M. D. (2008, June). The synthesis of robust polynomial arithmetic with stochastic logic. In Design Automation Conference, 2008. DAC 2008. 45th ACM/IEEE (pp. 648-653). IEEE. • Alaghi, A., & Hayes, J. P. (2013). Survey of stochastic computing. ACM Transactions on Embedded Computing Systems (TECS), 12(2s), 92. • Vahapoglu, E., & Altun, M. (2016, July). AccurateSynthesis of Arithmetic Operations withStochasticLogic. In VLSI (ISVLSI), 2016 IEEE ComputerSocietyAnnualSymposium on (pp. 415-420). IEEE. • Wilhelm, D., & Bruck, J. (2008, July). Stochastic switching circuit synthesis. In Information Theory, 2008. ISIT 2008. IEEE International Symposium on(pp. 1388-1392). IEEE. • Article on probabilistic CMOS: http://www2.technologyreview.com/news/409597/tr10-probabilistic-chips/ • Moore, E. F., & Shannon, C. E. (1956). Reliable circuits using less reliable relays. Journal of the Franklin Institute, 262(3), 191-208.

More Related