3 ms·
The idea is to drive CPU utilization as well. For example, in the x86 world, pairing NVMe drives with putting portions of the application writing to NVDIMM dri
by JohannFlobuster 8y ago
The idea is to drive CPU utilization as well.
For example, in the x86 world, pairing NVMe drives with putting portions of the application writing to NVDIMM drives core performance, say, in SQL, from 40% util to 100% util.
Even a single 8Gb DIMM can dramatically increase utilization and performance.
- monocasa 8y agoAnd literally half the bandwidth. NVMe means that you have to write the data, flush the caches over those ranges to ensure that it's actually in DRAM, then instruct the NVMe controller to read it back out of DRAM. With these drives you just write (and maybe flush), and it's done. And they probably have their own dedicated DRAM protocol controller. And it might even be slightly better than halving the bandwidth needs, since swapping DRAM banks isn't free, so you might be saving on mildly thrashing your DRAM controller when you're using DRAM and the NVMe drive is trying to read at the same time.
- xorblurb 8y agoModern DMA is cache coherent (maybe except if you opt-out of it? I'm not even sure you can). It is still costly though.
- deleted 8y ago[deleted]