gi using deep parameter tuning
play

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


  1. GI using Deep Parameter Tuning Mark Fan Wu Wes Weimer Yue Jia Jens Krinke Harman

  2. Why GI for non-functional properties Non-Functional Functional Requirements Requirements humans have to a machine can define these optimise these

  3. Traditional GI Process Program

  4. Traditional GI Process Program

  5. Traditional GI Process Program GP

  6. Traditional GI Process Program GP Test cases Fitness

  7. Traditional GI Process Program’ Program GP Test cases Fitness

  8. Traditional GI Process Program’ Program GP Test cases Fitness

  9. Parameter Tuning Tuneable Parameters Program e.g. GCC -O3 foo.c

  10. Parameter Tuning Tuneable Parameters Program e.g. GCC -O3 foo.c Good alternative for GI?

  11. Parameter Tuning Tuneable Parameters Not Many Tuneable Parameters Limited power Program Good alternative for GI?

  12. Parameter Tuning Tuneable Parameters Program Many software systems contain undocumented internal variables or expressions that also affect the performance of the systems.

  13. Parameter Tuning Tuneable Parameters Tuneable Parameters Our approach Program Program Tuneable Implicit Parameters Many software systems contain undocumented internal variables or expressions that also affect the performance of the systems.

  14. Deep Parameter Tuning Tuneable Parameters (Shallow Parameters) Program NSGAII Tuneable Implicit Parameters (Deep Parameters) Opentuner Dynamic Knobs

  15. Is this GI? Genetic Improvement (GI) aims to find improved versions of existing programs that retain some partial semantics of the original (and possibly some of its syntax too)

  16. Comparing to GI EASY Less fragile Easy to use Lightweight

  17. Our approach Program’ Program GP Test cases Fitness

  18. Our approach Program

  19. Our approach Mutation Testing Program Test cases

  20. Mutation Operators C Mutation Testing tool : Milu

  21. Our approach Mutation Testing Program Pseudo Equivalent Mutants: Mutants are not killed by any tests

  22. Our approach Non-dominated Rank Pseudo Equivalent Mutants

  23. Our approach Exposing Deep Parameters

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

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

  26. Why to apply GI? Program GI

  27. Why to apply GI? GI library Program Program library GI GI library GI

  28. Why to apply GI? GI library Program Program library GI GI library GI General purpose memory allocator dlmalloc by Doug Lea

  29. Experiment Subjects

  30. Experiment Settings 9 Deep Parameters Repeat 10 times (cpu time and memory) Repeated 20 times

  31. Experiments Espresso dlmalloc Shallow Parameters Only gawk dlmalloc flex Deep + Shallow Parameters Only dlmalloc sed dlmalloc

  32. Experiments Random NSGAII Espresso dlmalloc Shallow Parameters Only gawk dlmalloc flex Deep + Shallow Parameters Only dlmalloc sed dlmalloc

  33. Results : Optimisation Quality

  34. Results : Optimisation Quality

  35. Results: Reduction

  36. Results : Execution cost

  37. Deep Parameter Example Heap Managed by allocator

  38. Deep Parameter Example Heap Managed by allocator In use

  39. Deep Parameter Example Heap Managed by allocator In use

  40. Deep Parameter Example Heap Managed by allocator In use

  41. Deep Parameter Example Heap Managed by allocator In use

  42. Related work Software Tuning panel for Autonomic Control (STAC) Autotuner / PowerDial

  43. Summary Mutation analysis based approach to expose deep parameters 12% on time, 21% on memory Input Domain ? Program Program GI GI library

Recommend


More recommend