[Libvir] VCPU mapping into the XML

Hugh Brock hbrock at redhat.com
Wed Feb 28 16:22:32 UTC 2007


ASANO Yuzuru wrote:
> Hugh Brock wrote:
>> Daniel P. Berrange wrote:
>>> Libvirt is really just the lowest level is what I see as a stack of tools
>>> for managing virtual machines. Above libvirt I'd expect to see some form
>>> of 'policy manager' which defines/controls things such as VCPU mapping,
>>> or schedular parameters, and even managing when a VM runs at all. One
>>> simple policy manager might just apply a statically defined VCPU mapping
>>> when a new guest starts up. A more advanced policy manager would collect
>>> resource utilization data, perform some analysis on this data, and thus
>>> apply changes to the VCPU mapping periodically over lifetime of a guest.
>>> Such VM policy management tools can already just use the existing APIs
>>> for setting VCPU mapping.
>>>
>> I'd be very excited if we could get to a first cut of a simple policy
>> manager in the fedora 8 timeframe. At a minimum, I would think such a
>> thing would need to be able to do the following:
>>
>> 1. Store policy information about a guest. At a minimum we would want to
>> store cpu pin/weight/cap information; beyond that, dependency
>> information (don't start me until some other VM is up and running).
>>
>> 2. Retrieve policy information on request. So for example we might want
>> to tell libvirt to ask the manager for policy information before
>> starting a guest, or before shutting one down.
>>
>> Just these features would be great for a first cut. Then going forward,
>> we could start thinking about receiving monitoring information and
>> responding to events. The tricky thing, it seems to me, is going to be
>> designing the thing in such a way that it won't take forever to
>> implement the simple part now, but can still be extended to do more later.
> 
> The features I would want to implement now is essentially included in the
> above mentioned contents. More correctly, I would particularly want to
> implement the following 3 features.
> 
> - New domain started by libvirt is set the policy information
>     (cpu pin/weight/cap) by policy manager.
> - A domain rebooted by libvirt keeps configuration of policy information.
> - Some domains can use specified pCPUs by occupancy and the other domains
>     are configured not able to use the pCPUs by policy manager.
> 
> Are these proposed futures enough for your first step?
> If you agreed, I will start design & implementation.
> 
> Regards,
> Yuzuru Asano.
> 

I think this is a good place to start. As Dan says in another email, we 
may wind up doing many implementations of this idea before we get it 
right. Once you have a design in mind, post it here for comments if you 
would. Thanks!

--Hugh

-- 
Red Hat Virtualization Group http://redhat.com/virtualization
Hugh Brock           | virt-manager http://virt-manager.org
hbrock at redhat.com    | virtualization library http://libvirt.org




More information about the libvir-list mailing list