KR20170094905A - 전자 장치 및 상기 전자 장치의 전력 절감 방법 - Google Patents

전자 장치 및 상기 전자 장치의 전력 절감 방법 Download PDF

Info

Publication number
KR20170094905A
KR20170094905A KR1020160016216A KR20160016216A KR20170094905A KR 20170094905 A KR20170094905 A KR 20170094905A KR 1020160016216 A KR1020160016216 A KR 1020160016216A KR 20160016216 A KR20160016216 A KR 20160016216A KR 20170094905 A KR20170094905 A KR 20170094905A
Authority
KR
South Korea
Prior art keywords
decision tree
tree model
state information
power saving
physical devices
Prior art date
Application number
KR1020160016216A
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 한국전자통신연구원
Priority to KR1020160016216A priority Critical patent/KR20170094905A/ko
Priority to US15/183,949 priority patent/US20170235356A1/en
Publication of KR20170094905A publication Critical patent/KR20170094905A/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/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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • 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/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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
    • 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/3243Power saving in microcontroller unit
    • 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/325Power saving in peripheral device
    • 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/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • 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/325Power saving in peripheral device
    • G06F1/3262Power saving in digitizer or tablet
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • Y02B60/121
    • Y02B60/1285
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Computer Hardware Design (AREA)

Abstract

전자 장치가 제공된다. 이 전자 장치는, 시스템 버스; 상기 시스템 버스에 접속되는 다수의 물리적 장치를 포함하는 하드웨어; 및 상기 시스템 버스에 접속되고, 상기 시스템 버스를 통해 상기 다수의 물리적 장치 각각의 상태 정보를 수집하고, 사전에 구축된 의사 결정 트리 모델을 이용하여 상기 수집된 상태 정보가 속하는 특정 카테고리를 선택하고, 상기 선택된 특정 카테고리에 맵핑되는 전력 절감 정책에 따라 상기 다수의 물리적 장치의 동작을 제어하는 전력 제어부를 포함한다.

Description

전자 장치 및 상기 전자 장치의 전력 절감 방법{ELECTRONIC DEVICE AND METHOD FOR REDUCING POWER OF THE ELECTRONIC DEVICE}
본 발명은 전자 장치에 관한 것으로, 상세하게는 저전력으로 동작하는 전자 장치에 관한 것이다.
컴퓨터 시스템들은 운영체제 또는 통합된 관리 시스템에 의해 복잡한 형태로 관리되고 있다. 이러한 관린 환경에서 시스템이 운영되고 있는 상태 정보는 시스템을 효율적으로 운영하기 위해 매우 중요한 정보이다. 여기서, 시스템의 상태 정보로는, 전체 CPU 부하율 또는 각 코어에 대한 부하율, 메모리 사용률, I/O 사용률, 네트워크 사용률, 사용전력, CPI 등이 있을 수 있다.
대부분의 관리 시스템은 시스템의 현재 상태를 위에 열거한 값을 기준으로 판단하고 이를 통해 시스템을 제어한다. 하지만, 이러한 관리 방법은 시스템 상황에 따른 세부적인 기준으로 관리하는 것이 아니기 때문에, 각 상황에 맞는 최적화된 제어를 수행할 수 없다.
따라서, 본 발명의 목적은 사용자 정책을 기반으로 하는 의사 결정 트리를 이용하여 시스템의 상태 정보를 다양한 카테고리로 분류하고, 시스템의 현재 상태가 속하는 카테고리에 맵핑되는 사용자 정책으로 제어되는 전자 장치 및 상기 전자 장치의 전력 절감 방법을 제공하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 전자 장치는, 시스템 버스; 상기 시스템 버스에 접속되는 다수의 물리적 장치를 포함하는 하드웨어; 및 상기 시스템 버스에 접속되고, 상기 시스템 버스를 통해 상기 다수의 물리적 장치 각각의 상태 정보를 수집하고, 사전에 구축된 의사 결정 트리 모델을 이용하여 상기 수집된 상태 정보가 속하는 특정 카테고리를 선택하고, 상기 선택된 특정 카테고리에 맵핑되는 전력 절감 정책에 따라 상기 다수의 물리적 장치의 동작을 제어하는 전력 제어부를 포함한다.
본 발명의 다른 일면에 따른 전자 장치의 전력 절감 방법은, 시스템 버스를 통해 상기 다수의 물리적 장치 각각으로부터 상태 정보를 수집하는 단계; 사전에 구축된 의사 결정 트리 모델을 이용하여 상기 수집된 상태 정보가 속하는 특정 카테고리를 선택하는 단계; 및 상기 선택된 특정 카테고리에 맵핑되는 전력 절감 정책에 따라 상기 다수의 물리적 장치의 동작을 제어하는 단계를 포함한다.
본 발명에 따르면, 사용자의 정책을 기반으로 생성된 의사 결정 트리를 통해 동적으로 전자 장치의 동작 상태를 분류하고, 분류 동작 상태에 최적화된 전력 절감 정책으로 전자 장치의 동작을 제어함으로써, 저전력 및 최적의 성능으로 전자 장치를 제어할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 전자 장치의 시스템 구성을 나타낸 도면이다.
도 2는 도 1에 도시한 전력 제어부의 내부 구성을 도시한 블록도이다.
도 3은 도 2에 도시한 의사 결정 트리 모델 생성부의 내부 구성을 도시한 블록도이다.
도 4는 도 3에 도시한 의사 결정 트리 모델 생성부에 의해 생성된 의사 결정 트리의 일 예를 도시한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 전자 장치에서 전력 절감 방법의 절차를 도시한 순서도이다.
도 6은 도 5에 도시한 단계 S510의 의사 결정 트리 모델의 상세한 절차를 도시한 순서도이다.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시예에서 사용될 수 있는"포함한다" 또는 "포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 발명의 다양한 실시예에서 사용된 "제1", "제2", "첫째" 또는 "둘째," 등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명의 실시예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
도 1은 본 발명의 일 실시 예에 따른 전자 장치의 시스템 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 전자 장치(100)는 통신 기능이 포함된 장치일 수 있다. 예를 들면, 상기 전자 장치(100)는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 비디오 전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
구체적으로, 상기 전자 장치(100)는 시스템 버스(110), 다수의 물리적 장치(120, 130, 140, 150, 160, 170, 및 190)를 포함하는 하드웨어와 전력 제어부(190)를 포함할 수 있다. 여기서, 다수의 물리적 장치 각각은 프로세서(120), 주 기억 장치(130), 네트워크 인터페이스(140), 입출력 인터페이스(150), 디스플레이(160), 전력 계측기(170), 보조 기억 장치(180) 및 전력 제어부(190) 중 어느 하나 일 수 있다.
상기 시스템 버스(110)는 상기 장치들(120, 130, 140, 150, 160, 170, 180 및 190)을 서로 통신 가능하도록 연결한다.
상기 프로세서(120)는 상기 시스템 버스(110)에 접속되며, 상기 시스템 버스(110)를 통해 다른 장치들(130, 140, 150, 160, 170, 180 및 190)로부터 명령을 수신하고, 수신된 명령을 해독하고, 해독된 명령에 따른 데이터 처리 작업 및 그래픽 처리 작업을 수행할 수 있다. 여기서, 상기 프로세서(120)는 복수의 코어를 포함하는 CPU(Central Processing Unit) 및 GPU(Graphic Processing Unit)를 포함할 수 있다.
상기 주 기억 장치(130)는 상기 시스템 버스(110)에 접속되며, 상기 프로세서(120) 및 다른 장치들(140, 150, 160, 170, 180 및 190) 중 적어도 하나의 장치에서 실행 중인 프로그램과 실행에 필요한 명령 또는 데이터를 저장하는 장치로서, RAM(Random Access Memory) 또는 ROM(Read Only Memory)을 예로들 수 있다.
상기 주 기억 장치(130)는, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API: application programming interface) 또는 어플리케이션 등의 프로그래밍 모듈들을 저장할 수 있다. 여기서, 상기 API는 상기 어플리케이션이 상기 커널 또는 상기 미들웨어에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 이미지 처리, 문자 제어 등의 적어도 하나를 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
상기 네트워크 인터페이스(140)는 상기 시스템 버스(110)에 접속되며, 상기 시스템 버스(110)를 통해 각 장치들로부터 수신한 정보를 외부 네트워크에 전송하기 위한 일련의 통신 처리 과정을 수행하는 장치로서, 상기 네트워크 인터페이스(140)는 WiFi(wireless fidelity), WiFi 다이렉트, BT(Bluetooth), NFC(near field communication), GPS(global positioning system), 3G(The Third Generation), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(Universal Mobile Telecommunications System), WiBro, GSM 등의 적어도 하나의 통신 방식을 지원할 수 있다.
상기 입출력 인터페이스(150)는 상기 시스템 버스(110)에 접속되며, 센서, 키보드, 터치 스크린 등의 적어도 하나를 포함하는 입출력 장치를 통하여 사용자로부터 입력된 명령 또는 데이터를 상기 시스템 버스(110)를 통해 상기 장치들(120, 130, 140, 160, 170, 180 및 190) 중 적어도 하나에 전송할 수 있다.
상기 디스플레이(160)는 상기 시스템 버스(110)에 접속되며, 상기 장치들(120, 130, 140, 150, 170, 180, 190) 중 적어도 하나의 장치에서 수행한 작업 결과를 멀티미디어 데이터 또는 텍스트 데이터 등과 같은 각종 정보를 사용자에게 시각적으로 제공한다.
상기 전력 계측기(170)는 상기 시스템 버스(110)에 접속되며, 각 장치들(120, 130, 140, 150, 160, 180 및 190)의 전력 사용량(소비량)을 계측하는 장치로서, 상기 전력 계측기(170)는 내부 전력 계측기 및 외부 전력 계측기를 포함할 수 있다. 상기 내부 전력 계측기는 상기 장치들(110~190)이 하나의 메인 보드(도면에 도시하지 않음) 상에 탑재된 경우, 상기 메인 보드에 탑재되는 계측기이고, 상기 외부 전력 계측기는 전자 장치(100)의 외부에 설치된 계측기일 수 있다. 본 실시 예에서는 상기 전력 계측기(170)는 내부 전력 계측기인 경우를 설명한 것이다.
상기 보조 기억 장치(180)는 장치들(120, 130, 140, 150, 160, 170 및 190) 중 적어도 하나의 장치에서 실행하는 프로그램, 소프트웨어 모듈 및 실행에 필요한 데이터를 영구적으로 저장하는 장치로서, 하드 디스크를 예로 들 수 있다.
상기 전력 제어부(190)는 상기 시스템 버스(110)에 접속되며, 상기 시스템 버스(110)를 통해 상기 장치들(120, 130, 140, 150, 160, 170, 180) 각각의 상태 정보를 수집하고, 사전에 구축된 의사 결정 트리 모델을 이용하여 상기 수집된 상태 정보가 속하는 특정 카테고리를 선택하고, 상기 선택된 특정 카테고리에 맵핑되는 전력 절감 정책에 따라 상기 장치들(120, 130, 140, 150, 160, 170, 180)의 동작을 제어한다.
상기 상태 정보는 각 장치들(120~180)의 상태를 수치화한 상태값을 포함하며, 상기 상태값은, 예를 들면, 프로세서 사용률(또는 부하율), 메모리 사용률, 네트워크 대역폭 사용률, 입출력(I/O) 사용률, 명령당 클록 사이클 수(Cycles Per Instruction: CPI), 사용 전력, 스케쥴러 레이턴시(Scheduler latency) 등을 포함할 수 있다. 여기서, 프로세서 사용률은 CPU 및 GPU 사용률을 포함할 수 있다. CPI는 CPU 및 GPU가 프로그램을 실행할 때, 명령 1개당 소요 사이클 수를 의미한다.
상기 전력 제어부(190)는 상기 의사 결정 트리 모델을 사전에 구축하고(생성하고), 사전에 구축된 의사 결정 트리 모델은 상기 보조 기억 장치(180)에 저장된다. 상기 보조 기억 장치(180)에 저장된 의사 결정 트리 모델은 상기 전력 제어부(190)의 동작 시(실행 시)에 상기 주 기억 장치(130)로 이동되어, 상기 주 기억 장치(130)에서 실행될 수 있다.
도 1에서는, 상기 전력 제어부(190)를 하드웨어 모듈로 도시하고 있으나, 소프트웨어 모듈로 구현될 수도 있다. 상기 전력 제어부(190)가 소프트웨어 모듈로 구현되는 경우, 상기 전력 제어부(190)는 운영 체제와 물리적 장치들(120~180)을 연결하는 커널에서 실행되는 소프트웨어 모듈일 수도 있다.
도 2는 도 1에 도시한 전력 제어부의 내부 구성을 도시한 블록도이다.
도 2를 참조하면, 상기 전력 제어부(190)는 사용자의 전력 절감 정책에 따라 상기 장치들(120, 130, 140, 150, 160, 170, 180)의 동작을 제어하기 위해, 의사 결정 트리 모델 생성부(191), 정보 수집부(193), 카테고리 선택부(195) 및 장치 제어부(197)를 포함할 수 있다.
상기 의사 결정 트리 모델 생성부(191)는 상기 장치들(120~180) 각각의 상태 정보를 학습하여 최적의 전력 절감 정책을 모델링 한 의사 결정 트리 모델을 생성한다.
즉, 상기 의사 결정 트리 모델 생성부(191)는 사용자가 설정한 다수의 전력 절감 정책을 다수의 카테고리로 분류하고, 분류된 카테고리들을 트리 구조(tree structure)로 구성하여 상기 의사 결정 트리 모델을 생성한다. 상기 생성된 의사 결정 트리 모델은 보조 기억 장치(180)에 저장되고, 상기 전력 제어부(190)의 동작 시(실행 시)에 상기 주 기억 장치(130)로 이동 저장되어, 상기 주 기억 장치(130)에서 실행될 수 있다.
상기 의사 결정 트리 모델의 생성 과정에 대해서는, 도 3을 참조하여 설명한다.
상기 정보 수집부(193)는 상기 장치들(120, 130, 140, 150, 160, 170, 180)의 상태 정보를 주기적으로 수집한다.
각 장치들(120, 130, 140, 150, 160, 170, 180)은 상기 정보 수집부(193)의 요청에 따라 각자의 상태 정보를 상기 시스템 버스(110)를 통해 상기 정보 수집부(193)로 전송할 수 있다.
다르게, 상기 정보 수집부(193)의 요청 없이, 각 장치들(120, 130, 140, 150, 160, 170, 180)은 일정 시간 간격으로 각자의 상태 정보를 상기 시스템 버스(110)를 통해 상기 정보 수집부(193)로 전송할 수 있다.
상기 정보 수집부(193)는 사용자에 의해 선택된 장치들의 상태 정보만을 수집할 수 있다.
상기 정보 수집부(193)는 상기 상태 정보를 슬라이딩 윈도우(sliding window) 단위로 수집할 수 있다.
상기 상태 정보는 각 장치의 상태를 수치화한 상태값을 포함하며, 상기 정보 수집부(193)는, 상기 장치 별로 설정된 슬라이딩 윈도우 개수만큼 상기 상태값을 누적하고, 상기 누적된 상태값의 평균값을 상기 카테고리 선택부(195)로 전달할 수 있다.
상기 카테고리 선택부(195)는 상기 주 기억 장치(130)에서 실행되는 상기 의사 결정 트리 모델에 의해 분류된 다수의 카테고리 중에서 상기 정보 수집부(193)에서 수집한 상태 정보(또는 상기 평균값)가 속하는 특정 카테고리를 선택한다.
상기 장치 제어부(197)는 상기 카테고리 선택부(195)에서 선택된 상기 특정 카테고리에 맵핑되는 전력 절감 정책으로 상기 장치들의 동작을 제어하는 동작 명령을 생성하고, 생성된 동작 명령을 시스템 버스(110)를 통해 해당 장치들로 전송한다.
해당 장치들은 상기 전력 절감 정책에 따라 생성된 상기 동작 명령으로 동작함으로써, 전체 시스템은 최적의 성능에서 저전력으로 동작할 수 있다.
도 3은 도 2에 도시한 의사 결정 트리 모델 생성부의 내부 구성을 도시한 블록도이다.
도 3을 참조하면, 상기 의사 결정 트리 모델 생성부(191)은 상태값 분할부(191-1), 노드 구성부(191-3), 카테고리 분류부(191-5) 및 트리 구조 생성부(191-7)를 포함할 수 있다.
상기 상태값 분할부(191-1)는 상기 전자 장치(100)에 포함된 모든 장치들 또는 사용자에 의해 선택된 특정 장치들 각각에서 측정될 수 있는 상태 정보를 다수의 단계로 분할한다. 즉, 상기 상태값 분할부(191-1)는 상기 상태 정보에 포함된 상태값 또는 상기 상태 정보를 수치화된 상태값으로 표현할 때, 표현 가능한 상태값의 전체 범위를 다수의 단계로 분할한다. 이때, 분할되는 단계의 수 또한 사용자에 의해 선택될 수 있다.
아래의 표는 CPU 사용률의 전체 범위를 0% 내지 100%로 표현할 때, 전체 범위를 총 4단계로, CPI의 전체 범위를 0 내지 1.0으로 표현할 때, 전체 범위를 총 5 단계로, 네트워크 대역폭 사용률의 전체 범위를 0% 내지 100%로 표현할 때, 총 4단계로 분할한 예를 나타낸 것이다.
단계 1 단계 2 단계 3 단계 4 단계 5
CPU 사용률(%) 0 <cpu≤19 20≤cpu≤49 50≤cpu≤79 80≤cpu≤100
CPI 0≤cpi<0.2 0.2<cpi<0.5 0.5<cpi<0.7 0.7<cpi< 1.0 1.0≤cpi
네트워크 대역폭 사용률(%) net<1 1≤net<10 10≤net<50 50≤net≤100
상기 노드 구성부(191-3)는 상기 상태값 분할부(191-1)에 의해 분할된 각 단계를 노드로 구성한다. 위의 표 1을 예로 들면, CPU 사용률은 총 4개 노드들로 구성하고, 상기 CPI는 총 5개의 노드들로 구성하고, 상기 네트워크 대역폭 사용률은 총 4개의 노드들로 구성한다.
상기 카테고리 분류부(191-5)는 각 단계별로 구성된 노드들을 사용자에 의해 수립된 전력 절감 정책에 따라 다수의 카테고리로 분류한다. 예를 들면, CPU 사용률의 단계 1에 매핑되는 노드를 카테고리 4로 분류하고, CPU 사용률의 단계 2에 대응하는 노드와 CPI의 단계 1에 대응하는 노드를 카테고리 4로 분류할 수 있다.
상기 트리 구조 생성부(191-7)는 상기 다수의 카테고리 별로 분류된 상기 다수의 노드를 트리 구조(tree structure)로 구성하여 상기 의사 결정 트리 모델을 생성한다.
도 4는 도 3에 도시한 의사 결정 트리 모델 생성부에 의해 생성된 의사 결정 트리의 일 예를 도시한 도면이다.
도 4를 참조하면, 도 4에 도시한 의사 결정 트리에서는 각 장치들의 상태값을 5개의 카테고리들(cat1, cat2, cat3, cat4, cat5)로 분류한 트리 구조이다.
본 발명의 일 실시 예에 따른 의사 결정 트리에서, 각 트리의 종단 노드는 해당 카테고리에 맵핑되도록 구성된다. 예를 들면, 도 4에서, 카테고리 4(cat4)는 종단 노드(N1)에 맵핑되고, 카테고리 5(cat5)는 노드(N2)와 노드(N3)를 연결하는 트리에서 종단 노드인 노드(N3)에 맵핑되도록 구성된다.
각 카테고리로 분류된 노드들은 전력 절감을 위해 사용자가 제어를 원하는 상태값들의 조합(또는 집합)이다.
상기 카테고리 4(cat 4)는 프로세서(120)의 CPU 사용률이 매우 높은 상태이다. 이러한 상기 카테고리 4(cat 4)에서는, 다른 장치들의 상태와는 상관없이 전자 장치(100)가 최대 성능으로 동작하도록 제어하는데 초점을 맞춘다. 즉, CPU, 메모리 등 시스템 성능에 밀접한 관계에 있는 CPU, 메모리와 같은 하드웨어가 최대 동작 주파수로 실행되도록 제어하는 전력 절감 정책을 수립한다.
상기 카테고리 5(cat 5)는 CPU 사용률이 50% 미만이지만, CPI가 0.2보다 작기 때문에, CPU 중심의 작업 실행률이 높은 상태이다. 이러한 상기 카테고리 5(cat 5)에서는, CPU의 성능을 최대로 끌어올려 작업을 빠르게 마치도록 제어하는 것이 전력 절감 측면에서 유리할 것이다.
따라서, 상기 카테고리 5(cat 5)에서는, CPU의 동적 전압 및 주파수 스케일링(Dynamic Voltage and Frequency Scaling: DVFS)을 제어하여 CPU의 실행 주파수(또는 동작 주파수)를 최대 실행 주파수(또는 최대 동작 주파수)로 제어하는 전력 절감 정책을 수립한다.
이와 같이, 본 발명의 일 실시 예에 따른 전자 장치는, 다양한 자원들(물리적 장치들)의 각 상태 정보를 의사 결정 트리를 사용하여 특정 카테고리(또는 특정 그룹)으로 분류하고, 분류된 특정 카테고리에 수립된 전력 절감 정책에 따라 각 자원들(물리적 장치들)의 동작을 제어함으로써, 전자 장치(100)가 저전력을 소비하고, 동시에 최적의 상태로 동작할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 전자 장치에서 전력 절감 방법의 절차를 도시한 순서도이다. 아래의 각 단계를 설명하는 과정에서, 도 1 내지 도 4를 참조한 설명과 중복되는 부분은 생략하거나 개략적으로 설명한다. 특별한 언급이 없는 한 아래의 각 단계의 수행 주체는 도 1에 도시한 전력 제어부(190)로 가정한다.
도 5를 참조하면, 먼저, 단계 S510에서, 다수의 물리적 장치의 상태 정보를 학습하여 최적의 전력 절감 정책을 모델링 한 의사 결정 트리 모델을 생성한다. 상기 의사 결정 트리 모델을 생성하는 과정은 도 6을 참조하여 설명한다.
이어, 단계 S520에서, 시스템 버스를 통해 상기 다수의 물리적 장치 각각의 상태 정보를 수집한다. 상기 상태 정보는 슬라이딩 윈도우(sliding window) 단위로 수집될 수 있다. 이때, 상기 상태 정보를 수치화한 상태값은 지정된 상기 슬라이딩 윈도우 개수만큼 누적되고, 상기 누적된 상태값의 평균값이 계산된다.
이어, 단계 S530에서, 상기 의사 결정 트리 모델을 이용하여 상기 수집된 상태 정보가 속하는 특정 카테고리를 선택한다. 즉, 상기 단계 S520에서 계산한 평균값이 속하는 특정 카테고리를 선택한다.
이어, 단계 S540에서, 상기 선택된 특정 카테고리에 맵핑되는 전력 절감 정책에 따라 상기 다수의 물리적 장치의 동작을 제어한다.
도 6은 도 5에 도시한 단계 S510의 의사 결정 트리 모델의 상세한 절차를 도시한 순서도이다.
도 6을 참조하면, 먼저, 단계 S512에서, 각 장치에서 측정될 수 있는 상태 정보를 다수의 단계로 분할한다. 즉, 상기 상태 정보를 수치화된 상태값으로 표현할 때, 표현 가능한 상태값의 전체 범위를 다수의 단계로 분할한다.
이어, 단계 S514에서, 상기 분할된 다수의 단계를 각각 다수의 노드로 구성한다.
이어, 단계 S516에서, 상기 다수의 노드를 상기 전력 절감 정책에 따라 다수의 카테고리로 분류한다.
이어, 단계 S518에서, 상기 다수의 카테고리 별로 분류된 상기 다수의 노드를 트리 구조(tree structure)로 구성하여 상기 의사 결정 트리 모델을 생성한다.
이상에서 본 발명에 대하여 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (14)

  1. 시스템 버스;
    상기 시스템 버스에 접속되는 다수의 물리적 장치를 포함하는 하드웨어; 및
    상기 시스템 버스에 접속되고, 상기 시스템 버스를 통해 상기 다수의 물리적 장치 각각의 상태 정보를 수집하고, 사전에 구축된 의사 결정 트리 모델을 이용하여 상기 수집된 상태 정보가 속하는 특정 카테고리를 선택하고, 상기 선택된 특정 카테고리에 맵핑되는 전력 절감 정책에 따라 상기 다수의 물리적 장치의 동작을 제어하는 전력 제어부
    를 포함하는 전자 장치.
  2. 제1항에서, 상기 전력 제어기는,
    상기 상태 정보를 수집하는 정보 수집부; 및
    상기 의사 결정 트리 모델에 의해 사전에 분류된 다수의 카테고리 중에서 상기 수집된 상태 정보가 속하는 상기 특정 카테고리를 선택하는 카테고리 선택부; 및
    상기 특정 카테고리에 맵핑되는 전력 절감 정책으로 상기 다수의 물리적 장치의 동작을 제어하는 장치 제어부
    를 포함 하는 전자 장치.
  3. 제2항에서, 상기 정보 수집부는,
    상기 상태 정보를 슬라이딩 윈도우(sliding window) 단위로 수집함을 특징으로 하는 전자 장치.
  4. 제2항에서, 상기 정보 수집부는,
    상기 상태 정보에 포함된 수치화한 상태값을 누적하고, 상기 누적된 상태값의 평균값을 상기 카테고리 선택부로 전달함을 특징으로 하는 전자 장치.
  5. 제4항에서, 상기 카테고리 선택부는,
    상기 다수의 카테고리 중에서 상기 평균값이 속하는 상기 특정 카테고리를 선택함을 특징으로 하는 전자 장치.
  6. 제1항에서, 상기 전력 제어부는,
    상기 다수의 물리적 장치의 상태 정보를 학습하여 최적의 전력 절감 정책을 모델링 한 상기 의사 결정 트리 모델을 생성하는 의사 결정 트리 모델 생성부를 포함함을 특징으로 하는 전자 장치.
  7. 제6항에서, 상기 의사 결정 트리 모델 생성부는,
    상기 상태 정보를 수치화된 상태값으로 표현할 때, 표현 가능한 상태값의 전체 범위를 다수의 단계로 분할하는 상태값 분할부;
    상기 분할된 다수의 단계를 각각 다수의 노드로 구성하는 노드 구성부;
    상기 다수의 노드를 상기 전력 절감 정책에 따라 다수의 카테고리로 분류하는 카테고리 분류부; 및
    상기 다수의 카테고리별로 분류된 상기 다수의 노드를 트리 구조(tree structure)로 구성하여 상기 의사 결정 트리 모델을 생성하는 트리 구조 생성부
    를 포함함을 특징으로 하는 전자 장치.
  8. 시스템 버스에 접속되는 다수의 물리적 장치를 포함하는 전자 장치의 전력 절감 방법에서,
    상기 시스템 버스를 통해 상기 다수의 물리적 장치 각각으로부터 상태 정보를 수집하는 단계;
    사전에 구축된 의사 결정 트리 모델을 이용하여 상기 수집된 상태 정보가 속하는 특정 카테고리를 선택하는 단계; 및
    상기 선택된 특정 카테고리에 맵핑되는 전력 절감 정책에 따라 상기 다수의 물리적 장치의 동작을 제어하는 단계
    를 포함하는 전자 장치의 전력 절감 방법.
  9. 제8항에서, 상기 특정 카테고리를 선택하는 단계는,
    상기 의사 결정 트리 모델에 의해 사전에 분류된 다수의 카테고리 중에서 상기 수집된 상태 정보가 속하는 상기 특정 카테고리를 선택하는 단계임을 특징으로 하는 전자 장치의 전력 절감 방법.
  10. 제9항에서, 상기 다수의 카테고리는,
    사용자에 의해 사전에 수립된 다수의 전력 절감 정책에 각각 맵핑됨을 특징으로 하는 전자 장치의 전력 절감 방법.
  11. 제8항에서, 상기 상태 정보를 수집하는 단계는,
    상기 상태 정보를 슬라이딩 윈도우(sliding window) 단위로 수집하는 단계; 및
    상기 상태 정보를 수치화한 상태값으로 표현할 때, 상기 상태값을 지정된 슬라이딩 윈도우 개수만큼 누적하는 단계; 및
    상기 누적된 상태값의 평균값을 계산하는 단계
    를 포함함을 특징으로 하는 전자 장치의 전력 절감 방법.
  12. 제11항에서, 상기 특정 카테고리를 선택하는 단계는,
    상기 평균값이 속하는 상기 특정 카테고리를 선택하는 단계임을 특징으로 하는 전자 장치의 전력 절감 방법.
  13. 제8항에서, 상기 다수의 물리적 장치의 상태 정보를 학습하여 최적의 전력 절감 정책을 모델링 한 상기 의사 결정 트리 모델을 생성하는 단계를 더 포함함을 특징으로 하는 전자 장치의 전력 절감 방법.
  14. 제13항에서, 상기 의사 결정 트리 모델을 생성하는 단계는,
    상기 상태 정보를 수치화된 상태값으로 표현할 때, 표현 가능한 상태값의 전체 범위를 다수의 단계로 분할하는 단계;
    상기 분할된 다수의 단계를 각각 다수의 노드로 구성하는 단계;
    상기 다수의 노드를 상기 전력 절감 정책에 따라 다수의 카테고리로 분류하는 단계; 및
    상기 다수의 카테고리 별로 분류된 상기 다수의 노드를 트리 구조(tree structure)로 구성하여 상기 의사 결정 트리 모델을 생성하는 단계
    를 포함함을 특징으로 하는 전자 장치의 전력 절감 방법.
KR1020160016216A 2016-02-12 2016-02-12 전자 장치 및 상기 전자 장치의 전력 절감 방법 KR20170094905A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160016216A KR20170094905A (ko) 2016-02-12 2016-02-12 전자 장치 및 상기 전자 장치의 전력 절감 방법
US15/183,949 US20170235356A1 (en) 2016-02-12 2016-06-16 Electronic device and method of reducing power thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160016216A KR20170094905A (ko) 2016-02-12 2016-02-12 전자 장치 및 상기 전자 장치의 전력 절감 방법

Publications (1)

Publication Number Publication Date
KR20170094905A true KR20170094905A (ko) 2017-08-22

Family

ID=59561475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160016216A KR20170094905A (ko) 2016-02-12 2016-02-12 전자 장치 및 상기 전자 장치의 전력 절감 방법

Country Status (2)

Country Link
US (1) US20170235356A1 (ko)
KR (1) KR20170094905A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210009692A (ko) * 2019-07-17 2021-01-27 충남대학교산학협력단 펌웨어 정보 분류 시스템 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10798173B2 (en) * 2017-08-18 2020-10-06 Voko Solutions Limited System and method for facilitating a data exchange amongst communication devices connected via one or more communication networks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US7243243B2 (en) * 2002-08-29 2007-07-10 Intel Corporatio Apparatus and method for measuring and controlling power consumption of a computer system
US8190939B2 (en) * 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
US8965718B2 (en) * 2011-11-01 2015-02-24 Microsoft Technology Licensing, Llc Analyzing power consumption in mobile computing devices
US9684787B2 (en) * 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210009692A (ko) * 2019-07-17 2021-01-27 충남대학교산학협력단 펌웨어 정보 분류 시스템 및 방법

Also Published As

Publication number Publication date
US20170235356A1 (en) 2017-08-17

Similar Documents

Publication Publication Date Title
Ye et al. EdgeFed: Optimized federated learning based on edge computing
US9378536B2 (en) CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing
US9292293B2 (en) Intelligent multicore control for optimal performance per watt
CN107111553B (zh) 用于在多集群异构处理器架构中提供动态高速缓存扩展的系统和方法
EP3259825B1 (en) Heterogeneous battery cell switching
EP2664214B1 (en) Method for multipath scheduling based on a lookup table
JP5593404B2 (ja) プロセッサにおいてスレッドを実行するシステムおよび方法
CN105359057A (zh) 设置计算机参数使得电源工作在基于电源的功率效率峰值的范围内
Gao et al. On exploiting dynamic execution patterns for workload offloading in mobile cloud applications
CN104007806A (zh) 一种安卓系统中的cpu频率的控制方法、装置和设备
US10064141B2 (en) Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
KR20140009074A (ko) 동기화 애플리케이션들에 대한 스마트 스케줄링 동기화 방법 및 모바일 디바이스
CN104704469A (zh) 动态地重新平衡图形处理器资源
US9372716B1 (en) Download prioritization
CN104246705A (zh) 管理计算系统操作
KR102257737B1 (ko) 전자장치의 처리량 제어장치 및 방법
CN104516477A (zh) 进入低功率状态的技术
KR20170094905A (ko) 전자 장치 및 상기 전자 장치의 전력 절감 방법
CN107391564A (zh) 数据转换方法、装置以及电子设备
US20150301582A1 (en) Energy Efficient Mobile Device
Huang et al. Dust: Real-time code offloading system for wearable computing
KR20150069406A (ko) 멀티 링크 무선 단말을 위한 링크 제어 방법
CN110888733B (zh) 集群资源使用情况处理方法、装置及电子设备
JP2018508081A (ja) 入力シリアルの処理方法、装置、デバイス及び不発揮性コンピュータ記憶媒体
CN104756043B (zh) 用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法