一种实现CPU节能的方法及装置制造方法及图纸

技术编号:5353075 阅读:227 留言:0更新日期:2012-04-11 18:40
一种实现CPU节能的方法及装置,相应的方法包括获取每个域中所有触发调频的线程的CPU占有率及所属的域;在所述触发调频的线程所属的域中,根据所述触发调频的线程的CPU占有率计算需要调整的CPU目标频率;根据所述CPU目标频率计算定时器参数并设置所述触发调频的线程的CPU频率值。本发明专利技术根据每个触发调频的线程的CPU占有率对对每个域中的线程的CPU频率值进行同步,进而在多核系统下同步CPU频率值,实现了CPU的节能。

【技术实现步骤摘要】

本专利技术涉及一种实现CPU节能的方法及装置,尤其涉及一种在多核系统模式下实 现CPU节能的方法及装置。
技术介绍
节能减排已经成为国际政治与经济中的一大热点问题,由于广泛应用而引起的通 信设备的节能问题则是热点问题中的热点。典型的电信环境是在一组机框中设有一组单 板,每个单板上有多个运行实体,这些实体可以是CPU、核、VCPU或者超线程(逻辑核)。一 个CPU可以有多个核,一个核可能会有一个或者多个硬线程。一个OS (Operation System, 操作系统)实例会部署到一个或者多个运行实体。其中的CPU节能可以通过逐级调节频率 达到低频以降低功耗来实现。已有的OS实例主要包括SMP (Symmetric multiprocessing,对称多处理器)和 AMP (Asymmetric multiprocessing,非对称多处理器)。对于SMP,由于只有一个OS实例, 该OS实例可以同时管理所有的CPU内核,能够定时监控CPU占有率,当发现过高或者过低 时就可以调整CPU频率以达到节能的目的。对于AMP部署模式的多核系统以及采用AMP和 SMP混合部署模式的多核系统,其主要特征是在一个域内运行有多个操作系统实例,每个 OS实例都可以独立控制自己的CPU主频,其中一个域中的所有硬线程共用同一个CPU频率。 若在一个域内运行多个OS实例,当每个OS实例分别去控制CPU频率时就会发生冲突。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题现有的CPU节能技术中,对于多核系统,无法通过调整CPU的频率以实现节能。
技术实现思路
本专利技术的实施例提供了一种实现CPU节能的方法及装置,能够在多核系统下同步 CPU频率值,以实现CPU的节能。一种实现CPU节能的方法,包括获取每个域中所有触发调频的线程的CPU占有率及所属的域;在所述触发调频的线程所属的域中,根据所述触发调频的线程的CPU占有率计算 需要调整的CPU目标频率;根据所述CPU目标频率计算定时器参数并设置所述触发调频的线程的CPU频率值。一种实现CPU节能的装置,包括域获取单元,用于获取每个域中所有触发调频的线程的CPU占有率及所属的域;频率计算单元,用于在所述触发调频的线程所属的域中,根据所述域获取单元获 取的触发调频的线程的CPU占有率计算需要调整的CPU目标频率;频率调整单元,用于根据所述频率计算单元获得的CPU目标频率计算定时器参数 并设置所述触发调频的线程的CPU频率值。由上述本专利技术的实施例提供的技术方案可以看出,根据每个触发调频的线程的 CPU占有率对每个域中的线程的CPU频率值进行同步,进而在多核系统下同步CPU频率值, 从而实现了 CPU的节能。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的 附图。图1为本专利技术的实施例提供的AMP和SMP混合部署模式的结构示意图;图2为本专利技术的实施例提供的在多核系统模式下实现CPU节能的方法流程示意 图;图3为本专利技术的实施例提供的初始化配置CpuFreql线程的时序图;图4为本专利技术的实施例提供的CpuFreql线程计算CPU目标频率的时序图;图5为本专利技术的实施例提供的CpuGoverl. 1触发调频流程的调整CPU频率的时序 图;图6为本专利技术的实施例提供的CpuGoverl. 2触发调频流程的调整CPU频率的时序 图;图7为本专利技术的实施例提供的CpuG0Ver2. 1触发调频流程的调整CPU频率的时序 图;图8为本专利技术的实施例提供的CpuG0Ver2. 2触发调频流程的调整CPU频率的时序 图;图9为本专利技术的实施例提供的CpuGoverf触发调频流程的调整CPU频率的时序 图;图10为本专利技术的实施例提供的实现CPU节能的装置的结构示意图。 具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。本专利技术的实施例提出的是一种实现CPU节能的方法,包 括获取每个域中所有触发调频的线程的CPU占有率及所属的域;在所述触发调频的线程所 属的域中,根据所述触发调频的线程的CPU占有率计算需要调整的CPU目标频率;根据所述 CPU目标频率计算定时器参数并设置所述触发调频的线程的CPU频率值。图1所示的是一 种AMP和SMP混合部署模式的多核系统,深色的圆和浅色的圆分别表示物理属性一致的核, 该核被作为一个天然域(深色为域1、浅色为域2),因为域内所有的硬线程共用同一 CPU主 频。在每个域内都有一个深色外环的硬线程(图1中的pthreadl和pthread 5),该硬线程 表示域内的主硬线程,其它硬线程为从硬线程。具体地,依据图1的部署模式,每个OS实例 都有硬线程CpuFreq,CpuFreq依据跨域个数创建cpuGover线程,于是有如下的关系0S1 包含 CpuFreql,CpuFreql 包括 CpuGover 1. 1 (包括 pthreadl、3 和 4,属于域 1) 和 CpuGover 1. 2 (包括 pthread6 和 7,属于域 2);0S2 包含 CpuFreq2,CpuFreq2 包括 CpuGover2. 1 (包括 pthread2,属于域 1)和 CpuGover2. 2(包括 pthread5,属于域 2);0S3 包含 CpuFreq3,CpuFreq3 包括 CpuGover3 (包括 pthread8,属于域 2)。CpuGover线程主要负责CPU占有率的监控及获取,然后上报给自己的管理者 CpuFreq, CpuGover不存在分布式概念,在一个OS实例下只能看到自己,看不到0S实例内 部的其它Gover,也看不到其它0S实例的Gover。CpuFreq负责收集CPU占有率,然后对CPU占有率就行分析处理;并处理结果同步 给主CpuFreq,各个CpuFreq自己进行定时器参数的调整,最后由主CpuFreq进行频率设置。由于CpuFreq是分布式存在,因此相互之间需要同步信息。其中对于CPU占有率 的处理是在多个CPU占有率数值中依据配置的策略选择合适的CPU占有率,然后硬件支持 特征设置频率更新定时器参数,以保证时间与频率的一致。下面按各个线程对CPU的频率进行调整的顺序对实现CPU节能的方法作具体说 明,如图2所示,该方法具体可以包括步骤21,初始化配置硬线程CpuFreq。CpuFreq的身份确定和部署是通过配置完成的,配置信息包括公共信息和私有信 息,公共信息为单板上所有域的ID及每个域的CpuFreq的位置信息,私有信息为所在0S下 的域特征。配置好的CpuFreq可以创建CpuGover实例,因为支持动态创建,所以CpuFreq 需要清除原有的CpuGover后注册新的CpuGover,并启动对线程的监控。具体的,以CpuFreql本文档来自技高网...

【技术保护点】
一种实现CPU节能的方法,其特征在于,包括:获取每个域中所有触发调频的线程的CPU占有率及所属的域;在所述触发调频的线程所属的域中,根据所述触发调频的线程的CPU占有率计算需要调整的CPU目标频率;根据所述CPU目标频率计算定时器参数并设置所述触发调频的线程的CPU频率值。

【技术特征摘要】

【专利技术属性】
技术研发人员:古忠华李力
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1