Announcement

Collapse
No announcement yet.

Buying a server: Separate memory for each processor?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Buying a server: Separate memory for each processor?

    Well, I have been tasked with buying a new server for our Oracle tax database and run across something I didn't know about.
    We will be going with HP, 32 gigs of ram and 24 HDs.
    The HDs are for spindle count not volume, they will be on three controllers.
    They will be 145gig, 15000 rpm SAS drives.

    Also, some combination of processors to get us to 8 cores, which is what we are licensed for. Even the slowest available will be plenty fast enough, IO is our bottleneck.

    The box will be running 64 bit Oracle Linux.

    But, what does it mean that they ask for a ram amount for each processor rather than a total amount? Do the processors have access to all the ram, or just what they are attached to? That doesn't make sense to me.

    Thanks,
    Chuck

    PS I've never had occasion to shop for a server before, so any advice would be appreciated.
    Chuck
    秋音的爸爸

  • #2
    AMD CPUs since K8 and Intel CPUs since Nehalem have NUMA (non-uniform memory access). Basically, memory controller resides in CPU and CPUs have interconnects to communicate among themselves. On NUMA multi-CPU systems certain amount of memory is attached to each CPU. If OS and apps are NUMA aware they try to keep processes on the core where the allocated memory of that process is, because memory bandwidth from the local controller is much higher than going over CPU interconnect bus to the memory attached to another core.

    In your case the Linux is probably NUMA aware but since Oracle will be IO bound, NUMA won't make much difference, except if you have several databases and it will be smart enough to keep them and cache on same cores.

    Otherwise when shopping for servers: It's best to standardize on one big OEM (HP, IBM, Dell), depending on response time, flexibility, configuration (some have better configs in certain segments), management tools, price... Also blades are to be considered - here IBM owns the market, HP is 2nd, others (Dell, Cisco, Tyan...) are niche players. Make sure you get decent warranty/care pack, HP and IBM will generally replace parts in same or next day IME, not much experience with others.

    In your case it's best to talk to the app vendor, who will have more experience with performance of database. For instance in one of our cases we made some app for Telecom, performance sucked untill they bought some 500k Sun server for Oracle - the storage had 32GB of cache.

    Also with that much storage - there are not many 24-spindle enclosures, you're probably going with separate storage and separate server. You can get blades with loads of RAM (128GB per blade), if you plan adding more servers soon, strongly consider blades with storage. Just research your needs well as once you go with one vendor for blades it's very hard to switch.
    Last edited by UtwigMU; 9 May 2009, 15:06.

    Comment


    • #3
      That's interesting. Thanks.
      I'll just go with 32 gigs evenly divided.

      They will be HP servers.
      We will get 5 years of 4 hour 24/7 warranty.
      Chuck
      秋音的爸爸

      Comment


      • #4
        What about this scenario:
        I would like to scavenge* a couple of core licenses so I get 1 quad and one dual.

        Do I get twice the ram for the quad core as the dual?


        *Oracle DB Enterprise licenses are amazingly expensive and done on a per core basis.
        Chuck
        秋音的爸爸

        Comment

        Working...
        X