373
© The Author(s) 2020
S. Scargall, Programming Persistent Memory, https://doi.org/10.1007/978-1-4842-4932-1_19
CHAPTER 19
Advanced Topics
This chapter covers several topics that we briefly described earlier in the book but did
not expand upon as it would have distracted from the focus points. The in-depth details
on these topics are here for your reference.
Nonuniform Memory Access (NUMA)
NUMA is a computer memory design used in multiprocessing where the memory
access time depends on the memory location relative to the processor. NUMA is used
in a symmetric multiprocessing (SMP) system. An SMP system is a “tightly coupled and
share everything” system in which multiple processors working under a single operating
system can access each other’s memory over a common bus or “interconnect” path.
With NUMA, a processor can access its own local memory faster than nonlocal memory
(memory that is local to another processor or memory shared between processors). The
benefits of NUMA are limited to particular workloads, notably on servers where the data
is often associated strongly with certain tasks or users.
CPU memory access is always fastest when the CPU can access its local memory.
Typically, the CPU socket and the closest memory banks define a NUMA node. Whenever
a CPU needs to access the memory of another NUMA node, it cannot access it directly
but is required to access it through the CPU owning the memory. Figure  19- 1 shows a
two-socket system with DRAM and persistent memory represented as “memory. ”
Précédent

- 395/457

Suivant