3 ms·
If by "samepage merging" you mean KSM[0], it's hugely expensive in CPU cycles (not to mention severe impacts on membw, l3 cache, etc) and outside of low-end VPS
by jfindley 5y ago
If by "samepage merging" you mean KSM[0], it's hugely expensive in CPU cycles (not to mention severe impacts on membw, l3 cache, etc) and outside of low-end VPS hosting has relatively few real-world applications. I'm not sure why it would be a useful thing to mention here.
0: https://www.kernel.org/doc/html/latest/admin-guide/mm/ksm.html https://www.kernel.org/doc/html/latest/admin-guide/mm/ksm.ht...
- evol262 5y agoYes, I mean KSM (and its equivalents in other hypervisors). The CPU cycles are a non-issue for the configuration on this mainframe, and it's fair to assume that, since IBM developed the silicon and IBM engineers wrote the hypervisor layer, that most of the detrimental effects of "we need this to work across multiple CPU vendors and multiple generations of the architecture" are covered. Even x86 CPUs get improvements to cache coherency in memory dedupe scenarios with generational improvement, and intelligent NUMA topology layout helps a lot. It's also worth noting that it's a mainframe, so essentially every configuration has a large number of other processors with a couple of instructions disabled so they don't "count" as CPUs for licensing, but they still perform work. I would not be surprised in the least if there were 1+ co-processors dedicated to offloading operations exactly like "LPAR || z/VM memory dedupe"
- jfindley 5y agoThat's a good point - I was speaking from experience with KSM on x86, but having a dedicated coprocessor on system Z for this application would make a lot of sense and fix many of the problems I've seen on x86.
- pgtan 5y ago[edit] sorry, I've mistaken the concepts. The name is active memory deduplication, which sits on top on memory sharing. http://www.redbooks.ibm.com/redpapers/pdfs/redp4827.pdf http://www.redbooks.ibm.com/redpapers/pdfs/redp4827.pdf [old] It is called active memory sharing in the POWER world https://www.ibm.com/docs/en/power9/9080-M9S?topic=sharing-managing-powervm-active-memory https://www.ibm.com/docs/en/power9/9080-M9S?topic=sharing-ma... http://www.redbooks.ibm.com/redpapers/pdfs/redp4470.pdf http://www.redbooks.ibm.com/redpapers/pdfs/redp4470.pdf
- eptcyka 5y agoThis isn't something to be done at the guest VM level but at the hypervisor level. In an optimal scenario, it can be cheaper to clone a VM with CoW semantics than it would be to deduplicate memory dynamically. But I guess this would defeat kASLR between all of the clones.