Method and apparatus for allocating dynamic frequency for guaranteeing application performance of electronic device
Patent Information
- Application Number
- KR1020230030687
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-03-08
- Publication Date
- 2026-09-02
- Estimated Expiration
- Not applicable · inactive patent
Smart Images

Figure 112023026670291-PAT00001_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to a dynamic frequency allocation method and apparatus for ensuring application performance of an electronic device, and more specifically, to a dynamic frequency allocation method and apparatus for ensuring application performance of an electronic device that considers various environments and output performances for processor modules running in a mobile device and performs optimal power distribution to ensure application performance while reducing energy consumption. Background Technology
[0002] With the advancement of high-performance mobile Application Processors (APs), high-performance applications such as 3D games and AR / VR are gradually emerging. However, mobile devices face a critical problem: heat generation. Heat is generated in proportion to power consumption. Unlike PCs, it is difficult to add heat dissipation structures to mobile devices due to limitations in size and weight. Consequently, continuously running tasks requiring high performance at peak performance causes excessive heat generation. This leads to thermal throttling, which can significantly reduce the Quality of Experience (QoE). To manage heat, existing mobile devices utilize a technology called Dynamic Voltage Frequency Scaling (DVFS).
[0003] DVFS is a technology that dynamically adjusts the Voltage Frequency (VF) at the OS level to guarantee processor performance while reducing energy consumption. However, existing mobile device DVFS technology has the following three limitations.
[0004] First, since dynamic frequency allocation is performed at the OS level, application performance cannot be guaranteed. In other words, it is difficult to determine the optimal processor frequency for the application's target performance. Second, because dynamic frequency allocation for each processor module (CPU, GPU, Memory, etc.) of a mobile device is performed independently, optimal power distribution to guarantee target performance cannot be achieved. Third, due to the nature of mobile devices, the system cannot account for the frequently changing temperature environments. It must be possible to find the optimal frequency that does not degrade the user's perceived performance by reflecting the power consumption limits of the processor caused by external temperature changes.
[0005] Due to the three limitations mentioned above, it is difficult to guarantee sustainable performance of applications with existing DVFS technology. Prior art literature
[0006] Republic of Korea Published Patent No. 10-2022-0113087 The problem to be solved
[0007] Accordingly, the present invention is proposed to solve the problems described above, and aims to provide a dynamic frequency allocation method and apparatus for ensuring application performance of an electronic device, which performs optimal power distribution to guarantee application performance while reducing energy consumption, while considering the environment and output performance of various processor modules operating in the electronic device.
[0008] The objectives of the present invention are not limited to those mentioned above, and other unmentioned objectives will be clearly understood by those skilled in the art from the description below. means of solving the problem
[0009] A dynamic frequency allocation method for ensuring application performance of a mobile device according to an embodiment of the present invention for achieving the above-mentioned purpose may include the steps of: identifying application information running on the mobile device; measuring application performance based on factors determining the performance of the application according to the application information; collecting environmental information related to the mobile device; and allocating a clock frequency to at least one processor module mounted on the mobile device in consideration of the application performance and the environmental information.
[0010] A dynamic frequency allocation device for ensuring application performance of a mobile device according to another aspect of the present invention comprises a memory unit that stores information about a previously learned frequency allocation system, a communication unit that transmits and receives information with an external device, and a control unit that controls the memory and the transceiver. The control unit identifies application information running on the mobile device, measures application performance based on factors determining the performance of the application according to the identified application information, collects environmental information related to the mobile device, and can allocate a clock frequency to at least one processor module mounted on the mobile device by considering the application performance and the environmental information.
[0011] A computer-readable recording medium according to another aspect of the present invention is a computer-readable recording medium storing a computer program, wherein the computer program, when executed by a processor, may include instructions for the processor to perform the steps of: identifying application information running on the mobile device; measuring application performance based on factors determining the performance of the application according to the application information; collecting environment information related to the mobile device; and allocating a clock frequency to at least one processor module mounted on the mobile device in consideration of the application performance and the environment information. Effects of the invention
[0012] According to the dynamic frequency allocation method and apparatus for ensuring application performance of an electronic device according to an embodiment of the present invention, optimal power distribution can be performed to ensure application performance while reducing energy consumption by considering the environment and output performance of various processor modules running in the electronic device.
[0013] The effects of the present invention are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art from the description below. Brief explanation of the drawing
[0014] FIG. 1 is a flowchart illustrating a dynamic frequency allocation method for ensuring application performance of a mobile device according to an embodiment of the present invention. FIG. 2 is a block diagram illustrating the configuration of a dynamic frequency allocation device for ensuring application performance of a mobile device according to an embodiment of the present invention. FIG. 3 is a conceptual diagram illustrating a dynamic frequency allocation process for ensuring application performance of a mobile device according to an embodiment of the present invention. FIG. 4 is a series of conceptual diagrams regarding the learning of a frequency allocation system according to one embodiment of the present invention. Specific details for implementing the invention
[0015] The objectives and effects of the present invention, and the technical configurations for achieving them, will become clear by referring to the embodiments described in detail below in conjunction with the accompanying drawings. In describing the present invention, if it is determined that a detailed description of known functions or configurations may unnecessarily obscure the essence of the invention, such detailed description will be omitted. Furthermore, the terms described below are defined considering the structure, role, and function, etc., in the present invention, and these may vary depending on the intentions or conventions of the user or operator.
[0016] However, the present invention is not limited to the embodiments disclosed below but may be implemented in various different forms. These embodiments are provided merely to ensure that the disclosure of the present invention is complete and to fully inform those skilled in the art of the scope of the invention, and the present invention is defined solely by the scope of the claims set forth in the patent claims. Therefore, such definition must be based on the content throughout this specification.
[0017] Throughout the specification, when a part is described as "including" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.
[0018] Generally, processor performance and power consumption are inversely proportional. Increasing the processor's voltage frequency (VF) level improves performance but increases power consumption; conversely, lowering the VF level reduces performance but decreases power consumption, thereby improving energy efficiency.
[0019] Conventional DVFS in mobile devices primarily adjusted the VF level based on processor usage.
[0020] In other words, if the processor utilization is high, it means that the processor currently has a lot of work to handle; therefore, energy efficiency was improved by increasing the processor's VF level to process tasks quickly with high performance.
[0021] Conversely, if processor utilization is low, the VF level is lowered to reduce power consumption and thereby decrease overall energy consumption. Such conventional DVFS operated independently for each processor module (CPU, GPU, MEMORY).
[0022] Conventional DVFS technology based on processor utilization has three problems. First, since DVFS is performed at the OS level, it cannot guarantee application performance. Because application performance cannot be directly assessed at the OS level and can only be determined indirectly through factors such as processor utilization, it is difficult to identify the frequency that ensures optimal power consumption while guaranteeing application performance.
[0023] Second, because DVFS operates independently for each processor module, it failed to perform optimal power distribution to guarantee target performance. It was unable to achieve optimal power distribution across multiple processor modules to ensure application performance within a limited power parameter range.
[0024] For example, it is difficult to know exactly how much CPU and GPU clock frequency is required to run a 4K video streaming service at 30 FPS.
[0025] Third, it failed to reflect the frequently changing temperature environments inherent to mobile devices. It was impossible to find the optimal frequency that does not degrade the user's perceived performance by reflecting the processor's power consumption limits caused by external temperature changes based on the device's indoor or outdoor location or the season.
[0026] Due to the three limitations mentioned above, it is difficult to achieve optimal power distribution with conventional DVFS technology, which leads to phenomena such as thermal throttling and makes it difficult to guarantee sustainable performance of applications.
[0027] To solve such problems, one embodiment of the present invention discloses a general-purpose application performance monitoring interface capable of monitoring the performance of an application, and a general-purpose DVFS technology capable of adaptively distributing power to each processor module according to environmental conditions including external temperature based thereon.
[0029] Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the attached drawings.
[0030] FIG. 1 is a flowchart illustrating a dynamic frequency allocation method for ensuring application performance of a mobile device according to an embodiment of the present invention.
[0031] Referring to FIG. 1, first, the mobile device can identify information about an application running on the mobile device (S110). Here, the information about the application running on the mobile device may, for example, be information about an application running on the mobile device. In one embodiment, the application information may include information about the type of application, the function of the application, etc.
[0032] Mobile devices may be, for example, smartphones, laptops, desktops, tablet PCs, wearable devices, etc. The application information in operation may be, for example, information regarding 3D games, video playback, website execution, etc., and may be information regarding applications.
[0034] Next, the application performance can be measured based on factors determining the application's performance according to the application information identified as running on the mobile device (S120).
[0035] In one embodiment, application performance can be analyzed based on factors that determine the perceived performance of the application.
[0036] In one embodiment, depending on the type of application corresponding to the application, at least one of the frame rate, frame rendering time, and web page rendering time can be measured as application performance.
[0037] For example, if the application is a 3D game, the frame rate can be measured as application performance.
[0038] In addition, when multiple applications are running simultaneously on a mobile device, the application performance corresponding to each application can be measured by distinguishing it according to the application. For example, application performance information for each application can be collected in the form of first application performance for the first app and second application performance for the second app.
[0040] According to one embodiment, the application measurement in step S120 and the environmental information collection in step S130 are not necessarily sequential and may be performed simultaneously.
[0042] Next, environmental information related to the mobile device can be collected (S130). In one embodiment, as environmental information, information regarding at least one of the location of the mobile device, the external temperature of the mobile device, the communication signal strength of the mobile device, and the remaining battery level of the mobile device can be collected.
[0044] Next, clock frequencies can be allocated to each processor module mounted on the mobile device by taking into account application performance and environmental information (S140).
[0045] To this end, as an example, the clock frequency allocation for each processor module can be determined based on a pre-learned frequency allocation system using the previously allocated clock frequency for each processor module, the internal temperature of the mobile device, the power of each processor, application performance, and environmental information.
[0046] Here, the processor module may include at least one of a CPU (Central Processing Unit), GPU (Graphic Processing Unit), NPU (Neural Processing Unit), ISP (Image Signal Processor), and memory, and may include all hardware to which a clock frequency can be assigned.
[0047] In one embodiment, the frequency allocation module operates using reinforcement learning based on a Deep Q-Network (DQN) to determine the clock frequency allocation for each processor module. Here, the state, action, and reward of each processor module can be considered as training data.
[0048] The state includes the clock frequency of each processor module, the temperature of the mobile device, and application performance.
[0049] The frequency allocation module infers an action based on the current state and allocates clock frequencies to each processor module. Then, it monitors the changing temperature, power, and application performance of each processor module to calculate a reward, and retrains the DQN based on this.
[0050] Here, based on the monitoring information, positive compensation can be granted as the state corresponding to the clock frequency allocation action performed immediately prior to the monitoring information achieves the goal—that is, as high application performance, low power of the processor module, and low temperature of the processor module are achieved. Conversely, negative compensation can be granted as the state corresponding to the clock frequency allocation action approaches low application performance, high power of the processor module, and high temperature of the processor module.
[0051] In this case, since the processor's temperature and power are affected not only by the allocated clock frequency but also by real-time changing environmental conditions, the DQN model can be adaptively trained to environmental conditions by a compensation function designed to take environmental conditions into greater consideration.
[0052] Here, environmental conditions may include at least one of the location of the mobile device, the external temperature of the mobile device, the communication signal strength of the mobile device, and the remaining battery level of the mobile device.
[0054] In one embodiment, the frequency allocation system communicates with the environment, i.e., each processor module, and given the current state, the frequency allocation system determines a specific action, namely frequency allocation. Then, the allocated frequency is applied to the environment, changing the state to the next state. Based on the state change, the environment presents a predefined reward to the frequency allocation system. Then, the frequency allocation system trains a neural network to suggest the best action for a specific state so that the sum of future rewards is maximized. In the present invention, the environment is implemented through the execution of each processor module of a mobile device.
[0056] FIG. 2 is a block diagram illustrating the configuration of a dynamic frequency allocation device for ensuring application performance of a mobile device according to an embodiment of the present invention, FIG. 3 is a conceptual diagram for explaining a dynamic frequency allocation process for ensuring application performance of a mobile device according to an embodiment of the present invention, and FIG. 4 and FIG. 5 are a series of conceptual diagrams showing the learning process of a frequency allocation system according to an embodiment of the present invention.
[0057] Referring to FIG. 2, a dynamic frequency allocation device (100) for ensuring application performance of a mobile device according to one embodiment of the present invention may include a memory (110), a communication unit (130), and a control unit (150).
[0058] The dynamic frequency allocation device (100) according to an embodiment of the present invention may be mounted inside a mobile device or provided in a form independent of the mobile device to transmit and receive information with the mobile device, but is not limited thereto.
[0059] The memory (110) can store information about the previously learned frequency allocation system.
[0060] The communication unit (130) can transmit and receive information with an external device.
[0061] The control unit (150) can consider various environments and output performances for processor modules running on a mobile device and perform optimal power distribution to ensure application performance while reducing energy consumption.
[0062] To do this, first, the control unit (150) can identify application information running on the mobile device.
[0063] In one embodiment, the control unit (150) can identify at least one of the type and function of an application running on a mobile device. Such information can be obtained from the kernel, associated processor, etc. of the mobile device.
[0064] And, the control unit (150) can measure the application performance based on factors that determine the performance of the application according to the application information identified earlier.
[0065] In one embodiment, the control unit (150) may measure at least one of a frame rate, a frame rendering time, and a web page rendering time according to the type of application to which the application corresponds, in order to measure application performance.
[0066] For example, the control unit (150) can measure the frame rate as an application performance when the application is a 3D game. When the application is of a different type, the frame rendering time or web page rendering time can be measured as an application performance.
[0067] And, the control unit (150) can collect environmental information related to the mobile device.
[0068] In one embodiment, the control unit (150) can collect at least one of the location of the mobile device, the external temperature of the mobile device, the communication signal strength of the mobile device, and the remaining battery level of the mobile device as environmental information.
[0069] In one embodiment, the control unit (150) can obtain location information of the mobile device using at least one of a GPS, a gyroscope sensor, a Hall sensor, an accelerometer sensor, and a camera sensor mounted on the mobile device.
[0071] And, the control unit (150) can allocate a clock frequency to at least one processor module mounted on a mobile device by taking into account application performance and environmental information.
[0072] Specifically, the control unit (150) can determine the clock frequency for each processor module based on a previously learned frequency allocation system by using the previously assigned clock frequency for each processor module, the temperature of each processor module, the power of each processor module, application performance, and environmental information.
[0073] Here, each processor module may be equipped with a temperature measuring device for temperature measurement.
[0074] For example, if each processor module is provided as a single chip in the form of a System on Chip (SoC), a temperature measuring device may be provided to measure the temperature generated by the chip. Alternatively, if each processor module is provided as a separate chip, a temperature measuring device may be provided to measure the temperature of each chip. The control unit (150) may collect temperature information measured by the temperature measuring device.
[0076] Meanwhile, the control unit (150) can reinforce the frequency allocation system based on a Deep Q-Network (DQN) as shown in FIG. 4.
[0077] In one embodiment, the frequency allocation system operates using reinforcement learning based on a Deep Q-Network (DQN) to determine the clock frequency allocation for each processor module (CPU, GPU, Memory). Hereinafter, the state, action, and reward can be referred to as the training data of the frequency allocation system.
[0078] The state includes the clock frequency, temperature, and application performance of each processor module, and further includes environmental conditions affecting the mobile device, such as the location of the mobile device, the external temperature of the mobile device, the communication signal strength of the mobile device, and the remaining battery level of the mobile device.
[0079] In particular, since the temperature and power of the processor module are affected not only by the clock frequency but also by real-time changing environmental conditions, the environmental conditions of the mobile device are further considered as a state factor.
[0080] The frequency allocation system infers an action based on the current state and allocates clock frequencies to each processor module. Next, it monitors the changing temperature, power, and application performance of each processor module, calculates a reward based on the monitoring results, and retrains the DQN based on the training data obtained through this process.
[0081] In one embodiment, the frequency allocation system may grant a positive reward based on monitoring information as the state corresponding to the clock frequency allocation action performed immediately prior achieves the goal, that is, as high application performance, low power of the processor module, and low temperature of the processor module are achieved.
[0082] Conversely, negative compensation can be applied as the state corresponding to the clock frequency allocation operation approaches low application performance, high power of the processor module, and high temperature of the processor module.
[0084] In one embodiment, referring to FIGS. 4 and 5, a frequency allocation system communicates with a mobile device, and given a current state, determines a specific action, namely frequency allocation (Take action a(t)).
[0085] And, when the allocated frequency is executed in the operating system of a mobile device including the CPU, GPU, memory, etc., the frequency allocation system observes a state change (Observe state s(t+1)) and collects information on the observed state change (Collect sample s(t), r(t)).
[0086] Then, the neural network is trained to suggest the best action for a specific state so that the sum of future rewards is maximized (Random batch training).
[0088] The aforementioned dynamic frequency allocation device may be implemented by a computing device comprising at least some of a processor, memory, a user input device, and a presentation device. Memory is a medium for storing computer-readable software, applications, program modules, routines, instructions, and / or data, etc., which are coded to perform specific tasks when executed by a processor. The processor may read and execute computer-readable software, applications, program modules, routines, instructions, and / or data, etc., stored in memory.
[0089] A user input device may be a means for a user to input commands to the processor to execute a specific task or to input data necessary for the execution of a specific task. The user input device may include a physical or virtual keyboard or keypad, key buttons, a mouse, a joystick, a trackball, a touch-sensitive input means, or a microphone, etc. A presentation device may include a display, a printer, a speaker, or a vibration device, etc.
[0090] A computing device may include various devices such as smartphones, tablets, laptops, desktops, servers, and clients. A computing device may be a single stand-alone device, or it may include multiple computing devices operating in a distributed environment composed of multiple computing devices that cooperate with each other through a communication network.
[0091] In addition, the aforementioned dynamic frequency allocation method may be executed by a computing device having a processor and a memory storing computer-readable software, an application, a program module, a routine, an instruction, and / or a data structure, etc., coded to perform a frequency allocation method utilizing a frequency allocation system when executed by the processor.
[0092] The embodiments described above may be implemented through various means. For example, the embodiments may be implemented by hardware, firmware, software, or a combination thereof.
[0093] In the case of implementation by hardware, the frequency allocation method utilizing the frequency allocation system according to the embodiments may be implemented by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, or microprocessors.
[0094] For example, the dynamic frequency allocation method according to the embodiments can be implemented using an artificial intelligence semiconductor device in which neurons and synapses of a deep neural network are implemented using semiconductor devices. In this case, the semiconductor devices may be currently used semiconductor devices, such as SRAM, DRAM, or NAND, or next-generation semiconductor devices, such as RRAM, STT MRAM, or PRAM, or a combination thereof.
[0095] When implementing the dynamic frequency allocation method according to the embodiments using an artificial intelligence semiconductor device, the result (weight) of learning the frequency allocation system as software may be transferred to a synapse mimicking device arranged in an array, or the learning may be performed on the artificial intelligence semiconductor device.
[0096] In the case of implementation by firmware or software, the dynamic frequency allocation method according to the embodiments may be implemented in the form of a device, procedure, or function that performs the functions or operations described above. The software code may be stored in a memory unit and executed by a processor. The memory unit may be located inside or outside the processor and may exchange data with the processor by various means already known.
[0097] Additionally, terms such as "system," "processor," "controller," "component," "module," "interface," "model," or "unit" described above may generally refer to computer-related entities, hardware, combinations of hardware and software, software, or running software. For example, the aforementioned components may be, but are not limited to, processes driven by a processor, processors, controllers, control processors, objects, execution threads, programs, and / or computers. For example, both the application running on the controller or processor and the controller or processor may be components. One or more components may reside within a process and / or execution thread, and the components may be located on a single device (e.g., a system, a computing device, etc.) or distributed across two or more devices.
[0098] Meanwhile, another embodiment provides a computer program stored on a computer recording medium that performs the aforementioned dynamic frequency allocation method. Additionally, another embodiment provides a computer-readable recording medium that records a program for realizing the aforementioned dynamic frequency allocation method.
[0099] A program recorded on a recording medium can execute the aforementioned steps by being read, installed, and executed on a computer. In this way, in order for a computer to read a program recorded on a recording medium and execute functions implemented by the program, the program may include code encoded in a computer language such as C, C++, JAVA, or machine language, which can be read by the computer's processor (CPU) through the computer's device interface.
[0100] Such code may include functional code related to functions that define the aforementioned functions, and may also include control code related to execution procedures necessary for a computer processor to execute the aforementioned functions according to a predetermined procedure.
[0101] In addition, this code may further include memory reference-related code regarding where (address) in the computer's internal or external memory additional information or media required for the computer's processor to execute the aforementioned functions should be referenced.
[0102] In addition, if the computer processor needs to communicate with any other computer or server located remotely in order to execute the aforementioned functions, the code may further include communication-related code regarding how the computer processor should communicate with any other computer or server located remotely using the computer's communication module, and what information or media should be transmitted or received during communication.
[0103] Computer-readable recording media that record programs as described above include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical media storage device, etc.
[0104] In addition, computer-readable recording media are distributed across networked computer systems, allowing computer-readable code to be stored and executed in a distributed manner.
[0105] Furthermore, the functional program for implementing the present invention, and the related code and code segments, etc., may be easily inferred or modified by programmers skilled in the art to which the present invention belongs, taking into account the system environment of a computer that reads a recording medium and executes the program.
[0106] The dynamic frequency allocation method may also be implemented in the form of a recording medium containing computer-executable instructions, such as applications or program modules executed by a computer. A computer-readable medium may be any available medium accessible by a computer and includes both volatile and non-volatile media, as well as removable and inremovable media. Additionally, a computer-readable medium may include all computer storage media. Computer storage media include both volatile and non-volatile, removable and inremovable media implemented by any method or technique for storing information, such as computer-readable instructions, data structures, program modules, or other data.
[0107] The aforementioned dynamic frequency allocation method may be executed by an application installed by default on a terminal (which may include a program included in a platform or operating system installed by default on the terminal), or by an application (i.e., a program) directly installed by a user on a master terminal through an application provider server, such as an application store server, an application, or a web server related to the service. In this sense, the aforementioned dynamic frequency allocation method may be implemented as an application (i.e., a program) that is installed by default on the terminal or directly installed by a user, and may be recorded on a computer-readable recording medium such as the terminal.
[0108] Specific embodiments of the present invention have been described above. However, those skilled in the art will understand that the spirit and scope of the present invention are not limited to these specific embodiments, and that various modifications and variations are possible within the scope of not altering the essence of the invention.
[0109] Accordingly, the embodiments described above are provided to fully inform those skilled in the art of the scope of the invention and should be understood as illustrative in all respects and not restrictive, and the invention is defined only by the scope of the claims.
Claims
Claim 1 A dynamic frequency allocation method for ensuring application performance of a mobile device comprises: a step of identifying application information including types and functions of a plurality of applications running on the mobile device; a step of measuring the application performance of each of the applications based on factors determining the performance of each of the applications according to the application information; and a step of collecting environmental information including location, external temperature, communication signal strength, and remaining battery level associated with the mobile device. The method includes a step of allocating a clock frequency to each of a plurality of processor modules, including a CPU (Central Processing Unit), GPU (Graphic Processing Unit), NPU (Neural Processing Unit), ISP (Image Signal Processor), and memory, mounted on the mobile device, by considering the application performance of each of the applications and the environment information. The step of identifying the application information involves identifying the application information by individually measuring the application performance corresponding to each of the applications by selecting at least one of a frame rate, frame rendering, and web page rendering time according to the type of each of the applications when the plurality of applications are running simultaneously on the mobile device. The step of allocating the clock frequency involves dynamically determining the clock frequency for each of the plurality of processor modules by comprehensively considering the environment information to ensure the application performance of each of the plurality of applications while ensuring power distribution to reduce the overall energy consumption of the mobile device. The clock frequency for each of the plurality of processor modules is determined based on a pre-learned frequency allocation system using the previously allocated clock frequency for each of the plurality of processor modules, the temperature of each of the plurality of processor modules, the power of each of the plurality of processor modules, the application performance of each of the plurality of applications, and the environment information.The step of allocating the clock frequency further includes a step of reinforcing the frequency allocation system based on a Deep Q-Network (DQN), wherein the reinforcement learning step comprises a step of inferring an action based on a current state to allocate a clock frequency to each of the plurality of processor modules, wherein the state includes the clock frequency of each of the plurality of processor modules, the temperature of each of the plurality of processor modules, the power of each of the plurality of processor modules, the application performance of each of the plurality of applications, and the environment information; a step of calculating a reward by monitoring the temperature of each of the plurality of processor modules, the power of each of the plurality of processor modules, and the application performance of each of the plurality of applications that change according to the allocated clock frequency; and a step of retraining the frequency allocation system based on a reward function that considers the reward and the environment information, wherein the step of calculating the reward grants a positive reward as each of the plurality of applications achieves high application performance, each of the plurality of processor modules achieves low power, and each of the plurality of processor modules achieves low temperature for the clock frequency allocation operation performed immediately prior, a dynamic frequency allocation method for guaranteeing application performance of a mobile device. Claim 2 delete Claim 3 delete Claim 4 delete Claim 5 delete Claim 6 delete Claim 7 A dynamic frequency allocation method for ensuring application performance of a mobile device, wherein the location information of the mobile device is obtained using at least one of a GPS, a gyroscope sensor, a Hall sensor, an accelerometer sensor, and a camera sensor mounted on the mobile device. Claim 8 delete Claim 9 delete Claim 10 The system includes a memory unit that stores information about a previously learned frequency allocation system; a communication unit that transmits and receives information with an external device; and a control unit that controls the memory unit and the communication unit. The control unit identifies application information including types and functions of multiple applications running on a mobile device, measures the performance of each application based on factors determining the performance of each application according to the identified application information, collects environmental information including location, external temperature, communication signal strength, and remaining battery level related to the mobile device, and allocates a clock frequency to each of a plurality of processor modules including a CPU (Central Processing Unit), GPU (Graphic Processing Unit), NPU (Neural Processing Unit), ISP (Image Signal Processor), and memory mounted on the mobile device, taking into account the application performance of each application and the environmental information. In identifying the application information, if the multiple applications are running simultaneously on the mobile device, the control unit selects at least one of a frame rate, frame rendering, and web page rendering time according to the type of each application, and individually measures the application performance corresponding to each application to identify the application information. In allocating the clock frequency, the control unit A clock frequency for each of the plurality of processor modules is dynamically determined by comprehensively considering the environmental information to ensure application performance for each of the plurality of applications while reducing the total energy consumption of the mobile device, wherein the clock frequency previously assigned to each of the plurality of processor modules, the temperature of each of the plurality of processor modules, the power of each of the plurality of processor modules, the application performance of each of the plurality of applications, and the environmental information are utilized.A dynamic frequency allocation device for guaranteeing application performance of a mobile device, wherein a clock frequency for each of the plurality of processor modules is determined based on a previously learned frequency allocation system, and the frequency allocation system is reinforced learning based on a Deep Q-Network (DQN). The reinforcement learning infers an action based on a current state to allocate the clock frequency to each of the plurality of processor modules, and calculates a reward by monitoring the temperature of each of the plurality of processor modules, the power of each of the plurality of processor modules, and the application performance of each of the plurality of applications that change according to the allocated clock frequency, and the frequency allocation system is retrained based on a reward function that considers the reward and the environmental information. The state includes the clock frequency of each of the plurality of processor modules, the temperature of each of the plurality of processor modules, the power of each of the plurality of processor modules, the application performance of each of the plurality of applications, and the environmental information. In calculating the reward, the control unit grants a positive reward as each of the plurality of applications achieves high application performance, each of the plurality of processor modules achieves low power, and each of the plurality of processor modules achieves low temperature for the clock frequency allocation operation performed immediately prior. Claim 11 delete Claim 12 delete Claim 13 delete Claim 14 delete Claim 15 delete Claim 16 A dynamic frequency allocation device for ensuring application performance of a mobile device, wherein the location information of the mobile device is obtained using at least one of a GPS, a gyroscope sensor, a Hall sensor, an accelerometer sensor, and a camera sensor mounted on the mobile device. Claim 17 delete Claim 18 delete Claim 19 A computer-readable recording medium storing a computer program, wherein the computer program, when executed by a processor, comprises the steps of: identifying application information including types and functions for a plurality of applications running on a mobile device; measuring the application performance of each application based on factors determining the performance of each application according to the application information; and collecting environmental information including location, external temperature, communication signal strength, and remaining battery level associated with the mobile device. The invention includes instructions for the processor to perform the step of allocating a clock frequency to each of a plurality of processor modules, including a CPU (Central Processing Unit), GPU (Graphic Processing Unit), NPU (Neural Processing Unit), ISP (Image Signal Processor), and memory, mounted on the mobile device, by considering the application performance of each of the above applications and the environment information, wherein the step of identifying the application information is to identify the application information by individually measuring the application performance corresponding to each of the applications by selecting at least one of the frame rate, frame rendering, and web page rendering time according to the type of each of the applications when the plurality of applications are running simultaneously on the mobile device, and the step of allocating the clock frequency is to dynamically determine the clock frequency for each of the plurality of processor modules by comprehensively considering the environment information so that power distribution is performed to reduce the overall energy consumption of the mobile device while guaranteeing the application performance of each of the plurality of applications, using the previously allocated clock frequency for each of the plurality of processor modules, the temperature of each of the plurality of processor modules, the power of each of the plurality of processor modules, the application performance of each of the plurality of applications, and the environment information.A clock frequency for each of the plurality of processor modules is determined based on a previously learned frequency allocation system, and the computer program further includes instructions for the processor to perform a step of reinforcement learning the frequency allocation system based on a Deep Q-Network (DQN) in the step of allocating the clock frequency, wherein the reinforcement learning infers an action based on a current state to allocate the clock frequency to each of the plurality of processor modules, calculates a reward by monitoring the temperature of each of the plurality of processor modules, the power of each of the plurality of processor modules, and the application performance of each of the plurality of applications that change according to the allocated clock frequency, and retrains the frequency allocation system based on a reward function that considers the reward and the environmental information, wherein the state includes the clock frequency of each of the plurality of processor modules, the temperature of each of the plurality of processor modules, the power of each of the plurality of processor modules, and the application performance of each of the plurality of applications, and the step of calculating the reward grants a positive reward as each of the plurality of applications achieves high application performance, each of the plurality of processor modules achieves low power, and each of the plurality of processor modules achieves low temperature for the clock frequency allocation operation performed immediately prior, which is computer-readable. Recording media.
Citation Information
Patent Citations
Method for executing application using clock speed of processor selected by external temperature and electronic device performing the method
KR1020200017260A
Integrated circuit and computing system performing dynamic voltage and frequency scaling and operation method of integrated circuit
KR1020220113087A
Controlling power consumption
US20170031416A1