The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Dual CPU Desktops and RAM

    Discussion in 'Desktop Hardware' started by Kyle, Mar 30, 2019.

  1. Kyle

    Kyle JVC SZ2000 Dual-Driver Headphones

    Reputations:
    1,758
    Messages:
    992
    Likes Received:
    575
    Trophy Points:
    106
    I am looking to get a Dell precision 7920 desktop.

    I was looking at some dual CPU configs, and I read somewhere that a CPU can only address 12 ram slots. So if I config a build with 128GB ram (assuming they are split evenly between the CPU territories), a CPU, and hence a thread can only address 64GB?

    In case the above is true, suppose I move the ram around so that one CPU can now adress 96GB and the other 32GB. In this case, when I run an application, how can I direct it to my CPU of choice? This is in linux.
     
  2. rlk

    rlk Notebook Evangelist

    Reputations:
    146
    Messages:
    607
    Likes Received:
    316
    Trophy Points:
    76
    Short answer: don't worry about it. If one CPU needs to access memory on a different CPU, it can do so, but with a performance penalty. This is called non-uniform memory access (NUMA).

    But Linux in a normal setup does understand NUMA and will try to co-locate threads (including processes) with memory on their associated CPU, to minimize the NUMA penalty.
     
    Kyle likes this.
  3. rlk

    rlk Notebook Evangelist

    Reputations:
    146
    Messages:
    607
    Likes Received:
    316
    Trophy Points:
    76
    BTW, unless you know exactly what you're doing (details of your workload, how the kernel places threads, how to place particular processes/threads on particular CPU or CPU sets), split your RAM symmetrically between the sockets (64 and 64). Otherwise it may be difficult for the kernel to co-locate memory and CPU threads.
     
    Kyle likes this.
  4. Kyle

    Kyle JVC SZ2000 Dual-Driver Headphones

    Reputations:
    1,758
    Messages:
    992
    Likes Received:
    575
    Trophy Points:
    106
    Thanks, I was not aware of NUMA.
    So a dual CPU config would allow a thread to access all 24 ram slots, this is great :)
     
    Last edited: May 9, 2019
  5. rlk

    rlk Notebook Evangelist

    Reputations:
    146
    Messages:
    607
    Likes Received:
    316
    Trophy Points:
    76
    Yes. Access to remote memory will typically be slower than to local memory, but short of actually timing memory accesses, your application won't know about it.

    And for the most part, the kernel will usually do a pretty good job of co-locating memory with the CPU using it. It won't be perfect, but unless you know exactly what your memory access patterns are and that the kernel won't get it right, there's no point in doing anything about it yourself.
     
    Kyle likes this.
  6. ssj92

    ssj92 Neutron Star

    Reputations:
    2,446
    Messages:
    4,446
    Likes Received:
    5,690
    Trophy Points:
    581
    Ah I had a dual CPU set-up once, Mac Pro with 2 Quad-Core CPUs.

    It's a nice set-up, maybe even more useful in today's time where things slowly become able to use more cores/threads.

    Like @rlk said, 64GB in CPU1 and 64GB in CPU2 and you'll be fine.

    Which dual CPUs are you looking at?
     
    Kyle likes this.
  7. Kyle

    Kyle JVC SZ2000 Dual-Driver Headphones

    Reputations:
    1,758
    Messages:
    992
    Likes Received:
    575
    Trophy Points:
    106
    I'm somewhat flexible on the CPUs, depends on what is available in outlet stock. Xeon Silver 4114 or better. RAM is what is important to me more. I want 32GB or bigger rdimms/lrdimms so that I have the option of upgrading to 0.75TB or more ram later on. A somewhat decent graphics card would be nice :)

    Question: if I get a single CPU config, can I still access all 24 memory slots or only 12? In an HP Z8 or Dell precision T7920.
     
  8. ssj92

    ssj92 Neutron Star

    Reputations:
    2,446
    Messages:
    4,446
    Likes Received:
    5,690
    Trophy Points:
    581
    If I remember correctly, you can only access the memory slots dedicated to the CPU so you can only access 12/24.

    I could be wrong or they could have changed things since the Core 2 Quad based Xeon days (what I used)

    Maybe @rlk knows the answer to this
     
    Kyle likes this.
  9. rlk

    rlk Notebook Evangelist

    Reputations:
    146
    Messages:
    607
    Likes Received:
    316
    Trophy Points:
    76
    Per the configuration page ( https://www.dell.com/en-us/work/sho...r/spd/precision-7920-workstation/xctopt7920us), you can only use up to 12 DIMMs with a single processor. This is because the second processor is what provides the memory controller to access the other 12 DIMMs over the interconnect.
     
    Kyle likes this.