Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A genetic algorithm to improve Linux kernel per...

A genetic algorithm to improve Linux kernel performance on resource-constrained devices

Interested in learning more about this topic? Visit this web site to read the paper: https://www.gregorykapfhammer.com/research/papers/Kukunas2010a/

Gregory Kapfhammer

July 02, 2010
Tweet

More Decks by Gregory Kapfhammer

Other Decks in Technology

Transcript

  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 <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  2. What is a Resource-Constrained Device? A Resource-Constrained Device Is .

    . . Any Device In Which Resources Are Intentionally Constrained James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  3. What is a Resource-Constrained Device? A Resource-Constrained Device Is .

    . . Any Device In Which Resources Are Intentionally Constrained James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  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 <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  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 <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  6. Intel Atom Specifics: In-Order Execution Memory Pipeline In-Order Instruction Execution

    Pipeline Sensitive to Depedency Stalls James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  7. Intel Atom Specifics: In-Order Execution Program Compiler Memory Pipeline Pipeline

    Modeling . . . At Compile-Time Reduces Dependency Stalls James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  8. Intel Atom Specifics: Power-Aware Cache Cache CPU At Higher Processor

    Power States . . . All Caches Blocks are Enabled James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  9. Intel Atom Specifics: Power-Aware Cache Cache CPU At Lower Processor

    Power States . . . Cache Blocks are Disabled to Conserve Power James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  10. What is the Linux Kernel? CPU Mem Disk Peripherals Hardware

    James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  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 <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  12. Precise Fitness Metric System Calls with Counts > 26 System

    Call Counts (#) System Calls read getxattr fstat64 close mmap2 stat64 open 50 100 150 200 Fitness Metric System Calls Model User/Kernel Space Interaction James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  13. Precise Fitness Metric System Calls with Counts > 26 System

    Call Counts (#) System Calls read getxattr fstat64 close mmap2 stat64 open 50 100 150 200 Fitness Metric Only 10% of System Calls had Non-Zero Counts James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  14. Genetic Algorithm Initialization Initialize Population Parse Compiler Flags Of Enabled

    Compiler Flags Bit String Representation Initialization: Individual Represents Enabled Compiler Options James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  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 <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  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 <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  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 <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  18. Genetic Algorithm Initialization Fitness Operator Crossover Operators Selection and Mutation

    Operator Result Analysis N Iterations Termination Condition: Predefined Generation Count James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  19. Results Analysis Results Analysis Technique Phoronix Test Suite Suite to

    emulate netbook workload SQLLite GnuPG Ogg CRay SciMark 7Zip GTKPerf James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  20. GTK Results The Fastest Evolved Kernel . . . is

    About 20 Seconds Faster James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  21. SQLLite The Fasted Evolved Kernel . . . is About

    140 Seconds Faster James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  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 <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices
  23. Conclusions and Future Work More Information at . . .

    Jim Kukunas <[email protected]> http://member.acm.org/~treak007 James Kukunas <[email protected]> Allegheny College A Genetic Algorithm to Improve Linux Kernel Performance on Resource-Constrained Devices