云计算——CPU虚拟化

  • 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 
  •  座右铭:低头赶路,敬事如仪
  • 个人主页:网络豆的主页​​​​​

 前言

本章将会讲解云计算虚拟化中的CPU虚拟化。


一.CPU虚拟化

在物理机(宿主机)中通过线程或进程这种纯软件方式模拟出假的CPU,通过CPU虚拟化就可以将一个物理CPU发给不同的虚拟机使用。

  • 虚拟出来的每颗CPU实际上就是一个线程或者进程,因此物理CPU核数要大于虚拟CPU总核数。


 1.CPU虚拟化的计算

计算公式:总资源=服务器CPU个数*单个CPUx核数kernel*线程(超线程为2,单线程为1)

(1)一颗cpu的算力
代码语言:javascript
复制
1. 未开启超线程

算力=cpu核心数*主频

代码语言:javascript
复制
2.开启超线程

算力=cpu核心数2主频

超线程是将一颗cpu通过分时复用的方式变为2个逻辑cpu,操作系统识别到的就是逻辑cpu

(2) 一台服务器的算力
代码语言:javascript
复制
整个服务器的”算力“= cpu个数cpu核心数2*主频
(3)集群的算力
代码语言:javascript
复制
服务器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访问内存的话,访问的延时肯定增加。

 创作不易,求关注,点赞,收藏,谢谢~