Link: What has your microcode done for you lately?

March 24, 2019

What has your microcode done for you lately? (via) starts out being about the low-level performance of scattered writes on x86 machines but develops into a story where, well, I'll just quote from the summary:

Where the microcode comes in, and what might make this more interesting than usual, is that performance on a purely CPU-bound benchmark can vary dramatically depending on microcode version. In particular, we will show that the most recent Intel microcode version can significantly slow down a store heavy workload when some stores hit in the L1 data cache, and some miss.

I found the whole thing fascinating and I feel it deserves a wider audience. It's a bit challenging to follow if you don't already know some of the details of low-level CPU and memory access operation (it casually throws around terms like RFO), but working to understand it was interesting and taught me things, and I quite enjoyed the coverage of the issues involved in scattered write performance.

(Of course one has to speculate that the slowdown on recent microcode is due to either deliberate changes due to all of the speculative execution issues or side effects from those changes.)

Comments on this page:

Thanks for the mention!

I take seriously your note that it's a bit hard to follow for the uninitiated, and I've added a glossary now which I included in old articles including this one, and just now I've gone ahead and defined RFO there.

This doens't solve the problem but perhaps it makes life a bit easier for the semi-casual reader.

Written on 24 March 2019.
« A bit more on ZFS's per-pool performance statistics
Prometheus's delta() function can be inferior to subtraction with offset »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Mar 24 13:21:11 2019
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.