5

云计算虚拟化三部曲之一:CPU和内存虚拟化

 2 years ago
source link: https://www.51cto.com/article/750606.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

云计算虚拟化三部曲之一:CPU和内存虚拟化

作者:IT一指禅 2023-03-30 07:39:57
我们知道,虚拟化技术是云计算的核心技术。通过虚拟化,可以切割计算、存储和网络资源的颗粒度。虚拟机可根据需要从池子里获取和释放各类型资源。

大家好,我是IT售前工程师Bernie.

我们知道,虚拟化技术是云计算的核心技术。通过虚拟化,可以切割计算、存储和网络资源的颗粒度。虚拟机可根据需要从池子里获取和释放各类型资源。

也就是说:当一个虚拟机繁忙的时候可以从池子里申请资源;当它闲置的时候,再把这部分资源让出来,让其他的这个虚拟机获取。

Bernie将用3篇文章详细论述计算资源虚拟化、存储资源虚拟化和网络资源虚拟化的底层原理。本文是第一篇,讨论计算资源的虚拟化,欢迎阅读。

e230a3f235c3f3b316c159477cc3868e168287.png

计算资源主要是CPU和内存,虚拟化也就是这两种资源的虚拟化。

CPU虚拟化

我们以一台Intel6248R服务器为例,进行深度的剖析。服务器的CPU配置为:24核心、48线程,主频是3GHz,并且支持超线程。

c8bb08497db1a31a344684a7d32f79006ce43b.png

那么一颗CPU的算力是多少呢?

未开启超线程时

一个CPU的算力 = 主频 * CPU核心数;

所以一颗6248R的CPU算力是 = 3*24 = 72GHz。

开启超线程时

超线程也是一个十分重要的概念,后续可以专门写一篇文章说明,这里简单说一下:超线程是将一颗物理CPU通过复用的方式变为2颗逻辑CPU。

所以,如果开启超线程的话,一颗物理6248R的CPU算力是

3*24*2=144GHz

正常情况下一台服务器是不会只配置一颗CPU的,至少也是2颗,我们就按照2颗计算。那么,在开启超线程的情况下,一台服务器的总算力就是288GHz。

开启超线程后,对于单个CPU来说,可以提供出来的计算资源为

163dc7531abc6f04edb02934e3bddaef6c209a.png

如果我们规定:一个最小集群中可以部署了4台同样的服务器,那么这个集群的总算力就是288*4=1152GHz

57c91d43415d59d34b52420b4e162c20085b35.png

接下来,最重要的一步要来了!

虚拟化之后,我们会通过云管平台创建一些虚拟机VM,这些虚拟机是如何分配上面说的这么多CPU算力的呢?

实际上,我们是给创建的虚拟机划分线程的形式分配算力的。比如下图,创建两个虚拟机:VM1和VM2,然后给VM1划分3个线程,给VM2划分4个线程。这就意味着VM1具备了9GHz的算力,VM2具备了12GHz的算力。

虚拟机VM中的vCPU即为一个线程。所以,对于一台服务器来说,在同一时刻所有VM中vCPU的总数不能高于总线程数。比如例子中的vCPU个数不能大于96.

5155fb827e9471cd2a27806bf14c3e811180f7.png

这里有一个问题:在上述例子中,我们假设总共创建了10个VM,把96个线程全部瓜分完了。我们还能继续创建虚拟机吗?

原因是:在云计算中存在资源超分的概念。

比如下面是7个线程,我们创建了3个虚拟机,每台虚拟机分配了3个线程。如果在同一时刻,3个VM同时占满3个线程显然是不合适的,也做不到。

4952f5243306a3c494c792227fff043fba7f49.png

但是,云计算的超分状态完美地解决了资源过饱和的问题。在超分模式下,vCPU可以通过时间分片轮流使用线程的方式进行计算。

不过超分模式也并不是十分完美的,它有可能降低vCPU实际算力。比如:原本一个线程是3GHz,即每秒钟计算30亿次,有可能在时间片轮流使用的情况下,平均1秒钟它能够使用到的时间只有0.5s,也就是说:每秒只能计算15亿次。

所以,超分模式下vCPU的最高算力是主频,最低可能是总算力/vCPU个数。

我们在实际的虚拟化中,一般是会使用到超分的,这也是云计算的边际效应。否则,云计算的灵魂也就不复存在了。不过,超分比也不是越高越好,太高了会影响VM的实际算力。

CPU回收

当虚拟机销毁或者暂时不需要这么多计算资源时,就涉及到CPU的回收,以实现物理资源的最大化利用。因为vCPU虚拟化是通过分时复用实现的,所以只要VM结束就会自动将CPU释放掉,其他的虚拟机就可以申请使用空闲区的CPU算力了。

内存虚拟化

在一个资源池中,总的内存资源是每台服务器的内存的累加。内存的虚拟化过程比CPU简单一些,我们重点关注其申请和回收两个过程即可。

每个虚拟机VM可以向资源池申请内存,比如某个虚拟机VM1在创建时设置内存参数为4G,有可能开机的时候给它1G内存,在程序运行较多时再给它2G内存,但总数不超过4G。

a8f64bb99f7701284032533337d5ee0a20fc7f.png

由于VM存在超分的情况,所以不是说虚拟机VM销毁后,它占用的内存立即回收。因为这个内存有可能也在被其他VM使用ing。底层操作系统平台会周期性地扫描判断内存使用情况,来决定回收与否。

比如在v-Sphere虚拟化方案中,当服务器:

  • 6%=<可用内存,hostOS使用“TPS”方式回收;
  • 4%=<可用内存可用内存<6%,使用“TPS”+“气球”回收;
  • 2%=<可用内存可用内存<4%,使用“TPS”+“气球”+“压缩”+“交换文件”加速内存回收;
  • 可用内存<2%,使用“TPS”+"气球“压缩”+“交换文件”加速内存回收,同时禁止所有VM申请更多内存。
d1dac3809e80dc56787603d1d961e602183abf.png

以上是云计算中CPU和内存虚拟化的全部分享,篇幅有限,后续将发文进一步探讨存储虚拟化和网络虚拟化的相关内容。

文章出自:​​IT一指禅​​​,如有转载本文请联系【IT一指禅】今日头条号。

f4943c315baec70e9c5760d3d3c70cff157534.jpg

责任编辑:武晓燕 来源: 今日头条

Recommend

  • 46
    • biz.51cto.com 6 years ago
    • Cache

    云计算基础知识:CPU虚拟化

    服务器虚拟化技术按照虚拟对象来分,可分为:CPU虚拟化、内存虚拟化、I/O虚拟化;按照虚拟化程度可分为:全虚拟化、半虚拟化、硬件辅助虚拟化。

  • 25

    通过对云计算数据中心提高资源利用率和用户QOS的需求进行分析,围绕其中的关键技术虚拟化技术,从服务器虚拟化、网络虚拟化、存储虚拟化三个方面进行总结,针对云计算平台建立其可用性模型,分析了IAAS,PAAS,SAAS 三种云服务模式的可用...

  • 10
    • Github github.com 4 years ago
    • Cache

    性能优化三部曲之一——构建篇

    接手新项目,发现项目最基本的文件压缩没有,离线包有多余文件,md5也并没有做好, 构建是用coffeescript写的,维护成本及交接成本大,关键的是,构建维护的人离职了 作为新人,希望从头写一个构建,这样为以后独立开展项目...

  • 12
    • abcdxyzk.github.io 4 years ago
    • Cache

    KVM源代码分析3:CPU虚拟化

    KVM源代码分析3:CPU虚拟化 2015-07-29 14:48:00 http://www.oenhan.com/kvm-src-3-cpu 在虚拟机的创建与运行章节里面笼统的介绍了KVM在qemu中的创建和运...

  • 6

    IT运营和网络实践的现代化导致自动化和计算技术和工具的快速采用。这些被归为云计算自动化的一部分。云计算自动化被认为是组织成功进行数字化转型的必要条件之一,因此,组织需要深入研究自动化流程如何有效地从环境、分析、劳动力管理优化、资源...

  • 8

    云计算、云测试、云营销,打响企业“数字化三部曲” - IT业界_CIO时代网 - CIO时代—新技术、新商业、新管理云计算、云测试、云营销,打响企业“数字化三部曲” 2021-07-02 15:00:12  来源: 摘要:如同参天巨树...

  • 6

    「发现开源三部曲」之一:《开源之迷》开源世界充满了迷人的氛围:人、日常、生活、城市乃至形成的文化,似乎我们身处其中,永远也有讲不完的故事,聊不完的值得喜悦的事情,我们对某些开放的技术赞不绝口,我们对某位执拗的书呆子式的开发者崇拜有...

  • 0

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos 从本章开始,我们一起来...

  • 5

    Docker下Prometheus和Grafana三部曲之一:极速体验 推荐 原创 欢迎访问我的G...

  • 6

    虚拟化交给DPU,让CPU做什么?太内卷了吧!-存储在线 当前位置:存储在线 > 新闻 ...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK