3 ms·
Every modern general purpose computer already has multiple layers of memory. This would just be an additional layer. The virtual memory subsystems in the OS wil
by trillic 6y ago
Every modern general purpose computer already has multiple layers of memory. This would just be an additional layer. The virtual memory subsystems in the OS will handle this. At the end of the day it's just caches all the way down. A workstation with 16GiB of "on-chip" memory would be like a huge L4 cache for the say 512GiB of "standard" DDR4.
I really like OSTEP's chapters on virtual memory if you're interested in reading more[1].
[1] http://pages.cs.wisc.edu/~remzi/OSTEP/vm-complete.pdf http://pages.cs.wisc.edu/~remzi/OSTEP/vm-complete.pdf
- whalesalad 6y agoThanks for the link, downloaded to read this evening :thumbsup:
- nakkijono 6y agoYet, is it a requirement in a memory hierarchy to copy the lower level in the upper one? Like, all the stuff in you L1 cache has to be also in your L2 cache. E.g. if you would have 32gb of external DDR it would add only 16gb more to the packaged 16gb?
- sveiss 6y agoIt's not a requirement, and different systems in the past have made different choices. https://en.wikipedia.org/wiki/Cache_inclusion_policy https://en.wikipedia.org/wiki/Cache_inclusion_policy
- scottlamb 6y agoIt's definitely not, and in fact swap on a modern OS doesn't work that way. Something can be only in physical RAM, only in swap, or (when "clean"/unmodified vs the copy in swap) in both (allowing it to be dropped from physical RAM quickly). So one obvious approach would be to simply use the external RAM as swap. Relatedly, I've heard of using Intel Optane as "slow RAM" for cold pages, and I think the idea there is also that it'd be in one or the other but not both. (Optane can be thought of as very expensive/fast flash or very slow/cheap RAM.)