- 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.
- Embedded Linux Projects Using Yocto Project Cookbook
- Android應用程序開發與典型案例
- 數據庫原理及應用(Access版)第3版
- CMDB分步構建指南
- x86匯編語言:從實模式到保護模式(第2版)
- Java虛擬機字節碼:從入門到實戰
- Python神經網絡項目實戰
- 游戲程序設計教程
- Building RESTful Python Web Services
- 打開Go語言之門:入門、實戰與進階
- 軟件項目管理實用教程
- 編寫高質量代碼:改善Objective-C程序的61個建議
- Arduino計算機視覺編程
- Android應用開發深入學習實錄
- PHP 8從入門到精通(視頻教學版)