Author's Blogs

Optimizing Software Applications for NUMA: Part 7 (of 7)
By David Ott (Intel) Posted on 05/18/11 0
Summary NUMA, or Non-Uniform Memory Access, is a shared memory architecture that describes the placement of main memory modules with respect to processors in a multiprocessor system. The advantage of the NUMA architecture as a hierarchical shared memory scheme is its potential to improve average ...
Optimizing Software Applications for NUMA: Part 6 (of 7)
By David Ott (Intel) Posted on 05/16/11 1
3.3 Data Placement Using Explicit Memory Allocation Directives Another approach to data placement in NUMA-based systems is to make use of system APIs that explicitly configure the location of memory page allocations. An example of such APIs is the libnuma library for Linux.[1] Using the API, a p...
Optimizing Software Applications for NUMA: Part 5 (of 7)
By David Ott (Intel) Posted on 05/11/11 2
3.2. Data Placement Using Implicit Memory Allocation Policies In the simple case, many operating systems transparently provide support for NUMA-friendly data placement. When a single-threaded application allocates memory, the processor will simply assign memory pages to the physical memory associ...
Optimizing Software Applications for NUMA: Part 4 (of 7)
By David Ott (Intel) Posted on 05/09/11 0
3. Strategies for NUMA Optimization Two key notions in managing performance within the NUMA shared memory architecture are processor affinity and data placement.3.1. Processor Affinity Affinity refers to the persistence of association with a particular resource instance, despite the availability ...
Optimizing Software Applications for NUMA: Part 3 (of 7)
By David Ott (Intel) Posted on 05/05/11 0
2. NUMA Advantages and Risks The advantage of the NUMA shared memory architecture is its potential to reduce memory access time in the average case. By providing each node with its own local memory, memory accesses can take place in parallel and avoid throughput limitations and contention issue...
Optimizing Software Applications for NUMA: Part 2 (of 7)
By David Ott (Intel) Posted on 05/02/11 0
Modern Processors Modern multiprocessor systems mix these basic architectures as seen in the following diagram: In this complex hierarchical scheme, processors are grouped by their physical location on one or the other multi-core CPU package or “node”. Processors within a node share access to me...
Optimizing Software Applications for NUMA: Part 1 (of 7)
By David Ott (Intel) Posted on 04/28/11 1
1. The Basics of NUMA NUMA, or Non-Uniform Memory Access, is a shared memory architecture that describes the placement of main memory modules with respect to processors in a multiprocessor system. Perhaps the best way to understand NUMA is to compare it with its cousin UMA, or Uniform Memory Acce...
Virtualization and Performance: Understanding VM Exits
By David Ott (Intel) Posted on 06/25/09 0
VM exits in response to certain instructions and events (e.g., page fault) are a key source of performance degredation in a virtualized systems. But have you ever wondered why? What exactly happens during a VM exit anyway? A VM exit marks the point at which a transition is made between the VM cu...
Understanding VT-d: Intel Virtualization Technology for Directed I/O
By David Ott (Intel) Posted on 06/25/09 6
"VT-d" stands for "Intel Virtualization Technology for Directed I/O". It is an Intel virtualization technology solution that provides hardware support for isolating and restricting device accesses to the owner of the partition managing the device.