CLOUDSTACK-856. DOC. Incorporate review comments in CPU and RAM overcommit section of documentation.

This commit is contained in:
Jessica 2013-08-20 14:04:01 -07:00
parent 1350afce15
commit 717c25b323

View File

@ -30,11 +30,9 @@
resources. By increasing the over-provisioning ratio, more resource capacity will be used. If
the ratio is set to 1, no over-provisioning is done.</para>
<para>The administrator can also set global default over-provisioning ratios
in the cpu.overprovisioning.factor and mem.overprovisioning.factor global configuration variables.</para>
<note>
<para>In XenServer, due to a constraint of this hypervisor, you can not use an
over-provisioning factor greater than 4.</para>
</note>
in the cpu.overprovisioning.factor and mem.overprovisioning.factor global configuration variables.
The default value of these variables is 1: over-provisioning is turned off by default.
</para>
<para>Over-provisioning ratios are dynamically substituted in &PRODUCT;'s capacity
calculations. For example: </para>
<para>Capacity = 2 GB</para>
@ -45,13 +43,12 @@
<para>Free = 1 GB</para>
<para>The administrator can specify a memory over-provisioning ratio, and can specify both CPU and
memory over-provisioning ratios on a per-cluster basis.</para>
<para>In any given cloud, the optimum number of VMs for each host is affected by such things
as the hypervisor, storage, and hardware configuration. These may be different for each
cluster in the same cloud. A single global over-provisioning setting could not provide the
best utilization for all the different clusters in the cloud. It had to be set for the
lowest common denominator. The new per-cluster setting provides a finer granularity for
better utilization of resources, no matter where the &PRODUCT; placement algorithm decides
to place a VM.</para>
<para>In any given cloud, the optimum number of VMs for each host is affected by such things as
the hypervisor, storage, and hardware configuration. These may be different for each cluster in
the same cloud. A single global over-provisioning setting can not provide the best utilization
for all the different clusters in the cloud. It has to be set for the lowest common denominator.
The per-cluster setting provides a finer granularity for better utilization of resources, no
matter where the &PRODUCT; placement algorithm decides to place a VM.</para>
<para>The overprovisioning settings can be used along with dedicated resources (assigning a
specific cluster to an account) to effectively offer different levels of service to
different accounts. For example, an account paying for a more expensive level of service
@ -61,6 +58,16 @@
capability to perform the CPU and RAM over-provisioning which is configured for that
cluster. It is up to the administrator to be sure the host is actually suitable for the
level of over-provisioning which has been set.</para>
<section id="overcommit-limitations">
<title>Limitations on Over-Provisioning in XenServer and KVM</title>
<itemizedlist>
<listitem><para>In XenServer, due to a constraint of this hypervisor, you can not use an
over-provisioning factor greater than 4.</para></listitem>
<listitem><para>The KVM hypervisor can not manage memory allocation to VMs dynamically.
&PRODUCT; sets the minimum and maximum amount of memory that a VM can use.
The hypervisor adjusts the memory within the set limits based on the memory contention.</para></listitem>
</itemizedlist>
</section>
<section id="overcommit-prerequisites">
<title>Requirements for Over-Provisioning</title>
<para>Several prerequisites are required in order for over-provisioning to function
@ -106,9 +113,21 @@
</section>
<section id="create-overcommit">
<title>Setting Over-Provisioning Ratios</title>
<para>The root admin can set CPU and RAM over-provisioning ratios when creating a cluster.
The ratios can also be modified later for an existing cluster. In this case, only VMs
deployed after the change are affected by the new setting.</para>
<para>There are two ways the root admin can set CPU and RAM over-provisioning ratios. First, the
global configuration settings cpu.overprovisioning.factor and mem.overprovisioning.factor will
be applied when a new cluster is created. Later, the ratios can be modified for an existing
cluster.</para>
<para>Only VMs deployed after the change are affected by the new setting.
If you want VMs deployed before the change to adopt the new over-provisioning ratio,
you must stop and restart the VMs.
When this is done, &PRODUCT; recalculates or scales the used and
reserved capacities based on the new over-provisioning ratios,
to ensure that &PRODUCT; is correctly tracking the amount of free capacity.</para>
<note><para>It is safer not to deploy additional new VMs while the capacity recalculation is underway, in
case the new values for available capacity are not high enough to accommodate the new VMs.
Just wait for the new used/available values to become available, to be sure there is room
for all the new VMs you want.</para></note>
<para>To change the over-provisioning ratios for an existing cluster:</para>
<orderedlist>
<listitem>
<para>Log in as administrator to the &PRODUCT; UI.</para>
@ -120,12 +139,13 @@
<para>Under Clusters, click View All.</para>
</listitem>
<listitem>
<para>Click Add Cluster.</para>
<para>Select the cluster you want to work with, and click the Edit button.</para>
</listitem>
<listitem>
<para>Fill in your desired over-provisioning multipliers in the fields CPU overcommit
ratio and RAM overcommit ratio. The value of 1 which is intially shown in these
fields is the default value: over-provisioning is turned off by default. </para>
ratio and RAM overcommit ratio. The value which is intially shown in these
fields is the default value inherited from the global configuration settings.
</para>
<note>
<para>In XenServer, due to a constraint of this hypervisor, you can not use an
over-provisioning factor greater than 4.</para>
@ -135,7 +155,7 @@
</section>
<section id="op-service-offering-limits">
<title>Service Offering Limits and Over-Provisioning</title>
<para>Service offerings limits (e.g. 1 GHz, 1 core) are strictly enforced for core count. For example, a guest with a service offering of one core will have only one core available to it regardless of other activity on the Host. </para>
<para>Service offering limits (e.g. 1 GHz, 1 core) are strictly enforced for core count. For example, a guest with a service offering of one core will have only one core available to it regardless of other activity on the Host. </para>
<para>Service offering limits for gigahertz are enforced only in the presence of contention for CPU resources. For example, suppose that a guest was created with a service offering of 1 GHz on a Host that has 2 GHz cores, and that guest is the only guest running on the Host. The guest will have the full 2 GHz available to it. When multiple guests are attempting to use the CPU a weighting factor is used to schedule CPU resources. The weight is based on the clock speed in the service offering. Guests receive a CPU allocation that is proportionate to the GHz in the service offering. For example, a guest created from a 2 GHz service offering will receive twice the CPU allocation as a guest created from a 1 GHz service offering. &PRODUCT; does not perform memory over-provisioning.</para>
</section>
</section>