Remix.run Logo
The von Neumann bottleneck is impeding AI computing?(research.ibm.com)
53 points by Nezteb 17 hours ago | 29 comments
abrookewood 8 hours ago | parent | next [-]

Off topic, but does the sentence structure of STATEMENT-QUESTION MARK have a name? It's pretty annoying in my opinion. Why not write "IS the von Neumann bottleneck impeding AI computing?" instead?

jesuswasrasta 5 hours ago | parent [-]

As an Italian, it translates as we actually state questions, so it feels natural to me :)

But you're right, I think it's not even grammarly correct.

Anyway, I'd like always to remember this about headlines as a question: https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines

owyn 16 hours ago | parent | prev | next [-]

If you follow the press release rabbit a few clicks, there's an article in Science describing the NorthPole chip architecture in more detail:

https://www.science.org/doi/full/10.1126/science.adh1174

Also they've been working on this for 10+ years so it's not exactly new news.

lawlessone 15 hours ago | parent [-]

>Also they've been working on this for 10+ years so it's not exactly new news.

Maybe they're hoping someone else does it.. and then pays IBM for using whatever patents they have on it.

rapjr9 9 hours ago | parent | prev | next [-]

About 20 years ago the CS community was getting excited about optical memory. It promised to be huge, must faster than static RAM, and hold it's state. Tied directly to the CPU as a very large cache+RAM replacement it would have revolutionized computing. There were other advantages besides speed. One was that you could just pause the CPU, put the computer to sleep, then wake it up later and everything was already in RAM and computation would continue where it left off. Instant boot. Running apps would be instant, they were already in RAM and could be run in place. Prototypes existed but optical memory never happened commercially. Not sure I remember why, maybe couldn't scale, or manufacturing problems. There was also the problem that code is never perfect, so what to do when something stored became corrupted? Without a boot phase there would be no integrity checks.

Animats 16 hours ago | parent | prev | next [-]

Actual result: "This new process promises to increase the number of optical fibers that can be connected at the edge of a chip, a measure known as beachfront density, by six times."

Faster interconnects are always nice, but this is more like routine improvement.

bahmboo 16 hours ago | parent | next [-]

"In recent inference tests run on a 3-billion-parameter LLM developed from IBM’s Granite-8B-Code-Base model, NorthPole was 47 times faster than the next most energy-efficient GPU and was 73 times more energy efficient than the next lowest latency GPU."

It's also fascinating that they are experimenting with analog memory because it pairs so well with model weights

anyfoo 14 hours ago | parent | next [-]

Yeah, analog memory fits so incredibly well. Who cares if it's not "exact" and fuzzes around a bit if it's only used for weights and has massive efficiency advantages. Weights are never "exact" themselves, and it doesn't matter if they don't always read exactly the same. You basically just get some extra "temperature" for free!

A bit beautiful that we might end up partially going back to analog computers, which were quickly replaced by digital ones.

magicalhippo 13 hours ago | parent [-]

> A bit beautiful that we might end up partially going back to analog computers, which were quickly replaced by digital ones.

How long till we get a Ben Eater-style video about someone making a basic analog neural network using some DACs, analog multipliers[1] and bucket-brigade chips[2] for intermediate values?

[1]: https://www.analog.com/media/en/training-seminars/tutorials/...

[2]: https://en.wikipedia.org/wiki/Bucket-brigade_device

imtringued 5 hours ago | parent | prev [-]

Their NorthPole chip doesn't look much different than the Groq LPU or Tenstorrent's hardware or even just AMD's NPU design. The tenstorrent cards have a pretty big amount of SRAM considering their price.

UltraSane 14 hours ago | parent | prev [-]

In-Memory compute has nothing to do with connecting optical fibers to a chip.

stego-tech 16 hours ago | parent | prev | next [-]

IBM initially leads with the more salient point (current architecture designs are hindering frontier computing concepts), then just kinda…relents into iterative improvement.

Which is fine! I am all for iterative improvements, it’s how we got to where we are today. I just wish more folks would start openly admitting that our current architecture designs are broadly based off “low hanging fruit” of early electronics and microprocessors, followed by a century of iterative improvements. With the easy improvements already done and universally integrated, we’re stuck at a crossroads:

* Improve our existing technologies iteratively and hope we break through some barrier to achieve rapid scaling again

OR

* Accept that we cannot achieve new civilizational uplifts with existing technologies, and invest more capital into frontier R&D (quantum processing, new compute substrates, etc)

I feel like our current addiction to the AI CAPEX bubble is a desperate Hail Mary to validate our current tech as the only way forward, when in fact we haven’t really sufficiently explored alternatives in the modern era. I could very well be wrong, but that’s the read I get from the hardware side of things and watching us backslide into the 90s era of custom chips to achieve basic efficiency gains again.

yellowcake0 10 hours ago | parent [-]

Isn't returning to an era of chip architecture experimentation exactly what would be required to explore new and better alternatives?

16 hours ago | parent | prev | next [-]
[deleted]
nyrikki 16 hours ago | parent | prev | next [-]

Nit,

ARM processors primarily use a modified Harvard architecture, including the raspberry pi pico.

NooneAtAll3 16 hours ago | parent | next [-]

this isn't about Harvard/VonNeuman split/no-split between i-cache and d-cache

I think this post is more about... compute in memory? if I got it right?

nyrikki 13 hours ago | parent | next [-]

Here is John Backus' original paper[0], which is an easy read, but note what he calls functional programming_ has nothing to do with lambda calculus, Haskel etc... it is the APL family.

He is absolutely one of IBM's historical rockstars. IMHO they are invoking him to sell their NorthPole chips which have on-die memory distributed between the processing components and probably has value.

> In its simplest form a von Neumann computer has three parts: a central processing unit (or CPU), a store, and a connecting tube that can transmit a single word between the CPU and the store (and send an address to the store). I propose to call this tube the yon Neumann bottleneck. The task of a program is to change the contents of the store in some major way; when one considers that this task must be accomplished entirely by pumping single words back and forth through the von Neumann bottleneck, the reason for its name becomes clear.

IMHO IBM is invoking John Backus' work to sell what may be an absolutely great product but are really just ASICs and don't relate to his machine or programming language limits.

[0] https://dl.acm.org/doi/pdf/10.1145/359576.359579

danudey 15 hours ago | parent | prev [-]

Sort of? It's about locality of data; this has often been a bottleneck, which is why we have CPU caches to keep data extremely close to the CPU cores with practically zero latency and throughput limitations compared to fetching from main memory. Unfortunately now we're shuffling terabytes of data through our algorithms and the CPU spends a huge amount of its time waiting for the next batch of data to come in through the pipe.

This is, IIRC, part of why Apple's M-series chips are as performant as they are: they not only have a unified memory architecture which eliminates the need to copy data from CPU main memory to GPU or NPU main memory to operate on it (and then copy the result back) but the RAM being on the package means that it's slightly "more local" and the memory channels can be optimized for the system they're going to be connected to.

ajross 14 hours ago | parent | prev | next [-]

That's valid jargon but from the wrong layer of the stack. A Harvard bus is about the separation of the "instruction" memory from "data" memory so that (pipelined) instructions can fetch from both in parallel. And in practice it's implemented in the L1 (and sometimes L2) cache, where you have separate icache/dcache blocks in front of a conceptually unified[1] memory space.

The "Von Neumann architecture" is the more basic idea that all the computation state outside the processor exists as a linear range of memory addresses which can be accessed randomly.

And the (largely correct) argument in the linked article is that ML computation is a poor fit for Von Neumann machines, as all the work needed to present that unified picture of memory to all the individual devices is largely wasted since (1) very little computation is actually done on individual fetches and (2) the connections between all the neurons are highly structured in practice (specific tensor rows and columns always go to the same places), so a simpler architecture might be a better use of die space.

[1] Not actually unified, because there's a page translation, IO-MMUs, fabric mappings and security boundaries all over the place that prevents different pieces of hardware from actually seeing the same memory. But that's the idea anyway.

bobmcnamara 16 hours ago | parent | prev [-]

Nit: RP2040 is a Von Neumann. There's only one AHB port on the m0.

Edit: see also ARM7TDMI, Cortex-m0/0+/1, and probably a few others. All the big stuff is modified Harvard or very rarely pure Harvard.

nyrikki 15 hours ago | parent [-]

You are correct I should have specified pico2

That said AVH-lite is called lite because it is a simplified form of the arm norm.

The RP2350 can issue one fetch and one load/store per cycle, and that is that almost everything called a CPU and not a MCU will have ABH5 or better.

The “von Neumann bottleneck” was (when I went to school) that the CPU cannot simultaneously fetch an instruction and read/write data from or to memory.

That doesn’t apply to smartphones, PCs or servers even in the intel world due to instruction caches etc…

It is just old man yells at clouds

lomase 16 hours ago | parent | prev | next [-]

Why they don't use AI to create a new architecture?

jedberg 16 hours ago | parent | next [-]

Do you want SkyNet? That's how you get SkyNet.

amelius 16 hours ago | parent [-]

No, that's how you get SlopNet.

observationist 16 hours ago | parent | prev | next [-]

https://github.com/GAIR-NLP/ASI-Arch

This is being done, with great results so far. As models get better, architecture search and creation and refinment improves, driving a reinforcement loop. At some point in the near future the big labs will likely start seeing significant returns from methods like this, translating into better and faster AI for consumers.

lomase 16 hours ago | parent [-]

I skimed the repo and only found sloop. Can you point out where I can find those new architectures you talk about?

greenchair 14 hours ago | parent | prev [-]

probably for same reason these ai companies haven't fired all their developers..

mwkaufma 16 hours ago | parent | prev [-]

The old saw from corporations that want to sell you an locked-down alternative to general-purpose computing -- now for "AI"

bahmboo 16 hours ago | parent [-]

Huh, I did not get that from the article. The main takeaway for me was doing ALU operations in memory resulting in massive energy savings. There is still a von Neumann architecture running the show.