Questions tagged [numa]

NUMA stands for Non Uniform Memory Access. It is a general linux term indicating that the hardware has multiple memory nodes, and that not all processing units have equal access to all memory.

NUMA stands for Non Uniform Memory Access. It is a general linux term indicating that the hardware has multiple memory nodes, and that not all processing units have equal access to all memory.

As processors become faster and faster, proximity to memory increases in importance for overall computing performance. NUMA systems address this problem by building closer connections between specific computing resources and memory.

307 questions
6
votes
1 answer

How to find the L3 cache index and NUMA node index for the current hardware thread

I'm building a topological tree of sockets, NUMA nodes, caches, cores, and threads for any Intel or AMD system in C. Building this hierarchy, I want to ensure hardware threads are grouped together appropriately so it's clear who precisely shares…
6
votes
3 answers

How to get the pagesize of a memory segment just from a virtual address?

Linux can have both standard 4KiB page memory and 1GiB (huge) paged memory (and 2MiB pages, but I don't know if anyone uses that). Is there a standard call to get the page size from an arbitrary virtual address? The pointer could be pointing to 4K…
Mark Lakata
  • 19,989
  • 5
  • 106
  • 123
6
votes
0 answers

mbind: how to uniformly interleave existing segment on all nodes?

Using mbind, one can set the memory policy for a given mapped memory segment. Q: How can I tell mbind to interleave a segment on all nodes? If done after allocation but before usage, MPOL_INTERLEAVE on all nodes will do what we expect -- memory will…
João Neto
  • 1,732
  • 17
  • 28
6
votes
1 answer

Is it possible for a user process to tell the OS to relocate the mapping done by mmap to other NUMA node?

Consider this scenario: a user process running on a NUMA machine calls mmap to creates a new mapping in the virtual address space. It then uses the memory returned by mmap for its processing (storing its data,...). Now for some reasons, the user…
Bao Bui
  • 185
  • 2
  • 6
6
votes
2 answers

What does node distances in numactl mean?

I'm trying to understand what node distances in numactl --hardware mean? On our cluster, it outputs the following numactl --hardware available: 2 nodes (0-1) node 0 cpus: 0 1 2 3 4 5 12 13 14 15 16 17 node 0 size: 32143 MB node 0 free: 188 MB node 1…
tandem
  • 2,040
  • 4
  • 25
  • 52
6
votes
1 answer

Optimize socket data transfer over loopback wrt NUMA

I was looking over the Linux loopback and IP network data handling, and it seems that there is no code to cover the case where 2 CPUs on different sockets are passing data via the loopback. I think it should be possible to detect this condition and…
jxh
  • 69,070
  • 8
  • 110
  • 193
6
votes
1 answer

NUMA systems, virtual pages, and false sharing

As I understand things, for perfromance on NUMA systems, there are two cases to avoid: threads in the same socket writing to the same cache line (usually 64 bytes) threads from different sockets writing to the same virtual page (usually 4096…
Z boson
  • 32,619
  • 11
  • 123
  • 226
6
votes
2 answers

Which architecture to call Non-uniform memory access (NUMA)?

According to wiki: Non-uniform memory access (NUMA) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to a processor. But it is not clear whether it is about any memory…
klm123
  • 12,105
  • 14
  • 57
  • 95
6
votes
1 answer

NUMA-aware named shared memory for Linux

The Windows API offers the CreateFileMappingNuma function (http://msdn.microsoft.com/en-us/library/windows/desktop/aa366539(v=vs.85).aspx) to create a named shared memory space on a specific NUMA node. So far, I have not found an equivalent function…
Ben
  • 203
  • 1
  • 2
  • 8
5
votes
4 answers

Do you anticipate the CLR to adapt NUMA soon?

Seems like NUMA is promising for parallel programming, and if I am not wrong the current latest cpus have built-in support for it, like the i7. Do you anticipate the CLR to adapt NUMA soon? EDIT: By this I mean having support for it, and taking…
Joan Venge
  • 315,713
  • 212
  • 479
  • 689
5
votes
2 answers

Synchronizing access to MPI3 shared memory : is this code guaranteed to work by MPI standards?

The MPI-3 standard introduces shared-memory, that can be read and written by all processes sharing this memory without using calls to the MPI library. While there are examples of one-sided communications using shared or non-shared memory, I did not…
nat chouf
  • 736
  • 5
  • 10
5
votes
1 answer

C++ NUMA Optimization

I'm working on a legacy application initially developed for multicore processor systems. To leverage multicore processing OpenMP and PPL have been used. Now a new requirement is to run the software on systems with more than one NUMA-node. The…
Quxflux
  • 3,133
  • 2
  • 26
  • 46
5
votes
3 answers

How can I numactl membind a process inside Docker container?

I have an Intel Xeon Phi 64-core CPU with 16GB on-chip memory set as NUMA node 1. I want to bind a process running inside a Docker container to this NUMA node, but it errors out: root@Docker$ sudo numactl --membind 1 python script.py Error:…
Kingua
  • 223
  • 3
  • 10
5
votes
1 answer

OpenMP Memory Allocation on NUMA Processor

I am currently trying to speed up a simple matrix subtraction benchmark with OpenMP on the Maestro processor, which has a NUMA architecture and is based on the Tilera Tile64 processor. The Maestro board has 49 processors arranged in a…
Shaun Holtzman
  • 201
  • 2
  • 9
5
votes
1 answer

NUMA aware Cpp Container

Is there a convenient and efficient way to use the cpp standard container API in a NUMA aware fashion? I would like to do an OpenMP parallel sparse Matrix Vector multiplication in a cpp environment. To allocate and initialize the vector and matrix…
1 2
3
20 21