Loading in 2 Seconds...

A High Level Reversible Language for Modular Average Case Analysis

Loading in 2 Seconds...

- By
**roddy** - Follow User

- 111 Views
- Uploaded on

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

- 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

- Introduction
- Reversible Computing
- MOQA Overview
- Reversible MOQA
- The Cost of Operations
- Reversible Languages
- Conclusion

Motivation

MOQA

Reversibility

Static Average

Case Analysis

ReversibleMOQA

StaticTiming/

Power Analysis

Reversible

Language

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.

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

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

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

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 OverviewA Hasse Diagram

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

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.

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

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

Languages/application

Architecture/

instruction set

Logic/

Gate Level

Transistor

Physical Medium

Conclusion

- MOQA
- Reversible MOQA
- Cost of Operation for product operation
- Applications
- Future work – Extending Reversible MOQA

Download Presentation

Connecting to Server..