Live data from Hacker News

Even a laptop can run RAM externally thanks to CXL

techradar.com

51–60 of 85 posts

Re: Even a laptop can run RAM externally thanks to CXL

#51

Earlier quoted context omitted.

I'm surprised that it is not known on HN. This is standard developed to enable different server configurations in the data center from what I've read through the years. The universal interconnect allows for adding and removing devices without special allowances for each device type as far as I get it. It might work for laptops, but it is not the main goal and it might be only Framework who will do something in that d…

These days that bulk of us people doing dev work aren't getting to play in the actual DC, it's all so abstracted away. Frankly looking to get a used rack or two at home here, just so I can play with the HW a bit. (I do embedded and not server stuff mostly these days anyways, but generally interested in systems stuff, so)

I was talking with a colleague about this just the other day. We all used to have home labs, because we could get reasonably near to what business used and learn that way. Now, what goes on in is so different, frankly you won't learn much with one.

Obviously if you're just interested then go for it. It's just not practical generally speaking.

Re: Even a laptop can run RAM externally thanks to CXL

#52

Earlier quoted context omitted.

CXL for Persistent Memory, as the Optane successor (or rather, sole-survivor if you will) is what excites me. Persistent Memory databases are such a neat idea, it's a shame that the hardware for it isn't commonplace.

Yeah optane seemed like it had so much potential -- with the right abstractions, it neatly dealt with the eternal problem of the separation between RAM and disk. Much of DB and storage system engineering comes down to decisions around when to persist what, and optane was very promising in allowing for new architectures that had much better performance at lower complexity. Alas, optane's dead now. I do know people act…

I'm utterly unqualified to discuss using it in practice but it always seemed like PMEM would have required a fundamental idiom shift away from the DRAM concept.

If you treat it like memory it's always going to be slow memory. If you treat it like storage, it can be very fast storage. If that makes sense.

Software that "treats storage like memory" would end up looking a lot like javacard imo. Or something like Samsung's in-memory key-value database stuff. But it wouldn't really look like a linux kernel allocating memory inside an all-pmem partition.

Difference, in my head, being that essentially the filesystem is an unnecessary layer/abstraction in the middle. You want something that either looks like a garbage-collected runtime, or an in-memory database that vacuums, or LISP collections of object-trees, etc.

There is no point to having a separation between memory and disk anymore, that is the point - "resource allocation is disk persistence" so to speak.

It would have required a big-bang rewrite/second-system that is just not possible with the dominance of the existing RAM/storage dichotomy. Or at least a couple killer apps from large vendors/etc that really outperformed what was possible with RAM.

Re: Even a laptop can run RAM externally thanks to CXL

#53
post #12

The slowest clock speed for DDR5 is 2,000Mhz or 0.5ns per cycle. At 2/3c, electricity should be able to travel about 10cm max in one cycle. I suppose 4Ghz RAM would be only 5cm. Is having an external unit with much greater than 10cm of copper travel ultimately a limiting factor here with modern day RAM speeds?

The article seems to reference having external AI etc accelerators colocated with the RAM they use, but then tied to a host machine via CXL. So that makes a certain amount of sense. Latency sensitive stuff happens co-located with the RAM, and then you just take advantage of throughput back to the host. I'm personally now imagining a specialized database appliance which takes the role of the whole of the pager and buf…

I just finished my master’s thesis on database buffer management with CXL [1]. It’s not published due to confidential hardware information, but we are working on a paper.

[1] https://hpi.de/rabl/teaching/master-theses/ongoing-masters-t...

Re: Even a laptop can run RAM externally thanks to CXL

#55
post #9

This wasn't mentioned in the article but CXL Stands for Compute Express Link which is an open standard, CPU-to-Device Interconnect, I guess they're on v3.0 now. First I had heard of it as well. 3.9GB/s on the low end and as high as 121.0GB/s with the latest 16x 3.0 spec over serial connection https://www.computeexpresslink.org/about-cxl https://en.wikipedia.org/wiki/Compute_Express_Link

I'm surprised that it is not known on HN. This is standard developed to enable different server configurations in the data center from what I've read through the years. The universal interconnect allows for adding and removing devices without special allowances for each device type as far as I get it. It might work for laptops, but it is not the main goal and it might be only Framework who will do something in that d…

IT is an extremely diverse field with extremely diverse subprofessions - knowledge about esoteric hardware should not be assumed.

Re: Even a laptop can run RAM externally thanks to CXL

#56
post #52

Earlier quoted context omitted.

Yeah optane seemed like it had so much potential -- with the right abstractions, it neatly dealt with the eternal problem of the separation between RAM and disk. Much of DB and storage system engineering comes down to decisions around when to persist what, and optane was very promising in allowing for new architectures that had much better performance at lower complexity. Alas, optane's dead now. I do know people act…

I'm utterly unqualified to discuss using it in practice but it always seemed like PMEM would have required a fundamental idiom shift away from the DRAM concept. If you treat it like memory it's always going to be slow memory. If you treat it like storage, it can be very fast storage. If that makes sense. Software that "treats storage like memory" would end up looking a lot like javacard imo. Or something like Samsung…

Some support has been added to the Linux kernel like DAX [0] to avoid extra copy operations [0].

SNIA has some interesting talks regarding using non volatile memory and its applications (DBs). Where using pmem and DAX to directly to store logging operations [1].

[0] What is Direct-Access (DAX)? https://kb.pmem.io/faq/100000008-What-is-DAX/

[1] SDC2020: How can Persistent Memory Make Databases Faster, and How Could we go Ahead? https://www.youtube.com/watch?v=rTgITrVhpQM

Re: Even a laptop can run RAM externally thanks to CXL

#57
If anyone wishes to dive deeper and attempt some emulation* of CXL and to find out more, checkout both links as QEMU supports emulating CXL devices.

[0] Emulating CXL Shared Memory Devices in QEMU https://memverge.com/cxl-qemuemulating-cxl-shared-memory-dev...

[1] CXL support in QEMU https://www.qemu.org/docs/master/system/devices/cxl.html

Re: Even a laptop can run RAM externally thanks to CXL

#58
post #52

Earlier quoted context omitted.

Yeah optane seemed like it had so much potential -- with the right abstractions, it neatly dealt with the eternal problem of the separation between RAM and disk. Much of DB and storage system engineering comes down to decisions around when to persist what, and optane was very promising in allowing for new architectures that had much better performance at lower complexity. Alas, optane's dead now. I do know people act…

I'm utterly unqualified to discuss using it in practice but it always seemed like PMEM would have required a fundamental idiom shift away from the DRAM concept. If you treat it like memory it's always going to be slow memory. If you treat it like storage, it can be very fast storage. If that makes sense. Software that "treats storage like memory" would end up looking a lot like javacard imo. Or something like Samsung…

Pavlo has some good papers on architecting DB's around PMEM

"How to Build a Non-Volatile Memory Database Management System"

https://db.cs.cmu.edu/papers/2017/p1753-arulraj.pdf

Re: Even a laptop can run RAM externally thanks to CXL

#59
post #52

Earlier quoted context omitted.

I'm utterly unqualified to discuss using it in practice but it always seemed like PMEM would have required a fundamental idiom shift away from the DRAM concept. If you treat it like memory it's always going to be slow memory. If you treat it like storage, it can be very fast storage. If that makes sense. Software that "treats storage like memory" would end up looking a lot like javacard imo. Or something like Samsung…

Pavlo has some good papers on architecting DB's around PMEM "How to Build a Non-Volatile Memory Database Management System" https://db.cs.cmu.edu/papers/2017/p1753-arulraj.pdf

Under 3.1 Allocator Interface, there is a great point about reducing wear levelling by rebalancing the B+ tree operations to reduce the number of writes thus extending the lifespan of the hardware. Not much of a concern on the small scale, however in large deployments even single-digit improvements will make a difference.

Sometimes it becomes useful to appreciate the hardware and what it is doing, reminds me of the quote.

* You don't have to be an engineer to be a racing driver, but you do have to have Mechanical Sympathy *. Jackie Stewart

Re: Even a laptop can run RAM externally thanks to CXL

#60
post #9

This wasn't mentioned in the article but CXL Stands for Compute Express Link which is an open standard, CPU-to-Device Interconnect, I guess they're on v3.0 now. First I had heard of it as well. 3.9GB/s on the low end and as high as 121.0GB/s with the latest 16x 3.0 spec over serial connection https://www.computeexpresslink.org/about-cxl https://en.wikipedia.org/wiki/Compute_Express_Link

Is it possible to run an eGPU with this? Like the TH3P4G3 one can buy on AliExpress
Post reply on HN