Live data from Hacker News

Putting out the hardware dumpster fire

dl.acm.org

21–30 of 115 posts

Re: Putting out the hardware dumpster fire

#21
post #5

One long-term project I’m planning is actually a fully open source desktop computing platform. While originally meant as a learning project, I realized a few years ago Ben Eater[0] has done this in a way far superior to anything I could create myself, so I started focusing on very basic hardware, beginning with power supplies. My goal ultimately is to select a processor that is as close to open source as possible, de…

Does the Talos II not fit this already?

Who wants to spend tens of thousands of dollars for that?

Re: Putting out the hardware dumpster fire

#22
I've noticed the trend of ever-increasingly complex hardware with little or no change in performance since the 90s, and ranted about it extensively since I joined HN. I think we're past considering the problem from a technical perspective and need to look at the conspiratorial forces involved.

To me, the problem is one of monopoly and corporate thinking. When Intel and AMD make most of the chips, we end up with a Coke vs Pepsi mentality. There may be a hundred other hungry manufacturers, but without access to capital they'll never get enough traction to scale.

Around 2000, FPGAs were set to go mainstream and let us design CPUs of our own, but Xilinx chose to keep them proprietary so they never evolved. It's unfortunate that the company most capable of thwarting the status quo is the one propping it up. But they were trendsetters, that's how it's going with all things tech now.

Then Nvidia mostly monopolized the GPU industry and sent us down the SIMD rabbit hole. So we can process large vector buffers at great personal effort ..and that's about it.

What I and I think a lot of people probably want is a return to big dumb processors. Something like a large array of RISC-V cores with local memories connected via content-addressable memory and copy-on-write that presents a symmetric, unified address space that can be driven with traditional desktop programming languages. Had a CPU like this kept up with Moore's law, we would have had a 10 core machine in 2000, a 1,000 core machine around 2010 and a 100,000 core machine today, reaching between 1 million and 10 million cores by 2030. Which shows just how incredibly slow CPUs are vs what they could be.

The situation is so bad that I've all but given up on things ever improving. I mostly think about getting out of programming now and going back to living a normal life in the time I have left. Because the writing is on the wall: SIMD will deliver a narrowly conceived notion of neural network AI that's "good enough" and will stop all further evolution of CPUs. We'll miss out on the dozen or so other approaches like genetic algorithms and be forever separated from simple brute-force methods that "just work". The AI will soon be like Mrs. Davis and the vast majority of people will be face-down in their phones, then connected neurologically. The arrival of WALL-E and Idiocracy will coincide with the destruction of the natural world by 2100 and that will be that.

The argument really comes down to centralized control vs distributed resilience and freedom. It's pretty obvious which one we have right now, and that it's getting worse each year. Now I look on each headline with growing weariness, picking up on which mistakes will be doubled down on, which kool-aid they want us to drink this time. Because without the intervention of at least one successful internet lottery winner, or a concerted effort by thousands of hobbyists, there's simple no viable path from where we are now to where we could be, making the vast majority of the work we do a waste of time in the face of the potential we might have had.

It's hard to write anymore without sounding like a fringe lunatic projecting frustration on a world that is blissfully unaware that anything's even wrong. I'm probably wrong for doing so. Just another reason to probably get out of this business.

Re: Putting out the hardware dumpster fire

#23

Earlier quoted context omitted.

Most electrical components have traditionally had open datasheets. It is only a relatively recent phenomenon that mass market ICs are locked behind NDAs.

i only hit NDA on secure element chips and similar things. 99% of my embedding work is plain ol mcus w reams of datasheets available. i do not do pc stuff tho

One common component where things are really secretive is with flash storage. This is because the underlying physical components are pretty commodified, and the software/firmware (like block virtual addressing) is where brands actually distinguish themselves. It's kind of unfortunate since there's a lot of really cool stuff you could do with more control over the hardware like reducing the size of a failing disk to extend its life instead of complex wear-leveling techniques.

Re: Putting out the hardware dumpster fire

#24
post #13

Earlier quoted context omitted.

> He makes a very compelling case for greatly expanding the concept of an operating system into all of the hardware in a given computing environment. I haven't watched the presentation, and just glanced at the paper, but while I see how this would be an improvement, I'm not sure if giving operating systems all that power would be an absolutely good idea. While I certainly don't trust the firmware that runs on my devi…

"Dumpster fire?" You are too kind. It's a cesspool, and a leaky one a that. Mostly Microsoft fault, and it has been now known to be getting worse.

>Mostly Microsoft fault,

It's the lack of capability based security, and a common tragic misunderstanding of what it is, that is the root cause of this dumpster fire. This effects all operating systems in common use, including all versions of Linux, Mac OS, Windows, etc.

Imagine if your only choice to buy an ice cream cone was to give the other person full access to your checking account, forever. That's what phones do, and as a result, we've learned to call that a "capability"

Imagine taking out a $5 and handing it over to pay for that ice cream... the most you can lose, ever, is $5. That is what capability based security does. You interactively chose what side effects you'll allow (by picking bills out of your wallet), at the time of purchase.

For desktop apps, like an office suite, all you have to do to port code over is change the calls to file selection dialogs (which return a list of file names) to "powerbox" calls (which return handles), then use those handles instead of directly opening the files. The user doesn't see any difference in behavior, but they are now firmly in control of things, instead of your program.

Re: Putting out the hardware dumpster fire

#25
post #7

I thought that when the Intel Management Engine implementation details (hidden Minix!) were released that it would only be a matter of time for a "Full FOSS" movement within enthusiast communities. I was wrong, it seems. There hasn't even been a push for an affordable 802.3ab gigabit ethernet card with an FPGA.

Ethernet card built from a FPGA or one with an FPGA on the side? Because in both questions your talking about the fact that there are basically three companies providing FPGAs and none of them seem particularly interested in killing their high margin markets. Worse the "DPU" crowd are largely selling about $100 worth of compute for $3k+ because it has an attached 100G port.

OTOH I assume the next step for the icestorm/etc folks once they actually have a reasonable toolchain working on the lattice parts is to actually find a company willing to produce a low cost open FPGA and write the backend bits to work with the toolchain.

Similarly there are various open ethernet mac projects floating around, although AFAIK none of them actually have been fabbed into something a random consumer can buy.

So much of this is really just the broken VC model in the US, no one is interested in funding stable but low margin businesses when they can gamble on high risk/reward ones. And banks won't loan people money without some kind of collateral. I suspect you have to look to China/etc at this point for to fill in the "sell a crapload with little margin" business (ex: lenovo). Making it sorta inevitable that they steamroll everyone, because if there is one truth in the tech field, its the guy with the most volume tends to win long term.

Along those lines, the Si consolation has really been a negative in may aspects of the market. If one could still buy current generation PCIe switches for less than the price of an entire computer it would still be possible to find motherboards that have shared device bandwidths (aka a half dozen x4 m.2 slots, or three x16 slots that aren't electrically just x4s) all hung off a x16 gen4/5 slot. Which is really the scam here, at least in my case I have a number of Gen3 parts which would all work great behind a single Gen4 x16 port with a switch port but instead I have to waste gen4 slots on gen3 devices.

Re: Putting out the hardware dumpster fire

#26
post #16

Are vertically-integrated SoCs (Apple Silicon, NVIDIA Tegra, etc.) subject to the “OS only controls part of the hardware” problem? I always figured that in these systems, there would be power-efficiency and BOM-cost pressure to “de-vendor” the SoC by replicating IP-core functionality with logic merged into firmware or a few larger service cores — or even kernel daemons run on the efficiency cores of the application p…

> or even kernel daemons run on the efficiency cores

When (not if) the kernel scheduler locks up while the fans are slow/stopped at the same moment some scheduled user process begins driving 250W+ through a CPU the isolated fan controller (not to mention isolated thermal throttling logic, also independent of the OS) has great value.

> If this doesn’t happen—why doesn’t it?

Hardware evolves faster than operating systems and has complex requirements of which operating systems are oblivious, and there is no world where device manufacturers and consumers will tolerate being gated on operating system evolution. These complications have to run somewhere so independent processing elements appear and grow. This pattern delivers ever crucial compatibility by hiding new complications from legacy operating system interfaces.

The only path I can imagine that would change this paradigm requires a.) greatly increasing the reliability and security of operating systems to the point where they can be trusted not to fail and damage hardware or corrupt things and b.) generalizing all known and future hardware and operating system interfaces such that hardware drivers (which, due to the more rapid evolution of hardware, do not enjoy the long term maintenance cycle of operating systems) can be highly portable, both across platforms and forward. Both of these requirements are "Hard" as in we have only begun to achieve this in primordial ways.

Re: Putting out the hardware dumpster fire

#27
post #14

I think one of the primary reasons that it is such a dumpster fire is there traditionally hasn't been an "open" ecosystem in the hardware world, though now they are being forced towards that direction kicking and screaming. Every part of the hardware ecosystem has traditionally been done in closed, NDA ridden environments and only over the last 5-10 years has that even started to change. Designing chips has required…

Most electrical components have traditionally had open datasheets. It is only a relatively recent phenomenon that mass market ICs are locked behind NDAs.

It really depends on the complexity. Sure, 555 timers and even microcontrollers have datasheets. CPUs that run Linux, Wifi chips supporting recent standards, etc.? Rare. This is why Linux in the 90s was a big pain; you get some random Ethernet chip and there is no documentation on how to talk to it, so you're just dead in the water. (I think Android was the turning point. From then on, stuff had to support Linux, because Mobile was the future and Apple wasn't going to buy your chip. But of course, "works on Linux" means that it works in the hardware vendor's 3-year-old version of Linux. And "works" is always up in the air when hardware vendors start writing code.)

When I worked on embedded devices, we would report bugs and the vendor would send us new datasheets with updated known issues; updated to include the issue we reported. Or we'd do something like "the datasheet says it can handle a 100MHz clock but it's very unreliable" and they'd send back a datasheet saying it only supports 50MHz. That's the reason that datasheets are closed, every customer gets their own datasheet.

The more you get into higher margin stuff, be it hardware or software, the more you'll run into datasheets or branches just for you. It is weird and inefficient. But cheaper than testing it yourself.

Re: Putting out the hardware dumpster fire

#28

Earlier quoted context omitted.

i only hit NDA on secure element chips and similar things. 99% of my embedding work is plain ol mcus w reams of datasheets available. i do not do pc stuff tho

One common component where things are really secretive is with flash storage. This is because the underlying physical components are pretty commodified, and the software/firmware (like block virtual addressing) is where brands actually distinguish themselves. It's kind of unfortunate since there's a lot of really cool stuff you could do with more control over the hardware like reducing the size of a failing disk to e…

If I'm ever going to get on the conspiracy theory bandwagon, it will be on two topics:

1) Return to office.

2) Why we need a dedicated CPU and DRAM attached to flash memory. You can garbage collect and wear level in your OS if you want to. Manufacturers say "no, we have a super secret secret sauce that nobody else could possibly improve upon". Uh huh, sure.

Re: Putting out the hardware dumpster fire

#30
I'm not sure what fire has been put out here. IMO, a more convincing proof for the usefulness of this approach would be that it allows to find whole new classes of exploitable vulnerabilities that can then be corrected ahead. That's how static code analysis tools typically demonstrate their value. Without such proof, the description that they make of a hardware platform is mentally interesting but not clearly useful.
Post reply on HN