From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alan Cox Subject: Re: A question no one can answer Date: Fri, 15 Feb 2008 13:05:22 +0000 Message-ID: <20080215130522.2c258316@core> References: <3825A1772E68364B942CF6DBDF41C8BB04B8F3E2@catoexm06.noam.corp.platform.com> <3825A1772E68364B942CF6DBDF41C8BB04B8F3E3@catoexm06.noam.corp.platform.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <3825A1772E68364B942CF6DBDF41C8BB04B8F3E3@catoexm06.noam.corp.platform.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Robert Stober Cc: weiming , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On Thu, 14 Feb 2008 22:24:18 -0500 "Robert Stober" wrote: > Weiming, > > I agree that it is very hard, and that no one has done it. But > nevertheless I suggest the following question to the Xen developers: > > Given the fact that memory bandwidth is shared amongst multiple cores on > a single die, assume that one VM is running on each core. What is to > stop one VM from saturating the memory bus, causing reduced performance > of all the other VMs? This is the general multi-core problem, not > specific to Xen. But it affects Xen greatly. What use is it to allocate > memory to a VM if it can't use the memory because a process of another > VM has saturated the memory bus? Its perfectly doable on modern x86 - you use the profiling registers and set them up so you get a threshold interrupt when too much main memory traffic is counted (which you use to reschedule punishing the memory user). There are research papers on it from quite a long time back but afaik nobody ever implemented it in production although its not too hard to do so might be an interesting project. Alan