7 ms·
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 prob
by simias 9y ago
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 and do 99% of my daily tasks except maybe compile C++ or Rust code.
The problem of course is that it's probably a very niche market at the moment. Most people probably don't really understand what's at stake and might not even care either way. As such I don't expect that people could manufacture open CPUs and sell them at a reasonable price. So you'd end up with overpriced, under-powered CPUs which won't drive adoption.
I can't imagine such a project being successful if it's not backed by a big company or a government. I kind of wish the European Union would try its hand at it, after all computing is absolutely critical these days (and it's only going to get more critical as time passes) yet we're completely dependent on american and chinese companies to provide us with CPUs. If the EU thought that Galileo was worthwhile to have our own positioning system certainly it also makes sense to have our own CPUs for critical tasks?
- bringtheaction 9y ago> 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 I used a couple of Single Board Computers as my main computers for a while a couple of years back and it was really quite painful. Especially web browsing.
- meuk 9y agoThe web (by that I mean most browsers and most web pages) is designed for hi-end devices. Text-based browsing also ought to be possible, but often doesn't work well in practice because it's not a common use case, and so it's not something that developers consider in the design process.
- simias 9y agoYeah I actually considered that while writing my original comment, it's true that even on a low-end smartphone nowadays browsing certain websites is extremely frustrating. That being said is it really reasonable that the modern web requires multi GHz CPUs, GB of RAM and allowing a turing-complete scripting language everywhere to be able to browse most websites? Is it reasonable that the web is so complex now that effectively nobody but a few giant companies can invest the time and resource to write and maintain the millions of lines of code of a modern browser?
- Certhas 9y agoWhy not? The operating system is the device driver/HAL. The Browser is the operating system. The webpage is the application.
- simias 9y agoBecause not all webpages are meant to be applications. HN need not be an application. Google search results need not be an application. GMail and Facebook might be for better interactivity. At least 90% of the websites I browse everyday are static text with a few pictures (who still feature copious amounts of javascript to work around the limitations of HTML/CSS and to track me and serve me ads). Would you consider installing and running dozens of random untrusted 3rd party applications every day on your real OS even if they were (somewhat poorly) sandboxed? Because that's what the modern web is like. I wouldn't mind opting-in to additional "interactive" features for webapps that I want to trust but having everybody (including 3rd parties of 3rd parties of the website I'm browsing) run code on my computer when I'm on some random webpage is just insane when you take a minute to think about it.
- hajile 9y agoHN is fast enough on an old 600MHz A8 processor from 8 years ago. In fact, multimedia aside, basically every static site that doesn't overdo the CSS will be fairly fast on fairly old processors. Gmail or Facebook aren't the problem. People could be convinced to use desktop apps for them fairly easily (just like they do on their phones). The issue is all the other one-off apps. Users can't be bothered to go and download some random app, so the company runs that app in the browser. You simply cannot fight that level of market pressure.
- meuk 9y agoThere are many open source processors that are available for synthesis on FPGA's (see opencores.org). The cost/effort of deployment is just much higher.
- qznc 9y agoRussia has the Baikal CPU based on MIPS. China has Loongson also MIPS.
- walterbell 9y agoCan either be purchased online by customers outside of those countries?
- lambda 9y agoYou used to be able to buy Lemote Yeeloong notebooks, which in addition to having Loongsong processors had completely free software BIOS, making them one of the only RMS approved pieces of hardware. But I'm not seeing those readily available any longer.
- justincormack 9y agoI believe you can still get them but its not as easy.
- hajile 9y agoChina is invested in almost everything. Phytium or Rockchip for ARM (large and small respectively). FeiTeng Galaxy FT-1500 runs openSPARC. ShenWei Sunway series runs Alpha. Suzhou PowerCore runs openPOWER. I can only imagine they have a bunch of work going into RISCV too.
- petra 9y agoARM recently mentioned working on IP that you could turn off features to increase security. Probably will eat little silicon, so could be cheap.Intel may copy. And since it's ARM, it's at least half-open. Cloud providers will be interested - slower cpu's = more money, plus selling the cloud as a more secure option to your data center. And once you have a cpu that with a hardware switch can become more secure but slower, maybe there's a decent enough niche somewhere.
- d33 9y ago> And since it's ARM, it's at least half-open. What do you mean by that?
- petra 9y agoARM did release a very detailed, machine checkable specification(that they themselves use to verify security with), to everybody: https://news.ycombinator.com/item?id=14174533 https://news.ycombinator.com/item?id=14174533
- jonathanstrange 9y agoState actors and the EU are not reliable actors insofar as security that goes beyond their own needs is concerned. They will put backdoors and key escrow into the systems. That's the real problem with an open platform, whether it's about hardware or about software. To get enough funding, support, and manpower an open secure platform initiative would have to get entangled with global players that simply do not have the ultimate privacy and security of all citizens in mind. It's primarily a political issue.
- lazyjones 9y agoIt's not a worthwhile project when 99% of your vulnerabilities are in the software and nearly all of them need you to run untrusted software to be exploited. "Browsing the web" is not likely to become a task that can satisfy high security requirements ever again. Too much cruft gets added to browsers faster than it can be thoroughly audited. If you need absolutely no CPU bugs (including bad design decisions "working as intended"), take a well-understood, possibly older design like 680x0 or MIPS and run it on an FPGA.
- fghtr 9y agoQubesOS is dealing with the problem you describe. It implements security through isolation. But the vulnerabilities in CPU break everything.
- lazyjones 9y agoThe approach is helpful, perhaps not very practical (do I maintain N different browser installations in my qube for N different tasks, or is it a single installation where malware can therefore affect all qubes?). But remember that OS and libraries have plenty of bugs too.
- nine_k 9y agoI suppose that an OS running transparently on an actual cluster of many independent cores, not linked even by a common L2 cache, could allow to separate security domains much more reliably. Single-thread performance would suffer, though, unless you're ready to pay quite a lot. And it's still hugely important in many cases.
- harlanji 9y agoThere is a Linux scheduler option for cpuset accessible via cgroups iirc, that pins execution to a set of cores. I've not used it.
- lambda 9y agoWhy give up on performance? IA-64 (https://en.wikipedia.org/wiki/IA-64#Architecture 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 think that it was probably introduced ahead of its time, and targeted at the wrong markets, but it's kind of sad that with the Spectre vulnerabilities, we don't have any way of comprehensively addressing it in software without jumping through a lot of hoops and applying microcode updates.
- simias 9y agoIf you're not only concerned about bugs but also about people inserting backdoors into your hardware it's not enough to have access to the architecture design, you want to be able to publicly audit and review the entire manufacturing process (to make sure that the design you audited is actually the one etched on the silicon). I doubt Intel & friends would open their high-end fabs to public scrutiny so I think you'd have to use older technology available "in the open". For this reason alone I don't think a truly open processor could compete directly performance-wise with the current high-end CPUs regardless of architectural choices.
- deepnotderp 9y agoMost Itanium implementations had hardware branch predictors+predicates.
- Symmetry 9y agoTo 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.
- deepnotderp 9y agoI'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.
- agumonkey 9y agoI deeply believe that a good set of simple processors (cpu, gpu, apu) could lead to a vastly simpler software layer. Lots of issues are down to market competition, lies and spec distortion; also double driver games (see the pre vulkan era).
- RandomCSGeek 9y agoAFAIK, Indian govt is supporting research for RISC-V based CPUs, but they are not general purpose, but meant to decrease huge import spending on processors for embedded systems and other specialized requirements. As you said, 99% people don't care about security. It's hard enough to get people to use ddg over google, making them use open source processor thats likely slower and costlier would be practically impossible.
- dirkt 9y agoHave a look at Risc V [1], in the meantime backed by quite a few biggish companies [2] [1] https://riscv.org/ https://riscv.org/ [2] http://www.tomshardware.com/news/big-tech-players-risc-v-architecture,36011.html http://www.tomshardware.com/news/big-tech-players-risc-v-arc...
- em3rgent0rdr 9y agoCrowdSupply has an ardrino-compatible risc-v board you can order very cheaply. [1] [1] https://www.crowdsupply.com/sifive/hifive1 https://www.crowdsupply.com/sifive/hifive1
- riffraff 9y agoARM is a UK company isn't it? Also, minor electronic manufacturers like STM are still around in europe, I think. No big foundries but it seems there is enough competition to survive a shut off of a single partner, unlike the GPS case.
- BaronVonSteuben 9y agoI think this is the first time I've heard advocated that a government should be in the business of chip design. We're a long way from the days of John Locke and enlightenment liberalism.
- microtherion 9y ago"modern lithography" is what brought us rowhammer.
- Avshalom 9y agoThe J-Core (based on SuperH ISA so already supported by GCC) project http://j-core.org/ http://j-core.org/ specifically called out being able to audit everything up an down being a motivating factor https://www.youtube.com/watch?v=lZGHbMS882w https://www.youtube.com/watch?v=lZGHbMS882w