Coordinated and Efficient Huge Page Management system.
Details are in a OSDI paper: http://www.cs.utexas.edu/~yjkwon/pdf/kwon16osdi-ingens.pdf
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)
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.
List of configurable policy parameters
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
utilization threshold (0 < util_threshold <= 100)
Sleep interval for each access bit profiling in milliseconds
Sleep interval for proactive compaction in milliseconds
0 : disable proactive compaction
0 : Turn off huge page promotion
1 : Enable fair huge page promotion
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
Youngjin Kwon (yjkwon@cs.utexas.edu)
Hangchen Yu (hyu@cs.utexas.edu)
GPLv2 License