CN116710904A - 处理装置、处理方法及相关设备 - Google Patents
处理装置、处理方法及相关设备 Download PDFInfo
- Publication number
- CN116710904A CN116710904A CN202180088258.XA CN202180088258A CN116710904A CN 116710904 A CN116710904 A CN 116710904A CN 202180088258 A CN202180088258 A CN 202180088258A CN 116710904 A CN116710904 A CN 116710904A
- Authority
- CN
- China
- Prior art keywords
- frequency
- load
- target
- processor
- processor core
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 82
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 230000015654 memory Effects 0.000 claims abstract description 141
- 238000013507 mapping Methods 0.000 claims description 141
- 238000000034 method Methods 0.000 claims description 79
- 238000009826 distribution Methods 0.000 claims description 26
- 230000001419 dependent effect Effects 0.000 claims description 19
- 238000005457 optimization Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 34
- 238000004364 calculation method Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 14
- 238000012549 training Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005265 energy consumption Methods 0.000 description 6
- 238000012417 linear regression Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007635 classification algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本申请提供一种处理装置、处理方法及相关设备,该处理装置包括处理器、调频控制器和调频器,该处理器包括第一处理器核;该调频控制器用于:获取该第一处理器核的至少一个负载类型;基于该至少一个负载类型确定目标对象的目标频率;该目标对象包括存储器;基于该目标频率调用该调频器调整该目标对象的工作频率。本申请能够更好地优化处理器的性能及能效。
Description
本申请要求于2020年12月31日提交中国专利局、申请号为PCT/CN2020/142512、申请名称为“处理装置、处理方法及相关设备”的国际申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及处理器技术领域,具体涉及一种处理装置、处理方法及相关设备。
随着移动端对计算能力及计算效率需求的逐渐增加,系统芯片(system on a chip,SoC)的中央处理器(central processing unit,CPU)及其对应的存储系统日益复杂化,例如CPU自身从单丛集发展成为双丛集甚至多丛集,以及三级缓存甚至四级层缓存的引入等,对处理器和存储器的性能以及计算机系统的能效的优化提出了极大地挑战。
综上所述,如何更好地优化处理器和存储器的性能以及计算机系统的能效是本领域技术人员需要解决的技术问题。
发明内容
本申请实施例提供一种处理装置、处理方法及相关设备,能够更好地优化处理器和存储器的性能及计算机系统的能效。
第一方面,本申请实施例提供了一种处理装置,该处理装置包括处理器、调频控制器和调频器,该处理器包括第一处理器核;该调频控制器用于:获取该第一处理器核的至少一个负载类型;基于该至少一个负载类型确定目标对象的目标频率;该目标对象包括存储器;基于该目标频率调用该调频器调整该目标对象的工作频率。
可选的,该存储器可以包括内存和异步缓存中的至少一项。
可选的,上述负载类型可以包括计算型负载、缓存依赖型负载和内存依赖型负载。
由于不同类型的负载最佳匹配的存储器工作频率可能不同,在本申请中通过处理器核的工作负载类型调整对应存储器的工作频率(例如工作负载为存储器依赖型,那么可以将存储器的工作频率适当调高,若工作负载为计算依赖型,那么可以将存储器的工作频率适当调低),使得存储器可以针对不同的工作负载类型更好地协作处理器处理工作负载,且可以减少处理过程中系统的卡顿,能够在满足工作负载所需的处理效率的同时优化系统的能效,即使得处理器和存储器的性能满足工作负载的需求的同时优化了系统的能效。另外,相比于现有的技术方案,现有的技术方案中忽略了影响处理器性能及系统能效的因素不止在于处理器核自身,还受和处理器核异步的存储器(例如异步缓存和/或内存)的影响,要达到更好地优化处理器性能及系统能效的目的,需要优化该异步存储器的性能,进而更好地优化系统的能效。
一种可能的实施方式中,上述目标对象还包括上述第一处理器核;该调频控制器还用于:基于该第一处理器核的目标频率调用该调频器调整该第一处理器核的工作频率,该第一处理器核的目标频率和该存储器的目标频率存在映射关系。
由于不同类型的负载最佳匹配的处理器和存储器工作频率不同,在本申请中,可以将处理器核及异步的存储系统视为一体,并利用算法及调频手段同时对其工作频率进行优化,使 得存储系统和处理器核的工作频率与需要处理的工作负载相匹配,从而可以从整体上满足处理器和存储器性能的需求的同时可以节省不必要的能耗,从而优化了系统的能效。
另外,上述第一处理器核的目标频率和该存储器的目标频率存在映射关系,该映射关系使得处理器的性能和能效同时达到较优的情况,即以该第一处理器核的目标频率和该存储器的目标频率同时运行处理对应的工作负载,可以满足该工作负载对处理器和存储器的性能的需求,且节省不必要的能耗,使系统的能效得到较好的优化。
一种可能的实施方式中,上述处理器还包括至少一个第二处理器核,上述第一处理器核和该至少一个第二处理器核组成簇,该调频控制器,还用于根据该第一处理器核的目标频率确定该簇的工作频率。
可选的,该至少一个第二处理器核可以包括一个或多个上述第一处理器核。
由于一个簇内的处理器核共用一个工作频率,因而,在本申请中,当获取得到一个簇内的一个或多个处理器核的一个或多个目标频率时,需要基于这些目标频率仲裁出一个统一的优化频率作为该一个簇的工作频率。
一种可能的实施方式中,上述处理器包括n个上述第一处理器核,该n为正整数;上述调频控制器还用于:针对每个该第一处理器核的至少一个负载类型确定上述存储器的一个目标频率;基于该存储器的n个目标频率确定该存储器的优化工作频率;调用上述调频器调整该存储器的工作频率为该优化工作频率。
由于存储器是整个处理器共用的,只有一个工作频率,因此,在本申请中,当获取到存储器的多个优化工作频率时,也需要仲裁出一个统一的优化频率作为该存储器的工作频率。
一种可能的实施方式中,上述处理装置还包括:负载分类器,用于获取上述第一处理器核中的负载分类特征信息,基于该负载分类特征信息对该第一处理器核中的负载进行分类得到上述至少一个负载类型;上述调频控制器具体用于:从该负载分类器中获取该至少一个负载类型。
可选的,该负载分类特征信息包括该第一处理器核内的时钟信号翻转信息。
在本申请中,负载分类器可以是用硬件、软件或固件中的一项或多项实现,能够细粒度地对处理器核中的负载进行分类,以配合调频控制器获取合理准确的优化频率。
一种可能的实施方式中,上述调频控制器,还用于:获取上述第一处理器核的负载量;在该负载量满足预设条件时,基于上述至少一个负载类型确定上述目标对象的目标频率。
可选的,该负载量为第一时间段内该第一处理器核的负载量,该第一时间段与该第一处理器核获取该负载量时所处的时间段为相邻的两个时间段,且该第一时间段先出现。
可选的,该预设条件可以包括:该负载量大于第一负载阈值或者该负载量小于第二负载阈值。其中,该第一负载阈值大于该第二负载阈值。
本申请表明只有在负载量满足预设条件的情况下才触发频率优化和调整的处理,可以减少随时随地触发调整所消耗的资源。
另外,可选的,本申请可以设置了两个阈值,一个是升频阈值(上述第一负载阈值),一个是降频阈值(上述第二负载阈值),当负载量大于升频阈值的情况下,表明处理器核的负载较重,处理速度跟不上,为了提升性能,需要升频。当负载量小于降频阈值的情况下,表明处理器核的负载较轻,不需要这么快的处理速度,为了节省能耗,需要降频。设置该两个阈值也可以更合理地对处理器核等进行调频,也可以减少频繁调频的额外资源消耗。
一种可能的实施方式中,上述调频控制器,具体用于:
基于上述目标对象的当前工作频率在第一负载类型对应的第一映射表中查找处理器的当前性能信息,该第一映射表中包括该目标对象的工作频率与该处理器的性能信息的映射关系;该第一负载类型为该至少一个负载类型中出现次数最多的类型;基于该负载量对该当前性能信息做调整以得到目标性能信息;基于该目标性能信息在该第一映射表中查找该目标对象的第一目标频率,将该第一目标频率作为该目标对象的目标频率。
本申请以出现次数最多或者说比重最大的负载类型来计算对应的目标频率,以使得处理器核处理负载时尽可能地能够达到更好的性能和能效。另外,本申请通过上述频率-性能映射表来获得目标频率,由于这些映射表是离线情况下训练得到的满足各种约束的最优解集,因而获得的目标频率更理想,基于获得的目标频率处理负载可以更好优化的性能和能效。
一种可能的实施方式中,上述第一映射表中还包括上述目标对象的工作频率与该处理器的功耗的映射关系;该调频控制器,还用于:基于该处理器的功耗约束在该第一映射表中查找该目标对象的第二目标频率;在该第一目标频率和该第二目标频率不同的情况下,确定该目标对象的目标频率为该第二目标频率。
在本申请中,从频率、性能和功耗(即能效)多方面考虑,在同时满足功耗约束和性能需求的情况下为存储器和/或处理器核匹配出更合理、准确的工作频率,可以更好地优化处理器和存储器的性能和系统的能效。另外,上述频率-性能-功耗映射表也是离线情况下训练得到的满足各种约束的最优解集,因而获得的目标频率更理想,基于获得的目标频率处理负载可以获得更好的性能和能效。
一种可能的实施方式中,上述至少一个负载类型为m个负载类型,该m为大于1的整数;该m个负载类型的每个类型对应一个映射表,该映射表中包括该目标对象的工作频率与该处理器的性能信息的映射关系;该调频控制器,具体用于:
基于该目标对象的当前工作频率在每个该映射表中查找处理器的一个当前性能信息;基于该负载量分别对该m个当前性能信息做调整以得到m个目标性能信息;基于该m个目标性能信息在该m个映射表中查找该目标对象的m组第一优化频率;基于该m个负载类型的负载分布权重对该m组第一优化频率进行处理得到第三目标频率,将该第三目标频率作为该目标对象的目标频率,该负载分布权重指示该m个类型中每个类型的负载的比例。
本申请基于负载分布权重进行处理获取目标频率,也可以使得处理器核处理对应负载类型的负载时能够达到较优的性能和能效。本申请同样通过上述频率-性能映射表来获得目标频率,由于这些映射表是离线情况下训练得到的满足各种约束的最优解集,因而获得的目标频率更理想,基于获得的目标频率处理负载可以获得更好的性能和能效。
一种可能的实施方式中,上述m个映射表中还包括该目标对象的工作频率与该处理器的功耗的映射关系;该调频控制器,还用于:基于该处理器的功耗约束分别在该m个映射表中查找该目标对象的m组第二优化频率;基于该负载分布权重对该m组第二优化频率进行处理得到该目标对象的第四目标频率;在该第三目标频率和该第四目标频率不同的情况下,确定该目标对象的目标频率为该第四目标频率。
同理,在本申请中,从频率、性能和功耗(即能效)多方面考虑,在同时满足功耗约束和性能需求的情况下为存储器和/或处理器核匹配出更合理、准确的工作频率,可以更好地优化处理器和存储器的性能和系统的能效。另外,上述频率-性能-功耗映射表也是离线情况下训练得到的满足各种约束的最优解集,因而获得的目标频率更理想,基于获得的目标频率处理负载可以获得更好的性能和能效。
第二方面,本申请提供一种处理方法,该方法应用于处理装置,该处理装置包括处理器、调频控制器和调频器,该处理器包括第一处理器核;该方法包括:通过该调频控制器执行如下操作:
获取上述第一处理器核的至少一个负载类型;基于上述至少一个负载类型确定目标对象的目标频率;上述目标对象包括存储器;基于上述目标频率调用上述调频器调整上述目标对象的工作频率。
一种可能的实施方式中,上述存储器包括内存和异步缓存中的至少一项。
一种可能的实施方式中,上述负载类型包括计算型负载、缓存依赖型负载和内存依赖型负载。
一种可能的实施方式中,上述目标对象还包括上述第一处理器核;上述方法还包括:通过上述调频控制器执行如下操作:
基于上述第一处理器核的目标频率调用上述调频器调整上述第一处理器核的工作频率,上述第一处理器核的目标频率和上述存储器的目标频率存在映射关系。
一种可能的实施方式中,上述处理器还包括至少一个第二处理器核,上述第一处理器核和上述至少一个第二处理器核组成簇;上述方法还包括:通过上述调频控制器根据上述第一处理器核的目标频率确定上述簇的工作频率。
一种可能的实施方式中,上述处理器包括n个上述第一处理器核,上述n为正整数;上述方法还包括:通过上述调频控制器执行如下操作:
针对每个上述第一处理器核的至少一个负载类型确定上述存储器的一个目标频率;基于上述存储器的n个目标频率确定上述存储器的优化工作频率;调用上述调频器调整上述存储器的工作频率为上述优化工作频率。
一种可能的实施方式中,上述处理装置还包括负载分类器,上述方法还包括:
通过上述负载分类器获取上述第一处理器核中的负载分类特征信息,基于上述负载分类特征信息对上述第一处理器核中的负载进行分类得到上述至少一个负载类型;通过上述调频控制器从上述负载分类器中获取上述至少一个负载类型。
一种可能的实施方式中,上述负载分类特征信息包括上述第一处理器核内的时钟信号翻转信息。
一种可能的实施方式中,上述方法还包括:
通过上述调频控制器获取上述第一处理器核的负载量;上述基于上述至少一个负载类型确定目标对象的目标频率,包括:在上述负载量满足预设条件时,基于上述至少一个负载类型确定上述目标频率。
一种可能的实施方式中,上述基于上述至少一个负载类型确定上述目标频率,包括:
基于上述目标对象的当前工作频率在第一负载类型对应的第一映射表中查找处理器的当前性能信息,上述第一映射表中包括上述目标对象的工作频率与上述处理器的性能信息的映射关系;上述第一负载类型为上述至少一个负载类型中出现次数最多的类型;基于上述负载量对上述当前性能信息做调整以得到目标性能信息;基于上述目标性能信息在上述第一映射表中查找上述目标对象的第一目标频率,将上述第一目标频率作为上述目标对象的目标频率。
一种可能的实施方式中,上述第一映射表中还包括上述目标对象的工作频率与上述处理器的功耗的映射关系;上述方法还包括:通过上述调频控制器执行如下操作:
基于上述处理器的功耗约束在上述第一映射表中查找上述目标对象的第二目标频率;在 上述第一目标频率和上述第二目标频率不同的情况下,确定上述目标对象的目标频率为上述第二目标频率。
一种可能的实施方式中,上述至少一个负载类型为m个负载类型,上述m为大于1的整数;上述m个负载类型的每个类型对应一个映射表,上述映射表中包括上述目标对象的工作频率与上述处理器的性能信息的映射关系;上述基于上述至少一个负载类型确定上述目标频率,包括:
基于上述目标对象的当前工作频率在每个上述映射表中查找处理器的一个当前性能信息;基于上述负载量分别对上述m个当前性能信息做调整以得到m个目标性能信息;基于上述m个目标性能信息在上述m个映射表中查找上述目标对象的m组第一优化频率;基于上述m个负载类型的负载分布权重对上述m组第一优化频率进行处理得到第三目标频率,将上述第三目标频率作为上述目标对象的目标频率,上述负载分布权重指示上述m个类型中每个类型的负载的比例。
一种可能的实施方式中,上述m个映射表中还包括上述目标对象的工作频率与上述处理器的功耗的映射关系;上述方法还包括:通过上述调频控制器执行如下操作:
基于上述处理器的功耗约束分别在上述m个映射表中查找上述目标对象的m组第二优化频率;基于上述负载分布权重对上述m组第二优化频率进行处理得到上述目标对象的第四目标频率;在上述第三目标频率和上述第四目标频率不同的情况下,确定上述目标对象的目标频率为上述第四目标频率。
第三方面,本申请提供一种电子设备,该设备包括:如上述第一方面任一项所述的处理装置,以及耦合于该处理装置的分立器件。
第四方面,本申请提供一种片上系统芯片,该片上系统芯片包括上述第一方面的任意一种实现方式所提供的处理装置。该片上系统芯片,可以由处理芯片构成,也可以包含处理芯片和其他分立器件。
第五方面,本申请提供一种计算机程序,该计算机程序包括指令,当该计算机程序处理器执行时,使得该处理器可以执行上述第二方面中任意一项所述的处理方法流程。
上述第二方面至第五方面提供的方案,用于实现或配合实现上述第一方面提供的处理器,因此可以与第一方面达到相同或相应的有益效果,此处不再进行赘述。
综上所述,采用本申请提供的方案能够更好地优化处理器的性能及系统的能效。
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1为本申请实施例提供的一种处理装置的架构示意图。
图2为本申请实施例提供的一种负载分类器的架构示意图。
图3为本申请实施例提供的另一种负载类型和映射表之间的关系的示意图。
图4和图5为本申请实施例提供的一种处理装置中模块实现的功能流程示意图。
图6为本申请实施例提供的一种处理方法的流程示意图。
下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)任务调度,在本申请中所述的任务调度指的是操作系统将线程任务调度分配给处理器中的多个处理器核执行。任务是一系列共同达到某一目的的操作,可以是一个进程,或者可以是一个线程。
(2)动态电压频率调整(dynamic voltage and frequency scaling,DVFS),DVFS技术可以根据芯片所运行的任务对计算能力的不同需要,动态调节芯片的工作频率和电压,从而达到节能的目的。
(3)处理器,可以是中央处理器单元(central processing unit,CPU)、通用处理器、数字信号处理器、集成电路(Integrated Circuit,IC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。
(4)处理器核,指的是处理器的核心,控制着所有的计算、接受/存储命令和处理数据等操作的执行。
(5)性能,在本申请中可以用单位指令的执行时间(Delay Per Instruction,DPI)来判断处理器处理某一个类型负载的性能的好坏,处理器在处理某一个类型负载时,单位指令的执行时间越少,性能越好。同样的,单位时间执行的指令数目(Instructions Per Seconds,IPS)也可以用来判断处理器处理某一个类型负载的性能的好坏,处理器在处理某一个类型负载时,单位时间执行的指令数目越多,性能越好。
(6)能效,指的是计算机提供的服务与所消耗的总能源量之比,在本申请中,能效可以用消耗单位能量所执行的指令数目(IPS Per Watt)来衡量。计算机系统(包括处理器系统和存储器系统等)在处理某一个类型负载时,消耗单位能量所执行的指令数目越多,计算机系统的能效越好。
(7)计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。指令集(Instruction set),就是处理器中用来计算和控制计算机系统的一套指令的集合,每款处理器在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是处理器的重要指标,指令集是提高微处理器效率的最有效的工具之一。常见的指令集架构(Instruction Set Architecture,ISA)有复杂指令集运算(Complex Instruction Set Computing,CISC)和精简指令集运算(Reduced Instruction Set Computing,RISC),其中,CISC的典型代表是X86,RISC的典型代表是高级精简指令集机 器(Advanced RISC Machine,ARM)架构和无内部互锁流水级的微处理器(Microprocessor without interlocked pipelined stages,MIPS)架构。
(8)进程(process)常常被定义为程序的执行。可以把一个进程看成是一个独立的程序,在内存中有其完备的数据空间和代码空间。一个进程所拥有的数据和变量只属于它自己。
(9)线程(thread)则是某一进程中一路单独运行的程序。也就是说,线程存在于进程之中。一个进程由一个或多个线程构成,各线程共享相同的代码和全局数据,但各有其自己的堆栈。由于堆栈是每个线程一个,所以局部变量对每一线程来说是私有的。由于所有线程共享同样的代码和全局数据,它们比进程更紧密,比单独的进程间更趋向于相互作用,线程间的相互作用更容易些,因为它们本身就有某些供通信用的共享内存:进程的全局数据。
为了便于理解本申请实施例,下面先分析并提出本申请所具体要解决的技术问题。
一般来说,处理器工作频率越高,执行任务的速度就越快,性能就越好,但是,工作频率越高,需要消耗的能量就越多,功耗就越大,计算机系统的能效越差。为了兼顾性能和能效,可以对任务进行调度并对处理器的工作频率进行调频。现有调度-调频方案是将完全公平调度器(completely fair scheduler,CFS)和动态电压频率调整(dynamic voltage and frequency scaling,DVFS)技术融合,在调度器CFS中,通过预先设置的DVFS能量和性能缩放表格在调度过程感知能量消耗的结果,继而控制DVFS调整CPU的工作频率,优化调度的能效结果。同时,DVFS周期运行,持续目标性能及能效。但是,这种融合带来的性能和能效的优化仅限于某些固定场景,例如新线程首次下发、旧线程被唤醒和线程需要被迁移这些场景,在绝大多数时间里系统性能及能效得不到持续保证。
对于较长时间运行的任务来说,为了保证该任务持续的性能及能效优化。当前调度调频系统依然需要依赖周期化执行的DVFS。理论上,DVFS的执行间隔越细,则系统的收益越大。但受限于DVFS自身的执行开销。这种间隔无法做到更细粒度。
另外,上述CFS和DVFS融合的方案依赖一个固定的性能、功耗折算表格来进行任务的性能及能效优化,但这个表格在不同任务类型下的普适性并不佳。且,该方案只针对CPU的工作频率进行调整,对于存储器例如内存和异步缓存的工作频率不涉及,因而对性能和能效的优化力度有限。
基于上述的描述,本申请所要解决的技术问题可以包括如下:
1、调度-调频系统不能持续目标性能及能效的问题。
2、DVFS系统不能细粒度追踪负载以迭代优化能效的问题。
3、调度-调频系统在不同任务类型下以目标性能及能效为目标的行为的准确性问题。
4、调频行为无法与存储系统联动以更全面地优化整个处理器的性能及系统能效的问题。
为了解决上述技术问题,首先,本申请提供一种装置。请参见图1,图1是本申请实施例提供的一种包括调度和调频功能的装置10的结构示意图,该装置10可以位于任意一个电子设备中,如电脑、计算机、手机、平板等各类设备中。该装置10具体可以是芯片或芯片组或搭载有芯片或者芯片组的电路板。该芯片或芯片组或搭载有芯片或芯片组的电路板可在必要的软件驱动下工作。
装置10包括处理器101,以及耦合于处理器101的调频控制器102、调频器103、异步缓存104和内存105。
处理器101包括一个或多个处理器核(Core),图1以N(N为大于0的整数)个处理器核1011为例,包括处理器核(Core)1、处理器核(Core)2、……和处理器核(Core)(N-1)。每个处理器核1011中包括负载分类器和运算控制单元。其中,每个处理器核1011内的负载分类器用于对该每个处理器核1011内的负载进行分类。每个处理器核1011内的运算控制单元可以用于控制该每个处理器核1011内的负载分类器等硬件的执行和运算。
一种可能的实现方式中,该负载分类器也可以用软件来实现。可选的,软件实现的负载分类器可以配置在处理器核1011内或者配置在调频控制器102内。若配置在处理器101内,那么该负载分类器直接从处理器核1011内获取负载分类的特征信息对负载进行分类输出负载分类结果给调频控制器102。若配置在调频控制器102内,那么负载分类器可以从处理器核1011获取负载分类特征信息,在调频控制器102内基于获取的负载分类特征信息进行负载分类的计算,得到从而负载分类信息。该负载分类特征信息后面会介绍,此处暂不详述。
若处理器101包括多个处理器核1011,那么该多个处理器核1011可以分成多个簇,每一个簇包括至少一个处理器核。例如假设处理器101包括8个处理器核1011,那么,可以将该8个处理器核1011分成三个簇,其中两个簇可以包括3个处理器核1011,剩下一个簇包括2个处理器核1011。每个簇中的处理器核的工作频率相同,即每个簇中的处理器核共用一个工作频率。
调频控制器102用于基于上述负载分类器的分类结果计算装置内相关组件(例如各个处理器核1011、内存105和/或异步缓存104等)的工作频率的优化频率,然后调用调频器103将该相关组件的工作频率调整为对应的优化频率,以优化处理器的性能和计算机系统的能效。
调频控制器102可以是低功耗的处理器,例如可以是低功耗的CPU、低功耗的微控制单元(microcontroller unit,MCU)或者低功耗的状态机等等。
调频器103可以从调频控制器102获取处理器的优化工作频率,然后基于这些优化频率调整上述一个或多个处理器核的工作频率。可选的,调频器103还可以从调频控制器102获取异步缓存104和内存105的优化工作频率,然后基于这些优化频率分别调整异步缓存104和内存105的工作频率。
调频器103可以是动态电压频率调整(dynamic voltage and frequency scaling,DVFS)模块等。
内存105可以包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)或便携式只读存储器(compact disc read-only memory,CD-ROM)等。
可选的,异步缓存104可以是高速缓冲(cache)存储器,通常由静态随机存取存储器(static random access memory,SRAM)组成。异步缓存104可以包括三级缓存和/或四级缓存。需要说明的是,由于同步缓存(例如一级缓存等)的工作频率是与处理器核的工作频率相同的,而异步缓存104的工作频率与处理器核1011的工作频率不相同,所以在本申请中,可以另外对异步缓存的工作频率进行优化调整,以进一步优化处理器的性能和整个计算机系统的能效。另外,一种可能的实施方式中,二级缓存可以是同步缓存,另一种可能的实施方式中,二级缓存为异步缓存。
可选的,内存105可以是DDR存储器,该DDR为双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,DDR SDRAM)的简称。
处理器101包括的一个或多个处理器核(Core)中的至少一个处理器核用于运行任务调度 器106。该任务调度器106为计算机程序来实现,该任务调度器106可以是操作系统(operating system,OS)中的调度程序,用于通过调度通道107将任务调度分配到该一个或多个处理器核中执行。
在图1中可以看到,任务调度器106可以向调频控制器102发送调频约束,该调频约束可以是功耗约束、性能约束等。任务调度器106还可以从调频控制器102获取调度建议,该调度建议可以包括负载均衡、任务迁移或上下电策略等建议。例如,当调频控制器102获取同一个簇内的各个处理器核存在负载不均衡或者负载类型差异等不利于优化的情况时,会向任务调度器106发送负载均衡的建议。示例性地,该负载均衡建议可以包括该簇内各个处理器核的负载情况以及负载类型等信息。
可选的,任务调度器106也可以向调频器103发送调频请求,从而调用调频器103进行调频。
综上所述,本申请提供的装置10硬件调频控制与软件线程调度解耦,软件负责粗粒度调度并向硬件提供调频约束;硬件控制细粒度调频并向软件提供调度建议;软硬结合,粗调与细调结合。本申请提供的装置10中调频控制器与负载分类器相结合,可以更及时的对负载追踪及实时迭代,更及时的升频降频,及时及持续更好优化能效及性能。同时,通过硬件实现负载的跟踪及调频控制可以有效降低软件负载及开销。另外,调频控制器可对处理器与存储器进行调频控制,从而可从整个系统的角度优化能效及性能。
基于上述装置的软硬件架构,在本申请实施例中,该装置10中各个组成部分具体所实现的功能可包括如下:
每个处理器核1011中的负载分类器,用于对该每个处理器核1011中的负载进行分类得到负载分类信息,该负载分类信息用于指示该每个处理器核1011中的负载所属的负载类型。
一种可能的实施方式中,负载分类器也可以配置在调频控制器102中,用于对每个处理器核1011中的负载进行分类,本申请主要以在处理器核1011中配置负载分类器的情况为例进行介绍,对于负载分类器配置在调频控制器102中的情况可以参见对应的描述,本申请不再赘述。
在具体实施例中,负载类型可以包括计算型、缓存依赖型、内存依赖型和空闲类型等。其中,若处理器核在执行负载的过程中,只需要访问一级缓存和/或二级缓存即可获取需要的数据,那么该负载属于计算型的负载。若处理器核在执行负载的过程中,需要访问三级缓存和/或四级缓存来获取数据,那么该负载属于缓存依赖型的负载。若处理器核在执行负载的过程中,需要访问内存来获取数据,那么该负载属于内存依赖型的负载。当处理器核执行空闲(idle)负载时即挂起暂停工作时,处理器核1011中的负载的类型为空闲类型。
下面以处理器核1011-0中的负载分类器为例介绍,该负载分类器可以是用硬件电路或者软件程序实现的分类算法,例如可以softmax分类算法等,该softmax分类算法包括一个预先训练好的模型,该模型可以以处理器核1011-0内(可选的,还可以包括同步缓存内)的负载分类特征信息作为输入,经过该模型的计算和判断之后可以输出该处理器核1011-0内负载的分类信息。该负载分类特征信息包括处理器核1011-0内(可选的,还可以包括同步缓存内)的时钟信号翻转和性能事件(event)中的一项或多项。该性能事件可以包括例如预设时长内的指令和/或电平信号等事件中的一项或多项。为了便于理解该负载分类器,可以参见图2。
图2示例性示出了以硬件电路实现的负载分类器的结构示意图。可以看到,负载分类器可以包括计数器201、处理单元202和存储器203。其中,处理单元202可以包括乘加(multiply accumulate,MAC)单元,和比较及控制单元等用于执行计算、比较以及控制处理等操作的单元。存储器203可以是静态随机存取存储器(static random-access memory,SRAM)等。示例性地,负载分类器以上述处理器核1011-0(可选的,还可以包括同步缓存)在第一预设时长内的时钟信号翻转和性能事件中的一项或多项输入到计数器201中,用于统计第一预设时长内的时钟信号翻转的次数和\或性能事件出现的次数或时长等。若性能事件包括第一预设时长内的指令,那么计数器201用于统计该指令的个数;若性能事件包括电平信号等事件,那么计数器201可以用于统计这些电平信号等在第一预设时长内出现的时长等,进而可以统计出该第一预设时长内的前端执行效率和\或第一预设时长内的后端执行效率等信息。计数器201对第一预设时长内的输入统计完成之后,将统计结果输入到处理单元202中,且处理单元202从存储器203中获取预先训练好的计算参数等信息,然后处理单元202将统计结果和预先训练好的计算参数等信息进行计算和比较等操作,最终输出一个具体的负载类型。
该负载分类器可以是以上述第一预设时长为周期来周期性地对处理器核1011-0内的负载进行分类,也可以是以大于上述第一预设时长的第二预设时长为周期。该周期也可以称为一个分类窗口,那么该负载分类器周期性地对每个分类窗口内处理器核1011-0的负载进行分类得到每个分类窗口内的负载的类型。上述第一预设时长、第二预设时长的大小可以是100微秒、10毫秒或者1秒等等,本申请对上述第一预设时长、第二预设时长的大小不做限制。
可选的,上述第一预设时长、第二预设时长的大小由该调频控制器102配置得到;或者,上述第一预设时长、第二预设时长的大小由该每个处理器核1011中的负载分类器通过中断触发该调频控制器102来确定。
调频控制器102,用于从第一处理器核中获取该第一处理器核的目标负载分类信息;基于该目标负载分类信息确定目标对象的目标频率;然后,基于该目标频率调用该调频器103调整该目标对象的工作频率。
该第一处理器核为上述一个或多个处理器核1011中的一个处理器核。只要当处理器核1011满足预设条件的情况下,该处理器核1011才是所述的第一处理器核。
该预设条件为该处理器核1011在第一窗口内的负载量大于第一阈值或者小于第二阈值。该第一窗口与该处理器核1011所在的窗口为相邻的窗口,且该第一窗口先出现。可选的,该第一窗口可以包括一个或多个上述负载分类器的分类周期,即该第一窗口可以包括一个或多个上述分类窗口。
上述第一阈值和第二阈值统称为负载阈值,该第一阈值大于该第二阈值。具体的,该第一阈值可以是升频负载阈值,该第二阈值可以是降频负载阈值。该升频负载阈值的取值例如可以是70%或80%等等,该降频负载阈值的取值可以是50%或60%等等,本申请对负载阈值的具体取值不做限制。
当处理器核1011在第一窗口内的负载量大于该升频负载阈值时,表明该处理器核1011的负载太重,处理速度跟不上,为了提升处理器的性能,需要对处理器核1011对应的工作频率进行升频。当处理器核1011在第一窗口内的负载量小于该降频负载阈值时,表明该处理器核1011的负载较轻,不需要这么快的处理速度,为了节省系统的能耗,需要对处理器核1011对应的工作频率进行降频。
一种可能的实施方式中,不同的处理器核的第一阈值可以相同,也可以不相同;不同的处理器核的第二阈值可以相同,也可以不相同。
一种可能的实施方式中,同一个簇内的处理器核的第一阈值可以相同,同一个簇内的处 理器核的第二阈值可以相同;且,不同簇内的处理器核的第一阈值可以不同,不同簇内的处理器核的第二阈值可以不同。
上述目标对象可以包括该第一处理器核和存储器中的至少一项。该存储器包括内存和异步缓存中的至少一项。示例性地,该内存可以是图1中所示的内存105,该异步缓存可以是图1中所示的异步缓存104。
上述负载分类信息可以包括具体的负载所属的具体类型。例如,假设该第一窗口内包括两个分类窗口(分类窗口1和分类窗口2),那么,示例性地,该第一窗口内的负载分类信息可以为:分类窗口1得到的负载类型为计算型,分类窗口2得到的负载类型为缓存依赖型。
在具体实施例中,调频控制器102可以监控上述一个或多个处理器核1011在每个窗口内的负载量,以处理器核1011-0为例说明,在该处理器核1011-0在第一窗口内的负载量大于第一阈值或者小于第二阈值的情况下(此时该处理器核1011-0为上述第一处理器核),会触发调频控制器102基于该第一窗口内的负载情况计算优化频率,然后调用调频器103进行调频。
调频控制器102可以通过多种方式获取处理器核1011-0在第一窗口内的负载量,下面示例性介绍两种:
第一种、通过从处理器核1011-0获取由该处理器核1011-0计算得到的该第一窗口内的负载量。
具体的,处理器核1011-0可以感知该第一窗口内的自身的负载情况,具体的,可以获知该第一窗口内处理器核1011-0繁忙(busy)和空闲(idle)的时长,然后,计算busy时长与该窗口内的总时长的比值即可得到该第一窗口内的负载量。该窗口内的总时长为busy时长与idle时长的和。Busy时长指的是处理器核1011-0需要处理用于完成某个目标的任务的时长,idle时长指的是让处理器核1011-0挂起即暂停工作的时长。例如,该第一窗口的总时长为10秒,busy时长为8秒,idle时长为2秒,那么,该第一窗口内的负载量为8/10=80%。处理器和1011-0计算得到该第一窗口内的负载量之后,可以发送给调频控制器102以做进一步的处理。
第二种、通过从处理器核1011-0中的负载分类器获取实时的负载分类信息,基于该实时的负载分类信息计算得到在该第一窗口内该处理器核1011-0的实时负载。
具体的,调频控制器102可以实时获取处理器核1011-0内的负载分类器在每一个窗口内的负载分类信息,那么,调频控制器102可以实时获取处理器核1011-0内的负载分类器在上述第一窗口内的负载分类信息,由于该负载分类信息指示了该第一窗口包括的各个分类窗口的负载的类型情况,那么,计算该负载分类信息中除了空闲类型之外的负载类型的个数与该负载分类信息中总的负载类型的个数的比值即可得到该第一窗口内的负载量。例如,假设该第一窗口包括4个分类窗口(分类窗口1、分类窗口2、分类窗口3和分类窗口4),该第一窗口内的负载分类信息为:分类窗口1得到的负载类型为计算型,分类窗口2得到的负载类型为缓存依赖型,分类窗口3得到的负载类型为计算型,和分类窗口4得到的负载类型为空闲类型。那么,该第一窗口内的负载量为3/4=75%。
调频控制器102获取处理器核1011-0在第一窗口内的负载量后,将该负载量分别与上述第一阈值和第二阈值比较,在该处理器核1011-0在第一窗口内的负载量大于第一阈值或者小于第二阈值的情况下,基于该第一窗口内的负载情况即基于第一窗口内的负载量和负载分类信息计算目标对象(包括处理器核1011-0、异步缓存104和内存105中的至少一项)的目标频 率。
下面介绍计算该目标对象的目标频率的过程。
调频控制器102可以根据从处理器核1011-0内的负载分类器获取的上述第一窗口内的负载分类信息计算负载分布权重。具体的,该负载分类信息指示该处理器核1011-0在第一窗口内的负载的类型包括m(该m为大于1的整数)个负载类型,那么该负载分布权重指示该m个类型中每个类型的负载比例。为了便于理解,下面举例说明。
假设处理器核1011-0在第一窗口内包括10个分类窗口(可以称为第1分类窗口、第2分类窗口、……和第10分类窗口),负载分类器对该10个分类窗口内的负载进行分类之后得到的负载分类信息可以为:第1分类窗口至第3分类窗口中的负载为计算型负载,第4至第6分类窗口以及第9分类窗口中的负载是缓存依赖型负载,第7分类窗口中的负载为内存依赖型负载,第8分类窗口和第10分类窗口中的负载为空闲类型负载。调频控制器102获取到该负载分类信息之后,统计可知处理器核1011-0在第一窗口内的负载类型总个数为10,然后,计算得到的负载分布权重为:计算型负载的权重为3/10,缓存依赖型负载的权重为4/10,内存依赖型负载的权重为1/10,以及空闲类型负载的权重为2/10。
另外,调频控制器102还需要计算负载缩放比例,基于该负载缩放比例可以计算得到目标性能,从而基于目标性能可以查找到优化频率。具体的,若处理器核1011-0在第一窗口内的负载量大于第一负载阈值(第一负载阈值也可以称为升频负载阈值),那么该负载缩放比例为该第一负载阈值与该负载量的比值。若处理器核1011-0在第一窗口内的负载量小于第二负载阈值(第二负载阈值也可以为称为降频负载阈值),那么该负载缩放比例为该第二负载阈值与该负载量的比值。
一种可能的实施方式中,本申请所述的性能也可以是数值越大,性能越好,那么,在计算负载缩放比例时,若处理器核1011-0在第一窗口内的负载量大于第一负载阈值,那么该负载缩放比例为该负载量与该第一负载阈值的比值。若处理器核1011-0在第一窗口内的负载量小于第二负载阈值,那么该负载缩放比例为该负载量与该第二负载阈值的比值。需要说明的是,本申请以上一段所述的方式为例介绍。
调频控制器102还需要获取上述目标对象的当前工作频率。一种可能的实施方式中,该目标对象的当前工作频率可以从调频器103中获取,该目标对象的当前工作频率包括处理器核1011-0的当前工作频率,可选的,该目标对象的当前工作频率还包括异步缓存104和/或内存105的当前工作频率。一种可能的实施方式,调频控制器102可以与运行任务调度器106的处理器核交互,从任务调度器106中获取处理器核1011-0的当前工作频率,可选的,还可以获取异步缓存104和/或内存105的当前工作频率。由于任务调度器106需要了解处理器内各个处理器核以及存储器等模块的情况才便于做出任务调度决策,因此,任务调度器106可以实时获取各个处理器核以及存储器的工作频率等信息。
另一种可能的实施方式中,该调频控制器102可以直接与处理器核1011-0交互获取该处理器核1011-0的当前工作频率。可选的,该调频控制器102还可以与存储器即异步缓存104和/或内存105交互获取异步缓存104和/或内存105的当前工作频率。
获取处理器核1011-0对应的当前工作频率之后,调频控制器102基于该当前工作频率获取处理器101的当前性能信息,该当前性能指的是在该目标对象的当前工作频率下处理负载时该处理器101的性能。然后,基于该当前性能信息和上述计算得到的负载缩放比例计算得到目标性能信息,然后,基于计算得到的目标性能信息确定该目标对象的目标频率。
在介绍确定该目标对象的目标频率的具体过程之前,下面先介绍一下调频控制器102中维护的频率-性能映射表。
具体的,在调频控制器102中维护着上述各个处理器核对应的频率-性能关系映射表(下面简称映射表),并且每个处理器核对应的映射表还可以包括多个,该多个映射表为多个负载类型各自对应的映射表。
该频率-性能映射表可以是离线训练得到的。具体的,首先可以采用上述介绍的负载分类器针对不同处理器核的负载进行离线训练分类得到不同的负载类型。然后,针对不同的负载类型,通过线性回归模型预测处理器核和/存储器不同的工作频率对应的处理器的性能,从而建立了不同处理器核中不同的负载类型对应的频率-性能映射表。
可选的,上述线性回归模型可以包括但不限于是一阶或高阶多项式,模型的输入变量可以包括但不限于处理器核和/存储器工作频率的频率值、频率值的线性组合、频率的比值或者标准化后的频率值等等。该线性回归模型对应的线性回归的算法可以包括但不限于是最小二乘法或者带正则化项的最小二乘法等。
需要说明的是,处理器核对应的映射表指的是该映射表中的数据适用于该处理器核。某个负载类型对应的映射表中记录的是处理器核在执行该负载类型的负载时处理器核的工作频率与处理器性能的映射关系;可选的,该某个负载类型对应的映射表中还可以记录的是处理器核在执行该负载类型的负载时存储器的工作频率与处理器性能的映射关系。
当映射表中同时记录了处理器核的工作频率、存储器的工作频率和处理器性能的映射关系时,该映射表中的处理器和的工作频率和存储器的工作频率满足一定的映射关系,使得处理器的性能能够达到较理想的优化状态,同时使得整个计算机系统的能效也能够得到较好的优化。
为了便于理解,可以参见图3。在图3中,示例性画出了各个处理器核各自对应的映射表,每个处理器核对应的映射表中还包括多个负载类型各自对应的映射表,图3中示例性地以计算型负载、缓存依赖型负载和内存依赖型负载为例示出。
为了便于理解,可以参见表1,表1示例性地示出了某个负载类型的映射表的一部分。
表1
处理器核的工作频率/Hz | 内存的工作频率/Hz | 缓存的工作频率/Hz | 性能 |
100 | 50 | 40 | a1 |
200 | 50 | 49 | a2 |
200 | 50 | 52 | a3 |
300 | 50 | 53 | a4 |
400 | 55 | 53 | a5 |
500 | 51 | 52 | a6 |
在表1中可以看到,工作频率的单位为赫兹(Hz)。假设表1中所示为处理器核1011-0对应的计算型负载的映射表,示例性地,在表1中,当处理器核1011-0以工作频率100赫兹,且内存和缓存分别以50赫兹和40赫兹的工作频率处理一个计算型负载时,该处理器核1011-0的性能为a1。另外,处理器核的工作频率越大,性能越小,表明执行一个负载需要的时间越少,因而性能越好。
基于上述的描述,下面介绍确定上述目标对象的目标频率的具体过程,这个过程有两种可能的实现方式,下面分别介绍。
第一种可能的实现方式,选择上述负载分布权重中权重最大的负载类型来计算。
具体的,调频控制器102计算得到处理器核1011-0在第一窗口内的负载分布权重之后,可以获知权重最大的负载类型(可以称为第一负载类型,或者该权重最大的负载类型也可以说是在该第一窗口内出现次数最多的负载类型),然后查找到该处理器核1011-0对应的第一负载类型的映射表。以上述获取的目标对象的当前工作频率为索引,在该第一负载类型的映射表中查找到该当前工作频率映射的性能信息,可以称为第一性能信息,该第一性能信息为处理器101的当前性能信息。
例如,假设该第一负载类型的映射表为表1所示,获取的该处理器核1011-0对应的当前工作频率为:处理器核1011-0的工作频率100赫兹、内存的工作频率50赫兹和缓存的工作频率40赫兹,那么将该几个工作频率与表1中的频率分别比较,最后查找到该几个频率映射的性能信息为a1。
调频控制器102查找到上述第一性能信息之后,可以将第一性能信息与上述计算得到的负载缩放比例相乘得到新的性能信息,该新的性能即为期望的该处理器核1011-0处理第一负载类型的负载时的性能,也可以称为目标性能。然后,以该目标性能信息为索引在第一负载类型的映射表中查找该目标性能信息映射的工作频率,查找到的工作频率即为优化频率。
例如,还是以表1为例,上述在表1中查找到的第一性能信息为a1,假设上述计算得到的负载缩放比例为0.84,那么目标性能信息为a1*0.84≈a2,然后,将该a2与表1中的性能比较,即可查找到映射的优化频率:处理器核1011-0的优化工作频率为300,内存的优化工作频率为50,缓存的优化工作频率为53。
第二种可能的实现方式,基于上述负载分布权重进行加权平均来计算。
在具体实施例中,调频控制器102基于获取的该处理器核1011-0在第一窗口内的负载分类信息可知该第一窗口内包括m个类型的负载,且可知该m个类型具体为哪些负载类型。然后,调频控制器102分别对该m个类型的负载进行计算和处理,得到多组该目标对象的m组优化工作频率,然后基于上述负载分布权重对该m组优化工作频率进行加权平均得到该目标对象的目标频率。
具体的,首先,调频控制器102基于上述获取的目标对象的当前工作频率在第i个映射表中获取第i性能。该第i映射表为上述m个类型中的第i负载类型的映射表。该i的取值为1到m之间的整数。然后,调频控制器102将该第i性能和上述计算得到的负载缩放比例相乘得到第i目标性能信息。再以该第i目标性能信息为索引在该第i个映射表中查找到第i组优化工作频率。经过上述的计算和处理,调频控制器102得到了m组优化工作频率,然后基于该m组优化工作频率和上述负载分布权重计算得到上述目标优化工作频率。为了便于理解,下面举例说明。
假设上述m个类型为计算型和缓存依赖型,且该两个类型的权重分别为0.4和0.6,经过计算和处理得到两组优化工作频率。假设在计算型负载的映射表中查找到的一组优化工作频率为:处理器核的优化工作频率为100赫兹、内存的优化工作频率为50赫兹和缓存的优化工作频率为40赫兹。假设在缓存型负载的映射表中查找到的一组优化工作频率为:处理器核的优化工作频率为200赫兹、内存的优化工作频率为50赫兹和缓存的优化工作频率为49赫兹。那么,目标频率中处理器核的优化工作频率为:100*0.4+200*0.6=2239,目标频率中内存的优化工作频率为:50*0.4+50*0.6=50,目标频率中缓存的优化工作频率为:40*0.4+49*0.6=1025.6。
在一种可能的实施方式中,上述m个负载类型可以是处理器核1011-0在第一窗口内的负载所属的多个类型中的部分类型。例如,假设该处理器核1011-0在第一窗口内的负载的类型包括计算型、缓存依赖型和内存依赖型这三个类型,而上述m个负载可以只包括该三个类型中的计算型和缓存依赖型。在具体实施例中,该m个类型可以是预先配置好的类型,即调频控制器102可以获取外部的配置信息,该配置信息指示该m个类型为哪些具体的负载类型。
在一种可能的实施方式中,上述以该目标性能信息为索引在映射表中查找该目标性能信息映射的工作频率的过程中,调频控制器102可以从任务调度器106中获取性能约束,包括但不限于第一性能阈值、第二性能阈值和第三性能阈值。如果调频控制器102从任务调度器106中获取了第一性能阈值,则表1中性能高于第一性能阈值的频点将不会被用于频率查找;如果调频控制器102从任务调度器106中获取了第二性能阈值,则表1中性能低于第二性能阈值的频点将不会被用于频率查找;如果调频控制器102从任务调度器106中获取了第三性能阈值,则表1中最接近于第三性能阈值的频点将会被查找。这样做可以使得处理器和/或存储器在满足一定性能约束条件下进行工作,同时还可以优化处理器和/或存储器的性能和系统的能效。
在一种可能的实施方式中,上述的映射表中还可以包括功耗的信息,即该映射表可以是频率-性能-功耗映射表。
该频率-性能-功耗映射表与上述频率-性能映射表类似,可以是离线训练得到的。同样的,首先可以采用上述介绍的负载分类器针对不同处理器核的负载进行离线训练分类得到不同的负载类型。然后,针对不同的负载类型,通过线性回归模型预测处理器核和/存储器不同的工作频率对应的处理器的性能和功耗,从而建立了不同处理器核中不同的负载类型对应的频率-性能-功耗映射表。关于该线性回归模型的描述参见前面的介绍,此处不再赘述。
为了便于理解上述频率-性能-功耗映射表,可以参见表2。
表2
处理器核的工作频率/Hz | 内存的工作频率/Hz | 缓存的工作频率/Hz | 性能 | 功耗/w |
100 | 50 | 40 | a1 | w1 |
200 | 50 | 49 | a2 | w2 |
200 | 50 | 52 | a3 | w3 |
300 | 50 | 53 | a4 | w4 |
400 | 55 | 53 | a5 | w5 |
500 | 51 | 52 | a6 | w6 |
表2中示例性示出了频率-性能-功耗映射表中的一部分,相比于表1,表2中多了一项功耗的信息,功耗指的是单位时间内消耗的能源,单位为瓦(w)。表2中列出了处理器核在各种对应的工作频率下处理某个类型的负载时处理器所对应的性能和功耗。处理器核的工作频率越大,对应的功耗越大,表明需要消耗越多的能源。
在此情况下,调频控制器102还可以获取对上述处理器101的功耗约束,然后基于获取的功耗约束在映射表中查找目标对象的优化频率。例如,以表2为例,假设获取的功耗约束为w5,那么,以w5为索引在表2中查找可以查找到对应的优化工作频率:处理器核的优化工作频率为400赫兹、内存的优化工作频率为55赫兹和缓存的优化工作频率为53赫兹。
在具体实施例中,调频控制器102可以基于温度控制、热设计功耗(thermal design power,TDP)控制和单核超频控制中的一项或多项控制中获取处理器101的功耗约束。具体的,温度 控制会根据当前温度,以及温控目标温度,根据预测模型或者比例-积分-微分(Proportional-Integral-Differential,PID)算法给出可供分配的功耗配额。TDP就是直接分配功耗上限,该功耗上限即功耗约束,TDP的来源可以是操作系统的配置。单核超频控制和TDP控制类似,也是直接分配功耗上限。
综上所述,若没有功耗约束的情况下,采用上述第一种可能的实现方式和第二种可能的实现方式中的任一种实施方式即可计算处理得到的目标对象的目标频率。
若有功耗约束的情况下,若基于功耗约束得到的目标对象的优化频率,与采用上述第一种可能的实现方式和第二种可能的实现方式中的任一种实施方式计算处理得到的目标对象的优化频率相同,那么,该目标对象的目标频率仍然是采用上述第一种可能的实现方式和第二种可能的实现方式中的任一种实施方式计算处理得到的优化频率。
若基于功耗约束得到的目标对象的优化频率,与采用上述第一种可能的实现方式和第二种可能的实现方式中的任一种实施方式计算处理得到的目标对象的优化频率不相同,那么,目标对象的目标频率为基于功耗约束得到的优化频率。这是因为,功耗约束的优先级较高,处理器核需要在满足功耗约束的情况下工作。
一种可能的实施方式中,对于上述频率-性能-功耗映射表,映射表中的功耗是在固定芯片corner(芯片corner指的是制作芯片的过程中因材料和/或焊接、灌胶等操作导致的偏差)及固定环境温度下得到的,但实际功耗受环境温度及芯片corner的影响,会有变化,因此可以实时获取处理器的功耗以对映射表中的功耗数据进行细微修正,以提高数据的准确性。
可选的,调频控制器102可以实时从功耗传感器(power sensor)获取实时的功耗大小,然后将获取的功耗大小更新到对应的频率-性能-功耗映射表中。该功耗传感器可以实时检测处理器的功耗大小,并将检测到的功耗发送到调频控制器102。为了便于理解,下面举例说明。
还是以表2中的数据为例,假设表2为处理器核1011-0对应的计算型负载的映射表,在处理器核1011-0的工作频率为100赫兹,内存105的工作频率为50赫兹,异步缓存104的工作频率为40赫兹的情况下,处理器核1011-0处理计算型负载时处理器101的功耗约束为w1。由于受到环境温度等影响,在处理器核1011-0处理计算型负载的过程中,功耗传感器实际检测到处理器101的功耗约束大小为w1’。那么,调频控制器102从功耗传感器中获取该检测到的功耗约束大小后,将表2中处理器核的工作频率为100赫兹,内存105的工作频率为50赫兹,异步缓存104的工作频率为40赫兹所映射的功耗更新为w1’,更新后的映射参见可以表3。
表3
处理器核的工作频率/Hz | 内存的工作频率/Hz | 缓存的工作频率/Hz | 性能 | 功耗/w |
100 | 50 | 40 | a1 | w1’ |
200 | 50 | 49 | a2 | w2 |
200 | 50 | 52 | a3 | w3 |
300 | 50 | 53 | a4 | w4 |
400 | 55 | 53 | a5 | w5 |
500 | 51 | 52 | a6 | w6 |
可选的,调频控制器102还可以通过建立功耗获取模型获取处理器的实时功耗的大小,然后将获取的实时功耗大小更新到对应的映射表中。
综上所述,不同负载类型对应的处理器核的性能及能效不同,因此本申请从负载类型出 发,并从频率、性能和功耗(即能效)多方面考虑,从而可以为处理器核匹配出更合理、准确的工作频率,可以更好地优化处理器核的性能和能效。
另外,本申请中还可以优化缓存和内存的工作频率,由于仅优化处理器核的工作频率能对性能和能耗的改善效果有限,因而再同时优化缓存和内存的工作频率,可以进一步改善处理器核的性能和能效,可以更好地适应各种类型的负载任务,满足不同负载任务的需求,减少系统卡顿的同时提高系统能效。
此外,本申请通过上述频率-性能映射表或者频率-性能-功耗映射表来获得目标频率,由于这些映射表是离线情况下训练得到的满足各种约束的最优解集,因而获得的目标频率更理想,基于获得的目标频率处理负载可以获得更好的性能和能效。
基于上述的介绍,调频控制器102可以获取到一个处理器核的目标频率。基于上述对图1中的描述可知,在处理器101包括多个处理器核1011的情况下,可以将多个处理器核1011分为多个簇,每个簇中的处理器核的工作频率相同。基于此,若上述处理器核1011-0所在的簇中,除了所述处理器核1011-0的其它处理器核在上述第一窗口内的负载量也大于第一阈值或者小于第二阈值,即该其它处理器核也为上述第一处理器核,也会触发调频控制器102基于该其它处理器核中的每个处理器核在该第一窗口内的负载情况计算优化频率得到该每个处理器的目标频率。
那么,对于处理器核1011-0所在的簇中,调频控制器102获得了多个处理器核的目标频率,但是每个簇中的处理器核的工作频率相同(为了便于描述可以称处理器核1011-0所在的簇中处理器核的优化工作频率为第一优化工作频率),因此需要从该多个处理器核的目标频率中确定出该第一优化工作频率。调频控制器102可以基于该多个处理器核的目标频率进行仲裁。
一种可能的实施方式中,调频控制器102可以选择该多个处理器核的目标频率中最大的频率作为上述第一优化工作频率。
另一种可能的实施方式中,调频控制器102可以选择该多个处理器核的目标频率中最小的频率作为上述第一优化工作频率。
另一种可能的实施方式中,调频控制器102取该多个处理器核的目标频率的平均值作为上述第一优化工作频率。
在确定上述第一优化工作频率之后,调频控制器102将该第一优化工作频率发送给调频器103,调频器103调整处理器核1011-0所在的簇中的处理器核的工作频率为该第一优化工作频率。
一种可能的实施方式中,若上述处理器核1011-0所在的簇中,只有部分处理器核为上述第一处理器核,那么调频控制器102只计算了该部分处理器核中每个处理器核的目标频率。该处理器核1011-0所在的簇除了该部分第一处理器核之外的一个或多个处理器核可以称为第二处理器核。为了确定出该簇的第一优化工作频率,调频控制器102可以基于该部分第一处理器核中每个处理器核的目标频率(下面简称多个优化频率),以及基于该第二处理器核的当前工作频率进行仲裁。
一种可能的实施方式中,调频控制器102可以从上述多个优化频率和该第二处理器核的当前工作频率中选择最大的频率作为上述第一优化工作频率。
另一种可能的实施方式中,调频控制器102可以从上述多个优化频率和该第二处理器核的当前工作频率中选择最小的频率作为上述第一优化工作频率。
另一种可能的实施方式中,调频控制器102可以取上述多个优化频率和该第二处理器核的当前工作频率的平均值作为上述第一优化工作频率。
在确定上述第一优化工作频率之后,调频控制器102将该第一优化工作频率发送给调频器103,调频器103调整处理器核1011-0所在的簇中的处理器核的工作频率为该第一优化工作频率。
需要说明的是,上述只是以处理器核1011-0和该处理器核1011-0所在的簇为例介绍,其它的处理器核以及其它的簇的相关处理可以参见上述对处理器核1011-0和该处理器核1011-0所在的簇的描述,不再赘述。
一种可能的实施方式中,若上述目标对象包括上述存储器,那么调频控制器102还计算得到该存储器的目标频率,可以基于该存储器的目标频率调用调频器103调整存储器的工作频率。对于存储器,不管是异步缓存104还是内存105,均是处理器101包括的多个处理器核1011共用的,因此异步缓存104和内存105均只有一个工作频率。下面以异步缓存104为例介绍,内存105的相关描述也可参见对异步缓存104的介绍,不再赘述。
若在上述第一窗口内,有多个第一处理器核,那么调频控制器102可以基于该多个第一处理器核各自在该第一窗口内的负载情况计算得到对应的目标频率,该多个第一处理器核中每个处理器核对应的目标频率均包括异步缓存104的一个目标频率。
若该多个第一处理器核包括处理器101中的全部处理器核,调频控制器102可以从该异步缓存104的多个目标频率中确定一个优化频率,该优化频率可以称为第二优化工作频率。
一种可能的实施方式中,调频控制器102可以从该异步缓存104的多个目标频率中选择最大的频率作为上述第二优化工作频率。
另一种可能的实施方式中,调频控制器102可以从上述异步缓存104的多个目标频率中选择最小的频率作为上述第二优化工作频率。
另一种可能的实施方式中,调频控制器102可以取上述异步缓存104的多个目标频率的平均值作为上述第二优化工作频率。
若该多个第一处理器核包括处理器101中的部分处理器核,调频控制器102可以从该异步缓存104的多个目标频率以及异步缓存104的当前工作频率中确定第二优化工作频率。
一种可能的实施方式中,调频控制器102可以从该异步缓存104的多个目标频率以及异步缓存104的当前工作频率中选择最大的频率作为上述第二优化工作频率。
另一种可能的实施方式中,调频控制器102可以从上述异步缓存104的多个目标频率以及异步缓存104的当前工作频率中选择最小的频率作为上述第二优化工作频率。
另一种可能的实施方式中,调频控制器102可以取上述异步缓存104的多个目标频率和异步缓存104的当前工作频率的平均值作为上述第二优化工作频率。
在确定上述第二优化工作频率之后,调频控制器102将该第二优化工作频率发送给调频器103,调频器103调整该异步缓存104的工作频率为该第二优化工作频率。
为了便于理解上述调频控制器102所做的各个操作,可以参见图4和图5。图4以处理器101包括8个处理器核1011为例,该8个处理器核分为三个簇,其中处理器核(core)0至2为第一簇,处理器核(core)3至5为第二簇,处理器(core)6和7为第三簇。图4中示出了该三个簇的处理器核与调频控制器102中对应的处理通道的连接关系,并示出了簇间处理器核工作频率的仲裁和整体上存储器的工作频率的总裁流程示意。图5以处理器核(core)0为例示出了其对应的处理通道中所包括的调频控制器102基于处理器核的负载情况获取该处理器核对 应的目标频率的过程。
在图5所示的处理器核(core)0处理通道中,调频控制器102首先获取外部对第一窗口大小的配置信息和负载类型的配置信息,然后基于这些信息进行负载分类分析,即对从处理器核(core)0获取的负载分类信息进行分析处理。由前述的描述可知,该第一窗口的大小可以包括一个或多个该处理器核(core)0内负载分类器的分类窗口。该负载类型的配置信息主要包括上述m个类型的信息。
然后,调频控制器102计算处理器核(core)0的负载量、负载缩放比例和负载分布权重,并获取处理器核(core)0对应的当前工作频率,基于该当前工作频率查询映射表得到当前性能,然后,再基于负载缩放比例和负载分布权重计算得到该处理器核(core)0对应的目标频率。
假设图4中的8个处理器核均满足频率调整的条件即满足上述预设条件,那么调频控制器102针对每一个处理器核处理得到每一个处理器核对应的目标频率。然后,基于这些目标频率,为每个簇确定一个最终用于调整的频率,并为存储器确定一个最终用于调整的频率,然后将确定的频率发送给调频器103,调频器103基于接收到的频率调整每个簇的工作频率和存储器的工作频率。
另外,在映射表查询和处理的步骤以及簇间处理器核的工作频率仲裁之后,调频控制器102可以向任务调度器发送对应处理器核上下电建议。另外,在簇间处理器核的工作频率仲裁之后,调频控制器102可以向任务调度器发送负载均衡建议等。
上述图4和图5所示的各个步骤的具体实现参见上述基于图1的详述描述,此处不再赘述。
请参见图6,是本发明实施例提供的一种处理方法的流程示意图,该处理方法可应用于处理装置。该处理装置可以包括处理器、调频控制器和调频器,该处理器包括第一处理器核。示例性地,该处理装置可以是图1所示的装置10,该第一处理器核可以是图1所示的多个处理器核中的任意一个。该方法包括但不限于如下步骤:
S601、通过该调频控制器获取上述第一处理器核的至少一个负载类型。
S602、通过该调频控制器基于上述至少一个负载类型确定目标对象的目标频率;该目标对象包括存储器。
S603、通过该调频控制器基于上述目标频率调用上述调频器调整上述目标对象的工作频率。
一种可能的实施方式中,上述存储器包括内存和异步缓存中的至少一项。
一种可能的实施方式中,上述负载类型包括计算型负载、缓存依赖型负载和内存依赖型负载。
一种可能的实施方式中,上述目标对象还包括上述第一处理器核;上述方法还包括:通过上述调频控制器执行如下操作:
基于上述第一处理器核的目标频率调用上述调频器调整上述第一处理器核的工作频率,上述第一处理器核的目标频率和上述存储器的目标频率存在映射关系。
一种可能的实施方式中,上述处理器还包括至少一个第二处理器核,上述第一处理器核和上述至少一个第二处理器核组成簇;上述方法还包括:通过上述调频控制器根据上述第一处理器核的目标频率确定上述簇的工作频率。
一种可能的实施方式中,上述处理器包括n个上述第一处理器核,上述n为正整数;上述方法还包括:通过上述调频控制器执行如下操作:
针对每个上述第一处理器核的至少一个负载类型确定上述存储器的一个目标频率;基于上述存储器的n个目标频率确定上述存储器的优化工作频率;调用上述调频器调整上述存储器的工作频率为上述优化工作频率。
一种可能的实施方式中,上述处理装置还包括负载分类器,上述方法还包括:
通过上述负载分类器获取上述第一处理器核中的负载分类特征信息,基于上述负载分类特征信息对上述第一处理器核中的负载进行分类得到上述至少一个负载类型;通过上述调频控制器从上述负载分类器中获取上述至少一个负载类型。
一种可能的实施方式中,上述负载分类特征信息包括上述第一处理器核内的时钟信号翻转信息。
一种可能的实施方式中,上述方法还包括:
通过上述调频控制器获取上述第一处理器核的负载量;上述基于上述至少一个负载类型确定目标对象的目标频率,包括:在上述负载量满足预设条件时,基于上述至少一个负载类型确定上述目标频率。
一种可能的实施方式中,上述基于上述至少一个负载类型确定上述目标频率,包括:
基于上述目标对象的当前工作频率在第一负载类型对应的第一映射表中查找处理器的当前性能信息,上述第一映射表中包括上述目标对象的工作频率与上述处理器的性能信息的映射关系;上述第一负载类型为上述至少一个负载类型中出现次数最多的类型;基于上述负载量对上述当前性能信息做调整以得到目标性能信息;基于上述目标性能信息在上述第一映射表中查找上述目标对象的第一目标频率,将上述第一目标频率作为上述目标对象的目标频率。
一种可能的实施方式中,上述第一映射表中还包括上述目标对象的工作频率与上述处理器的功耗的映射关系;上述方法还包括:通过上述调频控制器执行如下操作:
基于上述处理器的功耗约束在上述第一映射表中查找上述目标对象的第二目标频率;在上述第一目标频率和上述第二目标频率不同的情况下,确定上述目标对象的目标频率为上述第二目标频率。
一种可能的实施方式中,上述至少一个负载类型为m个负载类型,上述m为大于1的整数;上述m个负载类型的每个类型对应一个映射表,上述映射表中包括上述目标对象的工作频率与上述处理器的性能信息的映射关系;上述基于上述至少一个负载类型确定上述目标频率,包括:
基于上述目标对象的当前工作频率在每个上述映射表中查找处理器的一个当前性能信息;基于上述负载量分别对上述m个当前性能信息做调整以得到m个目标性能信息;基于上述m个目标性能信息在上述m个映射表中查找上述目标对象的m组第一优化频率;基于上述m个负载类型的负载分布权重对上述m组第一优化频率进行处理得到第三目标频率,将上述第三目标频率作为上述目标对象的目标频率,上述负载分布权重指示上述m个类型中每个类型的负载的比例。
一种可能的实施方式中,上述m个映射表中还包括上述目标对象的工作频率与上述处理器的功耗的映射关系;上述方法还包括:通过上述调频控制器执行如下操作:
基于上述处理器的功耗约束分别在上述m个映射表中查找上述目标对象的m组第二优化频率;基于上述负载分布权重对上述m组第二优化频率进行处理得到上述目标对象的第四目标频率;在上述第三目标频率和上述第四目标频率不同的情况下,确定上述目标对象的目标频率为上述第四目标频率。
需要说明的是,上述图6中所描述的处理方法及其可能的实施方式中的具体流程,可参见上述图1-图5所述的实施例中的相关描述,此处不再赘述。
本申请提供一种计算机程序,该计算机程序包括指令,当该计算机程序处理器执行时,使得该处理器可以执行上述图6及其可能的实施方式中任意一项所述的处理方法流程。
以上所述仅为本发明的几个实施例,本领域的技术人员依据申请文件公开的可以对本发明进行各种改动或变型而不脱离本发明的精神和范围。例如本发明实施例的附图中的各个部件具体形状或结构是可以根据实际应用场景进行调整的。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
Claims (27)
- 一种处理装置,其特征在于,所述处理装置包括处理器、调频控制器和调频器,所述处理器包括第一处理器核;所述调频控制器用于:获取所述第一处理器核的至少一个负载类型;基于所述至少一个负载类型确定目标对象的目标频率;所述目标对象包括存储器;基于所述目标频率调用所述调频器调整所述目标对象的工作频率。
- 根据权利要求1所述的装置,其特征在于,所述存储器包括内存和异步缓存中的至少一项。
- 根据权利要求1或2所述的装置,其特征在于,所述目标对象还包括所述第一处理器核;所述调频控制器还用于:基于所述第一处理器核的目标频率调用所述调频器调整所述第一处理器核的工作频率,所述第一处理器核的目标频率和所述存储器的目标频率存在映射关系。
- 根据权利要求3所述的装置,其特征在于,所述处理器还包括至少一个第二处理器核,所述第一处理器核和所述至少一个第二处理器核组成簇;所述调频控制器,还用于根据所述第一处理器核的目标频率确定所述簇的工作频率。
- 根据权利要求1至4任一项所述的装置,其特征在于,所述处理器包括n个所述第一处理器核,所述n为正整数;所述调频控制器还用于:针对每个所述第一处理器核的至少一个负载类型确定所述存储器的一个目标频率;基于所述存储器的n个目标频率确定所述存储器的优化工作频率;调用所述调频器调整所述存储器的工作频率为所述优化工作频率。
- 根据权利要求1至5任一项所述的装置,其特征在于,所述装置还包括:负载分类器,用于获取所述第一处理器核中的负载分类特征信息,基于所述负载分类特征信息对所述第一处理器核中的负载进行分类得到所述至少一个负载类型;所述调频控制器具体用于:从所述负载分类器中获取所述至少一个负载类型。
- 根据权利要求6所述的装置,其特征在于,所述负载分类特征信息包括所述第一处理器核内的时钟信号翻转信息。
- 根据权利要求1至7任一项所述的装置,其特征在于,所述调频控制器,还用于:获取所述第一处理器核的负载量;在所述负载量满足预设条件时,基于所述至少一个负载类型确定所述目标频率。
- 根据权利要求8所述的装置,其特征在于,所述调频控制器,具体用于:基于所述目标对象的当前工作频率在第一负载类型对应的第一映射表中查找处理器的当前性能信息,所述第一映射表中包括所述目标对象的工作频率与所述处理器的性能信息的映射关系;所述第一负载类型为所述至少一个负载类型中出现次数最多的类型;基于所述负载量对所述当前性能信息做调整以得到目标性能信息;基于所述目标性能信息在所述第一映射表中查找所述目标对象的第一目标频率,将所述第一目标频率作为所述目标对象的目标频率。
- 根据权利要求9所述的装置,其特征在于,所述第一映射表中还包括所述目标对象的工作频率与所述处理器的功耗的映射关系;所述调频控制器,还用于:基于所述处理器的功耗约束在所述第一映射表中查找所述目标对象的第二目标频率;在所述第一目标频率和所述第二目标频率不同的情况下,确定所述目标对象的目标频率为所述第二目标频率。
- 根据权利要求8所述的装置,其特征在于,所述至少一个负载类型为m个负载类型,所述m为大于1的整数;所述m个负载类型的每个类型对应一个映射表,所述映射表中包括所述目标对象的工作频率与所述处理器的性能信息的映射关系;所述调频控制器,具体用于:基于所述目标对象的当前工作频率在每个所述映射表中查找处理器的一个当前性能信息;基于所述负载量分别对所述m个当前性能信息做调整以得到m个目标性能信息;基于所述m个目标性能信息在所述m个映射表中查找所述目标对象的m组第一优化频率;基于所述m个负载类型的负载分布权重对所述m组第一优化频率进行处理得到第三目标频率,将所述第三目标频率作为所述目标对象的目标频率,所述负载分布权重指示所述m个类型中每个类型的负载的比例。
- 根据权利要求11所述的装置,其特征在于,所述m个映射表中还包括所述目标对象的工作频率与所述处理器的功耗的映射关系;所述调频控制器,还用于:基于所述处理器的功耗约束分别在所述m个映射表中查找所述目标对象的m组第二优化频率;基于所述负载分布权重对所述m组第二优化频率进行处理得到所述目标对象的第四目标频率;在所述第三目标频率和所述第四目标频率不同的情况下,确定所述目标对象的目标频率为所述第四目标频率。
- 根据权利要求1-12任一所述的装置,其特征在于,所述负载类型包括计算型负载、缓存依赖型负载和内存依赖型负载。
- 一种处理方法,其特征在于,所述方法应用于处理装置,所述处理装置包括处理器、调频控制器和调频器,所述处理器包括第一处理器核;所述方法包括:通过所述调频控制器执行如下操作:获取所述第一处理器核的至少一个负载类型;基于所述至少一个负载类型确定目标对象的目标频率;所述目标对象包括存储器;基于所述目标频率调用所述调频器调整所述目标对象的工作频率。
- 根据权利要求14所述的方法,其特征在于,所述存储器包括内存和异步缓存中的至少一项。
- 根据权利要求14或15所述的方法,其特征在于,所述目标对象还包括所述第一处理器核;所述方法还包括:通过所述调频控制器执行如下操作:基于所述第一处理器核的目标频率调用所述调频器调整所述第一处理器核的工作频率,所述第一处理器核的目标频率和所述存储器的目标频率存在映射关系。
- 根据权利要求16所述的方法,其特征在于,所述处理器还包括至少一个第二处理器核,所述第一处理器核和所述至少一个第二处理器核组成簇;所述方法还包括:通过所述调频控制器根据所述第一处理器核的目标频率确定所述簇的工作频率。
- 根据权利要求14至17任一项所述的方法,其特征在于,所述处理器包括n个所述第一处理器核,所述n为正整数;所述方法还包括:通过所述调频控制器执行如下操作:针对每个所述第一处理器核的至少一个负载类型确定所述存储器的一个目标频率;基于所述存储器的n个目标频率确定所述存储器的优化工作频率;调用所述调频器调整所述存储器的工作频率为所述优化工作频率。
- 根据权利要求14至18任一项所述的方法,其特征在于,所述处理装置还包括负载分类器,所述方法还包括:通过所述负载分类器获取所述第一处理器核中的负载分类特征信息,基于所述负载分类特征信息对所述第一处理器核中的负载进行分类得到所述至少一个负载类型;通过所述调频控制器从所述负载分类器中获取所述至少一个负载类型。
- 根据权利要求19所述的方法,其特征在于,所述负载分类特征信息包括所述第一处理器核内的时钟信号翻转信息。
- 根据权利要求14至20任一项所述的方法,其特征在于,所述方法还包括:通过所述调频控制器获取所述第一处理器核的负载量;所述基于所述至少一个负载类型确定目标对象的目标频率,包括:在所述负载量满足预设条件时,基于所述至少一个负载类型确定所述目标频率。
- 根据权利要求21所述的方法,其特征在于,所述基于所述至少一个负载类型确定所述目标频率,包括:基于所述目标对象的当前工作频率在第一负载类型对应的第一映射表中查找处理器的当前性能信息,所述第一映射表中包括所述目标对象的工作频率与所述处理器的性能信息的映射关系;所述第一负载类型为所述至少一个负载类型中出现次数最多的类型;基于所述负载量对所述当前性能信息做调整以得到目标性能信息;基于所述目标性能信息在所述第一映射表中查找所述目标对象的第一目标频率,将所述第一目标频率作为所述目标对象的目标频率。
- 根据权利要求22所述的方法,其特征在于,所述第一映射表中还包括所述目标对象的工作频率与所述处理器的功耗的映射关系;所述方法还包括:通过所述调频控制器执行如下操作:基于所述处理器的功耗约束在所述第一映射表中查找所述目标对象的第二目标频率;在所述第一目标频率和所述第二目标频率不同的情况下,确定所述目标对象的目标频率为所述第二目标频率。
- 根据权利要求21所述的方法,其特征在于,所述至少一个负载类型为m个负载类型,所述m为大于1的整数;所述m个负载类型的每个类型对应一个映射表,所述映射表中包括所述目标对象的工作频率与所述处理器的性能信息的映射关系;所述基于所述至少一个负载类型确定所述目标频率,包括:基于所述目标对象的当前工作频率在每个所述映射表中查找处理器的一个当前性能信息;基于所述负载量分别对所述m个当前性能信息做调整以得到m个目标性能信息;基于所述m个目标性能信息在所述m个映射表中查找所述目标对象的m组第一优化频率;基于所述m个负载类型的负载分布权重对所述m组第一优化频率进行处理得到第三目标频率,将所述第三目标频率作为所述目标对象的目标频率,所述负载分布权重指示所述m个 类型中每个类型的负载的比例。
- 根据权利要求24所述的方法,其特征在于,所述m个映射表中还包括所述目标对象的工作频率与所述处理器的功耗的映射关系;所述方法还包括:通过所述调频控制器执行如下操作:基于所述处理器的功耗约束分别在所述m个映射表中查找所述目标对象的m组第二优化频率;基于所述负载分布权重对所述m组第二优化频率进行处理得到所述目标对象的第四目标频率;在所述第三目标频率和所述第四目标频率不同的情况下,确定所述目标对象的目标频率为所述第四目标频率。
- 根据权利要求14-25任一所述的方法,其特征在于,所述负载类型包括计算型负载、缓存依赖型负载和内存依赖型负载。
- 一种电子设备,其特征在于,包括:如权利要求1至13任一所述的处理装置,以及耦合于所述处理装置的分立器件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020142512 | 2020-12-31 | ||
CNPCT/CN2020/142512 | 2020-12-31 | ||
PCT/CN2021/074555 WO2022141735A1 (zh) | 2020-12-31 | 2021-01-30 | 处理装置、处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116710904A true CN116710904A (zh) | 2023-09-05 |
Family
ID=82259805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180088258.XA Pending CN116710904A (zh) | 2020-12-31 | 2021-01-30 | 处理装置、处理方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116710904A (zh) |
WO (1) | WO2022141735A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4653697B2 (ja) * | 2006-05-29 | 2011-03-16 | 株式会社日立製作所 | 電力管理方法 |
US7783905B2 (en) * | 2006-06-13 | 2010-08-24 | Via Technologies Inc. | Method for reducing power consumption of a computer system in the working state |
US20170212581A1 (en) * | 2016-01-25 | 2017-07-27 | Qualcomm Incorporated | Systems and methods for providing power efficiency via memory latency control |
CN106959930A (zh) * | 2017-03-31 | 2017-07-18 | 深圳市金立通信设备有限公司 | 一种控制存储器的方法、装置及终端 |
CN111459682B (zh) * | 2020-04-09 | 2023-06-27 | Oppo广东移动通信有限公司 | 频率调整方法、装置、电子设备以及存储介质 |
-
2021
- 2021-01-30 WO PCT/CN2021/074555 patent/WO2022141735A1/zh active Application Filing
- 2021-01-30 CN CN202180088258.XA patent/CN116710904A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022141735A1 (zh) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3274827B1 (en) | Technologies for offloading and on-loading data for processor/coprocessor arrangements | |
CN110096349B (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
US11231966B2 (en) | Closed loop performance controller work interval instance propagation | |
US10429921B2 (en) | Datacenter power management optimizations | |
CN101379453B (zh) | 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置 | |
Bitirgen et al. | Coordinated management of multiple interacting resources in chip multiprocessors: A machine learning approach | |
CN107209548A (zh) | 在多核处理器中执行功率管理 | |
US20100318827A1 (en) | Energy use profiling for workload transfer | |
KR20220100982A (ko) | 컨테이너 스케줄링 방법 및 장치 그리고 비-휘발성 컴퓨터-판독가능 저장 매체 | |
JP2002202893A (ja) | 多重タスクの実行を制御する方法と処理回路 | |
US20230350480A1 (en) | Platform power manager for rack level power and thermal constraints | |
KR101770736B1 (ko) | 응용프로그램의 질의 스케쥴링을 이용한 시스템의 소모전력 절감 방법 및 그 방법을 이용하여 소모전력을 절감하는 휴대단말기 | |
Padoin et al. | Saving energy by exploiting residual imbalances on iterative applications | |
Xu et al. | {Power-Aware} Throughput Control for Database Management Systems | |
Zhang et al. | WAEAS: An optimization scheme of EAS scheduler for wearable applications | |
Obukhova et al. | Diagnostics of power consumption of a mobile device multi-core processor with detail of each core utilization | |
CN101819459A (zh) | 一种基于异构对象存储系统的功耗控制方法 | |
Peng et al. | Energy-efficient management of data centers using a renewable-aware scheduler | |
Terzopoulos et al. | Performance evaluation of a real-time grid system using power-saving capable processors | |
Postema et al. | Evaluation of advanced data centre power management strategies | |
KR101765830B1 (ko) | 멀티 코어 시스템 및 그 구동 방법 | |
US20230119235A1 (en) | Large-Scale Accelerator System Energy Performance Optimization | |
CN116710904A (zh) | 处理装置、处理方法及相关设备 | |
Schall et al. | Towards an energy-proportional storage system using a cluster of wimpy nodes | |
US20220011843A1 (en) | Software entity power consumption estimation and monitoring |
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 |