KR20190090356A - Machine learning based CPU temperature prediction method and apparatus - Google Patents
Machine learning based CPU temperature prediction method and apparatus Download PDFInfo
- Publication number
- KR20190090356A KR20190090356A KR1020190009024A KR20190009024A KR20190090356A KR 20190090356 A KR20190090356 A KR 20190090356A KR 1020190009024 A KR1020190009024 A KR 1020190009024A KR 20190009024 A KR20190009024 A KR 20190009024A KR 20190090356 A KR20190090356 A KR 20190090356A
- Authority
- KR
- South Korea
- Prior art keywords
- cpu
- temperature
- cooler
- type
- input value
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
Abstract
Description
본 발명은 기계학습 알고리즘 기반 CPU 온도 예측 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for estimating a CPU temperature based on a machine learning algorithm.
최근 반도체 집적 공정 기술의 비약적인 발전으로 크기가 작은 반도체 소자를 개발할 수 있게 되었고, 이에 따라 같은 크기의 CPU에 더 많은 반도체 소자를 집적하는 것이 가능해졌다. 하지만, 많은 소자가 집적될수록 단위 면적 당 전력 소모(Power Density)가 급격하게 증가하며, 이는 CPU 온도 상승으로 이어진다. Recently, the breakthrough of semiconductor integrated process technology has made it possible to develop semiconductor devices of small size, which makes it possible to integrate more semiconductor devices into CPUs of the same size. However, as more devices are integrated, the power density per unit area sharply increases, leading to an increase in the CPU temperature.
높은 온도는 CPU의 일시적인 기능 결함이나 하드웨어의 영구적인 손상 문제를 야기하여 시스템의 가용성에 큰 영향을 미친다. Higher temperatures can cause a transient malfunction of the CPU or permanent damage to the hardware, greatly affecting the availability of the system.
또한, 컴포넌트들의 정적 전력 소모를 증가시켜 CPU 에너지 소모를 비약적으로 증가시킨다. 많은 에너지 소모를 초래하는 발열을 감소시키기 위하여, CPU 동작 속도를 줄여야 하고, 이는 CPU에서 동작하는 어플리케이션들의 성능이 저하되는 문제로 이어진다. 현대 컴퓨터 시스템에서 하드웨어의 일시적/영구적 손상과 CPU 내 어플리케이션의 성능 저하를 초래하는 높은 발열 현상을 관리하기 위해서는 CPU 온도를 정확하게 감지하는 것이 매우 중요하다.It also increases the static power consumption of the components, dramatically increasing CPU energy consumption. In order to reduce the heat that causes a lot of energy consumption, it is necessary to reduce the CPU operation speed, which causes the performance of the applications running on the CPU to deteriorate. Accurate detection of the CPU temperature is critical to managing high heat events that cause temporary and permanent corruption of hardware in modern computer systems and degradation of performance of applications within the CPU.
높은 발열 현상으로 인한 문제들을 방지하기 위해서 현대 컴퓨터 시스템에서는 여러 발열 관리 기술들이 제안되어왔다. 발열 관리 기술들은 일반적으로 온도 감지기(Thermal Sensor)로부터 측정한 온도를 기반으로 CPU의 동작 속도를 조절한다. 하지만, 온도 감지기로부터 측정된 CPU 온도를 기반으로 발열 관리를 하는 것보다, 미래의 CPU 온도를 예측하여 발열 관리를 하는 것이 CPU 내 어플리케이션의 성능 저하를 방지하면서 온도를 일정 수준 이하로 조절하는데 효과적이다. In order to prevent problems due to high heat generation, various heat management techniques have been proposed in modern computer systems. Heat management techniques generally control the operating speed of the CPU based on the temperature measured from a thermal sensor. However, rather than managing the heat based on the CPU temperature measured from the temperature sensor, predicting the future CPU temperature and managing the heat is effective in controlling the temperature below a certain level while preventing the performance degradation in the CPU .
예를 들면, 성능 계수기 (Performance Counter)로부터 읽어 들인 CPU 사용률 (CPU utilization), IPC (Instruction Per Cycle) 등의 CPU 성능 지표를 통해서 CPU 온도를 예측한다면 보다 효과적으로 발열을 관리할 수 있다. For example, if the CPU temperature is predicted through CPU performance indicators such as CPU utilization and instruction per cycle (IPC) read from the performance counter, the heat can be more effectively managed.
하지만, 기존의 온도 예측 기술은 다음과 같은 다양한 환경적 요인이 CPU 온도에 크게 영향을 미친다는 사실을 고려하지 않았다.However, existing temperature prediction techniques did not take into account the fact that various environmental factors such as the following greatly affect CPU temperature.
상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 다양한 환경적 요인을 종합적으로 고려하여 CPU 온도를 정확히 예측할 수 있는 방법 및 장치를 제안하고자 한다. In order to solve the problems of the related art, the present invention proposes a method and an apparatus that can accurately predict the CPU temperature considering various environmental factors comprehensively.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 기계학습 알고리즘을 이용하여 서버 및 데이터 센터의 프로세서의 발열 문제를 해결하기 위한 CPU 온도 예측 장치로서, 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 상기 서버 및 데이터 센터의 CPU 코어의 상태와, 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나를 포함하는 환경 요인을 고려하여 온도 예측 모델을 학습하고, 학습이 완료된 온도 예측 모델에 현재의 CPU 코어의 상태 및 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나에 따른 입력 값을 결정하고, 상기 결정된 입력 값에 의해 상기 온도 예측 모델에서 출력하는 CPU 온도 예측 결과값을 이용하여 상기 서버 및 데이터 센터의 발열을 제어하도록, 상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하는 CPU 온도 예측 장치가 제공된다. According to an aspect of the present invention, there is provided a CPU temperature predicting apparatus for solving a problem of heat generation of a processor of a server and a data center using a machine learning algorithm, the apparatus comprising: a processor; And a memory connected to the processor, wherein the memory stores environmental factors including at least one of a state of a CPU core of the server and a data center, a position of a cooler, a type of a cooler, And determines an input value according to at least one of the current state of the CPU core and the position of the cooler, the kind of the cooler, the type of the case, and the external temperature in the learned temperature prediction model, There is provided a CPU temperature predicting apparatus that stores program instructions executable by the processor to control the heat of the server and the data center using the CPU temperature prediction result output from the temperature prediction model by an input value.
상기 CPU 코어의 상태는 CPU의 전압, 주파수, 사용률, 현재 온도와, on된 코어의 수, 내부 컴포넌트의 사용률 중 적어도 하나를 포함할 수 있다. The state of the CPU core may include at least one of a voltage, a frequency, a usage rate, a current temperature of the CPU, a number of cores turned on, and a usage rate of an internal component.
상기 CPU 코어의 상태에 상응하는 복수의 입력 값들은 상기 CPU의 현재 온도에 따라 서로 다른 가중치가 부여될 수 있다.The plurality of input values corresponding to the state of the CPU core may be assigned different weights according to the current temperature of the CPU.
상기 내부 컴포넌트의 사용률에 상응하는 입력 값은 IPC(Instruction Per Clock) 및 캐시 미스의 수에 상응하는 입력 값을 포함할 수 있다. An input value corresponding to the usage rate of the internal component may include an input value corresponding to an IPC (Instruction Per Clock) and a number of cache misses.
상기 CPU의 현재 온도가 미리 설정된 온도보다 낮은 경우에는 상기 CPU의 전압, 주파수, 사용률 및 on된 코어의 수에 상응하는 제1 입력 값이 상기 내부 컴포넌트의 사용률에 상응하는 제2 입력 값보다 높은 가중치가 부여될 수 있다. When a current temperature of the CPU is lower than a preset temperature, a first input value corresponding to the voltage, frequency, use rate, and number of cores of the CPU is higher than a second input value corresponding to the usage rate of the internal component .
상기 미리 설정된 온도는 50 내지 70℃의 범위 중 하나로 결정될 수 있다. The predetermined temperature may be determined in a range of 50 to 70 캜.
본 발명의 다른 측면에 따르면, 기계학습 알고리즘을 이용하여 서버 및 데이터 센터의 프로세서의 발열 문제를 해결하기 위한 CPU 온도 예측 방법으로서, 상기 서버 및 데이터 센터의 CPU 코어의 상태와, 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나를 포함하는 환경 요인을 고려하여 학습된 온도 예측 모델을 생성하는 단계; 학습이 완료된 온도 예측 모델에 현재의 CPU 코어의 상태 및 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나에 따른 입력 값을 결정하는 단계; 및 기 결정된 입력 값에 의해 상기 온도 예측 모델에서 출력하는 CPU 온도 예측 결과값을 이용하여 상기 서버 및 데이터 센터의 발열을 제어하는 단계를 포함하는 CPU 온도 예측 방법이 제공된다. According to another aspect of the present invention, there is provided a method for predicting a CPU temperature for solving a problem of a heat of a processor of a server and a data center using a machine learning algorithm, the method comprising: determining a state of a CPU core of the server and a data center, Generating a learned temperature prediction model in consideration of an environmental factor including at least one of the type of the case, the type of case, and the external temperature; Determining an input value according to at least one of a state of a current CPU core and a position of a cooler, a type of a cooler, a type of a case, and an external temperature in a learning temperature prediction model; And controlling the heat generation of the server and the data center by using the CPU temperature prediction result value output from the temperature prediction model based on the predetermined input value.
본 발명에 따르면, 기계학습 알고리즘을 이용하여 구축된 온도 예측 모델에 CPU 코어 상태뿐만 아니라 외부 온도와 같은 다양한 환경 요인에 대한 입력 값을 입력하여 CPU 온도를 정확히 예측할 수 있다. According to the present invention, an input value for various environmental factors such as an external temperature as well as a CPU core state can be input to a temperature prediction model built using a machine learning algorithm to accurately predict a CPU temperature.
또한, 현재 CPU 온도 범위에 따라 입력 값들에 대해 서로 다른 가중치를 부여함으로써 CPU 온도 예측 정확도를 높일 수 있는 장점이 있다. In addition, there is an advantage that accuracy of predicting the CPU temperature can be improved by assigning different weights to the input values according to the current CPU temperature range.
도 1은 본 발명의 바람직한 일 실시예에 따른 기계학습 알고리즘을 이용한 CPU 온도 예측 과정을 도시한 도면이다.
도 2는 본 실시예에 따른 기계학습 알고리즘을 CPU 온도 예측 기술에 적용할 때의 노드 연산 예시를 도시한 도면이다.
도 3은 CPU 내부 컴포턴트 사용률과 온도를 나타낸 것이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 CPU 온도 예측 장치의 구성을 도시한 도면이다. 1 is a diagram illustrating a CPU temperature prediction process using a machine learning algorithm according to an embodiment of the present invention.
2 is a diagram showing an example of a node operation when applying the machine learning algorithm according to the present embodiment to a CPU temperature predicting technique.
Figure 3 shows the CPU internal component utilization and temperature.
4 is a diagram illustrating a configuration of a CPU temperature predicting apparatus according to a preferred embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
본 발명은, CPU 코어들의 전력 상태나 사용률, 어플리케이션이 동작하는 코어들의 위치, 쿨러의 위치 및 종류, 케이스의 종류, 외부 온도 등 다양한 환경 요인을 종합적으로 고려하여 정확하게 CPU 온도를 예측한다. The present invention predicts the CPU temperature accurately considering various environmental factors such as the power state and usage rate of the CPU cores, the positions of the cores where the application operates, the location and type of the cooler, the type of case, and the external temperature.
이를 위해, 기계학습 알고리즘 중 하나인 DNN (Deep Neural Network)을 사용하여 다양한 환경 요인 (예를 들어, CPU 코어의 상태(CPU 코어의 사용률, CPI 등)나 사용률, 쿨러의 위치 및 종류 등)과 CPU 온도 사이의 관계를 학습하여 온도 예측 모델을 정립한다. 이후, DNN 기반 온도 예측 모델을 활용하여, 다양한 환경 요인으로부터 CPU 온도를 보다 정확하게 예측하고자 한다.To do this, we use DNN (Deep Neural Network), one of the machine learning algorithms, to analyze various environmental factors (eg, CPU core status (CPU core usage rate, CPI etc.) and utilization rate, The relationship between the CPU temperature is studied and a temperature prediction model is established. We then use DNN-based temperature prediction models to predict CPU temperature more accurately from various environmental factors.
도 1은 본 발명의 바람직한 일 실시예에 따른 기계학습 알고리즘을 이용한 CPU 온도 예측 과정을 도시한 도면이다. 1 is a diagram illustrating a CPU temperature prediction process using a machine learning algorithm according to an embodiment of the present invention.
도 1을 참조하면, 기계학습 알고리즘인 DNN (Deep Neural Network)을 기반으로 CPU 코어의 상태, 쿨러의 위치 및 종류, 케이스의 종류 및 외부 온도를 고려하여 CPU 온도를 예측한다. 고려하는 환경 요인이 입력 값 (Input)으로 들어오면 DNN 내부의 노드들 각각의 가중치와 계산되어, 최종적으로 예측된 CPU 온도를 결과값 (Output)으로 계산한다. 만약 예측된 CPU 온도가 실제 CPU 온도와 같지 않을 경우, 역전파 (Back Propagation) 알고리즘을 통해 노드들의 가중치를 수정한다. Referring to FIG. 1, the CPU temperature is predicted based on the DNN (Deep Neural Network), which is a machine learning algorithm, considering the state of the CPU core, the location and type of the cooler, the type of the case, and the external temperature. When the environment factor to be considered comes in as an input, it is calculated with the weight of each node in the DNN, and the finally estimated CPU temperature is calculated as the output value. If the predicted CPU temperature is not equal to the actual CPU temperature, we modify the weights of the nodes through the Back Propagation algorithm.
다양한 환경 요인과 실제 CPU 온도를 바탕으로, 역전파 알고리즘을 통해 반복적으로 노드들의 가중치를 수정하여 온도 예측 모델을 학습한다. 이후, 충분히 학습된 온도 예측 모델에 특정 환경 요인을 입력 값으로 넣으면 보다 정확하게 예측된 CPU 온도를 결과 값으로 얻는다.Based on the various environmental factors and the actual CPU temperature, the temperature prediction model is learned by repetitively modifying the weights of the nodes through the back propagation algorithm. Then, if a specific environment factor is input as an input value to a sufficiently learned temperature prediction model, a more accurately predicted CPU temperature is obtained as a result value.
표 1은 본 발명의 일 실시예에 따른 DNN (Deep Neural Network)와 같은 기계학습 알고리즘 사용 시 온도 예측 모델을 학습할 때와 추론할 때 사용하는 입력 값 (Input)을 나타낸 것이다. Table 1 shows input values to be used when learning and inferring a temperature prediction model when using a machine learning algorithm such as DNN (Deep Neural Network) according to an embodiment of the present invention.
2. CPU 주파수
3. CPU 사용률
4. 켜져 있는 코어의 수
5. IPC (Instruction Per Cycle)
6. LLC (Last Level Cache) miss의 수
7. 현재 온도1. CPU voltage
2. CPU frequency
3. CPU utilization
4. Number of cores on
5. Instruction Per Cycle (IPC)
6. Number of LLC (Last Level Cache) misses
7. Current temperature
(열을 제일 잘 배출할 경우 10, 제일 못 배출할 경우를 1로 설정)Enter a value between 1 and 10 depending on the degree to which the material exits the heat.
(Set 10 for best heat discharge and 1 for best heat discharge)
성능 계수기 (Performance Counter)로부터 읽은 CPU 코어의 사용량, IPC와 같은 CPU 성능 지표가 높을수록 CPU의 온도가 높아지므로 CPU 성능 지표가 가장 낮을 경우를 1로, 가장 높을 경우를 10으로 설정하여 사이의 값을 일반화하여 입력 값으로 설정한다. Since the CPU temperature becomes higher as the CPU performance index such as the usage amount of the CPU core read from the performance counter is higher, the CPU performance index is set to 1 when the CPU performance index is the lowest, and to 10 when the CPU performance index is the highest, Is generalized and set as an input value.
CPU와 쿨러의 거리가 멀수록 CPU 온도가 높아지므로 CPU와 쿨러 사이의 거리를 입력 값으로 설정한다. As the distance between the CPU and the cooler increases, the CPU temperature increases, so the distance between the CPU and the cooler is set as the input value.
쿨러의 분당 회전수 (RPM, Revolution per minute)가 높을수록 CPU 온도가 낮아지므로 쿨러의 분당 회전수의 역수 값을 입력 값으로 설정한다. The higher the RPM (Revolution per minute) of the cooler, the lower the CPU temperature, so the reciprocal of the cooler's revolutions per minute is set as the input value.
케이스의 재질이 열을 잘 배출할수록 온도가 낮아지므로 재질이 열을 가장 못 배출할 경우를 1로, 가장 잘 배출할 경우를 10으로 설정하여 사이의 값을 일반화하여 입력 값으로 설정한다. 외부 온도가 높을수록 CPU 온도가 비례하여 높아지므로 외부 온도를 입력 값으로 설정한다.Since the temperature of the case becomes lower as the material of the case discharges well, set the value between 1 and 10 as the input value. As the external temperature increases, the CPU temperature increases proportionally, so set the external temperature as the input value.
도 2는 본 실시예에 따른 기계학습 알고리즘을 CPU 온도 예측 기술에 적용할 때의 노드 연산 예시를 도시한 도면이다. 2 is a diagram showing an example of a node operation when applying the machine learning algorithm according to the present embodiment to a CPU temperature predicting technique.
도 2를 참조하면, 노드의 값과 가중치 매트릭스 (Weight Matrix)에 저장되어 있는 값을 곱하여 다음 레이어 (Layer)의 노드로 전달하고, 다음 레이어의 노드에서는 들어온 값들을 더하여 노드 값을 결정한다. 이 과정을 모든 레이어와 노드에서 반복 시행하여, 최종 레이어 (Output Layer)에서 CPU 온도를 결과 값 (Output)으로 계산하게 된다. 여기서, 만약 특정 환경일 때의 실제 CPU 온도 값과 최종적으로 계산된 CPU 온도 값이 같지 않을 경우에는, 역전파 (Back Propagation) 알고리즘을 통해서 노드들의 가중치를 수정한다. Referring to FIG. 2, the value of a node is multiplied by a value stored in a weight matrix, and the node value is determined by adding values received from nodes of a next layer to nodes of a next layer. This process is repeated for all layers and nodes, and the CPU temperature is calculated as the output value in the output layer. Here, if the actual CPU temperature value and the finally calculated CPU temperature value at the specific environment are not the same, the weight of the nodes is corrected through the back propagation algorithm.
본 실시예는 위와 같은 역전파 알고리즘을 통해서 다양한 환경적 요인 입력 값들에 대하여 반복적으로 노드들의 가중치를 수정하는 방법으로 온도 예측 모델을 학습한다. 학습이 충분히 반복될수록, 또 환경적 요인이 다양할수록 보다 정확하게 CPU 온도를 예측하는 모델이 정립될 것이다.The present embodiment learns a temperature prediction model by a method of repetitively modifying weights of nodes on various environmental factor input values through the above-described back propagation algorithm. The more accurately the learning is repeated and the more environmental factors are varied, the more accurately the CPU temperature will be predicted.
본 발명의 바람직한 일 실시예에 따르면, CPU 상태는 CPU 전압, 주파수, 사용률, 온된 코어의 수 및 내부 컴포넌트의 사용률 중 하나를 포함할 수 있다. According to a preferred embodiment of the present invention, the CPU state may include one of a CPU voltage, a frequency, a usage rate, the number of cores that are turned on, and a usage rate of an internal component.
본 실시예에 따르면, CPU 온도 구간에 따라 CPU 온도에 영향을 미치는 요인이 달라지는 점을 확인하여 온도 예측 모델 입력 값에 서로 다른 가중치를 부여한다. According to the present embodiment, it is confirmed that factors affecting the CPU temperature vary according to the CPU temperature interval, and different weight values are given to the temperature prediction model input values.
예를 들어, CPU 온도가 미리 설정된 온도(예를 들어, 60℃)보다 낮은 경우에는 CPU 전력 소모가 증가함에 따라 CPU 온도도 지속적으로 증가한다. 따라서 현재 CPU 온도가 미리 설정된 온도보다 낮은 경우에는 CPU 전력 소모에 영향을 주는 CPU 전압, 주파수, 사용률, 온된 코어의 수에 상응하는 제1 입력 값이 내부 컴포넌트의 사용률에 상응하는 제2 입력 값보다 높은 가중치가 부여된다. For example, when the CPU temperature is lower than a predetermined temperature (for example, 60 DEG C), the CPU temperature continuously increases as the CPU power consumption increases. Therefore, when the current CPU temperature is lower than the predetermined temperature, the first input value corresponding to the CPU voltage, the frequency, the usage rate, and the number of the turned on cores affecting the CPU power consumption is larger than the second input value corresponding to the usage rate of the internal component A high weight is given.
아래 수식에서와 같이, CPU의 전력 소모는 CPU 전압, 주파수, 사용률, 온된 코어의 수에 비례하므로 제1 입력 값에 높은 가중치를 부여한다. As shown in the following equation, the CPU power consumption is proportional to the CPU voltage, frequency, usage rate, and the number of cores that are turned on, and thus gives a high weight to the first input value.
수학식 1은 CPU 동적 전력 소모 관계식이고, A는 CPU utilization에 비례한다. Equation 1 is the CPU dynamic power consumption relationship, and A is proportional to CPU utilization.
수학식 2는 CPU 정적 전력 소모 관계식이고, I는 온된 core의 수에 비례한다. Equation 2 is the CPU static power consumption relationship, and I is proportional to the number of cores that are turned on.
반대로 CPU 온도가 미리 설정된 온도보다 높아지는 경우에는 온도가 일정 수준으로 포화상태가 되고(saturation), 포화상태가 되는 온도 값은 어플리케이션의 CPU 내부 컴포넌트의 사용률에 따라 달라진다. Conversely, when the CPU temperature becomes higher than a predetermined temperature, the temperature becomes saturated to a certain level, and the saturation temperature value depends on the usage rate of the CPU internal components of the application.
따라서, CPU 온도가 미리 설정된 온도보다 높은 경우에는 제1 입력 값에 비해 내부 컴포넌트의 사용률에 상응하는 제2 입력 값에 더 높은 가중치를 부여한다. Accordingly, when the CPU temperature is higher than the predetermined temperature, the second input value corresponding to the usage rate of the internal component is given a higher weight than the first input value.
CPU 내부 컴포넌트의 사용률은 IPC(Instruction Per Clock) 및 캐시 미스의 수(L3 miss) 등의 값으로 유추 가능하다. The utilization rate of CPU internal components can be estimated by values such as IPC (instruction per clock) and cache miss count (L3 miss).
도 3은 CPU 내부 컴포턴트 사용률과 온도를 나타낸 것이다. Figure 3 shows the CPU internal component utilization and temperature.
도 3에 도시된 바와 같이, CPU 내부 컴포넌트 중 계산에 필요한 컴포넌트들의 사용률이 높은 경우, IPC 값이 높으며, 이 경우 온도가 상대적으로 높아진다. As shown in FIG. 3, when the usage rate of the components required for the calculation among the CPU internal components is high, the IPC value is high, and in this case, the temperature becomes relatively high.
반면, CPU 내부 컴포넌트 중 메모리 접근에 필요한 컴포넌트들의 사용률이 높은 경우, 캐시 미스의 수에 해당하는 값이 높으며, 이 경우 온도가 상대적으로 낮아진다. On the other hand, when the usage rate of the components required for memory access among the CPU internal components is high, the value corresponding to the number of cache misses is high, and in this case, the temperature becomes relatively low.
상기에서는 CPU 코어의 상태에 포함된 입력 값들에 가중치를 부여하는 기준 온도가 60℃인 것으로 설명하였으나, 바람직하게 기준 온도는 50 내지 70℃ 범위 중 하나로 결정될 수 있다. In the above description, the reference temperature for weighting the input values included in the state of the CPU core is described as 60 ° C, but the reference temperature may be determined to be one of 50 to 70 ° C.
도 4는 본 발명의 바람직한 일 실시예에 따른 CPU 온도 예측 장치의 구성을 도시한 도면이다. 4 is a diagram illustrating a configuration of a CPU temperature predicting apparatus according to a preferred embodiment of the present invention.
프로세서(400)는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그밖에 가상 머신 등을 포함할 수 있다. The
메모리(402)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(402)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.The
이와 같은 메모리(402)에는 프로세서(400)에 의해 실행 가능한 프로그램 명령어들이 저장된다.
본 발명의 바람직한 일 실시예에 따른 메모리(402)에는 서버 및 데이터 센터의 CPU 코어의 상태와, 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나를 포함하는 환경 요인을 고려하여 학습된 온도 예측 모델을 생성하고, 학습이 완료된 온도 예측 모델에 현재의 CPU 코어의 상태 및 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나에 따른 입력 값을 결정하고, 상기 결정된 입력 값에 의해 상기 온도 예측 모델에서 출력하는 CPU 온도 예측 결과값을 이용하여 상기 서버 및 데이터 센터의 발열을 제어하도록, 프로세서(400)에 의해 실행 가능한 프로그램 명령어들이 저장된다. In consideration of environmental factors including at least one of the state of the CPU core of the server and the data center, the position of the cooler, the type of the cooler, the type of case, and the external temperature, the
전술한 바와 같이, 온도 예측 모델은 기계학습 알고리즘 중 하나인 DNN (Deep Neural Network)를 사용하여 다양한 환경적 요인 (e.g., CPU 코어들의 전력 상태나 사용률, 쿨러의 위치 및 종류 등)과 CPU 온도 사이의 관계를 통해 생성될 수 있다. As described above, the temperature prediction model uses DNN (Deep Neural Network), which is one of the machine learning algorithms, to calculate the temperature difference between various environmental factors (eg, power state or utilization rate of CPU cores, Lt; / RTI >
여기서, CPU 코어의 상태는 CPU 전압, 주파수, 사용률, 현재 온도와 on된 코어의 수, 내부 컴포넌트 사용률을 포함할 수 있다. Here, the state of the CPU core may include the CPU voltage, the frequency, the usage rate, the current temperature, the number of cores turned on, and the internal component usage rate.
CPU 코어의 상태에 상응하는 복수의 입력 값들은 CPU의 현재 온도에 따라 서로 다른 가중치가 부여될 수 있고, CPU의 현재 온도가 미리 설정된 온도보다 낮은 경우에는 CPU의 전압, 주파수, 사용률 및 on된 코어의 수에 상응하는 제1 입력 값이 내부 컴포넌트의 사용률에 상응하는 제2 입력 값보다 높은 가중치가 부여될 수 있다. The plurality of input values corresponding to the state of the CPU core may be assigned different weights depending on the current temperature of the CPU. If the current temperature of the CPU is lower than a predetermined temperature, the voltage, frequency, The first input value corresponding to the number of the internal components may be given a weight higher than the second input value corresponding to the usage rate of the internal component.
여기서, 내부 컴포넌트의 사용률에 상응하는 입력 값은 IPC(Instruction Per Clock) 및 캐시 미스의 수에 상응하는 입력 값을 포함할 수 있다. Here, the input value corresponding to the usage rate of the internal component may include an input value corresponding to the number of IPC (Instruction Per Clock) and cache miss.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.It will be apparent to those skilled in the art that various modifications, additions and substitutions are possible, without departing from the spirit and scope of the invention as defined by the appended claims. Should be regarded as belonging to the following claims.
Claims (7)
프로세서; 및
상기 프로세서에 연결되는 메모리를 포함하되,
상기 메모리는,
상기 서버 및 데이터 센터의 CPU 코어의 상태와, 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나를 포함하는 환경 요인을 고려하여 학습된 온도 예측 모델을 생성하고,
학습이 완료된 온도 예측 모델에 현재의 CPU 코어의 상태 및 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나에 따른 입력 값을 결정하고,
상기 결정된 입력 값에 의해 상기 온도 예측 모델에서 출력하는 CPU 온도 예측 결과값을 이용하여 상기 서버 및 데이터 센터의 발열을 제어하도록,
상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하는 CPU 온도 예측 장치. A CPU temperature predicting device for solving the problem of heat generation of a processor of a server and a data center by using a machine learning algorithm,
A processor; And
A memory coupled to the processor,
The memory comprising:
A learned temperature prediction model is generated in consideration of environmental factors including at least one of a state of a CPU core of the server and a data center, a position of a cooler, a type of a cooler, a type of a case,
An input value according to at least one of the current state of the CPU core and the position of the cooler, the type of the cooler, the type of the case, and the external temperature is determined in the learning temperature prediction model,
And controlling the heat of the server and the data center based on the CPU temperature prediction result value output from the temperature prediction model based on the determined input value,
And stores program instructions executable by the processor.
상기 CPU 코어의 상태는 CPU의 전압, 주파수, 사용률, 현재 온도와, on된 코어의 수, 내부 컴포넌트의 사용률 중 적어도 하나를 포함하는 CPU 온도 예측 장치. The method according to claim 1,
Wherein the state of the CPU core includes at least one of a voltage, a frequency, a usage rate, a current temperature of the CPU, a number of cores turned on, and a usage rate of internal components.
상기 CPU 코어의 상태에 상응하는 복수의 입력 값들은 상기 CPU의 현재 온도에 따라 서로 다른 가중치가 부여되는 CPU 온도 예측 장치. 3. The method of claim 2,
Wherein the plurality of input values corresponding to the state of the CPU core are assigned different weights according to the current temperature of the CPU.
상기 내부 컴포넌트의 사용률에 상응하는 입력 값은 IPC(Instruction Per Clock) 및 캐시 미스의 수에 상응하는 입력 값을 포함하는 CPU 온도 예측 장치. The method of claim 3,
Wherein the input value corresponding to the usage rate of the internal component includes an input value corresponding to an IPC (Instruction Per Clock) and a number of cache misses.
상기 CPU의 현재 온도가 미리 설정된 온도보다 낮은 경우에는 상기 CPU의 전압, 주파수, 사용률 및 on된 코어의 수에 상응하는 제1 입력 값이 상기 내부 컴포넌트의 사용률에 상응하는 제2 입력 값보다 높은 가중치가 부여되는 CPU 온도 예측 장치. The method of claim 3,
When a current temperature of the CPU is lower than a preset temperature, a first input value corresponding to the voltage, frequency, use rate, and number of cores of the CPU is higher than a second input value corresponding to the usage rate of the internal component The CPU temperature prediction unit.
상기 미리 설정된 온도는 50 내지 70℃의 범위 중 하나로 결정되는 CPU 온도 예측 장치. 6. The method of claim 5,
Wherein the preset temperature is determined to be one of a range of 50 to 70 占 폚.
상기 서버 및 데이터 센터의 CPU 코어의 상태와, 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나를 포함하는 환경 요인을 고려하여 학습된 온도 예측 모델을 생성하는 단계;
학습이 완료된 온도 예측 모델에 현재의 CPU 코어의 상태 및 쿨러의 위치, 쿨러의 종류, 케이스의 종류 및 외부 온도 중 적어도 하나에 따른 입력 값을 결정하는 단계; 및
상기 결정된 입력 값에 의해 상기 온도 예측 모델에서 출력하는 CPU 온도 예측 결과값을 이용하여 상기 서버 및 데이터 센터의 발열을 제어하는 단계를 포함하는 CPU 온도 예측 방법.
A CPU temperature prediction method for solving the problem of heat generation of a processor of a server and a data center by using a machine learning algorithm,
Generating a learned temperature prediction model in consideration of environmental factors including at least one of a state of a CPU core of the server and a data center, a location of a cooler, a type of a cooler, a type of a case, and an external temperature;
Determining an input value according to at least one of a state of a current CPU core and a position of a cooler, a type of a cooler, a type of a case, and an external temperature in a learning temperature prediction model; And
And controlling the heat generation of the server and the data center by using the CPU temperature prediction result value output from the temperature prediction model based on the determined input value.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180008787 | 2018-01-24 | ||
| KR20180008787 | 2018-01-24 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20190090356A true KR20190090356A (en) | 2019-08-01 |
| KR102123178B1 KR102123178B1 (en) | 2020-06-16 |
Family
ID=67615747
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190009024A Active KR102123178B1 (en) | 2018-01-24 | 2019-01-24 | Machine learning based CPU temperature prediction method and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102123178B1 (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112587920A (en) * | 2020-12-01 | 2021-04-02 | Oppo(重庆)智能科技有限公司 | Device control method, device, electronic device and storage medium |
| KR20210078260A (en) * | 2019-12-18 | 2021-06-28 | 고려대학교 산학협력단 | Apparatus for Predicting Optimal CPU Frequency Based on Machine learning |
| KR20220011322A (en) * | 2020-07-21 | 2022-01-28 | 고려대학교 산학협력단 | Ambient temperature aware VM allocation method and apparatus for virtualized heterogeneous data centers |
| GB2600245A (en) * | 2020-09-17 | 2022-04-27 | Nvidia Corp | Predictive control using one or more neural networks |
| CN116107364A (en) * | 2021-11-11 | 2023-05-12 | 英业达科技有限公司 | Temperature control system and control method thereof |
| CN116127840A (en) * | 2023-01-05 | 2023-05-16 | 无锡钊源电力电子有限公司 | Data center load prediction method based on data driving |
| KR20230163848A (en) * | 2022-05-24 | 2023-12-01 | 한국기계연구원 | Machine Learning-based MMIC Package Design System and Method |
| WO2024098774A1 (en) * | 2022-11-09 | 2024-05-16 | 苏州元脑智能科技有限公司 | Model-based server heat dissipation method and apparatus, and server and storage medium |
| CN118466627A (en) * | 2024-07-01 | 2024-08-09 | 深圳市鑫赛科科技发展有限公司 | Temperature self-adaptive regulation and control method, device and system for computer host |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102889492B1 (en) | 2021-01-12 | 2025-11-21 | 삼성전자주식회사 | An electronic device and a method controlling the same |
| KR20230000209A (en) | 2021-06-24 | 2023-01-02 | 삼성전자주식회사 | Integrated circuit performing dynamic voltage and frequency scaling operation and operating method thereof |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012053678A (en) * | 2010-09-01 | 2012-03-15 | Fujitsu Ltd | Fan control program, fan control method and information processing equipment |
| KR20130109788A (en) | 2012-03-28 | 2013-10-08 | 삼성전자주식회사 | Method for predicting temperature in device |
| JP2016051213A (en) * | 2014-08-28 | 2016-04-11 | 富士通株式会社 | Electronic device temperature management system, temperature management method, and temperature management program |
| US9568923B1 (en) * | 2015-10-27 | 2017-02-14 | International Business Machines Corporation | Determining a time for corrective action in a data center |
-
2019
- 2019-01-24 KR KR1020190009024A patent/KR102123178B1/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012053678A (en) * | 2010-09-01 | 2012-03-15 | Fujitsu Ltd | Fan control program, fan control method and information processing equipment |
| KR20130109788A (en) | 2012-03-28 | 2013-10-08 | 삼성전자주식회사 | Method for predicting temperature in device |
| JP2016051213A (en) * | 2014-08-28 | 2016-04-11 | 富士通株式会社 | Electronic device temperature management system, temperature management method, and temperature management program |
| US9568923B1 (en) * | 2015-10-27 | 2017-02-14 | International Business Machines Corporation | Determining a time for corrective action in a data center |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210078260A (en) * | 2019-12-18 | 2021-06-28 | 고려대학교 산학협력단 | Apparatus for Predicting Optimal CPU Frequency Based on Machine learning |
| KR20220011322A (en) * | 2020-07-21 | 2022-01-28 | 고려대학교 산학협력단 | Ambient temperature aware VM allocation method and apparatus for virtualized heterogeneous data centers |
| GB2600245A (en) * | 2020-09-17 | 2022-04-27 | Nvidia Corp | Predictive control using one or more neural networks |
| GB2600245B (en) * | 2020-09-17 | 2023-08-09 | Nvidia Corp | Predictive control using one or more neural networks |
| US12193196B2 (en) | 2020-09-17 | 2025-01-07 | Nvidia Corporation | Predictive control using one or more neural networks |
| CN112587920A (en) * | 2020-12-01 | 2021-04-02 | Oppo(重庆)智能科技有限公司 | Device control method, device, electronic device and storage medium |
| CN116107364A (en) * | 2021-11-11 | 2023-05-12 | 英业达科技有限公司 | Temperature control system and control method thereof |
| KR20230163848A (en) * | 2022-05-24 | 2023-12-01 | 한국기계연구원 | Machine Learning-based MMIC Package Design System and Method |
| WO2024098774A1 (en) * | 2022-11-09 | 2024-05-16 | 苏州元脑智能科技有限公司 | Model-based server heat dissipation method and apparatus, and server and storage medium |
| CN116127840A (en) * | 2023-01-05 | 2023-05-16 | 无锡钊源电力电子有限公司 | Data center load prediction method based on data driving |
| CN116127840B (en) * | 2023-01-05 | 2023-09-22 | 无锡钊源电力电子有限公司 | Data center load prediction method based on data driving |
| CN118466627A (en) * | 2024-07-01 | 2024-08-09 | 深圳市鑫赛科科技发展有限公司 | Temperature self-adaptive regulation and control method, device and system for computer host |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102123178B1 (en) | 2020-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102123178B1 (en) | Machine learning based CPU temperature prediction method and apparatus | |
| US8533719B2 (en) | Cache-aware thread scheduling in multi-threaded systems | |
| US8151094B2 (en) | Dynamically estimating lifetime of a semiconductor device | |
| JP5207193B2 (en) | Method and apparatus for dynamically allocating power in a data center | |
| US8707060B2 (en) | Deterministic management of dynamic thermal response of processors | |
| Sen et al. | Reuse-based online models for caches | |
| US20180321980A1 (en) | Execution time prediction for energy-efficient computer systems | |
| KR102424121B1 (en) | Pre-fetch unit, apparatus having the same and operating method thereof | |
| CN103838668A (en) | Associating energy consumption with a virtual machine | |
| Haghbayan et al. | Performance/reliability-aware resource management for many-cores in dark silicon era | |
| Yun et al. | Predicting thermal behavior for temperature management in time-critical multicore systems | |
| Dolz et al. | An analytical methodology to derive power models based on hardware and software metrics | |
| US9367466B2 (en) | Conditional prefetching | |
| KR102346890B1 (en) | Apparatus for Predicting Optimal CPU Frequency Based on Machine learning | |
| CN114282727A (en) | Computer room temperature prediction method and system and electronic equipment | |
| CN113157043B (en) | Heterogeneous multi-core processor dynamic voltage adjusting method and system based on reinforcement learning | |
| Rapp et al. | NPU-accelerated imitation learning for thermal optimization of QoS-constrained heterogeneous multi-cores | |
| Maghsoud et al. | PEPS: Predictive energy-efficient parallel scheduler for multi-core processors | |
| Gupta et al. | Cross-layer system resilience at affordable power | |
| Acun et al. | Support for power efficient proactive cooling mechanisms | |
| Begum et al. | Algorithms for CPU and DRAM DVFS under inefficiency constraints | |
| Bartolini et al. | Multiscale thermal management of computing systems-the MULTITHERMAN approach | |
| Liu et al. | On-line predictive thermal management under peak temperature constraints for practical multi-core platforms | |
| Haj-Yihia et al. | DOEE: Dynamic optimization framework for better energy efficiency | |
| Miftakhutdinov | Performance prediction for dynamic voltage and frequency scaling |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20190124 |
|
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20200320 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20200604 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20200609 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20200609 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20240604 Start annual number: 5 End annual number: 5 |