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


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


A high level reversible language for modular average case analysis

  • 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


A high level reversible language for modular average case analysis

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