Last week the technology industry and many of our customers learned of new vulnerabilities in the hardware chips that power phones, PCs and servers. We (and others in the industry) had learned of this vulnerability under nondisclosure agreement several months ago and immediately began developing engineering mitigations and updating our cloud infrastructure. In this blog, I’ll describe the discovered vulnerabilities as clearly as I can, discuss what customers can do to help keep themselves safe, and share what we’ve learned so far about performance impacts.
The basic gist here is this: the older your processor and the older your Windows version, the bigger the performance impact will be. Windows 10 users will experience a smaller performance impact than Windows 7 and 8 users, and anyone running Haswell or older processors will experience a bigger impact than users of newer processors.
I really wish they had given more data. Other parties have provided benchmarks:
As expected, IO intensive workloads incur the highest penalties for invoking frequent syscalls while CPU-bound processes that don’t cross the effected code paths incur almost none at all. For IO bound processes like databases with random access, the performance is just abysmal.
I have not found any studies that actually compare performance between CPU generations, the ones above were for a brand new system. Microsoft says:
Again, no data; I’d prefer to be shown, rather than being told. Anyways, from the vague information we’ve got about intel’s patch, it seems that they were able to disable speculative execution specifically for indirect references. Indirection is a crucial component of many object oriented languages like C++, disabling it shouldn’t effect windows and linux that much, but I’m very curious how well polymorphic code scores under intel’s patch? Alas, all my computers are too old to be supported by intel’s patch so I cannot test it.