From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: Cpu pools discussion Date: Wed, 29 Jul 2009 07:47:46 +0200 Message-ID: <4A6FE282.60403@ts.fujitsu.com> References: <4c912ce4-270a-49c5-80a2-dc975949c3bb@default> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4c912ce4-270a-49c5-80a2-dc975949c3bb@default> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Dan Magenheimer Cc: George Dunlap , xen-devel@lists.xensource.com, zhigang.x.wang@oracle.com, Tim Deegan , Keir Fraser List-Id: xen-devel@lists.xenproject.org Dan Magenheimer wrote: > Sorry for the late join... > > I wonder if cpu pools helps with the following problem: > > Some large software company that shall remain nameless > continues to license their high value applications > on a per-pcpu basis rather than on a per-vcpu basis. > As a result, VMs running these applications must be > restricted to specific pcpu's which are "licensed" to > run the software. > > Currently this is done with pinning, but pinning > does restrict the flexibility of a multi-vcpu VM. > Affinity seems like it should help, but affinity > doesn't restrict the VM from running on a non-affinitive > pcpu (does it?) > > For example, assume you have an 8 vcpu VM and it > must be restricted to a 2 pcpu license on a > 4 pcpu server. Ideally, you'd like any of the 8 > vcpus to be assigned to either pcpu at any time > so you don't want to pin, for example, even > vcpu's to pcpu#0 and odd vcpu's to pcpu#1. > And, if all vcpus are idle, you'd like pcpu#0 > and pcpu#1 to be free to run other VMs. > > Can this be done with cpu pools (easier than / more > flexibly than / and not at all ) with current pinning > and affinity? Pools will restrict the assigned domains to the assigned pcpus. This can be done by affinity masks as well. But pools won't allow domains of pool B to run on idle pcpus of pool A. > > Also in a data center, does cpu pools make it possible/ > easier for tools to pre-assign a subset of processors > on ALL servers in the data center to serve a certain > licensed class of VMs? For example, perhaps one > would like to upgrade some of the machines in one's > virtual data center from dual-core to quad-core but > not pay for additional per-pcpu app licenses (i.e. > the additional pcpus will be used for other non-licensed > VMs). Tools could assign two pcpus on each server > to be part of the "DB pool" thus restricting execution > (and license fees) but still allowing easy migration. > > Can this be done with cpu pools (easier than / more > flexibly than / and not at all ) with current pinning > and affinity? This is easy doable with pools. We are doing this for our BS2000 system. > > If the answer to these questions is yes, than I > suspect one large software company might be very > interested in cpu pools. Is one "yes" enough? :-) Juergen -- Juergen Gross Principal Developer Operating Systems TSP ES&S SWE OS6 Telephone: +49 (0) 89 636 47950 Fujitsu Technolgy Solutions e-mail: juergen.gross@ts.fujitsu.com Otto-Hahn-Ring 6 Internet: ts.fujitsu.com D-81739 Muenchen Company details: ts.fujitsu.com/imprint.html