- vSphere High Performance Cookbook
- Prasenjit Sarkar
- 457字
- 2021-08-13 16:22:57
Hyperthreaded core sharing
The Hyperthreaded (HT) core sharing option enables us to define the different types of physical core sharing techniques with the virtual machines.
A Hyperthreaded processor (or lCPU) has the same number of function units as an older, non-Hyperthreaded processor. HT offers two execution contexts, so that it can achieve better function unit utilization by letting more than one thread execute concurrently. On the other hand, if you're running two programs which compete for the same function units, there is no advantage at all on having both running concurrently. When one is running, the other is necessarily waiting on the same function units.
A dual core processor has two times as many function units as a single-core processor, and can really run two programs concurrently with no competition for function units. A CPU socket can contain multiple cores. Each core can do CPU-type work. Twice as many cores will be able to do (roughly) twice as much work. If a core also has Hyperthreading enabled, then each core has two logical processors. However, two lCPUs cannot do twice as much work as one.
Getting ready
To step through this recipe, you need a running ESXi Server, a running virtual machine, VMware vCenter Server, and a working installation of vSphere Client. No other prerequisites are required.
How to do it...
Let's get started:
- Open up VMware vSphere Client.
- Log in to the vCenter Server.
- From the home screen, navigate to Hosts and Clusters.
- Expand the left-hand navigation list.
- Navigate to any one of the virtual machine.
- Right-click on the virtual machine and select Edit Settings.
- Click on the Resources tab.
- Click on Advanced CPU.
- Under Hyperthreaded Core Sharing, use the drop-down list to select any one of the available options.
There are three different HT sharing methods, as follows:
- Any
- None
- Internal
How it works...
The following table elaborates the three methods of core sharing:

These options have no effect on the fairness or CPU time allocation. Regardless of a virtual machine's hyperthreading settings, it still receives CPU time proportional to its CPU shares, and constrained by its CPU reservation and CPU limit values.
There's more...
If there are running VMs on the same virtual infrastructure cluster with different numbers of vCPU (for example, one vCPU and two vCPUs) then there is a good chance that one vCPU of your dual vCPU VM can work alone on one physical CPU and the other vCPU has to share a physical CPU with another VM. This causes tremendous synchronization overhead between the two vCPUs (you don't have this in physical multi-CPU machines because this sync is hardware based) which can cause the system process within the VM to go up from 50 percent to 100 percent CPU load.
- JBoss Weld CDI for Java Platform
- Bootstrap Site Blueprints Volume II
- 簡單高效LATEX
- jQuery EasyUI網站開發實戰
- 編寫高質量代碼:改善C程序代碼的125個建議
- PHP 編程從入門到實踐
- 高級C/C++編譯技術(典藏版)
- Unity 2017 Mobile Game Development
- Extreme C
- 精通MySQL 8(視頻教學版)
- NGUI for Unity
- 超好玩的Scratch 3.5少兒編程
- Java高并發編程詳解:深入理解并發核心庫
- Clojure High Performance Programming(Second Edition)
- Visual C#(學習筆記)