A Genetic Algorithm to Improve Linux Kernel Performance on - - PowerPoint PPT Presentation

a genetic algorithm to improve linux kernel performance
SMART_READER_LITE
LIVE PREVIEW

A Genetic Algorithm to Improve Linux Kernel Performance on - - PowerPoint PPT Presentation

A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices James T. Kukunas , Robert D. Cupper, and Gregory M. Kapfhammer Department of Computer Science Allegheny College, Pennsylvania, USA Late Breaking Abstracts


slide-1
SLIDE 1

A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

James T. Kukunas, Robert D. Cupper, and Gregory M. Kapfhammer Department of Computer Science Allegheny College, Pennsylvania, USA Late Breaking Abstracts The Genetic and Evolutionary Computation Conference (GECCO), July 2010

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-2
SLIDE 2

What is a Resource-Constrained Device?

A Resource-Constrained Device Is . . . Any Device In Which Resources Are Intentionally Constrained

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-3
SLIDE 3

What is a Resource-Constrained Device?

A Resource-Constrained Device Is . . . Any Device In Which Resources Are Intentionally Constrained

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-4
SLIDE 4

Why Do We Intentionally Constrain Resources?

VS The Goal of This Research is to . . . Achieve BMW Performance With A Honda Motor While Keeping Honda Benefits

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-5
SLIDE 5

Intel Atom Specifics: In-Order Execution

Memory Instruction Buffer Pipeline Out-of-Order Instruction Execution Hardware Dynamically Reorders Instructions to Reduce Dependency Stalls in the Pipeline

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-6
SLIDE 6

Intel Atom Specifics: In-Order Execution

Memory Pipeline In-Order Instruction Execution Pipeline Sensitive to Depedency Stalls

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-7
SLIDE 7

Intel Atom Specifics: In-Order Execution

Program Compiler Memory Pipeline Pipeline Modeling . . . At Compile-Time Reduces Dependency Stalls

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-8
SLIDE 8

Intel Atom Specifics: Power-Aware Cache

Cache CPU At Higher Processor Power States . . . All Caches Blocks are Enabled

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-9
SLIDE 9

Intel Atom Specifics: Power-Aware Cache

Cache CPU At Lower Processor Power States . . . Cache Blocks are Disabled to Conserve Power

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-10
SLIDE 10

What is the Linux Kernel?

CPU Mem Disk Peripherals Hardware

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-11
SLIDE 11

What is the Linux Kernel?

System Calls Interrupts

CPU Mem Disk Peripherals I/O

  • Mem. Mgmt
  • Proc. Mgmt

Applications System Layout User Space Kernel Space Hardware

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-12
SLIDE 12

Precise Fitness Metric

System Calls with Counts > 26 System Call Counts (#) System Calls read getxattr fstat64 close mmap2 stat64

  • pen

50 100 150 200

Fitness Metric System Calls Model User/Kernel Space Interaction

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-13
SLIDE 13

Precise Fitness Metric

System Calls with Counts > 26 System Call Counts (#) System Calls read getxattr fstat64 close mmap2 stat64

  • pen

50 100 150 200

Fitness Metric Only 10% of System Calls had Non-Zero Counts

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-14
SLIDE 14

Genetic Algorithm

Initialization Initialize Population Parse Compiler Flags Of Enabled Compiler Flags Bit String Representation

Initialization: Individual Represents Enabled Compiler Options

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-15
SLIDE 15

Genetic Algorithm

Initialization Fitness Operator Build Kernel With Specified Compiler Flags Send Kernel To Netbook Micro−Benchmarking

Fitness Operator: System Call Micro-Benchmarking

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-16
SLIDE 16

Genetic Algorithm

Initialization Fitness Operator Top 75% Reproduce Enough to Replace Bottom 25% Bottom 25% Discarded Crossover Operators Selection and

Selection Operator: Enforces Strong Elitism

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-17
SLIDE 17

Genetic Algorithm

Initialization Fitness Operator Crossover Operators Selection and Mutation Operator 1% Chance of a Bit Flip

Mutation Operator: Too Much Mutation Masks Evolution

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-18
SLIDE 18

Genetic Algorithm

Initialization Fitness Operator Crossover Operators Selection and Mutation Operator Result Analysis N Iterations

Termination Condition: Predefined Generation Count

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-19
SLIDE 19

Results Analysis

Results Analysis Technique Phoronix Test Suite Suite to emulate netbook workload

SQLLite GnuPG Ogg CRay SciMark 7Zip GTKPerf

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-20
SLIDE 20

GTK Results

The Fastest Evolved Kernel . . . is About 20 Seconds Faster

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-21
SLIDE 21

SQLLite

The Fasted Evolved Kernel . . . is About 140 Seconds Faster

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-22
SLIDE 22

Conclusions and Future Work

Conclusions Evolved Kernels Outperformed Stock Fedora Kernel Genetic Algorithm Excels at Finding Correlations Between Optimizations Future Work More Platforms More Compilers More GA Options

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices

slide-23
SLIDE 23

Conclusions and Future Work

More Information at . . . Jim Kukunas <jkukunas@acm.org> http://member.acm.org/~treak007

James Kukunas <jkukunas@acm.org> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices