563 karma · joined June 20, 2017
[0] - https://zonedstorage.io/docs/introduction/zns#overview
With all the benefits of an enterprise SSD (EDSFF in most cases) form factor. And that's what data center folks want.
> not likely to outright replace DDR in most consumer computing devices
Right. I expect that CXL will initially be deployed as an internal transparent optimization for cloud providers and large data centers, with the latency and complexity (to an extent) hidden at hypervisor/orchestration layers. Some sophisticated software might have special support. Eventually we might get S3-like disaggregated memory services for cloud instances enabled by pooling (pure speculation on my part).
But I'm biased (I work for Intel), so take what I say with a grain of salt.
[1] - https://www.computeexpresslink.org/members
[2] - https://news.samsung.com/global/samsung-electronics-introduc...
[3] - https://www.lenovoxperience.com/newsDetail/283yi044hzgcdv7sn...
edit: The official Compute Express Link (CXL) website has an article about the benefits of this technology [3].
[1] - https://www.nextplatform.com/2021/09/07/the-cxl-roadmap-open...
[2] - https://pmem.io/blog/2022/01/disaggregated-memory-in-pursuit...
[3] - https://www.computeexpresslink.org/post/the-benefits-of-seri...
[1] - https://www.anandtech.com/show/15959/nvme-zoned-namespaces-e...
[1] - https://blog.pragmaticengineer.com/software-engineering-sala...
[1] - https://www.levels.fyi/comp.html?track=Software%20Engineer&s...
[2] - https://www.levels.fyi/comp.html?track=Software%20Engineer&s...
So, who's right? Is the article overstating the stability problem or are these companies over-promising?
[1] - https://sauletech.com/technology/
[2] - https://sauletech.com/faq/
[3] - https://www.technologyreview.com/2021/06/29/1027451/perovski...
[1] - https://www.computeexpresslink.org/post/the-benefits-of-seri...
To me, what the original article shows is an opportunity to remove - not add.
RocksDB, and LSM algorithms in general, seem to be designed with the assumption that random block I/O is slow. It appears that, for modern hardware, that assumption no longer holds, and the software only slows things down [0].
[0] - https://github.com/BLepers/KVell/blob/master/sosp19-final40....
If you are asking just about the OS interfaces - you can already emulate persistent memory with DRAM [1], which allows you to play around with the programming model. There are also NVDIMM-N devices available on the market today that expose the same interface. IBM also has a product called Virtual Persistent Memory [2].
I expect that once CXL [3] becomes adopted, there will be more diversity in terms of Persistent Memory hardware vendors.
[1] - https://docs.pmem.io/persistent-memory/getting-started-guide...
[2] - https://www.ibm.com/downloads/cas/09ERZEVQ
[3] - https://pirl.nvsl.io/PIRL2019-content/PIRL-2019-Stephen-Bate...
Thanks for pointing it out.
libvmmalloc has been superseded by libmemkind [3], which better allows you to control the behavior of what I just described.
[1] - https://pmem.io/ndctl/daxctl-reconfigure-device.html [2] - https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt [3] - https://github.com/memkind/memkind
If you need dynamic mutable state however, as great as these libraries are, you will need a more complex solution with memory allocation and transactions.