GithubHelp home page GithubHelp logo

xugp2008tj / ingens Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ut-osa/ingens

0.0 1.0 0.0 147.63 MB

Coordinated and Efficient Huge Page Management with Ingens

Makefile 0.39% C 95.23% Assembly 1.86% C++ 1.69% Objective-C 0.34% Shell 0.19% Perl 0.17% Awk 0.01% Python 0.05% GDB 0.01% Yacc 0.02% Lex 0.01% UnrealScript 0.01% Gherkin 0.01% XS 0.01% Perl 6 0.01% Roff 0.01% Clojure 0.01% M4 0.01% HTML 0.02%

ingens's Introduction

Ingens

Coordinated and Efficient Huge Page Management system.

Details are in a OSDI paper: http://www.cs.utexas.edu/~yjkwon/pdf/kwon16osdi-ingens.pdf

Components

linux-4.3.0-ingens : Ingens Linux kernel

ingens.diff : Kernel (based on v4.3.0) patches of Ingens

scripts : experiment scripts

programs : Various programs and tools for experiments

benchmarks : some benchmarks used in the paper (To be uploaded)

Ingens kernel build.

An example of configuration file is "memory.config" in linux-4.3-ingens.

Ingens uses linux idle page tracking. (http://lxr.free-electrons.com/source/Documentation/vm/idle_page_tracking.txt)

Make sure to set CONFIG_IDLE_PAGE_TRACKING=y in your kbuild configuration.

Parameters

List of configurable policy parameters

/sys/kernel/mm/transparent_hugepage/ingens/

  • deferred_mode

0 : Unmodified Linux

1 : Ingens without sampling address for access bit tracking

2 : Ingens with sampling address for access bit tracking

3 : Frequency-based promotion; Experimental and Unused

e.g., echo 2 > /sys/kernel/mm/transparent_hugepage/ingens/deferred_mode

  • util_threshold

utilization threshold (0 < util_threshold <= 100)

  • scan_sleep_millisecs

Sleep interval for each access bit profiling in milliseconds

  • compact_sleep_millisecs

Sleep interval for proactive compaction in milliseconds

0 : disable proactive compaction

  • fairness

0 : Turn off huge page promotion

1 : Enable fair huge page promotion

/sys/kernel/mm/ksm/

  • run

0 : Disable identical page sharing

1 : Linux identical page sharing

2 : Huge identical page sharing

3 : Huge page reservation based page sharing (experimental)

4 : Ingens coordinated page sharing

Experimental

  • /sys/kernel/mm/transparent_hugepage/ingens/distance_divisor
  • /sys/kernel/mm/transparent_hugepage/ingens/aggregation_sleep_millisecs

Ingens features

Used features

  • Asynchronous promotion
  • Utilization-based promotion
  • Fair huge page promotion
  • Identical Huge page sharing
  • Coordinated huge page sharing
  • Proactive compaction
  • Hot/cold page identification
  • Huge page aligned mmap
  • TCmalloc improvement for huge page allocation

Experimental features

  • Fair LRU eviction for swapping
  • Guest physical page aggregration
  • Auto-ballooning using memory pressure notification API

Contributors

Youngjin Kwon ([email protected])

Hangchen Yu ([email protected])

License

GPLv2 License

ingens's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.