300
The results in Figure 15-2 were taken from a different application than Figure 15-1.
This graph shows very high memory consumption, which implies this workload would
be a good candidate for adding more memory to the system. If your persistent memory
hardware has variable modes, like the Memory and App Direct modes on Intel Optane
DC persistent memory, you will need some more information to determine which mode
to use first. The next important information is the hot working set size.
Identifying the Hot Working Set Size of a Workload
Persistent memory usually has different characteristics than DRAM; therefore, you
should make intelligent decisions about where data will reside. We will assume that
accessing data from persistent memory has higher latency than DRAM. Given the
choice between accessing data in DRAM and persistent memory, we would always
choose DRAM for performance. However, the premise of adding persistent memory in a
volatile configuration assumes there is not enough DRAM to fit all the data. You need to
understand how your workload accesses data to make choices about persistent memory
configuration.
The working set size (WSS) is how much memory an application needs to keep
working. For example, if an application has 50GiB of main memory allocated and page
mapped, but it is only accessing 20MiB each second to perform its job, we can say that
the working set size is 50GiB and the “hot” data is 20MiB. It is useful to know this for
capacity planning and scalability analysis. The “hot working set” is the set of objects
accessed frequently by an application, and the “hot working set size” is the total size of
those objects allocated at any given time.
Determining the size of the working set and hot working set is not as straightforward
as determining memory footprint. Most applications will have a wide range of objects
with varying degrees of “hotness,” and there will not be a clear line delineating which
objects are hot and which are not. You must interpret this information and determine
the hot working set size.
VTune Profiler has a Memory Access analysis feature that can help determine the hot
and working set sizes of an application (select the “Analyze dynamic memory objects”
option before data collection begins). Once enough data has been collected, VTune
Profiler will process the data and produce a report. In the bottom-up view within the
GUI, a grid lists each memory object that was allocated by the application.
Chapter 15 profiling and performanCe
Précédent

- 324/457

Suivant