cpu 虚拟化

* cpu 资源池中的资源是指? 算力(用主频表达)

* 什么是主频?

cpu 的主频代表cpu的一个”核“每秒计算的次数(如:2.9Hz主频的cpu,可以每秒计算2.9G次,即29亿次)

*一颗cpu的算力

1. 未开启超线程

算力=cpu核心数*主频

2.开启超线程

算力=cpu核心数*2*主频

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

*一台服务器的算力

整个服务器的”算力“= cpu个数*cpu核心数*2*主频

*集群的算力

服务器1+服务器2的”算力“=整个集群的”算力“

EX:一个集群中包括3台双路服务器,所有的cpu军采用intel Xeon Gold 622R

question: 这个集群的总算力是多少?

总算力:2*16*2*2.9GHz*3=556.8GHz

注:
2(第一个):代表每个服务器2颗CPU
16:一颗cpu16个核心
2(第二个):代表支持超线程,是的每个物理cpu可以变为两个逻辑cpu
2.9GHz:代表每个逻辑cpu的主频
3:代表3台服务器

注:主频其实并不等于cpu的计算能力,但也是描述cpu计算能力的主要参数,云厂家都采用该参数描述算力

cpu 虚拟化_第1张图片

*VM申请资源

1、所有vm划分总算力

#让每个vm可以使用总算力的一部分,划分粒度是基于逻辑cpu划分的(即线程)
#EX:某资源池的总算力为2*16*2*2.9GHz=185.6GHz,其中VM1从总算力中划分2个线程使用,vm2从总算力中划分出3个线程使用。VM1就会获得5.8GHz的算力;vm2获得8.7GHz的算力

2、vm通过配置vcpu"划分"算力

#vm在创建时,通过配置vcpu来控制为其分配的线程数。
#一个vcpu代表要划分一个线程(即逻辑cpu)
#EX:创建一个vm,cpu部分的配置为6vcpu,代表要从算力池中划分6个线程给这个vm使用

3、限制

一个vm的vcpu个数不能大于物理线程数
#EX:一个资源池共64个线程,一个vm最大可以配置的vcpu的个数就是64个,不能超过64


可是通过vcpu超分的方法实现资源的充分利用。
#直接划分线程,每个vm的物理资源也不会一直100%,依然从在资源浪费
#超分更充分的复用资源

cpu 虚拟化_第2张图片

超分配方案

vm通过分时复用划分资源
#时分复用:当一台服务器上运行的所有vm的vcpu数量超过线程数时,将进入超分配状态,超分配模式下vcpu通过时分复用的方式,按照时间分片轮流使用线程进行计算

#vcpu的算力有可能降低:一个完整的线程如果主频是2GHz,1秒钟可以计算20亿次。当因为超分配有了时间篇轮询时,比如只能使用0.5s,则对这个vm来说相当于1秒钟可以计算10亿次;相当于vm的算力从2GHz变成了1GHz.

超分情况下vcpu的算力是一个范围:
#最低算力:总算力/vcpu数(所有vm都繁忙时)
#最高算力:vcpu*主频
EX:vm1的最低算力=8/6*2=2.67GHz;最高算力=2*2=4GHZ

超分配的问题:性能不可预期
#当大多数vm都比较空闲时,性能体验有没有超分区别不大
#当大多数vm都负载非常高时,cpu资源争抢严重,cpu处理不过来导致vm性能下降;如果有的vm比较重要,它的性能无法保障。

cpu资源控制方案

预留:为某vm预留的算力,算力不够vm无法启动(下限)//默认值为0
限制:vm的算力不可大于限制的算力 //默认无限制
份额:多个vm争抢算力资源时,份额高的vm可以抢到更多的算力  //默认值(1000/vm)


vcpu数量越多越好吗?
#在没有超分配的情况下,越多分的资源越多;(每个vm独占物理线程,不存在争抢资源)
#开启超分配的情况下
    #负载较高时,反而vcpu越少越好
    #vcpu多只代表性能上线高:当大部分vm空闲时,高vcpu的vm能获得更多的资源
    #cpu负载较高时vcpu多反而影响性能:因为一个vm的所有vcpu需要等待对应数量的物理线程都空闲了才可以开始计算,所以vcpu数量越多越难等到机会

cpu 虚拟化_第3张图片

vm1-4vcpu  vm2-2vcpu;两个vm都运行在4线程的资源池

T1时间:4个线程都空闲,vm1获得资源开始计算
T2时间:vm2获得资源,另外两个线程vm1无法使用,因为空闲资源不到4线程(此时浪费2线程的资源)

单个vm的vcpu越多浪费资源的概率越大

cpu资源的回收

回收的目的:
#暂时不用的资源可以可以被其他vm使用,实现物理资源的最大化利用

cpu无需回收:
#cpu虚拟化是通过时分复用的方式实现,因此只要vm计算结束就会自定释放资源,其他vm就可以使用空闲的资源

你可能感兴趣的:(虚拟化,云计算)