On 05.11.2014 21:07, Adam Litke wrote:
On 04/11/14 13:11 +0100, Sven Kieske wrote:
> Hi,
>
> currently ksmd is a single process
> and is thus bound to one core.
>
> This leads to some scaling problems such as:
>
> If you got a lot of vms on one host with huge amounts
> of ram you can observe that the cpu usage by ksmd
> goes easily to 100%.
I wonder what would be the benefit here... I think
spending CPU cycles
on something like memory compression is not what (most) users would do.
Already I think this is an annoyance; maybe thats why the process is
niced to +5. A multi process daemon would require careful confining
(with cgroups).
To my understanding the for KSM to really work well is to have many
(idle / high mem) guests which are quite similar?
>
> I wonder if ksmd could not be split up
> in child/worker threads, thus enabling higher density
> of vms on one host.
It's likely going to be trickier than you imagine with the added
locking that would be required to synchronize the ksmd threads.
Actually I was
refraining to answer Svens question since I lack some
knowledge here. But I guessed synchronization was the reason for the
single threadted design.
Some serous work needs to be done on KSM do achieve this goal. I was
thinking about some map/reduce aglo to do that... OTOH mangeling with
mem pages of guests very requires special care.
>
> or can this just be tweaked by altering values in
> /etc/ksmtuned.conf ?
I don't think it can.
> What do you think?
Interesting idea.
--
Daniel Helgenberger
m box bewegtbild GmbH
P: +49/30/2408781-22
F: +49/30/2408781-10
ACKERSTR. 19
D-10115 BERLIN
www.m-box.de www.monkeymen.tv
Geschäftsführer: Martin Retschitzegger / Michaela Göllner
Handeslregister: Amtsgericht Charlottenburg / HRB 112767