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(a)redhat.com | virtualization library
http://libvirt.org