RAM Requirements for High End Systems
With the arrival of Skylake earlier this year, many are looking into Intel's latest platform. This requires not just a Core i7-6700K or Core i5-6600K processor, but also a new Z170 motherboard and DDR4 memory.
Even with current memory prices, there is still a premium to pay of between 20% to 40% for DDR4 memory versus DDR3, but regardless of moving to Intel's new platform and DDR4, the question of the amount of RAM to use still remains.
What is the performance difference between using 8GB or 16GB of RAM?
When developing a high-end Core i7 system with a high-end GPU and a fast SSD, the 16GB memory kit is going to be one of the smaller considerations.
However, developing a Core i3 / i5 system with the on-board graphics or using a low end graphics card; knowing if the extra 8GB of memory is going to be of benefit is an important consideration.
Current productivity applications can consume upwards of 4GB, so there is little argument for not going with at least 8GB of memory. However, the need for 16GB of memory is a hotly debated topic.
Below are a number of benchmark tests, which indicates where this much memory might be useful for power users.
Test System Specification
Skylake Performance PC
In reality, it is difficult to find any commonly used programs that require more than 4GB system memory on its own.
As an example, a Windows 10 desktop machine, with two browsers open and over a dozen tabs between the two, Postbox email client, Adobe Photoshop, Microsoft Word and Excel, two IM clients, Sublime Text, an SFTP application, Plex Server, Dropbox, OneDrive, Malwarebytes and other system tools running in the background, then multi-tasking between programs, the RAM usage would max out at around 70%.
Once there is 'enough' memory for all applications to run, having more memory does not increase performance any further. What that means is that for most regular work, there is no tangible performance difference between 8GB and 16GB of system memory.
Among the programs tested, Adobe Premier CC proved to be very demanding as showcased below:
This custom workload features a 17 minute video made up of dozens of small clips, images and audio tracks. To maximize system memory usage the bitrate was turned right down and this saw a total system memory usage of 12GB when encoding.
With 16GB of memory installed the workload took 290 seconds. Surprisingly, with just 8GB of RAM the encoding time was not greatly impacted, now taking 300 seconds. It was not until the system memory usage was dropped to just 4GB that a massive drop in performance can be seen, 38% slower than the 8GB configuration to be exact.
Moving on to 7-Zip... the normal benchmark default is to use a 32MB dictionary, which is generally enough to represent true compression performance. It should be noted that when compressing a number of files that measure in the gigabytes then a much higher dictionary size would be preferred. Larger dictionaries often make the process slower and require more system memory but result in a smaller file (better compression).
When testing with a 32MB dictionary, the Skylake Core i7-6700K processor is good for 25120 MIPS and this test only requires around 1.7GB of available system memory. Doubling the dictionary size to 64MB requires 3.1GB and 128MB requires 6.1GB.
For the test a 512MB dictionary size was used. This overwhelmed the system memory as it requires 24GB of available system memory for operation. The system then has to rely on the Windows Pagefile to pick up the slack. The more data that needs to be loaded onto the SSD the slower the system becomes.
With 16GB of RAM the system is still able to produce 9290 MIPS where the 8GB configuration is over 3x slower.
Looking at the kilobytes per second data we see that the 8GB configuration is 11x slower than the 16GB configuration.
While having 16GB is a real advantage here, an extreme and unlikely scenario had to be created. Those looking at compressing with such a large dictionary would likely realise the need for more system memory and go with 32GB of RAM.
Graphics and Workstation Performance Group
SPEC/GWPG (Graphics & Workstation Performance Group) is a non-profit corporation formed to establish, maintain and endorse a standardised set of relevant benchmarks that can be applied to the newest generation of high-performance computers. SPEC develops benchmark suites and also reviews and publishes submitted results from member organisations and other benchmark licensees. The group supports the development of a range of graphics and workstation benchmarks that have a value to the user and vendor communities.
The Standard Performance Evaluation Corporation's SPECwpc V1.2 benchmark does not feature many tests that are relevant for the average user, but here are some of the few benchmark programs that occasionally exceeds 8GB of memory.
Blender is free/open source 3D creation software which is commonly used by professionals all around the world.
Unfortunately while it can be a heavy user of RAM, theSPECwpc test only pushed the entire system usage to 6.1GB, so is not ideal for looking at the difference between 8GB and 16GB of RAM. There is not even a significant drop off when using just 4GB of memory either.
Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) is a classical molecular dynamics code that is distributed under open source GPL terms. The LAMMPS Molecular Dynamics Simulator test did see system memory usage reach 10.5GB in the SPECwpc test, so it is ideal for looking at the difference between 8GB and 16GB of memory.
Here we see that performance was improved by 10%, which is not a significant difference, though we are only exceeding the 8GB memory capacity by 31%. A much larger deficit can be seen when comparing 4GB to 8GB, as the larger memory capacity offered 306% more performance.
NAMD is another molecular dynamics application designed for high-performance simulation of large biomolecular systems.
The workload pushed system memory usage to 7.2GB, which wasn't enough to overwhelm 8GB of memory and in fact the 16GB configuration was not even 10% faster than the 4GB configuration.
SPECwpc categorises Rodinia as a product development benchmark and is designed to help system architects study emerging platforms such as GPUs (Graphics Processing Units).
Rodinia includes applications and kernels which target multi-core CPU and GPU platforms.
Rodinia was included because it pushed system memory usage to 9.5GB, but despite exceeding 8GB of memory being used, the 16GB configuration was just 4% faster.
For those developing new systems or considering the upgrade to 16GB, the answer is simple: do not bother unless you have a specific requirement driven by software. For general usage there is no advantage to be had by using 16GB of RAM.
Even applications such as Adobe Premier CC that pushed system memory usage to 12GB, there was little advantage using 16GB of system memory instead of 8GB. It was noted though, that a significant drop off was seeen when lowering the system memory to just 4GB. Users who do encoding will appreciate having at least 8GB of memory.
Just one of the SPECwpc tests provided a performance advantage when using 16GB of memory, though the margin was not significant. Anyone running professional grade software would probably not be concerned with the extra cost of the system memory anyway.
The only application that really benefited from 16GB was 7-Zip, but a big dictionary size had to be used, to create heavy RAM demand. Given that a 128MB dictionary only requires around 6GB of memory, it seems unlikely that many would require more.
Virtualisation is a very different situation however, since these types of applications require dedicated resources away from the host PC. If more than one VM is running, or other related specialised work, it's safe to say much more RAM will be required.
This obviously does not apply to regular PC usage.
Overall, 8GB is seen as the standard right now, while 16GB of RAM is only essential for specific high-demand scenarios.