Botanical Dimensions: A Unique Immersive Experience! | IDZ Weekly | Intel Software


Hi. I’m Dave Larsen at Intel. And today I’ll explain
several key factors that will help you get the
best performance from platforms equipped with Intel Optane
DC Persistent Memory. It is a revolutionary new
class of server memory that offers
DRAM-like performance with a capacity and data
persistence of storage. It works with our new 2nd
Generation Intel Xeon Scalable Processor. DRAM memory and Optane
Persistent Memory work together in the platform. Exactly how depends on
which operating mode you select for the
Optane Persistent Memory. In Memory mode, all
the data in memory is volatile, just like today. But you can take advantage
of the affordable capacity of up to three
terabytes per processor. In App Direct mode,
the application and OS are aware there are two
different types of memory and can use them independently. If you want to use the
persistent data features, you have to use App Direct
mode and an enabled operating system or applications. For software that
uses App Direct mode, it’s best to consult
with the vendor on the configuration
they recommend for their application. Most of the rest
of our talk will be about how to get the best
performance in Memory mode. There are four
factors that we’ll consider for best performance– correct DRAM ratio, slot
configuration, processor core count, and workload behavior. In Memory mode, the DRAM
acts as a fast cache for the most
frequently used data. You want a DRAM cache that’s big
enough so the requested data is in the cache most of the time. Intel recommends a ratio
of one gigabyte of DRAM for every 8 gigabytes of
Optane Persistent Memory. This should provide an adequate
DRAM cache for most workloads when using Memory mode. For example, if you
have one terabyte of Optane persistent
memory, you’ll want to have 128 gigabytes
of DRAM for an 8 to 1 ratio. The second factor is the
memory slot configuration. Each 2nd Generation Intel
Xeon Scalable Processor has two integrated
memory controllers. Each controller has
three memory channels. And each channel can support
up to two memory slots. The configuration
type is designated by the number of slots on each
one of the memory controllers. Here is a 2-2-2 config
where each controller has two slots on each of
its three memory channels. That’s a total of 12
slots per processor. A 2-2-1 configuration has
two slots on two channels and one slot on
the third channel. That’s 10 slots per processor. Here’s a 2-1-1 configuration
with eight slots per processor, and finally, a 1-1-1
with six total slots. For best performance, you want
to maximize the total memory bandwidth and the probability
of a DRAM cache hit. To do this, place an Optane
Persistent Memory module on the slot nearest
the processor and a DRAM DIMM on the slot
furthest from the processor. That means that a fast DRAM DIMM
is available no matter which memory channel is accessed. Follow this rule
on 2-2-2, 2-2-1, and 2-1-1 configurations. In the actual platform, the
population looks like this. I’ve placed a DRAM DIMM
in the appropriate slot of each channel, which
are the blue slots. The Optane Persistent
Memory modules go on the black slots
on each channel. Keep in mind that
the color will depend on your server manufacturer. You can spot the Optane
modules by the silver clips in the integrated heat spreader. In a 1-1-1 configuration,
you can only populate DRAM on two
of the three channels for each memory controller. This limits the total
bandwidth, so the 1-1-1 has the greatest risk of
performance degradation. In App Direct mode,
this configuration may be fine since
the application has full control
over memory behavior and can compensate for
the lower bandwidth. If the processor has
more than 20 cores, use a configuration
where you can place a DRAM on every channel. Those are the 2-2-2, 2-2-1,
and 2-1-1 configurations. The 1-1-1 configuration
should only be used with processors
with 20 cores or fewer to make sure the cores aren’t
starved for memory services. The final factor is
application behavior. The Intel Xeon Processor
uses a prediction algorithm to cache the most frequently
used data in DRAM. If the application has
moderate to high levels of predictability,
the probability of successful caching increases. When that happens, the response
latency is the same as DRAM. But if the data
isn’t in DRAM cache, the processor must fetch it from
Optane Persistent Memory, which has a somewhat higher latency. If the application’s data
access pattern is highly random, you get more cache
misses, and performance will be lower than
if the system had been populated with only DRAM. Most applications are
predictable enough that performance with
Optane Persistent Memory is very close to an
all DRAM configuration. But performance at a few
benchmarks and applications can fall off noticeably,
but those are situations that should be the minority. As with any new technology, you
should test your applications to make sure that you’ll meet
your service level agreements. So that’s it. You should enjoy
great performance with Optane Persistent Memory
with the proper configuration focused on these four factors. You’ll get more affordable
capacity and much faster performance in storing
persistent data on SSDs or hard drives. For more information on Intel
Optane DC Persistent Memory, please visit us at
intel.com/optane and see the links provided.