Musing #60: PC Overclocking



Having grown up through the megahertz and subsequently the gigahertz war, I can only say that speed matters. Over the years, I fought to get the last ounce of performance out of the system that was "machinely" possible. This was the case until Sandy Bridge arrived. On one hand, it offered the most value for money in an eternity and on the other, set a trend where overclocking meant buying in to the most expensive processors and motherboards.

Hence, it was a practical decision at the time to go with the i5-3470, a processor with locked multiplier, along with a H77 chipset motherboard that was not meant to assist overclocking. It still offered the option to run all the cores at the turbo frequency of 3.6 GHz instead of the base frequency of 3.2 GHz and that is how it ran for nearly 6 years. It met every requirement I had of the system and a bit more so as to not be concerned about upgrading.

However, as is always the case, my hand was forced, like it was in the past when I upgraded to the GTX 1060. Only this time, I had no intention of upgrading the trio of processor, motherboard and RAM considering the inflated memory prices as well as with AMD's Zen 2 and Intel's 10nm processors around the corner. For the first time, I was left in a rather peculiar situation where I needed to change a component for a platform that has been discontinued for years.

Luckily, there is always the web that one can turn to. Scourging the tech forums for a desired motherboard is akin to hitting the lottery and sure enough I didn't luck out. Then, I decided to go with one of the B75 chipset motherboards that were still mysteriously available on Amazon, only to discover that they were OEM boards with a locked BIOS and lacking compatibility with my RAM. So, after I made the most of Amazon's gracious return policy, I decided to uptake the final resort and go ahead with the purchase of a used motherboard, admittedly with my fingers crossed, on AliExpress.

The shipment had its fair bit of drama over a period of 3 weeks but finally made its way through and was surprisingly well packaged. The absence of dust was a welcome sight, though the rusted socket screws immediately gave way to the fact that the board was used. All things considered, the motherboard was in good condition and thankfully the mounting bracket was included.


The board, an Asus P8Z77-V LX, opened up CPU overclocking opportunities in ages, albeit limited ones on account of my existing hardware. Overclocking can't be thought of in isolation as due consideration is needed to be given toheat. Intel's stock cooler is anything but the perfect foil for overclocking and hence I had to first stock up (pun intended) on an after-market cooler. For this, I again first turned to the used market and amazingly found an open box Deepcool Gammaxx 300 for INR 1200 ($17) as opposed to a new unit price of INR 2000 ($29). It isn't something on any ardent overclocker's wishlist but it gets the job done with its 3 heat pipes and a ginormous 120 mm fan.


To capture the difference that even a budget after-market cooler can make, I ran the stock cooler back-to-back with the Gammaxx 300 on the exposed motherboard. To check the stress temperatures, I simply bumped up the CPU multiplier over the default settings. Even in this setup, the Gammaxx 300 lowered the temperatures by over 20 degrees when under load while also ensuring a much lower idle temperature.


The bigger test however is ensuring lower temperatures in a constrained environment. In that sense, my cabinet (a generic old one at that) is not located in the most optimum position due to cabling constraints. Hence, I was expecting the temperatures to be much worst than they actually turned out to be. It also indicates that using the stock cooler was not even an option, unless you are looking for fried eggs and expensive paperweights.


Being out of the overclocking game for so long, I read up on the motherboard's features while the board was still in transit to fathom some of the newer terms and pretty much decided on a list of settings I would go around changing in my pursuit of performance with the lowest power consumption and heat generation. Thankfully, up until Ivy Bridge, Intel provided limited unlocked multipliers 4 bins above the maximum turbo frequency. This meant that my i5-3470 with a base multiplier of 32 and turbo multiplier of 36 was capable of being run at 40 multiplier. This doesn't imply that all 4 cores can simultaneously hit the 4 GHz mark as it is limited to 3.8 GHz by design. However, what it means is that it can certainly hit the magical 4G mark when one or two of the cores are loaded. I suppose there is some satisfaction in finally getting an old horse to learn new tricks.


Setting the multiplier at its maximum is easy and can even be done using the Auto or XMP overclock option. The difficult part is controlling the temperatures while also finding the limits of the RAM. To that end, I found the Load-Line Calibration to be an indispensable tool in tightening up the voltages and thereby lowering the offset. After much trial and error, I was able to set a stable CPU offset of -0.045V with the high (50%) LLC option which lowered the temperatures by a few more degrees and ensured next to no vDroop.

Running quad-channel RAM from different manufacturers is always a tricky proposition, even when the timings are the same. I had my initial CAS 9, DDR3-1600, 2 x 4 GB Corsair Vengeance teamed up with a similar GSkill RipjawsX set from 4 years later. This meant the job of overclocking the RAM was anything but easy and involved numerous failed boots. Eventually, I was able to get them to run stably at 1800 MHZ, CAS 10 with only a minor bump up in voltage to 1.53V. However, the impact on memory performance was not insignificant.

I suppose it makes sense to go all-in when you have entered the game. Hence, I decided to overclock my GPU as well. For over 2 years, I never overclocked the Zotac GTX 1060 Mini, being as it is, a single fan device. Size can be misleading though and the added CPU cooler certainly aids the overall air flow. It didn't take me long to figure out the memory isn't going to be up to the task, which is understandable considering it is not protected by a heat sink. In the end, I conservatively increased the memory clock by 100 MHz and the core clock by 200 MHz without touching the voltage.

A final tool available in pushing the clock even further is the base clock. Unfortunately, after setting up the overclock for all the other components, I found that the base clock increment to even 101 caused significant instability. Increasing the CPU and RAM voltage brought some modicum of stability but inexplicably reduced the performance across all benchmarks while simultaneously raising the temperature. Thus, there was no use pursuing this path any further.

The performance comparison presents of the overclocked system with the default one certainly provides some satisfaction. The XMP overclock is set to use the maximum CPU multiplier of 40 but it was unable to run the RAM at 1800 MHz at the same time. Going by the incredibly higher temperatures, it is obvious that the XMP overclock pushes the voltages a lot higher. The only upside here is that it is capable of running all the cores simultaneously at 4 GHz which produces a minuscule performance advantage. However, the manual settings are more than a match and come with a significant upshot in memory performance with much better thermals.


While the upshot in CPU and RAM performance is quite evident looking at the table, the GPU performance is not. As it happens, PCMark doesn't stress the GPU much whereas Hitman seems to be constrained by the CPU. Thus, the need of the hour was a GPU intensive benchmark which came in the form of Heaven. As can be seen in the results, the overclock results in an FPS improvement of over 8% compared to the stock speeds. At the same time, it makes sense to set a custom fan curve as it can keep the temperatures down under full load.


To round up the post, no overclock is worth its salt without a stress and torture test. The idle CPU temperature of 27 is pushed up to 63 by AIDA64's stress test and then stratospherically to 77 by Prime95's torture test. However, this is well within the processor's specifications and represents the worst possible scenario that normally doesn't manifest itself in the most taxing of daily use cases.


To conclude, this entire episode was brought about by an unforeseen failure in ageing hardware and hence the overclock exercise is strictly incidental, but the thrill of it as much as anyone would get when setting up a new system.

P.S.: If you followed my earlier post on Meltdown and Spectre, then you'd know it is something I thought of when buying the motherboard. Like with the ASRock boards, there was a helpful soul patching the unsupported Asus boards as well. However, when I went about flashing the BIOS, I found it to be incompatible due to the way it was packaged. Thankfully, Microsoft has fully patched Windows to support the latest microcodes from Intel (1F in the case of the i5-3470). It wasn't auto installed over Windows update and I had to manually install the KB4100347 patch for Spectre.

3 comments:

Anonymous said...

Well.....about that microcode update......time to burst another bubble....

If you are on win10 for i5-3470, you could wait for microsoft to provide new microcode update.........

The latest microcode update for Ivy Bridge is 0x20, (0x1F is outdated) (Source: https://www.intel.com/content/dam/www/public/us/en/documents/sa00115-microcode-update-guidance.pdf)
This new microcode provides protection (more MSRs) against Spectre-NG 2018-3640 Variant 3a Rogue System Register Read (RSRE) [This one is enabled in firmware and it is on by default as mentioned at https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/ADV180013] and 2018-3639 Variant 4 Speculative Store Bypass (SSB) [To enable SSBD = Speculative Store Bypass Disable, you will need to manually enable it in WIN10 as it is disabled by default, https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution , scroll down to section "Manage Speculative Store Bypass and mitigations around Spectre Variant 2 and Meltdown" ]

Just remember to install new speculation control version. Force it via "Install-Module SpeculationControl -Force"
More update on new Get-SpeculationControlSettings PowerShell script output at https://support.microsoft.com/en-us/help/4074629/understanding-the-output-of-get-speculationcontrolsettings-powershell


Plus, the new microcode also provides protection against FORESHADOW or known as L1 Terminal Fault (L1TF) https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv180018

More info on Foreshadow from microsoft https://blogs.technet.microsoft.com/srd/2018/08/14/analysis-and-mitigation-of-l1-terminal-fault-l1tf/
Since your Ivy Bridge doesn't have SGX or hyper threading.....I think only CVE-2018-3620 applicable to your CPU based on microsoft analysis.
Your Haswell CPU with hyper threading......the only SUREFIX for one of the Foreshadow vulnerability is....to disable HyperThreading. ~.~

Note: The performance penalty....sigh......

Sa Ma said...

Thanks for your insight once again and I certainly have plenty of bubbles to be busted. The Microsoft guidance you have linked to is for Windows Server and I was wondering whether it is in anyway applicable to Windows 10.

As for the microcode update for Foreshadow, I have no option but to wait it out since KB4346084 only patches Skylake upwards.

Anonymous said...

The Microsoft guidance is applicable to Windows 10 and 7 too. Doesn't matter which edition.

I also have another bad news for old spectre microcode.
If you transfer a file via LAN (local file sharing or networked drive), you will notice one particular CPU core out of four cores is maxed. Try to copy a large file between two computer via LAN. Open Windows Task Manager, go to CPU and change graph to Logical Processor. You will see the problem.

Apparently, if the CPU clock frequency is low enough (plus using old spectre microcode + mitigation enabled), one will not be able to saturate the 1Gbps LAN connection due to the 'one core being maxed issue'. For my laptop haswell 4200U 1.6Ghz (with SSD), I only got 50MB/s instead of usual 100MB/s (1Gbps) when using old spectre microcode.....

However, if one uses latest microcode, the one core being maxed issue seem to be alleviated with that one particular core cpu usage is half-ed compared to older spectre microcode when copying/transferring large file via LAN.


Sadly, I think it is time for us to buy a new system.........