Sat. Jan 21st, 2023

Features and implications of server CPU architecture

Performance

Servers typically have to work harder than client machines – for one thing, they must service the requests of as many clients as are connected.

Some of the useful features for server CPUs are fairly obvious, and are geared towards improving performance and throughput in a similar manner to a workstation CPU:

  • Increase the clock speed
  • Increase the number of cores

Both of these suggestions allow the CPU to complete more work in a fixed time period; Microsoft notes that in cases where the CPU is the limiting factor for completion of work, doubling the clock speed will result in a bigger gain than doubling the number of cores. However, there is obviously a limit to the clock speed, and so at some point, the only option becomes increasing the core count.

Another tactic is to use CPUs with larger caches – for instance, Intel manufactures a series of CPUs called ‘Xeon’ which are geared towards servers and high-end workstations. A typical Xeon CPU may have as much as 30MB of cache – much more than a desktop CPU.

It is also common for server CPUs to include hardware for encryption and decryption, although it is increasingly common on consumer level CPUs now.

Features

Servers may also have to perform different sorts of functions to a normal desktop computer. Virtualisation is an increasingly commonly-used technology, that allows entire operating systems to run simultaneously on a single host. You can run Windows, but then have a full Linux installation running within a window, complete with its own ‘virtual’ CPUs, RAM, storage and so on.

For a home user, it may be enough to run a single Virtual Machine, but servers may need to run multiple VMs simultaneously – for instance, web hosts may use one physical server to provide eight or more virtual machines for use by customers – each VM operates as a stand-alone, isolated machine. In order to support this, server CPUs contain special virtualisation technologies that increase performance and just as importantly, ensure separation and security is maintained between VMs.