GI using Deep Parameter Tuning Mark Fan Wu Wes Weimer Yue Jia - - PowerPoint PPT Presentation

gi using deep parameter tuning
SMART_READER_LITE
LIVE PREVIEW

GI using Deep Parameter Tuning Mark Fan Wu Wes Weimer Yue Jia - - PowerPoint PPT Presentation

GI using Deep Parameter Tuning Mark Fan Wu Wes Weimer Yue Jia Jens Krinke Harman Why GI for non-functional properties Non-Functional Functional Requirements Requirements humans have to a machine can define these optimise these


slide-1
SLIDE 1

GI using Deep Parameter Tuning

Mark Harman Yue Jia Jens Krinke Wes Weimer Fan Wu

slide-2
SLIDE 2

Functional Requirements Non-Functional Requirements

Why GI for non-functional properties

humans have to define these a machine can

  • ptimise these
slide-3
SLIDE 3

Traditional GI Process

Program

slide-4
SLIDE 4

Traditional GI Process

Program

slide-5
SLIDE 5

Traditional GI Process

Program

GP

slide-6
SLIDE 6

Traditional GI Process

Program

GP Test cases Fitness

slide-7
SLIDE 7

Traditional GI Process

Program

GP Test cases Fitness

Program’

slide-8
SLIDE 8

Traditional GI Process

Program

GP Test cases Fitness

Program’

slide-9
SLIDE 9

Parameter Tuning

Program

Tuneable Parameters

e.g. GCC -O3 foo.c

slide-10
SLIDE 10

Parameter Tuning

Program

Tuneable Parameters

e.g. GCC -O3 foo.c

Good alternative for GI?

slide-11
SLIDE 11

Parameter Tuning

Program

Tuneable Parameters

Not Many Tuneable Parameters Limited power Good alternative for GI?

slide-12
SLIDE 12

Parameter Tuning

Program

Tuneable Parameters

Many software systems contain undocumented internal variables or expressions that also affect the performance of the systems.

slide-13
SLIDE 13

Parameter Tuning

Program

Tuneable Parameters

Many software systems contain undocumented internal variables or expressions that also affect the performance of the systems.

Program

Tuneable Implicit Parameters Tuneable Parameters

Our approach

slide-14
SLIDE 14

Deep Parameter Tuning

Program

Tuneable Implicit Parameters Tuneable Parameters (Shallow Parameters)

(Deep Parameters) NSGAII Opentuner Dynamic Knobs

slide-15
SLIDE 15

Is this GI?

Genetic Improvement (GI) aims to find improved versions of existing programs that retain some partial semantics of the

  • riginal (and possibly some
  • f its syntax too)
slide-16
SLIDE 16

Comparing to GI

EASY Lightweight Easy to use Less fragile

slide-17
SLIDE 17

Our approach

Program

GP Test cases Fitness

Program’

slide-18
SLIDE 18

Our approach

Program

slide-19
SLIDE 19

Our approach

Program

Mutation Testing Test cases

slide-20
SLIDE 20

Mutation Operators

C Mutation Testing tool : Milu

slide-21
SLIDE 21

Our approach

Program

Mutation Testing Pseudo Equivalent Mutants: Mutants are not killed by any tests

slide-22
SLIDE 22

Our approach

Non-dominated Rank Pseudo Equivalent Mutants

slide-23
SLIDE 23

Our approach

Exposing Deep Parameters

slide-24
SLIDE 24

Our approach

Exposing Deep Parameters Given a location L, and E is the expression at L L arithmetic expression logical expression

slide-25
SLIDE 25

Our approach

Exposing Deep Parameters Given a location L, and E is the expression at L L arithmetic expression logical expression

slide-26
SLIDE 26

Why to apply GI?

Program GI

slide-27
SLIDE 27

Why to apply GI?

Program Program library GI GI library library GI GI

slide-28
SLIDE 28

Why to apply GI?

Program Program library GI GI library library GI GI

General purpose memory allocator dlmalloc by Doug Lea

slide-29
SLIDE 29

Experiment Subjects

slide-30
SLIDE 30

Experiment Settings

9 Deep Parameters Repeat 10 times (cpu time and memory) Repeated 20 times

slide-31
SLIDE 31

Experiments

Espresso gawk flex sed dlmalloc dlmalloc dlmalloc dlmalloc

Shallow Parameters Only Deep + Shallow Parameters Only

slide-32
SLIDE 32

Experiments

Espresso gawk flex sed dlmalloc dlmalloc dlmalloc dlmalloc

Shallow Parameters Only Deep + Shallow Parameters Only Random NSGAII

slide-33
SLIDE 33

Results : Optimisation Quality

slide-34
SLIDE 34

Results : Optimisation Quality

slide-35
SLIDE 35

Results: Reduction

slide-36
SLIDE 36

Results : Execution cost

slide-37
SLIDE 37

Deep Parameter Example

Managed by allocator

Heap

slide-38
SLIDE 38

Deep Parameter Example

Managed by allocator In use

Heap

slide-39
SLIDE 39

Deep Parameter Example

Managed by allocator In use

Heap

slide-40
SLIDE 40

Deep Parameter Example

Managed by allocator In use

Heap

slide-41
SLIDE 41

Deep Parameter Example

Managed by allocator In use

Heap

slide-42
SLIDE 42

Related work

Software Tuning panel for Autonomic Control (STAC) Autotuner / PowerDial

slide-43
SLIDE 43

Summary

Mutation analysis based approach to expose deep parameters 12% on time, 21% on memory

Input Domain ?

Program Program library GI GI