HugeTLBfs

See Huge Pages (hugetlbfs) for assorted on-line documentation about using large pages to avoid excessive load on the TLB.

Here we do not claim to be complete for all target architectures. This is meant to serve as an example for Linux targets. The following steps are what we did on one RHEL5 system.

NOTE: If you have kernel documentation installed, see: /usr/share/doc/kernel-doc-<version>/Documentation/vm/hugetlbpage.txt

First steps (most of this must be done by the super-user):

Warning:
If you have configured the storage manager for use with hugetlbfs and have not taken the above steps to ensure that your system actually has the hugetlbfs pages available for use, your storage manager (or the 'make check' tests) will likely croak. Unfortunately, we have not yet figured out a way to determine ahead of time, programmatically, whether things will go well or not, before we try to write to the huge pages.
Second steps (this can be done by users in the ssm group):

Note that your buffer pool size will have to be set to a multiple of the huge page size for your system. Thus, if your huge pages are 2 MB you will get an error from mmap if you use a 3 MB buffer pool.

On the whole, the use of mmap with the hugetlbfs is not reliable and, although at process end, all huge pages are supposed to be returned to the system, we have seen cases in which pages were "lost" and the mmap thereafter failing, repaired only on reboot, so consider this feature for performance experiments only on systems that do not require high availability.


Generated on Wed Jul 7 17:22:32 2010 for Shore Storage Manager by  doxygen 1.4.7