Page (computer Memory) - Huge Pages

Huge Pages

Huge page size depends on processor architecture, processor type, and operating (addressing) mode. The operating system selects one from the sizes supported by the architecture. Note that not all processors implement all defined Huge/Large page sizes.

Architecture Page Size Huge Page Size Large Page Size
i386 4 KB 4M (2M in PAE mode) 1 GB
IA-64 4 KB 4K, 8K, 64K, 256K, 1M, 4M, 16M, 256M -
ppc64 4 KB - 16M
sparc 8 KB - 8K, 64K, 4M, 256M, 2G

Information from: http://wiki.debian.org/Hugepages (todo: supplement information for processors manufactures documentations)

Some instruction set architectures can support multiple page sizes, including pages significantly larger than the standard page size. Starting with the Pentium Pro, x86 processors support 4 MB pages (called Page Size Extension) (2 MB pages if using PAE) in addition to their standard 4 KB pages; newer x86-64 processors, such as AMD's newer AMD64 processors and Intel's Westmere, processors can use 1 GB pages in long mode. IA-64 supports as many as eight different page sizes, from 4 KB up to 256 MB, and some other architectures have similar features. This support for huge pages (known as superpages in FreeBSD, and large pages in Microsoft Windows terminology) allows for "the best of both worlds", reducing the pressure on the TLB cache (sometimes increasing speed by as much as 15%, depending on the application and the allocation size) for large allocations while still keeping memory usage at a reasonable level for small allocations.

Huge pages, despite being available in the processors used in most contemporary personal computers, are not in common use except in large servers and computational clusters. Commonly, their use requires elevated privileges, cooperation from the application making the large allocation (usually setting a flag to ask the operating system for huge pages), or manual administrator configuration; operating systems commonly, sometimes by design, cannot page them out to disk.

However, SGI IRIX has general purpose support for multiple page sizes. Each individual process can provide hints and the operating system will automatically use the largest page size possible for a given segment of address space.

Linux has supported huge pages on several architectures since the 2.6 series via the hugetlbfs filesystem and without hugetlbfs since 2.6.38. Windows Server 2003 (SP1 and newer), Windows Vista and Windows Server 2008 support huge pages under the name of large pages. Windows 2000 and Windows XP support large pages internally, but do not expose them to applications. Solaris beginning with version 9 supports large pages on SPARC and x86. FreeBSD 7.2-RELEASE features superpages. Note that until recently in Linux, applications needed to be modified in order to use huge pages. The 2.6.38 kernel introduced support for transparent use of huge pages. On Linux kernels supporting transparent huge pages, as well as FreeBSD and Solaris, applications take advantage of huge pages automatically, without the need for modification.

Read more about this topic:  Page (computer Memory)

Famous quotes containing the words huge and/or pages:

    When you think of the huge uninterrupted success of a book like Don Quixote, you’re bound to realize that if humankind have not yet finished being revenged, by sheer laughter, for being let down in their greatest hope, it is because that hope was cherished so long and lay so deep!
    Georges Bernanos (1888–1948)

    Paper is soft and ink is fluid; it might be better if some pages of this chronicle could be written on chips of granite at the point of steel.
    E. M. Almedingen (b. 1898–?)