The CPU is the most significant item on your spec sheet while you are buying a computer. These days, selecting one has become more difficult owing to the rise in server cores. You can purchase servers with hundreds of cores nowadays. But what does it mean, and how many are you in need?
Intel used to create enterprise-class mainstream CPUs that did only one thing at a time. They were going to take a queue order, process it and then move on. Increasing clock speed, which is the frequency at which electricity flowed through the chip, will improve efficiency. The quicker the frequency, the easier instructions could be interpreted. It will also manufacture chips using smaller transistors, which improves efficiency as well.
Not being compliant with these two things. Just until electrical interference begins to weaken the chip 's efficiency, can you push clock speeds too high, and the interference worsens as components get smaller. Thus the company delved into parallel computing at the beginning of the 2000s.
It all started with hyper-threading. This provides the operating system with a single physical CPU as two logical 'core's. It makes use of internal logic to behave as if each chip shares the load. While one chip is waiting for an instruction to finish executing, the other chip is going on with another.
Intel and others have since launched multi-physical-core processors. Servers have always been fantastic at managing users' various requests by placing them in a queue. The queue is still there but now several cores can process queries at once to service them quicker, just as the local store increases the amount of checkouts.
So it's nice to have more cores, right? Well, yeah, but it's trickier to scale server CPUs than you would expect. You can't just put more core in a box and expect it to scale out. Here are some things to consider:
You need to consider your workload before measuring your computing capacity, just as in any server sizing process. The metric is going to depend on your application. Concurrent users are also a good measure for web applications while batch analytics can need to take data volume and processing time into consideration. To find a reference, use the historical data from your current systems.
An application running on a server must support multiple physical core functions. Most are doing these days but first it's worth consulting with your vendor. Then it is necessary to check the criteria for their licencing. Most vendors licence their applications per-core, which means you'll pay more per-core.
With several virtual machines ( VMs) operating on a single physical unit, most IT shops these days can virtualize their workloads. Both of these would use a combination of the physical nuclei you identify.
Scale your physical CPU count by amount of VMs that you plan to run. A general rule of thumb is to run four virtual CPU (vCPU) VMs per physical core but there may be different specifications for particular workloads again.
Don't assign your physical cores to vCPUs entirely. You would need a physical spare core just in case both VMs need to request access to physical CPU power at the same time.
Other physical resources
Just as strong a physical foundation as the other computing tools that sustain it. It requires ample memory to do its work. Simply divide total device memory over the number of cores will give you the average per-core RAM count, but you can divide memory across each VM as you see fit. Vendors will also suggest a minimum memory count per core for various types of applications.
Similarly, make sure that each core has enough disc capacity to support all the VMs that you place on those core, with about 20% extra for handling stuff like VM snapshots (where you save a version of your VM to the disc so you can restore it later on).
Finally, be sure there's enough resource in the network. Multiple VMs can share a single network interface card ( NIC), but as workloads increase, it makes sense to install multiple NICs to maintain traffic from multiple VMs that will be powered by a higher core amount.
Your core server count will eventually rely on your particular IT environment and workloads, but at least this guide offers some factors to consider.