Jump to content

We Saw Some Really Bad Intel CPU Bugs in 2015, and We Should Expect to See More in the Future

Just a repost from r/programming.

In case you aren't subbed to that.

 

http://danluu.com/cpu-bugs/

 

This is a low level assembly and c expert in memory stacks talking about how the quality of the intel microcode in their cpus is getting worse.

Most avx type instructions will cause unwanted behavior, this bug affects nearly 90% of programs that compile with intel compiler, gcc compiler with the intel optimizations, clang compiler with intel optimizations and the visualc++ compiler compiling ia32 intel specific code

 

Things haven’t looked so great on the engineering/bugs side of things, though. I don’t keep track of Intel bugs unless they’re so serious that people I know are scrambling to get a patch in because of the potential impact, and I still heard about three severe bugs this year in the last quarter of the year alone. First, there was the bug found by Ben Serebrin and Jan Beulic, which allowed a guest VM to fault in a way that would cause the CPU to hang in a microcode infinite loop, allowing any VM to DoS its host.

Basically this affects nearly all skylake and above processors and could continue to affect them.

 

Also the microcode infinite loop also affects amd, and ibm power processors.

 

Also some ex intel employees responded on the r/programming thread talking about their experiences in qa testing at intel.

https://www.reddit.com/r/programming/comments/41k3yx/we_saw_some_really_bad_intel_cpu_bugs_in_2015_and/

 

Also that infinite loop bug, is not actually a bug of implementation of the chips but rather an isa bug in the designing of the architecture, that's why they are present in x86 processors.

 

Potential future bugs could also affect users of the c implementations on bsd and linux due to them being better.

Link to comment
Share on other sites

Link to post
Share on other sites

still better than amd, kappa

IF YOU WANT ME TO REPLY TO YOU, QUOTE MY POST.

Fire Strike Score

5820K @ 4.8GHZ - 1.25v / Uncore @ 4.5GHZ - 1.2v / 3000MHZ G.skill 32GB Quad Channel / Asus Rampage V Extreme / 950 Pro Nvme / Sound Blaster ZxR  / 980 TI / Windows 7

 

Link to comment
Share on other sites

Link to post
Share on other sites

I am suddenly a lot happier I went with Haswell for BOTH desktop and laptop.

Archangel (Desktop) CPU: i5 4590 GPU:Asus R9 280  3GB RAM:HyperX Beast 2x4GBPSU:SeaSonic S12G 750W Mobo:GA-H97m-HD3 Case:CM Silencio 650 Storage:1 TB WD Red
Celestial (Laptop 1) CPU:i7 4720HQ GPU:GTX 860M 4GB RAM:2x4GB SK Hynix DDR3Storage: 250GB 850 EVO Model:Lenovo Y50-70
Seraph (Laptop 2) CPU:i7 6700HQ GPU:GTX 970M 3GB RAM:2x8GB DDR4Storage: 256GB Samsung 951 + 1TB Toshiba HDD Model:Asus GL502VT

Windows 10 is now MSX! - http://linustechtips.com/main/topic/440190-can-we-start-calling-windows-10/page-6

Link to comment
Share on other sites

Link to post
Share on other sites

still better than amd, kappa

Considering the fact that they are skimping qa testing to move forward. They will loose customers who need secure vms and cloud hosting

Thinking of ovh and digital ocean here..

They are worth billions of dollars to intel

Link to comment
Share on other sites

Link to post
Share on other sites

I am suddenly a lot happier I went with Haswell for BOTH desktop and laptop.

Haswell has bugs as well like any processor does, but as long as your os is kept safe, you should be fine from most of those bugs and exploits.

Link to comment
Share on other sites

Link to post
Share on other sites

I am suddenly a lot happier I went with Haswell for BOTH desktop and laptop.

Same for builds of friends, but then this was more of a budget choice since Skylake was just out then and the motherboards were very expensive, no budget options yet at the time.

Link to comment
Share on other sites

Link to post
Share on other sites

So what is the unwanted behavior ? I havent heard about it.

Link to comment
Share on other sites

Link to post
Share on other sites

Intel's software division must be a part of Comcast or TWC. Everything from compilers to drivers suck when it comes to intel. They are extremely slow to get anything out, and problems takes years for Intel to fix.

 

With Haswell's large errata disabling whole functions and now Skylake, yeah, Intel's quality has dropped significantly.

 

People talk about ZEN having to beat Intel in every way. Honestly as things are going, ZEN just needs to function somewhat to be better than Intel's offerings. Seriously Intel, you need to get your shit together.

Watching Intel have competition is like watching a headless chicken trying to get out of a mine field

CPU: Intel I7 4790K@4.6 with NZXT X31 AIO; MOTHERBOARD: ASUS Z97 Maximus VII Ranger; RAM: 8 GB Kingston HyperX 1600 DDR3; GFX: ASUS R9 290 4GB; CASE: Lian Li v700wx; STORAGE: Corsair Force 3 120GB SSD; Samsung 850 500GB SSD; Various old Seagates; PSU: Corsair RM650; MONITOR: 2x 20" Dell IPS; KEYBOARD/MOUSE: Logitech K810/ MX Master; OS: Windows 10 Pro

Link to comment
Share on other sites

Link to post
Share on other sites

Intel's software division must be a part of Comcast or TWC. Everything from compilers to drivers suck when it comes to intel. They are extremely slow to get anything out, and problems takes years for Intel to fix.

 

With Haswell's large errata disabling whole functions and now Skylake, yeah, Intel's quality has dropped significantly.

 

People talk about ZEN having to beat Intel in every way. Honestly as things are going, ZEN just needs to function somewhat to be better than Intel's offerings. Seriously Intel, you need to get your shit together.

The drivers team is pretty amazing their code in the linux kernel is very clean.

They have tons of shitty drm in all their chips, amd does as well.

Anyhow it's time for my boy riscv to rise up

Link to comment
Share on other sites

Link to post
Share on other sites

Just something you may want to look into but AMD has had major issues with bulldozer and piledriver as well.

Link to comment
Share on other sites

Link to post
Share on other sites

Just something you may want to look into but AMD has had major issues with bulldozer and piledriver as well.

I've got a list of them from the same guy.

https://libreboot.org/faq/#amdpsp

He's an arm expert as well.

 

Honestly riscv is the best solution , it's from berkley. They brought you c, unix , plan9.

Link to comment
Share on other sites

Link to post
Share on other sites

The drivers team is pretty amazing their code in the linux kernel is very clean.

They have tons of shitty drm in all their chips, amd does as well.

Anyhow it's time for my boy riscv to rise up

RISC is never going to overtake CISC in performance on a per-thread basis. The only thing interesting is IBM's use of 8-way SMT in Power 8 which has led to better total performance than Haswell Xeons for analytics tasks.

Software Engineer for Suncorp (Australia), Computer Tech Enthusiast, Miami University Graduate, Nerd

Link to comment
Share on other sites

Link to post
Share on other sites

Dammit, that's a very interesting site you linked there, now I'm going to be stuck for a while. :D

Side note: According to the News Posting guidelines: http://linustechtips.com/main/topic/11724-read-before-posting-in-this-section/

you're missing a quote from the source at the moment. If you wouldn't mind adding an small excerpt from that, that would be splendid. Thanks. :)

Anyway, I'm not really that surprised about this to be honest. I remember reading about AMD and Intel moving from mostly hand-designed circuits to machine-assisted circuit design a few years ago because things had just gotten too complex to keep fine-tuning everything by hand. Seems this is just a symptom of ever increasing complexity. One would hope that quality assurance methods would develop concurrently to address this issue, but apparently they do not. I wonder if this is inevitable, or if Intel & Co. just aren't throwing enough resources at this because they're cheap.

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

RISC is never going to overtake CISC in performance on a per-thread basis. The only thing interesting is IBM's use of 8-way SMT in Power 8 which has led to better total performance than Haswell Xeons for analytics tasks.

per thread basis is useless if you can have a simpler isa to write assembly in.

IBM are very competitive with their current isa offerings but they are not open source.

I think open source hardware is the only solution to real performance gains.

 

And using simpler isas to make abstraction layers a lot easier to understand and write for.

Link to comment
Share on other sites

Link to post
Share on other sites

per thread basis is useless if you can have a simpler isa to write assembly in.

IBM are very competitive with their current isa offerings but they are not open source.

I think open source hardware is the only solution to real performance gains.

And using simpler isas to make abstraction layers a lot easier to understand and write for.

A simpler ISA is inherently less powerful. This is why vector instructions have come to exist. Even most RISC ISAs are becoming for more complex than the RISC paradigm was ever intended for.

Software Engineer for Suncorp (Australia), Computer Tech Enthusiast, Miami University Graduate, Nerd

Link to comment
Share on other sites

Link to post
Share on other sites

Dammit, that's a very interesting site you linked there, now I'm going to be stuck for a while. :D

Side note: According to the News Posting guidelines: http://linustechtips.com/main/topic/11724-read-before-posting-in-this-section/

you're missing a quote from the source at the moment. If you wouldn't mind adding an small excerpt from that, that would be splendid. Thanks. :)

Anyway, I'm not really that surprised about this to be honest. I remember reading about AMD and Intel moving from mostly hand-designed circuits to machine-assisted circuit design a few years ago because things had just gotten too complex to keep fine-tuning everything by hand. Seems this is just a symptom of ever increasing complexity. One would hope that quality assurance methods would develop concurrently to address this issue, but apparently they do not. I wonder if this is inevitable, or if Intel & Co. just aren't throwing enough resources at this because they're cheap.

I completely agree.

But layers of complexity go against what computing really is easy lego, multiple layers of abstraction stacked onto each other being both simple and perform-ant

If you cannot qa test your products due to their complexity you might as well use another isa.

x86/ia32 needs to die.

Link to comment
Share on other sites

Link to post
Share on other sites

A simpler ISA is inherently less powerful. This is why vector instructions have come to exist. Even most RISC ISAs are becoming for more complex than the RISC paradigm was ever intended for.

Effectively the performance of the isa matters little if you can make code run faster on it due to it's complexity being reduced.

E.g the compiler could generate faster running assembly code if you're writing c.

 

Well I think general purpose computing isn't really needed. They could simply have a specific isa to each platform that's very simple. Cheaper, most efficient and delivers consistent improvements over time

Link to comment
Share on other sites

Link to post
Share on other sites

Also the microcode infinite loop also affects amd, and ibm power processors.

 

 also affects amd, and ibm power processors.

 

 

So it's not just an Intel problem.

CPU: AMD Ryzen 7 3700X - CPU Cooler: Deepcool Castle 240EX - Motherboard: MSI B450 GAMING PRO CARBON AC

RAM: 2 x 8GB Corsair Vengeance Pro RBG 3200MHz - GPU: MSI RTX 3080 GAMING X TRIO

 

Link to comment
Share on other sites

Link to post
Share on other sites

"Also the microcode infinite loop also affects amd, and ibm power processors."

 

Which ones?

I have no way to confirm which lines of cpus are affected but any piledriver and older cpus could be affected.

Link to comment
Share on other sites

Link to post
Share on other sites

Also the microcode infinite loop also affects amd, and ibm power processors.

 

 also affects amd, and ibm power processors.

 

 

So it's not just an Intel problem.

 It affects Ciscy isas.

To what extent I don't know.

I'm no expert on IA32 by any means.

Link to comment
Share on other sites

Link to post
Share on other sites

I completely agree.

But layers of complexity go against what computing really is easy lego, multiple layers of abstraction stacked onto each other being both simple and perform-ant

If you cannot qa test your products due to their complexity you might as well use another isa.

x86/ia32 needs to die.

Yeah, being unable to properly QA your product doesn't really seem like a very viable business strategy to me. Most of the time your bugs may be comparatively small, or so hard to exploit that they won't be widely used, but at some point probability would dictate that something big is going to happen, and it's going to happen because you didn't do proper QA. That is not a position I would want to be in as a business. Let alone as a person making business decisions who might be on the hook for damages and all that if my signature is on some document stating that our product is okay.

As for x86, well, I doubt we're going to see it die any time soon. Technical merits and faults aside, I don't really see it as a realistic economic possibility considering how deeply entrenched it is and how much depends on it. But I suppose we shall see in the next few decades. Not that I would be against replacing it, but considering how much effort that would require I'm not very hopeful.

EDIT: Though even non-x86 based chips are going to improve in complexity, so these issues might persist in one form or another no matter what.

/EDIT

And thanks for adding quote.

Edited by alpenwasser

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

Ivy bridge FTW !

AMD Ryzen R7 1700 (3.8ghz) w/ NH-D14, EVGA RTX 2080 XC (stock), 4*4GB DDR4 3000MT/s RAM, Gigabyte AB350-Gaming-3 MB, CX750M PSU, 1.5TB SDD + 7TB HDD, Phanteks enthoo pro case

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×