bernardodemarco commented on issue #12908:
URL: https://github.com/apache/cloudstack/issues/12908#issuecomment-4157384560

   Hello, @weizhouapache
   
   > proposal looks good overall.
   
   Thanks!
   
   > If I understand correctly, this means setting maxMemory for VMs with 
dynamic scaling enabled, right?
   
   The domain XML of VMs prepared for dynamic scaling includes both `vcpu` 
element, whose value defines the upper limit for vCPUs, and the `maxMemory` 
element, whose value defines the upper limit for memory. Both are required by 
KVM to enable live scaling.
   
   > I am wondering whether using global configurations is the best approach.
   
   Using global configurations is already the approach adopted by ACS. As 
described in the spec, for custom unconstrained offerings, the value of the 
`maxMemory` element is derived from the `vm.serviceoffering.ram.size.max` 
global setting, and the `vcpus` element is derived from the the 
`vm.serviceoffering.cpu.cores.max` setting. The new settings are introduced to: 
(i) better separate goals and responsibilities, since the existing settings are 
also used by unrelated workflows; and (ii) change their scope to be 
cluster-wide. 
   
   > In most cases, users tend to scale CPU/memory relative to the current VM 
size rather than relying on a fixed global limit.
   
   For end-users, the upper limit for memory and CPU are transparent. The 
settings `kvm.memory.dynamic.scaling.capacity` and 
`kvm.cpu.dynamic.scaling.capacity` are intended for operators to define a 
cluster-wide upper bound for the XML element values. In most cases, these 
settings will be set to `0` (default value), meaning that the host's maximum 
CPU and memory capacity will be used to determine the limits. Custom limits are 
expected to be used only in specific edge scenarios.
   
   > For example:
   > Relative scaling (e.g., doubling): 2GB → 4GB, 4GB → 8GB, 8GB → 16GB
   > Fixed increment scaling: 2GB → 4GB, 4GB → 6GB, 8GB → 10GB
   > Would it make more sense to support scaling policies based on the current 
allocation instead of a global maximum?
   
   Yes, this makes total sense. However, it is a new concept that ACS currently 
does not support. The current proposal focuses on leveraging existing features 
of ACS, i.e., it aims to enable changing the service offering of a VM 
dynamically, as it is currently already supported for other hypervisors.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to