News for hackers. Stuff that matters.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by baybal2 on Sunday March 08, 2020 @05:02PM (#22520601)
I wonder if it will ever see a chance to go mainstream.

The memory bottleneck is pretty much the only thing in CPU design that didn't see a dramatic improvement over the years. Its elimination is the only obvious improvement pathway still left with expectation of double digit performance gains.

So we need either very big and very fast caches, or extremely wide and low latency memory. Both options are quite costly.

Adding on die DRAM that can work at least as fast as 500mhz will surely require some specialty process with a lot of compromises like the one in the article.

Gluing something like HBM2 to the die for a second option moves the cost from the specialty process to the specialty packaging. Not much better.

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by dfox on Sunday March 08, 2020 @06:23PM (#22521037)
The reason why mainstream DRAM interfaces are narrow and “slow” is that you need row-at-a-time access patterns to really saturate the interconnect which is something that does not happen for general purpose workloads and causing such access patterns requires large caches which by themselves solve the issue and then also physical package pins and pad structures are one of the most expensive things in semiconductor design.

In end the DRAM array is bunch of analog magic and the interface works by copying the row you want into SRAM buffer on the chip which you then can access however you want. And the slowest operation in all that are the copies between SRAM row buffer and the actual DRAM array. (what I call SRAM buffer is usually called “column sense amplifiers”, but for the highlevel view it in fact is surprisingly wide array of 6T SRAM flipflops and some analog magic)

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by hinkley on Sunday March 08, 2020 @06:56PM (#22521244)
So how many levels of cache do we have now between the ALU and the memory cell of record??
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by blattimwind on Sunday March 08, 2020 @07:28PM (#22521439)
Physical register <-> L1 <-> Fill Buffer <-> L2 <-> L3 [<-> L4 ] <-> [bus buffer <->] memory module

I wouldn't count buffer registers inside DRAM chips as a separate cache.

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by dfox on Monday March 09, 2020 @08:14PM (#22531399)
Counting the DRAM row buffer as a separate cache layer is interesting because it has meaningful performance impact, but mainly because existence of such an thing is good counter argument to people who think that DRAM chips have RAS/CAS multiplexed address pins only to save package pins.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by BeeOnRope on Sunday March 08, 2020 @10:52PM (#22522547)
I wouldn't really count the fill buffer between L1 and L2 as a separate caching level, or at least if you wanted to do that you should do something similar for L2 <-> L3, L3 <-> memory controller, etc: since such buffers or queues will exist at all those places.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by blattimwind on Monday March 09, 2020 @10:59AM (#22525895)
L1 Fill Buffers are somewhat special at least on Intel because a memory read can be satisfied from these before the data is written into L1.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by kragen on Sunday March 08, 2020 @09:00PM (#22521967)
↔ SSD ↔ spinning rust ↔ tarsnap or something
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by ChuckMcM on Sunday March 08, 2020 @08:16PM (#22521721)
I beg to differ, the thing that make the original AMD64 chips so freakishly awesome was multiple memory controllers in a multi-socket system. That forced Intel to do something kinda similar but the Opteron line and then the Ryzen and EPYC lines have always been better than Intel in terms of raw memory bandwidth[1].

And when there was a clear need for the bandwidth, as in GPUs, circuit designers stepped up and created some amazing wide and deep memory bus architectures.

I would not be surprised to see AMD partner with IBM to utilize some of their EDRAM tech to keep themselves out ahead of Intel in the data center space. The more ways they can distinguish themselves, the more pressure they put on Intel's design teams.

[1] Yes, lookaside buffers and page tables in the Opterons took some of that advantage back, but it was still substantial.

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by jiggawatts on Sunday March 08, 2020 @05:26PM (#22520731)
> Gluing something like HBM2 to the die for a second

This is something AMD is already doing for EPYC, and they've already used HBM2 in their GPUs.

So I'm surprised they haven't released any CPU models with crazy huge L4 caches using a few GB of HBM2.

Then again, Intel made a laptop CPU with a huge 128MB cache and their comment was that it didn't make that big of a difference. I believe the performance boost was less than 5% for going from 64MB to 128MB.

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by baybal2 on Sunday March 08, 2020 @09:52PM (#22522225)
Its all about how fast the memory is.

960MiB is prodigiously large for such a microscopic chip, but if it "only" gain 3-5 times latency reduction over external DRAM, it's still very far from a proper L3 implementation, and far behind L2.

Make DRAM work on 1Ghz+, and then you will see miracles. Imagine a fully synchronous on-die DRAM that can sit just behind L1, or even be connected to load registers directly.

The problem is that effective frequencies for memory round-trip haven't got up much since nineties. If you work with 100% cache misses, your mem will still be working at effective frequency of around 100 to 200Mhz

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by Dylan16807 on Monday March 09, 2020 @02:45AM (#22523451)
> If you work with 100% cache misses, your mem will still be working at effective frequency of around 100 to 200Mhz

I think you mean 20MHz. Current DRAM is abysmal at random access.

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by baybal2 on Monday March 09, 2020 @04:44AM (#22523917)
Yes, more so like this if you discard how it looks from the electrical side.

Even after bytes arrive to DRAM controller analog side, a lot of things have to happen before the data gets to the register. This accounts for the further five to tenfold increase in round trip latency

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by RantyDave on Monday March 09, 2020 @07:04AM (#22524418)
Oh no, it's paging to ram.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by hinkley on Sunday March 08, 2020 @06:59PM (#22521265)
Maybe there’s an inflection point where imperative management of the cache is more effective than heuristic management.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by gwking on Sunday March 08, 2020 @09:42PM (#22522172)
I saw Alan Kay speak once, I think at lambda jam 2013. He made a comment that he’s still waiting for mainstream CPUs to allow us to fit an entire interpreter into on-core cache.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by PeCaN on Monday March 09, 2020 @04:14AM (#22523799)
Eh? The LuaJIT and K interpreters definitely fit into L1 instruction cache. (And have since well before 2013 probably.) Honestly I would be kind of surprised if most interpreters for reasonably small languages don't fit into icache. Sure Python's not going to any time soon, but most interpreters are really not very large.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by RantyDave on Monday March 09, 2020 @07:05AM (#22524425)
You could get Windows NT 4 running in a processor cache these days.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by adrianN on Monday March 09, 2020 @01:43AM (#22523237)
Forth interpreters probably fit into L1 on modern processors.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by Dylan16807 on Monday March 09, 2020 @02:56AM (#22523492)
And we've had 256KB L2 since the Pentium Pro. That's big enough for a Lua interpreter.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by mhh__ on Sunday March 08, 2020 @07:22PM (#22521406)
What do you mean by imperative? Static control by the program?
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by cryptonector on Monday March 09, 2020 @01:47AM (#22523255)
I'm guessing u/hinkley meant having an API for the cache, so a compiler could generate instructions to prefetch cache lines (and maybe even keep them hot) rather than depend on automatic (heuristic) cache management.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by Reelin on Monday March 09, 2020 @04:15AM (#22523806)
Just FYI, prefetch instructions are already a thing (at least on x86). At present they're only hints to the underlying heuristic system though. (https://www.felixcloutier.com/x86/prefetchh)

Cache-as-RAM is also a thing, and allows the sort of pinning you described. Pretty specialized use cases though. (https://stackoverflow.com/questions/41775371/what-use-is-the...)

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by vvanders on Sunday March 08, 2020 @05:36PM (#22520785)
Read access patterns matter more than cache sizes, triple digit improvements are possible of you have linear reads.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by rbanffy on Sunday March 08, 2020 @07:11PM (#22521333)
Late Xeon Phis had 16GB of HBM around the die. It could either complement or mirror main memory.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by toohotatopic on Sunday March 08, 2020 @06:32PM (#22521089)
Hasn't Intel bought the company that was on the brink of producing those CPU-memory combos? Unfortunately, I haven't been able to find the name of the company or an article about it.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by deepnotderp on Sunday March 08, 2020 @06:41PM (#22521147)
You mean UpMem or Venray Technology?
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by toohotatopic on Sunday March 08, 2020 @06:49PM (#22521200)
Sorry but I don't remember the name at all.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by hinkley on Sunday March 08, 2020 @06:53PM (#22521225)
With all of the speculation security bugs in chip cache management, I can’t help but wonder if we won’t eventually go full NUMA and turn the cache memory (or at least L2+) into a directly addressable space, either by the kernel or directly by application code. At which point your working set is explicitly on the processor, instead of implicitly.

I also wonder if chiplets will be the vehicle by which this comes to pass.

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by the8472 on Sunday March 08, 2020 @07:12PM (#22521342)
Cache can already be made directly addressable (cache-as-ram mode). But outside of some niche solutions that's mostly done during boot due to the limitations of that mode and cache being too valuable.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by deepnotderp on Sunday March 08, 2020 @06:37PM (#22521116)
Commodity DRAM latency is mostly array line dominated, not due to proximity/distance, see eg https://ieeexplore.ieee.org/document/6522354

Also eDRAM is difficult to scale

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by moring on Monday March 09, 2020 @04:07AM (#22523773)
What is the state of adding higher-level logic to the DRAM chips? E.g. clear a whole DRAM row to 0 (blank memory for new processes). With today's processes, we can probably fit whole simple processor cores there easily.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by imtringued on Monday March 09, 2020 @07:06AM (#22524428)
This is called PIM (processing in memory) and UPMEM [0] has a working implementation.

[0] https://www.anandtech.com/show/14750/hot-chips-31-analysis-i...

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by baybal2 on Monday March 09, 2020 @04:38AM (#22523901)
Latest DDR standard, and supposedly HBM3 in making support range requests
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by amelius on Monday March 09, 2020 @05:51AM (#22524169)
I guess this would expose new risks of timing side channel attacks, though.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by baybal2 on Monday March 09, 2020 @09:36AM (#22525207)
Don't run untrusted code
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by kev009 on Monday March 09, 2020 @06:41AM (#22524325)
The same process tech is used on POWER9, and a lot of the physical design is shared between z and p, so this eDRAM is pretty mainstream in POWER.

OpenCAPI seems like it will provide almost as fast (latency) as an on die controller with DDR4 attached RAM at much cheaper prices than contemporary designs.. and opens the door to 3rd party innovation.

The real issue is trading latency versus bandwidth.. IBM's scale up designs have had ridiculously large memory bandwidth forever, but latency suffers to some extent with buffers like these SCs in the article. Whether that matters for your workload really depends.. but people need to break out of lock/latches mindset and use safe memory reclamation techniques like RCU and EBR to avoid common critical sections for lifecycle management, and in general minimize synchronization to make full use of current designs even like the now common AMD Rome.

I firmly believe we've been in a time where better programmers aware of hardware/software interface have been needed for a while, rather than some kind of hardware physics brick wall as the pundits often claim.

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by zong0dD2 on Monday March 09, 2020 @04:00PM (#22529138)
Quoting: 'The memory bottleneck'

(Raises the head from her electric soldering iron:) Maybe "in a world without any 'North- or Southbridge'-bottleneck" ?

Or do you actually have figured out to attach a keyboard directly to your graphics-card (still powered by a PSU), cos... your graphics-board has (plain and simply) CPU-Power, RAM and for sure 'ports' to attach something... ?! (-;

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by baybal2 on Monday March 09, 2020 @05:33PM (#22530061)
no
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by RantyDave on Monday March 09, 2020 @07:00AM (#22524399)
Oh no, the packaging connections are (guessing) thousands of nanometres. Much easier to build, much cheaper. Also, the process of moving to multi-chip packages means the process yield for the chiplets is much higher. It's a bloody good idea :)
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by thedance on Sunday March 08, 2020 @05:43PM (#22520822)
Intel laptop parts had 128MB of eDRAM starting in 2013. Is that mainstream enough for you?
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by LargoLasskhyfv on Sunday March 08, 2020 @09:36PM (#22522150)
Had. And then floated away down the stream, never to be seen again, at least not with 128MB.
Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by baybal2 on Sunday March 08, 2020 @09:33PM (#22522134)
On what frequency did that eDRAM worked?

If the effective freq was 100mhz, you being hit by cache misses will indeed be "only" 2-3 times less bad than as if you used memory round trip

Re:IBM doubles its 14nm EDRAM density, adds hundreds of mega... by Dylan16807 on Monday March 09, 2020 @02:59AM (#22523503)
If they had ever made it available at the mid-high end or released it outside of a couple weird SKUs before they quietly buried it, then it would count.