A high level reversible language for modular average case analysis
Download
1 / 22

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


  • 110 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 Analysis

  • Introduction

  • Reversible Computing

  • MOQA Overview

  • Reversible MOQA

  • The Cost of Operations

  • Reversible Languages

  • Conclusion


Motivation
Motivation Analysis

MOQA

Reversibility

Static Average

Case Analysis

ReversibleMOQA

StaticTiming/

Power Analysis

Reversible

Language


Introduction
Introduction Analysis

  • 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 Analysis

  • 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 Analysis

  • 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 Analysis

  • 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 Analysis

  • 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 Analysis

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 Analysis

  • 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.


  • 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


iii) Find the least positive integer k Analysis≥ 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 Analysis

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 Analysis

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 Analysis

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


The average cost of product operation
The Average AnalysisCost of Product Operation



Reversible languages
Reversible Languages Analysis

  • 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 Analysis

Languages/application

Architecture/

instruction set

Logic/

Gate Level

Transistor

Physical Medium


Conclusion
Conclusion Analysis

  • MOQA

  • Reversible MOQA

  • Cost of Operation for product operation

  • Applications

  • Future work – Extending Reversible MOQA



Questions
Questions ? Analysis


ad