# US 10,481,669 B2 · CPU control method and apparatus for improving application processing speed and power consumption

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,481,669 B2
- Document ID: US10481669B2
- Status: Granted
- Kind: B2
- Application number: 14/863,039
- Filed: 2015-09-23
- Published: 2016-03-24
- Granted: 2019-11-19
- Earliest claimed: 2014-09-24
- Assignees: Industry-Academic Cooperation Foundation, Yonsei University
- Applicants: Industry-Academic Cooperation Foundation, Yonsei University
- Inventors: Jong Moon Chung; Sung Woong Jo; Tae Young Ha; Tae Hyun Kyong
- Web page: https://patentgrep.com/patent/US10481669B2

## CPC

- G06F 1/3228: Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
- G06F 1/324: by lowering clock frequency
- G06F 11/3419: {by assessing time}
- G06F 2201/81: Threshold
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A CPU control method and apparatus for improving application processing speed and power consumption are provided. An embodiment of the invention provides a method by which a CPU control apparatus controls a CPU, where the CPU control method includes: (a) measuring a reaction time of a user terminal for a running application; (b) computing a first predictive reaction time by stepwise changing a CPU frequency if the reaction time exceeds a preset threshold; (c) computing a second predictive reaction time by stepwise changing a processing weight of the application if the first predictive reaction time exceeds the preset threshold; and (d) repeating said step (c) if the second predictive reaction time exceeds the preset threshold.

## Claims

### Claim 1

A method of controlling a CPU, the method performed by a CPU control apparatus, the method comprising:
(a) measuring a reaction time of a user terminal for a running application;
(b) computing a first reaction time by stepwise changing a CPU frequency if the reaction time exceeds a preset threshold;
(c) computing a second reaction time by stepwise changing a processing weight of the application if the first reaction time exceeds the preset threshold; and
(d) repeating said step (c) if the second reaction time exceeds the preset threshold,
(e) adjusting the CPU frequency and the processing weight of the application based on the changed CPU frequency and the changed processing weight that correspond to the second reaction time that does not exceed the preset threshold,
wherein the step (a) computes the reaction time of the user terminal by the following equation,
TR(fx,n*y)=TR(fCPU,n*)+ΔR
wherein the step (b) and step (c) compute change of the first reaction time and the second reaction time by the following equation in order to compute the first reaction time and the second reaction time,
Δ
R
=
T
S
⁡
(
f
x
)
⁢
w
n
*
y
+
∑
∀
i
∈
S
⁢
w
n
i
w
n
*
y
-
T
S
⁡
(
f
CPU
)
⁢
w
n
*
+
∑
∀
i
∈
S
⁢
w
n
i
w
n
*
TR(fx, n*y) represents a predictive reaction time, TR (fCPU, n*) represents a reaction time measured by a reaction time measurement part, fcpu is the value of the current CPU frequency, fx represents the value to which the CPU frequency will be changed, wi represents the value of the processing weight of application i, w* represents the value of the processing weight of the target application, and w*y represents the value to which the processing weight of the target application will be changed, Ts is a service time of the running application, S represents the set of tasks being processed by the CPU, excluding the target application, and ΔR represents change of the first reaction or the second reaction time.

### Claim 2 (depends on 1)

The method of claim 1, wherein the changed CPU frequency is set as a current CPU frequency if the first reaction time is smaller than or equal to the preset threshold, and
the changed processing weight is set as a current processing weight if the second reaction time is smaller than or equal to the preset threshold.

### Claim 3 (depends on 1)

The method of claim 1, wherein said step (b) comprises:
setting a current CPU frequency to a maximum frequency and initializing the processing weight if the reaction exceeds the preset threshold; and
computing the first reaction time based on a frequency that is lowered one step from the maximum frequency and the initialized processing weight, if the current CPU frequency is not a minimum frequency, for a plurality of CPU frequency steps.

### Claim 4 (depends on 3)

The method of claim 3, wherein said step (c) comprises:
computing the second reaction time based on a processing weight that is lowered one step from the initialized processing weight and the one-step lowered frequency, if a current processing weight is not a minimum processing weight, for a plurality of CPU frequency steps.

### Claim 5 (depends on 2)

The method of claim 2, wherein said step (a) comprises:
measuring the reaction time of the user terminal based on the current CPU frequency of the user terminal and the current processing weight of the application.

### Claim 6 (depends on 1)

The method of claim 1, wherein said step (a) comprises:
measuring the reaction time of the user terminal based on a time value during which the application received processing by the CPU in a user mode and a kernel mode since a first operation of the application in an operation system kernel.

### Claim 7

A CPU control apparatus for controlling a CPU, the CPU control apparatus comprising:
a processor; and
a memory storing one or more programs configures to be executed by the processor, the one or more programs comprising instructions for:
(a) measuring a reaction time of a user terminal for a running application;
(b) computing a first reaction time by stepwise changing a CPU frequency if the reaction time exceeds a preset threshold;
(c) computing a second reaction time by stepwise changing a processing weight of the application if the first reaction time exceeds the preset threshold; and
(d) repeating said step (c) if the second reaction time exceeds the preset threshold,
(e) adjusting the CPU frequency and the processing weight of the application based on the changed CPU frequency and the changed processing weight that correspond to the second reaction time that does not exceed the preset threshold,
wherein the step (a) computes the reaction time of the user terminal by the following equation,
TR(fx, n*y)=TR(fCPU, n*)+ΔR
wherein the step (b) and step (c) compute change of the first reaction time and the second reaction time by the following equation in order to compute the first reaction time and the second reaction time,
Δ
R
=
T
S
⁡
(
f
x
)
⁢
w
n
*
y
+
∑
∀
i
∈
S
⁢
w
n
i
w
n
*
y
-
T
S
⁡
(
f
CPU
)
⁢
w
n
*
+
∑
∀
i
∈
S
⁢
w
n
i
w
n
*
TR (fx, n*y) represents a predictive reaction time, TR (fCPU, n*) represents a reaction time measured by a reaction time measurement part, fcpu is the value of the current CPU frequency, fx represents the value to which the CPU frequency will be changed, wi represents the value of the processing weight of application i, w* represents the value of the processing weight of the target application, and w*y represents the value to which the processing weight of the target application will be changed, Ts is a service time of the running application, S represents the set of tasks being processed by the CPU, excluding the target application, and ΔR represents change of the first reaction or the second reaction time.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the changed CPU frequency is set as a current CPU frequency if the first reaction time is smaller than or equal to the preset threshold, and
the changed processing weight is set as a current processing weight if the second reaction time is smaller than or equal to the preset threshold.

### Claim 9 (depends on 7)

The apparatus of claim 7, wherein said step (b) comprises:
setting a current CPU frequency to a maximum frequency and initializing the processing weight if the reaction exceeds the preset threshold; and
computing the first reaction time based on a frequency that is lowered one step from the maximum frequency and the initialized processing weight, if the current CPU frequency is not a minimum frequency, for a plurality of CPU frequency steps.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein step (c) comprises:
computing the second reaction time based on a processing weight that is lowered one step from the initialized processing weight and the one-step lowered frequency, if a current processing weight is not a minimum processing weight, for a plurality of CPU frequency steps.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein said step (a) comprises:
measuring the reaction time of the user terminal based on the current CPU frequency of the user terminal and the current processing weight of the application.

### Claim 12 (depends on 7)

The apparatus of claim 7, wherein said step (a) comprises:
measuring the reaction time of the user terminal based on a time value during which the application received processing by the CPU in a user mode and a kernel mode since a first operation of the application in an operation system kernel.
