Live data from Hacker News

Is it time for open processors?

lwn.net

161–170 of 236 posts

Re: Is it time for open processors?

#161

Earlier quoted context omitted.

Do we really know that AMD is immune to Meltdown aside from trusting them? I mean, I reasonably trust AMD here. I don't see any reason why they'd lie about it. Plus, everyone in AMD seems super-confident that they're immune to the Meltdown issue due to how they implement speculative cache loads. But such analysis is purely within AMD's circle of engineers. None of us outside of AMD can verify their claims.

Do you really trust Airbus and Boeing with your life when you don't have all the blueprints of their planes?

Are you suggesting that we open up a government agency dedicated to the testing of CPU chips, and enforcing strict regulations?

The FAA and its set of safety regulations are written into US law. That's why airplanes are trustworthy and safe: more safe than other countries on the average.

https://www.faa.gov/aircraft/safety/ https://www.faa.gov/regulations_policies/handbooks_manuals/a...

Or do you think the US just MAGICALLY gets high safety results through sheer determination? There are systems in place, and I think it is reasonable to suggest that we should start building a system for computer-chip processors.

Open Source is one possible proposal. I'm not sure what other proposals exist to ensure that the internals of chips aren't compromised.

Re: Is it time for open processors?

#162
post #106

Earlier quoted context omitted.

Why give up on performance? IA-64 ( https://en.wikipedia.org/wiki/IA-64#Architecture ) already exists, with its explicitly parallel instruction set, which leaves branch prediction and speculative execution up to the software. So you can still get many of the performance benefits, but it's under control of the software, giving a lot more flexibility for being able to mitigate or eliminate these kinds of issues. I thin…

>targeted at the wrong markets What would have been the right ones?

I'm not sure exactly what would have been the right markets, but I think that something where legacy compatibility is less important and being open to experimentation and new software designs is more important. So, things like consoles (going up against things like the Cell processor), HPC, or maybe even the embedded space (tablets, etc), rather than trying to use it for the enterprise market as Intel and HP did, where running legacy pre-compiled applications is a really important use case.

Re: Is it time for open processors?

#163

Earlier quoted context omitted.

Almost all code today is written in languages that run in vms(java, .net), are interpreted (python, ruby, js), or easily compile across cpu architectures. Operating systems are a different story but changing the underlying ISA is really not a huge deal IME it’s harder to port to a new os than a new ISA.

A lot of code is, but are you really going to ignore C++, Go, Rust, etc? Most games are written in C++, as are most large desktop apps.

And you can be sure that every new ISA will have a port of GCC and LLVM, a Go compiler and everything else that's worthwile.

Re: Is it time for open processors?

#164
post #5

If we see further fragmentation of cpu architectures it's not going to be fun for users and developers. Already the fragmentation of OS makes that cross platform is a big challenge. It would make the equivalent of a .net/java/webassembly/posix critical.

> further fragmentation of cpu architectures "Fragmentation"?? We have a huge monoculture of Intel x86/x64 on the desktop, driven by Intel's fab advantage that smothered all alternative (and often superior) architectures. And recently, a second one has sprung up with ARM on mobile. And it hasn't really been good for the industry. Fortunately, the Windows monoculture in OSes has been broken, so much that MS wasn't abl…

I would add that today, as opposed to past periods of fragmentation, there are more widely adopted universal formats, standards, and protocols. So much so that as long as different systems can support just a few key pieces of software, they'd be largely useful — no matter what runs underneath.

Re: Is it time for open processors?

#165

Earlier quoted context omitted.

Most Itanium implementations had hardware branch predictors+predicates.

To get into trouble you have to be able to resolve one load and launch a new dependent one before the second load is quashed by the branch resolution. There exist in order pipelines that allow that, the Cortex-A8 for example, but they're pretty rare.

I'm just pointing out that Itanium had dynamic/hardware branch prediction and it's not necessarily immune to Spectre type exploits. As you mentioned, there are in-order scoreboarded pipelines that allow things like that, so dodging OoOE is not necessarily a perfect panacea.

Re: Is it time for open processors?

#166
post #106
post #72

Earlier quoted context omitted.

I'd pay good money for an open and simpler platform to run my security-critical tasks that don't require top performance. Auditing a modern high-end CPU is probably a huge task even if you have access to the HDL because of how complex they are. A simpler design (RISC, no out-of-order execution, basic branch prediction and prefetching...) ought to be fast enough with modern lithography to browse the web, send emails a…

Why give up on performance? IA-64 ( https://en.wikipedia.org/wiki/IA-64#Architecture ) already exists, with its explicitly parallel instruction set, which leaves branch prediction and speculative execution up to the software. So you can still get many of the performance benefits, but it's under control of the software, giving a lot more flexibility for being able to mitigate or eliminate these kinds of issues. I thin…

You're giving up on a ton of performance by dropping OoOE.

In particular, you end up losing the ability to avoid stalling on cache misses, and the memory wall becomes an increasingly gigantic problem even as Moore's Law progresses.

Re: Is it time for open processors?

#167
post #34

The problem is less about openness itself and more about quality of auditing. Open isn't a magic bullet. As I understand, these latest CPU vulnerabilities were in the spec themselves. You could've found them by reading the manual. See what good that did us. But I posit that open projects do better with audits than closed because they are more likely to have open audits as well, and an open audit is harder to ignore o…

I think there's a huge difference between "take an existing system design, and declare it open" and "design a system in the open". This article isn't suggesting Intel make x86 open to all, for example. You get a completely different design when something is designed behind closed doors as a black-box product, versus designed in the open.

Linux and Windows have drastically different designs, based on how they grew up. Early Mozilla releases were open-source, but still "bore the scars of many rapid cycles of closed-source development" [https://en.wikipedia.org/wiki/History_of_Mozilla_Application...]. From the recent news, it seems that StarOffice is finally becoming somewhat hackable for us mere mortals (who don't speak German). It's the process, more than the license. An open license enables an open process.

"Magic bullet" implies you've got something evil (x86, with bugs!) and want to magically transform it (x86, with no bugs?), but nobody is proposing that. It sounds more like they want to put Conway's Law to work for us (e.g., RISC-V).

Re: Is it time for open processors?

#168

Earlier quoted context omitted.

Do you really trust Airbus and Boeing with your life when you don't have all the blueprints of their planes?

Are you suggesting that we open up a government agency dedicated to the testing of CPU chips, and enforcing strict regulations? The FAA and its set of safety regulations are written into US law. That's why airplanes are trustworthy and safe: more safe than other countries on the average. https://www.faa.gov/aircraft/safety/ https://www.faa.gov/regulations_policies/handbooks_manuals/a... Or do you think the US just MA…

I am suggesting that other engineering disciplines produce much safer products without opensource and open design. How it is achieved is another question. Bridges are not safe because of any government agency but because mechanical engineers design them to be safe.

Re: Is it time for open processors?

#170
Remember heartbleed... While open cpu is a great idea, it's hard to say that an open cpu would have avoided the meltdown or spectre problem.

The meltdown/spectre vulnerability was there not because people didn't pay attention, it's because nobody thought of these optimization features as potential vulnerabilities. And honestly it's hard to blame anyone, these were really smart hacks!

Post reply on HN