on Dec 3rd, 2009KSM – Kernel Samepage Merging

Vmware da diversi anni utilizza un sistema contraddistinto di deduplicazione delle stesse aree di memoria e della condivisione di alcune aree di memoria tra piu sistemi operativi emulati. Sono tecniche tutelate da brevetti ma che il mondo dell’open source vuole comunque implementare nei propri sistemi, ci sono già delle voci di possibili azioni da parte di Vmware ma non è quello di cui voglio parlare.

Kernel Samepage Mergin, aka KSM (conosciuto prima come Kernel Shared Memory) è una tecnologia recentemente introdotta dal kernel 2.6.32

KSM kernel daemon, ksmd, periodicamente scansiona le aree della memoria in cerca di pagine identiche che possono essere riposizionate in una singola pagina protetta in scrittura, non tutta la memoria viene scansionata, l’area in questione deve essere specificata dal software (funziona quindi nell’area delle userspace apps) attraverso l’utilizzo di funzioni specifiche (madvise)

Già ora per KVM (come non sempre è vero per Vmware) in alcuni test si parlano di situazioni del tipo “52 Windows Xp con 1GB di RAM emulati consumano 16GB di RAM“, presto spero di poter fare delle verifiche a riguardo.

KSM era stato sviluppato inizialmente per l’utilizzo con KVM, ma visto l’utilità di tale tecnologia ora è possibile usarla con ogni altro sistema di virutalizzazione in user space o anche in sistemi non virtualizzati, per esempio semplici applicazioni che utilizzano gli stessi processi o spazi di memoria che possono essere condivisi (piu Firefox aperti ad esempio)

Il KSM daemon è controllato dai sysfs files in /sys/kernel/mm/ksm/, la documentazione può essere trovata in Documentation/vm/ksm.txt del kernel .

Per approfondire: http://www.kernel.org/doc/ols/2009/ols2009-pages-19-28.pdf

Trackback URI | Comments RSS

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word