CN111065999B - 移动设备的功率状态控制 - Google Patents
移动设备的功率状态控制 Download PDFInfo
- Publication number
- CN111065999B CN111065999B CN201880058958.2A CN201880058958A CN111065999B CN 111065999 B CN111065999 B CN 111065999B CN 201880058958 A CN201880058958 A CN 201880058958A CN 111065999 B CN111065999 B CN 111065999B
- Authority
- CN
- China
- Prior art keywords
- subsystems
- shared resource
- processor
- workload
- mobile device
- 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
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
- G06F1/3212—Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- 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
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种在移动设备中操作共享资源的方法包括从移动设备的多个子系统提取特征集合。可以从向移动设备的一个或多个共享资源请求服务的多个子系统中的每一个子系统提取该特征集合。可以基于从多个子系统中提取的特征集合来确定(诸)共享资源的一个或多个参数。可以基于所确定的(诸)参数来操作(诸)共享资源。
Description
相关申请的交叉引用
本申请要求于2017年9月22日提交的题为“POWER STATE CONTROL OF A MOBILEDEVICE(移动设备的功率状态控制)”的美国专利申请No.15/713,254的权益,其通过援引全部明确纳入于此。
背景
领域
本公开的某些方面一般涉及机器学习,尤其涉及改进移动设备的功率状态控制的系统和方法。
背景技术
移动设备(例如,智能电话、平板计算设备、智能扬声器、连接的家用相机、物联网(IoT)设备(诸如智能冰箱)等)具有许多共享资源,例如,诸如存储器组件、片上网络(NOC)、中央处理单元(CPU)和图形处理单元(GPU)。共享资源中的每一个共享资源可服务移动设备的许多应用和子系统(例如,诸如相机或音频系统)或可由它们使用。然而,子系统中的每一个子系统,以及进而共享资源可能具有非常不同的工作负荷和不同的性能规范,但是他们通常同时操作。如此,确定或设置各种共享资源(例如,CPU)的功率状态以服务各种子系统同时保持移动设备电池是具有挑战性的。
概述
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在标识出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是以简化形式给出一个或多个方面的一些概念以作为稍后给出的更详细描述之序言。
移动设备(例如,智能电话、平板计算设备、智能扬声器、连接的家用相机、通常的IoT设备(例如智能冰箱)等)具有许多共享资源,例如,诸如存储器组件、NOC、CPU以及GPU。共享资源中的每一个共享资源可服务许多应用和子系统(例如,诸如相机或音频系统)或可由它们使用。然而,子系统中的每一个子系统,以及进而共享资源可能具有非常不同的工作负荷和不同的性能规范,但是他们同时操作。如此,确定或设置各种共享资源(例如,CPU)的功率状态以服务各种子系统同时保持移动设备电池是具有挑战性的。
为了解决电池保持和设备性能的问题,本公开的各方面涉及共享资源的功率状态管理。在本公开的一方面,提供了一种在移动设备中操作共享资源的方法、计算机可读介质、以及装置。该装置包括存储器和耦合到存储器的至少一个处理器。(诸)处理器被配置为从移动设备的多个子系统中提取特征集合。可以从向移动设备的至少一个共享资源请求服务的多个子系统中的每一个子系统中提取该特征集合。(诸)处理器还被配置为基于从多个子系统提取的特征集合来确定该至少一个共享资源的至少一个参数。此外,(诸)处理器被配置为基于该至少一个参数来操作该至少一个共享资源。
本公开的附加特征和优点将在下文描述。本领域技术人员应当领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。
附图简述
在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。
图1A解说了根据本公开的某些方面的使用片上系统(SOC)(包括通用处理器)的功率状态控制的示例实现。
图1B解说了根据本公开的某些方面的被配置用于功率状态控制的示例性移动设备。
图2解说了根据本公开的各方面的系统的示例实现。
图3A是解说根据本公开的各方面的神经网络的示图。
图3B是解说根据本公开的各方面的示例性深度卷积网络(DCN)的框图。
图4是解说根据本公开的各方面的可将人工智能(AI)功能模块化的示例性软件架构的框图。
图5是解说使用强化学习来管理共享资源的功率状态控制器的示例性操作的示图。
图6是解说根据本公开的各方面的用于功率状态控制的示例性架构的示图。
图7解说了用于在移动设备中操作共享资源的方法。
详细描述
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。
措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
功率状态控制
移动设备(例如,智能电话、平板计算设备、智能扬声器、连接的家用相机、IoT设备(诸如智能冰箱)等)具有许多共享资源。共享资源可以包括可由移动计算设备的多个子系统访问以执行特定任务或操作的设备或信息。例如,共享资源可以包括存储器组件(例如,双倍数据率(DDR)同步动态随机存取存储器(SDRAM)、GPU、NOC、CPU等)。共享资源中的每一个共享资源可服务移动设备的许多应用和子系统(例如,诸如相机、音频系统或应用处理器)或可由它们使用。然而,子系统中的每一个子系统,以及进而共享资源可能具有可不利地影响移动设备的功率状态的非常不同的工作负荷和不同的性能规范。例如,如果CPU的功率状态保持过高(例如,经由CPU频率设置),则CPU性能可能会被提高,但电池可能会很快耗尽,导致不良用户体验。如此,确定或设置共享资源(例如,CPU)的功率状态以服务各种子系统同时保持移动设备电池是具有挑战性的。
为了解决这些和其他问题,对来自相应子系统的共享资源的需求进行表征的移动设备的子系统的感兴趣的度量或特征可用于资源的反馈控制中以管理共享资源的使用。根据本公开的各方面,自顶向下控制器通过强化学习来处理来自所有子系统的特征,该控制器的输出可用于管理共享资源(例如,控制共享资源的时钟级别)。
图1A解说了根据本公开的某些方面的使用片上系统(SOC)100的前述功率状态控制的示例实现,该SOC 100可以包括通用处理器(CPU)或多核通用处理器(CPU)102。变量(例如,神经信号和突触权重)、与计算设备(例如,带有权重的神经网络)相关联的系统参数、延迟、频率槽信息、以及任务信息可被存储在与神经处理单元(NPU)108相关联的存储器块中、与CPU 102相关联的存储器块中、与图形处理单元(GPU)104相关联的存储器块中、与数字信号处理器(DSP)106相关联的存储器块中、专用存储器块118中,或者可跨多个块分布。在通用处理器102处执行的指令可从与CPU 102相关联的程序存储器加载或可从专用存储器块118加载。
SOC 100还可包括为具体功能定制的附加处理块(诸如GPU 104、DSP 106、连通性块110(其可包括第四代长期演进(4G LTE)连通性、第五代无线系统(5G)、无执照Wi-Fi连通性、USB连通性、蓝牙连通性等)以及例如可检测和识别姿势以及可用于流媒体回放的多媒体处理器112。在一种实现中,NPU实现在CPU、DSP、和/或GPU中。SOC 100还可包括传感器处理器114、图像信号处理器(ISP)、和/或导航120(其可包括全球定位系统)。
SOC 100的处理块中的每一个处理块可以包括共享资源。也就是说,被包括在SOC100(多媒体块112)中的移动设备的应用和其他子系统可需求或请求由共享资源执行的访问和/或服务。
SOC 100可基于ARM指令集。在本公开的一方面,加载到通用处理器102中的指令可包括用于从移动设备的多个子系统提取特征集合的代码,该多个子系统中的每一个子系统向移动设备的至少一个共享资源请求服务。被加载到通用处理器102中的指令还可包括用于基于从多个子系统提取的特征集合来确定该至少一个共享资源的至少一个参数的代码。此外,被加载到通用处理器102中的指令可包括用于基于该至少一个参数来操作该至少一个共享资源的代码。
图1B是解说根据本公开的各方面的移动设备的架构的示例性框图。参照图1B,移动设备150包括一个或多个共享资源以及各种子系统。子系统可包括例如音频子系统156、传感器子系统158、多媒体子系统162、调制解调器子系统164和Wi-Fi子系统160。附加地,移动设备150可包括应用处理器152、图形处理单元(GPU)166和导航子系统154。子系统中的每一个子系统可向一个或多个共享资源168访问或请求服务。共享资源可例如包括CPU或存储器组件(例如,双倍数据率(DDR)或高速缓冲存储器)、片上网络(NOC)。然而,一些子系统也可以用作共享资源。例如,GPU 166还可以是被调用以执行例如图像处理任务或其他图形处理任务的共享资源。然而,在执行图像或图形处理任务时,GPU 166还可以用作向另一共享资源(诸如CPU)请求服务或经由存储器组件访问存储器地址的子系统。
根据本公开的各方面,可以从子系统(例如,多媒体子系统162)中的每一个子系统提取特征。这些特征可与关联于工作负荷的性能度量有关。工作负荷可包括要在移动设备上执行的任何应用、程序或相关计算。附加地,工作负荷可包括要执行的处理量或者可涉及指定任务的期望性能水平。例如,在任务涉及经由浏览器访问网站的情况下,工作负荷可包括期望的数据传输速度。在另一示例中,在要执行的任务是显示视频的情况下,工作负荷可包括或涉及用于显示视频的期望帧速率。
在一些方面,可以级联或合成来自多个子系统的工作负荷以更准确地反映要执行的工作。例如,在期望的任务是经由因特网流送视频的情况下,该任务可涉及多个子系统,包括应用处理器152、Wi-Fi子系统160、调制解调器子系统164和GPU166。这些子系统中的每一个子系统可向共享资源168(例如,CPU或存储器组件)请求服务。附加地,可以同时执行多个任务。例如,在视频回放期间,可以接收文本消息或呼叫。相应地,可以产生任务中的每一个任务的多个工作负荷。
在一些方面,可对每个共享资源的工作负荷进行分类和/或组合。例如,来自应用处理器152和GPU 166的工作负荷可以被分类为计算类型任务,而来自调制解调器子系统164和Wi-Fi子系统160的工作负荷可以包括通信类型工作负荷。
特征集合可以从子系统中的每一个子系统提取,并被用于确定操作共享资源168以降低功耗和/或提高处理效率的参数。对于不同的子系统,特征可以相同或可以不同。仅作为示例,CPU的特征可包括当前CPU频率、CPU利用率、指令的数目,每核心的高速缓存(例如,L2高速缓存)丢失数目。DDR的特征可包括当前或所选DDR频率、来自其他子系统的瞬时带宽(IB)(总线主机愿意容忍的等待时间量的指示)/平均带宽(AB)(是总线主机期望对存储器执行的数据传输的平均吞吐量的指示)票决,以及DDR读/写数据率。GPU的特征可以包括所选频率、利用率、指令数目、每核心的高速缓存(例如,L2高速缓存)丢失数目。Wi-Fi/调制解调器的特征可包括传送和接收分组速率和协议元信息(例如,分组报头)。当然,所标识的特征以及子系统仅仅是示例性的而绝不是穷举的。可以为移动设备的子系统中的每一个子系统提供类似的和/或附加的特征。从多个子系统提取的特征可用于确定用于控制共享资源(例如,CPU)的一个或多个参数。在一些方面,可以收集所提取的特征并将其与指定工作负荷的信息一起存储。所存储的特征和工作负荷信息可用于训练计算网络以学习用于操作共享资源(例如,168)的操作参数。在一些方面,可以优化操作参数,使得共享资源以及由此移动设备的功耗和/或效率得到改善。在一示例中,特征和对应的工作负荷信息可以与性能信息(例如,完成特定任务或操作的时间)一起用于产生查找表。
图2解说了根据本公开的某些方面的系统200的示例实现。如图2中所解说的,系统200可具有可执行本文所描述的方法的各种操作的多个局部处理单元202。每个局部处理单元202可包括局部状态存储器204和可存储神经网络的参数的局部参数存储器206。另外,局部处理单元202可具有用于存储局部模型程序的局部(神经元)模型程序(LMP)存储器208、用于存储局部学习程序的局部学习程序(LLP)存储器210、以及局部连接存储器212。此外,如图2中所解说的,每个局部处理单元202可与用于为该局部处理单元的各局部存储器提供配置的配置处理器单元214对接,并且与提供各局部处理单元202之间的路由的路由连接处理单元216对接。
深度学习架构可通过学习在每一层中以逐次更高的抽象程度来表示输入、藉此构建输入数据的有用特征表示来执行对象识别任务。以此方式,深度学习解决了常规机器学习的主要瓶颈。在深度学习出现之前,用于对象识别问题的机器学习办法可能严重依赖人类工程设计的特征,或许与浅分类器相结合。浅分类器可以是两类线性分类器,例如,其中可将特征向量分量的加权和与阈值作比较以预测输入属于哪一类别。人类工程设计的特征可以是由拥有领域专业知识的工程师针对特定问题领域定制的模版或内核。相比之下,深度学习架构可学习以表示与人类工程师可能会设计的类似的特征,但它是通过训练来学习的。此外,深度网络可以学习以表示和识别人类可能还没有考虑过的新类型的特征。
深度学习架构可以学习特征阶层。例如,如果向第一层呈递视觉数据,则第一层可学习以识别输入流中的相对简单的特征(诸如边)。在另一示例中,如果向第一层呈递听觉数据,则第一层可学习以识别特定频率中的频谱功率。取第一层的输出作为输入的第二层可以学习以识别特征组合,诸如对于视觉数据识别简单形状或对于听觉数据识别声音组合。例如,更高层可学习以表示视觉数据中的复杂形状或听觉数据中的词语。再高层可学习以识别常见视觉对象或口语短语。
深度学习架构在被应用于具有自然阶层结构的问题时可能表现特别好。例如,机动车辆的分类可受益于首先学习以识别轮子、挡风玻璃、以及其他特征。这些特征可在更高层以不同方式被组合以识别轿车、卡车和飞机。
神经网络可被设计成具有各种连通性模式。在前馈网络中,信息从较低层被传递到较高层,其中给定层中的每个神经元向更高层中的神经元进行传达。如上所述,可在前馈网络的相继层中构建阶层式表示。神经网络还可具有回流或反馈(也被称为自顶向下(top-down))连接。在回流连接中,来自给定层中的神经元的输出可被传达给相同层中的另一神经元。回流架构可有助于识别跨越不止一个按顺序递送给该神经网络的输入数据组块的模式。从给定层中的神经元到较低层中的神经元的连接被称为反馈(或自顶向下)连接。当高层级概念的识别可辅助辨别输入的特定低层级特征时,具有许多反馈连接的网络可能是有助益的。
参照图3A,神经网络的各层之间的连接可以是全连接的(302)或局部连接的(304)。在全连接网络302中,第一层中的神经元可将它的输出传达给第二层中的每个神经元,从而第二层中的每个神经元将从第一层中的每个神经元接收输入。替换地,在局部连接网络304中,第一层中的神经元可连接至第二层中有限数目的神经元。卷积网络306可以是局部连接的,并且被进一步配置成使得与针对第二层中每个神经元的输入相关联的连接强度被共享(例如,308)。更一般化地,网络的局部连接层可被配置成使得一层中的每个神经元将具有相同或相似的连通性模式,但其连接强度可具有不同的值(例如,310、312、314和316)。局部连接的连通性模式可能在更高层中产生空间上相异的感受野,这是由于给定区域中的更高层神经元可接收到通过训练被调谐为到网络的总输入的受限部分的性质的输入。
局部连接的神经网络可能非常适合于其中输入的空间位置有意义的问题。例如,被设计成识别来自车载摄像机的视觉特征的网络300可发展具有不同性质的高层神经元,这取决于它们与图像下部关联还是与图像上部关联。例如,与图像下部相关联的神经元可学习以识别车道标记,而与图像上部相关联的神经元可学习以识别交通信号灯、交通标志等。
可以用受监督式学习来训练DCN。在训练期间,可向DCN呈递图像(诸如限速标志的经裁剪图像326),并且可随后计算“前向传递(forward pass)”以产生输出322。输出322可以是对应于特征(诸如“标志”、“60”、和“100”)的值向量。网络设计者可能希望DCN在输出特征向量中针对其中一些神经元输出高得分,例如与经训练网络300的输出322中所示的“标志”和“60”对应的那些神经元。在训练之前,DCN产生的输出很可能是不正确的,并且由此可计算实际输出与目标输出之间的误差。DCN的权重可随后被调整以使得DCN的输出得分与目标更紧密地对准。
为了调整权重,学习算法可为权重计算梯度向量。该梯度可指示在权重被略微调整情况下误差将增加或减少的量。在顶层,该梯度可直接对应于连接倒数第二层中的活化神经元与输出层中的神经元的权重的值。在较低层,该梯度可取决于权重的值以及所计算出的较高层的误差梯度。权重可随后被调整以减小误差。这种调整权重的方式可被称为“后向传播”,因为其涉及在神经网络中的“后向传递(backward pass)”。
在实践中,权重的误差梯度可能是在少量示例上计算的,从而计算出的梯度近似于真实误差梯度。这种近似方法可被称为随机梯度下降法。随机梯度下降法可被重复,直到整个系统可达成的误差率已停止下降或直到误差率已达到目标水平。
在学习之后,DCN可被呈递新图像326并且在网络中的前向传递可产生输出322,其可被认为是该DCN的推断或预测。
深度置信网络(DBN)是包括多层隐藏节点的概率性模型。DBN可被用于提取训练数据集的阶层式表示。DBN可通过堆叠多层受限波尔兹曼机(RBM)来获得。RBM是一类可在输入集上学习概率分布的人工神经网络。由于RBM可在没有关于每个输入应该被分类到哪个类别的信息的情况下学习概率分布,因此RBM经常被用于无监督式学习中。使用混合无监督式和受监督式范式,DBN的底部RBM可按无监督方式被训练并且可以用作特征提取器,而顶部RBM可按受监督方式(在来自先前层的输入和目标类别的联合分布上)被训练并且可用作分类器。
深度卷积网络(DCN)是卷积网络的网络,其配置有附加的池化和归一化层。DCN已在许多任务上达成现有最先进的性能。DCN可使用受监督式学习来训练,其中输入和输出目标两者对于许多典范是已知的并被用于通过使用梯度下降法来修改网络的权重。
DCN可以是前馈网络。另外,如上所述,从DCN的第一层中的神经元到下一更高层中的神经元群的连接跨第一层中的神经元被共享。DCN的前馈和共享连接可被利用于进行快速处理。DCN的计算负担可比例如类似大小的包括回流或反馈连接的神经网络的计算负担小得多。
卷积网络的每一层的处理可被认为是空间不变模版或基础投影。如果输入首先被分解成多个通道,诸如彩色图像的红色、绿色和蓝色通道,那么在该输入上训练的卷积网络可被认为是三维的,其具有沿着该图像的轴的两个空间维度以及捕捉颜色信息的第三维度。卷积连接的输出可被认为在后续层318和320中形成特征图,该特征图(例如,320)中的每个元素从先前层(例如,318)中一定范围的神经元以及从该多个通道中的每一个通道接收输入。特征图中的值可以用非线性(诸如矫正max(0,x))进一步处理。来自毗邻神经元的值可被进一步池化(这对应于降采样)并可提供附加的局部不变性以及维度缩减。还可通过特征图中神经元之间的侧向抑制来应用归一化,其对应于白化。
深度学习架构的性能可随着有更多被标记的数据点变为可用或随着计算能力提高而提高。现代深度神经网络用比仅仅十五年前可供典型研究者使用的计算资源多数千倍的计算资源来例行地训练。新的架构和训练范式可进一步推升深度学习的性能。经矫正的线性单元可减少被称为梯度消失的训练问题。新的训练技术可减少过度拟合(over-fitting)并因此使更大的模型能够达成更好的普遍化。封装技术可抽象出给定的感受野中的数据并进一步提升总体性能。
图3B是解说示例性深度卷积网络350的框图。深度卷积网络350可包括多个基于连通性和权重共享的不同类型的层。如图3B所示,该示例性深度卷积网络350包括多个卷积块(例如,C1和C2)。每个卷积块可配置有卷积层、归一化层(LNorm)、和池化层。卷积层可包括一个或多个卷积滤波器,其可被应用于输入数据以生成特征图。尽管仅示出了两个卷积块,但本公开不限于此,而是,根据设计偏好,任何数目的卷积块可被包括在深度卷积网络350中。归一化层可被用于对卷积滤波器的输出进行归一化。例如,归一化层可提供白化或侧向抑制。池化层可提供在空间上的降采样聚集以实现局部不变性和维度缩减。
例如,深度卷积网络的平行滤波器组可任选地基于ARM指令集被加载到SOC 100的CPU 102或GPU 104上以达成高性能和低功耗。在替换实施例中,平行滤波器组可被加载到SOC 100的DSP 106或ISP 116上。另外,DCN可访问其他可存在于SOC上的处理块,诸如专用于传感器114和导航120的处理块。
深度卷积网络350还可包括一个或多个全连接层(例如,FC1和FC2)。深度卷积网络350可进一步包括逻辑回归(LR)层。深度卷积网络350的每一层之间是要被更新的权重(未示出)。每一层的输出可以用作深度卷积网络350中后续层的输入以从第一卷积块C1处提供的输入数据(例如,图像、音频、视频、传感器数据和/或其他输入数据)学习阶层式特征表示。
图4是解说可使人工智能(AI)功能模块化的示例性软件架构400的框图。使用该架构,应用402可被设计成可使得SOC 420的各种处理块(例如CPU422、DSP 424、GPU 426和/或NPU 428)在该应用402的运行时操作期间执行支持计算。
AI应用402可被配置为调用在用户空间404中定义的功能,该功能可例如提供对共享资源的管理。例如,AI应用402可基于从与工作负荷相关联的多个子系统(例如,图像处理)收集的特征集合来调整时钟频率,并且进而不同地调整共享资源(例如,CPU)的功耗。AI应用402可以请求与在应用编程接口(API)406中定义的库相关联的经编译程序代码,以确定用于共享资源的参数值(例如,时钟频率)。该请求可最终依赖于深度神经网络的输出,该深度神经网络被配置为例如基于工作负荷以及从子系统中的每一个子系统收集的特征(例如,当前CPU频率、DDR时钟频率、GPU利用率和Wi-Fi分组速率)来提供参数估计
运行时引擎408(其可以是运行时框架的经编译代码)可进一步可由AI应用402访问。例如,AI应用402可使得运行时引擎请求以特定时间间隔的功率管理或由应用的用户接口检测到的事件触发的功率管理。在使得管理移动设备的功率时,运行时引擎可进而发送信号给在SOC 420上运行的操作系统410(诸如Linux内核412)。操作系统410进而可使得在CPU 422、DSP 424、GPU426、NPU 428、要从其提取的特征或它们的某种组合上执行计算。CPU422可被操作系统直接访问,而其他处理块可通过驱动器(诸如用于DSP 424、GPU426、或NPU428的驱动器414-418)来访问。在示例性示例中,深度神经网络可被配置成在处理块的组合(诸如CPU 422和GPU 426)上运行,或可在NPU428(如果存在的话)上运行。
图5是解说使用强化学习来管理共享资源的功率状态控制器的示例性操作的示图500。根据本公开的各方面,强化学习技术可用于确定用于控制一个或多个共享资源中的功率状态的参数。强化学习技术可包括交叉熵方法、策略梯度、演员-评判家(actor-critic)方法、信任区域策略优化、欠赏识奖励探索和其他强化学习技术。在图6的示例中,工作负荷组件506提供来自应用中的每一个应用的工作负荷信息,该工作负荷信息可被级联并提供给在运行时用于控制共享资源的功率状态的功率状态控制器504。此外,还可将工作负荷信息提供给强化学习组件502以用于参数训练。参数训练可以离线或在线进行。强化学习组件502可以产生从特征状态到频率的线性映射。该线性映射可被表达为f=As+b,其中f是(诸)共享资源的频率(例如,CPU和DDR频率),s是子系统(例如,应用处理器)的特征状态,而θ=(A,b)是运行时模型参数。在一些方面,强化学习组件502可以针对每个共享资源包括线性映射。
可根据以下分布绘制迭代t处的运行时模型参数θ的第k个条目:
其中μk,t、是迭代t处模型参数θ的平均值和标准差。例如,可根据随机值或其他初始值(例如,1)来初始化模型参数。使用模型参数,可以确定共享设备的操作参数。进而,共享设备执行给定的工作负荷。在每次迭代之后,可基于工作负荷来确定功率和性能。可以基于联合分布pt对工作负荷w1,w2,...wn的nθ个采样来重复该过程,以估计训练集S(w1),S(w2),…S(wn)上的累积奖励rt。在一些方面,可以基于所测量的性能(例如,工作负荷完成时间)和用于处理给定工作负荷序列的功率的组合来确定累积奖励。
每次迭代之后,平均值和标准差可以更新如下:
其中I对应于顶部ρn个值,其中ρ是选择比率(例如,参数集θ的10%的值)。例如,顶部ρn个值可以对应于产生性能的最佳(x%)的模型参数,其中性能可以包括例如完成时间、功耗或其组合。在一些方面,可以针对共享资源中的每一个共享资源执行更新。因此,在运行时,对于给定工作负荷,功率状态控制器504可基于来自子系统的特征和使用强化学习确定的模型参数来计算共享资源中的每一个共享资源的操作参数(例如,CPU和DDR频率)。
图6是解说根据本公开的各方面的用于功率状态控制的示例性架构的示图600。参照图6,示例性架构600包括在移动设备(例如,移动设备150)上操作的一个或多个应用602。例如,应用602可以包括浏览器、视频游戏或建立至局域网的Wi-Fi连接。应用602中的每一个应用可与操作系统(例如,内核)604对接和通信,该操作系统604可协调资源以执行经由应用请求的任务。操作系统604可被配置有用于管理一个或多个共享资源606的组件。应用中的每一者可向一个或多个共享资源606请求服务以执行因应用而异的任务。仅作为示例,共享资源可以包括CPU、DDR、GPU、调制解调器和Wi-Fi组件。
响应于来自应用的对服务的请求,状态特征获取组件608可以从每个子系统提取或以其他方式接收特征状态(例如,高速缓存丢失计数、CPU频率)。在一些方面,可以从与对服务的应用请求相关联的每个子系统接收特征状态。可将特征状态信息提供给频率确定组件610,以基于从模型组件614检索的模型参数(例如,A、b)来确定用于一个或多个共享资源的操作频率。在一些方面,可通过级联共享资源中的每一个共享资源的工作负荷来确定操作频率。子系统的所提取的特征状态可以与工作负荷一起用于学习模型参数。例如,可以经由强化学习技术来学习模型参数。频率确定组件610可以计算用于操作共享资源中的每一个共享资源的操作参数。在一些方面,可以确定操作参数以优化共享资源的操作,从而提高性能(例如,减少功耗或完成时间、提高效率或速度)。尽管在该示例中,操作参数是频率,但是本公开不限于此。而是,可附加地或替换地确定其他操作参数,以及在一些方面,可以优化其他操作参数。
所确定的(诸)频率进而可被提供给频率控制组件612以管理一个或多个共享资源606的操作。
图7解说了根据本公开的各方面的用于在移动设备中操作共享资源的方法700。在框702中,该方法可任选地学习特征到用于操作共享资源的参数的映射。可以通过可以是线性的或非线性的强化学习技术来学习映射。例如,可以使用强化学习技术来学习映射,诸如交叉熵方法、策略梯度、演员-评判家(Actor-Critic)方法、价值迭代方法、信任区域策略优化,欠赏识奖励探索和其他学习技术(例如,受监督式学习办法)。
在框704中,该方法从移动设备的多个子系统中提取特征集合。可以从向至少一个共享资源请求服务的多个子系统中的每一个子系统提取该特征集合。如图1B所示,共享资源168可从多个子系统(例如,多媒体子系统162、应用处理器152和GPU 166)接收对服务的请求。子系统中的每一个子系统可提供特征集合。例如,所提取的特征集合可包括当前处理器频率、要由处理器执行的指令的数目、处理器利用率、所测量的带宽或其比率。
在框704中,该方法基于从多个子系统中提取的特征集合来确定该至少一个共享资源的至少一个参数。例如,如图6所示,每个子系统的特征状态信息可由频率确定组件610使用以确定用于一个或多个共享资源的操作频率。频率确定组件可执行从所提取的特征到模型参数的映射,该模型参数可进而被用于计算用于共享资源的操作参数。
在一些方面,可基于与移动设备的工作负荷和功耗相关联的性能度量来学习参数(例如,操作参数,诸如CPU频率)。性能度量可包括用于应用的指定目标(例如,用于视频回放的帧速率或用于处理的完成时间)。在一些方面,可以基于累积奖励来学习参数。累积奖励可以基于与工作负荷相关联的所测量性能和用于处理预定工作负荷序列的功耗的组合。在一些方面,可以针对每个工作负荷计算性能奖励并对其进行平均。另一方面,可以在处理所确定的工作负荷完成时计算功率奖励。进一步地,可以使用例如神经网络(诸如DCN 350)来学习操作参数和模型参数。
此外,在框706中,该方法基于该至少一个参数来操作该至少一个共享资源。如图所示,在图6的示例中,可将所确定的(诸)频率提供给频率控制组件612以管理共享资源的操作频率。
在一配置中,机器学习模型被配置用于从移动设备的多个子系统提取特征集合,该多个子系统中的每一个子系统向移动设备的至少一个共享资源请求服务。机器学习模型还被配置用于基于从多个子系统中提取的特征集合来确定该至少一个共享资源的至少一个参数。附加地,机器学习模型被配置用于基于该至少一个参数来操作该至少一个共享资源。模型包括提取装置、确定装置和/或操作装置。在一方面,提取装置、确定装置和/或操作装置可以是被配置为执行所述功能的通用处理器102、与通用处理器102相关联的程序存储器、存储器块118、局部处理单元202和/或路由连接处理单元216。在另一配置中,前述装置可以是被配置为执行由前述装置所述的功能的任何模块或任何装置。
根据本公开的某些方面,每个局部处理单元202可被配置为基于模型的期望的一个或多个功能特征来确定模型的参数,并且在所确定的参数被进一步适配、调谐和更新时向所期望的功能特征发展该一个或多个功能特征。
在一些方面,方法700可由SOC 100(图1)或系统200(图2)来执行。即,举例而言但不作为限定,方法700的每个元素由SOC 100或系统200、或者一个或多个处理器(例如,CPU102和局部处理单元202)和/或其中包括的其他组件来执行。
以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或(诸)软件组件和/或(诸)模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。另外,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。此外,“确定”可包括解析、选择、选取、确立及类似动作。
如本文中所使用的,引述一列项目中的至少一个摂的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。
结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文中所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其他此类配置。
结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可以包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
本文中所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可以包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可以被连接到总线。总线还可以链接各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路以及类似电路,它们在本领域中是众所周知的,因此将不再进一步描述。
处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括随机存取存储器(RAM)、闪存存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPROM)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括包装材料。
在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。
处理系统可以被配置成通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可包括一个或多个神经元形态处理器以用于实现本文中所描述的神经元模型和神经系统模型。作为另一替换方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(ASIC)来实现,或者用一个或多个现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。
机器可读介质可以包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可以包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。可随后将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。此外,应领会,本公开的各方面产生对处理器、计算机、机器或实现此类方面的其它系统的机能的改进。
如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。另外,任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可以包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可以包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。
因此,某些方面可以包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可以包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括包装材料。
此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文中所描述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。
将理解,权利要求并不被限于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。
Claims (12)
1.一种在移动设备中操作共享资源的方法,包括:
从所述移动设备的多个子系统提取特征集合,所述多个子系统中的每个子系统向所述移动设备的至少一个共享资源请求服务;
处理来自所述多个子系统的工作负荷,其中所述工作负荷包括指定任务的期望性能水平;
基于来自所述多个子系统的所提取的特征集合和所述工作负荷来确定所述至少一个共享资源的至少一个参数;以及
基于所述至少一个参数来操作所述至少一个共享资源,
其中所述至少一个共享资源包括处理器,而所提取的特征集合包括当前处理器频率、要由所述处理器执行的指令的数目、处理器利用率、所测量的带宽或其比率中的至少一者。
2.如权利要求1所述的方法,其中所述至少一个参数是至少部分地基于与所述移动设备的所述工作负荷和功耗相关联的性能度量来学习的。
3.如权利要求1所述的方法,其中所述至少一个参数是至少部分地基于累积奖励来学习的,所述累积奖励包括与所述工作负荷相关联的所测量性能和用于处理预定工作负荷序列的功耗的组合。
4.一种在移动设备中操作共享资源的装置,包括:
存储器;以及
被耦合到所述存储器的至少一个处理器,所述至少一个处理器被配置为:
从所述移动设备的多个子系统提取特征集合,所述多个子系统中的每一个子系统向所述移动设备的至少一个共享资源请求服务;
处理来自所述多个子系统的工作负荷,其中所述工作负荷包括指定任务的期望性能水平;
基于来自所述多个子系统的所提取的特征集合和所述工作负荷来确定所述至少一个共享资源的至少一个参数;以及
基于所述至少一个参数来操作所述至少一个共享资源,
其中所述至少一个共享资源包括处理器,而所提取的特征集合包括当前处理器频率、要由所述处理器执行的指令的数目、处理器利用率、所测量的带宽或其比率中的至少一者。
5.如权利要求4所述的装置,其中所述至少一个处理器被进一步配置为至少部分地基于与所述移动设备的所述工作负荷和功耗相关联的性能度量来学习所述至少一个参数。
6.如权利要求4所述的装置,其中所述至少一个处理器被进一步配置为至少部分地基于累积奖励来学习所述至少一个参数,所述累积奖励包括与所述工作负荷相关联的所测量性能和用于处理预定工作负荷序列的功耗的组合。
7.一种用于在移动设备中操作共享资源的装备,包括:
用于从所述移动设备的多个子系统提取特征集合的装置,所述多个子系统中的每一个子系统向所述移动设备的至少一个共享资源请求服务;
用于处理来自所述多个子系统的工作负荷的装置,其中所述工作负荷包括指定任务的期望性能水平;
用于基于来自所述多个子系统的所提取的特征集合和所述工作负荷来确定所述至少一个共享资源的至少一个参数的装置;以及
用于基于所述至少一个参数来操作所述至少一个共享资源的装置,
其中所述至少一个共享资源包括处理器,而所提取的特征集合包括当前处理器频率、要由所述处理器执行的指令的数目、处理器利用率、所测量的带宽或其比率中的至少一者。
8.如权利要求7所述的装备,进一步包括用于至少部分地基于与所述移动设备的所述工作负荷和功耗相关联的性能度量来学习所述至少一个参数的装置。
9.如权利要求7所述的装备,进一步包括用于至少部分地基于累积奖励来学习所述至少一个参数的装置,所述累积奖励包括与工作负荷相关联的所测量性能和用于处理预定工作负荷序列的功耗的组合。
10.一种存储计算机可执行代码的计算机可读介质,所述计算机可执行代码用于操作移动设备中的共享资源,包括用于以下操作的代码:
从所述移动设备的多个子系统提取特征集合,所述多个子系统中的每一个子系统向所述移动设备的至少一个共享资源请求服务;
处理来自所述多个子系统的工作负荷,其中所述工作负荷包括指定任务的期望性能水平;
基于来自所述多个子系统的所提取的特征集合和所述工作负荷来确定所述至少一个共享资源的至少一个参数;以及
基于所述至少一个参数来操作所述至少一个共享资源,
其中所述至少一个共享资源包括处理器,而所提取的特征集合包括当前处理器频率、要由所述处理器执行的指令的数目、处理器利用率、所测量的带宽或其比率中的至少一者。
11.如权利要求10所述的计算机可读介质,进一步包括用于至少部分地基于与所述移动设备的所述工作负荷和功耗相关联的性能度量来学习所述至少一个参数的代码。
12.如权利要求10所述的计算机可读介质,进一步包括用于至少部分地基于累积奖励来学习所述至少一个参数的代码,所述累积奖励包括与所述工作负荷相关联的所测量性能和用于处理预定工作负荷序列的功耗的组合。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/713,254 US10732694B2 (en) | 2017-09-22 | 2017-09-22 | Power state control of a mobile device |
US15/713,254 | 2017-09-22 | ||
PCT/US2018/051118 WO2019060223A1 (en) | 2017-09-22 | 2018-09-14 | POWER STATE CONTROL OF A MOBILE DEVICE |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111065999A CN111065999A (zh) | 2020-04-24 |
CN111065999B true CN111065999B (zh) | 2023-07-28 |
Family
ID=63763009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880058958.2A Active CN111065999B (zh) | 2017-09-22 | 2018-09-14 | 移动设备的功率状态控制 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10732694B2 (zh) |
EP (1) | EP3685266A1 (zh) |
CN (1) | CN111065999B (zh) |
TW (1) | TW201921997A (zh) |
WO (1) | WO2019060223A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083448B (zh) * | 2018-01-25 | 2023-08-18 | 腾讯科技(深圳)有限公司 | 一种计算资源调整方法、装置以及相关设备 |
WO2019183785A1 (zh) * | 2018-03-26 | 2019-10-03 | 华为技术有限公司 | 一种帧率调整方法及终端 |
US11663039B2 (en) | 2020-04-07 | 2023-05-30 | International Business Machines Corporation | Workload management using reinforcement learning |
CN112578896B (zh) * | 2020-12-18 | 2023-03-28 | Oppo(重庆)智能科技有限公司 | 频率调节方法、频率调节装置、电子设备及存储介质 |
EP4359885A1 (en) | 2021-06-22 | 2024-05-01 | Microsoft Technology Licensing, LLC | Power budget management using quality of service (qos) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510422A (zh) * | 2011-10-09 | 2012-06-20 | 惠州Tcl移动通信有限公司 | 一种移动终端及其调节运行负荷的方法 |
CN103988147A (zh) * | 2011-11-29 | 2014-08-13 | 英特尔公司 | 在活动工作负荷期间动态进入低功率状态 |
WO2017067586A1 (en) * | 2015-10-21 | 2017-04-27 | Deutsche Telekom Ag | Method and system for code offloading in mobile computing |
WO2017112866A1 (en) * | 2015-12-23 | 2017-06-29 | Idac Holdings, Inc. | Methods of offloading computation from mobile device to cloud |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7228546B1 (en) * | 2000-01-28 | 2007-06-05 | Hewlett-Packard Development Company, L.P. | Dynamic management of computer workloads through service level optimization |
US7017060B2 (en) * | 2001-03-19 | 2006-03-21 | Intel Corporation | Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down |
US7966511B2 (en) * | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
US8336054B2 (en) | 2006-07-20 | 2012-12-18 | Hewlett-Packard Development Company, L. P. | System and method for allocating capacity of shared resources to a workload |
US8327158B2 (en) * | 2006-11-01 | 2012-12-04 | Texas Instruments Incorporated | Hardware voting mechanism for arbitrating scaling of shared voltage domain, integrated circuits, processes and systems |
US8219993B2 (en) * | 2008-02-27 | 2012-07-10 | Oracle America, Inc. | Frequency scaling of processing unit based on aggregate thread CPI metric |
US9311245B2 (en) | 2009-08-13 | 2016-04-12 | Intel Corporation | Dynamic cache sharing based on power state |
US8669990B2 (en) | 2009-12-31 | 2014-03-11 | Intel Corporation | Sharing resources between a CPU and GPU |
US8862905B2 (en) | 2011-02-17 | 2014-10-14 | Oracle International Corporation | Collecting and analysing telemetry data to dynamically cap power and temperature of a computer system by specifying virtual duty cycles for processes executing on a processor |
US8707314B2 (en) * | 2011-12-16 | 2014-04-22 | Advanced Micro Devices, Inc. | Scheduling compute kernel workgroups to heterogeneous processors based on historical processor execution times and utilizations |
US20130185581A1 (en) | 2012-01-18 | 2013-07-18 | Qualcomm Incorporated | Efficient Code Dispatch Based on Performance and Energy Consumption |
CN103823716A (zh) * | 2012-09-21 | 2014-05-28 | 宏达国际电子股份有限公司 | 具多重中央处理单元的电子装置及其效能管理方法 |
US9134778B2 (en) * | 2012-11-21 | 2015-09-15 | International Business Machines Corporation | Power distribution management in a system on a chip |
CN104102749B (zh) * | 2013-04-11 | 2019-04-23 | 华为技术有限公司 | 终端设备 |
US20140373024A1 (en) | 2013-06-14 | 2014-12-18 | Nvidia Corporation | Real time processor |
US8972760B1 (en) * | 2013-12-20 | 2015-03-03 | Futurewei Technologies, Inc. | Method and apparatus for reducing power consumption in a mobile electronic device using a second launcher |
US10025361B2 (en) | 2014-06-05 | 2018-07-17 | Advanced Micro Devices, Inc. | Power management across heterogeneous processing units |
US20150355700A1 (en) * | 2014-06-10 | 2015-12-10 | Qualcomm Incorporated | Systems and methods of managing processor device power consumption |
US10234930B2 (en) | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
US9910481B2 (en) | 2015-02-13 | 2018-03-06 | Intel Corporation | Performing power management in a multicore processor |
US9785157B2 (en) * | 2015-03-30 | 2017-10-10 | Mediatek Inc. | Method for controlling circuit modules within chip and associated system on chip |
KR102375925B1 (ko) | 2015-08-31 | 2022-03-17 | 삼성전자주식회사 | Cpu의 작동 방법과 상기 cpu를 포함하는 시스템의 작동 방법 |
US10146286B2 (en) * | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US10296067B2 (en) * | 2016-04-08 | 2019-05-21 | Qualcomm Incorporated | Enhanced dynamic clock and voltage scaling (DCVS) scheme |
US10303482B2 (en) * | 2017-03-07 | 2019-05-28 | Red Hat, Inc. | Dynamic processor frequency selection |
US10739842B2 (en) * | 2017-04-01 | 2020-08-11 | Intel Corporation | Power management and protection |
US10551901B2 (en) * | 2017-07-01 | 2020-02-04 | Microsoft Technology Licensing, Llc | Core frequency management using effective utilization for power-efficient performance |
-
2017
- 2017-09-22 US US15/713,254 patent/US10732694B2/en active Active
-
2018
- 2018-09-14 EP EP18782602.9A patent/EP3685266A1/en not_active Withdrawn
- 2018-09-14 WO PCT/US2018/051118 patent/WO2019060223A1/en unknown
- 2018-09-14 CN CN201880058958.2A patent/CN111065999B/zh active Active
- 2018-09-17 TW TW107132587A patent/TW201921997A/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510422A (zh) * | 2011-10-09 | 2012-06-20 | 惠州Tcl移动通信有限公司 | 一种移动终端及其调节运行负荷的方法 |
CN103988147A (zh) * | 2011-11-29 | 2014-08-13 | 英特尔公司 | 在活动工作负荷期间动态进入低功率状态 |
WO2017067586A1 (en) * | 2015-10-21 | 2017-04-27 | Deutsche Telekom Ag | Method and system for code offloading in mobile computing |
WO2017112866A1 (en) * | 2015-12-23 | 2017-06-29 | Idac Holdings, Inc. | Methods of offloading computation from mobile device to cloud |
Also Published As
Publication number | Publication date |
---|---|
US10732694B2 (en) | 2020-08-04 |
WO2019060223A1 (en) | 2019-03-28 |
EP3685266A1 (en) | 2020-07-29 |
CN111065999A (zh) | 2020-04-24 |
US20190094941A1 (en) | 2019-03-28 |
TW201921997A (zh) | 2019-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111065999B (zh) | 移动设备的功率状态控制 | |
JP6862426B2 (ja) | トレーニングされた機械学習モデルのパフォーマンスを改善するための方法 | |
JP6859332B2 (ja) | 選択的バックプロパゲーション | |
US10275719B2 (en) | Hyper-parameter selection for deep convolutional networks | |
US10878320B2 (en) | Transfer learning in neural networks | |
US11907810B2 (en) | Concurrent optimization of machine learning model performance | |
JP7037478B2 (ja) | 分類のための強制的なスパース性 | |
KR20170106338A (ko) | 모델 압축 및 미세-튜닝 | |
WO2023221928A1 (zh) | 一种推荐方法、训练方法以及装置 | |
TW202125339A (zh) | 經由調整記憶體內計算陣列的列閾值來執行xnor等效運算 | |
CN110520835B (zh) | 在模型转换期间跟踪轴 | |
US11556798B2 (en) | Optimizing machine learning model performance | |
US20220284271A1 (en) | Sparsity-based neural network mapping to computing units in a system-on-chip | |
US20240086699A1 (en) | Hardware-aware federated learning | |
WO2023160309A1 (zh) | 一种联邦学习方法以及相关设备 | |
US20240037150A1 (en) | Scheduling optimization in sequence space | |
WO2021247944A1 (en) | Federated mixture models | |
WO2022198437A1 (en) | State change detection for resuming classification of sequential sensor data on embedded systems | |
WO2023004670A1 (en) | Channel-guided nested loop transformation and scalar replacement | |
TW202411891A (zh) | 硬體知悉式聯合學習 | |
JP2024509862A (ja) | ビデオ処理における改善された時間的一貫性のための効率的なテスト時間適応 |
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 |