Hacker News new | ask | show | jobs
by zackmorris 1685 days ago
I got my electrical and computer engineering (ECE) degree in 1999 from UIUC and learned everything but the very lowest-level chemistry, because I specialized in the VLSI (circuit design) side instead of fab. At that point, stuff like MIPS and the DEC Alpha were popular, and computers were just breaking the 1 GHz barrier.

Unfortunately the dot bomb happened right after I graduated, and the anti-intellectual backlash of the early 2000s killed independent research during the outsourcing era, which never recovered.

Sadly from my perspective, very little has changed in 20 years. Computers only reached about 3-4 GHz, and kept doubling down on single-threaded performance for so long that companies like Intel missed out on multicore. Only Apple with their M1 seems to have any will to venture outside of the status quo. The future is going to be 256+ symmetric cores with local memories that are virtualized to appear as a single coherent address space. But that could take another 20 years to get here.

Meanwhile we're stuck with SIMD now instead of MIMD, so can't explore the interesting functional paradigms. Basically I see the world from a formal/academic standpoint, so I think in terms of stuff like functional programming, synchronous blocking communication, ray tracing, genetic algorithms, stuff like that. But the world went with imperative programming, nondetermistic async, rasterization, neural nets.. just really complicated and informal systems that are difficult to scale and personally I don't think much of. Like with software, honestly so much is wrong with the hardware world right now that it's ripe for disruption.

Also hardware was a dying industry 20 years ago. We wanted fully programmable FPGAs to make our own processors, but they got mired in proprietary nonsense. There really isn't a solution right now. Maybe renting time at AWS blah.

I feel a bit personally responsible for the lackluster innovation, because I wasn't there to help. I wasted it working a bunch of dead end jobs, trying to make rent like the rest of you. And writing text wall rants on forums that nobody will ever read anyway. So ya, don't be like me. Get involved, go work for a startup or a struggling company that has the resources to fix chips, and most importantly, have fun.

5 comments

> Meanwhile we're stuck with SIMD now instead of MIMD…

What about multi-core/multi-threading combined with massively out of order CPUs? Intel and AMD’s chips have a dozen or so execution ports. So you can have your PADD running on one port, and a PMUL on another. It just happens all being the scenes.

Intel tried a VLIW architecture with Itanium, but it was a flop for a variety of reasons. One of which was the lack of “sufficiently smart compilers”. There’s also the benefit to all the nuances of execution being in hardware: programs benefit from new CPUs without having to be recompiled. It has a much more intimate knowledge of how things are going than the software does (or even the compiler).

>Only Apple with their M1 seems to have any will to venture outside of the status quo

I find this an interesting opinion considering that the M1 is really just "The same, but a bit larger" - IE slightly higher performance at a higher cost.

What exactly do you see with the M1 that makes it so different?

Well you're right, the M1's unified memory is not technically that much different, but it's a start. And I don't like the mix of components either. They seem to be copying previous trends, like when FPUs were integrated on-chip. Eventually we'll have some kind of standardized SIMD unit like with Intel's integrated GPUs.

But I don't want all that. I just want a flat 2D array of the same core, each with its own local memory. Then just run OpenGL or Vulkan or Metal or TensorFlow or whatever the new hotness is in software. All Turing-complete computation is inherently the same, so I feel that working in DSLs is generally a waste of time.

Arm is a relatively simple core so scaling an M1 to over say 64 cores is probably straightforward, at least on the hardware side. People complain that chips like that are hard to program, but it's only because we're stuck in C-style languages. GNU Octave or MATLAB or any vector language is trivial to parallelize. Functional languages like Julia would also have no trouble with them.

Once we aren't compute-bound, a whole host of computer science problems become tractable. But we can't get there with current technology. At least not without a lot of pain and suffering. What we're going through now isn't normal, and reminds me a lot of the crisis that desktop software reached in the mid 90s with languages like Java just before web development went mainstream.

This doesn't really answer the GP and reads like sour grapes from a "formal/academic" type who missed the boat on the last 2 decades of advances in computing and AI.

> But the world went with imperative programming, nondetermistic async, rasterization, neural nets.. just really complicated and informal systems that are difficult to scale

...wat?

Don't worry, we got you covered on the MIMD front ;)
> anti-intellectual backlash of the early 2000s

I've never heard of this. Could you elaborate, please?

this is not an ellaboration, but a mere pointer based on one example: the sitcom Friends is sublty anti-intellectual and it came out around that time.
Eh, Futurama was close, too.
I'm born in 1994, I would also like to hear about this!
Strange, because for me, the stark contrast between the 90s and 2000s is unmistakeable. After the dot bomb and 9/11, the political climate in America went dark and that's also something that's never recovered.

America decided to double down on neoliberalism with the war on terror, so we've had endless bizarre legislation like the DMCA and PATRIOT act coinciding with our exploitation of developing countries and fear of the other. But we've only had a handful of the really important innovations like blue LEDs, lithium iron phosphate batteries, and enough Moore's Law to miniaturize computers into smart phones. We needed moonshots for stuff like cheap solar panels and mRNA vaccines a long time ago. We needed pure research that we didn't have. Yes we have these things today, but to me, having to wait around seemingly forever for them when we had the technology for this stuff in the 1980s, that looks like 20-40 years of unnecessary suffering.

For example, academia warned about the dangers of GMO foods and unpredictable side effects like autoimmune disease. Nobody ever listens or cares. Nobody cared when they warned about global warming or leaded gasoline either. But I am hopeful that this prolonged period of anti-intellectualism is finally ending and maybe the people standing in the way of progress are finally retiring. I've largely given up on real innovation from the tech world, so I've got my attention fixed on solarpunk now.