Presentation is loading. Please wait.

Presentation is loading. Please wait.

Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #28 Reversible Computing Theory II: Emulating Irreversible Machines.

Similar presentations


Presentation on theme: "Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #28 Reversible Computing Theory II: Emulating Irreversible Machines."— Presentation transcript:

1

2 Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #28 Reversible Computing Theory II: Emulating Irreversible Machines Fri., Mar. 22

3 Administrivia & Overview Don’t forget to keep up with homework!Don’t forget to keep up with homework! –We are  9 out of 14 weeks into the course. You should have earned  ~64 points by now.You should have earned  ~64 points by now. Course outline:Course outline: –Part I&II, Background, Fundamental Limits - done –Part III, Future of Semiconductor Technology - done –Part IV, Potential Future Computing Technologies - done –Part V, Classical Reversible Computing Limits of adiabatics: Friction,Leakage,Power supplies. - last Mon.Limits of adiabatics: Friction,Leakage,Power supplies. - last Mon. RevComp theory I: Reversible Logic Models - last Wed.RevComp theory I: Reversible Logic Models - last Wed. RevComp theory II: Emulating Irreversible Machines - TODAY RevComp theory II: Bounds on Space-Time OverheadsRevComp theory II: Emulating Irreversible Machines - TODAY RevComp theory II: Bounds on Space-Time Overheads Physics-based models of computing - Mon. 3/25Physics-based models of computing - Mon. 3/25 Reversible scaling advantages, low-leakage limit. - Wed. 3/27Reversible scaling advantages, low-leakage limit. - Wed. 3/27 (plus ~5 more lectures…)(plus ~5 more lectures…) –Part VI, Quantum Computing –Part VII, Cosmological Limits, Wrap-Up

4 Reversible Computing Theory II: Emulating Irreversible Machines

5 Motivation for this study We want to know how to carry out any arbitrary computation in a way that is reversible to an arbitrarily high degree.We want to know how to carry out any arbitrary computation in a way that is reversible to an arbitrarily high degree. –Up to limits set by leakage, power supply, etc. We want to do this as efficiently as possible:We want to do this as efficiently as possible: –Using as few “device ticks” as possible (spacetime) Minimizes HW cost, & leakage lossesMinimizes HW cost, & leakage losses –Using as few adiabatic transitions as possible (ops) Minimizes frictional lossesMinimizes frictional losses But, a desired computation may be originally spec’d in terms of irreversible primitives.But, a desired computation may be originally spec’d in terms of irreversible primitives.

6 General-Case vs. Special-Case We’d like to know two kinds of things:We’d like to know two kinds of things: –For arbitrary general-purpose computations, How to automatically emulate them in a fairly efficient reversible way,How to automatically emulate them in a fairly efficient reversible way, –w/o needing new intelligent/creative design work in each case? Topic of today’s lectureTopic of today’s lecture –For various specific computations of interest, What are the most efficient reversible algorithms?What are the most efficient reversible algorithms? –Or at least, the most efficient that we can find? Note: These may not look anything like the most efficient irreversible algorithms!Note: These may not look anything like the most efficient irreversible algorithms! More on this laterMore on this later

7 The Landauer embedding The obvious embedding of irreversible ops into “expanding” reversible ones leads to a linear increase in space through time. (Landauer ‘61)The obvious embedding of irreversible ops into “expanding” reversible ones leads to a linear increase in space through time. (Landauer ‘61) –Or, increase in width of an input-consuming circuit “Garbage” bits input Circuit depth, or time  “Expanding” operations (e.g., AND) Desired output

8 Lecerf Reversal Lecerf (‘63) was interested in the group-theory question of whether an iterated permutation of items would eventually return to initial item.Lecerf (‘63) was interested in the group-theory question of whether an iterated permutation of items would eventually return to initial item. –Proved undecidable by reducing Turing’s halting problem to this question, w. a reversible TM. Reversible TM reverses direction instead of halting.Reversible TM reverses direction instead of halting. Returns to initial state iff irreversible TM would halt.Returns to initial state iff irreversible TM would halt. Only problem: No useful output data!Only problem: No useful output data! f f  1 Desired output Garbage Input Copy of Input

9 The Bennett Trick Bennett (‘73) pointed out that you could simply fan-out (reversibly copy) the desired output before reversing.Bennett (‘73) pointed out that you could simply fan-out (reversibly copy) the desired output before reversing. Note O(T) storage is still temporarily needed!Note O(T) storage is still temporarily needed! f f  1 Garbage Input Copy of Input Desired output

10 Improving Spacetime Efficiency Bennett ‘73 transforms a computation taking spacetime S·T to one taking  (S·T 2 ) in the worst case.Bennett ‘73 transforms a computation taking spacetime S·T to one taking  (S·T 2 ) in the worst case. –Can we do better? Bennett ‘89: Described a technique that takes spacetimeBennett ‘89: Described a technique that takes spacetime –Actually, can generalize slightly and arrange for exponent on T to be 1+ , where  0 (very slowly) Lange, McKenzie, Tapp ‘97: Space  (S) is possible, if you use time  (exp(  (S)))Lange, McKenzie, Tapp ‘97: Space  (S) is possible, if you use time  (exp(  (S))) –Not any more spacetime-efficient than Bennett.

11 Reversible “Climbing Game” Suppose a guy armed w. hammer, N spikes, & rope is trying to climb a cliff, w. the following rules.Suppose a guy armed w. hammer, N spikes, & rope is trying to climb a cliff, w. the following rules. –How high can he climb? Rules:Rules: –Standing on ground or spike, can insert & remove spike 1 meter higher. –Can raise & lower himself between spikes & ground using his rope. Can’t insert or remove a spike while dangling from a higher spike!Can’t insert or remove a spike while dangling from a higher spike! –Not enough leverage/stability?

12 Analogy w. Emulation Problem Height on cliff = How much progress have we made through the irreversible computation?Height on cliff = How much progress have we made through the irreversible computation? Number of spikes = Memory of rev. mach.Number of spikes = Memory of rev. mach. Spike at height H = Using memory to record state of irreversible machine after H steps.Spike at height H = Using memory to record state of irreversible machine after H steps. Adding/removing spike @H+1 if spike is @H = Computing/ uncomputing state H+1 from H.Adding/removing spike @H+1 if spike is @H = Computing/ uncomputing state H+1 from H.

13 1. Insert spike @ 1. Let’s Climb! 0. Standing on ground. 2. Insert spike @ 2. 3. Remove spike @ 1. 4. Insert spike @ 3. 5. Insert spike @ 4. 6. Remove spike @ 3. 7. Insert spike @ 1. 8. Remove spike @ 2. 9. Remove spike @ 1. 10. Can use remaining 3 spikes to climb up another 4 if desired!

14 How high can we climb? Using only N spikes, and the strategy illustrated, we can climb to height 2 N  1 (wow!)Using only N spikes, and the strategy illustrated, we can climb to height 2 N  1 (wow!) Li & Vitanyi: (Theorem) This is the optimal strategy for this game.Li & Vitanyi: (Theorem) This is the optimal strategy for this game. Open question:Open question: –Are there more efficient emulation techniques that are not based on this game model?

15 “Pebble Game” Representation

16 Triangle representation k = 2 n = 3 k = 3 n = 2

17 Analysis of Bennett Algorithm n = # of recursive levels of algorithmn = # of recursive levels of algorithm k = # of lower-level iterations to go forward 1 higher-level stepk = # of lower-level iterations to go forward 1 higher-level step T r = # of reversible lowest-level steps executed = 2(2k  1) nT r = # of reversible lowest-level steps executed = 2(2k  1) n T i = # of irreversible steps emulated = k nT i = # of irreversible steps emulated = k n So, n = log k T i, and so T r = 2(2k  1) log Ti/log k = 2e log(2k  1)log(Ti)/log k = 2T i log(2k  1)/log kSo, n = log k T i, and so T r = 2(2k  1) log Ti/log k = 2e log(2k  1)log(Ti)/log k = 2T i log(2k  1)/log k (n+1 spikes)

18 Linear-Space Emulation (Lange, McKenzie, Tapp ‘97) Unfortunately, the tree may have 2 S nodes!

19 Can we do better? Bennett ‘73 takes order-T time, LMT ‘97 takes order-S space.Bennett ‘73 takes order-T time, LMT ‘97 takes order-S space. –Can some technique achieve both, simultaneously? Theorem: (Frank & Ammer ‘97) The problem of iterating a black-box function cannot be done in time T & space S on a reversible machine.Theorem: (Frank & Ammer ‘97) The problem of iterating a black-box function cannot be done in time T & space S on a reversible machine. –Proof really covers all possible algorithms! –Also provides loose lower bounds on extra space required by a time-T simulation. Results may also apply to the problem of iterating a cryptographic one-way function.Results may also apply to the problem of iterating a cryptographic one-way function.

20 One-Way Functions …are invertible functions f such that f is easy to compute (e.g., takes polynomial time) but f  1 is hard to compute (e.g., exponential).…are invertible functions f such that f is easy to compute (e.g., takes polynomial time) but f  1 is hard to compute (e.g., exponential). Example:Example: –Consider: f(p,q) = pq with p,q prime. Multiplication is easy.Multiplication is easy. Factoring is hard (except with quantum computers).Factoring is hard (except with quantum computers). –The “one-way-ness” of this function is essential to the security of the RSA public-key cryptosystem. No function has been proven to be one-way.No function has been proven to be one-way. –Certain kinds of one-way functions are known to exist if P  NP.

21 Elements of Frank-Ammer Proof Consider a chain of bit-strings (size S each) that is incompressible by a certain compressor.Consider a chain of bit-strings (size S each) that is incompressible by a certain compressor. –Easily proven to exist. (See next slide.) –Machine’s job is to follow this chain from one node to the next by using a black-box function. The compressor can run a reversible machine backwards, to reconstruct earlier nodes in the chain from later machine configurations.The compressor can run a reversible machine backwards, to reconstruct earlier nodes in the chain from later machine configurations. –If the reversible machine only uses order-S space in its configurations, then the chain is compressible! –Contradicts choice of incompressible chain; QED.

22 Existence of Incompressibles A decompressor or description system s:{0,1}* maps any bit-string description d to the described string x.A decompressor or description system s:{0,1}* maps any bit-string description d to the described string x. –Notation f:D means a unary operator on D, f:D  D x is compressible is s iff  d: s(d)=x, |d|<|x|x is compressible is s iff  d: s(d)=x, |d|<|x| –Notation |b| means the length of bit-string b in bits. Theorem: Every decompressor has an incompressible string for any given length.Theorem: Every decompressor has an incompressible string for any given length. –Proof: There are 2 -bit strings, but only shorter descriptions.


Download ppt "Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #28 Reversible Computing Theory II: Emulating Irreversible Machines."

Similar presentations


Ads by Google