[go: up one dir, main page]

KR20190090356A - Machine learning based CPU temperature prediction method and apparatus - Google Patents

Machine learning based CPU temperature prediction method and apparatus Download PDF

Info

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
Application number
KR1020190009024A
Other languages
Korean (ko)
Other versions
KR102123178B1 (en
Inventor
정성우
김영근
이영서
Original Assignee
고려대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Publication of KR20190090356A publication Critical patent/KR20190090356A/en
Application granted granted Critical
Publication of KR102123178B1 publication Critical patent/KR102123178B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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

The present invention discloses a method and apparatus for predicting the CPU temperature based on machine learning algorithm. According to the present invention, the apparatus for predicting the CPU temperature to solve the heating problem of a processor in a server and data center using a machine learning algorithm comprises: a processor; and a memory connected to the processor. The memory stores program instructions, which may be executed by the processor, to generate a temperature prediction model learned by considering an environmental factor including at least one of a state of a CPU core of the server and data center, a position of a cooler, type of the cooler, type of the case, and the external temperature, determine an input value according to at least one of a current state of the CPU core, a current position of the cooler, the type of the cooler, the type of the case, and the external temperature in the learned temperature prediction model, and control the heating of the server and data center using a result value for the CPU temperature prediction outputted from the temperature prediction model by the determined input value.

Description

기계학습 알고리즘 기반 CPU 온도 예측 방법 및 장치{Machine learning based CPU temperature prediction method and apparatus}[0001] The present invention relates to a method and apparatus for estimating a CPU temperature based on a machine learning algorithm,

본 발명은 기계학습 알고리즘 기반 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.

KR 공개특허 10-2013-0109788KR Patent Publication No. 10-2013-0109788

상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 다양한 환경적 요인을 종합적으로 고려하여 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.

특성(Feature)Feature 입력 값(Input)Input value CPU 코어의 상태Status of CPU core 1. CPU 전압
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
쿨러의 위치Location of cooler CPU와 쿨러 사이의 거리(cm)Distance between CPU and cooler (cm) 쿨러의 종류Type of cooler 쿨러의 분당 회전수의 역수The reciprocal of the revolution per minute of the cooler 케이스의 종류Type of case 재질이 열을 배출하는 정도에 따라서 1~10 사이의 값 입력
(열을 제일 잘 배출할 경우 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)
외부 온도External temperature 실측한 외부 온도The measured outside temperature

성능 계수기 (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.

Figure pat00001
Figure pat00001

수학식 1은 CPU 동적 전력 소모 관계식이고, A는 CPU utilization에 비례한다. Equation 1 is the CPU dynamic power consumption relationship, and A is proportional to CPU utilization.

Figure pat00002
Figure pat00002

수학식 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 processor 400 may include a central processing unit (CPU) or other virtual machine capable of executing computer programs.

메모리(402)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(402)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.The memory 402 may include a non-volatile storage device such as a fixed hard drive or a removable storage device. The removable storage device may include a compact flash unit, a USB memory stick, and the like. The memory 402 may also include volatile memory, such as various random access memories.

이와 같은 메모리(402)에는 프로세서(400)에 의해 실행 가능한 프로그램 명령어들이 저장된다. Such memory 402 stores program instructions that are executable by the processor 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 memory 402 according to the preferred embodiment of the present invention Determines an input value according to at least one of a current CPU core state and a cooler position, a cooler type, a case type, and an external temperature in a learned temperature prediction model, Program instructions executable by the processor 400 are stored to control the heat generation of the server and the data center using the CPU temperature prediction result output from the temperature prediction model by the input value.

전술한 바와 같이, 온도 예측 모델은 기계학습 알고리즘 중 하나인 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 온도 예측 결과값을 이용하여 상기 서버 및 데이터 센터의 발열을 제어하도록,
상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하는 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.
제1항에 있어서,
상기 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.
제2항에 있어서,
상기 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.
제3항에 있어서,
상기 내부 컴포넌트의 사용률에 상응하는 입력 값은 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.
제3항에 있어서,
상기 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.
제5항에 있어서,
상기 미리 설정된 온도는 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 온도 예측 결과값을 이용하여 상기 서버 및 데이터 센터의 발열을 제어하는 단계를 포함하는 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.
KR1020190009024A 2018-01-24 2019-01-24 Machine learning based CPU temperature prediction method and apparatus Active KR102123178B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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