Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

configuring "unganged memory" in sandybridge

balu_r_0212
Beginner
637 Views

How does one configure or enable "unganged memory" in sandybridge. By "unganged memory", it implies that each core gets a dedicated memory controller. Assuminig there are dual memory controllers on sandybridge, how do i assign them for two different cores (one-is-to-one fashion).

AMD supports "unganged memory" which can be enabled in BIOS. How to do this for intel family of processors.

0 Kudos
4 Replies
joe-griffin
Beginner
637 Views
I have used "numactl" to assign specific memory and processors.
0 Kudos
balu_r_0212
Beginner
637 Views

Hi Joe.

Thanks for your response.

I am looking for information as to how we can configure the Intel processor chipset/registers so that we can setup "unganged memory".I need to know which processor/chipset registersthat i can play around with in order to ensure that each core gets a dedicated memory controller.

Thanks
Balu

0 Kudos
TimP
Honored Contributor III
637 Views
According to the references I see, "unganged" access is analogous to "NUMA" mode which was not the default on past Intel servers, but typically is default on recent models. It's not normally described in the terms you present; it's true that you want all memory references from a given core to proceed through a single memory controller, as in NUMA mode. Other cores on the same CPU will share that memory controller.
You would need to check which options on data interleaving, if any, are present in your BIOS setup. If there is no such option, you can expect that NUMA mode is in effect.
If you are writing a BIOS, there are BIOS writer's guides for each CPU model which require extraordinary access not granted to the general public.
As other answers hinted, you use thread affinity features to keep a thread attached to a single memory controller in NUMA mode.
0 Kudos
joe-griffin
Beginner
637 Views
If I turn on NUMA in the BIOS ( which is now often the default ) I use the following to attach memory:

numactl --cpunodebind=1 --membind=1 BINARY_EXECUTABLE_NAME

For certain types of runs, I get about a 15% speedup with that. Your milage may vary.
0 Kudos
Reply