top | item 30483897

(no title)

gargarplex | 4 years ago

Can you please describe an example of where an application might be memory bandwidth bound, and what engineering techniques might be used to circumvent this restriction?

discuss

order

sillysaurusx|4 years ago

In modern times, it's hard to describe an example where an application isn't memory bandwidth bound. It's basically the primary bottleneck.

Most programs spend little time doing computation, or reading I/O. Everyone knows I/O is expensive, so it's minimized.

But there's no getting around the fact that every time you want to do anything at all, you have to shuffle around memory. There's no choice.

One way to circumvent this restriction is to make memory faster. This is difficult with traditional approaches.

I was going to point to Memristors as a possible way forward, but honestly I don't know enough about the subject.

We're getting to the point where we're speed-of-light bound, I believe. I.e. running up against fundamental limits.

Still, there's a lot of room. One interesting thing is to read Feynman's lectures on computation: https://theswissbay.ch/pdf/Gentoomen%20Library/Extra/Richard...

He points out that a reversible computer is actually the most efficient, from an energy perspective. But the tradeoff is that things take more time. If you want to take less time, it generates more heat. And more heat means inevitable delay.