- vSphere High Performance Cookbook(Second Edition)
- Kevin Elder Christopher Kusek Prasenjit Sarkar
- 244字
- 2021-07-02 20:59:50
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.
- Learning C# by Developing Games with Unity 2020
- 數字媒體應用教程
- Power Up Your PowToon Studio Project
- 垃圾回收的算法與實現
- Practical Data Science Cookbook(Second Edition)
- 深入淺出Spring Boot 2.x
- Java軟件開發基礎
- 基于SpringBoot實現:Java分布式中間件開發入門與實戰
- Programming Microsoft Dynamics? NAV 2015
- 深入理解Kafka:核心設計與實踐原理
- Java多線程并發體系實戰(微課視頻版)
- AngularJS UI Development
- 算法精解:C語言描述
- 游戲設計的底層邏輯
- 一步一步學Spring Boot:微服務項目實戰(第2版)