Server Memory vs CPU: What's more Important?

Photo courtesy of WikiMedia: Unattributed Wikipedia

It is an age old question - as old as computers themselves: what is more important, server memory or CPU? Answers go back and forth, depending upon who you ask, but the real answer is this: it depends on what you are trying to accomplish.

To really understand who wins the battle of server memory vs. CPU, you must understand not only how each functions, but how the two work together in a server environment versus a traditional desktop/laptop environment. I will discuss this in more detail in the sections below.

Understanding the CPU (Central Processing Unit)

In your standard computer setup, the CPU is responsible for helping your computer run applications, games, and the operating system, as well as taking in "instructions" from input/output devices like keyboards and mice. In a server setting, the role of the CPU is one of data flow, making sure information flows back and forth across a network. The CPU on a server is designed to work with fewer applications and with less attention to the OS and input devices. Instead, it is made to focus on repetitive tasks and directing the flow of traffic. If you have had the pleasure of trying to work off of an application server before, as I have, then you know there can sometimes be quite a difference in application speed versus running the same application in a desktop setting, particularly in a CPU-intensive piece of software, like a video-editing suite.

Understanding Server Memory

Server memory differs from your average desktop memory in a very crucial and important way - error correcting code. More commonly known as ECC, this type of memory stick is designed to handle memory errors before they reach the processor, in an effort to minimize the chance of a fault occurring (application failing, operating system crash, etc.). Because of the importance servers play in a business and mission-critical environment, they are created to have zero-fault tolerance. This means that if an error does occur, the server will continue functioning. When information or data is passed into (and out of) the ECC memory, it performs an error test. If the error test fails, it corrects the issue prior to sending the data onto the CPU.

In a standard desktop computer, this test and correction system is not used, and can lead to application and operating system failures (such as the dread blue screen of death). Desktop memory tends to be a bit faster, partially as a result of not having to test the data before passing it along, though it is debatable how noticeable this speed difference is.

How Server Memory and Ram Work Together

You can think of the relationship between server memory and a server's CPU as a symbiotic one - they both rely upon each other to function. Without the ECC RAM sending data to the central processing unit, the CPU has no instructions or data to execute or pass on. Also, as stated above, without the error checking and correction, the CPU will ultimately be set up for failure. Since servers operate in a 24/7 environment, errors can build up overtime causing a system crash. But the ECC memory ensures crashes do not occur based on data errors.

Because of this relationship, it is hard to say who wins in a server memory vs. CPU scenario. The ability to check and move data to the processor is equally as important as the ability for the CPU to take that set of data and instructions and act upon it. Ultimately you will want to have a good balance of both server memory and CPU speed, with neither taking a backseat to the other.

Links:

World's Largest Selection of Server Memory and Optics
877.623.2373