KR102569836B1 - 디바이스를 위한 강화학습 기반의 발열 관리 방법 및 이를 위한 장치 - Google Patents

디바이스를 위한 강화학습 기반의 발열 관리 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102569836B1
KR102569836B1 KR1020230049564A KR20230049564A KR102569836B1 KR 102569836 B1 KR102569836 B1 KR 102569836B1 KR 1020230049564 A KR1020230049564 A KR 1020230049564A KR 20230049564 A KR20230049564 A KR 20230049564A KR 102569836 B1 KR102569836 B1 KR 102569836B1
Authority
KR
South Korea
Prior art keywords
processor
heat management
state
reinforcement learning
heat
Prior art date
Application number
KR1020230049564A
Other languages
English (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 고려대학교산학협력단
Application granted granted Critical
Publication of KR102569836B1 publication Critical patent/KR102569836B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명의 일 실시 예에 따른 강화학습(Reinforcement Learning, RL)을 기반으로 디바이스의 발열을 관리하는 방법은 (a) 상기 프로세서의 특성 요소, 상기 프로세서의 외부 환경 요소 및 상기 디바이스의 외부 환경 요소 중 어느 하나 이상을 포함하는 상태(State)를 기 설정한 주기로 파악하여, 상태 별로 하나 이상의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하는 제1 단계 및 (b) 상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 상기 발열 관리 테이블을 업데이트하는 제2 단계를 포함하며, 상기 발열 관리 파라미터는, 상기 프로세서의 동작 전압 및 동작 주파수 중 어느 하나 이상이다.

Description

디바이스를 위한 강화학습 기반의 발열 관리 방법 및 이를 위한 장치{REINFORCEMENT LEARNING-BASED HEAT MANAGEMENT METHOD FOR DEVICE AND APPARATUS}
본 발명은 디바이스를 위한 강화학습 기반의 발열 관리 방법 및 이를 위한 장치에 관한 것이다. 보다 자세하게는 이종 디바이스 각각에 대한 내/외부적 요소를 파악하여 강화학습을 진행하고, 그 결과를 반영해 각 디바이스의 발열을 관리하는 방법 및 이를 위한 장치에 관한 것이다.
최신의 디바이스는 다양한 어플리케이션(Application)을 실행하기 위해 CPU, GPU, NPU, 등과 같이 이종 프로세서(Heterogeneous Processing Unit)를 포함하는 SoC(System-on-Chip)를 장착하고 있다.
이처럼 서로 다른 특성을 갖고 있는 프로세서의 도입으로 인해 모바일 기기는 높은 성능 및 전력 효율을 얻게 되었지만, 단위 면적당 전력 밀도 또 증가하게 된바, 이는 프로세서들의 온도 상승으로 이어지고 있으며, 프로세서에 의해 높아진 열은 모바일 기기 외부로 방출되지 못하고 디바이스 내부의 여러 구성에 열을 전도하여 기기 내부에 영구적인 결함이 발생하거나 오작동을 일으킬 수 있는바, 프로세서의 구동에 따라 발생하는 발열 문제를 효율적으로 해결하는 것이 매우 중요하다.
이에 대하여 종래에는 소프트웨어(Software) 기반의 발열 관리 기법(Dynamic Thermal Management Technique)을 활용하였으며, 대표적인 기법인 DVFS (Dynamic Voltage & Frequency Scaling) 기반의 기법은 특정 프로세서의 온도가 일정 수준 이상으로 높아지면, 해당 프로세서의 전압 (Voltage)과 주파수 (Frequency)를 낮춤으로써 해당 프로세서의 온도를 낮추는 기법이다. 해당 기법에 의하여 낮아진 전압 및 주파수는 디바이스에서 수행되는 어플리케이션들의 성능 저하로 이어지는바, 온도를 일정 수준 이하로 유지하면서 어플리케이션들의 성능 저하를 최소화할 수 있는 적정 수준의 전압 및 주파수를 찾는 것이 매우 중요할 것이다.
다만, 종래의 발열 관리 기법은 워크로드의 특성을 고려하지 않아 해당 워크로드에 필요한 적정 수준의 전압 및 주파수를 찾지 못한다는 문제점과 SoC 내 이종 프로세서들의 상이한 발열 특성 및 해당 프로세서들의 온도에 영향을 미칠 수 있는 다양한 요인(예. 프로세서 사이의 열 전도, SoC 내 다른 컴포넌트로부터의 열 전도, 외부 온도 등)들을 고려하지 않아 이와 같은 요인들에 따른 적정 수준의 전압 및 주파수를 찾을 수 없다는 문제점까지 존재한바, 디바이스의 발열 관리를 위한 보다 근본적인 해결 방안이 요구된다. 본 발명은 이에 관한 것이다.
대한민국 등록특허공보 제 10-1925720호(2018.11.29)
본 발명이 해결하고자 하는 기술적 과제는 디바이스의 발열에 영향을 줄 수 있는 다양한 내/외부적 요소를 파악하여 이를 반영한 최적의 발열 관리 파라미터를 선택하여 모바일 디바이스를 구동하게 함으로써 디바이스의 발열을 효과적으로 관리할 수 있음과 동시에 어플리케이션의 성능 저하까지 방지할 수 있는 디바이스를 위한 강화학습 기반의 발열 관리 방법 및 이를 위한 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시 예에 따른 강화학습(Reinforcement Learning, RL)을 기반으로 디바이스의 발열을 관리하는 방법은 상기 디바이스가 포함하는 프로세서의 특성 요소, 상기 프로세서의 외부 환경 요소 및 상기 디바이스의 외부 환경 요소 중 어느 하나 이상을 포함하는 상태(State)를 기 설정한 주기로 파악하여, 상태 별로 하나 이상의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하는 제1 단계 및 (b) 상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 상기 발열 관리 테이블을 업데이트하는 제2 단계를 포함하며, 상기 발열 관리 파라미터는, 상기 프로세서의 동작 전압 및 동작 주파수 중 어느 하나 이상이다.
일 실시 예에 따르면, 상기 제1 단계에서 프로세서의 특성 요소는, 상기 프로세서의 온도, 동작 상태 및 수행 중인 어플리케이션 또는 워크로드의 리소스 사용률 특성 중 어느 하나 이상을 포함할 수 있다.
일 실시 예에 따르면, 상기 프로세서의 동작 상태는, 상기 프로세서- 상기 프로세서는 CPU, GPU 및 NPU 중 어느 하나 이상을 포함함-의 동작 전압 및 동작 주파수 중 어느 하나 이상을 포함할 수 있다.
일 실시 예에 따르면, 상기 프로세서가 수행 중인 어플리케이션 또는 워크로드의 리소스 사용률은, 상기 프로세서의 사용률 및 메모리 사용률 중 어느 하나 이상을 포함할 수 있다.
일 실시 예에 따르면, 상기 제1 단계에서 프로세서의 외부 환경 요소는, 상기 프로세서에 열을 전도하는 컴포넌트- 상기 컴포넌트는 상기 디바이스 내외부에 마련된 디스플레이, 배터리, 네트워크 모듈 및 상기 프로세서 이외의 프로세서 중 적어도 하나 이상을 포함하는 구성임-의 사용률 및 온도 중 적어도 하나 이상을 포함할 수 있다.
일 실시 예에 따르면, 상기 제1 단계에서 디바이스의 외부 환경 요소는, 상기 디바이스의 주변 환경 온도, 충전 상태 유무, 모바일 핫스팟 사용 유무 및 실행 중인 애플리케이션 간의 리소스 경합 유무 중 적어도 하나 이상을 포함할 수 있다.
일 실시 예에 따르면, 상기 제2 단계에서 구동 결과는, 상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동함과 동시에 상기 소정 시간 동안의 프로세서의 최대 동작 주파수 및 온도 중 적어도 어느 하나 이상을 측정한 결과 값을 이용하여 산정한 보상(Reward)이다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치 는 하나 이상의 프로세서, 네트워크 인터페이스, 상기 프로세서에 의해 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 대용량 네트워크 데이터 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 상기 하나 이상의 프로세서에 의해, (A) 상기 프로세서의 특성 요소, 상기 프로세서의 외부 환경 요소 및 디바이스의 외부 환경 요소 중 어느 하나 이상을 포함하는 상태(State)를 기 설정한 주기로 파악하여, 상태 별로 하나 이상의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하는 제1 오퍼레이션 및 (B) 상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 상기 발열 관리 테이블을 업데이트하는 제2 오퍼레이션을 실행하며, 상기 발열 관리 파라미터는, 상기 프로세서의 동작 전압 및 동작 주파수 중 어느 하나 이상이다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시 예에 따른 매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치와 결합하여, (AA) 상기 프로세서의 특성 요소, 상기 프로세서의 외부 환경 요소 및 디바이스의 외부 환경 요소 중 어느 하나 이상을 포함하는 상태(State)를 기 설정한 주기로 파악하여, 상태 별로 하나 이상의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하는 제1 단계 및 (BB) 상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 상기 발열 관리 테이블을 업데이트하는 제2 단계를 포함하며, 상기 발열 관리 파라미터는, 상기 프로세서의 동작 전압 및 동작 주파수 중 어느 하나 이상이다.
상기와 같은 본 발명에 따르면 디바이스의 발열에 영향을 줄 수 있는 내/외부적 요소를 종합적으로 파악하고 이를 반영한 최적의 발열 관리 파라미터를 선택하여 디바이스를 구동하게 함으로써 디바이스의 안정성과 어플리케이션의 성능을 유지함과 동시에 발열 문제를 해결하고, 아울러 디바이스의 수명까지 연장시킬 수 있다는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치가 포함하는 전체 구성을 예시적으로 도시한 도면이다.
도 2는 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법의 대표적인 단계를 나타낸 순서도이다.
도 3은 발열 관리 테이블을 예시적으로 도시한 도면이다.
도4는 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치의 프로세서 외부 환경 요소를 간단한 모식도로 나타낸 도면이다.
도5는 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치의 외부 환경 요소를 간단한 모식도로 나타낸 도면이다.
도 6은 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법에 있어서, 강화학습 알고리즘을 도시한 도면이다.
도 7는 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법에 있어서, 보상을 산정하는 수식을 도시한 도면이다.
도 8 및 도9는 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법의 성능 평가 자료, 보다 구체적으로 동일한 디바이스에 대하여 동일한 조건에서 종래 기술과 본 발명에 따른 디바이스의 성능을 평가한 'GeekBench Multi Core Test Score(프로세서의 성능을 확인할 수 있는 점수)'그래프를 나타낸 도면이다.
도10 은 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법의 성능 평가 자료, 보다 구체적으로 임의로 조절한 상태(S)에 따라 최적의 발열 파라미터를 예측하여 선택할 수 있는지에 대한 정확도를 나타낸 그래프이다.
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다.
본 명세서에서 개시되는 실시 예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시 예를 포함한 설명은 다양한 어플리케이션을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시 예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시 예들로 한정되는 것을 의도하지 않는다.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.
또한, 어떤 구성요소들을 포함한다는 표현은 "개방형"의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
나아가 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다.
이하에서는 도면들을 참조하여 본 발명의 세부적인 실시 예들에 대해 살펴보도록 한다.
도 1은 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치(100)가 포함하는 전체 구성을 예시적으로 도시한 도면이다.
그러나 이는 본 발명의 목적을 달성하기 위한 바람직한 실시 예일 뿐이며, 필요에 따라 일부 구성이 추가되거나 삭제될 수 있고, 어느 한 구성이 수행하는 역할을 다른 구성이 함께 수행할 수도 있음은 물론이다.
본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치(100)는 프로세서(10), 네트워크 인터페이스(20), 메모리(30), 스토리지(40) 및 이들을 연결하는 데이터 버스(50)를 포함할 수 있으며, 기타 본 발명의 목적을 달성함에 있어 요구되는 부가적인 구성들을 더 포함할 수 있음은 물론이라 할 것이다.
프로세서(10)는 각 구성의 전반적인 동작을 제어한다. 프로세서(10)는 CPU(Central Processing Unit), MPU(Micro Processer Unit), MCU(Micro Controller Unit), 또는 본 발명이 속하는 기술 분야에서 널리 알려져 있는 형태의 인공지능 프로세서(예. NPU(Neural Processing Unit)) 중 어느 하나일 수 있다. 아울러, 프로세서(10)는 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법을 수행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다.
네트워크 인터페이스(20)는 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치(100)의 유무선 인터넷 통신을 지원하며, 그 밖의 공지의 통신 방식을 지원할 수도 있다. 따라서 네트워크 인터페이스(20)는 그에 따른 통신 모듈을 포함하여 구성될 수 있다.
메모리(30)는 각종 정보, 명령 및/또는 정보를 저장하며, 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법을 수행하기 위해 스토리지(40)로부터 하나 이상의 컴퓨터 프로그램(41)을 로드할 수 있다. 도 1에서는 메모리(30)의 하나로 RAM을 도시하였으나 이와 더불어 다양한 저장 매체를 메모리(30)로 이용할 수 있음은 물론이다.
스토리지(40)는 하나 이상의 컴퓨터 프로그램(41) 및 대용량 네트워크 정보(42)를 비임시적으로 저장할 수 있다. 이러한 스토리지(40)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크(HDD), 보조 저장 매치(SSD), 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 널리 알려져 있는 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체 중 어느 하나일 수 있다.
컴퓨터 프로그램(41)은 메모리(30)에 로드되어, 하나 이상의 프로세서(10)에 의해, (A) 상기 프로세서의 특성 요소, 상기 프로세서의 외부 환경 요소 및 디바이스의 외부 환경 요소 중 어느 하나 이상을 포함하는 상태(State)를 기 설정한 주기로 파악하여, 상태 별로 하나 이상의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하는 제1 오퍼레이션, (B) 상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 상기 발열 관리 테이블을 업데이트하는 제2 오퍼레이션을 실행할 수 있다.
이상 간단하게 언급한 컴퓨터 프로그램(41)이 수행하는 오퍼레이션은 컴퓨터 프로그램(41)의 일 기능으로 볼 수 있으며, 보다 자세한 설명은 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법에 대한 설명에서 후술하도록 한다.
데이터 버스(50)는 이상 설명한 프로세서(10), 네트워크 인터페이스(20), 메모리(30) 및 스토리지(40) 사이의 명령 및/또는 정보의 이동 경로가 된다.
이상 간단하게 설명한 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치(100)는 명칭은 장치(100)이나 독립된 디바이스의 형태에 설치된 에이전트(Agent), 예를 들어 전자 기기나 서버에 설치된 발열 관리 에이전트의 형태일 수 있으며, 여기서 전자 기기는 한 장소에 고정 설치되어 사용하는 데스크톱 PC, 서버 디바이스 등과 같은 기기 뿐만 아니라, 스마트폰, 태블릿 PC, 노트북 PC, PDA, PMP 등과 같이 휴대가 용이한 포터블 기기 등이라도 무방한바, 프로세서(10)에 해당하는 CPU 등이 설치되고 네트워크 기능만 보유하고 있는 전자 기기라면 어떠한 것이라도 무방하다 할 것이다.
이하, 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치(100)가 독립된 디바이스인 전자 기기 형태 중, "스마트 폰(모바일 디바이스)"에 설치된 에이전트의 형태임을 전제로, 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법을 제공하는 과정에 대하여 도 2 내지 도 10를 참조하여 설명하도록 한다.
도 2는 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법의 대표적인 단계를 나타낸 순서도이다.
그러나 이는 본 발명의 목적을 달성함에 있어서 바람직한 실시 예일 뿐이며, 필요에 따라 일부 단계가 추가 또는 삭제될 수 있음은 물론이고, 어느 한 단계가 다른 단계에 포함되어 수행될 수도 있다.
한편, 각 단계는 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치(100)를 통해 이루어지는 것을 전제로 하며, 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치(100)가 "스마트폰(모바일 디바이스)"에 설치된 에이전트의 형태임을 전제로 하였고, 설명의 편의를 위해 "장치(100)"로 명명하도록 하는바, 장치(100)는 에이전트를 의미하며, 디바이스는 장치(100)인 에이전트가 설치된 기기를 의미한다.
우선, 장치(100)가 프로세서(10)의 특성 요소, 프로세서(10)의 외부 환경 요소 및 디바이스의 외부 환경 요소 중 어느 하나 이상을 포함하는 상태(State)를 기 설정한 주기로 파악하여, 상태 별로 하나 이상의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하며(S210), 이를 제1 단계라 한다.
도 3에 발열 관리 테이블을 예시적으로 도시한바, 강화학습에서 이용하는Q-테이블의 일종으로 볼 수 있으며, 세로 방향으로 복수 개의 상태(State, Si, i는 자연수)가, 각각의 상태에 대하여 가로 방향으로 복수 개의 액션(Action, Ai, i는 자연수)이, 각각의 상태에 대한 각각의 액션에 대하여 가치 함수(Value Function)인 점수(Score) Q(Si, Ai)가 기재되어 있음을 확인할 수 있는바, 여기서 상태(State, Si)가 디바이스의 현재 상태를, 행동(Action, Ai)이 현재 상태(State, Si)와 가치 함수Q(Si, Ai)를 기반으로 주어진 시간 내에 장치(100)가 내릴 수 있는 결정을, 가치 함수인 점수(Score) Q(Si, Ai)가 장치(100)가 주어진 상태에서 특정 작업을 수행하여 달성할 수 있는 예상 보상의 척도를 나타나며, 가치 함수인 점수(Score) Q(Si, Ai)는 장치(100)가 강화학습을 수행한 결과를 반영해 추후 업데이트될 수 있다.
이상과 같은 발열 관리 테이블을 이용하는 강화학습의 매 라운드의 시작은 장치(100)의 상태를 파악하는 것인바, 디바이스의 발열에 영향을 미칠 수 있는 프로세서(10)에 대한 다양한 내/외부적 요소들을 발열 관리 테이블 상의 상태에 반영해 발열 관리 파라미터를 선택하게 함으로써 효율적인 발열 관리가 수행될 수 있도록 이바지할 수 있는바, 여기서 발열 관리 파라미터는 디바이스의 발열에 영향을 미칠 수 있는 파라미터, 보다 구체적으로 프로세서(10)의 '동작 전압' 및 '동작 주파수' 중 어느 하나 이상일 수 있다.
한편, 본 발명은 이종(異種) 프로세서를 포함하는 SoC이 설치된 디바이스를 위한 강화학습 기반의 발열 관리 방법에 관한 것인바, 단순히 하나의 프로세서(10) 에서 발생한 열을 측정하고 관리하는 방법을 제안하는 것이 아니라 다양한 기능, 성능을 가지는 이종의 프로세서(10)들에 대한 내/외부적 요소들을 종합적으로 반영하여 최적의 발열 관리 파라미터를 선택할 수 있도록 강화학습을 수행함으로써, 각 프로세서(10)들의 상태에 따른 발열 관리 파라미터를 선택해주는 방법에 관한 것이다.
이러한 다양한 내/외부적 요소들을 반영한 상태는 프로세서(10)의 특성 요소와 프로세서(10)의 외부 환경 요소 및 디바이스의 외부 환경 요소 중 어느 하나 이상을 포함할 수 있는바, 여기서 프로세서(10)의 특성 요소는 프로세서(10) 자체의 특성(내부적 요소)에 관한 것이며, 프로세서(10)의 외부 환경 요소는 어느 하나의 프로세서(10) 기준의 다른 외부 요소(외부적 요소)에 관한 것이고, 디바이스의 외부 환경 요소는 디바이스 기준의 다른 외부 요소(외부적 요소)에 관한 것인바, 이하 하나씩 설명하도록 한다.
프로세서(10)의 특성 요소는 프로세서(10) 그 자체의 온도, 동작 상태 및 수행 중인 어플리케이션 또는 워크로드의 리소스 사용률 특성 중 어느 하나 이상을 포함할 수 있다.
프로세서(10)의 온도는 말 그대로 해당 프로세서(10) 자체의 온도이며, 동작 상태는 디바이스가 포함하는 복수 개의 프로세서(10) 중 어느 하나의 프로세서(10)의 동작 전압 및 동작 주파수의 값 중 어느 하나 이상을 말할 수 있다.
또한, 여기서 말하는 복수 개의 프로세서(10)는 디바이스가 포함하는 CPU, GPU 및 NPU 중 어느 하나 이상 더 나아가 프로세싱/연산 역할을 수행하는 어떠한 구성이라도 모두 포함하는 광의의 개념이다.
수행 중인 어플리케이션 또는 워크로드(디바이스에서 수행되는 작업의 집합)의 리소스 사용률은 프로세서(10)의 사용률 및 메모리 사용률 중 어느 하나 이상을 포함할 수 있는바, 쉽게 이야기하면 디바이스가 어플리케이션 실행을 위해 어느 정도의 연산 부하를 감당하고 있는지에 관한 것이다.
이하, 도4를 통하여 프로세서(10)의 외부 환경 요소에 대한 설명을, 도5를 통하여 디바이스의 외부 환경 요소에 대하여 설명하도록 한다.
프로세서(10)는 그 자체가 특정 작업(연산)을 수행하면서 전기 에너지를 소비하고 이 과정에서 열이 발생할 뿐만 아니라 주변 환경, 다른 구성 요소(예. 배터리, 디스플레이 등)를 통하여 열이 전도될 수 있는바, 프로세서(10)의 상태에 따라 최적의 발열 관리 파라미터를 선택하려면 상기 설명한 프로세서(10)의 특성 요소뿐만 아니라 프로세서(10) 발열에 직/간접적으로 영향을 줄 수 있는 외부 환경 요소들을 파악하는 것이 중요하다. 이것이 프로세서(10)의 외부 환경 요소와 디바이스의 외부 환경 요소이다.
도4는 본 발명의 제1 실시 예에 따른 프로세서(10)의 외부 환경 요소를 간단한 모식도로 나타낸 도면이며, 도4에서의 프로세서(10)는 제1 프로세서(11)인 'CPU'인 것을 전제로 설명하도록 한다.
도4를 참조하면, 제1 프로세서(11)는 특정 작업을 수행하면서 발생하는 자체적인 발열뿐만 아니라 제1 프로세서(11)와 함께 구성된 디바이스 내에 컴포넌트(60)로부터 열이 전도될 수 있다.
여기서 말하는 컴포넌트(60)는 그 자체적으로 발열하거나 다른 구성에 열을 전도할 수 있는 디스플레이, 배터리, 네트워크 모듈 등이 될 수 있으며, 제2 프로세서(12)인 GPU, 제3 프로세서(13)인 NPU 등도 컴포넌트(60)에 포함될 수 있는바, 제1 프로세서(11)인 CPU 기준으로 제2 프로세서(12)인 GPU와 제3 프로세서(13)인 NPU는 외부에 위치한 별개의 컴포넌트이기 때문이다.
예를 들어, 스마트폰의 경우 디스플레이 및 배터리가 프로세서와 인접하게 위치해 있어 디스플레이 및 배터리로부터 발생한 열이 프로세서에 전도될 수 있을 뿐만 아니라, GPU가 고사양의 그래픽 처리 작업을 수행할 때 또는 NPU가 AI 모델의 추론 작업 등을 수행할 때 내부에 열이 발생할 수 있고, 심지어 이들은 CPU와 동일한 메인 보드 상에 위치해 있을 수 있는바(SoC), 이들로부터 발생한 열은 CPU에 보다 직접적으로 전달될 수 있다.
도5는 디바이스의 외부 환경 요소를 간단한 모식도로 나타낸 도면이다.
도5를 참조하면, 디바이스의 주변 환경 온도, 충전 여부, 모바일 핫스팟 사용 여부 및 앱 간 자원 경합 여부에 따라 열이 발생하거나 기존에 발생한 열이 변화(예. 가중, 상쇄)를 일으킬 수 있다.
예를 들어, 고온의 환경에서 디바이스가 구동한다면, 디바이스 내부(예. 프로세서(10))에서 발생한 열이 적게 방출될 것인바, 발열이 오히려 가중될 수 있으며, 저온의 환경(서늘한 환경)에서는 디바이스 내부에서 발생한 열이 외부로 방출되는 것이 용이해지는바, 장치(100)의 발열을 어느 정도 상쇄해줄 수 있기에 디바이스 현재 상태(여기서는 주변 환경 온도)에 따른 최적의 발열 관리 파라미터를 선택하기 위해서는 프로세서(10)의 특성 요소, 프로세서(10)의 외부 환경 요소와 더불어 디바이스 그 자체의 외부 환경요소를 파악하는 것이 중요한 것이다.
다른 예로, 디바이스 사용자가 모바일 핫스팟을 사용하게 되면 무선 네트워크의 데이터 전송으로 인해 프로세서(10)가 더 많은 작업을 수행하게 됨으로써 더 많은 열이 가중될 수 있으며, 충전 여부와 앱 간 자원 경합 여부에 따라서도 열이 발생하거나 기존의 열에 더 많은 열이 가중될 수 있다.
이상 설명한 프로세서(10)의 특성 요소, 프로세서(10)의 외부 환경 요소 및 디바이스의 외부 환경 요소는 각각 독립적으로 디바이스의 발열에 직/간접적인 영향을 미칠 수 있으며, 각각의 요소들이 포함하는 세부적인 요소들의 조합이 발열 관리 테이블의 각각의 상태에 해당한다 할 것이다. 예를 들어, 앞선 도 3에서 S1은 CPU의 온도가 ~~도(또는 온도의 범위), GPU의 온도가 ~~도(또는 온도의 범위), NPU의 온도가 ~~도(또는 온도의 범위), CPU의 동작 주파수가 ~~Hz(또는 주파수의 범위) ?? NPN의 사용률이 ~~%(또는 사용률의 범위), 메모리의 사용률이 ~~%(또는 사용률의 범위) 일 때의 상태일 수 있다는 것이다.
다시 도 2에 대한 설명으로 돌아가도록 한다.
프로세서(10)의 특성 요소, 프로세서(10)의 외부 환경 요소 및 디바이스 의 외부 환경 요소 중 어느 하나 이상을 포함하는 상태의 파악은 장치(100)가 매 강화학습 라운드마다 상기 요소들을 획득함으로써 이루어질 수 있다.
한편, 장치(100)는 파악한 상태를 통해 발열 관리 테이블 상에서 해당 상태에 대하여 가로 방향으로 매칭된 복수 개의 액션 중 하나를 선택하여 해당 액션에 대응되는 발열 관리 파라미터를 선택하게 되는바, 이는 도 6을 참조하여 설명하도록 한다.
도 6은 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법에 있어서, 보편적인 강화학습 알고리즘을 예시적으로 도시한 도면이다.
도6을 참조하면, S가 상태, A가 액션이며, 각 구성들로부터 정보를 수신하여 상태를 파악하고(Observe state and store S), 난수를 생성하여(rand())해당 난수를 ε와 비교한다(rand() < ε). 비교 결과 난수가 ε보다 낮으면(if rand() < ε then), 액션을 랜덤하게 선택하며(Choose action A randomly), 그렇지 않은 경우(else), 해당 상태에 대한 모든 액션의 Q(S, A)값을 비교하여 그 중에서 가장 높은 값을 갖는 액션을 선택한다(Choose action A which maximizes Q(S, A)). 이러한 과정을 통해 강화학습의 발열 관리 파라미터 선택 정책이 Local Optima에 빠지게 되는 현상을 방지할 수 있다.
한편, 발열 관리 테이블 상의 모든 액션은 각각의 액션에 개별적인 발열 관리 파라미터가 대응되어 있으며, 장치(100)는 선택한 액션에 대응되는 발열 관리 파라미터를 이용하여 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 발열 관리 테이블을 업데이트하여 강화학습을 수행하며(S220), 이를 제2 단계라 한다.
여기서 구동 결과는 선택한 발열 관리 파라미터를 이용하여 디바이스를 소정 시간 동안(예. 10초 내지 100초) 구동하고, 이와 동시에 디바이스에 포함된 프로세서(10)의 최대 동작 주파수 (
Figure 112023042475562-pat00001
) 및 온도(
Figure 112023042475562-pat00002
) 중 적어도 어느 하나이상을 측정한 결과 값을 이용하여 산정한 보상(Reward)일 수 있으며, 보상에 따라 해당 상태에 대한 해당 액션에 부여된 점수(Score) Q(Si, Ai)가 업데이트될 수 있다.
도 7은 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법에 있어서, 보상을 산정하는 수식을 도시한 도면이다.
도 7을 참조하면 보상의 산정은 이번 학습 라운드에서 측정한 온도(
Figure 112023042475562-pat00003
)가 기 설정된 임계 값(Thermal Threshold) 이상이라면, 기 설정된 임계 값에 측정한 온도를 차감하여 보상(R)을 산정하고, 이번 학습 라운드에서 측정한 온도(
Figure 112023042475562-pat00004
) 가 기 설정된 임계 값(Thermal Threshold) 미만이라면, 이번 라운드에서 측정한 최대 동작 주파수(
Figure 112023042475562-pat00005
)와 이번 학습 라운드에서 측정한 온도(
Figure 112023042475562-pat00006
)를 합하여 보상(R)을 산정한다.
여기서 기 설정된 임계 값은 임계 값을 넘는 경우 디바이스의 안정성을 위협하고, 성능 하락과 손상을 초래할 수 있는 온도를 의미하며, 통상인 프로세서를 기준으로 약 85℃가 본 발명의 기 설정된 임계 값이 될 수 있다.
강화학습의 결과인 보상을 산정했다면, 학습 수행 동안 또는 이후 변경된 새로운 상태(S´)를 다시 파악하여 가장 높은 점수 Q(S´, A´)값을 갖는 액션(A´)을 선택하며(난수가 ε 보다 큰 경우), 선택한 액션(A´)과 기존에 선택한 액션에 대하여 Q(S, A), Reward, Learning Rate , Discount Factorμ에 기반하여 Q(S, A)값을 업데이트하는바, S210 단계 및 S220 단계를 반복하는 것으로 볼 수 있으며, 이들 모두 앞선 도 6에 도시되어 있는 사항이다.
이상과 같은 Q(S,A)값의 업데이트는 강화학습에서 현재 상태(S)에서 가능한 모든 액션들 중에서 가장 높은 Q값을 갖는 액션을 선택함으로써 최적의 발열 관리 파라미터를 선택할 수 있도록 학습하는 것을 목적으로 하는바, 이를 위해 Q(S,A)값을 반복적으로 업데이트하며, 최적의 액션을 선택하는 과정을 최대값(상태(S)에 대한 최적의 액션 값)에 수렴하도록 반복 수행한다. 이와 같은 강화 학습이 완료되었다면, 특정 상태에 대해서는 최대값에 수렴하는 Q(S,A)값을 갖는 액션이 하나만 존재하게 될 것인바, 해당 상태에서는 해당 액션만 수행하게 되어 최적의 발열 관리를 수행할 수 있도록 유도할 수 있다.
지금까지 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법에 대하여 설명하였다. 본 발명에 따르면 디바이스의 발열에 영향을 줄 수 있는 내/외부적 요소를 종합적으로 파악하고 이를 반영한 최적의 발열 관리 파라미터를 선택하여 디바이스를 구동하게 함으로써 디바이스의 안정성과 어플리케이션의 성능을 유지함과 동시에 발열 문제를 해결하고, 아울러 디바이스의 수명까지 연장시킬 수 있다.
도 8 및 도9는 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법의 성능 평가 자료이며, 동일한 디바이스에 대하여 동일한 조건에서 종래 기술과 본 발명에 따른 디바이스의 성능을 평가한 'GeekBench Multi Core Test Score(프로세서의 성능을 확인할 수 있는 점수)'그래프를 나타낸 도면이다.
도8를 참조하면, 종래 기술에 따른 성능 점수는 '3156'의 Score을 가지는 반면, 도9를 참조하면, 본 발명에 따른 성능 점수는 '3308'의 Score을 가지는 것을 확인할 수 있는바, 동일한 디바이스에 대하여 동일한 조건에서 성능 점수가 향상되었다는 것은 그만큼 발열 관리가 잘되어 프로세서의 성능이 충분하게 발휘되었다는 증거이기에 본 발명에 따라 발열에 의한 성능 저하를 방지할 수 있음과 동시에 프로세서(10) 그 자체의 성능도 향상시킬 수 있다는 것을 확인할 수 있다.
한편, 도10 역시 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법의 성능 평가 자료인바, 임의로 조절한 상태(S)에 따라 최적의 발열 파라미터를 예측하여 선택할 수 있는지에 대한 정확도를 나타낸 그래프이다.
여기서 말하는 정확도는 실험자가 실험 대상인 복수 개의 디바이스들에 대하여 적어도 하나 이상의 상태(외부 온도, 유/무선 충전 및 모바일 핫스팟)를 의도적으로 조절하였을 시, 복수 개의 디바이스들 중 몇 개의 장치(100)가 최적의 발열 파라미터를 선택하였는지에 대한 값을 말할 수 있다.
도10을 참조하면, 복수 개의 디바이스들을 No Stochastic Variance 즉, 아무런 변동이 없는 상태에서는 정확도 '97.9%'을, 외부 온도를 조절한 상태에서는 정확도'97.3%'을, 유/무선 충전 상태에서는 정확도'96.8%', 모바일 핫스팟이 실행된 상태에서는 정확도'97.1%'를 나타내고 있음을 확인할 수 있는바, 본 발명은 내/외부적 요인에 따른 다양한 상태에서도 매우 높은 예측 정확도를 가지고 있음을 확인할 수 있다.
마지막으로, 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치(100)와 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법은 본 발명의 제3 실시 예에 따른 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램으로 구현할 수도 있는바, 이 경우 컴퓨팅 장치와 결합하여 (AA) 프로세서의 특성 요소, 상기 프로세서의 외부 환경 요소 및 디바이스의 외부 환경 요소 중 어느 하나 이상을 포함하는 상태(State)를 기 설정한 주기로 파악하여, 상태 별로 하나 이상의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하는 제1 단계 및 (BB) 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 상기 발열 관리 테이블을 업데이트하는 제2 단계를 실행할 수 있을 것이며, 중복 서술을 위해 자세히 기재하지는 않았지만 본 발명의 제1 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 장치(100) 및 본 발명의 제2 실시 예에 따른 디바이스를 위한 강화학습 기반의 발열 관리 방법에 적용된 모든 기술적 특징은 본 발명의 제3 실시 예에 따른 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램에 모두 동일하게 적용될 수 있음은 물론이라 할 것이다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10: 프로세서
11: 제1 프로세서 12: 제2 프로세서 13: 제3 프로세서
20: 네트워크 인터페이스
30: 메모리
40: 스토리지
41: 컴퓨터 프로그램
50: 정보 버스
60: 컴포넌트
100: 디바이스를 위한 강화학습 기반의 발열 관리 장치

Claims (9)

  1. 프로세서 및 메모리를 포함하는 장치가 강화학습(Reinforcement Learning, RL)을 기반으로 디바이스의 발열을 관리하는 방법에 있어서,
    (a) 상기 프로세서의 특성 요소, 상기 프로세서의 외부 환경 요소 및 상기 디바이스의 외부 환경 요소를 모두 포함하는 상태(State)를 기 설정한 주기로 파악하여, 복수 개의 상태 별로 복수 개의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하는 제1 단계; 및
    (b) 상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 상기 발열 관리 테이블을 업데이트하는 제2 단계;
    를 포함하며,
    상기 발열 관리 파라미터는,
    상기 프로세서의 동작 전압 및 동작 주파수 중 어느 하나 이상인,
    디바이스를 위한 강화학습 기반의 발열 관리 방법에 있어서,
    상기 제1 단계에서 장치의 외부 환경 요소는,
    상기 디바이스의 주변 환경 온도, 충전 상태 유무, 모바일 핫스팟 사용 유무, 실행 중인 애플리케이션 간의 리소스 경합 유무 중 적어도 하나 이상을 포함하며,
    상기 제1 단계는,
    상기 상태를 파악하여 결정하는 단계;
    난수를 생성하는 단계;
    상기 생성한 난수를 탐색 확률과 비교하는 단계;
    상기 비교 결과가 난수가 탐색 확률보다 작은 경우, 상기 상태에 매칭된 복수 개의 액션 중 어느 하나의 액션을 랜덤으로 선택하며, 상기 비교 결과가 난수가 탐색 확률보다 큰 경우, 상기 상태에 매칭된 복수 개의 액션 중 가장 큰 점수가 부여된 액션을 선택하는 단계; 및
    상기 선택한 액션에 매칭된 발열 관리 파라미터를 선택하는 단계;
    를 포함하는 디바이스를 위한 강화학습 기반의 발열 관리 방법.
  2. 제1항에 있어서,
    상기 제1 단계에서 프로세서의 특성 요소는,
    상기 프로세서의 온도, 동작 상태 및 수행 중인 어플리케이션 또는 워크로드의 리소스 사용률 특성 중 어느 하나 이상을 포함하는,
    디바이스를 위한 강화학습 기반의 발열 관리 방법.
  3. 제2항에 있어서,
    상기 프로세서의 동작 상태는,
    상기 프로세서- 상기 프로세서는 CPU, GPU 및 NPU 중 어느 하나 이상을 포함함-의 전압 및 주파수의 값 중 어느 하나 이상을 포함하는,
    디바이스를 위한 강화학습 기반의 발열 관리 방법.
  4. 제2항에 있어서,
    상기 프로세서가 수행 중인 어플리케이션 또는 워크로드의 리소스 사용률은,
    상기 프로세서의 사용률 및 메모리 사용률 중 어느 하나 이상을 포함하는,
    디바이스를 위한 강화학습 기반의 발열 관리 방법.
  5. 제1항에 있어서,
    상기 제1 단계에서 프로세서의 외부 환경 요소는,
    상기 프로세서에 열을 전도하는 컴포넌트- 상기 컴포넌트는, 상기 디바이스 내외부에 마련된 디스플레이, 배터리, 네트워크 모듈, 또는 강화학습 대상이 아닌 프로세서 중 적어도 하나 이상을 포함하는 구성임-의 사용률 및 온도 중 적어도 하나 이상을 포함하는,
    디바이스를 위한 강화학습 기반의 발열 관리 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 제2 단계에서 구동 결과는,
    상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동함과 동시에 상기 프로세서의 최대 동작 주파수 및 온도 중 적어도 어느 하나 이상을 측정한 결과 값을 이용하여 산정한 보상(Reward)인,
    디바이스를 위한 강화학습 기반의 발열 관리 방법.
  8. 하나 이상의 프로세서;
    네트워크 인터페이스;
    상기 프로세서에 의해 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리; 및
    대용량 네트워크 데이터 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은 상기 하나 이상의 프로세서에 의해,
    (A) 상기 프로세서의 특성 요소, 상기 프로세서의 외부 환경 요소 및 디바이스의 외부 환경 요소를 모두 포함하는 상태(State)를 기 설정한 주기로 파악하여, 복수 개의 상태 별로 복수 개의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하는 제1 오퍼레이션; 및
    (B) 상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 상기 발열 관리 테이블을 업데이트하는 제2 오퍼레이션;
    을 실행하며,
    상기 발열 관리 파라미터는,
    상기 프로세서의 동작 전압 및 동작 주파수 중 어느 하나 이상인,
    디바이스를 위한 강화학습 기반의 발열 관리 장치에 있어서,
    상기 제1 오퍼레이션에서 장치의 외부 환경 요소는,
    상기 디바이스의 주변 환경 온도, 충전 상태 유무, 모바일 핫스팟 사용 유무, 실행 중인 애플리케이션 간의 리소스 경합 유무 중 적어도 하나 이상을 포함하며,
    상기 제1 오퍼레이션은,
    상기 상태를 파악하여 결정하는 오퍼레이션;
    난수를 생성하는 오퍼레이션;
    상기 생성한 난수를 탐색 확률과 비교하는 오퍼레이션;
    상기 비교 결과가 난수가 탐색 확률보다 작은 경우, 상기 상태에 매칭된 복수 개의 액션 중 어느 하나의 액션을 랜덤으로 선택하며, 상기 비교 결과가 난수가 탐색 확률보다 큰 경우, 상기 상태에 매칭된 복수 개의 액션 중 가장 큰 점수가 부여된 액션을 선택하는 오퍼레이션; 및
    상기 선택한 액션에 매칭된 발열 관리 파라미터를 선택하는 오퍼레이션;
    를 포함하는 디바이스를 위한 강화학습 기반의 발열 관리 장치.
  9. 컴퓨팅 장치와 결합하여,
    (AA) 프로세서의 특성 요소, 상기 프로세서의 외부 환경 요소 및 디바이스의 외부 환경 요소를 모두 포함하는 상태(State)를 기 설정한 주기로 파악하여, 복수 개의 상태 별로 복수 개의 액션(Action)이 점수(Score)로 부여된 발열 관리 테이블(Table)을 통해 상기 파악한 상태에 대한 발열 관리 파라미터를 선택하는 제1 단계; 및
    (BB) 상기 선택한 발열 관리 파라미터를 이용하여 상기 디바이스를 소정 시간 동안 구동하고, 구동 결과를 반영해 상기 발열 관리 테이블을 업데이트하는 제2 단계;
    를 포함하여 수행하도록 하며,
    상기 발열 관리 파라미터는,
    상기 프로세서의 동작 전압 및 동작 주파수 중 어느 하나 이상인,
    컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 제1 단계에서 장치의 외부 환경 요소는,
    상기 디바이스의 주변 환경 온도, 충전 상태 유무, 모바일 핫스팟 사용 유무, 실행 중인 애플리케이션 간의 리소스 경합 유무 중 적어도 하나 이상을 포함하며,
    상기 제1 단계는,
    상기 상태를 파악하여 결정하는 단계;
    난수를 생성하는 단계;
    상기 생성한 난수를 탐색 확률과 비교하는 단계;
    상기 비교 결과가 난수가 탐색 확률보다 작은 경우, 상기 상태에 매칭된 복수 개의 액션 중 어느 하나의 액션을 랜덤으로 선택하며, 상기 비교 결과가 난수가 탐색 확률보다 큰 경우, 상기 상태에 매칭된 복수 개의 액션 중 가장 큰 점수가 부여된 액션을 선택하는 단계; 및
    상기 선택한 액션에 매칭된 발열 관리 파라미터를 선택하는 단계;
    를 포함하는 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램.
KR1020230049564A 2023-03-23 2023-04-14 디바이스를 위한 강화학습 기반의 발열 관리 방법 및 이를 위한 장치 KR102569836B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020230038226 2023-03-23
KR20230038226 2023-03-23

Publications (1)

Publication Number Publication Date
KR102569836B1 true KR102569836B1 (ko) 2023-08-24

Family

ID=87841291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230049564A KR102569836B1 (ko) 2023-03-23 2023-04-14 디바이스를 위한 강화학습 기반의 발열 관리 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102569836B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160027757A (ko) * 2014-09-02 2016-03-10 삼성전자주식회사 전자 장치 내의 발열을 관리하기 위한 방법 및 이를 위한 전자 장치
KR20170039287A (ko) * 2014-09-03 2017-04-10 지티이 코포레이션 열처리 방법 및 장치
KR101925720B1 (ko) 2017-07-31 2018-12-05 고려대학교 산학협력단 모바일 기기의 발열 관리 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160027757A (ko) * 2014-09-02 2016-03-10 삼성전자주식회사 전자 장치 내의 발열을 관리하기 위한 방법 및 이를 위한 전자 장치
KR20170039287A (ko) * 2014-09-03 2017-04-10 지티이 코포레이션 열처리 방법 및 장치
KR101925720B1 (ko) 2017-07-31 2018-12-05 고려대학교 산학협력단 모바일 기기의 발열 관리 방법

Similar Documents

Publication Publication Date Title
US9946981B2 (en) Computing device service life management
US10521244B2 (en) Information handling system configuration parameter history management
US10234926B2 (en) Method and apparatus for customized energy policy based on energy demand estimation for client systems
US9774203B2 (en) Smart battery charging to improve the lifespan of batteries
US11663297B2 (en) System and method to assess anomalous behavior on an information handling system using indirect identifiers
CN105164635B (zh) 针对固态存储设备在运行中的性能调整
US20100094582A1 (en) Method for estimating temperature at a critical point
US20180025289A1 (en) Performance Provisioning Using Machine Learning Based Automated Workload Classification
TWI655801B (zh) 對電池充電之技術
JP2022514992A (ja) バッテリ診断システム、バッテリ診断方法、及び記憶媒体
Gao et al. On exploiting dynamic execution patterns for workload offloading in mobile cloud applications
KR102348536B1 (ko) 기계 학습 기반의 이상 행위 탐지 방법 및 그 장치
US10423201B2 (en) Method and apparatus for demand estimation for energy management of client systems
CN104020835A (zh) 信息处理设备和操作状态控制方法
KR102569836B1 (ko) 디바이스를 위한 강화학습 기반의 발열 관리 방법 및 이를 위한 장치
US11797370B2 (en) Optimized diagnostics plan for an information handling system
US7925873B2 (en) Method and apparatus for controlling operating parameters in a computer system
CN116301282B (zh) 一种多核处理器芯片的低功耗控制方法和装置
KR20200080164A (ko) 애플리케이션 사용 패턴 분석에 기초한 메모리 관리 시스템 및 방법
CN116744417A (zh) 一种低功耗物联网中能量敏感服务选择方法及系统
CN108459945B (zh) 一种电子设备及其运行状态的控制方法
Tu et al. Unveiling Energy Efficiency in Deep Learning: Measurement, Prediction, and Scoring across Edge Devices
US11520397B2 (en) Power management of artificial intelligence (AI) models
JP2014241694A (ja) 充電管理装置および充電管理プログラム
US10359959B1 (en) Energy optimized power state declarations for solid state drives

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant