前言
本章将会讲解云计算虚拟化中的CPU虚拟化。
一.CPU虚拟化
在物理机(宿主机)中通过线程或进程这种纯软件方式模拟出假的CPU,通过CPU虚拟化就可以将一个物理CPU发给不同的虚拟机使用。
- 虚拟出来的每颗CPU实际上就是一个线程或者进程,因此物理CPU核数要大于虚拟CPU总核数。
1.CPU虚拟化的计算
计算公式:总资源=服务器CPU个数*单个CPUx核数kernel*线程(超线程为2,单线程为1)
(1)一颗cpu的算力
1. 未开启超线程 算力=cpu核心数*主频
2.开启超线程 算力=cpu核心数*2*主频 超线程是将一颗cpu通过分时复用的方式变为2个逻辑cpu,操作系统识别到的就是逻辑cpu
(2) 一台服务器的算力
整个服务器的”算力“= cpu个数*cpu核心数*2*主频
(3)集群的算力
服务器1+服务器2的”算力“=整个集群的”算力“
(4)举例
例如:某服务器有四个主频为3.0GHZ的CPU,每个CPU四核,超线程。可以虚拟多少VCPU口和总资源?
每个CPU有4核x2线程=8个线程,服务部有西个主颇也就是四个CPU,则服务器总共可以虚拟的
VCPU=8×4=32个
总资源=32×3.0GHZ=96GHZ
一般多个虚拟机之间可以复用一个物理CPU.所以单台服务器上的虚拟机可以使用的VCPU大于总的VCPU数量。
2.CPU Qos
CPU QoS(Quality of Service)服务质量,用来控制虚拟机使用CPU资源量的大小。
- CPU资源限额:控制虚拟机占用物理资源使用的上限。
- CPU资源份额:定义了多台虚拟机在竞争物理CPU资源时,需按比例分配计算资源。
- CPU预留资源:定义了多台虚拟机在竞争物理CPU时,每台虚拟机最低分配的计算资源。
例:一个2.8GHZ单物理机,三台VM:A、B、C,分得的份额分别是1000、2000、4000,预留分别是700MHZ、0MHZ、0MHZ。思考一下满CPU运行时每台资源?
(三个都有)预留———》份额————》限额
- A=700MHZ
- B=(2.8GHZ-700MHZ) × 1/3 =700MHZ
- C=(2.8GHZ-700MHZ)× 2/3 =1400MHZ
(1)CPU Qos的优点
CPU QoS的优点是可以提高网络性能,提高网络的可靠性和稳定性,提高网络的安全性和可管理性。缺点是可能会增加网络延迟和降低网络吞吐量
3.NUMA
NUMA(Non Uniform Memory Access Architecture)非统一内存访问体系结构,提高物理服务器性能的一种技术。
(1)NUMA的优点
NUMA 的主要优点是伸缩性。
NUMA 体系结构在设计上已超越了 SMP 体系结构在伸缩性上的限制。通过 SMP,所有的内存访问都传递到相同的共享内存总线。
这种方式非常适用于 CPU 数量相对较少的情况,但不适用于具有几十个甚至几百个 CPU 的情况,因为这些 CPU 会相互竞争对共享内存总线的访问。
NUMA 通过限制任何一条内存总线上的 CPU 数量并依靠高速互连来连接各个节点,从而缓解了这些瓶颈状况。
- 将物理服务器的CPU和内存资源分到多个node上,node内的内存访问效率最高。
- NUMA保证了一个VM上的VCPU尽量分配到同一个node中的物理CPU上,如果一台VM的VCPU跨node访问内存的话,访问的延时肯定增加。
创作不易,求关注,点赞,收藏,谢谢~