Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

tant

macrumors newbie
Original poster
Dec 29, 2016
2
0
Hi All,

I plan to buy used Mac Pro (mid 2010) with 2 processors but I am not sure how Mac manage RAM between these 2 processors. For example, if I have 32GB (8X4GB) RAM with 8 cores (2 quad-core processors) will I be able to access all 32GB per core, or is it 16GB per processor (in which case a core may access max 16GB)?

Thanks
 
Hi All,

I plan to buy used Mac Pro (mid 2010) with 2 processors but I am not sure how Mac manage RAM between these 2 processors. For example, if I have 32GB (8X4GB) RAM with 8 cores (2 quad-core processors) will I be able to access all 32GB per core, or is it 16GB per processor (in which case a core may access max 16GB)?

Thanks
There's one pool of RAM visible to every core/thread. It's just like a single socket multi-core system in that regard - it just has more cores and potentially more RAM.
 
  • Like
Reactions: tant
There's one pool of RAM visible to every core/thread. It's just like a single socket multi-core system in that regard - it just has more cores and potentially more RAM.
To elaborate - although there is one pool of RAM visible to every core, in fact the usual case is that half of the RAM is attached to one CPU socket, and the other half to the other CPU socket. (Half and half is not required, but is a best practice.)

This means that a given core (or thread) has slightly faster access to RAM that's attached to its socket, and slightly slower access to RAM that's on the other socket. The program accesses all memory exactly the same - no special code to reach "far" memory - but a small performance hit.

For most applications the cache masks this small imbalance. While contrived benchmarks can show a more significant performance hit - for most applications the effect is negligible.
 
  • Like
Reactions: tant
To elaborate a bit further. Each of the CPUs has 3 channel RAM access. Therefore the RAM nearest the CPU is accessed by that CPU. The third and forth slot are tied together, and if RAM is only installed in the fourth slot, you won't see it. The best performance happens when only the first three slots are populated with the same speed and density RAM modules. If you populate all 4 slots, you take a very slight performance hit.

Lou
 
Yes, each core can see all of the memory, all 32Gb in your example. There may be small discrepancies in access time, as described by the preceding posters, but as far as visibility goes, all of the memory can be seen by all cores in all processors.
 
  • Like
Reactions: tant
Thank you very much guys!
Now it's much easier to spend the money and get the beast :) !
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.