CN118349098A - A dynamic voltage frequency adjustment device, related method and storage medium - Google Patents
A dynamic voltage frequency adjustment device, related method and storage medium Download PDFInfo
- Publication number
- CN118349098A CN118349098A CN202310094560.7A CN202310094560A CN118349098A CN 118349098 A CN118349098 A CN 118349098A CN 202310094560 A CN202310094560 A CN 202310094560A CN 118349098 A CN118349098 A CN 118349098A
- Authority
- CN
- China
- Prior art keywords
- performance
- processing system
- characteristic information
- frequency
- determining
- 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
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/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/329—Power saving characterised by the action undertaken by task scheduling
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Probability & Statistics with Applications (AREA)
- Power Sources (AREA)
Abstract
本申请公开了一种动态电压频率调整装置、相关方法及存储介质,该装置可包括:场景分类器,用于:获取处理系统当前执行的指令流的特征信息,并基于所述特征信息从N个预设场景中确定出对应的目标场景;预测器,用于:基于所述特征信息和所述目标场景确定所述处理系统的工作参数,所述工作参数包括工作频率和工作电压;驱动器,用于:将所述处理系统当前的频率和电压分别调整至所述工作频率和所述工作电压。本申请能够准确地实现DVFS控制,将处理器以及存储器实时稳定在性能和能耗的平衡点上,实现更优的能效控制。
The present application discloses a dynamic voltage frequency adjustment device, related methods and storage medium, the device may include: a scene classifier, used to obtain the characteristic information of the instruction stream currently executed by the processing system, and determine the corresponding target scene from N preset scenes based on the characteristic information; a predictor, used to determine the operating parameters of the processing system based on the characteristic information and the target scene, the operating parameters include the operating frequency and the operating voltage; a driver, used to adjust the current frequency and voltage of the processing system to the operating frequency and the operating voltage respectively. The present application can accurately implement DVFS control, stabilize the processor and memory in real time at the balance point of performance and energy consumption, and achieve better energy efficiency control.
Description
技术领域Technical Field
本申请涉及计算机技术领域,尤其涉及一种动态电压频率调整装置、相关方法及存储介质。The present application relates to the field of computer technology, and in particular to a dynamic voltage frequency adjustment device, related methods and storage media.
背景技术Background technique
随着计算机技术的不断发展,集成电路的工作频率和集成度也在不断提高,集成电路的功耗也因此迅速增加,导致计算机中各类硬件系统(例如处理器)的性能和集成度再难提高,增加了散热成本。为了节省功耗及控制发热,通常会用到动态电压频率调整(Dynamic Voltage Frequency Scaling,DVFS)技术对计算机的各类硬件系统进行电压和频率的调整,使得这些硬件系统不会一直运行在最高频率,而是可以根据系统负载及配置,按照一定的规则指示这些硬件系统运行在不同的频率上。With the continuous development of computer technology, the operating frequency and integration of integrated circuits are also constantly improving, and the power consumption of integrated circuits is also increasing rapidly, making it difficult to improve the performance and integration of various hardware systems (such as processors) in computers, and increasing the cost of heat dissipation. In order to save power consumption and control heat, dynamic voltage frequency scaling (Dynamic Voltage Frequency Scaling, DVFS) technology is usually used to adjust the voltage and frequency of various hardware systems of the computer, so that these hardware systems will not always run at the highest frequency, but can be instructed to run at different frequencies according to certain rules based on system load and configuration.
但是,在实际运行环境中,性能和频率的关系非常复杂,存在着较大的非线性和时变性。想要保持DVFS预测需要的准确性和实时性,这是一个比较困难的问题。However, in the actual operating environment, the relationship between performance and frequency is very complex, with large nonlinearity and time-varying properties. It is a difficult problem to maintain the accuracy and real-time performance required for DVFS prediction.
目前,DVFS技术相关的装置和方法仍在探索中。Currently, devices and methods related to DVFS technology are still being explored.
发明内容Summary of the invention
本申请实施例提供一种动态电压频率调整装置、相关方法及存储介质,能够准确地实现DVFS控制,将处理器以及存储器实时稳定在性能和能耗的平衡点上,实现更优的能效控制。The embodiments of the present application provide a dynamic voltage frequency adjustment device, related methods and storage medium, which can accurately implement DVFS control, stabilize the processor and memory in real time at the balance point between performance and energy consumption, and achieve better energy efficiency control.
第一方面,本申请实施例提供了一种动态电压频率调整装置,所述装置,可包括:场景分类器,用于:获取处理系统当前执行的指令流的特征信息,并基于所述特征信息从N个预设场景中确定出对应的目标场景;其中,所述处理系统包括处理器、存储器中的一个或多个,所述特征信息包括事件类型、事件数量、缓存带宽、缓存缺失次数、缓存访问阻塞数中的一种或多种;N为大于或等于2的整数;预测器,用于:基于所述特征信息和所述目标场景确定所述处理系统的工作参数,所述工作参数包括工作频率和工作电压;驱动器,用于:将所述处理系统当前的频率和电压分别调整至所述工作频率和所述工作电压。In a first aspect, an embodiment of the present application provides a dynamic voltage and frequency adjustment device, which may include: a scene classifier, used to obtain characteristic information of an instruction stream currently executed by a processing system, and determine a corresponding target scene from N preset scenes based on the characteristic information; wherein the processing system includes one or more of a processor and a memory, and the characteristic information includes one or more of an event type, a number of events, a cache bandwidth, a number of cache misses, and a number of cache access blockages; N is an integer greater than or equal to 2; a predictor, used to determine operating parameters of the processing system based on the characteristic information and the target scene, wherein the operating parameters include an operating frequency and an operating voltage; and a driver, used to adjust the current frequency and voltage of the processing system to the operating frequency and the operating voltage, respectively.
本申请实施例中,动态电压频率调整装置可以通过场景分类器获取到处理系统(包括处理器和/或存储器)当前执行的指令流的特征信息(如事件类型、事件数量、缓存带宽和缓存缺失次数等),并基于该特征信息从多个预设场景中确定出目标场景;然后,动态电压频率调整装置可以通过预测器基于特征信息和目标场景进行性能预测,得到处理系统的工作参数;最终,动态电压频率调整装置可以通过驱动器将处理系统当前的频率和电压分别调整至工作参数中的工作频率和工作电压。区别于一些技术中,例如,基于较粗粒度信息长时间内平均的结果进行DVFS的方案,本申请实施例基于实时的、细粒度的信息(即当前执行的指令流的特征信息,包括如事件类型、事件数量、缓存带宽和缓存缺失次数中的一种或多种)进行场景分类和性能预测,可以准确地实现DVFS,将处理器以及存储器实时地稳定在性能和能耗的平衡点上,以此获得更优的能效控制。In the embodiment of the present application, the dynamic voltage and frequency adjustment device can obtain the characteristic information (such as event type, event number, cache bandwidth and cache miss number, etc.) of the instruction stream currently executed by the processing system (including the processor and/or memory) through the scene classifier, and determine the target scene from multiple preset scenes based on the characteristic information; then, the dynamic voltage and frequency adjustment device can perform performance prediction based on the characteristic information and the target scene through the predictor to obtain the working parameters of the processing system; finally, the dynamic voltage and frequency adjustment device can adjust the current frequency and voltage of the processing system to the working frequency and working voltage in the working parameters through the driver. Different from some technologies, for example, the DVFS solution based on the result of averaging coarse-grained information over a long period of time, the embodiment of the present application performs scene classification and performance prediction based on real-time, fine-grained information (i.e., characteristic information of the instruction stream currently executed, including one or more of event type, event number, cache bandwidth and cache miss number), which can accurately implement DVFS and stabilize the processor and memory in real time at the balance point of performance and energy consumption, so as to obtain better energy efficiency control.
在一种可能的实现方式中,所述预测器运行有N个性能预测算法,所述N个性能预测算法与所述N个预设场景一一对应;所述预测器,具体用于:从所述N个性能预测算法中确定出与所述目标场景对应的目标性能预测算法;基于所述特征信息和所述目标性能预测算法,确定出所述处理系统的所述工作参数。In one possible implementation, the predictor runs N performance prediction algorithms, and the N performance prediction algorithms correspond one-to-one to the N preset scenarios; the predictor is specifically used to: determine a target performance prediction algorithm corresponding to the target scenario from the N performance prediction algorithms; and determine the operating parameters of the processing system based on the feature information and the target performance prediction algorithm.
本申请实施例中,预测器可以先从多个性能预测算法中确定出与目标场景对应的性能预测算法,然后再通过该性能预测算法对特征信息进行处理,得到处理系统的工作参数。由于多个性能预测算法分别与多个预设场景一一对应,基于目标场景对应的性能预测算法对特征信息进行处理,可以保证工作参数的准确性。In the embodiment of the present application, the predictor can first determine the performance prediction algorithm corresponding to the target scenario from multiple performance prediction algorithms, and then process the feature information through the performance prediction algorithm to obtain the working parameters of the processing system. Since multiple performance prediction algorithms correspond to multiple preset scenarios one by one, the accuracy of the working parameters can be ensured by processing the feature information based on the performance prediction algorithm corresponding to the target scenario.
在一种可能的实现方式中,所述预测器包括选择器和N个子预测器,所述N个子预测器与N个性能预测算法一一对应,所述N个性能预测算法与所述N个预设场景一一对应;所述预测器,具体用于:通过所述N个子预测器对应的所述N个性能预测算法分别对所述特征信息进行性能预测,得到N个预测结果;通过所述选择器从所述N个预测结果中确定出与所述目标场景对应的目标预测结果;所述目标预测结果包括所述处理系统的所述工作参数。In a possible implementation, the predictor includes a selector and N sub-predictors, the N sub-predictors correspond one-to-one to N performance prediction algorithms, and the N performance prediction algorithms correspond one-to-one to the N preset scenarios; the predictor is specifically used to: perform performance prediction on the feature information respectively through the N performance prediction algorithms corresponding to the N sub-predictors to obtain N prediction results; determine a target prediction result corresponding to the target scenario from the N prediction results through the selector; the target prediction result includes the working parameters of the processing system.
本申请实施例中,预测器可以包括选择器和多个子预测器,每个子预测器对应一个性能预测算法,预测器可以通过多个子预测器对特征信息分别进行性能预测,得到多个预测结果;然后再由选择器从多个预测结果中确定出与目标场景对应的预测结果,该预测结果中包括了处理系统的工作参数。由于多个性能预测算法分别与多个预设场景一一对应,在利用多个子预测器的性能预测算法对特征信息进行预测后,基于目标场景确定出对应的预测结果(包括工作参数),可以保证工作参数的准确性。In an embodiment of the present application, the predictor may include a selector and a plurality of sub-predictors, each of which corresponds to a performance prediction algorithm. The predictor may perform performance prediction on the feature information through the plurality of sub-predictors to obtain a plurality of prediction results; and then the selector determines the prediction result corresponding to the target scene from the plurality of prediction results, and the prediction result includes the working parameters of the processing system. Since the plurality of performance prediction algorithms correspond one-to-one to the plurality of preset scenes, after the feature information is predicted using the performance prediction algorithms of the plurality of sub-predictors, the corresponding prediction results (including the working parameters) are determined based on the target scene, and the accuracy of the working parameters can be ensured.
在一种可能的实现方式中,所述装置,还包括反馈单元,所述反馈单元,用于:基于所述处理系统处于所述工作频率和所述工作电压时的工作性能,确定是否调整所述场景分类器中用于确定所述目标场景的分类算法;其中,当所述处理系统的所述工作性能不满足预设条件时,调整所述分类算法;当所述处理系统的所述工作性能满足所述预设条件时,不调整所述分类算法。In one possible implementation, the device also includes a feedback unit, and the feedback unit is used to determine whether to adjust the classification algorithm used to determine the target scene in the scene classifier based on the working performance of the processing system when it is at the working frequency and the working voltage; wherein, when the working performance of the processing system does not meet a preset condition, the classification algorithm is adjusted; and when the working performance of the processing system meets the preset condition, the classification algorithm is not adjusted.
本申请实施例中,动态电压频率调整装置还包括了反馈单元,并可以通过该反馈单元对DVFS后的性能进行监测,若DVFS后的性能不满足预设条件,则可以调整场景分类器中的分类算法,从而能够进一步提高场景分类器分类的准确性。In an embodiment of the present application, the dynamic voltage and frequency adjustment device also includes a feedback unit, and the performance after DVFS can be monitored through the feedback unit. If the performance after DVFS does not meet the preset conditions, the classification algorithm in the scene classifier can be adjusted, thereby further improving the classification accuracy of the scene classifier.
在一种可能的实现方式中,所述预测器,还用于:基于第一样本数据进行训练,得到所述N个性能预测算法;所述第一样本数据包括所述N个性能预测算法分别对应的样本指令流的特征信息。In a possible implementation, the predictor is further used to: perform training based on first sample data to obtain the N performance prediction algorithms; the first sample data includes feature information of sample instruction streams corresponding to the N performance prediction algorithms respectively.
本申请实施例中,预测器运行的多个性能预测算法可以是基于样本数据训练得到的,这可以为性能预测算法的准确性提供保障,进一步保证了DVFS的准确性。In the embodiment of the present application, the multiple performance prediction algorithms run by the predictor can be obtained by training based on sample data, which can provide a guarantee for the accuracy of the performance prediction algorithm and further ensure the accuracy of DVFS.
在一种可能的实现方式中,所述场景分类器,还用于:基于第二样本数据进行训练,得到所述N个预设场景;所述第二样本数据包括所述N个预设场景分别对应的样本指令流的特征信息。In a possible implementation, the scene classifier is further used to: perform training based on second sample data to obtain the N preset scenes; the second sample data includes feature information of sample instruction streams corresponding to the N preset scenes respectively.
本申请实施例中,场景分类器中的多个预设场景可以是基于样本数据训练得到的,这可以为场景分类器的分类准确性提供保障,进一步保证了DVFS的准确性。In the embodiment of the present application, the multiple preset scenes in the scene classifier can be obtained based on sample data training, which can provide a guarantee for the classification accuracy of the scene classifier and further ensure the accuracy of DVFS.
在一种可能的实现方式中,所述预测器,具体用于:获取性能需求信息,所述性能需求信息包括所述工作参数的预设范围;基于所述性能需求信息、所述特征信息和所述目标场景确定出所述处理系统的所述工作参数。In a possible implementation, the predictor is specifically used to: obtain performance requirement information, the performance requirement information including a preset range of the operating parameter; and determine the operating parameter of the processing system based on the performance requirement information, the feature information and the target scenario.
本申请实施例中,预测器在确定处理系统工作参数的过程中,可以结合应用程序单元的性能需求信息进行预测,从而预测出更加符合场景需求的预测结果,进一步保证预测的准确性。In the embodiment of the present application, the predictor can combine the performance requirement information of the application unit to make predictions in the process of determining the operating parameters of the processing system, so as to predict the prediction results that are more in line with the scenario requirements and further ensure the accuracy of the prediction.
第二方面,本申请实施例提供了一种动态电压频率调整方法,所述方法,可包括:获取处理系统当前执行的指令流的特征信息,并基于所述特征信息从N个预设场景中确定出对应的目标场景;其中,所述处理系统包括处理器、存储器中的一个或多个,所述特征信息包括事件类型、事件数量、缓存带宽、缓存缺失次数、缓存访问阻塞数中的一种或多种;N为大于或等于2的整数;基于所述特征信息和所述目标场景确定所述处理系统的工作参数,所述工作参数包括工作频率和工作电压;将所述处理系统当前的频率和电压分别调整至所述工作频率和所述工作电压。In a second aspect, an embodiment of the present application provides a dynamic voltage and frequency adjustment method, which may include: obtaining characteristic information of an instruction stream currently executed by a processing system, and determining a corresponding target scenario from N preset scenarios based on the characteristic information; wherein the processing system includes one or more of a processor and a memory, and the characteristic information includes one or more of an event type, a number of events, a cache bandwidth, a number of cache misses, and a number of cache access blockages; N is an integer greater than or equal to 2; determining operating parameters of the processing system based on the characteristic information and the target scenario, the operating parameters including an operating frequency and an operating voltage; and adjusting the current frequency and voltage of the processing system to the operating frequency and the operating voltage, respectively.
本申请实施例中,可以先获取处理系统(包括处理器和/或存储器)当前执行的指令流的特征信息(如事件类型、事件数量、缓存带宽和缓存缺失次数等),并基于该特征信息从多个预设场景中确定出目标场景;然后,可以基于特征信息和目标场景进行性能预测,得到处理系统的工作参数;最终,可以将处理系统当前的频率和电压分别调整至工作参数中的工作频率和工作电压。区别于一些技术中,基于较粗粒度的信息长时间平均的结果进行DVFS的方案,或者仅基于SOC的负载情况进行DVFS的方案,本申请实施例基于实时的、细粒度的信息进行场景分类和性能预测,可以准确地实现DVFS,将处理器以及存储器实时地稳定在性能和能耗的平衡点上,以此获得更优的能效控制。In the embodiment of the present application, the characteristic information (such as event type, number of events, cache bandwidth and number of cache misses, etc.) of the instruction stream currently executed by the processing system (including the processor and/or memory) can be first obtained, and the target scene can be determined from multiple preset scenes based on the characteristic information; then, performance prediction can be performed based on the characteristic information and the target scene to obtain the working parameters of the processing system; finally, the current frequency and voltage of the processing system can be adjusted to the working frequency and working voltage in the working parameters respectively. Different from some technologies that perform DVFS based on the results of long-term averaging of coarse-grained information, or perform DVFS based only on the load condition of the SOC, the embodiment of the present application performs scene classification and performance prediction based on real-time, fine-grained information, and can accurately implement DVFS, stabilize the processor and memory in real time at the balance point between performance and energy consumption, so as to obtain better energy efficiency control.
在一种可能的实现方式中,所述基于所述特征信息和所述目标场景确定所述处理系统的工作参数,包括:从N个性能预测算法中确定出与所述目标场景对应的目标性能预测算法;所述N个性能预测算法与所述N个预设场景一一对应;基于所述特征信息和所述目标性能预测算法,确定出所述处理系统的所述工作参数。In one possible implementation, determining the operating parameters of the processing system based on the feature information and the target scenario includes: determining a target performance prediction algorithm corresponding to the target scenario from N performance prediction algorithms; the N performance prediction algorithms correspond one-to-one to the N preset scenarios; and determining the operating parameters of the processing system based on the feature information and the target performance prediction algorithm.
在一种可能的实现方式中,所述基于所述特征信息和所述目标场景确定所述处理系统的工作参数,包括:通过N个性能预测算法分别对所述特征信息进行性能预测,得到N个预测结果;所述N个性能预测算法与所述N个预设场景一一对应;从所述N个预测结果中确定出与所述目标场景对应的目标预测结果;所述目标预测结果包括所述处理系统的所述工作参数。In one possible implementation, determining the operating parameters of the processing system based on the feature information and the target scenario includes: performing performance prediction on the feature information through N performance prediction algorithms to obtain N prediction results; the N performance prediction algorithms correspond one-to-one to the N preset scenarios; determining a target prediction result corresponding to the target scenario from the N prediction results; and the target prediction result includes the operating parameters of the processing system.
在一种可能的实现方式中,所述方法还包括:基于所述处理系统处于所述工作频率和所述工作电压时的工作性能,确定是否调整所述场景分类器中用于确定所述目标场景的分类算法;其中,当所述处理系统的所述工作性能不满足预设条件时,调整所述分类算法;当所述处理系统的所述工作性能满足所述预设条件时,不调整所述分类算法。In one possible implementation, the method further includes: determining whether to adjust a classification algorithm used to determine the target scene in the scene classifier based on the working performance of the processing system when the processing system is at the working frequency and the working voltage; wherein, when the working performance of the processing system does not meet a preset condition, the classification algorithm is adjusted; and when the working performance of the processing system meets the preset condition, the classification algorithm is not adjusted.
在一种可能的实现方式中,所述方法还包括:基于第一样本数据进行训练,得到所述N个性能预测算法;所述第一样本数据包括所述N个性能预测算法分别对应的样本指令流的特征信息。In a possible implementation, the method further includes: performing training based on first sample data to obtain the N performance prediction algorithms; the first sample data includes feature information of sample instruction streams corresponding to the N performance prediction algorithms respectively.
在一种可能的实现方式中,所述方法还包括:基于第二样本数据进行训练,得到所述N个预设场景;所述第二样本数据包括所述N个预设场景分别对应的样本指令流的特征信息。In a possible implementation, the method further includes: performing training based on second sample data to obtain the N preset scenarios; the second sample data includes feature information of sample instruction streams corresponding to the N preset scenarios respectively.
在一种可能的实现方式中,所述基于所述特征信息和所述目标场景确定所述处理系统的工作参数,包括:获取性能需求信息,所述性能需求信息包括所述工作参数的预设范围;基于所述性能需求信息、所述特征信息和所述目标场景确定出所述处理系统的所述工作参数。In one possible implementation, determining the operating parameters of the processing system based on the characteristic information and the target scenario includes: obtaining performance requirement information, the performance requirement information including a preset range of the operating parameters; and determining the operating parameters of the processing system based on the performance requirement information, the characteristic information and the target scenario.
第三方面,本申请实施例提供了一种计算机可读存储介质,用于存储上述第一方面中的一种或多种所提供的一种用于实现动态电压频率调整方法的设备装置所用的计算机软件指令,其包含用于执行上述方面所设计的程序。In a third aspect, an embodiment of the present application provides a computer-readable storage medium for storing computer software instructions used by a device apparatus for implementing a dynamic voltage and frequency adjustment method provided by one or more of the first aspects above, which includes a program designed for executing the above aspects.
第四方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述第一方面中的一种或多种所提供的一种用于实现动态电压频率调整方法的装置所执行的流程。In a fourth aspect, an embodiment of the present application provides a computer program, which includes instructions. When the computer program is executed by a computer, the computer can execute a process executed by an apparatus for implementing a dynamic voltage and frequency adjustment method provided by one or more of the first aspects above.
第五方面,本申请实施例提供了一种终端设备,该终端设备中包括处理器,处理器被配置为支持该终端设备实现第二方面所提供的动态电压频率调整方法中相应的功能。该终端设备还可以包括存储器,存储器用于与处理器耦合,其保存该终端设备必要的程序指令和数据。该终端设备还可以包括通信接口,用于该终端设备与其他设备或通信网络通信。In a fifth aspect, an embodiment of the present application provides a terminal device, the terminal device includes a processor, and the processor is configured to support the terminal device to implement the corresponding functions in the dynamic voltage and frequency adjustment method provided in the second aspect. The terminal device may also include a memory, the memory is used to couple with the processor, and the memory stores the necessary program instructions and data of the terminal device. The terminal device may also include a communication interface for the terminal device to communicate with other devices or a communication network.
第六方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持设备实现上述第一方面所涉及的功能,例如,生成或处理上述动态电压频率调整方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。In a sixth aspect, an embodiment of the present application provides a chip system, which includes a processor for supporting a device to implement the functions involved in the first aspect, for example, generating or processing the information involved in the dynamic voltage and frequency adjustment method. In a possible design, the chip system also includes a memory, which is used to store program instructions and data necessary for the device. The chip system can be composed of chips, or it can include chips and other discrete devices.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background technology, the drawings required for use in the embodiments of the present application or the background technology will be described below.
图1a是本申请实施例提供的一种终端设备的结构示意图。FIG. 1a is a schematic diagram of the structure of a terminal device provided in an embodiment of the present application.
图1b是本申请实施例提供的另一种终端设备的结构示意图。FIG1b is a schematic diagram of the structure of another terminal device provided in an embodiment of the present application.
图2是本申请实施例提供的一种动态电压频率调整装置的结构示意图。FIG. 2 is a schematic diagram of the structure of a dynamic voltage frequency adjustment device provided in an embodiment of the present application.
图3是本申请实施例提供的另一种动态电压频率调整装置的结构示意图。FIG3 is a schematic diagram of the structure of another dynamic voltage frequency adjustment device provided in an embodiment of the present application.
图4是本申请实施例提供的另一种动态电压频率调整装置的结构示意图。FIG. 4 is a schematic diagram of the structure of another dynamic voltage frequency adjustment device provided in an embodiment of the present application.
图5是本申请实施例提供的一种算法训练流程示意图。FIG5 is a schematic diagram of an algorithm training process provided in an embodiment of the present application.
图6本申请实施例提供的另一种动态电压频率调整装置的结构示意图。FIG6 is a schematic diagram of the structure of another dynamic voltage frequency adjustment device provided in an embodiment of the present application.
图7本申请实施例提供的另一种动态电压频率调整装置的结构示意图。FIG. 7 is a schematic diagram of the structure of another dynamic voltage frequency adjustment device provided in an embodiment of the present application.
图8是本申请实施例提供的一种动态电压频率调整方法的流程示意图。FIG8 is a flow chart of a dynamic voltage frequency adjustment method provided in an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例进行描述。The embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second", "third" and "fourth" etc. in the specification and claims of the present application and the drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices.
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的一个或多个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in one or more embodiments of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。The terms "component", "module", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program and/or a computer. By way of illustration, both applications and computing devices running on a computing device can be components. One or more components may reside in a process and/or an execution thread, and a component may be located on a computer and/or distributed between two or more computers. In addition, these components may be executed from various computer-readable media having various data structures stored thereon. Components may, for example, communicate through local and/or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system and/or a network, such as the Internet interacting with other systems through signals).
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。First, some terms in this application are explained to facilitate understanding by those skilled in the art.
(1)动态电压频率调整(Dynamic Voltage Frequency Scaling,DVFS),一般可以根据芯片所运行的应用程序对计算能力的不同需要,动态调节芯片的运行频率和电压(对于同一芯片而言,频率越高,需要的电压也越高),从而达到节能的目的。本申请实施例,可以在计算机运行的过程中,通过采集处理器和/或存储子系统的指令流的特征信息,对工作场景以及工作性能(工作频率和工作电压对应的性能)进行预测,进而可以调整处理器(Central Processing Unit,CPU)和存储子系统等相关硬件的工作电压和工作频率,能够准确地实现DVFS控制,将处理器以及存储子系统实时稳定在性能和能耗的平衡点上,提升能效比。(1) Dynamic Voltage Frequency Scaling (DVFS), which can generally dynamically adjust the operating frequency and voltage of the chip according to the different computing power requirements of the application program running on the chip (for the same chip, the higher the frequency, the higher the required voltage), so as to achieve the purpose of energy saving. In the embodiment of the present application, during the operation of the computer, by collecting characteristic information of the instruction stream of the processor and/or the storage subsystem, the working scene and working performance (performance corresponding to the working frequency and working voltage) can be predicted, and then the working voltage and working frequency of the processor (Central Processing Unit, CPU) and the storage subsystem and other related hardware can be adjusted, and DVFS control can be accurately implemented to stabilize the processor and the storage subsystem in real time at the balance point of performance and energy consumption, thereby improving the energy efficiency ratio.
(2)DVFS流程,DVFS在处理器或者存储子系统遭遇某些性能瓶颈的时候,可以降低非性能关键部件的频率,降低其电压,以降低这些部件的能耗。性能瓶颈改变后,再提升性能关键部件的电压和频率,以保持性能。在调整频率和电压时,一般可以参考以下原则:当频率由高到低调整时,可先降频率,再降电压;相反地,当频率由低到高调整,可先升电压,再升频率。(2) DVFS process. When the processor or storage subsystem encounters certain performance bottlenecks, DVFS can reduce the frequency and voltage of non-performance-critical components to reduce the energy consumption of these components. After the performance bottleneck is changed, the voltage and frequency of performance-critical components are increased to maintain performance. When adjusting frequency and voltage, the following principles can generally be used as a reference: when adjusting the frequency from high to low, the frequency can be reduced first, and then the voltage; conversely, when adjusting the frequency from low to high, the voltage can be increased first, and then the frequency.
(3)在本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。(3) In this application, "plurality" means two or more. "and/or" describes the association relationship of related objects, indicating that three relationships can exist. For example, A and/or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character "/" generally indicates that the related objects are in an "or" relationship.
首先,分析并提出本申请所具体要解决的技术问题。常见的DVFS方案包括以下方案一和方案二:First, the technical problems to be solved by this application are analyzed and proposed. Common DVFS solutions include the following solutions 1 and 2:
方案一:收集程序的预置分类,IO特性,处理器利用率,调度延迟,处理器簇的分配等信息;这些信息通过各自独立的比例积分微分控制器(Proportional-Integral-Derivative Control,PID Control)进行控制;将各个独立的比例积分微分控制器回路的输出按照一定的权重进行合成,计算出最小的性能需求;再按照最小的性能需求对预先配置的表进行查表,确定出频点、电压和核的类型的信息;最终输出频点、电压和核的调度信息,进行DVFS的控制操作。Solution 1: Collect information such as preset classification, IO characteristics, processor utilization, scheduling delay, and processor cluster allocation of the program; control this information through independent proportional-integral-derivative controllers (PID Control); synthesize the outputs of each independent proportional-integral-derivative controller loop according to a certain weight to calculate the minimum performance requirement; then look up the pre-configured table according to the minimum performance requirement to determine the frequency, voltage, and core type information; finally output the frequency, voltage, and core scheduling information to perform DVFS control operations.
该方案一存在以下缺点:This solution has the following disadvantages:
实时性较差。PID控制器需要基于上述信息长时间平均的结果进行DVFS控制,实时性较差,不能适配于复杂环境对于高速响应的DVFS控制能力的需求,影响了DVFS控制带来的能效收益。Poor real-time performance. The PID controller needs to perform DVFS control based on the long-term average results of the above information. It has poor real-time performance and cannot adapt to the needs of complex environments for high-speed response DVFS control capabilities, affecting the energy efficiency benefits brought by DVFS control.
算法结构复杂。上述信息都需要对应的PID控制器分别进行处理,处理结果又需要另外按照权重进行合成,算法结构复杂,处理过程较慢,硬件实现的可能性较低,即限制了该方案在硬件上实现的可能性,进一步限制了实时性。The algorithm structure is complex. The above information needs to be processed by the corresponding PID controller separately, and the processing results need to be synthesized according to the weights. The algorithm structure is complex, the processing process is slow, and the possibility of hardware implementation is low, which limits the possibility of hardware implementation of the solution and further limits the real-time performance.
DVFS控制准确性低。上述信息的粒度较粗,也即PID控制器基于粗粒度的信息进行处理,导致DVFS控制的准确性较低,影响DVFS的能效收益。例如,在一些应用场景下,在降低一定频率后,程序的性能损失很小,但是可以大幅度提升能效,而方案一基于粗粒度的信息进行DVFS处理的方案却无法检测和识别出这种场景。The accuracy of DVFS control is low. The granularity of the above information is coarse, that is, the PID controller processes based on coarse-grained information, resulting in low accuracy of DVFS control, which affects the energy efficiency of DVFS. For example, in some application scenarios, after reducing a certain frequency, the performance loss of the program is very small, but the energy efficiency can be greatly improved. However, the solution of DVFS processing based on coarse-grained information in Solution 1 cannot detect and identify such scenarios.
方案二:通过系统级芯片(System on Chip,SOC)信息收集单元收集SOC的负载情况(SOC-load);再通过SOC负载计算确定处理器的性能要求;再利用DVFS表格选择单元将处理器的性能要求转化为DVFS控制的频点和电压信息;最终,DVFS操作控制单元基于该频点和电压信息控制SOC的供电电压。Solution 2: Collect the SOC load through the system-on-chip (SOC) information collection unit; then determine the processor performance requirements through SOC load calculation; then use the DVFS table selection unit to convert the processor performance requirements into the frequency and voltage information controlled by the DVFS; finally, the DVFS operation control unit controls the SOC supply voltage based on the frequency and voltage information.
该方案二存在以下缺点:This solution has the following disadvantages:
DVFS控制准确性和实时性较差。仅仅使用系统的负载(SOC-load)作为DVFS调节的依据,无法准确体现处理器的性能要求,也就无法保证DVFS的准确性,因而也难以获得较优的能效比。此外,负载的变化一般较慢,仅基于负载进行DVFS的响应也会较慢,无法满足那些对于实时性要求较高的场景的需求。The accuracy and real-time performance of DVFS control are poor. Using only the system load (SOC-load) as the basis for DVFS adjustment cannot accurately reflect the performance requirements of the processor, nor can it guarantee the accuracy of DVFS, and thus it is difficult to obtain a better energy efficiency ratio. In addition, the load changes are generally slow, and the response of DVFS based only on the load will also be slow, which cannot meet the needs of those scenarios with high real-time requirements.
为了解决在进行DVFS时存在的实时性和准确性较低的问题,综合考虑上述方案存在的缺点,本申请实际要解决的技术问题包括如下:In order to solve the problem of low real-time performance and accuracy when performing DVFS, considering the shortcomings of the above solutions, the technical problems actually to be solved by this application include the following:
基于实时的、细粒度的信息进行场景分类和性能预测。本申请实施例中,可以基于处理系统(包括处理器和/或存储器)当前执行的指令流的特征信息(如事件类型、事件数量、缓存带宽和缓存缺失次数等)进行场景分类和性能预测,可以准确地实现DVFS,将处理器以及存储器实时地稳定在性能和能耗的平衡点上,以此获得更优的能效控制。Scenario classification and performance prediction based on real-time, fine-grained information. In the embodiment of the present application, scenario classification and performance prediction can be performed based on the characteristic information (such as event type, number of events, cache bandwidth, and number of cache misses, etc.) of the instruction stream currently executed by the processing system (including the processor and/or memory), and DVFS can be accurately implemented to stabilize the processor and memory in real time at the balance point between performance and energy consumption, thereby obtaining better energy efficiency control.
为更好地理解本申请实施例提供的动态电压频率调整装置,下面将对本申请实施例提供的动态电压频率调整装置的系统架构和/或应用场景进行说明。可理解的,本申请实施例描述的系统架构以及应用场景是为了可以更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。In order to better understand the dynamic voltage frequency adjustment device provided in the embodiment of the present application, the system architecture and/or application scenario of the dynamic voltage frequency adjustment device provided in the embodiment of the present application will be described below. It is understandable that the system architecture and application scenario described in the embodiment of the present application are to more clearly illustrate the technical solution of the embodiment of the present application, and do not constitute a limitation on the technical solution provided in the embodiment of the present application.
可参见图1a,图1a是本申请实施例提供的一种终端设备的结构示意图,本申请提供的终端设备01中可以包括一个或多个处理器11、一个或多个存储器12、一个或多个电源管理单元(Power Management Unit,PMU)13以及其它硬件14。终端设备01可以是用户单元(Subscriber Unit)、蜂窝电话(Cellular Phone)、智能电话(Smart Phone)、个人电脑(Personal Compute,PC)、个人数字助理(Personal Digital Assistant,PDA)电脑、平板型电脑、手持设备(Handset)、膝上型电脑(Laptop Computer)、机器类型通信(Machine TypeCommunication,MTC)终端、智能穿戴设备等。See FIG. 1a, which is a schematic diagram of the structure of a terminal device provided in an embodiment of the present application. The terminal device 01 provided in the present application may include one or more processors 11, one or more memories 12, one or more power management units (Power Management Unit, PMU) 13 and other hardware 14. The terminal device 01 may be a subscriber unit (Subscriber Unit), a cellular phone (Cellular Phone), a smart phone (Smart Phone), a personal computer (Personal Compute, PC), a personal digital assistant (Personal Digital Assistant, PDA) computer, a tablet computer, a handheld device (Handset), a laptop computer (Laptop Computer), a machine type communication (Machine Type Communication, MTC) terminal, a smart wearable device, etc.
其中,处理器11,可以是中央处理器(CPU),也可以是图形处理器(GPU),或者是具备其它功能的芯片(如SOC、可编辑程序的片上系统(ProgrammableSystem-on-Chip,PSOC)),CPU可用于处理指令、执行操作、控制时间以及处理数据等,也即是说,CPU主要是解释计算机指令以及处理计算机软件中的数据,计算机中的操作可以由CPU负责读取指令,对指令译码并执行指令;GPU是在计算机上进行图像运算工作的微处理器,主要执行复杂的数学和几何计算,用以完成图形渲染。在本申请实施例中,处理器11可以包括动态电压频率调整装置,从而可以通过动态电压频率调整装置基于处理系统(包括处理器和/或存储器)当前执行的指令流的特征信息(如事件类型、事件数量、缓存带宽和缓存缺失次数等)进行场景分类和性能预测,可以准确地实现DVFS,将处理器以及存储器实时地稳定在性能和能耗的平衡点上,以此获得更优的能效控制。Among them, the processor 11 can be a central processing unit (CPU), a graphics processing unit (GPU), or a chip with other functions (such as SOC, programmable system-on-chip (PSOC)). The CPU can be used to process instructions, execute operations, control time and process data, etc., that is, the CPU mainly interprets computer instructions and processes data in computer software. The operations in the computer can be performed by the CPU to read instructions, decode instructions and execute instructions; GPU is a microprocessor that performs image operations on the computer, mainly performing complex mathematical and geometric calculations to complete graphics rendering. In an embodiment of the present application, the processor 11 may include a dynamic voltage and frequency adjustment device, so that the dynamic voltage and frequency adjustment device can be used to perform scene classification and performance prediction based on the characteristic information of the instruction stream currently executed by the processing system (including the processor and/or memory) (such as event type, event number, cache bandwidth and cache miss times, etc.), and accurately implement DVFS, and stabilize the processor and memory in real time at the balance point of performance and energy consumption, so as to obtain better energy efficiency control.
存储器12,用于存储处理器11执行任务所需要的准备数据,和执行任务过程中产生的中间数据,以及任务完成后的结果数据。其中,存储器12可以包括一个或多个局部存储器(Local Memory)、一个或多个寄存器(Register)、一个或多个一级缓存(L1 Cache)、一个或多个二级缓存(L2 Cache),以及各类缓冲区(buffer)等,还可以包括其它外部存储器(图中未示出)。The memory 12 is used to store the preparation data required by the processor 11 to execute the task, the intermediate data generated during the execution of the task, and the result data after the task is completed. The memory 12 may include one or more local memories, one or more registers, one or more level 1 caches, one or more level 2 caches, and various buffers, etc. It may also include other external memories (not shown in the figure).
电源管理单元13,分别与处理器11、存储器12以及其它硬件14连接,该电源管理单元13可以用于为处理器11、存储器12以及其它硬件14供电,该电源管理单元13也可以接收处理器11中动态电压频率调整装置发送的控制信息,并基于该控制信息,调整为处理器11和存储器12提供的电压。其中,控制信息是动态电压频率调整装置基于处理系统(包括处理器和/或存储器)当前执行的指令流的特征信息(如事件类型、事件数量、缓存带宽和缓存缺失次数等)进行场景分类和性能预测而确定的。The power management unit 13 is connected to the processor 11, the memory 12 and other hardware 14 respectively. The power management unit 13 can be used to supply power to the processor 11, the memory 12 and other hardware 14. The power management unit 13 can also receive control information sent by the dynamic voltage and frequency adjustment device in the processor 11, and adjust the voltage provided to the processor 11 and the memory 12 based on the control information. The control information is determined by the dynamic voltage and frequency adjustment device based on the characteristic information (such as event type, event number, cache bandwidth and cache miss times, etc.) of the instruction stream currently executed by the processing system (including the processor and/or memory) to perform scene classification and performance prediction.
其它硬件14,可以包括时钟脉冲发生器、显示屏、摄像头、各类IO接口和各类传感器。其中,时钟脉冲发生器可以用于根据动态电压频率调整装置发送的控制信息,调整处理器11和存储器12的频率。其中,控制信息是动态电压频率调整装置基于处理系统(包括处理器和/或存储器)当前执行的指令流的特征信息(如事件类型、事件数量、缓存带宽和缓存缺失次数等)进行场景分类和性能预测而确定的。Other hardware 14 may include a clock generator, a display screen, a camera, various IO interfaces, and various sensors. The clock generator may be used to adjust the frequency of the processor 11 and the memory 12 according to the control information sent by the dynamic voltage and frequency adjustment device. The control information is determined by the dynamic voltage and frequency adjustment device based on the characteristic information (such as event type, event number, cache bandwidth, cache miss times, etc.) of the instruction stream currently executed by the processing system (including the processor and/or memory) to perform scene classification and performance prediction.
在一种可能的实现方式中,本申请提供的终端设备中的处理器也可以不包括动态电压频率调整装置,即该动态电压频率调整装置可以通过单独的芯片实现,而不是集成在处理器的芯片上。可参见图1b,图1b是本申请实施例提供的另一种终端设备的结构示意图,本申请提供的终端设备02中可以包括一个或多个处理器21、一个或多个存储器22、一个或多个电源管理单元23、其它硬件24以及一个或多个动态电压频率调整装置25。其中,终端设备02中各个单元的功能以及连接关系可以参考上述终端设备01的相关描述,在此不再赘述。In a possible implementation, the processor in the terminal device provided by the present application may not include a dynamic voltage and frequency adjustment device, that is, the dynamic voltage and frequency adjustment device may be implemented by a separate chip instead of being integrated on the processor chip. See Figure 1b, which is a schematic diagram of the structure of another terminal device provided by an embodiment of the present application. The terminal device 02 provided by the present application may include one or more processors 21, one or more memories 22, one or more power management units 23, other hardware 24, and one or more dynamic voltage and frequency adjustment devices 25. Among them, the functions and connection relationships of each unit in the terminal device 02 can refer to the relevant description of the above-mentioned terminal device 01, which will not be repeated here.
需要说明的是,本申请实施例可以应用于各种计算机设备的系统架构中,上述图中的计算机设备的架构只是本申请实施例中的一种示例性的实施方式,本申请实施例可应用的架构包括但不仅限于以上架构。应该理解的是,计算机设备的架构可以具有比图中所示的更多的或者更少的单元/模块,可以组合两个或多个的单元/模块,或者可以具有不同的单元/模块配置。图中所示出的各种单元/模块可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。It should be noted that the embodiments of the present application can be applied to the system architecture of various computer devices. The architecture of the computer device in the above figure is only an exemplary implementation in the embodiments of the present application. The architecture applicable to the embodiments of the present application includes but is not limited to the above architecture. It should be understood that the architecture of the computer device may have more or fewer units/modules than those shown in the figure, may combine two or more units/modules, or may have different unit/module configurations. The various units/modules shown in the figure can be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and/or application-specific integrated circuits.
下面结合本申请实施例中的附图对本申请实施例进行描述,首先是本申请的动态电压频率调整装置的结构,可参见图2,图2是本申请实施例提供的一种动态电压频率调整装置的结构示意图,动态电压频率调整装置可以包括场景分类器110、预测器111以及驱动器112。该动态电压频率调整装置可以基于处理系统(包括处理器和/或存储器)当前执行的指令流的特征信息(如事件类型、事件数量、缓存带宽和缓存缺失次数等)进行场景分类和性能预测,可以准确地实现DVFS,将处理器以及存储器实时地稳定在性能和能耗的平衡点上,以此获得更优的能效控制。其中,The following describes the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. First, the structure of the dynamic voltage and frequency adjustment device of the present application is shown in Figure 2. Figure 2 is a schematic diagram of the structure of a dynamic voltage and frequency adjustment device provided in the embodiments of the present application. The dynamic voltage and frequency adjustment device may include a scene classifier 110, a predictor 111, and a driver 112. The dynamic voltage and frequency adjustment device can perform scene classification and performance prediction based on the characteristic information (such as event type, number of events, cache bandwidth, and number of cache misses) of the instruction stream currently executed by the processing system (including the processor and/or memory), and can accurately implement DVFS, stabilize the processor and memory in real time at the balance point between performance and energy consumption, so as to obtain better energy efficiency control. Among them,
场景分类器110,用于获取处理系统当前执行的指令流的特征信息,并基于所述特征信息从N个预设场景中确定出对应的目标场景。The scene classifier 110 is used to obtain feature information of the instruction stream currently executed by the processing system, and determine a corresponding target scene from N preset scenes based on the feature information.
具体地,所述处理系统包括处理器、存储器中的一个或多个,所述特征信息包括事件类型、事件数量、缓存带宽、缓存缺失次数、缓存访问阻塞数中的一种或多种;N为大于或等于2的整数。场景分类器110可以在获取到处理系统当前执行的指令流的特征信息后,从多个预设场景(即N个预设场景)中确定出与该特征信息对应的场景(即目标场景),其中,N个预设场景可以包括计算密集场景、访存密集场景以及复杂控制流场景等,其中,计算密集场景可以是需要占用处理器大量计算资源进行计算的场景,例如,浮点(或者定点)运算比例高的场景;访存密集场景可以是需要大量访问存储器(例如内存、缓存、外部存储器)资源的场景;复杂控制流场景可以是需要处理器进行复杂控制的场景。可选地,预设场景也可以是游戏场景、视频场景、阅读场景或者即时通信场景等,在此不作具体限定。进一步地,特征信息具体可以包括浮点指令数量、定点指令数量、指令缓存的缺失率、分支预测器的错误率、二级缓存缺失次数,二级缓存带宽,二级缓存访问堵塞、三级缓存缺失次数、三级缓存带宽、三级缓存访问阻塞,内存访问阻塞中的一种或多种,在此不作具体限定。Specifically, the processing system includes one or more of a processor and a memory, and the characteristic information includes one or more of an event type, an event number, a cache bandwidth, a cache miss number, and a cache access blocking number; N is an integer greater than or equal to 2. After acquiring the characteristic information of the instruction stream currently executed by the processing system, the scene classifier 110 can determine the scene (i.e., the target scene) corresponding to the characteristic information from multiple preset scenes (i.e., N preset scenes), wherein the N preset scenes can include a computationally intensive scene, a memory access intensive scene, and a complex control flow scene, etc., wherein the computationally intensive scene can be a scene that requires a large amount of computing resources of the processor for calculation, for example, a scene with a high proportion of floating-point (or fixed-point) operations; the memory access intensive scene can be a scene that requires a large amount of access to memory (e.g., memory, cache, external memory) resources; the complex control flow scene can be a scene that requires the processor to perform complex control. Optionally, the preset scene can also be a game scene, a video scene, a reading scene, or an instant messaging scene, etc., which is not specifically limited here. Furthermore, the characteristic information may specifically include one or more of the number of floating-point instructions, the number of fixed-point instructions, the miss rate of the instruction cache, the error rate of the branch predictor, the number of L2 cache misses, the L2 cache bandwidth, the L2 cache access congestion, the number of L3 cache misses, the L3 cache bandwidth, the L3 cache access congestion, and the memory access congestion, without specific limitation herein.
可理解地,场景分类器110的输入一部分是处理器的事件,一部分是存储器的事件,例如指令缓存,数据缓存,二级缓存,三级缓存,和内存控制器产生的事件等。进一步地,场景分类器110可以基于处理器的事件和存储器的事件确定出目标场景。Understandably, the input of the scene classifier 110 is partly processor events and partly memory events, such as events generated by instruction cache, data cache, L2 cache, L3 cache, and memory controller, etc. Further, the scene classifier 110 can determine the target scene based on the processor events and memory events.
需要说明的是,动态电压频率调整装置中的场景分类器,可以通过软件实现,也可以通过硬件实现,在本申请中不做具体的限定。It should be noted that the scene classifier in the dynamic voltage and frequency adjustment device can be implemented by software or hardware, and is not specifically limited in this application.
可选的,动态电压频率调整装置中的场景分类器110可以是线性分类器,该线性分类器被用于进行场景分类。该线性分类器的输入可以是处理器和存储器的各类事件,线性分类器的输出可以是预设场景中目标场景类别。其中,预设场景的类别数量可以由分类的精度要求,系统的计算能力等确定。Optionally, the scene classifier 110 in the dynamic voltage and frequency adjustment device can be a linear classifier, which is used to perform scene classification. The input of the linear classifier can be various events of the processor and the memory, and the output of the linear classifier can be the target scene category in the preset scene. The number of categories of the preset scene can be determined by the accuracy requirement of the classification, the computing power of the system, etc.
可选的,动态电压频率调整装置中的场景分类器110也可以使用感知器模型来实现,使用在线的反馈来矫正该感知器;动态电压频率调整装置中的场景分类器110还可以采用人工神经网络来实现;动态电压频率调整装置中的场景分类器110还可以使用离线训练的模型来实现。Optionally, the scene classifier 110 in the dynamic voltage and frequency adjustment device can also be implemented using a perceptron model, using online feedback to correct the perceptron; the scene classifier 110 in the dynamic voltage and frequency adjustment device can also be implemented using an artificial neural network; the scene classifier 110 in the dynamic voltage and frequency adjustment device can also be implemented using an offline trained model.
预测器111,用于基于所述特征信息和所述目标场景确定所述处理系统的工作参数。The predictor 111 is used to determine the operating parameters of the processing system based on the feature information and the target scene.
具体地,预测器111在获取到处理系统当前执行的指令流的特征信息以及场景分类器110确定的目标场景后,可以基于该特征信息和目标场景确定出处理系统需要的工作参数,其中,该工作参数可以包括工作频率和工作电压。可选地,该工作参数可以由预测器111基于对该处理系统工作于该工作频率和工作电压时的性能预测结果确定,性能预测结果可以理解为假设将当前处理系统的频率和电压调整到该工作频率和工作电压时的性能表现,该性能预测结果可以是相关系数,也可以是枚举量,例如性能强烈提升,性能轻微提升,性能基本不变,性能轻微下降,性能强烈下降等。Specifically, after acquiring the characteristic information of the instruction stream currently executed by the processing system and the target scene determined by the scene classifier 110, the predictor 111 can determine the operating parameters required by the processing system based on the characteristic information and the target scene, wherein the operating parameters may include the operating frequency and the operating voltage. Optionally, the operating parameters can be determined by the predictor 111 based on the performance prediction results of the processing system when it operates at the operating frequency and the operating voltage. The performance prediction results can be understood as the performance when the frequency and voltage of the current processing system are adjusted to the operating frequency and the operating voltage. The performance prediction results can be a correlation coefficient or an enumeration, such as a strong performance improvement, a slight performance improvement, a substantially unchanged performance, a slight performance decrease, a strong performance decrease, etc.
驱动器112,将所述处理系统当前的频率和电压分别调整至所述工作频率和所述工作电压。The driver 112 adjusts the current frequency and voltage of the processing system to the operating frequency and the operating voltage respectively.
具体地,驱动器112可以基于获取到的工作参数,将处理系统当前的频率和电压进行调整为工作参数中的工作频率和工作电压,至此完成DVFS控制。具体地,驱动器112可以通过控制信息,控制时钟脉冲发生器将处理系统当前的频率调整至该工作频率,并控制电源管理单元将处理系统当前的电压调整至该工作电压,其中,该控制信息中可以包括上述工作参数,该控制信息可以由驱动器基于工作参数对预先配置的频点电压映射表进行查询来确定。需要说明的是,电源管理单元和时钟脉冲发生器可以协同工作,按照切换的时序同步切换。处理系统当前的频率和电压的修改会独立的影响处理器和存储器,使得处理器和存储器可以工作在合适的频率和电压下。Specifically, the driver 112 can adjust the current frequency and voltage of the processing system to the operating frequency and operating voltage in the operating parameters based on the acquired operating parameters, thereby completing the DVFS control. Specifically, the driver 112 can control the clock pulse generator to adjust the current frequency of the processing system to the operating frequency, and control the power management unit to adjust the current voltage of the processing system to the operating voltage through control information, wherein the control information may include the above-mentioned operating parameters, and the control information can be determined by the driver querying a pre-configured frequency point voltage mapping table based on the operating parameters. It should be noted that the power management unit and the clock pulse generator can work together and switch synchronously according to the switching sequence. Modifications to the current frequency and voltage of the processing system will independently affect the processor and memory, so that the processor and memory can operate at a suitable frequency and voltage.
在一种可能的实现方式中,预测器111运行有N个性能预测算法,该预测器111可以先从所述N个性能预测算法中确定出与所述目标场景对应的目标性能预测算法;然后再基于所述特征信息和所述目标性能预测算法,确定出所述处理系统的所述工作参数。其中,该N个性能预测算法与N个预设场景一一对应。具体地,由于预测器111中运行有多个预设场景分别对应的性能预测算法,因此,可以先根据场景分类器110输出的目标场景,从多个性能预测算法中选择出与该目标场景对应的性能预测算法,进而可以基于该性能预测算法和特征信息预测将当前处理系统的频率和电压调整至该工作频率和工作电压的性能。In one possible implementation, the predictor 111 runs N performance prediction algorithms, and the predictor 111 can first determine a target performance prediction algorithm corresponding to the target scenario from the N performance prediction algorithms; and then determine the operating parameters of the processing system based on the feature information and the target performance prediction algorithm. The N performance prediction algorithms correspond one-to-one to N preset scenarios. Specifically, since the predictor 111 runs performance prediction algorithms corresponding to multiple preset scenarios, the performance prediction algorithm corresponding to the target scenario can be selected from multiple performance prediction algorithms based on the target scenario output by the scene classifier 110, and then the performance of adjusting the frequency and voltage of the current processing system to the operating frequency and operating voltage can be predicted based on the performance prediction algorithm and the feature information.
在一种可能的实现方式中,预测器111包括选择器和N个子预测器,请参见图3,图3是本申请实施例提供的另一种动态电压频率调整装置的结构示意图,其中,预测器111包括多个子预测器(即N个子预测器)和选择器,且所述多个子预测器中每个子预测器对应一个性能预测算法,每个性能预测算法与预设场景一一对应。具体地,所述预测器111可以先通过每个所述子预测器对应的性能预测算法分别对所述特征信息进行性能预测,得到N个预测结果,再通过所述选择器从所述N个预测结果中确定出与所述目标场景对应的目标预测结果,该目标预测结果包括所述处理系统的所述工作参数(包括工作频率和工作电压)。可理解地,选择器也可以是独立于预测器的模块或者单元,在此不作具体限定。In a possible implementation, the predictor 111 includes a selector and N sub-predictors, see FIG3, FIG3 is a schematic diagram of the structure of another dynamic voltage and frequency adjustment device provided in an embodiment of the present application, wherein the predictor 111 includes a plurality of sub-predictors (i.e., N sub-predictors) and a selector, and each of the plurality of sub-predictors corresponds to a performance prediction algorithm, and each performance prediction algorithm corresponds to a preset scenario one-to-one. Specifically, the predictor 111 can first perform performance prediction on the feature information respectively through the performance prediction algorithm corresponding to each of the sub-predictors to obtain N prediction results, and then determine the target prediction result corresponding to the target scenario from the N prediction results through the selector, and the target prediction result includes the operating parameters of the processing system (including operating frequency and operating voltage). It is understandable that the selector can also be a module or unit independent of the predictor, which is not specifically limited here.
在一种可能的实现方式中,本申请实施例提供的动态电压频率调整装置还可以包括反馈单元,可参见图4,图4是本申请实施例提供的另一种动态电压频率调整装置的结构示意图,其中,反馈单元可以用于:基于所述处理系统处于所述工作频率和所述工作电压时的工作性能,确定是否调整所述场景分类器110中用于确定所述目标场景的分类算法;当所述处理系统的所述工作性能不满足预设条件时,调整所述分类算法;当所述处理系统的所述工作性能满足所述预设条件时,不调整所述分类算法。具体地,反馈单元可以根据调整频率和电压后,处理系统性能的实际变化方向和幅度和预测的方向和幅度是否一致(即预设条件),进而确定是否调整分类算法,例如,当预测器111的性能预测结果为调整频率和电压后性能强烈(即幅度)提升(即方向),而在动态电压频率调整装置将当前处理系统的频率和电压调整到该工作频率和工作电压时,处理系统的性能表现为的性能表现性能轻微提升、性能基本不变、性能轻微下降或性能强烈下降等时,则可以认为工作性能不满足预设条件,进而调整场景分类器的分类算法。可理解地,预设条件也可以是预设置的性能阈值,例如调整频率和电压后的性能达到了80%,而该预设置的性能阈值为90%,则可以认为工作性能不满足预设条件,进而调整场景分类器的分类算法。In one possible implementation, the dynamic voltage and frequency adjustment device provided in the embodiment of the present application may further include a feedback unit, see Figure 4, which is a structural schematic diagram of another dynamic voltage and frequency adjustment device provided in the embodiment of the present application, wherein the feedback unit can be used to: determine whether to adjust the classification algorithm used to determine the target scene in the scene classifier 110 based on the working performance of the processing system when it is at the working frequency and the working voltage; when the working performance of the processing system does not meet the preset conditions, adjust the classification algorithm; when the working performance of the processing system meets the preset conditions, do not adjust the classification algorithm. Specifically, the feedback unit can determine whether to adjust the classification algorithm based on whether the actual change direction and amplitude of the processing system performance after adjusting the frequency and voltage are consistent with the predicted direction and amplitude (i.e., the preset condition). For example, when the performance prediction result of the predictor 111 is that the performance is strongly (i.e., amplitude) improved (i.e., direction) after adjusting the frequency and voltage, and when the dynamic voltage and frequency adjustment device adjusts the frequency and voltage of the current processing system to the operating frequency and operating voltage, the performance of the processing system is slightly improved, the performance is basically unchanged, the performance is slightly reduced, or the performance is strongly reduced, etc., then it can be considered that the working performance does not meet the preset conditions, and then the classification algorithm of the scene classifier is adjusted. It can be understood that the preset condition can also be a preset performance threshold. For example, if the performance after adjusting the frequency and voltage reaches 80%, and the preset performance threshold is 90%, then it can be considered that the working performance does not meet the preset conditions, and then the classification algorithm of the scene classifier is adjusted.
可选地,反馈单元也可以基于所述处理系统处于所述工作频率和所述工作电压时的工作性能,确定是否调整所述预测器111中的性能预测算法。具体判断过程可以参考上述关于是否调整分类算法的相关描述,在此不再赘述。需要说明的是,反馈单元也基于处理系统处于所述工作频率和所述工作电压时的工作性能,确定是否对预测器111中的性能预测算法以及场景分类器110的分类算法进行调整,也即是说,性能预测算法和分类算法可以一起调整,也可以单独进行调整,或者只调整其中一个,在此不作具体限定。Optionally, the feedback unit may also determine whether to adjust the performance prediction algorithm in the predictor 111 based on the working performance of the processing system when it is at the working frequency and the working voltage. The specific judgment process can refer to the above description on whether to adjust the classification algorithm, which will not be repeated here. It should be noted that the feedback unit also determines whether to adjust the performance prediction algorithm in the predictor 111 and the classification algorithm of the scene classifier 110 based on the working performance of the processing system when it is at the working frequency and the working voltage. In other words, the performance prediction algorithm and the classification algorithm can be adjusted together, or they can be adjusted separately, or only one of them can be adjusted, which is not specifically limited here.
可选地,反馈单元可以包括性能监控器和性能预测算法权重计算器。具体地,反馈单元可以通过性能监控器获取到当前执行的指令流的特征信息,通过性能预测算法权重计算器基于预测器的预测结果对场景分类器的分类算法进行调整。Optionally, the feedback unit may include a performance monitor and a performance prediction algorithm weight calculator. Specifically, the feedback unit may obtain feature information of the currently executed instruction stream through the performance monitor, and adjust the classification algorithm of the scene classifier based on the prediction result of the predictor through the performance prediction algorithm weight calculator.
在一种可能的实现方式中,预测器111中的性能预测算法可以是基于样本数据(即第一样本数据)训练得到的,样本数据包括N个性能预测算法分别对应的样本指令流的特征信息。具体地,样本数据可以理解为多个预设场景分别对应的指令流的特征信息,进而可以根据训练算法对样本数据进行训练,从而可以得到多个预设场景(即N个预设场景)。In a possible implementation, the performance prediction algorithm in the predictor 111 may be trained based on sample data (i.e., first sample data), and the sample data includes feature information of sample instruction streams corresponding to N performance prediction algorithms. Specifically, the sample data may be understood as feature information of instruction streams corresponding to a plurality of preset scenarios, and then the sample data may be trained according to the training algorithm, thereby obtaining a plurality of preset scenarios (i.e., N preset scenarios).
在一种可能的实现方式中,场景分类器110中的分类算法可以是基于样本数据(即第二样本数据)训练得到的,样本数据包括分类算法对应的样本指令流的特征信息。具体地,样本数据可以理解为分类算法对应的指令流的特征信息,进而可以根据训练算法对样本数据进行训练,从而可以得到场景分类器110的分类算法。In a possible implementation, the classification algorithm in the scene classifier 110 can be obtained by training based on sample data (i.e., second sample data), and the sample data includes feature information of a sample instruction stream corresponding to the classification algorithm. Specifically, the sample data can be understood as feature information of an instruction stream corresponding to the classification algorithm, and then the sample data can be trained according to the training algorithm, so that the classification algorithm of the scene classifier 110 can be obtained.
需要说明的是,预测器111中的性能预测算法和场景分类器110中的分类算法可以联合进行训练和优化,以实现协同优化,使得精度达到最优,可参见图5,图5是本申请实施例提供的一种算法训练流程示意图,包括以下步骤:It should be noted that the performance prediction algorithm in the predictor 111 and the classification algorithm in the scene classifier 110 can be jointly trained and optimized to achieve collaborative optimization so that the accuracy is optimized. Please refer to Figure 5, which is a schematic diagram of an algorithm training process provided in an embodiment of the present application, including the following steps:
步骤S501:初始化场景分类器的分类算法。Step S501: Initialize the classification algorithm of the scene classifier.
具体地,可以使用其他的算法(例如,K-means算法)通过特征聚类实现对场景分类器的分类算法的初始化。Specifically, other algorithms (eg, K-means algorithm) may be used to initialize the classification algorithm of the scene classifier through feature clustering.
步骤S502:使用场景分类器的分类算法对样本数据进行分类,得到N个预设场景。Step S502: using the classification algorithm of the scene classifier to classify the sample data to obtain N preset scenes.
具体地,场景分类器的分类算法可用于根据样本数据的特征信息进行分类,进而用于训练的样本数据可被分为N类,即对应N个预设场景。Specifically, the classification algorithm of the scene classifier can be used to classify according to the feature information of the sample data, and then the sample data used for training can be divided into N categories, corresponding to N preset scenes.
步骤S503:将每个预设场景对应的样本数据作为输入,对预测器进行训练,共获得独立的N个性能预测算法。Step S503: taking the sample data corresponding to each preset scenario as input, training the predictor, and obtaining a total of N independent performance prediction algorithms.
具体地,步骤S502中被分为N类的样本数据,可以被独立用于每个性能预测算法的回归训练,从而得到N个性能预测算法,即N个性能预测算法与N个预设场景一一对应。Specifically, the sample data divided into N categories in step S502 can be independently used for regression training of each performance prediction algorithm, thereby obtaining N performance prediction algorithms, that is, the N performance prediction algorithms correspond one-to-one to the N preset scenarios.
步骤S504:判断预测器的预测误差是否满足要求。Step S504: determine whether the prediction error of the predictor meets the requirement.
具体地,通过每个性能预测算法针对对应的一组的样本数据计算误差,当预测的误差满足要求,迭代训练的过程可以直接跳转到步骤S508,将分类算法和满足要求的性能预测算法输出;如果预测的误差不满足要求,迭代训练的过程可以直接跳转到步骤S505,继续进行训练调优。Specifically, each performance prediction algorithm calculates the error for a corresponding group of sample data. When the predicted error meets the requirements, the iterative training process can directly jump to step S508 to output the classification algorithm and the performance prediction algorithm that meets the requirements; if the predicted error does not meet the requirements, the iterative training process can directly jump to step S505 to continue training and tuning.
步骤S505:将全部的样本数据作为输入,使用N个性能预测算法进行独立的预测,并计算预测的误差。Step S505: taking all sample data as input, using N performance prediction algorithms to make independent predictions, and calculating the prediction errors.
具体地,将全部的样本数据作为输入,利用步骤S503训练得到的N个性能预测算法分别对全部的样本数据进行独立的预测,计算出每个样本数据在不同的性能预测算法下的误差。Specifically, all sample data are taken as input, and N performance prediction algorithms trained in step S503 are used to perform independent predictions on all sample data, and the error of each sample data under different performance prediction algorithms is calculated.
步骤S506:根据预测的误差重新对全部的样本数据进行分组。Step S506: regroup all sample data according to the predicted error.
具体地,根据步骤S505计算的误差,每个样本数据将会被分入到误差最小的一个分组中。基于这种方法,全部的样本数据可被重新分成N个组。需要说明的是,在步骤S505中,每个样本数据都被独立预测了N次,随后,样本数据将被分到误差最小的那次预测所对应的性能预测算法的分组中。可选地,当所有的样本数据都分在了同一个分组里面时,可以继续调整性能预测算法的系数,重新对全部的样本数据进行独立预测,直至最终将全部的样本数据分成N组,且每个组中的样本数据的数量较为均衡,不存在明显的数量差距为止。Specifically, according to the error calculated in step S505, each sample data will be divided into a group with the smallest error. Based on this method, all sample data can be re-divided into N groups. It should be noted that in step S505, each sample data is independently predicted N times, and then the sample data will be divided into the group of the performance prediction algorithm corresponding to the prediction with the smallest error. Optionally, when all sample data are divided into the same group, the coefficients of the performance prediction algorithm can be adjusted, and all sample data can be independently predicted again until all sample data are finally divided into N groups, and the number of sample data in each group is relatively balanced, and there is no obvious quantity gap.
步骤S507:基于重新分组的样本数据再次训练场景分类器的分类算法,获得新的分类算法。Step S507: retraining the classification algorithm of the scene classifier based on the regrouped sample data to obtain a new classification algorithm.
具体地,可使用步骤S506中重新分组的样本数据作为输入,重新对场景分类器的分类算法进行训练,从而得到新的分类算法。可选地,在得到新的分类算法后,步骤S507得到的新的分类算法可以重新跳转到步骤S502,进而重复步骤S502-步骤S503的迭代过程,直到步骤S504预测的误差满足误差要求,迭代结束。Specifically, the sample data regrouped in step S506 can be used as input to retrain the classification algorithm of the scene classifier, thereby obtaining a new classification algorithm. Optionally, after obtaining the new classification algorithm, the new classification algorithm obtained in step S507 can jump back to step S502, and then repeat the iterative process of step S502-step S503 until the error predicted in step S504 meets the error requirement, and the iteration ends.
步骤S508:输出场景分类器的分类算法和对应的性能预测算法。Step S508: Output the classification algorithm of the scene classifier and the corresponding performance prediction algorithm.
具体地,在预测器的预测误差满足要求时,可以将训练好的场景分类器的分类算法以及对应的性能预测算法输出。进而可以将分类算法和性能预测算法用于DVFS控制,在保证分类算法以及性能预测算法的准确性,将处理器以及存储器实时稳定在性能和能耗的平衡点上,实现更优的能效控制。Specifically, when the prediction error of the predictor meets the requirements, the classification algorithm of the trained scene classifier and the corresponding performance prediction algorithm can be output. Then, the classification algorithm and performance prediction algorithm can be used for DVFS control, and the processor and memory can be stabilized in real time at the balance point of performance and energy consumption while ensuring the accuracy of the classification algorithm and performance prediction algorithm, so as to achieve better energy efficiency control.
在一种可能的实现方式中,上述预测器还可以用于,先获取性能需求信息,所述性能需求信息包括所述工作参数的预设范围;然后,再基于所述性能需求信息、所述特征信息和所述目标场景确定出所述处理系统的所述工作参数。可参见图6,图6本申请实施例提供的另一种动态电压频率调整装置的结构示意图,其中,预测器还可以包括策略控制单元,该策略控制单元包括了用于与终端设备的应用程序单元对接的接口,基于此接口,策略控制单元可以获取到终端设备的应用程序单元对应硬件的性能需求信息,该性能需求信息可以包括性能约束或者功耗约束要求(例如,性能优先或者能耗优先),基于性能约束或者功耗约束的范围,可以确定出工作参数的范围值(即预设范围)。可理解地,应用程序单元的性能和功耗的需求可以通过操作系统接口配置给策略控制单元,这简化了上层软件调度器和下层的硬件和固件的接口关系。需要说明的是,该策略控制单元也可以不集成在预测器中,也即是说,该策略控制单元可以是独立于预测器的部件,并且可以通过内部接口完成信令交互。In a possible implementation, the above predictor can also be used to first obtain performance requirement information, the performance requirement information includes a preset range of the working parameters; then, based on the performance requirement information, the feature information and the target scenario, determine the working parameters of the processing system. See Figure 6, Figure 6 is a structural schematic diagram of another dynamic voltage and frequency adjustment device provided by an embodiment of the present application, wherein the predictor can also include a policy control unit, the policy control unit includes an interface for docking with the application unit of the terminal device, based on this interface, the policy control unit can obtain the performance requirement information of the application unit of the terminal device corresponding to the hardware, the performance requirement information can include performance constraints or power consumption constraints (for example, performance priority or energy consumption priority), based on the range of performance constraints or power consumption constraints, the range value of the working parameter (i.e., the preset range) can be determined. Understandably, the performance and power consumption requirements of the application unit can be configured to the policy control unit through the operating system interface, which simplifies the interface relationship between the upper software scheduler and the lower hardware and firmware. It should be noted that the policy control unit may not be integrated in the predictor, that is, the policy control unit may be a component independent of the predictor, and signaling interaction can be completed through an internal interface.
在一种可能的实现方式中,本申请实施例提供的动态电压频率调整装置,还可以包括采集器,可参见图7,图7本申请实施例提供的另一种动态电压频率调整装置的结构示意图,动态电压频率调整装置可通过采集器采集处理系统(包括处理器和/或存储器)执行的指令流的特征信息,从而场景分类器110和子预测器111可以获取到处理系统的指令流的特征信息(包括处理器事件和/或存储器事件)。由于子预测器中运行有对应了每个预设场景的性能预测算法,因此,子预测器可以根据自身的性能预测算法和特征信息,预测将当前处理系统的频率和电压调整至工作频率和工作电压时的性能(需要说明的是,每类性能预测算法会独立选择各自的处理器事件和存储器事件来预测将当前处理系统的频率和电压调整至工作频率和工作电压时的性能)。进一步地,预测器还包括选择器,选择器可以基于场景分类器110输出的目标场景,从多个预测结果中选择出与目标场景对应的目标预测结果,从而能够更加准确地预测到将当前处理系统的频率和电压调整至工作频率和工作电压时的性能。可选地,该采集器可以包括处理器事件采样单元和存储器事件采样单元,其中,处理器事件采样单元用于采集处理器各类事件的信息,存储器事件采样单元用于采集存储器各类事件的信息。该采集器可以采用硬件或者固件进行处理,能够进一步获得更高的实时性。可理解地,采集器也可以集成在场景分类器和预测器中,在此不作具体限定。In a possible implementation, the dynamic voltage and frequency adjustment device provided in the embodiment of the present application may also include a collector, as shown in FIG7 , which is a schematic diagram of the structure of another dynamic voltage and frequency adjustment device provided in the embodiment of the present application. The dynamic voltage and frequency adjustment device may collect feature information of the instruction stream executed by the processing system (including the processor and/or the memory) through the collector, so that the scene classifier 110 and the sub-predictor 111 may obtain feature information of the instruction stream of the processing system (including processor events and/or memory events). Since the sub-predictor runs a performance prediction algorithm corresponding to each preset scene, the sub-predictor can predict the performance when the frequency and voltage of the current processing system are adjusted to the operating frequency and operating voltage based on its own performance prediction algorithm and feature information (it should be noted that each type of performance prediction algorithm will independently select its own processor event and memory event to predict the performance when the frequency and voltage of the current processing system are adjusted to the operating frequency and operating voltage). Furthermore, the predictor also includes a selector, which can select a target prediction result corresponding to the target scene from multiple prediction results based on the target scene output by the scene classifier 110, so as to more accurately predict the performance when the frequency and voltage of the current processing system are adjusted to the operating frequency and operating voltage. Optionally, the collector may include a processor event sampling unit and a memory event sampling unit, wherein the processor event sampling unit is used to collect information on various events of the processor, and the memory event sampling unit is used to collect information on various events of the memory. The collector can be processed by hardware or firmware, which can further obtain higher real-time performance. It is understandable that the collector can also be integrated into the scene classifier and the predictor, which is not specifically limited here.
为方便理解本申请实施例的DVFS策略,在此提供一种示例作为参考,并不构成具体限定。可选地,场景分类器中的预设场景可以根据降频后的性能收益区间进行划分,例如,降频后的性能收益小于或等于降频前性能的0.72的场景一、降频后的性能收益大于降频前性能的0.72且小于或等于降频前性能的0.84的场景二、降频后的性能收益大于降频前性能的0.84且小于或等于降频前性能的0.96的场景三以及降频后的性能收益大于降频前性能的0.96的场景四;针对不同性能收益场景预测器可以给出不同的决策方向,例如,针对场景一可以提升频率,提升的强度为强;针对场景二可以提升频率,提升的强度为弱;针对场景三可以降低频率,降低的强度为弱;针对场景四可以降低频率,降低的强度为强。可理解地,在评估预测器的偏差时,也可以采用分类来进行量化,将偏差的情况分为4种类别。例如,完美(Perfect)表示完全匹配,即方向(提升或者降低)正确,强度(强或弱)也正确;好(Good)表示方向匹配,即方向正确,但强度错误;差(Bad)表示方向错误,即方向错误,但强度正确;灾难(Fatal)表示致命错误,即方向错误,强度也错误。当预测器给出的结果和实际结果的偏差为Fatal时,将会损失计算机系统设备的能效和性能;当偏差为Perfect时,将会提升计算机系统设备的能效和性能。To facilitate understanding of the DVFS strategy of the embodiment of the present application, an example is provided here as a reference, which does not constitute a specific limitation. Optionally, the preset scenarios in the scenario classifier can be divided according to the performance benefit interval after frequency reduction, for example, scenario one in which the performance benefit after frequency reduction is less than or equal to 0.72 of the performance before frequency reduction, scenario two in which the performance benefit after frequency reduction is greater than 0.72 of the performance before frequency reduction and less than or equal to 0.84 of the performance before frequency reduction, scenario three in which the performance benefit after frequency reduction is greater than 0.84 of the performance before frequency reduction and less than or equal to 0.96 of the performance before frequency reduction, and scenario four in which the performance benefit after frequency reduction is greater than 0.96 of the performance before frequency reduction; for different performance benefit scenarios, the predictor can give different decision directions, for example, for scenario one, the frequency can be increased, and the intensity of the increase is strong; for scenario two, the frequency can be increased, and the intensity of the increase is weak; for scenario three, the frequency can be reduced, and the intensity of the reduction is weak; for scenario four, the frequency can be reduced, and the intensity of the reduction is strong. Understandably, when evaluating the deviation of the predictor, classification can also be used for quantification, and the deviation situation is divided into 4 categories. For example, Perfect means a perfect match, that is, the direction (increase or decrease) is correct and the strength (strong or weak) is also correct; Good means a direction match, that is, the direction is correct but the strength is wrong; Bad means a direction error, that is, the direction is wrong but the strength is correct; Fatal means a fatal error, that is, the direction is wrong and the strength is also wrong. When the deviation between the result given by the predictor and the actual result is Fatal, the energy efficiency and performance of the computer system device will be lost; when the deviation is Perfect, the energy efficiency and performance of the computer system device will be improved.
综上,本申请实施例中,可以基于处理系统(包括处理器和/或存储器)当前执行的指令流的特征信息(如事件类型、事件数量、缓存带宽和缓存缺失次数等)进行场景分类和性能预测,可以准确地实现DVFS,将处理器以及存储器实时地稳定在性能和能耗的平衡点上,以此获得更优的能效控制。In summary, in the embodiments of the present application, scenario classification and performance prediction can be performed based on the characteristic information of the instruction stream currently executed by the processing system (including the processor and/or memory) (such as event type, number of events, cache bandwidth, and number of cache misses, etc.), and DVFS can be accurately implemented, so that the processor and memory can be stabilized in real time at the balance point between performance and energy consumption, thereby obtaining better energy efficiency control.
上述阐述了本申请实施例的动态电压频率调整装置,下面对本申请实施例的相关方法进行说明。The above describes the dynamic voltage frequency adjustment device of the embodiment of the present application. The following describes the related methods of the embodiment of the present application.
请参见图8,图8是本申请实施例提供的一种动态电压频率调整方法的流程示意图,该方法可应用于终端设备,该终端设备可以为前述图1a或者图1b中的终端设备。也即是说,上述图1a或者图1b中的终端设备可以用于支持并执行图7中所示的方法流程步骤S800-步骤S802,其中,步骤S800-步骤S802包括以下:Please refer to FIG8, which is a flow chart of a dynamic voltage frequency adjustment method provided by an embodiment of the present application. The method can be applied to a terminal device, which can be the terminal device in FIG1a or FIG1b above. That is to say, the terminal device in FIG1a or FIG1b above can be used to support and execute the method flow steps S800 to S802 shown in FIG7, wherein steps S800 to S802 include the following:
步骤S800:获取处理系统当前执行的指令流的特征信息,并基于所述特征信息从N个预设场景中确定出对应的目标场景。Step S800: Acquire characteristic information of the instruction stream currently executed by the processing system, and determine a corresponding target scene from N preset scenes based on the characteristic information.
步骤S801:基于所述特征信息和所述目标场景确定所述处理系统的工作参数,所述工作参数包括工作频率和工作电压。Step S801: determining operating parameters of the processing system based on the characteristic information and the target scenario, wherein the operating parameters include an operating frequency and an operating voltage.
步骤S802:将所述处理系统当前的频率和电压分别调整至所述工作频率和所述工作电压。Step S802: adjusting the current frequency and voltage of the processing system to the operating frequency and the operating voltage respectively.
具体地,所述处理系统包括处理器、存储器中的一个或多个,所述特征信息包括事件类型、事件数量、缓存带宽、缓存缺失次数、缓存访问阻塞数中的一种或多种;N为大于或等于2的整数。Specifically, the processing system includes one or more of a processor and a memory, and the characteristic information includes one or more of an event type, a number of events, a cache bandwidth, a number of cache misses, and a number of cache access blockages; N is an integer greater than or equal to 2.
在一种可能的实现方式中,所述基于所述特征信息和所述目标场景确定所述处理系统的工作参数,包括:从N个性能预测算法中确定出与所述目标场景对应的目标性能预测算法;所述N个性能预测算法与所述N个预设场景一一对应;基于所述特征信息和所述目标性能预测算法,确定出所述处理系统的所述工作参数。In one possible implementation, determining the operating parameters of the processing system based on the feature information and the target scenario includes: determining a target performance prediction algorithm corresponding to the target scenario from N performance prediction algorithms; the N performance prediction algorithms correspond one-to-one to the N preset scenarios; and determining the operating parameters of the processing system based on the feature information and the target performance prediction algorithm.
在一种可能的实现方式中,所述基于所述特征信息和所述目标场景确定所述处理系统的工作参数,包括:通过N个性能预测算法分别对所述特征信息进行性能预测,得到N个预测结果;所述N个性能预测算法与所述N个预设场景一一对应;从所述N个预测结果中确定出与所述目标场景对应的目标预测结果;所述目标预测结果包括所述处理系统的所述工作参数。In one possible implementation, determining the operating parameters of the processing system based on the feature information and the target scenario includes: performing performance prediction on the feature information through N performance prediction algorithms to obtain N prediction results; the N performance prediction algorithms correspond one-to-one to the N preset scenarios; determining a target prediction result corresponding to the target scenario from the N prediction results; and the target prediction result includes the operating parameters of the processing system.
在一种可能的实现方式中,所述方法还包括:基于所述处理系统处于所述工作频率和所述工作电压时的工作性能,确定是否调整所述场景分类器中用于确定所述目标场景的分类算法;其中,当所述处理系统的所述工作性能不满足预设条件时,调整所述分类算法;当所述处理系统的所述工作性能满足所述预设条件时,不调整所述分类算法。In one possible implementation, the method further includes: determining whether to adjust a classification algorithm used to determine the target scene in the scene classifier based on the working performance of the processing system when the processing system is at the working frequency and the working voltage; wherein, when the working performance of the processing system does not meet a preset condition, the classification algorithm is adjusted; and when the working performance of the processing system meets the preset condition, the classification algorithm is not adjusted.
在一种可能的实现方式中,所述方法还包括:基于第一样本数据进行训练,得到所述N个性能预测算法;所述第一样本数据包括所述N个性能预测算法分别对应的样本指令流的特征信息。In a possible implementation, the method further includes: performing training based on first sample data to obtain the N performance prediction algorithms; the first sample data includes feature information of sample instruction streams corresponding to the N performance prediction algorithms respectively.
在一种可能的实现方式中,所述方法还包括:基于第二样本数据进行训练,得到所述N个预设场景;所述第二样本数据包括所述N个预设场景分别对应的样本指令流的特征信息。In a possible implementation, the method further includes: performing training based on second sample data to obtain the N preset scenarios; the second sample data includes feature information of sample instruction streams corresponding to the N preset scenarios respectively.
在一种可能的实现方式中,所述基于所述特征信息和所述目标场景确定所述处理系统的工作参数,包括:获取性能需求信息,所述性能需求信息包括所述工作参数的预设范围;基于所述性能需求信息、所述特征信息和所述目标场景确定出所述处理系统的所述工作参数。In one possible implementation, determining the operating parameters of the processing system based on the characteristic information and the target scenario includes: obtaining performance requirement information, the performance requirement information including a preset range of the operating parameters; and determining the operating parameters of the processing system based on the performance requirement information, the characteristic information and the target scenario.
本申请实施例中,可以基于处理系统(包括处理器和/或存储器)当前执行的指令流的特征信息(如事件类型、事件数量、缓存带宽和缓存缺失次数等)进行场景分类和性能预测,可以准确地实现DVFS,将处理器以及存储器实时地稳定在性能和能耗的平衡点上,以此获得更优的能效控制。In an embodiment of the present application, scenario classification and performance prediction can be performed based on characteristic information (such as event type, number of events, cache bandwidth, and number of cache misses, etc.) of the instruction stream currently executed by the processing system (including a processor and/or memory), and DVFS can be accurately implemented, so that the processor and memory can be stabilized in real time at a balance point between performance and energy consumption, thereby obtaining better energy efficiency control.
需要说明的是,本申请实施例中所描述的动态电压频率调整方法流程的相关描述可参见上述装置实施例中的相关描述,此处不再赘述。It should be noted that the relevant description of the dynamic voltage frequency adjustment method process described in the embodiment of the present application can be found in the relevant description in the above-mentioned device embodiment, and will not be repeated here.
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当上述处理器执行该计算机程序代码时,使得计算机执行前述任一实施例中的方法。An embodiment of the present application further provides a computer-readable storage medium, in which a computer program code is stored. When the above-mentioned processor executes the computer program code, the computer executes the method in any of the above-mentioned embodiments.
本申请实施例还提供一种终端设备,该终端设备可以以芯片的产品形态存在,该终端设备中包括处理器,处理器被配置为支持该终端设备实现前述任一实施例中的方法中相应的功能。该终端设备还可以包括存储器,存储器用于与处理器耦合,其保存该终端设备必要的程序指令和数据。该终端设备还可以包括通信接口,用于该终端设备与其他设备或通信网络通信。The embodiment of the present application also provides a terminal device, which can exist in the form of a chip product, and the terminal device includes a processor, which is configured to support the terminal device to implement the corresponding functions of the method in any of the above embodiments. The terminal device may also include a memory, which is coupled to the processor and stores the necessary program instructions and data of the terminal device. The terminal device may also include a communication interface for the terminal device to communicate with other devices or communication networks.
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行前述任一实施例中的方法。The embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, the computer executes the method in any of the aforementioned embodiments.
本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持设备实现上述第一方面所涉及的功能,例如,生成或处理上述动态电压频率调整方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。The embodiment of the present application provides a chip system, which includes a processor for supporting a device to implement the functions involved in the first aspect, for example, generating or processing the information involved in the dynamic voltage frequency adjustment method. In a possible design, the chip system also includes a memory, which is used to store program instructions and data necessary for the device. The chip system can be composed of a chip, or it can include a chip and other discrete devices.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the order of the actions described, because according to the present application, some steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。In the several embodiments provided in the present application, it should be understood that the disclosed devices can be implemented in other ways. For example, the device embodiments described above are only schematic, such as the division of the above-mentioned units, which is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of the present application.
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务端或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-OnlyMemory,缩写:ROM)或者随机存取存储器(RandomAccessMemory,缩写:RAM)等各种可以存储程序代码的介质。If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server or a network device, etc., specifically a processor in a computer device) to perform all or part of the steps of the above-mentioned methods of each embodiment of the present application. Among them, the aforementioned storage medium may include: U disk, mobile hard disk, magnetic disk, optical disk, read-only memory (Read-Only Memory, abbreviated: ROM) or random access memory (Random Access Memory, abbreviated: RAM) and other media that can store program codes.
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, a person of ordinary skill in the art should understand that the technical solutions described in the aforementioned embodiments can still be modified, or some of the technical features therein can be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims (18)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310094560.7A CN118349098A (en) | 2023-01-14 | 2023-01-14 | A dynamic voltage frequency adjustment device, related method and storage medium |
PCT/CN2024/071759 WO2024149320A1 (en) | 2023-01-14 | 2024-01-11 | Dynamic voltage and frequency scaling device, related method and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310094560.7A CN118349098A (en) | 2023-01-14 | 2023-01-14 | A dynamic voltage frequency adjustment device, related method and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118349098A true CN118349098A (en) | 2024-07-16 |
Family
ID=91817648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310094560.7A Pending CN118349098A (en) | 2023-01-14 | 2023-01-14 | A dynamic voltage frequency adjustment device, related method and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118349098A (en) |
WO (1) | WO2024149320A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840825B2 (en) * | 2006-10-24 | 2010-11-23 | International Business Machines Corporation | Method for autonomous dynamic voltage and frequency scaling of microprocessors |
US9910481B2 (en) * | 2015-02-13 | 2018-03-06 | Intel Corporation | Performing power management in a multicore processor |
CN109116970A (en) * | 2018-08-31 | 2019-01-01 | 中国电子科技集团公司第五十八研究所 | A kind of dynamic voltage frequency regulating system and method |
CN112631415B (en) * | 2020-12-31 | 2022-09-02 | Oppo(重庆)智能科技有限公司 | CPU frequency adjusting method, device, electronic equipment and storage medium |
CN114417733A (en) * | 2022-01-29 | 2022-04-29 | 龙芯中科技术股份有限公司 | Method, device, electronic device and storage medium for constructing power consumption prediction model |
-
2023
- 2023-01-14 CN CN202310094560.7A patent/CN118349098A/en active Pending
-
2024
- 2024-01-11 WO PCT/CN2024/071759 patent/WO2024149320A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024149320A1 (en) | 2024-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7094352B2 (en) | Realization method of task parallel processing, equipment, equipment and media | |
CN112631415B (en) | CPU frequency adjusting method, device, electronic equipment and storage medium | |
US10146286B2 (en) | Dynamically updating a power management policy of a processor | |
EP2524301B1 (en) | System and method of monitoring a central processing unit in real time | |
CN113163018B (en) | Delay, resource and energy consumption aware virtual network online migration method and device | |
WO2020042182A1 (en) | Data processing system and data processing method | |
CN113222118A (en) | Neural network training method, apparatus, electronic device, medium, and program product | |
CN117130769B (en) | Frequency modulation method, training method of frequency adjustment neural network and electronic equipment | |
CN116069152A (en) | Operation frequency control method, system and related equipment for AI computing cluster | |
JP2021022373A (en) | Method, apparatus and device for balancing loads, computer-readable storage medium, and computer program | |
Kwon et al. | Reinforcement learning-based power management policy for mobile device systems | |
WO2024149320A1 (en) | Dynamic voltage and frequency scaling device, related method and storage medium | |
CN115705275A (en) | Parameter acquisition method, device and electronic equipment | |
CN118860572A (en) | A method, device and electronic device for elastic scaling in container cloud environment | |
WO2024114728A1 (en) | Heterogeneous processor and related scheduling method | |
CN111523655A (en) | Processing device and method | |
CN114185667A (en) | Data processing method and device and related product | |
US12248357B1 (en) | Power management in deterministic tensor streaming processors | |
WO2022178731A1 (en) | Operating method and apparatus for accelerator | |
US11899551B1 (en) | On-chip software-based activity monitor to configure throttling at a hardware-based activity monitor | |
CN118193051B (en) | Program efficiency optimization method and electronic device | |
US20240103908A1 (en) | Dynamic adaptive scheduling for energy-efficient heterogeneous systems-on-chip and related aspects | |
WO2025061014A1 (en) | Processing element scheduling apparatus and method, chip, and related device | |
WO2023226791A1 (en) | Control apparatus, control method, and related device | |
WO2022257920A1 (en) | Processing system, integrated circuit, and printed circuit board for optimizing parameters of deep neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |