官术网_书友最值得收藏!

CPU scheduler - processor topology/cache-aware

The ESXi Server has an advanced CPU scheduler geared towards providing high performance, fairness, and isolation of VMs running on Intel/AMD x86 architectures.

The ESXi CPU scheduler is designed with the following objectives:

  • Performance isolation: Multi-VM fairness
  • Coscheduling: Illusion that all vCPUs are concurrently online
  • Performance: High throughput, low latency, high scalability, and low overhead
  • Power efficiency: Saving power without losing performance
  • Wide Adoption: Enabling all the optimizations on diverse processor architecture

There can be only one active process per CPU at any given instant; for example, multiple vCPUs can run on the same pCPU, just not in one instance--often, there are more processes than CPUs. Therefore, queuing will occur, and the scheduler will become responsible for controlling the queue, handling priorities, and preempting the use of the CPU.

The main tasks of the CPU scheduler are to choose which world is to be scheduled to a processor. In order to give each world a chance to run, the scheduler dedicates a time slice (also known as the duration in which a world can be executed (usually 10-20 ms, 50 for VMkernel by default)) to each process and then migrates the state of the world between run, wait, co-stop, and ready.

ESXi implements the proportional share-based algorithm. It associates each world with a share of CPU resource across all VMs. This is called entitlement and is calculated from the user-provided resource specifications, such as shares, reservations, and limits.

主站蜘蛛池模板: 衡阳市| 彩票| 奈曼旗| 英德市| 蕉岭县| 枝江市| 抚远县| 繁峙县| 洛南县| 淮滨县| 台东县| 桂平市| 绥棱县| 潼南县| 农安县| 宜黄县| 二连浩特市| 朝阳市| 美姑县| 宁武县| 大宁县| 固阳县| 凤阳县| 进贤县| 罗田县| 蒙自县| 乐都县| 交城县| 克什克腾旗| 东明县| 比如县| 曲沃县| 崇信县| 平罗县| 麦盖提县| 克什克腾旗| 澳门| 张家口市| 光泽县| 姜堰市| 互助|