Memory Scaling on Haswell CPU, IGP and dGPU: DDR3-1333 to DDR3-3000 Tested with G.Skillby Ian Cutress on September 26, 2013 4:00 PM EST
‘How much does memory speed matter?’ is a question often asked when dealing with mainstream processor lines. Depending on the platform, the answers might very well be different. Similar to our comparisons with Ivy Bridge, today we publish our results for 26 different memory timings across 45 benchmarks, all using a G.Skill memory kit.
In our previous memory scaling article with an Ivy Bridge CPU, the results of memory testing between DDR3-1333 to DDR3-2400 afforded two main results – (a) the high end memory kit offered up to a 20% improvement, but (b) this improvement was restricted to certain memory limited tests. In order to be more thorough, our tests in this article take a single memory kit, the G.Skill 2x4GB DDR3-3000 12-14-14 1.65V kit, through 26 different combinations of memory speed and CAS latency to see if it is better to choose one set of timings over the other. Benchmarks chosen include my standard array of real world benchmarks, some of which are memory limited, as well as several gaming titles on IGP, single GPU and multi-GPU setups, recording both average and minimum frame rates.
The Problem with Memory Speed
As mentioned in the Ivy Bridge memory scaling article, one of the main issues with reporting memory speeds is the exclusion of the CAS Latency, or tCL. When a user purchases memory, it comes with an associated number of sticks, each stick is of a certain size, memory speed, set of subtimings and voltage. In fact the importance of order is such that:
1. Amount of memory
2. Number of sticks of memory
3. Placement of those sticks in the motherboard
4. The MHz of the memory
5. If XMP/AMP is enabled
6. The subtimings of the memory
I use this order on the basis that point 1 is more important than point 3:
- A system will be slow due to lack of memory before the speed of the memory is an issue (point 1)
- In order to take advantage of the number of memory channels of the CPU we must have a number of sticks that have a factor of the memory channels (point 2), known as dual channel/tri channel/quad channel.
- In order to ensure that we have dual (or tri/quad) channel operation these sticks need to be in the right slots of the motherboard – most motherboards support two DIMM slots per channel and we need at least one memory stick for each channel
- If the MHz of the memory is more than CPU is rated for (1333, 1600, 1866+), then the user needs to apply XMP/AMP in order to benefit from the additional speed. Otherwise the system will run at the CPU defaults.
- Subtimings, such as tCL, are used in conjunction with the MHz to provide the overall picture when it comes to performance.
A user can go out and buy two memory kits, both DDR3-2400, but in reality (as shown in this review), they can perform different and have different prices. The reason for this will be in the sub-timings of each memory kit: one might be 9-11-10 (2400 C9), and the other 11-11-11 (2400 C11). So whenever someone boasts about a particular memory speed, ask for subtimings.
G.Skill DDR3-3000 C12 2x4GB Memory Kit: F3-3000C12D-8GTXDG
For this review, G.Skill supplied us with a pair of DDR3 modules from their TridentX range, rated at DDR3-3000. This is at the absolute high end of memory kits, with very few memory kits going faster in terms of MHz. Of course, in this MHz race, it comes at a price premium: $690 for 8 GB. This memory kit uses single-sided Hynix MFR ICs, known for their high MHz numbers, and while there are large heat-spreaders on each stick, these can be removed reducing the height from 5.4 cm to 3.9 cm.
Hynix MFR based memory kits are used by extreme overclockers to hit the high MHz numbers. Recently YoungPro from Australia took one of these memory sticks and hit DDR3-4400 MHz (13-31-31 sub-timings) to reach #1 in the world in pure MHz.
Intel Core i7-4770K Retail @ 4.0 GHz
4 Cores, 8 Threads, 3.5 GHz (3.9 GHz Turbo)
|Motherboards||ASRock Z87 OC Formula/AC|
Intel Stock Cooler (pre-testing)
|Power Supply||Corsair AX1200i Platinum PSU|
|Memory||G.Skill TridentX 2x4 GB DDR3-3000 12-14-14 Kit|
|Memory Settings||1333 C7 to XMP (3000 12-14-14)|
|Discrete Video Cards||
|Video Drivers||Catalyst 13.6|
|Hard Drive||OCZ Vertex 3 256GB|
|Optical Drive||LG GH22NS50|
|Case||Open Test Bed|
|Operating System||Windows 7 64-bit|
|USB 3 Testing||OCZ Vertex 3 240GB with SATA->USB Adaptor|
With this test setup, we are using the BIOS to set the following combinations of MHz and subtimings:
Almost all of these combinations are available for purchase. For any combination of MHz and CAS, we attempt that CAS for all sub-timings, e.g. 2400 9-9-9 1T at 1.65 volts. If this setting is unstable, we move to 9-10-9, 9-10-10 then 9-11-10 and so on until the combination is stable.
There is an odd twist when dealing with DDR3-3000. In order to reach 3000 MHz, as Haswell does not accept the DDR3-3000 memory strap, we actually have to use the DDR3-2933 strap and boost the CPU speed to 102.3 MHz. This leads to a slight advantage in terms of CPU throughput when using DDR3-3000 which does come through in several benchmarks. In order to keep things even, our 4.0 GHz CPU has the multiplier reduced for 3000 C12 in order to keep the overall system speed the same, albeit with a slight BCLK advantage.
At the time of testing, DDR3-3000 C12 was the highest MHz memory kit available, but since then there are now 3100 C12 memory kits on the market taking price margins even higher at $1000 for 8 GB. The problem at this speed is the actual overclocking of the CPU aspect of the system will skew the performance results in favor of the high end kit.
For this test, we use the following real world and compute benchmarks:
CPU Real World:
- WinRAR 4.2
- FastStone Image Viewer
- Xilisoft Video Converter
- x264 HD Benchmark 4.0
- TrueCrypt v7.1a AES
- USB 3.0 MaxCPU Copy Test
- 3D Particle Movement, Single Threaded and MultiThreaded
- SystemCompute ‘2D Explicit’
- SystemCompute ‘3D Explicit’
- SystemCompute nBody
- SystemCompute 2D Implicit
- SystemCompute ‘2D Explicit’
- SystemCompute ‘3D Explicit’
- SystemCompute nBody
- SystemCompute MatrixMultiplication
- SystemCompute 3D Particle Movement
For what should be obvious reasons, there is no point in running synthetic tests when dealing with memory. A synthetic test will tell you if the peak speed or latency is higher or lower – that is not a number that necessarily translates into the real world unless you can detect the type and size of all the memory accesses used within a real world environment. The real world is more complex than a simple boost in memory read/write peak speeds.
For each of the 3D benchmarks we use an ASUS HD 6950 (flashed to HD6970) for the single GPU tests, the HD 4600 in the CPU for IGP, and a HD 5970+5870 for a lopsided tri-GPU test.
- Dirt 3, Avg and Min FPS, 1360x768
- Bioshock Infinite, Avg and Min FPS, 1360x768
- Tomb Raider, Avg and Min FPS, 1360x768
- Sleeping Dogs, Avg and Min FPS, 1360x768
Firstly, I want to go through enabling XMP in the BIOS of all the major vendors.
Post Your CommentPlease log in or sign up to comment.
View All Comments
ShieTar - Friday, September 27, 2013 - linkI think you would have to propose a software benchmark which benefits from actually running from a Ramdisk. Testing the RD itself with some kind of synthetic HD-Benchmark will not give you much different results than a synthetic memory benchmark, unless the software implementation is rubbish.
So if you want to see this happen, I suggest you explain to everybody what kind of software you use in combination with your Ramdisk, and why it benefits from it. And hope that this software is sufficiently relevant to get a large number of people interested in this kind of benchmark.
ShieTar - Friday, September 27, 2013 - linkTwo comments on the "Performance Index" used in this article:
1. It is calculated as the reverse of the actual access latency (in nanoseconds). Using the reverse of a physically meaningful number will always make the relationship exhibit much more of an "diminishing return" then when using the phyical attribute directly.
2. As no algorithm should care directly about the latency, but rather about the combined time to get the full data set it requested, it would be interesting to understand which is the typical size of a data set affecting the benchmarks indicate. If your software is randomly picking single bytes from the memory, you expect performance to only depend on the latency. On the other hand, if the software is reading complete rows (512 bytes), the bandwidth becomes more relevant than the latency.
Of course figuring out the best performance metric for any kind of review can take a lot of time and effort. But when you do a review generating this large amount of data anyways, would it be possible to make the raw data available to the readers, so they can try to get their own understanding on the matter?
Death666Angel - Friday, September 27, 2013 - linkFirst of all, great article and really good chart layout, very easy to read! :D
But one thing seems strange, the WinRAR 3.93 test, 2800MHz/C12 performs better than 2800MHz/C11, but you call out ...C11 in the text as performing well, even though anyone can increase their latencies without incurring stability issues (that's my experience at least). Switched numbers? :)
willis936 - Friday, September 27, 2013 - linkI too thought this was strange. You could see higher latencies clock for clock performing better which doesn't seem intuitive. I couldn't work out why those results were the way they were.
ShieTar - Friday, September 27, 2013 - linkIn reality, there really should be no reason why a longer latency should increase performance (unless you are programming some real-time code which depends on algorithm synchronization). Therefore it seems safe to interpret the difference as the measurement noise of this specific benchmark.
Urbanos - Friday, September 27, 2013 - linkexcellent article! i was waiting for one of these! great work, masterful :)
jaydee - Friday, September 27, 2013 - linkGreat work, I'd like to see a future article look at single-channel vs dual channel RAM in laptops/mITX/NUC configurations. With only two SO-DIMM slots, people have to really evaluate whether or not you want to fill both DIMM slots knowing you'd have to replace both of them if you want to upgrade but able to utilize the dual channels, or going with a single SO-DIMM, losing the dual channel but having an easier memory upgrade path down the road.
Thanks and great work!
Hrel - Friday, September 27, 2013 - linkHow do you get such nice screenshots of the BIOS? They look much nicer than when people just use a camera so what did you use to take those screenshots?
merikafyeah - Friday, September 27, 2013 - linkProbably used a video capture card. These are also used to objectively evaluate GPU frame-pacing in a way that software like FRAPS cannot.
Rob94hawk - Saturday, September 28, 2013 - linkModer BIOS allow you to upload screenshots to USB. My MSI Z87 Gaming does it. No more picture taking. It's a great feature long overdue!