3 ms·
> The first of these is Linux now supports persistent memory as RAM. Sure, non-volatile memory (NVM) isn't as fast as good old RAM, but on newer systems it give
by jolmg 8y ago
> The first of these is Linux now supports persistent memory as RAM. Sure, non-volatile memory (NVM) isn't as fast as good old RAM, but on newer systems it gives you the option of expanding your memory.
That sounds like swap. What's the difference?
- greggyb 8y agoSSD on DIMM.
- 24gttghh 8y agoSo, a RAM Drive? https://en.wikipedia.org/wiki/RAM_drive https://en.wikipedia.org/wiki/RAM_drive
- deleted 8y ago[deleted]
- NullPrefix 8y agoRAM drive used RAM as a storage device. This is the other way around. Storage used as RAM. Drive RAM, if you will.
- greggyb 8y agoNo. RAM drives use normal, volatile RAM. Power down and it all goes away. SSD is non-volatile. Power down and it stays. DIMM is a form factor and specific bus for getting data from storage on one side of the slot to CPU on the other. This is putting a different type of storage on the other side of that bus.
- vbezhenar 8y agoI think that this article explains it somewhat: https://lwn.net/Articles/777212/ https://lwn.net/Articles/777212/ Basically there's Intel Optane DIMM which costs less than DRAM and offers good enough performance, so you can use Optane with DRAM as a cache and those patches provide proper Linux support for that scheme.
- dvfjsdhgfv 8y ago> Basically there's Intel Optane DIMM These chips are extraordinary, when the prices finally go down to a reasonable level it will be another revolution in both persistent (speed) and volatile (size) memory.
- jolmg 8y agoIsn't swap basically expanded memory while using DRAM as cache? It seems like this could be just a different way of operating that cache. I wonder if this new feature would be used with swapon/swapoff or if it would need a different interface.
- robbyt 8y agoIntel have a fork of Redis that uses Optane storage instead of RAM. The end result is a persistent DB that can operate at the speed of Redis.
- haberman 8y agoSwap has to get paged into real RAM when there is a page fault (presumably evicting something else). I'm guessing that this is actually mapping the NVM directly into the process, so individual loads and stores write directly to the device instead of actual RAM.
- jolmg 8y agoThat seems like an implementation detail done for the performance of prioritizing the use of the faster device. If you need something that's in storage/swap, chances are you're going to need it repeatedly and so it's a performance boost to "swap" that with whatever is being used least in RAM. From a functional point of view, it's still really just expanding your memory with a persistent storage device. > I'm guessing that this is actually mapping the NVM directly into the process, so individual loads and stores write directly to the device instead of actual RAM. If this were the only difference, then it would be just swap without its main optimization and for no noticeable benefit. I doubt this is all there is to it.
- noselasd 8y agoTraditional swap is more complicated than that. The kernel can't map it directly as RAM, it has to be paged to and from the backing store and RAM - doing so is not just an optimization.