[Starlingx-discuss] 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
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-ga... Thanks. BR Austin Sun. From: Huang, Marvin [mailto:Marvin.Huang@windriver.com] Sent: Thursday, April 25, 2019 4:33 AM To: Sun, Austin <austin.sun@intel.com> Cc: starlingx-discuss@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
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? 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 c. Any OS level options changes, like options inside /etc/default/grub? 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 in 1? 3 Any user aware difference between the features enabled/disabled? Thanks! Marvin From: Sun, Austin [mailto:austin.sun@intel.com] Sent: Wednesday, April 24, 2019 9:55 PM To: Huang, Marvin Cc: starlingx-discuss@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-ga... Thanks. BR Austin Sun. From: Huang, Marvin [mailto:Marvin.Huang@windriver.com] Sent: Thursday, April 25, 2019 4:33 AM To: Sun, Austin <austin.sun@intel.com> Cc: starlingx-discuss@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
Sorry for late, please see online. From: Huang, Marvin [mailto:Marvin.Huang@windriver.com] Sent: Friday, April 26, 2019 12:17 AM To: Sun, Austin <austin.sun@intel.com> Cc: starlingx-discuss@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@intel.com] Sent: Wednesday, April 24, 2019 9:55 PM To: Huang, Marvin Cc: starlingx-discuss@lists.starlingx.io<mailto:starlingx-discuss@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-ga... Thanks. BR Austin Sun. From: Huang, Marvin [mailto:Marvin.Huang@windriver.com] Sent: Thursday, April 25, 2019 4:33 AM To: Sun, Austin <austin.sun@intel.com<mailto:austin.sun@intel.com>> Cc: starlingx-discuss@lists.starlingx.io<mailto:starlingx-discuss@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
Hi Tao, Regarding to Huge Page management rework, there's a US https://storyboard.openstack.org/#!/story/2004763, which has the following are the requirements: - Remove automatic allocation of the 1G huge pages from the kick starts for vswitch - Enable k8s huge page feature for worker nodes that do not have the openstack compute label. It should be disabled otherwise. - 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 - Do not allocate any huge pages by default for worker nodes without the openstack compute label. Up to the customer to configure. Here're some questions, please comment on them: REQUIRMENT 1: - Remove automatic allocation of the 1G huge pages from the kick starts for vswitch Is that meaning that, by default, no 1G huge pages for vswitch, no 'openstack compute label', and 'k8s huge page feature' IS ENABLED? REQUIRMENT 2: - Enable k8s huge page feature for worker nodes that do not have the openstack compute label. It should be disabled otherwise. q1: What is it meaning by 'Enable k8s huge page feature'? How to verify it? 1 Will any commands show the feature is enabled/disabled? e.g. Will it be shown in the options apiserver been started with, i.e. in the outputs of command 'sudo ps aux | grep apiserver | grep feature-gates'? And/or will any configuration files indicating it's enabled/disabled? I found currently, /var/lib/kubelet/config.yaml contains lines having 'featureGates' q2: Will adding/removing the label 'openstack-compute-node' after initial provision/installation, enable/disable the 'k8s huge page feature'? And those the states of enabled/disabled can be verified using the any methods for q1. REQUIRMENT 3: - 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 - Do not allocate any huge pages by default for worker nodes without the openstack compute label. Up to the customer to configure. q1: Does it mean if the label 'openstack-compute-node' is added to a node (hence 'k8s huge pages feature' is DISABLED), after been unlocked (it must be locked in order to add the label), certain numbers of 2M-pages and 1 1G-page will be allocated on the node, and can be verified with above mentioned methods? Thanks, Marvin
Hi Marvin, See inline comments below for the questions with regards to platform huge pages management, I will let Austin to address your queries related to k8s huge page feature testing. Tao From: Huang, Marvin Sent: Wednesday, May 1, 2019 5:20 PM To: Liu, Tao; Sun, Austin Cc: Eslimi, Dariush; Waheed, Numan; Xie, Cindy; starlingx-discuss@lists.starlingx.io Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763 Hi Tao, Regarding to Huge Page management rework, there's a US https://storyboard.openstack.org/#!/story/2004763, which has the following are the requirements: - Remove automatic allocation of the 1G huge pages from the kick starts for vswitch - Enable k8s huge page feature for worker nodes that do not have the openstack compute label. It should be disabled otherwise. - 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 - Do not allocate any huge pages by default for worker nodes without the openstack compute label. Up to the customer to configure. Here're some questions, please comment on them: REQUIRMENT 1: - Remove automatic allocation of the 1G huge pages from the kick starts for vswitch Is that meaning that, by default, no 1G huge pages for vswitch, no 'openstack compute label', and 'k8s huge page feature' IS ENABLED? TL> Yes, 1G per NUMA node for vswitch will be allocated when the vswitch type is set. 'k8s huge page feature' will be disabled when 'openstack compute label' is set. REQUIRMENT 2: - Enable k8s huge page feature for worker nodes that do not have the openstack compute label. It should be disabled otherwise. q1: What is it meaning by 'Enable k8s huge page feature'? How to verify it? TL>Perhaps Austin could share how he tested it. 1 Will any commands show the feature is enabled/disabled? e.g. Will it be shown in the options apiserver been started with, i.e. in the outputs of command 'sudo ps aux | grep apiserver | grep feature-gates'? And/or will any configuration files indicating it's enabled/disabled? I found currently, /var/lib/kubelet/config.yaml contains lines having 'featureGates' q2: Will adding/removing the label 'openstack-compute-node' after initial provision/installation, enable/disable the 'k8s huge page feature'? And those the states of enabled/disabled can be verified using the any methods for q1. TL> It should (after the host is unlocked). REQUIRMENT 3: - 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 - Do not allocate any huge pages by default for worker nodes without the openstack compute label. Up to the customer to configure. q1: Does it mean if the label 'openstack-compute-node' is added to a node (hence 'k8s huge pages feature' is DISABLED), after been unlocked (it must be locked in order to add the label), certain numbers of 2M-pages and 1 1G-page will be allocated on the node, and can be verified with above mentioned methods? TL> Only 2M huge pages will be allocated for applications by default, and they are shown in CLI and Horizon. The remaining available memory is calculated as 4K when the host is unlocked. You can also cat /sys/devices/system/node/nodex/hugepages/hugepages-2048kB/nr_hugepages to see the allocation in Linux. The users can configure 1G pages for applications via CLI/Horizon. Thanks, Marvin
Hi Marvin : The simplest way to check huge page feature is 'kubectl describe node compute-1 | grep hugepage' if compute is enabled hugepage and has pre-allocated 2M hugepage. If compute did not enable hugepage , then the command should return empty. For pod configuration you can refer to [1], but I did not tried trigger pod with hugepage. [1] https://stupefied-goodall-e282f7.netlify.com/contributors/design-proposals/r... Thanks. BR Austin Sun. From: Liu, Tao [mailto:Tao.Liu@windriver.com] Sent: Thursday, May 2, 2019 8:48 AM To: Huang, Marvin <Marvin.Huang@windriver.com>; Sun, Austin <austin.sun@intel.com> Cc: Eslimi, Dariush <Dariush.Eslimi@windriver.com>; Waheed, Numan <Numan.Waheed@windriver.com>; Xie, Cindy <cindy.xie@intel.com>; starlingx-discuss@lists.starlingx.io Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763 Hi Marvin, See inline comments below for the questions with regards to platform huge pages management, I will let Austin to address your queries related to k8s huge page feature testing. Tao From: Huang, Marvin Sent: Wednesday, May 1, 2019 5:20 PM To: Liu, Tao; Sun, Austin Cc: Eslimi, Dariush; Waheed, Numan; Xie, Cindy; starlingx-discuss@lists.starlingx.io<mailto:starlingx-discuss@lists.starlingx.io> Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763 Hi Tao, Regarding to Huge Page management rework, there's a US https://storyboard.openstack.org/#!/story/2004763, which has the following are the requirements: - Remove automatic allocation of the 1G huge pages from the kick starts for vswitch - Enable k8s huge page feature for worker nodes that do not have the openstack compute label. It should be disabled otherwise. - 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 - Do not allocate any huge pages by default for worker nodes without the openstack compute label. Up to the customer to configure. Here're some questions, please comment on them: REQUIRMENT 1: - Remove automatic allocation of the 1G huge pages from the kick starts for vswitch Is that meaning that, by default, no 1G huge pages for vswitch, no 'openstack compute label', and 'k8s huge page feature' IS ENABLED? TL> Yes, 1G per NUMA node for vswitch will be allocated when the vswitch type is set. 'k8s huge page feature' will be disabled when 'openstack compute label' is set. REQUIRMENT 2: - Enable k8s huge page feature for worker nodes that do not have the openstack compute label. It should be disabled otherwise. q1: What is it meaning by 'Enable k8s huge page feature'? How to verify it? TL>Perhaps Austin could share how he tested it. 1 Will any commands show the feature is enabled/disabled? e.g. Will it be shown in the options apiserver been started with, i.e. in the outputs of command 'sudo ps aux | grep apiserver | grep feature-gates'? And/or will any configuration files indicating it's enabled/disabled? I found currently, /var/lib/kubelet/config.yaml contains lines having 'featureGates' q2: Will adding/removing the label 'openstack-compute-node' after initial provision/installation, enable/disable the 'k8s huge page feature'? And those the states of enabled/disabled can be verified using the any methods for q1. TL> It should (after the host is unlocked). REQUIRMENT 3: - 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 - Do not allocate any huge pages by default for worker nodes without the openstack compute label. Up to the customer to configure. q1: Does it mean if the label 'openstack-compute-node' is added to a node (hence 'k8s huge pages feature' is DISABLED), after been unlocked (it must be locked in order to add the label), certain numbers of 2M-pages and 1 1G-page will be allocated on the node, and can be verified with above mentioned methods? TL> Only 2M huge pages will be allocated for applications by default, and they are shown in CLI and Horizon. The remaining available memory is calculated as 4K when the host is unlocked. You can also cat /sys/devices/system/node/nodex/hugepages/hugepages-2048kB/nr_hugepages to see the allocation in Linux. The users can configure 1G pages for applications via CLI/Horizon. Thanks, Marvin
Hi Tao/Austin, Thanks a lot for the information you provide! BRs, Marvin From: Sun, Austin [mailto:austin.sun@intel.com] Sent: Thursday, May 02, 2019 1:24 AM To: Liu, Tao; Huang, Marvin Cc: Eslimi, Dariush; Waheed, Numan; Xie, Cindy; starlingx-discuss@lists.starlingx.io Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763 Hi Marvin : The simplest way to check huge page feature is 'kubectl describe node compute-1 | grep hugepage' if compute is enabled hugepage and has pre-allocated 2M hugepage. If compute did not enable hugepage , then the command should return empty. For pod configuration you can refer to [1], but I did not tried trigger pod with hugepage. [1] https://stupefied-goodall-e282f7.netlify.com/contributors/design-proposals/r... Thanks. BR Austin Sun. From: Liu, Tao [mailto:Tao.Liu@windriver.com] Sent: Thursday, May 2, 2019 8:48 AM To: Huang, Marvin <Marvin.Huang@windriver.com>; Sun, Austin <austin.sun@intel.com> Cc: Eslimi, Dariush <Dariush.Eslimi@windriver.com>; Waheed, Numan <Numan.Waheed@windriver.com>; Xie, Cindy <cindy.xie@intel.com>; starlingx-discuss@lists.starlingx.io Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763 Hi Marvin, See inline comments below for the questions with regards to platform huge pages management, I will let Austin to address your queries related to k8s huge page feature testing. Tao From: Huang, Marvin Sent: Wednesday, May 1, 2019 5:20 PM To: Liu, Tao; Sun, Austin Cc: Eslimi, Dariush; Waheed, Numan; Xie, Cindy; starlingx-discuss@lists.starlingx.io<mailto:starlingx-discuss@lists.starlingx.io> Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763 Hi Tao, Regarding to Huge Page management rework, there's a US https://storyboard.openstack.org/#!/story/2004763, which has the following are the requirements: - Remove automatic allocation of the 1G huge pages from the kick starts for vswitch - Enable k8s huge page feature for worker nodes that do not have the openstack compute label. It should be disabled otherwise. - 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 - Do not allocate any huge pages by default for worker nodes without the openstack compute label. Up to the customer to configure. Here're some questions, please comment on them: REQUIRMENT 1: - Remove automatic allocation of the 1G huge pages from the kick starts for vswitch Is that meaning that, by default, no 1G huge pages for vswitch, no 'openstack compute label', and 'k8s huge page feature' IS ENABLED? TL> Yes, 1G per NUMA node for vswitch will be allocated when the vswitch type is set. 'k8s huge page feature' will be disabled when 'openstack compute label' is set. REQUIRMENT 2: - Enable k8s huge page feature for worker nodes that do not have the openstack compute label. It should be disabled otherwise. q1: What is it meaning by 'Enable k8s huge page feature'? How to verify it? TL>Perhaps Austin could share how he tested it. 1 Will any commands show the feature is enabled/disabled? e.g. Will it be shown in the options apiserver been started with, i.e. in the outputs of command 'sudo ps aux | grep apiserver | grep feature-gates'? And/or will any configuration files indicating it's enabled/disabled? I found currently, /var/lib/kubelet/config.yaml contains lines having 'featureGates' q2: Will adding/removing the label 'openstack-compute-node' after initial provision/installation, enable/disable the 'k8s huge page feature'? And those the states of enabled/disabled can be verified using the any methods for q1. TL> It should (after the host is unlocked). REQUIRMENT 3: - 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 - Do not allocate any huge pages by default for worker nodes without the openstack compute label. Up to the customer to configure. q1: Does it mean if the label 'openstack-compute-node' is added to a node (hence 'k8s huge pages feature' is DISABLED), after been unlocked (it must be locked in order to add the label), certain numbers of 2M-pages and 1 1G-page will be allocated on the node, and can be verified with above mentioned methods? TL> Only 2M huge pages will be allocated for applications by default, and they are shown in CLI and Horizon. The remaining available memory is calculated as 4K when the host is unlocked. You can also cat /sys/devices/system/node/nodex/hugepages/hugepages-2048kB/nr_hugepages to see the allocation in Linux. The users can configure 1G pages for applications via CLI/Horizon. Thanks, Marvin
participants (3)
-
Huang, Marvin
-
Liu, Tao
-
Sun, Austin