a high level reversible language for modular average case analysis
Download
Skip this Video
Download Presentation
A High Level Reversible Language for Modular Average Case Analysis

Loading in 2 Seconds...

play fullscreen
1 / 22

A High Level Reversible Language for Modular Average Case Analysis - PowerPoint PPT Presentation


  • 111 Views
  • Uploaded on

A High Level Reversible Language for Modular Average Case Analysis. M.Schellekens,D.Early,E.Popovici,and D.Vasudevan (p) ‏ Centre for Efficiency Oriented Languages UCC,Ireland. Reversible Computation - RC 2009 A Satellite Workshop of ETAPS 2009 March 22nd,2009 York. Outline.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' A High Level Reversible Language for Modular Average Case Analysis' - roddy


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
a high level reversible language for modular average case analysis
A High Level Reversible Language for Modular Average Case Analysis
  • M.Schellekens,D.Early,E.Popovici,and D.Vasudevan(p)‏
  • Centre for Efficiency Oriented Languages
  • UCC,Ireland

Reversible Computation - RC 2009

A Satellite Workshop of ETAPS 2009

March 22nd,2009

York

outline
Outline
  • Introduction
  • Reversible Computing
  • MOQA Overview
  • Reversible MOQA
  • The Cost of Operations
  • Reversible Languages
  • Conclusion
motivation
Motivation

MOQA

Reversibility

Static Average

Case Analysis

ReversibleMOQA

StaticTiming/

Power Analysis

Reversible

Language

introduction
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.
introduction1
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
reversible computing
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.
reversible computing1
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.
moqa overview
MOQA Overview
  • An LPO is a triple(A,⊑,l),
  • where
  • Basic Data Structure – Labelled Partial Orders(LPO).
  • 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.
moqa overview1

5

5

4

4

1

1

2

3

3

2

5

5

4

4

2

2

1

3

3

1

5

5

4

2

3

4

1

2

3

1

5

5

2

3

4

4

1

3

2

1

MOQA Overview

A Hasse Diagram

A Random Structure over the label set {1,2,3,4,5}

moqa overview2
MOQA Overview
  • Series Operation

(i)Series: α ⊗β = (A1 U A2, ⊑1 U ⊑2 U (A1 x A2))

  • Parallel Operation

(i)Parallel: α || β = (A1 U A2, ⊑1 U ⊑2 )

  • Partial Order is in Series -Parallel Form,
  • if it is build from single partial orders by series and parallel operations only.
slide11

Index needed to reverse the product operation is

  • Book Keeping of MOQA Product

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

slide12

iii) Find the least positive integer k ≥ j such that

iv) Add ck to A\', replace with , and replace j with j-1

. if j > 0, return to step 3.

  • Book Keeping of MOQA Product
  • Algorithm to uncompute product operation step by step

i) Replace ⊑ with ⊑A U ⊑B (or equivalently, remove all the pairs of the form (a,b) for a ∈ A and b ∈ B)‏

ii) Set j = |A| , A\' = {}

v) Set B\' = l (AUB) \ A\'

vi) Find the smallest positive integer p > |A| such that

cp∊ A\' and the largest positive integer q < |A| such that

cq ∊ B\'

reversible moqa

9

9

8

8

7

7

6

5

5

6

4

2

3

4

2

3

1

1

Reversible MOQA
  • An Example of Product Reversal

Input

Output

reversible moqa1

9

9

4

2

3

8

7

8

5

7

6

1

6

5

4

2

3

B

A

1

Reversible MOQA

Step:1

  • An Example of Product Reversal
reversible moqa2

9

4

2

3

8

7

1

6

5

9

4

5

3

8

7

1

6

2

9

4

5

3

1

7

8

1

7

1

3

6

2

Product Reversal Example

Reversible MOQA
reversible languages
Reversible Languages
  • Reversible Combinatory Logic – Based on Lambda Calculus
  • Automata based Structural Approach
  • Janus
  • Pendulum Assembly Language
  • Reversible MOQA

Potential Applications

  • Static analysis of average power consumption
  • Power efficiency
  • Fault Tolerant Reversible Architectures
  • Automatic Test Pattern Generation(ATPG)‏
levels of reversibility
Levels of Reversibility

Languages/application

Architecture/

instruction set

Logic/

Gate Level

Transistor

Physical Medium

conclusion
Conclusion
  • MOQA
  • Reversible MOQA
  • Cost of Operation for product operation
  • Applications
  • Future work – Extending Reversible MOQA
ad