[Starlingx-discuss] questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763

Sun, Austin austin.sun at intel.com
Sat Apr 27 01:31:56 UTC 2019


Sorry for late,  please see online.

From: Huang, Marvin [mailto:Marvin.Huang at windriver.com]
Sent: Friday, April 26, 2019 12:17 AM
To: Sun, Austin <austin.sun at intel.com>
Cc: starlingx-discuss at lists.starlingx.io
Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763

Hi Austin,

Thanks for your information!

So given 'This feature is enable K8S feature-gate as describe in [1]':


1                 How to tell if this 'hugepage feature' is (currently) enabled or disabled? Any user visible signs in Horizon, CLIs outputs? Or it's transparent to users? Or:

a.      Is it only reflected in arguments to 'kubeadm init --feature-gates='...,hugepage=enable/disable', which is called to provision a node/master?
[Austin] the default hugepage is false,  and can be enabled by /etc/sysconfig/kubelet for node.

b.      And/or (also) is shown in /var/lib/kubelet/config.yaml, e.g.:
controller-0:~$ grep 'featureGate' /var/lib/kubelet/config.yaml -A2
featureGates:
  HugePages: false
                              [Austin] this is default setting .

c.      Any OS level options changes, like options inside /etc/default/grub?
[Austin]  As Story describe ,  disable 1G hugepage grub if vswitch_type is none .



2                 Can changing label enable or/and disable the 'hugepage feature'? For example, now assuming worker compute-0 has label 'openstack-compute-node', hence hugepage is disabled:

a.      We can remove the label 'openstack-compute-node ' using CLI
system host-label-remove compute-0 openstack-compute-node

b.      What the expected the system behavior after the label is removed? The 'hugepage feature' will be enabled after been unlocked, which can be verified using methods
[Austin] If label is removed, and unlock,  the hugepage should be disabled

       3             Any user aware difference between the features enabled/disabled?
                        [Austin] end user may not aware the difference.  This will be used for some k8s application.


Thanks!
Marvin

From: Sun, Austin [mailto:austin.sun at intel.com]
Sent: Wednesday, April 24, 2019 9:55 PM
To: Huang, Marvin
Cc: starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>
Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763

Hi,  Marvin:
     This feature is not directly related with  "system host-memory-modify" function, user still should be able to modify mem config as before.
     This feature is enable K8S feature-gate as describe in [1].   And K8S enabling hugepage feature is opposite to compute label
      ( means compute label is tagged, then  k8s hugepage feature is disabled (false), if compute label is not tagged , then k8s hugepage is enabled )


About your question about VM hugepage decrease, I did not dig into VM mem , so I cannot give more comments.



[1] https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/

Thanks.
BR
Austin Sun.

From: Huang, Marvin [mailto:Marvin.Huang at windriver.com]
Sent: Thursday, April 25, 2019 4:33 AM
To: Sun, Austin <austin.sun at intel.com<mailto:austin.sun at intel.com>>
Cc: starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>
Subject: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763

Hi Austin,

According to (Storyboard) 2004763<https://storyboard.openstack.org/%23!/story/2004763>, I know that you're working on the feature "Huge page management".

I've some questions about the feature.
Though one of its 2 tasks is still in Review (the other is shown merged), you might now have the answers already.

In the description of the Story, there are requirement:
"- Enable k8s huge page feature for worker nodes that do not have the openstack compute label. It should be disabled otherwise."

Questions: what is this meaning to users?

By 'Enable', is it meaning users can modify memory allocation on the node? (via the following):
system host-modify <worker-name> [-2M <2M hugepages number>] [-1G <1G hugepages number>] [-f <function>] ...
or Horizon: Admin -> Platform -> Host Inventory ...

Otherwise ('disabled'), the CLIs (system host-memory-xxx) will reject any requests?
Or the corresponding Horizon pages do not have any items to update the memory application? Or those were disabled?


"- Automatically defaults for worker nodes with openstack compute label. Changes will be applied on the unlock.
    - Current 2M huge page default settings
    - 1-1G huge page per numa node for vswitch "

Questions: in this situation, is the k8s huge page feature disabled (according to the above requirement)?
                And the (host-memory) CLIs will reject any requests?


And a question related with VMs:
If a VM using huge page (with flavor having 'hw:mem_page_size=large' or 'hw:mem_page_size=1048576') is  launched,  will the free memory pages decreased accordingly on the worker it's running on?
That is, if the VM is consuming 1G huge-page, the number of free page of 1G size on the hosting worker should be reduced by 1. Is this still the expected behavior?

This is the assumption in https://bugs.launchpad.net/starlingx/+bug/1813325.

Regards,
Marvin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.starlingx.io/pipermail/starlingx-discuss/attachments/20190427/512bff78/attachment.html>


More information about the Starlingx-discuss mailing list