[nova] Persistent memory resource tracking model
Jay Pipes
jaypipes at gmail.com
Wed Jan 2 14:47:01 UTC 2019
On 12/21/2018 03:45 AM, Rui Zang wrote:
> It was advised in today's nova team meeting to bring this up by email.
>
> There has been some discussion on the how to track persistent memory
> resource in placement on the spec review [1].
>
> Background: persistent memory (PMEM) needs to be partitioned to
> namespaces to be consumed by VMs. Due to fragmentation issues, the spec
> proposed to use fixed sized PMEM namespaces.
The spec proposed to use fixed sized namespaces that is controllable by
the deployer, not fixed-size-for-everyone :) Just want to make sure
we're being clear here.
> The spec proposed way to represent PMEM namespaces is to use one
> Resource Provider (RP) for one PMEM namespace. An new standard Resource
> Class (RC) -- 'VPMEM_GB` is introduced to classify PMEM namspace RPs.
> For each PMEM namespace RP, the values for 'max_unit', 'min_unit',
> 'total' and 'step_size` are all set to the size of the PMEM namespace.
> In this way, it is guaranteed each RP will be consumed as a whole at one
> time.
>
> An alternative was brought out in the review. Different Custom Resource
> Classes ( CUSTOM_PMEM_XXXGB) can be used to designate PMEM namespaces of
> different sizes. The size of the PMEM namespace is encoded in the name
> of the custom Resource Class. And multiple PMEM namespaces of the same
> size (say 128G) can be represented by one RP of the same
Not represented by "one RP of the same CUSTOM_PMEM_128G". There would be
only one resource provider: the compute node itself. It would have an
inventory of, say, 8 CUSTOM_PMEM_128G resources.
> CUSTOM_PMEM_128G. In this way, the RP could have 'max_unit' and 'total'
> as the total number of the PMEM namespaces of the certain size. And the
> values of 'min_unit' and 'step_size' could set to 1.
No, the max_unit, min_unit, step_size and total would refer to the
number of *PMEM namespaces*, not the amount of GB of memory represented
by those namespaces.
Therefore, min_unit and step_size would be 1, max_unit would be the
total number of *namespaces* that could simultaneously be attached to a
single consumer (VM), and total would be 8 in our example where the
compute node had 8 of these pre-defined 128G PMEM namespaces.
> We believe both way could work. We would like to have a community
> consensus on which way to use.
> Email replies and review comments to the spec [1] are both welcomed.
Custom resource classes were invented for precisely this kind of use
case. The resource being represented is a namespace. The resource is not
"a Gibibyte of persistent memory".
Best,
-jay
> Regards,
> Zang, Rui
>
>
> [1] https://review.openstack.org/#/c/601596/
>
More information about the openstack-discuss
mailing list