lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 31 Mar 2009 00:38:01 +0300
From:	Dor Laor <dlaor@...hat.com>
To:	Jeremy Fitzhardinge <jeremy@...p.org>
CC:	Rik van Riel <riel@...hat.com>, akpm@...l.org,
	nickpiggin@...oo.com.au, frankeh@...son.ibm.com,
	linux-mm@...ck.org, linux-kernel@...r.kernel.org,
	Dave Hansen <dave@...ux.vnet.ibm.com>,
	virtualization@...ts.osdl.org,
	Martin Schwidefsky <schwidefsky@...ibm.com>, hugh@...itas.com,
	Izik Eidus <ieidus@...hat.com>
Subject: Re: [patch 0/6] Guest page hinting version 7.

Jeremy Fitzhardinge wrote:
> Rik van Riel wrote:
>   
>> Jeremy Fitzhardinge wrote:
>>     
>>> Rik van Riel wrote:
>>>       
>>>> Jeremy Fitzhardinge wrote:
>>>>
>>>>         
>>>>> That said, people have been looking at tracking block IO to work 
>>>>> out when it might be useful to try and share pages between guests 
>>>>> under Xen.
>>>>>           
>>>> Tracking block IO seems like a bass-ackwards way to figure
>>>> out what the contents of a memory page are.
>>>>         
>>> Well, they're research projects, so nobody said that they're 
>>> necessarily useful results ;).  I think the rationale is that, in 
>>> general, there aren't all that many sharable pages, and asize from 
>>> zero-pages, the bulk of them are the result of IO. 
>>>       
>> I'll give you a hint:  Windows zeroes out freed pages.
>>     
>
> Right: "aside from zero-pages".  If you exclude zero-pages from your 
> count of shared pages, the amount of sharing drops a lot.
>
>   
>> It should also be possible to hook up arch_free_page() so
>> freed pages in Linux guests become sharable.
>>
>> Furthermore, every guest with the same OS version will be
>> running the same system daemons, same glibc, etc.  This
>> means sharable pages from not just disk IO (probably from
>> different disks anyway),
>>     
>
> Why?  If you're starting a bunch of cookie-cutter guests, then you're 
> probably starting them from the same template image or COW block 
> devices.  (Also, if you're wearing the cost of physical IO anyway, then 
> additional cost of hashing is relatively small.)
>
>   
>> but also in the BSS and possibly
>> even on the heap.
>>     
>
> Well, maybe.  Modern systems generally randomize memory layouts, so even 
> if they're semantically the same, the pointers will all have different 
> values.
>
> Other research into "sharing" mostly-similar pages is more promising for 
> that kind of case.
>
>   
>> Eventually.  It starts out with hashing the first 128 (IIRC)
>> bytes of page content and comparing the hashes.  If that
>> matches, it will do content comparison.
>>     
The algorithm was changed quite a bit. Izik is planning to resubmit it
any day now.
>> Content comparison is done in the background on the host.
>> I suspect (but have not checked) that it is somehow hooked
>> up to the page reclaim code on the host.
>>     
>
> Yeah, that's the straightforward approach; there's about a research 
> project/year doing a Xen implementation, but they never seem to get very 
> good results aside from very artificial test conditions.
>   
Actually we got really good results by using ksm along with kvm, running 
large
amount of windows virtual machines. We can achieve over commit ratio
of up to 400% of the host ram for VMs doing M$ office load.
-dor
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ