311
Use this information to determine whether thread migration is correlated with
NUMA accesses to remote DRAM or persistent memory.
Large and Huge Pages
The default memory page size in most operating systems is 4 kilobytes (KiB). Operating
systems provide many different page sizes for different application workloads and
requirements. In Linux, a Large Page is 2 megabytes (MiB), and a Huge Page is 1 gigabyte
(GiB). The larger page sizes can be beneficial to workload performance on persistent
memory in certain scenarios.
For applications with a large addressable memory requirement, the size of the page
table being maintained by the operating system for virtual to physical address translation
grows significantly larger in size. The translation lookaside buffer (TLB) is a small cache
to make virtual-to-physical address translations faster. The efficiency of TLB goes down
when the number of page entries increases in the page table. Chapter 19 describes this in
more detail.
Persistent memory systems that are meant for applications with a large memory
requirement will likely encounter the problem of large page tables and inefficient TLB
usage. Using large page sizes in this scenario helps reduce the number of entries in
the page table. The main trade-offs when using large page sizes is a higher overhead
for each allocation and memory fragmentation. You must be aware of the application
behavior before using large pages on persistent memory. An application doing frequent
allocation/deallocation may not be a good fit for large page optimization. The memory
fragmentation issue is somewhat abated by the large address space available on the
persistent memory systems.
Summary
Profiling and performance optimization techniques for persistent memory systems
are similar to those techniques used on systems without persistent memory. This
chapter outlined some important concepts for understanding performance. It also
provides guidance for characterizing an existing application without persistent memory
and understanding whether it is suitable for persistent memory. Finally, it presents
Chapter 15 profiling and performanCe
Précédent

- 335/457

Suivant