Idle time prediction method and idle time prediction device

TWI939770BActive Publication Date: 2026-09-21MEDIATEK INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
TW113125209
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2024-07-04
Filing Date
2024-07-05
Publication Date
2026-09-21
Estimated Expiration
2044-07-04

Smart Images

  • Figure TWG2TB001911887_001
    Figure TWG2TB001911887_001
  • Figure TWG2TB001911887_002
    Figure TWG2TB001911887_002
  • Figure TWG2TB001911887_003
    Figure TWG2TB001911887_003
Patent Text Reader

Abstract

A method for predicting idle time in a system includes obtaining n idle durations corresponding to n time points, determining whether the n idle durations follow a normal distribution, and if the n idle durations do not follow a normal distribution, generating a probability based on m idle states corresponding to the n idle durations, selecting a predicted idle state based on the probability, and controlling the system to enter the predicted idle state, where n and m are integers greater than one, and mn.
Need to check novelty before this filing date? Find Prior Art

Description

Idle Time Prediction Method and Idle Time Prediction Device The present invention relates to an idle time prediction method, and particularly to an idle time prediction method and device for a system. When the system is operating, unused units of the system can enter an idle state to reduce power consumption. For example, a part of the processor or the entire processor may enter an idle state, or a subsystem of the system may enter an idle state to save power. However, performing control related to the idle state is a challenge. If a unit enters an overly deep idle state, the idle time may be too long, and the overhead of waking up the unit may be too large. If a unit enters an overly shallow idle state, the power-saving effect may be insufficient. Therefore, there is still a need for a solution to better control the idle state of the system. An embodiment provides an idle time prediction method for a system. The idle time prediction method includes obtaining n idle durations corresponding to n time points, determining whether the n idle durations are normally distributed, if the n idle durations are normally distributed, selecting a predicted idle state according to the average value of the n idle durations, and controlling the system to enter the predicted idle state, where n is an integer greater than one. Another embodiment provides an idle time prediction method for a system. The idle time prediction method includes obtaining n idle durations corresponding to n time points, determining whether the n idle durations are normally distributed, if the n idle durations are not normally distributed, generating a probability according to m idle states corresponding to the n idle durations, selecting a predicted idle state according to the probability, and controlling the system to enter the predicted idle state, where n and m are integers greater than one, and m ≤ n. Another embodiment provides an idle time prediction device for a system. The idle time prediction device includes a monitor and a processor. The monitor is connected to the system and is used to observe the system to obtain n idle durations corresponding to n time points. The processor is connected to the monitor and is used to determine whether the n idle durations are normally distributed, if the n idle durations are normally distributed, selecting a predicted idle state according to the average value of the n idle durations, and controlling the system to enter the predicted idle state, where n is an integer greater than one. Another embodiment provides an idle time prediction device for a system. The idle time prediction device includes a monitor and a processor. The monitor is connected to the system for observing the system to obtain n idle durations corresponding to n time points. The processor is connected to the monitor for determining whether the n idle durations are normally distributed. If the n idle durations are not normally distributed, a probability is generated according to m idle states corresponding to m of the n idle durations, a predicted idle state is selected according to the probability, and the system is controlled to enter the predicted idle state, where n and m are integers greater than one, and m ≤ n. These and other objects of the present invention will no doubt become apparent to those of ordinary skill in the art after reading the preferred embodiments described in detail below, which are illustrated in various figures and drawings. In the text, an asterisk (i.e., *) may be a multiplication symbol. FIG. 1 illustrates an idle time prediction device 100 for controlling a system 155 according to an embodiment. The idle time prediction device 100 may include a monitor 110 and a processor 120. The monitor 110 may be connected to the system 155 for observing the system 155 to obtain n idle durations ID1 to IDn corresponding to n time points, where n is an integer greater than one. These n idle durations ID1 to IDn may be actual idle durations obtained by measurement and observation and may be recorded in a log file. The processor 120 may be connected to the monitor 110 and the system 155 for determining whether the n idle durations ID1 to IDn are normally distributed. If the n idle durations are normally distributed, the processor 120 may select a predicted idle state IS_p according to the average value (denoted as ID_avg) of the n idle durations ID1 to IDn. Then, the processor 120 may transmit a control signal Sc to control the system 155 to enter the predicted idle state IS_p. For example, if the average value ID_avg is 500 milliseconds and corresponds to a light idle state defined for the system 155, the predicted idle state IS_p may be the light idle state. In another example, if the average value ID_avg is 10 seconds and corresponds to a deep idle state defined for the system 155, the predicted idle state IS_p may be the deep idle state. In another case, if the n idle durations are not normally distributed, the processor 120 may generate a probability (denoted as P) according to m idle states corresponding to m of the n idle durations, where n and m are integers greater than one, and m ≤ n. In this case, the predicted idle state IS_p may be selected according to the probability P, and the processor 120 may transmit a control signal Sc to control the system 155 to enter the predicted idle state IS_p. For example, the above-mentioned predicted idle state IS_p can be a light idle state or a deep idle state, where the light idle state can correspond to a shorter idle duration, and the deep idle state can correspond to a longer idle duration. In another example, the above-mentioned predicted idle state IS_p can be one of a plurality of idle states, where the plurality of idle states respectively correspond to a plurality of different idle durations. The processor 120 may include a central processing unit (CPU), a graphics processing unit (GPU), a tensor processing unit (TPU), a neural network processing unit (NPU), an application specific integrated circuit (ASIC), a deep learning processing unit (DPU), a vector processing unit (VPU), a microprocessor, a microcontroller unit (MCU), and / or a suitable processing unit. The monitor 110 may be implemented using hardware (such as circuits on a printed circuit board, circuits on a field programmable gate array, and / or integrated circuits), and appropriate software and / or firmware may be installed in the monitor 110 to measure n idle durations ID1 to IDn. The processor 120 and the monitor 110 may be separated in different units or integrated in one unit. For example, the processor 120 and the monitor 110 may be integrated in an application specific integrated circuit (ASIC) and appropriate software and / or firmware may be installed. FIG. 2 is a flowchart of an idle time prediction method 200 for the system 155 according to an embodiment. The idle time prediction method 200 may be executed together with the idle time prediction device 100 in FIG. 1. The idle time prediction method 200 may include the following steps. Step 210: Obtain n idle durations ID1 to IDn corresponding to n time points; Step 220: Determine whether the n idle durations ID1 to IDn are normally distributed; if so, proceed to step 230; otherwise, proceed to step 240; Step 230: Select a predicted idle state IS_p according to the average value ID_avg of the n idle durations ID1 to IDn; proceed to step 250; Step 240: Generate a probability P according to m idle states corresponding to m idle durations among the n idle durations; Step 245: Select a predicted idle state IS_p according to the probability P; and Step 250: Control the system 155 to enter the predicted idle state IS_p. Step 210 may be executed using the monitor 110. Steps 220 to 250 may be executed using the processor 120. In step 220, if the average value ID_avg of the n idle durations ID1 to IDn is greater than k times the standard deviation σ of the n idle durations ID1 to IDn, and k is an integer greater than one, then it can be determined that the n idle durations ID1 to IDn are normally distributed. For example, k can be six. In other words, if the average value ID_avg is greater than six times the standard deviation σ (i.e., ID_avg > 6 * σ), then it can be determined that the n idle durations ID1 to IDn are normally distributed. The standard deviation σ can be generated using the following equation eq-1: σ = … eq-1; In equation eq-1, the variable i can be an integer from 1 to n. According to another embodiment, in step 220, if the standard deviation σ of the n idle durations ID1 to IDn is less than a predetermined threshold value, then it can be determined that the n idle durations ID1 to IDn are normally distributed. Here, the predetermined threshold value can be determined according to experiments. In FIG. 2, the n idle durations ID1 to IDn can be classified into a plurality of idle states, and the predicted idle state IS_p can be one of the plurality of idle states. For example, the plurality of idle states can include a deep idle state corresponding to a longer idle duration and a shallow idle state corresponding to a shorter idle duration. In another example, the plurality of idle states can include a first idle state, a second idle state, and a third idle state, corresponding to different idle durations respectively. In steps 240 and 245, n and m can be integers greater than one, and m ≤ n. In step 240, the m idle durations used to generate the probability P can be temporally continuous. In step 240, the probability P can be generated using a machine learning model based on the m idle states corresponding to the m idle durations among the n idle durations. For example, the machine learning model can include a convolutional neural network (CNN), a recurrent neural network (RNN), a deep neural network (DNN), and / or a suitable neural network model. Figure 3 illustrates a state diagram for describing the idle state of system 155 according to an example. Figure 3 may correspond to a plurality of idle states related to n idle durations ID1 to IDn of system 155. In Figure 3, each "bubble" may represent an idle state, a white bubble may represent a light idle state, and a gray bubble may represent a deep idle state. The idle states in Figure 3 are based on the actual idle states recorded by observing system 155. As shown in Figure 3, sequentially, the first state to the sixth state of system 155 may be light idle states, the seventh state and the eighth state may be deep idle states, and the ninth state may be a light idle state. Figure 3 is only an example, and in fact, more actual idle states of system 155 can be observed. For example, 31 or 62 idle states of system 155 can be observed and recorded. Figure 4 illustrates a graph for predicting the idle state of system 155 based on the actual idle states related to n idle durations ID1 to IDn of system 155 in an example. Figure 4 may be related to steps 240 and 245 in Figure 2. As shown in Figure 4, after system 155 enters the first light idle state (e.g., state α), the probability of entering the second light state (e.g., state β) may be 0.8 (i.e., 80%). After system 155 enters two consecutive light idle states (e.g., states α and β), the probability of entering the third light state (e.g., state γ) may be 0.7 (i.e., 70%). After system 155 enters the first deep idle state (e.g., state δ), the probability of entering a light state (e.g., state β) may be 0.5 (i.e., 50%). After system 155 enters two consecutive deep idle states (e.g., states δ and ε), the probability of entering a light state (e.g., state γ) may be 0.2 (i.e., 20%). Figure 4 is only an example showing six idle states. In fact, the graph of Figure 4 may include more idle states, such as 62 idle states. In steps 240 and 245 of Figure 2, the probability P can be estimated using a machine learning model (e.g., a neural network model) of processor 120. Hidden Markov models and Hidden Markov algorithms can be used to generate the probability P (e.g., one of the probabilities mentioned in Figure 4) based on some or all of the actual idle states related to n idle durations ID1 to IDn of system 155. According to an embodiment, system 155 may include a processor (e.g., a CPU, GPU, or microcontroller), a memory (e.g., synchronous dynamic random access memory, dynamic random access memory, or double data rate synchronous dynamic random access memory), an interface, and / or a bus (e.g., an infra-bus). In summary, by using the idle time prediction device 100 and the idle time prediction method 200, an appropriate idle state (e.g., a light idle state or a deep idle state) can be predicted and selected for the system 155 to enter the selected idle state. Therefore, the control of the system 155 can be more accurate. As a result, the processor 120 can better control the idle state of the system 155 and effectively reduce the related overhead and power consumption. Those skilled in the art will readily observe that many modifications and changes can be made to the device and method while retaining the teaching of the invention. Therefore, the above disclosure should be limited only to the scope and bounds of the appended claims. The above are only the preferred embodiments of the present invention, and all equivalent changes and modifications made according to the scope of the patent application of the present invention shall fall within the scope of the present invention. 100: Idle time prediction device 200: Idle time prediction method 110: Monitor 120: Processor 155: System 210, 220, 230, 240, 215, 250: Steps FIG. 1 shows an idle time prediction device for controlling a system, according to one embodiment. FIG. 2 is a flowchart of an idle time prediction method for the system, according to one embodiment. FIG. 3 shows a state diagram for describing the idle state of the system according to an example. FIG. 4 shows a graph for predicting the idle state of the system based on the actual idle state related to the n idle durations of the system in an example. 200: Idle time prediction method 210, 220, 230, 240, 215, 250: Steps

Claims

1. A method for predicting idle time in a system, comprising: Get the n idle durations corresponding to n time points; Determine whether the durations of the n idle periods follow a normal distribution; If the n idle durations are not normally distributed, a probability is generated based on the m idle durations corresponding to the m idle states among the n idle durations; a predicted idle state is selected based on this probability; and the system is controlled to enter the predicted idle state; wherein: the m idle states are sequential in time, with no other idle state between the m idle states; the m idle states have an order; the probability is generated based on the m idle states and the order; and n and m are integers greater than one, and m ≤ n.

2. As described in Request 1, if the average of the n idle durations is greater than k times the standard deviation of the n idle durations, and k is an integer greater than one, then the n idle durations are determined to be normally distributed.

3. The method as described in claim 2, further comprising: If the n idle durations are determined to be normally distributed, an average of the n idle durations is used to select the predicted idle state.

4. The method described in request item 2, wherein k is 6.

5. The method as described in Request 1, wherein the n idle durations are determined to be normally distributed if the standard deviation of the n idle durations is less than a predetermined threshold.

6. The method as described in claim 1, wherein the n idle durations are classified into a plurality of idle states, and the predicted idle state is one of the plurality of idle states.

7. The method of claim 6, wherein the plurality of idle states includes a deep idle state and a light idle state, and a first duration corresponding to the deep idle state is longer than a second duration corresponding to the light idle state.

8. The method as described in request item 1, wherein the probability is generated using a machine learning model based on the m idle durations corresponding to the m idle states out of the n idle durations.

9. The method of claim 8, wherein the machine learning model includes at least one of a convolutional neural network model, a recurrent neural network model, and a deep neural network model.

10. An idle time prediction device for a system, comprising: A monitor is connected to the system and configured to observe the system to obtain n idle durations corresponding to n time points; A processor is connected to the monitor and configured to determine whether the n idle durations follow a normal distribution. If the n idle durations do not follow a normal distribution, a probability is generated based on the m idle durations corresponding to the m idle states among the n idle durations. A predicted idle state is selected based on this probability, and the system is controlled to enter the predicted idle state. Wherein: the m idle states are temporally continuous, with no other idle state between them; the m idle states have an order; the probability is generated based on the m idle states and the order; and n and m are integers greater than one, and m ≤ n.

Citation Information

Patent Citations

  • A performance index abnormity detection method and device

    CN109558295A

  • Resource allocation method, device and equipment

    CN114840342A

  • Runtime task scheduling using imitation learning for heterogeneous many-core systems

    TW202236141A

  • System and method for controlling processor low power states

    US20080028240A1

  • Idle Phase Prediction For Integrated Circuits

    US20140181553A1