Multicore & Synchronization

Which describes a NUMA (non-uniform memory access) system?

  1. AEvery core reaches all memory in the same time
  2. BEach core has near and far memory, and accessing far memory takes longer
  3. CEach core can read only its own memory and cannot use other cores' memory
Show answer and explanation

Answer: B. Each core has near and far memory, and accessing far memory takes longer

In servers with multiple CPU sockets, for example, each socket has memory attached directly, and other sockets' memory is reached over inter-socket links. Far memory is therefore slower and has less bandwidth than near memory. All memory appears in one address space, so programs run unchanged, but placing data and threads on the same side improves performance.

  • A. That is uniform memory access (UMA).
  • B. Correct. Placing data in near memory matters.
  • C. Far memory is accessible, just slower.
Practice this topic Back to topic

More Multicore & Synchronization questions

  1. Under the first-touch policy common on Linux NUMA systems (a page is placed in the memory of the node where the thread first writing it runs), what should programmers watch out for?
  2. Which is NOT a reason a parallel program fails to scale as cores are added?
  3. When splitting loop iterations among threads, which division suits iterations whose costs vary widely?
  4. When several threads sum all elements of an array, which approach performs well?
  5. What is a characteristic of a reader-writer lock?