Transparent Hugepages in RHEL 6 Raghu Udiyar 22 July 2011
Transparent Huge Pages Written by  Andrea Arcangeli  (Red Hat kernel developer)
Merged into upstream kernel 2.6.38
Available in RHEL 6.0 on GA
A page is the smallest unit of memory that can be manipulated
Memory is divided into pages of equal size Transparent   Huge  Pages Pages Memory
Page :  Memory Management Page size varies with the architecture, x86 = 4KiB
For other arch's : ia64 = 8KiB,  ppc64 = 4,8 and 64KiB 4KiB Page x86
Page :  Memory Management Physical Memory Aka : RAM – memory installed on the system e.g. 2GiB
Programs never work directly with physical memory
A physical page is called a  Page Frame Virtual Memory Not real memory : 32bit – 4Gb, 64bit – more then 128T
Programs always allocate virtual memory
A virtual page is called simply a  Page
Page :  Virtual and Physical Each page is mapped to a  page frame  using  tables Physical Virtual Page Page Frame
Page  : Memory Management Process 2 Process 1
Page  : Memory Management Virtual to Physical address translations are stored in  page tables
These page tables are stored in memory
Looking up these page tables is a processes called a
Page Walk
Page  :  Simplified view of the Page Table   Virtual address Multiple tables are involved in a  Page Walk
Page  : Memory Management Every memory access requires a Page Walk
Hardware assisted but it is still expensive
Typically, takes 10-100 cpu clock cycles
The obvious optimization is to cache the results

Transparent Hugepages in RHEL 6