CPU/RAM overcommit treated differently by "normal" and "NUMA topology" case

Bug #1485631 reported by Chris Friesen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Undecided
Michael Still

Bug Description

Currently in the NUMA topology case (so multi-node guest, dedicated CPUs, hugepages in the guest, etc.) a single guest is not allowed to consume more CPU/RAM than the host actually has in total regardless of the specified overcommit ratio. In other words, the overcommit ratio only applies when the host resources are being used by multiple guests. A given host resource can only be used once by any particular guest.

So as an example, if the host has 2 pCPUs in total for guests, a single guest instance is not allowed to use more than 2CPUs but you might be able to have 16 such instances running. (Assuming default CPU overcommit ratio.)

However, this is not true when the NUMA topology is not involved. In that case a host with 2 pCPUs would allow a guest with 3 vCPUs to be spawned.

We should pick one behaviour as "correct" and adjust the other one to match. Given that the NUMA topology case was discussed more recently, it seems reasonable to select it as the "correct" behaviour.

Revision history for this message
Nikola Đipanov (ndipanov) wrote :

I would say that the "correct" behaviour is what NUMA fitting logic does, and that is to not allow overcommit against itself, and we should fix "normal" (non - numa) overcommit.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/215764

Changed in nova:
assignee: nobody → Chris Friesen (cbf123)
status: New → In Progress
Changed in nova:
assignee: Chris Friesen (cbf123) → Michael Still (mikalstill)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/215764
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=95940ccbb9cbf0cbf6421b0650bf3e2c4dd12e61
Submitter: Jenkins
Branch: master

commit 95940ccbb9cbf0cbf6421b0650bf3e2c4dd12e61
Author: Chris Friesen <email address hidden>
Date: Fri Aug 21 13:34:04 2015 -0600

    Don't allow instance to overcommit against itself

    Even with overcommit enabled, a single instance shouldn't be allowed
    to consume more resources than the host has available.

    The NUMATopologyFilter already gives this behaviour, this is just
    updating the other filters.

    DocImpact: the largest size instance you can schedule to a single
    hypervisor node is the size of that hypervisor node. Overcommit is
    against other instances, not within a single instance.

    Change-Id: Ib5f2a5eb69bcfbc4f147be000cba29c0c2d11089
    Closes-Bug: #1485631

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → liberty-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: liberty-3 → 12.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.