Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York...
-
Upload
blaise-gentles -
Category
Documents
-
view
216 -
download
0
Transcript of Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York...
![Page 1: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/1.jpg)
Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009
March 22nd,2009York
M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p)
Centre for Efficiency Oriented Languages
UCC,Ireland
A High Level Reversible Language for Modular Average Case Analysis
![Page 2: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/2.jpg)
Outline
Introduction Reversible Computing MOQA Overview Reversible MOQA The Cost of Operations Reversible Languages Conclusion
![Page 3: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/3.jpg)
MotivationMotivation
MOQA
Static Average Case Analysis
Static Timing/Power Analysis
ReversibleLanguage
Reversibility
Reversible MOQA
![Page 4: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/4.jpg)
Introduction
The MOQA “language" developed at CEOL: suite of data-structuring operations together with conditionals, for-loops and recursion.
MOQA is implemented at CEOL in Java 5.0 as MOQA-Java
The associated static analysis tool Distri-Track: modular derivation of the average case time of MOQA programs
Modular Property
Reuse
MOQA enables the finitary representation and tracking of the distribution of data states throughout computations
unlocks the true potential of modular reasoning.
![Page 5: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/5.jpg)
Introduction Overview of some MOQA features and discuss some links
with reversible computing.
Reversible aspect of MOQA focusing on one of its main operations - Product.
We show how this operation can be made reversible
We indicate how MOQA enables the derivation of the cost of the operation as well as the cost of its reversal.
Discuss on some available Reversible Languages
Applications
![Page 6: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/6.jpg)
Reversible Computing
Reversibility - For any output it is possible to recompute the input which gave rise to the output in question.
Reversibility - low power design.
MOQA ( With certain modifications) - a high level reversible language - low power analysis- using static average-case analysis.
The use of MOQA as a high level reversible language - a new type of application - Modular Static Average-Case Analysis.
Random bag preservation – a formal way to track distributions in the MOQA context
established via a one-to-one correspondence between inputs and outputs of basic MOQA operations.
![Page 7: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/7.jpg)
Reversible Computing
The reversible aspects of MOQA -used not only to determine the average-case power – also to achieve power optimization based on traditional reversible approaches.
A few exceptions focus on high-level reversible languages, including the language JANUS.
![Page 8: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/8.jpg)
MOQA Overview Basic Data Structure – Labelled Partial Orders(LPO).
An LPO is a triple(A,⊑,l),
where
A is a set (assumed to be finite),
⊑ is a partial order on A (that is, ⊑ is a subset of A x A which is reflexive, transitive and anti-symmetric).
l is an increasing injection from A into a totally ordered set (known as the set of labels).
Random Structure – Given a partial order (A,⊑), the random structure over a given label set C is Rc(A), which is the set of all LPOs (A,⊑,l) such that l(A) = C.
Random Bag – A random bag is a multiset of random structures.
![Page 9: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/9.jpg)
MOQA Overview
A Random Structure over the label set {1,2,3,4,5}
A Hasse Diagram
5
1
4
2 3
5
1
4
3 2
5
2
4
1 3
5
2
4
3 1
5
3
4
1 2
5
4
2
3 1
5
4
2
1 3
5
4
3
2 1
![Page 10: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/10.jpg)
MOQA Overview Series Operation
Parallel Operation
Partial Order is in Series -Parallel Form, if it is build from single partial orders by series and
parallel operations only.
(i)Series: α ⊗ β = (A1 U A2, ⊑1 U ⊑2 U (A1 x A2))
(i)Parallel: α || β = (A1 U A2, ⊑1 U ⊑2 )
![Page 11: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/11.jpg)
Book Keeping of MOQA Product
Index needed to reverse the product operation is
If we call the product operation on
an LPO from R(A,⊑ A)
and an LPO from R(B, ⊑ B)
and get an output LPO (A U B ,⊑, l)
and an index i,
Then we can not only determine
- Which members of each of the original random structures the input were,
- Reverse each swap in product operations to uncompute back to original input
A
=i i
xi
1
1
![Page 12: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/12.jpg)
Algorithm to uncompute product operation step by step
Book Keeping of MOQA Product
i) Replace i) Replace ⊑ with ⊑A U ⊑B (or equivalently, remove ⊑ with ⊑A U ⊑B (or equivalently, remove all the pairs of the form (a,b) for a ∈ A and b all the pairs of the form (a,b) for a ∈ A and b ∈ B)∈ B)
ii) Set j = |A| , A' = {}ii) Set j = |A| , A' = {}
v) Set B' = l (AUB) \ A'v) Set B' = l (AUB) \ A'
vi) Find the smallest positive integer p > |A| such thatvi) Find the smallest positive integer p > |A| such that ccpp ∊∊ A' and the largest positive integer q < |A| such that A' and the largest positive integer q < |A| such that
ccq q ∊ B'∊ B'
iii) Find the least positive integer k iii) Find the least positive integer k ≥≥ j such that j such that
j
k<i
j
k 1
iv) Add civ) Add ck k to A', replace with , and replace j with j-1to A', replace with , and replace j with j-1
. if j > 0, return to step 3.. if j > 0, return to step 3.
j
ki
1
![Page 13: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/13.jpg)
Reversible MOQA An Example of Product Reversal
9
78
6 5
4 2 3
1
9
78
6 5
4 2 3
1
Input Output
![Page 14: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/14.jpg)
Reversible MOQA An Example of Product Reversal
9
78
6 5
4 2 3
1
9
78
6 5
4 2 3
1
B A
Step:1
![Page 15: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/15.jpg)
Reversible MOQAProduct Reversal
Example9
78
6 5
4 2 3
1
9
78
6 2
4 5 3
1
9
78
6 2
4 5 3
1
1
31
7
![Page 16: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/16.jpg)
The Average Cost of Product Operation
![Page 17: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/17.jpg)
The Cost of Product Operation-Reversible
![Page 18: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/18.jpg)
Reversible Languages Janus
Reversible Combinatory Logic – Based on Lambda Calculus
Automata based Structural Approach
Pendulum Assembly Language Reversible MOQA
Potential Applications
Static analysis of average power consumption
Power efficiency
Fault Tolerant Reversible Architectures
Automatic Test Pattern Generation(ATPG)
![Page 19: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/19.jpg)
Physical Medium
Levels of ReversibilityLevels of Reversibility
Languages/application
Architecture/instruction set
Logic/Gate Level
Transistor
![Page 20: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/20.jpg)
Conclusion
MOQA Reversible MOQA Cost of Operation for product operation Applications Future work – Extending Reversible MOQA
![Page 21: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/21.jpg)
Thank You For Your Attention!Thank You For Your Attention!
![Page 22: Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p) Centre for.](https://reader035.fdocuments.in/reader035/viewer/2022062417/551ac045550346b2288b531d/html5/thumbnails/22.jpg)
Questions ?Questions ?