Thanks Bharat for the bringing this up. I have a few questions and suggestions for you.
1. Why do we need it per cluster basis and when and where do you configure this ? I hope when we change it for a cluster it would not require MS reboot and be dynamically understood - is that the case ? If we make it cluster based allocators will have to check this config for each cluster while allocating and can potentially make allocators expensive. Same logic applies for dashboard calculation as well. What granularity and fine tuning do we require - do you have any use cases ? 2. What would happen in case of contention ? 3. Please remember to take care of alerts and dashboard related functionality. Along with this also list Zone/Pod.../host/pool API also use this factor. Please make sure that you take care of that as well. -Nitin On 26-Dec-2012, at 11:32 AM, Bharat Kumar wrote: > Hi all, > > Presently in Cloudstack there is a provision for cpu overcommit and no > provision for the ram overcommit. There is no way to configure the overcommit > ratios on a per cluster basis. > > So we propose to add a new feature to allow the ram overcommit and to specify > the overcommit ratios ( cpu/ram ) on a per cluster basis. > > Motivation to add the feature: > Most of the operating systems and applications do not use the allocated > resources to 100%. This makes it possible to allocate more resource than what > is actually available. The overcommitting of resources allows to run the > underutilized VMs in fewer number of hosts, This saves money and power. > Currently the cpu overcommit ratio is a global parameter which means there > is no way to fine tune or have a granular control over the overcommit ratios. > > This feature will enable > 1.) Configuring the overcommit ratios on a per cluster basis. > 2.) ram overcommit feature in xen and kvm. ( It is there for VMware.) > 3.) Updating the overcommit ratios of a cluster. > > Regards, > Bharat Kumar.