Hyper-threading (HT) or Simultaneous Multi-Threading (SMT) refers to the CPU capabilities that allow multiple CPU threads (HT thread) to execute together on the same CPU core. In the case of virtualization on ESX, the same terminologies are used with prefix v to indicate virtual Hyper-threading (vHT). Currently, with no vHT on ESX, each virtual CPU (vCPU) represent a virtual core (vCore) for the GOS. In the case of this feature being enabled, vCPU will refer to one of the vHT thread on the virtual Core (vCore).

Steps to enable vHT:

Prerequisites

vHT is supported on higher revisions from the following product versions:

Product

Version

VMware Telco Cloud Automation and Control Plane

2.1.0

vCenter Server OVA

7.0 U3f

ESXi

7.0 U3f

Procedure

  1. Ensure that you are using the supported VMware Telco Cloud Automation/Control Plane, ESXi, and vCenter Server versions.
  2. Log in to VMware Telco Cloud Automation.
  3. Create a CSAR file or edit an existing file, for example, /Definitions/VNFD.yaml, and add the following parameter under node_components.
    enableSMT: true

    For example:

  4. Instantiate the Network Function with the modified CSAR file.
  5. After instantiating the Network Function, log in to the Worker node and verify that the following values are set, as expected.
    % ssh [email protected]
    ([email protected]) Password:
    Last login: Wed Feb 9 23:42:28 2022 from 172.31.251.4
    00:00:02 up 1 day, 4:11, 1 user, load average: 2.06, 2.28, 2.06
    capv@wc-smc-np1-759ffb5759-fpfmx [ ~ ]$ sudo su
    root [ /home/capv ]# cat /sys/devices/system/cpu/smt/active
    1
    root [ /home/capv ]# cat /sys/devices/system/cpu/smt/control
    on
    root [ /home/capv ]# lscpu
    Architecture: x86_64
    CPU op-mode(s): 32-bit, 64-bit
    Byte Order: Little Endian
    CPU(s): 32
    On-line CPU(s) list: 0-31
    Thread(s) per core: 2
    Core(s) per socket: 16
    Socket(s): 1
    NUMA node(s): 1
    Vendor ID: GenuineIntel
    CPU family: 6
    Model: 106
    Model name: Intel(R) Xeon(R) Gold 6312U CPU @ 2.40GHz
    Stepping: 6
    CPU MHz: 2399.999
    BogoMIPS: 4799.99
    Hypervisor vendor: VMware
    Virtualization type: full
    L1d cache: 48K
    L1i cache: 32K
    L2 cache: 1280K
    L3 cache: 36864K
    NUMA node0 CPU(s): 0-31
    Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid md_clear flush_l1d arch_capabilities
    root [ /home/capv ]# cat /sys/devices/system/cpu/cpu0/topology/thread_siblings_list
    0-1
    root [ /home/capv ]# cat /sys/devices/system/cpu/cpu1/topology/thread_siblings_list
    0-1
    
    root [ /home/capv ]# cat /sys/devices/system/cpu/cpu30/topology/thread_siblings_list
    30-31
    root [ /home/capv ]# cat /sys/devices/system/cpu/cpu31/topology/thread_siblings_list
    30-31
    root [ /home/capv ]#

    If vHT is not enabled, the values are:

    capv@wc-h1314-np1314-594dc47cb9-kxr5f [ ~ ]$ sudo su
    root [ /home/capv ]# cat /sys/devices/system/cpu/smt/active
    0
    root [ /home/capv ]# cat /sys/devices/system/cpu/smt/control
    notsupported
    root [ /home/capv ]# lscpu
    Architecture: x86_64
    CPU op-mode(s): 32-bit, 64-bit
    Byte Order: Little Endian
    CPU(s): 64
    On-line CPU(s) list: 0,2-63
    Off-line CPU(s) list: 1
    Thread(s) per core: 1
    Core(s) per socket: 63
    Socket(s): 1
    NUMA node(s): 1
    Vendor ID: GenuineIntel
    CPU family: 6
    Model: 106
    Model name: Intel(R) Xeon(R) Gold 6338N CPU @ 2.20GHz
    Stepping: 6
    CPU MHz: 1496.484
    BogoMIPS: 2992.96
    Hypervisor vendor: VMware
    Virtualization type: full
    L1d cache: 48K
    L1i cache: 32K
    L2 cache: 1280K
    L3 cache: 49152K
    NUMA node0 CPU(s): 0,2-63
    Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid md_clear flush_l1d arch_capabilities
    root [ /home/capv ]# cat /sys/devices/system/cpu/cpu2/topology/thread_siblings_list
    2
    root [ /home/capv ]# cat /sys/devices/system/cpu/cpu3/topology/thread_siblings_list
    3
    root [ /home/capv ]# cat /sys/devices/system/cpu/cpu62/topology/thread_siblings_list
    62
    root [ /home/capv ]# cat /sys/devices/system/cpu/cpu63/topology/thread_siblings_list
    63
    root [ /home/capv ]#