揭秘云计算 | 5、关于云计算效率的讨论
一、 公有云效率更高?
解:公有云具有更高的效率。首先我们需要知道效率到底指的是什么。这是个亟须澄清的概念。在这里效率是指云数据中心(我们将在后文中介绍其定义)中的IT设备资源利用率,其中最具有代表性的指标就是CPU的综合利用率。当然,如果把诸如内存、网络、存储等因素都考虑进来会更全面,不过为了便于讨论,我们在本小节着重讨论CPU的资源利用率。

在数据中心中,我们习惯用电能利用效率(Power Usage Effectiveness,PUE)表示电力资源的利用率,它的计算式为PUE值=(C+P+I)/I,其中,C表示制冷、取暖等为保持机房环境温度而耗费的电量,P表示机房中非IT设备供电所耗费的电量,I表示IT设备耗电量。显然PUE值不可能小于或等于1,事实上全球范围内大多数云机房的PUE平均值大于2,而先进机房的PUE值几乎可以达到1.1,甚至是1.06,说明先进机房有着相当惊人的高电能利用率。我国从2013年开始要求新建数据中心的PUE值小于1.5,原有数据中心改造后的PUE值小于2,见表1-4。图1-22中列出的是2020年艾瑞咨询研究院公布的我国数据中心能耗分配情况,在PUE值等于2.0的情况下,IT设备能耗占比最大,制冷系统能耗次之,照明及其他设备能耗是最少的。此外,即使使用的技术相同,数据中心在不同地区的指标也不尽相同。例如,年平均气温较低的区域用于制冷系统的能耗会大幅降低,PUE值就较低。当然,各地的PUE要求也不同,一线城市和东部地区更为严格,且不同地区的电价也不同。

公有云的CPU资源利用率会高于私有云的吗?让我们用数据来说话,图1-23展示了数据中心能耗分配情况,图1-24列出了目前市场上主流的公有云/私有云服务器主机CPU的平均利用率。

图1-24中的数据清晰地说明了公有云服务器主机CPU的平均利用率远低于私有云,甚至亚马逊公司的AWS和微软公司的Azure都只有10%左右,相当于每10台服务器中只有一台在满负荷运转而另外9台在空转。同比私有云环境下的谷歌公司,其服务器主机CPU的平均利用率可以达到30%,曾是易安信(EMC)公司旗下的Virtustream甚至能达到惊人的70%。

公有云IT资源利用率较低的成因是公有云业务场景的多样化与负载高度的不可预知性。当CPU资源在被分配给某用户后,如果没有被该用户充分利用,就会出现CPU空转,进而造成事实上的浪费的情况。同样的问题也存在于其他资源分配上,例如网络带宽、磁盘空间等,这是基于时间共享“虚拟化”的必然结果。类似的基于时间共享技术的应用还有很多,比如蜂窝网络。时间共享的设计原则是“公平分配”,以确保每个被服务对象在单位时间内可获取同样多的资源,但平均主义也会造成在均分资源后因资源被闲置、空转而形成的事实浪费。
如何提高云数据中心的资源利用率呢?从数据中心能耗分布的角度而言,云主机服务器组件(尤其是CPU)每消耗1W,不间断电源(Uninterruptible PowerSystem,UPS)、空调制冷,以及配电箱、变压器等其他设备就会连带消耗1.84W。反之,如果能让CPU少消耗1W,那么这会为整个数据中心节能2.84W。图1-25是艾默生电气公司(Emerson)网络能源的统计数据。我们称这种瀑布流式的“级联”效应为叶栅效应、级联效应。

现在我们知道提高效率的核心是提高CPU的利用率或降低单位时间内整体CPU的能耗,这两个方向的最终目标是一致的。绝大多数的数据中心在提高资源利用率、降低能耗上有以下两种不同的路径:
(1)优化供给侧;
(2)优化需求侧。
优化供给侧并非本书关注的重点,不过为了全面起见,我们在此略作介绍。优化供给侧可以从以下几个方面来实施。
(1)在数据中心供电环节与发电环节上进行优化。
①围绕储能系统的效率进行优化。
②围绕数据中心发电环节进行优化。
(2)在数据中心机房温度控制环节上进行优化
①优化空调制冷系统。
②优化空气流动系统。在数据中心中,市电先通过交流电到直流电的转换对储能系统进行充电,储能系统中常见的设备是UPS(或飞轮)。
图1-26中列出了三大类数据中心储能系统,常见的是电化学储能,即我们常说的UPS。机械储能系统也经常被用到,电磁储能较少见,但未来如果相关技术有所突破,相信它在储能效率上也会得到相应提高。之后,UPS再把直流电转换为交流电为电源分配单元(Power DistributionUnit,PDU)供电。在这个二元连续(交流电—直流电—交流电)的转换过程中,电力存在损耗,以及生成大量废热需要制冷系统来降温。结合图1-23可知,供电与空调制冷的能耗占整个数据中心能耗的10%~47%,这里的范围表示从只供电但不制冷到既供电又制冷的能耗范围。

如何提高UPS效率,甚至是找到UPS替代方案是业界主要的努力方向。谷歌公司的经验是采用分布式UPS及电池系统直接对服务器机柜进行交流供电,在此过程中仅需要一次交流电到直流电的转换,由此可达到99.9%的UPS效率,远高于业界的平均效率(80%~90%)。其他常见的做法还有提高UPS到PDU电压、更新/升级UPS或直接对服务器进行高压直流输电等。
UPS替代方式越来越受到业界的重视。例如燃料电池技术和智能电源虚拟化技术,它们的一个共性是在整个供电过程中不再需要UPS、PDU和变压器单元,开关设备也变得简单。图1-27展示了使用软件定义电源技术前后数据中心配电系统的变化。

数据中心有严格的温度与湿度控制机制,保证IT设备在最优环境下发挥性能。新建的数据中心及改造的数据中心通常都会对冷热气流进行管理,例如服务器机柜冷热通道交替排列、规范布线。数据中心冷热气流管理如图1-28所示,服务器机柜冷热通道交替排列如图1-29所示,规范布线前后对比如图1-30所示。



以上我们简要介绍了云数据中心供给侧的一些优化方式。下面我们将主要关注云数据中心需求侧的优化手段。
二、 云计算优化要论
云数据中心需求侧优化的核心是提高IT设备的利用率。提高过程通常分为以下3个步骤。
步骤1:IT资源虚拟化。
步骤2:优化IT资源效率。
步骤3:数据中心云平台化。
(1)IT资源虚拟化
云数据中心的基本特点是多租户,对多租户场景最好的支持是资源虚拟化。业界最早是从服务器虚拟化开始的,紧随其后的是网络虚拟化,再之后是存储虚拟化,相关的详细讨论可参考《软件定义数据中心:技术与实践》这本书。值得指出的是虚拟化是个宏观的概念,它包括硬件虚拟化,也包括软件虚拟化,但最终是通过软件接口与用户层应用对接,这也是为什么我们称之为软件定义数据中心(Software Defined Data Center,SDDC)。此前我们一直把服务器、网络与存储称为软件定义数据中心的三大支柱,现在看来应该是四大支柱——还有电源虚拟化和电力优化,如图1-31所示。从虚拟化进程完善程度来看,四大支柱是按照计算→网络→存储→电源电力降序排列,顺序越往后挑战越大,但是市场的机遇也越大,这正如阿尔伯特·爱因斯坦(Albert Einstein)所说:困难之中蕴藏着机遇。

(2)优化IT资源效率
围绕优化数据中心IT资源效率,特别是提高CPU资源利用率(或降低CPU能耗),我们可以将节能技术分为4类,如图1-32所示。

①动态电压和频率调控技术
动态电压和频率调控技术是常见的能耗管理技术,特别是在对多核处理器、动态随机存储器(Dynamic Random Access Memory,DRAM)管理上。基于CMOS电路的能耗方程如下:
总能耗=静态能耗+动态能耗
我们可以通过调节时钟频率来调节电压,并由此降低能耗。但是,频率降低也意味着降低了处理器元器件的性能,因此并非一味降低处理器频率、降低电压就万事大吉了,还要在遵循服务质量/服务级别协议(QoS/SLA)要求的前提下进行相关的智能调控。业界常见的实践是在系统各部件负载较低的情况下降低供电频率、电压,并监控系统负载,根据需求动态调节,以保障满足服务级别协议。
②负载调度技术
负载调度技术在所有大型云数据中心的效率博弈中可能是贡献最大的。它的基本原理非常简单,但实现起来一点都不简单——最差的情况当然是把所有IT设备都打开,但是每台设备处于空转或低负载运转的状态;最优的情况就是让每台运转中的设备达到满负荷、全速运转,而其他设备都处于下线、不供电状态。参考图1-24我们发现,曾是易安信(EMC)公司云产品的Virtustream,以70%的资源利用率几乎实现了最优状态,而多数公有云显然还处于大量浪费IT资源的状态(利用率仅达10%,甚至更低)。需要指出的是,公有云的负载多样性及不可预见性在一定程度上使得负载调度变得更为复杂;反之,私有云中负载模式的可预测度很高,更容易实现调度优化。负载调度与迁移的实现有很多方式,虚拟机迁移、容器迁移都是近些年业界使用越来越多的方式。不过业界存在一种普遍的观点,认为容器的迁移会全面取代虚拟机迁移。我们以为这么说为时尚早,容器技术在支持有状态服务(如数据库类服务)、安全性、隔离性及生态系统建设上与虚拟机还相差甚远,不过对于无状态服务(如Web类服务),容器架构的低时延和高速性优势就很明显。在负载调度中,我们认为容器、虚拟机,甚至是裸机形式的调度需求会长期并存。
③服务器集中、能耗状态转换技术
服务器集中、能耗状态转换技术通常会与前两项技术共用,帮助提高资源利用率或降低能耗。一种典型的做法是在数据中心使用异构的硬件平台,也就是说在低负载情况下使用低功耗、低性能系统,当负载增长后再通过任务调度把负载移向高性能系统。这么做的好处很显然,但是如果发生频繁的负载、任务迁移,那么迁移成本也是需要考量的因素。另一种做法是通过智能硬件监控系统负载,只保留部分IT组件在线而让其他组件进入休眠状态,比如有些操作只需要内存,那么CPU、硬盘、网络设备便可以休眠,由此达到节省能耗的目的。
④热感知技术
在图1-25中我们展示过服务器CPU能耗的级联效应,当CPU运转时会产生热能,而机房中的主要热源来自运转的IT设备。为了保证机房的温度,空调等制冷系统又要耗费更多的电力。如何智能分配负载来保证整体能耗降低是热感知技术的核心理念。一种做法是在刀片机柜中通过把新增负载加载到现有活跃刀片机,而非新启动一个刀片机柜(刀片机组会共享电源与风扇,启动新的刀片机组能耗需求会相对更高)来实现低的热散逸;另一种做法是针对机房中热点分布与空调制冷系统和温度传感器的相对位置来定向调节在不同位置的服务器的负载,以达到节能的目的。
要指出的是,IT设备的效率指标不能单纯地以利用率来衡量,也就是说效率与利用率(温度)之间并非是单纯的线性关系。以CPU为例,当CPU负载在95%以上之后,持续升温到一定程度反而会降低其性能,直到超载崩溃,因此,一味追求高利用率并非问题的解决之道。
(3)数据中心云平台化
数据中心云平台化是资源虚拟化后,实现资源管理、调度高度协同的一个必然的发展方向。在云的多重形态一节中,我们已经介绍了XaaS平台,在下一篇内容里,老夫会介绍业界建设云平台的一些最佳实践。(同时呢,这一篇中,老夫介绍了一些业界提高IT设备效率的做法,希望能起到抛砖引玉的效果。有兴趣深究的读者可以继续查询、阅读相关的专业论文与图书。)
· END ·
(文/ Ricky)
相关文章:

揭秘云计算 | 5、关于云计算效率的讨论
一、 公有云效率更高? 解:公有云具有更高的效率。首先我们需要知道效率到底指的是什么。这是个亟须澄清的概念。在这里效率是指云数据中心(我们将在后文中介绍其定义)中的IT设备资源利用率,其中最具有代表性的指标就是…...

【Linux探索学习】第二十七弹——信号(上):Linux 信号基础详解
Linux学习笔记: https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言: 前面我们已经将进程通信部分讲完了,现在我们来讲一个进程部分也非常重要的知识点——信号,信号也是进程间通信的一…...
如何查询网站是否被百度蜘蛛收录?
一、使用site命令查询 这是最直接的方法。在百度搜索框中输入“site:你的网站域名”,例如“site:example.com”(请将“example.com”替换为你实际的网站域名)。如果搜索结果显示了你的网站页面,并且显示了收录的页面数量…...

什么是网络安全审计?网络安全审计的作用...
网络安全审计通过对网络数据的采集、分析、识别,实时动态监测通信内容、网络行为和网络流量,发现和捕获各种敏感信息、违规行为,实时报警响应,全面记录网络系统中的各种会话和事件,实现对网络信息的智能关联分析、评估…...

EasyExcel实现excel导入(模版上传)
目录 效果pom.xmlapplication.ymlcontrollerservice依赖类前台vue代码某个功能如果需要添加大量的数据,通过一条条的方式添加的方式,肯定不合理,本文通过excel导入的方式来实现该功能,100条数据导入成功85条,失败15条,肯定需要返回一个表格给前台或者返回1个错误excel给前…...

Vue 3最新组件解析与实践指南:提升开发效率的利器
目录 引言 一、Vue 3核心组件特性解析 1. Composition API与组件逻辑复用 2. 内置组件与生命周期优化 3. 新一代UI组件库推荐 二、高级组件开发技巧 1. 插件化架构设计 2. 跨层级组件通信 三、性能优化实战 1. 惰性计算与缓存策略 2. 虚拟滚动与列表优化 3. Tree S…...

【前端】如何安装配置WebStorm软件?
文章目录 前言一、前端开发工具WebStorm和VS Code对比二、官网下载三、安装1、开始安装2、选择安装路径3、安装选项4、选择开始菜单文件夹5、安装成功 四、启动WebStorm五、登录授权六、开始使用 前言 WebStorm 是一款由 JetBrains 公司开发的专业集成开发环境(IDE…...
vllm专题(一):安装-GPU
vLLM 是一个 Python 库,支持以下 GPU 变体。选择您的 GPU 类型以查看供应商特定的说明: 1. NVIDIA CUDA vLLM 包含预编译的 C++ 和 CUDA(12.1)二进制文件。 2. AMD ROCm vLLM 支持配备 ROCm 6.3 的 AMD GPU。 注意 此设备没有预构建的 wheel 包,因此您必须使用预构建的 Do…...

php文件包含
文章目录 基础概念php伪协议什么是协议协议的格式php中的协议file协议http协议ftp协议php://input协议php://filter协议php://data协议 php文件上传机制高级文件包含nginx文件日志包含临时文件包含session文件包含pear文件包含远程文件包含 基础概念 文件包含,相当…...

升级 SpringBoot3 全项目讲解 — Spring Boot 3 中如何发Http请求?
随着 Spring Boot 3 的发布,许多开发者开始考虑将他们的项目升级到这个新版本。Spring Boot 3 带来了许多新特性和改进,尤其是在 HTTP 请求处理方面。本文将详细介绍如何在 Spring Boot 3 中发送 HTTP 请求,并通过代码示例帮助你快速上手。 …...

分类预测 | MFO-LSSVM飞蛾扑火算法优化最小二乘支持向量机多特征分类预测Matlab实现
分类预测 | MFO-LSSVM飞蛾扑火算法优化最小二乘支持向量机多特征分类预测Matlab实现 目录 分类预测 | MFO-LSSVM飞蛾扑火算法优化最小二乘支持向量机多特征分类预测Matlab实现分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现MFO-LSSVM飞蛾扑火算法优化最小二…...

MyBatis Plus核心功能
一、条件构造器 1.为什么要学? 用于方便地构建SQL查询条件 2.如何使用? 3.实战案例 例:查询出名字中带o的,存款大于等于1000元的人的id,username,info,balance字段 数据库如图: 示例: Test void testL…...
nginx ngx_http_module(10) 指令详解
nginx ngx_http_module(10) 指令详解 nginx 模块目录 nginx 全指令目录 一、目录 1.1 模块简介 ngx_http_v2_module:HTTP/2支持模块,允许Nginx通过HTTP/2协议与客户端进行通信。HTTP/2带来了许多性能优化,如多路复用、头部压缩和服务器推…...

【ENSP】链路聚合的两种模式
【ENSP】链路聚合的两种模式 1、背景介绍2、链路聚合的使用场景3、配置过程1、手工模式Eth-Trunk配置2、静态LACP模式Eth-Trunk 4、总结 1、背景介绍 随着网络规模的不断扩大,人们对骨干链路的带宽吞吐量和可靠性提出了越来越高的要求。在传统方案中,为…...

Windows环境安装部署minimind步骤
Windows环境安装部署minimind步骤 必要的软件环境 git git,可下载安装版,本机中下载绿色版,解压到本地目录下(如:c:\soft\git.win64),可将此路径添加到PATH环境变量中,供其他程序…...
让大模型帮我设计crnn网络及可运行demo,gpt4o豆包qwendeepseek-r1
prompt 使用 crnn 提取图像特征,给出图像好坏的二分类结果,写清楚代码备注,注释清楚向量维度大小,并给出一个可运行的 demo1、GPT-4o 以下是一个使用 CRNN(Convolutional Recurrent Neural Network)提取图…...
代码随想录-- 第一天图论 --- 岛屿的数量
99 统计岛屿的数量 c 99. 岛屿数量 #include <iostream> #include <vector> #include <queue>using namespace std;struct MGraph {int numVertices, numEdges;vector<vector<int>> Edge; };int dir[4][2] {{1, 0}, {0, 1}, {-1, 0}, {0, -1}…...

Mybatis MyBatis框架的缓存 一级缓存
1. 缓存的概念 缓存的概念 在内存中临时存储数据,速度快,可以减少数据库的访问次数。经常需要查询,不经常修改的数据,不是特别重要的数据都适合于存储到缓存中。 2.Mybatis缓存 mybatis包含了一个非常强大的查询缓存特性&#…...

Weboffice在线Word权限控制:限制编辑,只读、修订、禁止复制等
在现代企业办公中,文档编辑是一项常见且重要的任务。尤其是在线办公环境中,员工需要在网页中打开和编辑文档,但如何确保这些文档只能进行预览而无法被编辑或复制,成为许多企业面临的一个痛点。尤其是在处理涉密文档时,…...

RT-Thread+STM32L475VET6实现呼吸灯
文章目录 前言一、板载资源资源说明二、具体步骤1.新建rt_thread项目2. 打开PWM设备驱动3. 在Stm32CubeMX配置定时器3.1打开Stm32CubeMX3.2 使用外部高速时钟,并修改时钟树3.3打开定时器1,并配置通道一为PWM输出模式(定时器根据自己需求调整)3.4 打开串口…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...

前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
JavaScript 标签加载
目录 JavaScript 标签加载script 标签的 async 和 defer 属性,分别代表什么,有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...

初探用uniapp写微信小程序遇到的问题及解决(vue3+ts)
零、关于开发思路 (一)拿到工作任务,先理清楚需求 1.逻辑部分 不放过原型里说的每一句话,有疑惑的部分该问产品/测试/之前的开发就问 2.页面部分(含国际化) 整体看过需要开发页面的原型后,分类一下哪些组件/样式可以复用,直接提取出来使用 (时间充分的前提下,不…...