CN112363610B - 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 - Google Patents
一种降低片上网络功耗的方法、装置、cpu芯片及服务器 Download PDFInfo
- Publication number
- CN112363610B CN112363610B CN202011135270.5A CN202011135270A CN112363610B CN 112363610 B CN112363610 B CN 112363610B CN 202011135270 A CN202011135270 A CN 202011135270A CN 112363610 B CN112363610 B CN 112363610B
- Authority
- CN
- China
- Prior art keywords
- noc
- bandwidth
- formula
- frequency
- test data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Sources (AREA)
Abstract
本发明的实施例公开了一种降低片上网络功耗的方法、装置、CPU芯片及服务器,涉及计算机技术领域,能够有效降低片上网络的功耗。所述方法包括:获取片上网络NoC的挂载设备在一段时间窗口内的工作状态数据,所述工作状态数据包括设备中带宽敏感事件发生的频次、设备中缓存利用率、设备接口总线带宽中的一种或多种;根据所述工作状态数据,计算NoC的预期工作频率;根据所述预期工作频率,调整NoC的工作频率。本发明适用于降低片上网络功耗的场合。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种降低片上网络功耗的方法、装置、CPU芯片及服务器。
背景技术
随着集成电路的发展和工艺的提升,芯片的集成度在不断提升,大规模SOC(System on Chip,系统级芯片)设计已成为主流。NoC(Network on Chip,片上网络)用于实现SOC中各个设备的片上互联,主要包括多个网络接口单元(Network Interface Unit,NIU)和路由单元(Router Unit,RU),如图1所示,NIU在NoC的边界,每个NIU用于连接一个挂载设备,并负责管理该设备发出的所有请求和发送给该设备的所有请求。对于设备发送的每个请求,NIU均会转发给RU,在收到RU转发的响应后,NIU将响应转发给设备。对于从RU发送给设备的每个请求,NIU均会转发给设备,在收到设备的响应之后,NIU将响应转发给RU。RU在NoC的内部,实现NIU之间的互联,负责将NIU转发的每一笔请求或响应按照预设的路由规则转发给指定的NIU,RU的拓扑结构可根据设计需求制定,包括网状拓扑、环状拓扑等,RU会暂存收到的每笔请求或响应,并在合适时转发。
考虑到NoC的性能决定了整个SOC片上通信的效率,与SOC的性能息息相关,NoC一般都具有高带宽低延时的特性,而且NoC分布在SOC各处,占SOC设计比重大,因此NoC消耗了SOC相当大比例的功耗,降低NoC设计的功耗显得尤为重要。
现有的SOC设计中,NoC通常分为固定频率和可变频率两种。固定频率类型NoC多用于早期嵌入式SOC设计,NoC工作频率在系统正常运行之后不再改变,这类设计能效比一般较差,目前已不多见。可变频率类型NoC目前已广泛应用于当前各类SOC设计中,设计人员预先确定系统的典型应用场景,根据应用场景对NoC带宽和延时的要求,确定各应用场景下NoC的工作频率并记录。系统运行时,根据当前的工作场景为NoC选择预设的工作频率,只有当工作场景发生改变时,才调整NoC的工作频率。此类变频技术能够在一定程度上优化SOC的能耗比,但是由于不能动态对NoC工作频率进行精确调整,还有很大的改善和提升空间。
发明内容
有鉴于此,本发明实施例提供一种降低片上网络功耗的方法、装置、CPU芯片及服务器,能够有效降低片上网络的功耗。
第一方面,本发明实施例提供一种降低片上网络功耗的方法,包括:
获取NoC的挂载设备在一段时间窗口内的工作状态数据,所述工作状态数据包括设备中带宽敏感事件发生的频次、设备中缓存利用率、设备接口总线带宽中的一种或多种;
根据所述工作状态数据,计算NoC的预期工作频率;
根据所述预期工作频率,调整NoC的工作频率。
结合第一方面,在第一方面的一种实施方式中,所述NoC的预期工作频率的计算公式为:
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。
结合第一方面,在第一方面的另一种实施方式中,所述公式一中参数An,e和B根据NoC性能测试数据估算得到;
其中,进行NoC性能测试时需要保证NoC处于稳定工作状态,并使NoC带宽达到当前工作频率下最大带宽;一组NoC性能测试数据包括:a)NoC当前工作频率fk;b)每个设备中每类带宽敏感事件在时间窗口内统计的发生次数,即N*E个测试数据RQn,e,k;NoC性能测试数据在NoC全工作频率范围内随机分布,且测试数据组数K远大于待拟合参数数目。
结合第一方面,在第一方面的再一种实施方式中,所述公式一中参数An,e和B根据NoC性能测试数据估算得到,包括:
根据公式二定义的残差函数J,通过使用最速梯度下降法求得使残差函数J最小的一组参数An,e和B,即得所述公式一中参数An,e和B;
其中,
J=∑(fk-fe,k)2 公式二
结合第一方面,在第一方面的又一种实施方式中,所述根据所述预期工作频率,调整NoC的工作频率进一步为:
根据所述预期工作频率,步进调整NoC的工作频率。
第二方面,本发明实施例提供一种降低片上网络功耗的装置,包括:
获取模块,用于获取NoC的挂载设备在一段时间窗口内的工作状态数据,所述工作状态数据包括设备中带宽敏感事件发生的频次、设备中缓存利用率、设备接口总线带宽中的一种或多种;
计算模块,用于根据所述工作状态数据,计算NoC的预期工作频率;
调整模块,用于根据所述预期工作频率,调整NoC的工作频率。
结合第二方面,在第二方面的一种实施方式中,所述NoC的预期工作频率的计算公式为:
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。
结合第二方面,在第二方面的另一种实施方式中,所述公式一中参数An,e和B根据NoC性能测试数据估算得到;
其中,进行NoC性能测试时需要保证NoC处于稳定工作状态,并使NoC带宽达到当前工作频率下最大带宽;一组NoC性能测试数据包括:a)NoC当前工作频率fk;b)每个设备中每类带宽敏感事件在时间窗口内统计的发生次数,即N*E个测试数据RQn,e,k;NoC性能测试数据在NoC全工作频率范围内随机分布,且测试数据组数K远大于待拟合参数数目。
结合第二方面,在第二方面的再一种实施方式中,所述公式一中参数An,e和B根据NoC性能测试数据估算得到,包括:
根据公式二定义的残差函数J,通过使用最速梯度下降法求得使残差函数J最小的一组参数An,e和B,即得所述公式一中参数An,e和B;
其中,
J=∑(fk-fe,k)2 公式二
结合第二方面,在第二方面的又一种实施方式中,所述调整模块,进一步用于根据所述预期工作频率,步进调整NoC的工作频率。
第三方面,本发明实施例提供一种CPU芯片,包括:处理器核心;
所述处理器核心,用于获取NoC的挂载设备在一段时间窗口内的工作状态数据,所述工作状态数据包括设备中带宽敏感事件发生的频次、设备中缓存利用率、设备接口总线带宽中的一种或多种;根据所述工作状态数据,计算NoC的预期工作频率;根据所述预期工作频率,调整NoC的工作频率。
结合第三方面,在第三方面的一种实施方式中,所述NoC的预期工作频率的计算公式为:
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。
结合第三方面,在第三方面的另一种实施方式中,所述公式一中参数An,e和B根据NoC性能测试数据估算得到;
其中,进行NoC性能测试时需要保证NoC处于稳定工作状态,并使NoC带宽达到当前工作频率下最大带宽;一组NoC性能测试数据包括:a)NoC当前工作频率fk;b)每个设备中每类带宽敏感事件在时间窗口内统计的发生次数,即N*E个测试数据RQn,e,k;NoC性能测试数据在NoC全工作频率范围内随机分布,且测试数据组数K远大于待拟合参数数目。
结合第三方面,在第三方面的再一种实施方式中,所述公式一中参数An,e和B根据NoC性能测试数据估算得到,包括:
根据公式二定义的残差函数J,通过使用最速梯度下降法求得使残差函数J最小的一组参数An,e和B,即得所述公式一中参数An,e和B;
其中,
J=∑(fk-fe,k)2 公式二
结合第三方面,在第三方面的又一种实施方式中,所述根据所述预期工作频率,调整NoC的工作频率进一步为:
根据所述预期工作频率,步进调整NoC的工作频率。
第四方面,本发明实施例提供一种服务器,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述服务器的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的方法。
第五方面,本发明实施例还提供一种CPU芯片,包括NoC、为所述NoC提供工作时钟的时钟模块、以及用于控制所述时钟模块的系统控制单元SCU,所述NoC包括若干网络接口单元NIU,每个NIU均包括带宽敏感事件监控模块,所述带宽敏感事件监控模块包括初级运算模块、累加器1、累加器2至累加器E;所述SCU包括二级运算模块和时钟控制模块,其中:
所述累加器1、累加器2至累加器E分别用于统计各NIU的挂载设备在一段时间窗口内带宽敏感事件1、事件2至事件E的发生次数,所述累加器1、累加器2至累加器E的输出端连接至所述初级运算模块的输入端,所述初级运算模块用于实现公式七的运算;
每个NIU的初级运算模块的输出端连接至所述二级运算模块的输入端,所述二级运算模块的输出端连接所述时钟控制模块,所述时钟控制模块的输出端控制连接所述时钟模块,所述二级运算模块用于实现公式六的运算;
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。
本发明实施例提供的降低片上网络功耗的方法、装置、CPU芯片及服务器,首先获取NoC的挂载设备在一段时间窗口内的工作状态数据,所述工作状态数据包括设备中带宽敏感事件发生的频次、设备中缓存利用率、设备接口总线带宽中的一种或多种,然后根据所述工作状态数据,计算NoC的预期工作频率,最后根据所述预期工作频率,调整NoC的工作频率。这样,通过实现对NoC工作频率的动态调整,保证NoC的工作频率匹配NoC的工作负荷,在NoC工作负荷高时提高工作频率以保证SOC性能,在NoC工作负荷低时降低工作频率以减少无效功耗,能够实现在提升NoC性能的同时降低NoC的无效功耗,优化NoC的能效比,有效降低片上网络的功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术中片上网络的连接结构原理图;
图2为本发明的降低片上网络功耗的方法一个实施例的流程示意图;
图3为本发明中片上网络的连接结构示例图;
图4为本发明的降低片上网络功耗的装置一个实施例的结构示意图;
图5为本发明的服务器一个实施例的结构示意图;
图6为本发明的CPU芯片中网络接口单元NIU的结构示意图;
图7为本发明的CPU芯片的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
一方面,本发明实施例提供一种降低片上网络功耗的方法,如图2所示,本实施例的方法可以包括:
步骤101:获取NoC的挂载设备在一段时间窗口内的工作状态数据,所述工作状态数据包括设备中带宽敏感事件发生的频次、设备中缓存利用率、设备接口总线带宽中的一种或多种;
NoC为设备之间的通信提供带宽,因此,NoC中的流量追根溯源还是来自于挂载的各类设备。通过分析各类设备中会导致NoC流量的事件,例如CPU的cache miss、DMA的任务中断等,可以建立模型动态分析NoC的带宽需求,并根据NoC的带宽需求计算NoC所需的工作频率。
本步骤中,可以通过监控NoC挂载设备中带宽敏感事件对NoC预期工作频率进行估算并动态调整,也可以通过统计设备中缓存利用率、设备接口总线带宽等信息对NoC合理工作频率进行评估。
每个设备内会产生大量的各类事件,但其中只有部分事件会影响NoC的带宽,我们称这类事件为带宽敏感事件,可以通过持续监控这类事件的发生,实现对NoC带宽的动态评估。
每一次带宽敏感事件的发生均会在一段时间内贡献部分NoC带宽,因此我们需要在一段时间窗口内监控各个带宽敏感事件发生的频次,时间窗口的长短可根据系统特性设置,例如设置为10毫秒。
以图3所示NoC设计为例,NoC中一共有6个NIU和6个RU,6个NIU分别连接了CPU1、CPU2、IO设备1、DMA协处理器1、DDR控制器1和DDR控制器2共6个挂载设备。其中CPU、IO设备和DMA协处理器均可主动发起NoC请求,为简单起见,此示例不考虑CPU的cache一致性,DDR控制器不会主动向NoC发起请求。
通过分析设备特性,选择需要监控的事件(即带宽敏感事件)如下:
1)CPU1:内存读操作、内存写操作、IO读操作、IO写操作;
2)CPU2:内存读操作、内存写操作、IO读操作、IO写操作;
3)IO设备1:内存读操作、内存写操作;
4)DMA协处理器1:内存读操作、内存写操作。
步骤102:根据所述工作状态数据,计算NoC的预期工作频率;
在NoC拓扑和配置不变的情况下,NoC能够提供的带宽与工作频率成正比。设备在单位时间内产生的带宽敏感事件数目与对NoC的带宽需求成正比。但是,不同设备产生的不同类型的带宽敏感事件对NoC的带宽需求是不同的,因此需要结合设备特性和NoC拓扑对NoC工作负荷进行建模。
作为一种可选的实施例,综合考虑模型精度与模型复杂度,本步骤中可以采用一阶模型对NoC预期工作频率进行建模(如需更精确的模型精度,可采用更高阶模型或其它类型模型进行建模),如公式一所示。
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。需要说明的是,公式中仅涉及数值上的计算和建模,不考虑单位的影响。
公式一中Qn,e可以由设备发送给对应的NIU,由NIU统一进行统计,An,e和B与设备特性以及NoC拓扑相关,可以根据NoC性能测试数据进行估算。
进一步的,公式一中参数An,e和B需要根据NoC性能测试数据进行估算。进行NoC性能测试时需要保证NoC处于稳定工作状态,并使NoC带宽达到当前工作频率下最大带宽。一组NoC性能测试数据包括:a)NoC当前工作频率fk;b)每个设备中每类带宽敏感事件在时间窗口内统计的发生次数,即N*E个测试数据RQn,e,k;由于An,e和B一共有N*E+1个参数,为了保证拟合结果的正确性和鲁棒性,需要保证NoC性能测试数据在NoC全工作频率范围内随机分布,且测试数据组数K远大于待拟合参数数目。
J=∑(fk-fe,k)2 公式二
为提高计算效率和准确度,具体计算时优选的,根据公式二定义的残差函数J,通过使用最速梯度下降法求得使残差函数J最小的一组参数An,e和B,即得所述公式一中参数An,e和B。
继续以图3所示NoC设计为例,其中共有4个设备(CPU1、CPU2、IO设备1和DMA协处理器1)共12种NoC带宽敏感事件需要监控,根据公式一共有12+1=13个参数需要进行估算。在NoC的工作频率范围内随机选择30个频率点,在每个频率点,不断加大NoC的工作负荷直到NoC达到该工作频率下的最大工作负荷,等待1秒开启监控窗口分别记录12种带宽敏感事件,10毫秒时间窗口期结束后读取各个NIU的带宽敏感事件监控模块的事件累加值Q1,1、Q1,2、Q1,3、Q1,4、Q2,1、Q2,2、Q4,1、Q4,2、Q4,3、Q4,4、Q5,1、Q5,2,共12个数据记为一组测试数据。基于30组测试数据,根据公式二,采用最速梯度下降法计算得到13个参数。
步骤103:根据所述预期工作频率,调整NoC的工作频率。
在系统运行时,每经过一个时间窗口的时长,可以根据公式一实时对NoC最优工作频率进行一次预测。然而,为了保证系统的稳定性,不宜直接将NoC的工作频率调整至预期工作频率fe,而应该逐步/步进调整NoC工作频率。NoC工作频率每次调整步长s可以如公式四所示,其中C为幅度参数,可根据系统特性设置(例如可设置为0.2),fc为NoC当前工作频率;调整后的NoC工作频率fa的计算方法如公式五所示。
s=C(fe-fc) 公式四
fa=fc+s 公式五
NoC的工作时钟由时钟模块提供,一般可以通过修改时钟模块的配置信息调整NoC的工作时钟频率。SOC设计中通常由系统控制单元(SCU)(或其它控制逻辑)负责配置时钟模块。SCU通过实时监控并计算当前NoC的合理工作频率,动态修改时钟模块配置,可以实现NoC的动态变频,保证NoC工作频率与工作负荷相适应。
现有NoC设计通常预先设定多个频率点,实际工作时,由软件根据系统配置在预设频率点中进行选择。然而在系统实际运行过程中,NoC的工作负荷是随着设备的运行状态不断变化的,NoC的工作负荷与预设的频率点下NoC能够提供的带宽不可避免地存在失配问题,因此采用这种方式并不能很好的满足系统的性能需求,也并不能有效地降低系统能耗。
本发明实施例通过实现对NoC工作频率的动态调整,保证NoC的工作频率匹配NoC的工作负荷,在NoC工作负荷高时提高工作频率以保证SOC性能,在NoC工作负荷低时降低工作频率以减少无效功耗,能够实现在提升NoC性能的同时降低NoC的无效功耗,优化NoC的能效比,有效降低片上网络的功耗。
另一方面,本发明实施例提供一种降低片上网络功耗的装置,如图4所示,该装置可以包括:
获取模块11,用于获取NoC的挂载设备在一段时间窗口内的工作状态数据,所述工作状态数据包括设备中带宽敏感事件发生的频次、设备中缓存利用率、设备接口总线带宽中的一种或多种;
计算模块12,用于根据所述工作状态数据,计算NoC的预期工作频率;
调整模块13,用于根据所述预期工作频率,调整NoC的工作频率。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
优选的,所述NoC的预期工作频率的计算公式为:
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。
优选的,公式一中参数An,e和B根据NoC性能测试数据估算得到;
其中,进行NoC性能测试时需要保证NoC处于稳定工作状态,并使NoC带宽达到当前工作频率下最大带宽;一组NoC性能测试数据包括:a)NoC当前工作频率fk;b)每个设备中每类带宽敏感事件在时间窗口内统计的发生次数,即N*E个测试数据RQn,e,k;NoC性能测试数据在NoC全工作频率范围内随机分布,且测试数据组数K远大于待拟合参数数目。
优选的,根据公式二定义的残差函数J,通过使用最速梯度下降法求得使残差函数J最小的一组参数An,e和B,即得所述公式一中参数An,e和B;
其中,
J=∑(fk-fe,k)2 公式二
优选的,所述调整模块13,进一步用于根据所述预期工作频率,步进调整NoC的工作频率。
再一方面,本发明实施例提供一种CPU芯片,包括:处理器核心;
所述处理器核心,用于获取NoC的挂载设备在一段时间窗口内的工作状态数据,所述工作状态数据包括设备中带宽敏感事件发生的频次、设备中缓存利用率、设备接口总线带宽中的一种或多种;根据所述工作状态数据,计算NoC的预期工作频率;根据所述预期工作频率,调整NoC的工作频率。
本实施例的CPU芯片,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
优选的,所述NoC的预期工作频率的计算公式为:
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。
优选的,所述公式一中参数An,e和B根据NoC性能测试数据估算得到;
其中,进行NoC性能测试时需要保证NoC处于稳定工作状态,并使NoC带宽达到当前工作频率下最大带宽;一组NoC性能测试数据包括:a)NoC当前工作频率fk;b)每个设备中每类带宽敏感事件在时间窗口内统计的发生次数,即N*E个测试数据RQn,e,k;NoC性能测试数据在NoC全工作频率范围内随机分布,且测试数据组数K远大于待拟合参数数目。
优选的,所述公式一中参数An,e和B根据NoC性能测试数据估算得到,包括:
根据公式二定义的残差函数J,通过使用最速梯度下降法求得使残差函数J最小的一组参数An,e和B,即得所述公式一中参数An,e和B;
其中,
J=∑(fk-fe,k)2 公式二
优选的,所述根据所述预期工作频率,调整NoC的工作频率进一步为:
根据所述预期工作频率,步进调整NoC的工作频率。
又一方面,本发明实施例还提供一种服务器,图5为本发明服务器一个实施例的结构示意图,可以实现本发明图2所示实施例的流程,如图5所示,上述服务器可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述服务器的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一方法实施例所述的方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图2所示实施例的描述,在此不再赘述。
再一方面,为较好的实施前述降低片上网络功耗的方法,本发明实施例提供一种对硬件实体结构进行改进后的CPU芯片,如图6-7所示,该CPU芯片包括NoC、为所述NoC提供工作时钟的时钟模块、以及用于控制所述时钟模块的系统控制单元SCU,所述NoC包括若干网络接口单元NIU,其中:
每个NIU均包括带宽敏感事件监控模块,所述带宽敏感事件监控模块包括初级运算模块、累加器1、累加器2至累加器E;所述SCU包括二级运算模块和时钟控制模块;为了能够方便对NoC带宽敏感事件进行统计,本实施例在NIU中实现了带宽敏感事件监控模块。具体的,各个设备可以通过信号线向NIU传递带宽敏感事件,每个信号线传递一类带宽敏感事件,事件每发生一次,在信号线上产生一个脉冲。NIU的带宽敏感事件监控模块通过累加器统计在时间窗口(如10毫秒,根据系统配置设定)内的脉冲次数。公式一中的运算可以分为两部分,如公式六和公式七所示。在NIU通过初级运算模块可以处理公式七中的运算,在SCU中的二级运算模块可以实现公式六中的运算。
所述累加器1、累加器2至累加器E分别用于统计各NIU的挂载设备在一段时间窗口内带宽敏感事件1、事件2至事件E的发生次数,所述累加器1、累加器2至累加器E的输出端连接至所述初级运算模块的输入端,所述初级运算模块用于实现公式七的运算;
每个NIU的初级运算模块的输出端(即图7中所示的初级计算结果1至初级计算结果N)连接至所述二级运算模块的输入端,所述二级运算模块的输出端连接所述时钟控制模块,所述时钟控制模块的输出端控制连接所述时钟模块,所述二级运算模块用于实现公式六的运算;
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。
此处,相关参数的计算、基于该结构的CPU芯片所执行的方法流程,前面已详细介绍,此处不再赘述。在图6中,请求缓存模块、路由模块、仲裁模块和响应缓存模块为NIU原有功能模块,未做改动,此处不再赘述。
如图7所示,SCU中实现了二级运算模块和时钟控制模块,二级运算模块根据公式七计算NoC预期工作频率fe。SCU可以在每个监控时间窗口(如10毫秒)后计算预期工作频率fe,并根据前述公式四和公式五计算调整后的NoC工作频率fa,公式四中的系数C可设置为0.2。SCU可以通过时钟控制模块调整时钟模块输出的NoC工作时钟频率至fa,实现NoC工作频率的动态调整。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
2.根据权利要求1所述的方法,其特征在于,所述公式一中参数An,e和B根据NoC性能测试数据估算得到;
其中,进行NoC性能测试时需要保证NoC处于稳定工作状态,并使NoC带宽达到当前工作频率下最大带宽;一组NoC性能测试数据包括:a)NoC当前工作频率fk;b)每个设备中每类带宽敏感事件在时间窗口内统计的发生次数,即N*E个测试数据RQn,e,k;NoC性能测试数据在NoC全工作频率范围内随机分布,且测试数据组数K远大于待拟合参数数目。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述根据所述预期工作频率,调整NoC的工作频率进一步为:
根据所述预期工作频率,步进调整NoC的工作频率。
5.一种降低片上网络功耗的装置,其特征在于,包括:
获取模块,用于获取NoC的挂载设备在一段时间窗口内的工作状态数据,所述工作状态数据包括设备中带宽敏感事件发生的频次、设备中缓存利用率、设备接口总线带宽中的一种或多种;
计算模块,用于根据所述工作状态数据,计算NoC的预期工作频率;
调整模块,用于根据所述预期工作频率,调整NoC的工作频率;
其中,所述NoC的预期工作频率的计算公式为:
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。
6.根据权利要求5所述的装置,其特征在于,所述公式一中参数An,e和B根据NoC性能测试数据估算得到;
其中,进行NoC性能测试时需要保证NoC处于稳定工作状态,并使NoC带宽达到当前工作频率下最大带宽;一组NoC性能测试数据包括:a)NoC当前工作频率fk;b)每个设备中每类带宽敏感事件在时间窗口内统计的发生次数,即N*E个测试数据RQn,e,k;NoC性能测试数据在NoC全工作频率范围内随机分布,且测试数据组数K远大于待拟合参数数目。
8.根据权利要求5-7中任一所述的装置,其特征在于,所述调整模块,进一步用于根据所述预期工作频率,步进调整NoC的工作频率。
10.根据权利要求9所述的CPU芯片,其特征在于,所述公式一中参数An,e和B根据NoC性能测试数据估算得到;
其中,进行NoC性能测试时需要保证NoC处于稳定工作状态,并使NoC带宽达到当前工作频率下最大带宽;一组NoC性能测试数据包括:a)NoC当前工作频率fk;b)每个设备中每类带宽敏感事件在时间窗口内统计的发生次数,即N*E个测试数据RQn,e,k;NoC性能测试数据在NoC全工作频率范围内随机分布,且测试数据组数K远大于待拟合参数数目。
12.根据权利要求9-11中任一所述的CPU芯片,其特征在于,所述根据所述预期工作频率,调整NoC的工作频率进一步为:
根据所述预期工作频率,步进调整NoC的工作频率。
13.一种服务器,其特征在于,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述服务器的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-4任一所述的方法。
14.一种CPU芯片,包括NoC、为所述NoC提供工作时钟的时钟模块、以及用于控制所述时钟模块的系统控制单元SCU,所述NoC包括若干网络接口单元NIU,其特征在于,每个NIU均包括带宽敏感事件监控模块,所述带宽敏感事件监控模块包括初级运算模块、累加器1、累加器2至累加器E;所述SCU包括二级运算模块和时钟控制模块,其中:
所述累加器1、累加器2至累加器E分别用于统计各NIU的挂载设备在一段时间窗口内带宽敏感事件1、事件2至事件E的发生次数,所述累加器1、累加器2至累加器E的输出端连接至所述初级运算模块的输入端,所述初级运算模块用于实现公式七的运算;
每个NIU的初级运算模块的输出端连接至所述二级运算模块的输入端,所述二级运算模块的输出端连接所述时钟控制模块,所述时钟控制模块的输出端控制连接所述时钟模块,所述二级运算模块用于实现公式六的运算;
其中,fe表示预测的NoC工作频率,N表示NoC挂载的设备数目,E表示设备中带宽敏感事件类型的最大数目,Qn,e表示第n个设备中第e类带宽敏感事件在时间窗口内的统计值,An,e表示第n个设备中第e类带宽敏感事件的权值,B表示偏置参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011135270.5A CN112363610B (zh) | 2020-10-21 | 2020-10-21 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011135270.5A CN112363610B (zh) | 2020-10-21 | 2020-10-21 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112363610A CN112363610A (zh) | 2021-02-12 |
CN112363610B true CN112363610B (zh) | 2023-03-24 |
Family
ID=74511509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011135270.5A Active CN112363610B (zh) | 2020-10-21 | 2020-10-21 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112363610B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281415A (zh) * | 2007-04-06 | 2008-10-08 | 上海摩飞电子科技有限公司 | 电源管理技术中的动态电压频率调整方法 |
CN105550159A (zh) * | 2015-12-16 | 2016-05-04 | 广州中国科学院先进技术研究所 | 多核处理器片上网络的功率分配方法 |
CN106649192A (zh) * | 2016-11-11 | 2017-05-10 | 中国人民解放军国防科学技术大学 | 基于预测的三维片上网络动态频率调整方法 |
CN110209501A (zh) * | 2019-06-03 | 2019-09-06 | Oppo广东移动通信有限公司 | 图形处理器的频率调整方法、装置、终端及存储介质 |
-
2020
- 2020-10-21 CN CN202011135270.5A patent/CN112363610B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281415A (zh) * | 2007-04-06 | 2008-10-08 | 上海摩飞电子科技有限公司 | 电源管理技术中的动态电压频率调整方法 |
CN105550159A (zh) * | 2015-12-16 | 2016-05-04 | 广州中国科学院先进技术研究所 | 多核处理器片上网络的功率分配方法 |
CN106649192A (zh) * | 2016-11-11 | 2017-05-10 | 中国人民解放军国防科学技术大学 | 基于预测的三维片上网络动态频率调整方法 |
CN110209501A (zh) * | 2019-06-03 | 2019-09-06 | Oppo广东移动通信有限公司 | 图形处理器的频率调整方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112363610A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230251702A1 (en) | Optimizing power usage by factoring processor architectural events to pmu | |
CN112363609B (zh) | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 | |
CN104871114A (zh) | 用于集成电路的空闲阶段预测 | |
US20140337496A1 (en) | Embedded Management Controller for High-Density Servers | |
WO2021253817A1 (zh) | 一种互联通道的调整方法、装置、系统、设备和介质 | |
CN113515382B (zh) | 云资源的分配方法、装置、电子设备及存储介质 | |
US20140317267A1 (en) | High-Density Server Management Controller | |
CN1808340B (zh) | 维持监听吞吐量时为处理器提供低功率模式的方法和装置 | |
CN110162403B (zh) | 一种基于人工神经网络的硬件资源分配方法及系统 | |
CN112363610B (zh) | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 | |
CN113687949B (zh) | 服务器部署方法、装置、部署设备及存储介质 | |
CN117112701B (zh) | 分布式数据库中的节点切换方法、计算机设备及存储介质 | |
CN112306628B (zh) | 一种基于多核服务器的虚拟网络功能资源管理系统 | |
CN112394807A (zh) | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 | |
CN111901405A (zh) | 一种多节点监控方法、装置、电子设备及存储介质 | |
CN116361703A (zh) | 一种数据中心的节能控制方法、装置、电子设备及可读介质 | |
CN111723907A (zh) | 一种模型训练设备、方法、系统及计算机可读存储介质 | |
CN112363612B (zh) | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 | |
CN113626282B (zh) | 云计算物理节点负载监控方法、装置、终端及存储介质 | |
CN108984443A (zh) | 一种优先级实时调整装置及方法 | |
US20170075589A1 (en) | Memory and bus frequency scaling by detecting memory-latency-bound workloads | |
CN110968291B (zh) | 一种基于最优树调整应用程序功能菜单的方法及装置 | |
CN109031041B (zh) | 配电网电压监测装置布点方法与系统 | |
CN112003900A (zh) | 实现分布式系统中高负载场景下服务高可用的方法、系统 | |
CN115114028B (zh) | 一种电力仿真二次控制的任务分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |