From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lamia Youseff Subject: limitation in the process address space size, Date: Wed, 12 Sep 2007 01:34:23 -0700 Message-ID: <46E7A48F.5020006@cs.ucsb.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Hi , I am performing some experimentation with Xen paravirtualization impact on computational workloads, when i observed a strange behavior of the domains (dom0 with 256MB, but i did not verify it for domU yet). As I request more pages to my process address space (through regular malloc calls), Xen places a limitation on the process address space size in real memory. Above this threshold, the process would swap like crazy, and hurt the computational performance of my code. To be more specific, my program pseudo code is shown below. My dom0 is allocated 256 MB at initialization. I then run my code and measure its performance in MFLOPS, as well as the swap activity as the process requests more memory. I observed that when the process resident set size (pages in real memory) reaches about 78.39 MB (or 20,070 pages), the process starts swapping memory pages. I did not see the same performance degradation when i allocate 756MB for dom0. This was not definitely the same behavior I get from the native kernel on the same machine (I get no performance degradation). I will appreciate if some one can shed some light on this kernel behavior for me. Please ask me if i don't give enough details of the problem here. Thank you, Lamia Youseff while (){ malloc more X bytes; fill new bytes with random numbers; do some floating point operations, and measure performance; measure swapped pages and RSS (resident set size); }