On Wed, Apr 16, 2014 at 5:01 PM, Klaus Aehlig <[email protected]> wrote:
> This design proposes to add relative CPU speed as a
> resource to be used in the Ganeti resource model.
> Implementing this design will solve issue 539.
>
> Signed-off-by: Klaus Aehlig <[email protected]>

LGTM

Thanks,

Guido
> ---
>  Makefile.am              |  1 +
>  doc/design-cpu-speed.rst | 43 +++++++++++++++++++++++++++++++++++++++++++
>  doc/design-draft.rst     |  1 +
>  3 files changed, 45 insertions(+)
>  create mode 100644 doc/design-cpu-speed.rst
>
> diff --git a/Makefile.am b/Makefile.am
> index 5be9d1c..3657014 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -556,6 +556,7 @@ docinput = \
>         doc/design-chained-jobs.rst \
>         doc/design-cmdlib-unittests.rst \
>         doc/design-cpu-pinning.rst \
> +       doc/design-cpu-speed.rst \
>         doc/design-daemons.rst \
>         doc/design-device-uuid-name.rst \
>         doc/design-draft.rst \
> diff --git a/doc/design-cpu-speed.rst b/doc/design-cpu-speed.rst
> new file mode 100644
> index 0000000..ec8634d
> --- /dev/null
> +++ b/doc/design-cpu-speed.rst
> @@ -0,0 +1,43 @@
> +===============================================
> +Taking relative CPU and disk speed into account
> +===============================================
> +
> +.. contents:: :depth: 4
> +
> +This document describes the suggested addition of a new
> +node-parameter, describing the CPU speed of a node,
> +relative to that of a normal node in the node group.
> +
> +
> +Current state and shortcomings
> +==============================
> +
> +Currently, for balancing a cluster, for most resources (disk, memory),
> +the ratio between the amount used and the amount available is taken as
> +a measure of load for that resources. As ``hbal`` tries to even out the
> +load in terms of these measures, larger nodes get a larger share of the
> +instances, even for a cluster not running at full capacity.
> +
> +For for one resources, however, hardware differences are not taken into
> +account: CPU speed. For CPU, the load is measured by the ratio of used 
> virtual
> +to physical CPUs on the node. Balancing this measure implictly assumes
> +equal speed of all CPUs.
> +
> +
> +Proposed changes
> +================
> +
> +It is proposed to add a new node parameter, ``cpu_speed``, that is a
> +floating-point number, with default value ``1.0``. It can be modified in the
> +same ways, as all other node parameters.
> +
> +The cluster metric used by ``htools`` will be changed to use the ratio
> +of virtual to physical cpus weighted by speed, rather than the plain
> +virtual-to-physical ratio. So, when balancing, nodes will be
> +considered as if they had physical cpus equal to ``cpu_speed`` times
> +the actual number.
> +
> +Finally, it should be noted that for IO load, in non-dedicated Ganeti, the
> +``spindle_count`` already serves the same purpose as the newly proposed
> +``cpu_speed``. It is a parameter to measure the amount of IO a node can 
> handle
> +in arbitrary units.
> diff --git a/doc/design-draft.rst b/doc/design-draft.rst
> index 7023901..55bed7c 100644
> --- a/doc/design-draft.rst
> +++ b/doc/design-draft.rst
> @@ -22,6 +22,7 @@ Design document drafts
>     design-move-instance-improvements.rst
>     design-node-security.rst
>     design-systemd.rst
> +   design-cpu-speed.rst
>
>  .. vim: set textwidth=72 :
>  .. Local Variables:
> --
> 1.9.1.423.g4596e3a
>



-- 
Guido Trotter
Ganeti Engineering
Google Germany GmbH
Dienerstr. 12, 80331, München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores
Steuernummer: 48/725/00206
Umsatzsteueridentifikationsnummer: DE813741370

Reply via email to