0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CPU提供了哪些资源,如何评估CPU资源的消耗

牵手一起梦 ? 来源:S2微沙龙 ? 作者:S2小伙伴 ? 2021-01-22 09:09 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

背景

CPU作为一种资源,它的主要用途就是用来完成运算任务。完成运算任务的能力与CPU资源消耗之间存在着可量化的制约关系,这给我们提供了一种途径,通过衡量CPU完成运算任务的能力来衡量CPU资源的消耗情况。

测量的维度

我们首先了解一下 CPU 都提供了哪些资源,或者说,我们可以把 CPU资源分解为哪些可以用来进一步进行测量的维度。

CPU提供了哪些资源,如何评估CPU资源的消耗

上面的图和文字摘自ETSI GS NFV-TST 008,呈现的是一个物理CPU注1能够被测量的几个资源维度和他们之间的对应关系。

注1:如果有多颗物理的CPU,可以在核(Core)这一层之上,再引入一层 Socket(可以形象地理解为 CPU的插槽)。一颗物理的CPU 对应一个 Socket,代表一颗实实在在插在主板上的物理 CPU。当然,也可以把多颗 CPU 的核放在一起来考虑。

最上面一层是以CPU的核作为资源衡量的对象。早先CPU只有一个核,一个核能同时处理一个线程。后来为了提高CPU 的性能,开始在一个 CPU 里放置两个核,四个核,这样一个 CPU 就可以同时处理2个线程/4个线程,而在开启了 SMT/HT 的情况下,通过分配时间片,一个 CPU 可以“同时”处理更多的线程。

比如下面这个系统信息显示:CPU 数量是 1,其中有 6 个核,并且启用了 HT。

第二层是针对一个核,从时间维度把处理时间划分为一个个tick interval(其时间长度称为 Jiffy),以 tick interval 作为衡量的对象。每个 tick interval 有不同的上下文:例如系统态,用户态,空闲态等。在测量周期内,可以统计不同态所对应的时间长度。

第三层,针对处于用户态的tick intervals,可以再按照进程注 2再进行划分。通过为不同的线程分配时间片,实现在(在一个时间范围内)同时处理多线程。在这个层面上,以进程使用的计算资源为对象进行衡量。

注2:

·进程: 进程是资源分配的基本单位;

·线程:CPU调度和分配的基本单位。

·线程是进程的一个实体;一个进程包含一个或多个线程;同一个进程中的多个线程之间可以并发执行。

一个程序/应用至少有一个进程,一个进程至少有一个线程。

针对计算资源用量的测量

虽然计算资源可以划分为 3 种维度(或者说计算资源的 Scope有 3 种),但是,对于 CPU 资源的使用情况的度量方法是相同的,简单概括就是:从时间维度,度量一个测量周期内计算资源的被占用情况。

具体来说,以ESTI GS NFV-TST 008为例,其中定义了两种测量量:

处理器的用量:按照某种资源维度/计算资源scope的划分,在一个测量周期内,在一个或多个计算资源上,执行特定上下文的指令所使用的总时间。

处理器的利用率:处理器的用量与测量周期(的时间长度)的比值。

评估CPU资源的消耗

那么,能不能直接用处理器的用量/利用率来衡量 CPU 资源的消耗情况呢?

我们先看一个简单的例子:

两个进程分别使用主频不同的CPU,并且在相同的测量周期内,两个进程各自的处理器用量都是200ns。

虽然他们对于各自的计算资源占用时间(处理器的用量)相同,但是我们按照常识,一个直观的感觉就是,由于CPU 的主频不同,这两个进程对计算资源的消耗程度应该是不一样的。

如果要进一步分析这种差异,需要了解几个与CPU工作相关的周期:

1.CPU时钟周期:是 CPU 进行活动的最小时间单位,等于CPU 主频的倒数。这是衡量 CPU 性能的重要指标之一。

2.机器周期:是 CPU 执行一项基本操作所需的时间。一个机器周期的长度为若干个 CPU时钟周期;

3.指令周期:是 CPU 执行一条指令所需的时间。CPU 执行一条指令,通常会将其分解为若干个阶段,每个阶段完成一项任务。这里的任务就是指前面所说的基本操作。所以,指令周期会包含一个或多个机器周期。

假设不同的主频的CPU 执行完全同样的一条指令,由于时钟周期不同,指令周期的长度就会不同:主频高的 CPU 所需的时间更少。

反过来再看前面的例子,可以推断出占用 CPU 时间长度相同的两个进程,使用高主频的CPU的进程其需要 CPU 完成的任务数量要多于另一个使用低主频 CPU 的进程。

类似的,一个多核的 CPU可以类比为多个单核的 CPU。如果可以使用的资源包含多个核,那么在处理的任务数量方面,也可以得到类似的结论。

当需要衡量一个进程对CPU资源的消耗时(例如,在利用资源利用率评价能效的计算过程中),评估某个进程(可能是VNF/VM/VC)到底让CPU做了多少事情,比单纯地考虑其占用CPU的时间长度更加准确。

因此,除了要使用时间维度的处理器用量/利用率之外,计算CPU 资源的消耗还要进一步考虑CPU 的时钟速度和核数:

CPU 资源的消耗 = 处理器的利用率*CPU的时钟频率*CPU的核数注

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11117

    浏览量

    218320
  • 测量
    +关注

    关注

    10

    文章

    5317

    浏览量

    114090
  • 线程
    +关注

    关注

    0

    文章

    508

    浏览量

    20461
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单核CPU网关和双核CPU网关有什么区别

    单核CPU网关与双核CPU网关的核心区别在于处理能力、多任务效率、性能表现及适用场景,双核CPU网关在多任务处理、复杂计算和响应速度上具有显著优势,而单核CPU网关则更适合轻量级、低负
    的头像 发表于 07-05 14:37 ?368次阅读

    信创国产CPU推荐

    cpu
    jf_10805031
    发布于 :2025年04月23日 17:20:43

    SOLIDWORKS教育版内置大量的教育资源

    设计的版本,不仅具备强大的三维建模、装配体设计和工程图生成等功能,更内置海量的教育资源,为学生提供一个全方面、有效的学习平台。本文将深入探讨SOLIDWORKS教育版内置的教育
    的头像 发表于 04-22 10:07 ?421次阅读
    SOLIDWORKS教育版内置<b class='flag-5'>了</b>大量的教育<b class='flag-5'>资源</b>

    云游戏的基础资源类型

    云游戏的基础资源类型 可根据功能与部署模式划分为以下类别,其核心构成及细分如下: 一、按功能划分的资源类型 计算与渲染资源? 硬件规格?:云端服务器需配置高性能CPU、GPU集群,例如
    的头像 发表于 04-09 10:18 ?282次阅读
    云游戏的基础<b class='flag-5'>资源</b>类型

    hyper cpu,Hyper CPU优化:提升虚拟机性能

    :提升虚拟机性能。 ? ?在虚拟化环境中,CPU性能优化对于提升虚拟机的整体性能至关重要。Hyper-V提供多种工具和策略,帮助用户根据虚拟机的工作负载需求合理分配和优化CPU
    的头像 发表于 02-06 10:25 ?1168次阅读
    hyper <b class='flag-5'>cpu</b>,Hyper <b class='flag-5'>CPU</b>优化:提升虚拟机性能

    fpga和cpu的区别 芯片是gpu还是CPU

    一、FPGA与CPU的区别 FPGA(Field-Programmable Gate Array,现场可编程门阵列)和CPU(Central Processing Unit,中央处理器)是两种不同类
    的头像 发表于 02-01 14:57 ?1910次阅读

    AI云端计算资源有哪些类型

    AI云端计算资源涵盖了从基础设施到软件服务的多个层面,为AI模型的训练、推理和部署提供强大的支持。下面,AI部落小编为您详细介绍AI云端计算资源的主要类型。
    的头像 发表于 11-15 09:39 ?628次阅读

    如何限制容器可以使用的CPU资源

    默认情况下容器可以使用的主机 CPU 资源是不受限制的。和内存资源的使用一样,如果不对容器可以使用的 CPU 资源进行限制,一旦发生容器内程
    的头像 发表于 10-24 17:04 ?839次阅读
    如何限制容器可以使用的<b class='flag-5'>CPU</b><b class='flag-5'>资源</b>

    云服务器的购买资源和扩容资源的区别和联系

    服务商处直接购买一定量的计算资源,如CPU、内存或存储空间等。而扩容资源则是指在现有的云服务器基础上增加额外的资源
    的头像 发表于 10-18 11:21 ?573次阅读

    服务器cpu占用率高怎么解决

    长时间运行的计算任务 应用程序存在内存泄漏,导致CPU占用率上升 系统问题 操作系统配置不当,导致CPU占用率高 系统存在病毒或者恶意软件,占用大量CPU资源 系统存在硬件故障,导致
    的头像 发表于 10-10 15:14 ?2134次阅读

    服务器cpu和台式机cpu区别

    服务器CPU和台式机CPU的区别是一个复杂的话题,涉及到多个方面,包括设计、性能、功耗、可靠性、成本等。 服务器CPU和台式机CPU的区别 1. 设计目标 服务器
    的头像 发表于 10-10 15:12 ?2777次阅读

    双核cpu和单核cpu的区别

    双核CPU与单核CPU在多个方面存在显著差异,这些差异主要体现在处理能力、性能、运行效率、功耗以及适用场景等方面。 一、概念与结构 双核CPU :指在一个处理器上集成两个运算核心,通过并行总线将各处
    的头像 发表于 09-24 16:17 ?7741次阅读

    华纳云:IaaS有哪些资源类型?

    和网络设备。用户可以通过一个管理平台远程访问虚拟化的硬件资源,根据实际消耗支付费用。IaaS 提供灵活性、可扩展性和经济效益,允许企业快速适应技术变化和需求波动,从而专注于核心业务而
    的头像 发表于 09-12 14:55 ?725次阅读

    将软件从8位(字节)可寻址CPU迁移至C28x CPU

    电子发烧友网站提供《将软件从8位(字节)可寻址CPU迁移至C28x CPU.pdf》资料免费下载
    发表于 09-06 10:42 ?0次下载
    将软件从8位(字节)可寻址<b class='flag-5'>CPU</b>迁移至C28x <b class='flag-5'>CPU</b>

    什么是CPU缓存?它有哪些作用?

    CPU缓存(Cache Memory)是计算机系统中一个至关重要的组成部分,它位于CPU与内存之间,作为两者之间的临时存储器。CPU缓存的主要作用是减少CPU访问内存所需的时间,从而提
    的头像 发表于 08-22 14:54 ?6589次阅读