Michael j voss and rudolf eigenmann ppopp 01 presented by kanad sinha
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

High-level Adaptive Program optimization with ADapt PowerPoint PPT Presentation


  • 45 Views
  • Uploaded on
  • Presentation posted in: General

Michael J. Voss and Rudolf Eigenmann PPoPP, ‘01 (Presented by Kanad Sinha). High-level Adaptive Program optimization with ADapt. Agenda. Motivation General choices for adaptive optimization ADAPT The Architecture The Language An example Results. Motivation.

Download Presentation

High-level Adaptive Program optimization with ADapt

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


Michael j voss and rudolf eigenmann ppopp 01 presented by kanad sinha

Michael J. Voss and Rudolf Eigenmann

PPoPP, ‘01

(Presented by Kanad Sinha)

High-level Adaptive Program optimization with ADapt


Agenda

Agenda

  • Motivation

  • General choices for adaptive optimization

  • ADAPT

    • The Architecture

    • The Language

    • An example

  • Results


Motivation

Motivation

There’s only so much optimization that can be performed at compile-time.

  • Have to generate code for generic system models – make compile-time assumptions that may be sensitive to input, unknown till runtime.

  • Convergence of technologies – difficult to generate common binary to exploit individual system characteristics.


Motivation1

Motivation

Possible solution?

“Use of adaptive and dynamic optimization paradigms, where optimization is performed at runtime when complete system and input knowledge is available.”


Ways to go about it

Ways to go about it…

  • Choose from statically generated code-variants

    +Easy

    -May not result in max possible optimization

    -Can result in code explosion

  • Parameterization

    +Single copy of source

    -May still not result in max possible optimization

  • Dynamic compilation

    +Complete input and system knowledge – max optimization possible

    -Considerable runtime overhead


Adapt features

ADAPT : Features

  • Automated De-Coupled Adaptive Program Optimization

  • Generic framework, which leverages existing tools

  • Uses a domain-specific language, AL, by which adaptive techniques can be specified


Adapt features contd

ADAPT : Features (contd.)

  • Supports dynamic compilation and parameterization

  • Enables optimizations through “runtime sampling”

  • Facilitates an iterative modification and search approach


Adapt prelude

ADAPT :Prelude

3 functions of a dynamic/adaptive optimization system

  • Evaluate effectiveness of particular optimization for current input & system information

  • Apply optimization if profitable

  • Re-evaluate applied optimizations and tune according current runtime conditions


Adapt the architecture

ADAPT – The Architecture


Adapt the architecture1

ADAPT – The Architecture

Runtime system consists of:

  • Modified version of application

  • Remote optimizer

    • has source code

    • description of target machine

    • stand-alone tools & compilers

  • Local optimizer

    • agent of remote-optimizer on system

    • detects hot-spots

    • tracks multiple interval contexts (here, loop bounds)

    • runs in separate thread

      Optimization and execution truly asynchronous


Adapt the architecture2

ADAPT – The Architecture

  • LO invokes RO, when hotspot detected

  • RO tunes the interval using available tools, according to user-specified heuristics

  • RPC returns

  • If new code available, dynamically link to application as the new best/experimental version, depending on RO’s message


Adapt the architecture3

ADAPT – The Architecture


Adapt the architecture4

ADAPT – The Architecture

  • Candidate code sections have 2 control flow paths

    • through best known version

    • through experimental version

      Each of these can be replaced dynamically

  • Flag indicates which version to execute

  • Monitor experimental versions of each context

    • collected data used as feedback

    • if better, swap with best known version


Adapt the architecture5

ADAPT – The Architecture

Optimization process outside critical path/decoupled from execution


Adapt the language

ADAPT – The Language

  • ADAPT Language (AL) *

  • Features:

    • Uses an LL1 grammar => simple parser

    • Domain specific language with C-style format

    • Defines reserved words that at runtime contain useful input data and system information

      * “A full description of ADAPT language is beyond the scope of this paper”, and by extension, this presentation.


Adapt an example

ADAPT – An example


Adapt an example1

ADAPT – An example

  • Initialize some variables

  • Constraints

  • Interface to tool to be used

  • This block defines the heuristic


Adapt an example2

ADAPT – An example


Adapt results

ADAPT - Results

  • Test Machines: 6 core Sun ULTRA Enterprise 4000, single-core Pentium II Linux workstation


Today s take aways

Today’s Take-aways

  • There’s advantage in doing runtime optimization

  • Can be applied to general-purpose programs as well

  • For full-blown runtime optimization, need to move optimization process outside the critical path


High level adaptive program optimization with adapt

if (questions(“?!”) == 1)

delay();

THANK_YOU(“Have a great weekend!”);


  • Login