KR101454219B1 - 그래픽 처리 장치의 전력 관리 방법 및 전력 관리 시스템 - Google Patents

그래픽 처리 장치의 전력 관리 방법 및 전력 관리 시스템 Download PDF

Info

Publication number
KR101454219B1
KR101454219B1 KR1020120135007A KR20120135007A KR101454219B1 KR 101454219 B1 KR101454219 B1 KR 101454219B1 KR 1020120135007 A KR1020120135007 A KR 1020120135007A KR 20120135007 A KR20120135007 A KR 20120135007A KR 101454219 B1 KR101454219 B1 KR 101454219B1
Authority
KR
South Korea
Prior art keywords
power management
driver
graphics processing
operating
domain
Prior art date
Application number
KR1020120135007A
Other languages
English (en)
Other versions
KR20140067581A (ko
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 KR1020120135007A priority Critical patent/KR101454219B1/ko
Priority to US14/039,894 priority patent/US20140146060A1/en
Publication of KR20140067581A publication Critical patent/KR20140067581A/ko
Application granted granted Critical
Publication of KR101454219B1 publication Critical patent/KR101454219B1/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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

그래픽 처리 장치의 전력 관리를 수행하는 전력 관리 시스템이 개시된다. 전력 관리 시스템은, 그래픽 처리 장치의 장치 드라이버(device driver)를 호출하거나, 장치 드라이버에 의해서 호출되는 인터페이스를 포함하며, 그래픽 처리 장치의 동작 전압 또는 동작 주파수를 제어하는 전력 관리 드라이버와 운영 체제의 전력 관리 정책 모듈에게 상기 전력 관리 드라이버에 대한 인터페이스를 제공하는 전력 관리 가버너 인터페이스 모듈을 포함하여 구성된다. 따라서, 본 발명에 따른 전력 관리 시스템은 그래픽 처리 장치의 하드웨어 구성에 비의존적으로 그래픽 처리 장치의 작업 부하 변화에 기초한 운영 체제의 전력 관리 정책이 그래픽 처리 장치에 적용되도록 할 수 있다.

Description

그래픽 처리 장치의 전력 관리 방법 및 전력 관리 시스템{Method of power management for graphic processing unit and system thereof}
본 발명은 그래픽 처리 장치(GPU: Graphic Processing Unit)의 전력 관리에 관한 것으로, 더욱 상세하게는 운영체제의 전력관리 모듈과 그래픽 처리 장치의 장치 드라이버 사이에 전력 관리를 위한 인터페이스를 정의함으로써 동적 전압 및 주파수 조정을 통해 그래픽 정리 장치의 전력 관리를 수행하는 방법에 관한 것이다.
근래의 그래픽 처리 장치(Graphic Processing Unit)는 기존의 단순한 그래픽 가속장치(accelerator)로써의 역할을 넘어서 범용 프로세서와 함께 이기종(heterogeneous) 시스템을 구성하는 스트리밍 멀티프로세서(streaming multiprocessor)로 발전하였다.
버텍스(vertex) 프로세서와 프래그먼트(fragment) 프로세서로 구분되었던 기존의 그래픽처리장치의 연산 장치는 하나의 쉐이더(shader) 프로세서로 통합되었고 그래픽처리장치의 내부 메모리와 범용 프로세서인 중앙 처리 장치(CPU: Central Processing Unit)의 내부 메모리를 연결하는 interconnect 인터페이스까지 추가된 상태이다.
이는 그래픽 처리 장치가 타겟 응용프로그램을 더 이상 그래픽 응용프로그램으로 제한하지 않으며, 일반적인 병렬 처리 연산을 위해서도 설계되고 있음을 뜻한다.
실제로 데스크탑 플랫폼에 사용되고 있는 그래픽처리장치는 CUDA와 OpenCL과 같은 범용 병렬 프로그래밍 프레임워크를 지원하고 있고 이는 임베디드 기기에 사용되는 모바일 그래픽 처리 장치에까지 확산되어가는 추세다.
그러나, 고성능의 그래픽 처리 장치는 높은 전력 소모량을 가지고 있으며, 전력 소모량의 절감을 위해서는 높은 수준의 전력 관리 제어 기법(예컨대, 동적 전압 및 동적 주파수 조정 기법인 DVFS(Dynamic Voltage and Frequency Scaling) 등)이 적용되어야만 한다.
일부 응용에서는 하드웨어 레벨에서의 DVFS 기법이 적용된 그래픽 처리 장치가 이용되기도 하지만, 이 경우에도 특정한 전력 관리 칩(PMIC: Power Management IC)에 의존적인 구현이 된다는 문제점이 있다.
또한, 현재 운영체제는 연산 장치로서의 그래픽처리장치를 위한 전력관리 인터페이스를 제공하고 있지 않다. 이는 그래픽처리장치에 기존의 프로세서 전력관리를 위해 널리 사용되고 있는 동적 전압 및 주파수 조정 기법 (Dynamic Voltage and Frequency Scaling)을 적용하기 어렵게 하는데, 운영체제에서 보는 그래픽처리장치는 단순한 입출력(I/O) 장치이기 때문에 그래픽 처리 장치 입장에서 활용할 수 있는 전력관리 인터페이스는 하드디스크와 같은 I/O장치에 주로 적용되고 있는 단순한 서스펜드/리쥼(suspend/resume) 인터페이스로 한정된다.
예컨대, 한국 등록특허공보 제10-1345380호(2008.04.08. 3차원 그래픽스 데이터를 처리하는 장치에 공급하는 전원의 전압을 제어하는 방법 및 이를 이용하는 3차원 그래픽스 데이터 처리 장치)에 따르면, 그래픽스 데이터에 포함된 객체를 나타내는 정점(vertex)의 개수, 삼각형의 개수, 프래그먼트의 개수, 라이팅 파라미터(Lighting Parameter), 텍스쳐 파라미터(Texture Parameter) 중 적어도 하나를 분석하여 결정된 데이터 양을 고려하여 그래픽스 데이터 처리 장치에 공급하는 전원의 전압을 제어하였다.
그러나, 이와 같은 기술은 여전히 그래픽 처리 장치에 의존적으로 구성되어 전력을 제어하므로, 한정된 배터리 용량을 가지는 모바일 환경과 같은 경우는 적용하기 어려운 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 그래픽 처리 장치의 구현에 비의존적이면서도, 운영체제의 DVFS(Dynamic Voltage and Frequency Scaling) 전력 관리 정책을 그래픽 처리 장치에 대하여 수행할 수 있도록 하는 그래픽 처리 장치의 전력 관리 시스템을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 상술된 그래픽 처리 장치의 전력 관리 시스템을 이용하여 그래픽 처리 장치의 DVFS(Dynamic Voltage and Frequency Scaling) 전력 관리를 수행하는 전력 관리 방법을 제공하는데 있다.
상기 목적을 달성하기 위해 본 발명은, 그래픽 처리 장치의 전력 관리를 수행하는 전력 관리 시스템으로서, 그래픽 처리 장치의 장치 드라이버(device driver)를 호출하거나, 상기 장치 드라이버에 의해서 호출되는 인터페이스를 포함하며, 그래픽 처리 장치의 동작 전압 및/또는 동작 주파수를 제어하는 전력 관리(DVFS: Dynamic Voltage and Frequency Scaling) 드라이버 및 운영 체제(operating system)의 전력 관리 정책 모듈(power management policy module)에게 상기 전력 관리 드라이버에 대한 인터페이스를 제공하는 전력 관리 가버너(DVFS governor) 인터페이스 모듈을 포함한, 그래픽 처리 장치의 전력 관리 시스템을 제공한다.
여기에서, 상기 그래픽 처리 장치는 적어도 하나의 도메인(domain)을 가지며, 상기 도메인은 동일한 동작 주파수(operating frequency)를 공유하는 적어도 하나의 프로세서 코어(processor core)들의 집합일 수 있다.
이때, 상기 전력 관리 드라이버가 포함하는 인터페이스는, 상기 도메인에 관한 정보를 제공하는 함수를 포함할 수 있다. 상기 도메인에 관한 정보는, 상기 그래픽 처리 장치가 가진 도메인의 숫자 및 각 도메인이 지원하는 동작 주파수들 및/또는 동작 전압들에 대한 정보를 포함할 수 있다.
이때, 상기 전력 관리 드라이버가 포함하는 인터페이스는, 상기 도메인에 속한 프로세스 코어들이 활성화 상태(active state)에 있었던 평균 시간을 반환하는 함수를 포함할 수 있다.
이때, 상기 전력 관리 드라이버가 포함하는 인터페이스는, 상기 도메인별로 동작 전압 및/또는 동작 주파수를 지정하는 함수를 포함할 수 있다.
이때, 상기 가버너 인터페이스 모듈이 포함하는 인터페이스는 상기 운영체제의 전력 관리 정책 모듈을 상기 그래픽 처리 장치의 도메인별로 등록시키는 함수를 제공할 수 있다.
이때, 상기 가버너 인터페이스 모듈이 포함하는 인터페이스는, 상기 운영체제의 전력 관리 정책 모듈이 상기 그래픽 처리 장치의 도메인 별로 동작 전압 및/또는 동작 주파수를 지정하는 함수를 포함할 수 있다. 상기 그래픽 처리 장치의 도메인 별로 동작 전압 및/또는 동작 주파수를 지정하는 함수는, 상기 도메인별로 지원하는 전압 및/또는 주파수값 중에서 상기 운영체제의 전력 관리 모듈이 지정한 전압 및/또는 주파수값에 가장 근접한 값을 선택하도록 구성될 수 있다.
이때, 상기 가버너 인터페이스 모듈이 포함하는 인터페이스는, 상기 도메인에 속한 프로세스 코어들이 활성화 상태에 있었던 평균 시간을 반환하는 함수를 포함할 수 있다.
상기 다른 목적을 달성하기 위해 본 발명은, 그래픽 처리 장치의 전력 관리를 수행하는 전력 관리 방법으로서, 운영체제의 전력 관리 정책 모듈이 상기 그래픽 처리 장치의 장치 드라이버를 제어하는 전력 관리 드라이버와 상기 전력 드라이버를 제어하는 가버너 인터페이스 모듈을 통하여 상기 그래픽 처리 장치와 관련된 정보를 수집하는 단계 및 상기 운영체제의 전력 관리 정책 모듈이, 상기 수집된 정보에 기초한 전력 관리 정책 결정에 따라, 상기 가버너 인터페이스 모듈과 상기 전력 관리 드라이버를 통해 상기 그래픽 처리 장치의 장치 드라이버를 제어하여 상기 프로세서 코어들의 동작 전압 및/또는 동작 주파수를 조정하는 단계를 포함하는, 그래픽 처리 장치의 전력 관리 방법을 제공한다.
여기에서, 상기 그래픽 처리 장치와 관련한 정보는, 상기 그래픽 처리 장치가 가진 도메인의 숫자 및 각 도메인이 지원하는 동작 주파수들 및/또는 동작 전압들에 대한 정보를 포함할 수 있다.
여기에서, 상기 그래픽 처리 장치와 관련한 정보는, 상기 도메인에 속한 프로세스 코어들이 활성화 상태(active state)에 있었던 평균 시간을 포함할 수 있다.
상기와 같은 본 발명에 따른 그래픽 처리 장치의 전력 관리 시스템 및 전력 관리 방법을 이용할 경우에는, 그래픽 처리 장치의 하드웨어 구성에 비의존적으로 운영 체제 레벨에서 DVFS 전력 관리를 수행할 수 있다.
그래픽 처리 장치의 작업 부하는 시변 특성이 강하므로, 본 발명에 따른 전력 관리 시스템을 이용할 경우에는, 그래픽 처리 장치의 작업 부하 변화에 최적화된 운영 체제의 전력 관리 정책(power management policy)이 그래픽 처리 장치에도 적용될 수 있으므로, 특히 한정된 배터리 용량을 가지는 모바일 환경에서 발열과 전력 소모를 최소화하는 효과를 가져올 수 있다.
도 1은 그래픽 처리 장치 작업 부하(workload)의 변화 예를 도시한 그래프이다.
도 2는 본 발명에 따른 그래픽 처리 장치 전력 관리 시스템의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명에 따른 전력 관리 시스템을 이용한 전력 관리 방법의 일 실시예를 설명하기 위한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 그래픽 처리 장치 작업 부하(workload)의 변화 예를 도시한 그래프이다.
도 1은 대표적인 1인칭 슈팅(FPS: First Person Shooting) 게임인 Quake III 게임을 수행한 경우에, 임베디드 그래픽 처리 장치를 사용한 응용에서 시간의 변화에 따른 초당 프레임 수(FPS: Frame Per Second)의 변화를 2가지 동작 주파수에 대해서 도시한 것이다.
본 결과에서 채용된 플랫폼은 중앙 처리 장치로서 ARM Cortex A-9 듀얼 코어 프로세서가 채용되고, 그래픽 처리 장치로서 Mali-400MP를 채용한 것이다. 플랫폼의 클록 관리 유닛은 2단계의 클록 주파수(160MHz와 267MHz) 스케일링 스킴을 제공한다.
도 1의 x축은 초 단위로 표시된 시간 경과를 표현한 것이며, y축은 초당 프레임 수(FPS)를 표현한 것이다. 도 1에서 실선(110)은 동작 주파수가 160MHz인 경우의 FPS 변화를 보여주는 것이며, 점선(120)은 동작 주파수가 267MHz인 경우의 FPS 변화를 보여주는 것이다.
도 1을 참조하면, GPU의 동작 주파수가 160MHz로 설정되어 있을 경우에도 동작 주파수가 267MHz로 설정되어 있는 경우와 거의 유사한 FPS를 달성 가능함을 실험적으로 확인 가능하다. 그러나, 특정 구간에서는 동작 주파수가 267MHz 로 설정되어 있는 경우에 비하여 동작 주파수가 160MHz로 설정되어 있는 경우에 심각한 성능 저하(performance degradation)가 관찰된다.
이는 GPU 어플리케이션들은 상당한 작업 부하의 변화를 가지고 있으며, 높은 프로세싱 파워를 필요로 하는 특정한 기간을 제외하고는 GPU가 항상 높은 동작 주파수로 동작될 필요가 없음을 의미한다.
본 발명에 따른 전력 관리 시스템은 상술된 작업 부하의 변화에 대응하기 위한 운영 체제의 전력 관리 정책이 그래픽 처리 장치에 적용될 수 있도록 하는 프레임워크를 제시하는 것에 그 목적이 있다.
본 발명에 따른 전력 관리 시스템 및 전력 관리 방법
도 2는 본 발명에 따른 그래픽 처리 장치 전력 관리 시스템의 구성을 설명하기 위한 블록도이다.
도 2는 본 발명의 전력 관리 시스템(200)과 전력 관리 시스템(200)에 의한 전력 관리의 대상이 되는 그래픽 처리 장치와 장치 드라이버(300) 및 전력 관리 시스템을 제어하는 운영 체제의 전력 관리 정책 모듈들(400)을 함께 도시한 것이다.
도 2를 참조하면, 본 발명의 전력 관리 시스템은 전력 관리 드라이버(210)와 가버너(governor) 인터페이스 모듈(220)을 포함하여 구성될 수 있다.
이때, 본 발명의 전력 관리 시스템(200)에 의해서 전력 제어가 수행되는 그래픽 처리 장치(300)는 다수 개의 프로세서 코어들(321, 322, 331, 332, …)을 포함하여 구성되며, 그래픽처리장치의 프로세서 코어들은 같은 동작 주파수를 공유하는 프로세서 코어들로 묶여지게 되고 이는 도메인(domain; 예컨대, 320, 330, 340, …)으로 구분된다.
또한, 본 발명의 전력 관리 시스템은 운영 체제(400)의 전력 관리 정책 모듈들(410, 420, 430, …) 및 그래픽 처리 장치의 장치 드라이버(310)와 연동하여 동작하도록 구성될 수 있다.
그래픽 처리 장치 제조사(vendor)에서 제공하는 장치 드라이버(device driver; 310)는 본 발명에서 정의하는 전력 관리 시스템의 구성요소들과 연동하여 동적 전압 및 주파수 조정을 통한 전력 관리를 수행하게 된다. 따라서, 장치 드라이버들은 후술될 전력 관리 드라이버에 의해서 호출되거나, 전력 관리 드라이버를 호출하면서 동작하게 된다.
운영 체제에 부속된 전력 관리 정책 모듈(power management policy module)은 전력 관리 드라이버를 통해서 그래픽 처리 장치의 장치 드라이버로부터 수집한 다양한 정보들을 취합하여 그래픽 처리 장치에 대한 동적인 전압과 주파수 조절과 관련한 결정을 내리는 구성요소이다. 전력 관리 정책 모듈의 정책(policy)은 운영 체제 개발자 또는 전력 관리 정책 모듈의 개발자에 의해서 고유한 방식에 의해서 수립될 수 있다. 또한, 전력 관리 정책 모듈은 여러 개가 존재할 수 있으며, 이 경우 각각의 전력 관리 정책 모듈은 그래픽 처리 장치의 도메인 별로 매칭되어 동작하도록 구성될 수 있다.
먼저, 본 발명에 따른 전력 관리 드라이버(210)는 그래픽 처리 장치의 장치 드라이버(device driver)를 호출하거나, 상기 장치 드라이버에 의해서 호출되는 인터페이스를 포함하며, 상기 장치 드라이버를 제어하여, 그래픽 처리 장치의 동작 전압 및/또는 동작 주파수를 제어하는 역할을 수행한다.
상기 전력 관리 드라이버의 인터페이스는 상기 그래픽 처리 장치의 장치 드라이버를 호출하는 함수로 구성되거나, 상기 장치 드라이버에 등록되어 호출되는 콜백 함수(call back function)로 구성될 수 있다. 예컨대, 그래픽 처리 장치에 대해서 동작 전압 또는 동작 주파수를 설정하기 위한 인터페이스는 장치 드라이버를 호출하는 함수로 구성될 수 있다. 반면에, 그래픽 처리 장치로부터 정보를 수집하기 위한 인터페이스는 장치 드라이버가 호출하는 콜백 함수로서 구현되어, 소정의 이벤트 발생시마다 장치 드라이버가 호출하도록 구성될 수 있다. 물론, 그래픽 처리 장치로부터 정보를 수집하기 위한 인터페이스도 장치 드라이버를 호출하는 함수로서 구현될 수도 있으며, 이 경우는 전력 관리 드라이버가 주기적/비주기적으로 장치 드라이버를 호출하여 정보를 수집하여 하여야 한다.
상기 전력 관리 드라이버가 제공하여야 하는 인터페이스는 다음과 같이 구성될 수 있다.
첫째, 상기 전력 관리 드라이버는 동작 주파수 도메인 정보를 제공하는 함수를 인터페이스로서 포함하여야 한다.
해당 함수는 그래픽 처리 장치 내에 존재하는 주파수 도메인의 개수, 각 주파수 도메인별로 지원되는 동작 주파수를 담고 있는 테이블을 등록하게 된다. 전력 관리 드라이버(210)는 후술될 가버너 인터페이스 모듈(220)의 제어를 통하여 그래픽 처리 장치의 장치 드라이버로부터 상술된 정보들을 수집하여, 운영 체제의 전력 관리 정책 모듈에 전달하는 역할을 수행하도록 구성될 수 있다.
둘째, 상기 전력 관리 드라이버는 각 주파수 도메인별로 해당 도메인에 속한 프로세서 코어들이 활성화(active) 상태에 있었던 평균 시간을 반환하는 함수를 인터페이스로서 포함하여야 한다. 이때, 전력 관리 드라이버는 평균 시간을 누적된 값의 형태로 반환하도록 구성될 수 있을 것이다.
이를 위해 그래픽처리장치의 장치 드라이버는 태스크(task)가 프로세서 코어에 할당될 때의 시간과 할당된 코어에서 작업을 마치고 분리될 때의 시간을 기록해야 한다.
마지막으로, 상기 전력 관리 드라이버는 요구되는 동작 주파수를 각 주파수 도메인당 설정하는 함수를 인터페이스로서 포함하여야 한다.
이를 통하여, 상기 전력 관리 드라이버는 후술될 가버너 인터페이스 모듈의 제어를 통하여 운영 체제의 전력 관리 정책 모듈이 설정하도록 지시한 동작 주파수 값으로 그래픽 처리 장치의 프로세서 코어들의 동작 주파수를 설정할 수 있다.
또한, 본 발명에 따른 가버너 인터페이스 모듈(220)은 운영 체제(operating system)의 전력 관리 정책 모듈(power management policy module; 400)에 동적 전압 및 주파수 조정 기법을 적용 할 수 있는 환경으로서, 상기 전력 관리 드라이버에 대한 인터페이스를 제공하기 위한 구성요소이다.
상기 가버너 인터페이스 모듈이 운영체제의 전력 관리 정책 모듈에 제공하여야 하는 인터페이스는 다음과 같이 구성될 수 있다.
첫째, 가버너 인터페이스 모듈은 전력 관리 정책 모듈을 그래픽처리장치의 주파수 도메인별로 등록시키는 함수를 제공해야 한다.
둘째, 가버너 인터페이스 모듈은 전력 관리 정책 모듈로부터 요청 받은 동작 주파수를 전력 관리 드라이버 인터페이스를 통해 등록된, 설정하려는 주파수 도메인의 동작 주파수 테이블 요소 중 가장 가까운 주파수로 변환하여 드라이버 인터페이스에 전달하는 함수를 제공해야 한다.
마지막으로, 가버너 인터페이스 모듈은 전력 관리 드라이버 인터페이스를 통해, 각 주파수 도메인에 속한 프로세서 코어들이 active 상태에 있었던 평균 시간을 누적된 형태로 반환하는 함수를 제공해야 한다.
이상의 프레임워크에 기반하여 그래픽 처리 장치에 프로세서 코어들의 활용률에 따라 동작 주파수 도메인 단위로 동적 전압 및 주파수 조정을 수행하는 전력 관리 설계가 가능해 진다.
도 3은 본 발명에 따른 전력 관리 시스템을 이용한 전력 관리 방법의 일 실시예를 설명하기 위한 순서도이다.
도 3을 참조하면, 본 발명의 따른 전력 관리 방법의 일 실시예는 그래픽 처리 장치의 전력 관리를 수행하는 전력 관리 방법으로서, 운영 체제의 전력 관리 정책 모듈이 정보를 수집하는 단계(S510) 및 수집된 정보에 기초한 정책 결과, 정책을 수행하는 단계(S520)를 포함하여 구성될 수 있다.
앞서, 도 2를 통하여 설명된 바와 같이, 본 발명에서 전력 관리 대상이 되는 그래픽 처리 장치는 적어도 하나의 도메인(domain)을 가지며, 각각의 도메인은 동일한 동작 주파수(operating frequency)를 공유하는 적어도 하나의 프로세서 코어(processor core)들의 집합일 수 있다.
먼저, 단계(S510)를 통하여 운영체제의 전력 관리 정책 모듈이 상기 그래픽 처리 장치의 장치 드라이버를 제어하는 전력 관리 드라이버와 상기 전력 드라이버를 제어하는 가버너 인터페이스 모듈을 통하여 상기 그래픽 처리 장치와 관련된 정보를 수집한다.
운영 체제의 전력 관리 정책 모듈이 그래픽 처리 장치와 관련한 정보의 수집 방법은, 주어진 주기에 따라서 장치 드라이버를 호출하여 관련된 정보를 수집하는 방법도 있을 수 있으며, 장치 드라이버가 설정된 이벤트가 발생할 때마다 장치 관리 드라이버의 콜백(callback) 함수를 호출하여 정보를 제공하는 방법도 가능하다.
단계(S510)에서 수집되는 정보는 그래픽 처리 장치가 가진 도메인의 숫자, 각 도메인이 지원하는 동작 주파수들 및/또는 동작 전압들에 대한 정보, 상기 도메인에 속한 프로세스 코어들이 활성화 상태(active state)에 있었던 평균 시간을 포함할 수 있다.
다음으로, 단계(S520)에서는 상기 운영체제의 전력 관리 정책 모듈이, 상기 수집된 정보를 기초로 전력 관리 정책 결정을 내리고, 내려진 결정에 따라서 상기 가버너 인터페이스 모듈과 상기 전력 관리 드라이버를 통해 상기 그래픽 처리 장치의 장치 드라이버를 제어하여 상기 프로세서 코어들의 동작 전압 및/또는 동작 주파수를 조정하게 된다.
상술된 정보들 모두가 운영 체제의 정책 모듈이 전력 관리와 관련한 결정을 내리는데 필요할 수도 있으며, 일부 정보만 필요할 수도 있을 것이다.
전력 관리 정책 모듈은 가버너 인터페이스 모듈과 전력 관리 드라이버를 통해 상기 그래픽 처리 장치의 장치 드라이버를 제어하여 상기 프로세서 코어들의 동작 전압 및/또는 동작 주파수를 조정하게 된다.
실험예( experimental result )
본 발명에 따른 전력 관리 시스템은 운영체제의 전력 관리 정책 모듈의 전력 관리 정책에 따라서 GPU의 활용률이 미리 지정된 임계값 이상이 될 경우에 동작 전압/주파수를 증가시키는 형태로 그래픽 처리 장치의 전력관리를 수행할 수 있다.
본 발명에 따른 전력 관리 시스템의 효용성을 검증하기 위하여 앞서 설명된 Mali-400MP 그래픽 처리 장치를 사용한 환경에서 Quake III 데모와 모바일 벤치마킹 어플리케이션들(AnTuTu 3D, GLBenchmark Egypt, GLBenchmark Pro)을 이용하여 벤치마킹을 수행하였다. 본 실험예는 OpenGL API를 통하여 GPU 성능을 측정하는 기능을 구현한 어플리케이션을 개발하여 수행되었다.
하기 표 1은 본 발명에 따른 전력 관리 시스템을 적용한 경우, 267MHz의 고정 주파수를 적용한 경우 및 160MHz의 고정 주파수를 적용한 경우의 세 경우에 대한 벤치마킹 점수(프레임 카운트)를 정리한 것이다.
AnTuTu 3D GLBenchmark
Egypt
GLBenchmark
Pro
Quake
III
본 발명의 DVFS 시스템 적용 976 4085 2274 2921
267MHz 고정 주파수 적용 983 4334 2332 2927
160MHz 고정 주파수 적용 901 3194 2061 2912
또한, 하기 표 2는 본 발명에 따른 전력 관리 시스템을 적용한 경우의 전력과 성능 효율을 평가하기 위해서 추산된 동적 PDP(power-delay product) 값을 정리한 것이다.
AnTuTu 3D GLBenchmark
Egypt
GLBenchmark
Pro
Quake
III
본 발명의 DVFS 시스템 적용 21% 13% 11% 39%
표 1과 표 2를 비교하면, 벤치마킹 어플리케이션들에서 본 발명에 따른 전력 관리 시스템을 채용한 경우에 약 3%의 성능 저감(267MHz 동작의 경우와 비교할 경우)이 관찰되었으나, PDP는 약 15%((21+13+11)/3)가 저감된 것을 확인 가능하다. 또한, Quake III의 경우에서는 약 1%의 성능 저감이 있었지만 PDP는 약 39%가 감소된 것을 확인 가능하다.
하기 표 3은 벤치마킹 어플리케이션들과 Quake III 데모 실행 중에 GPU의 동작 주파수 통계를 수집한 것이다.
표 3을 참조하면, 운영체제의 전력 관리 정책 모듈이, 벤치 마킹 어플리케이션들에 비해서 Quake III 데모 실행 중에, 낮은 동작 주파수(160MHHz)를 보다 공격적으로 선택함을 확인 가능하다.
AnTuTu 3D GLBenchmark
Egypt
GLBenchmark
Pro
Quake
III
267MHz 주파수 선택 시간 60.56% 75.08% 80.08% 23.5%
160MHz 주파수 선택 시간 39.44% 24.92% 19.92% 76.5%
이상의 실험예를 통하여, 본 발명에 따른 전력 관리 시스템은 운영 체제의 전력 관리 모듈에 대하여 그래픽 처리 장치의 장치 드라이버를 추상화(abstraction)시키면서도, 작은 성능 감소에 비하여 큰 전력 절감(약 40%의 PDP 감소) 효과를 얻을 수 있음을 알 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
200: 전력 관리 시스템
210: GPU 전력 관리 드라이버 220: 가버너 인터페이스 모듈
300: 그래픽 처리 장치
310: 장치 드라이버
320, 330, 340: 도메인
321, 322, 331, 332: 프로세서 코어
400: 운영 체제
410, 420, 430: 전력 관리 정책 모듈

Claims (14)

  1. 그래픽 처리 장치의 전력 관리를 수행하는 전력 관리 시스템으로서,
    동일한 동작 주파수(operating frequency)를 공유하는 적어도 하나의 프로세서 코어(processor core)들의 집합인 적어도 하나의 도메인을 가지는 그래픽 처리 장치의 장치 드라이버(device driver)를 호출하거나, 상기 장치 드라이버에 의해서 호출되는 인터페이스를 포함하며, 그래픽 처리 장치의 동작 전압 및 동작 주파수 중 적어도 하나를 제어하는 전력 관리(DVFS: Dynamic Voltage and Frequency Scaling) 드라이버; 및
    운영 체제(operating system)의 전력 관리 정책 모듈(power management policy module)에게 상기 전력 관리 드라이버에 대한 인터페이스를 제공하는 전력 관리 가버너(DVFS governor) 인터페이스 모듈을 포함하되,
    상기 가버너 인터페이스 모듈은,
    상기 각 도메인을 상기 전력 관리 정책 모듈에 등록하고, 상기 전력 관리 드라이버로부터 수신한 상기 각 도메인에 대한 코어 활용률이 미리 설정된 임계값 이상인 경우 증가된 동작 전압 및 증가된 동작 주파수 중 적어도 하나를 상기 전력 관리 정책 모듈로부터 수신하고, 상기 각 도메인이 지원하는 전압 및 주파수 중 상기 전력 관리 정책 모듈로부터 수신한 값과 가장 근접한 값을 지정하는 그래픽 처리 장치의 전력 관리 시스템.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 전력 관리 드라이버가 포함하는 인터페이스는, 상기 도메인에 관한 정보를 제공하는 함수를 포함하는, 그래픽 처리 장치의 전력 관리 시스템.
  4. 청구항 3에 있어서,
    상기 도메인에 관한 정보는, 상기 그래픽 처리 장치가 가진 도메인의 숫자 및 각 도메인이 지원하는 동작 주파수들 및 동작 전압들 중 적어도 하나에 대한 정보를 포함하는, 그래픽 처리 장치의 전력 관리 시스템.
  5. 청구항 1에 있어서,
    상기 전력 관리 드라이버가 포함하는 인터페이스는, 상기 도메인에 속한 프로세스 코어들이 활성화 상태(active state)에 있었던 평균 시간을 반환하는 함수를 포함하는, 그래픽 처리 장치의 전력 관리 시스템.
  6. 청구항 1에 있어서,
    상기 전력 관리 드라이버가 포함하는 인터페이스는, 상기 도메인별로 동작 전압 및 동작 주파수 중 적어도 하나를 지정하는 함수를 포함하는, 그래픽 처리 장치의 전력 관리 시스템.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 청구항 1에 있어서,
    상기 가버너 인터페이스 모듈이 포함하는 인터페이스는, 상기 도메인에 속한프로세스 코어들이 활성화 상태에 있었던 평균 시간을 반환하는 함수를 포함하는, 그래픽 처리 장치의 전력 관리 시스템.
  11. 그래픽 처리 장치의 전력 관리를 수행하는 전력 관리 방법으로서,
    운영체제의 전력 관리 정책 모듈이 동일한 동작 주파수(operating frequency)를 공유하는 적어도 하나의 프로세서 코어(processor core)들의 집합인 적어도 하나의 도메인을 가지는 상기 그래픽 처리 장치의 장치 드라이버를 제어하는 전력 관리 드라이버와 상기 전력 드라이버를 제어하는 가버너 인터페이스 모듈을 통하여 상기 그래픽 처리 장치와 관련된 정보를 수집하는 단계; 및
    상기 운영체제의 전력 관리 정책 모듈이, 상기 수집된 정보에 기초한 전력 관리 정책 결정에 따라, 상기 가버너 인터페이스 모듈과 상기 전력 관리 드라이버를 통해 상기 그래픽 처리 장치의 장치 드라이버를 제어하여 상기 프로세서 코어들의 동작 전압 및 동작 주파수 중 적어도 하나를 조정하는 단계를 포함하되,
    상기 동작 전압 및 동작 주파수 중 적어도 하나를 조정하는 단계는,
    상기 가버너 인터페이스 모듈을 통해 상기 각 도메인을 상기 전력 관리 정책 모듈에 등록하고, 상기 전력 관리 드라이버로부터 수신한 상기 각 도메인에 대한 코어 활용률이 미리 설정된 경우 증가된 동작 전압 및 증가된 동작 주파수 중 적어도 하나를 상기 전력 관리 정책 모듈로부터 수신하고, 상기 각 도메인이 지원하는 전압 및 주파수 중 상기 전력 관리 정책 모듈로부터 수신한 값과 가장 근접한 값을 지정하는 그래픽 처리 장치의 전력 관리 방법.
  12. 삭제
  13. 청구항 11에 있어서,
    상기 그래픽 처리 장치와 관련한 정보는, 상기 그래픽 처리 장치가 가진 도메인의 숫자 및 각 도메인이 지원하는 동작 주파수들 및 동작 전압들 중 적어도 하나에 대한 정보를 포함하는, 그래픽 처리 장치의 전력 관리 방법.
  14. 청구항 11에 있어서,
    상기 그래픽 처리 장치와 관련한 정보는, 상기 도메인에 속한 프로세스 코어들이 활성화 상태(active state)에 있었던 평균 시간을 포함하는, 그래픽 처리 장치의 전력 관리 방법.
KR1020120135007A 2012-11-27 2012-11-27 그래픽 처리 장치의 전력 관리 방법 및 전력 관리 시스템 KR101454219B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120135007A KR101454219B1 (ko) 2012-11-27 2012-11-27 그래픽 처리 장치의 전력 관리 방법 및 전력 관리 시스템
US14/039,894 US20140146060A1 (en) 2012-11-27 2013-09-27 Power management method for graphic processing unit and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120135007A KR101454219B1 (ko) 2012-11-27 2012-11-27 그래픽 처리 장치의 전력 관리 방법 및 전력 관리 시스템

Publications (2)

Publication Number Publication Date
KR20140067581A KR20140067581A (ko) 2014-06-05
KR101454219B1 true KR101454219B1 (ko) 2014-10-24

Family

ID=50772889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120135007A KR101454219B1 (ko) 2012-11-27 2012-11-27 그래픽 처리 장치의 전력 관리 방법 및 전력 관리 시스템

Country Status (2)

Country Link
US (1) US20140146060A1 (ko)
KR (1) KR101454219B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016195877A1 (en) * 2015-06-04 2016-12-08 Intel Corporation Graphics processor power management contexts & sequential control loops

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128721B2 (en) 2012-12-11 2015-09-08 Apple Inc. Closed loop CPU performance control
KR101927233B1 (ko) 2015-03-16 2018-12-12 한국전자통신연구원 이기종 멀티-코어 시스템의 gpu 전력 측정 방법
KR101666549B1 (ko) * 2015-09-15 2016-10-17 인천대학교 산학협력단 컴퓨팅 디바이스의 중앙 프로세싱 유닛의 주파수를 동적으로 제어하는 방법
CN112883678A (zh) * 2021-03-23 2021-06-01 上海燧原科技有限公司 一种dvfs控制策略仿真方法、装置、设备及存储介质
CN113204469A (zh) * 2021-05-14 2021-08-03 山东英信计算机技术有限公司 一种基于降频控制的gpu供电保护结构及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101183845B1 (ko) * 2007-10-11 2012-09-18 퀄컴 인코포레이티드 그래픽스 프로세싱 유닛에서의 디맨드-기반 전력 제어
KR20120124776A (ko) * 2011-05-04 2012-11-14 삼성전자주식회사 화상형성장치 및 그 제어 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8942857B2 (en) * 2011-04-22 2015-01-27 Qualcomm Incorporated Method and system for thermal load management in a portable computing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101183845B1 (ko) * 2007-10-11 2012-09-18 퀄컴 인코포레이티드 그래픽스 프로세싱 유닛에서의 디맨드-기반 전력 제어
KR20120124776A (ko) * 2011-05-04 2012-11-14 삼성전자주식회사 화상형성장치 및 그 제어 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016195877A1 (en) * 2015-06-04 2016-12-08 Intel Corporation Graphics processor power management contexts & sequential control loops
US10162405B2 (en) 2015-06-04 2018-12-25 Intel Corporation Graphics processor power management contexts and sequential control loops

Also Published As

Publication number Publication date
KR20140067581A (ko) 2014-06-05
US20140146060A1 (en) 2014-05-29

Similar Documents

Publication Publication Date Title
KR101454219B1 (ko) 그래픽 처리 장치의 전력 관리 방법 및 전력 관리 시스템
KR101471303B1 (ko) 그래픽 처리 장치를 위한 전력 관리 장치 및 방법
US9857858B2 (en) Managing power consumption and performance of computing systems
JP6355853B2 (ja) マルチクラスタ異種プロセッサアーキテクチャにおいて動的キャッシュ拡張を提供するためのシステムおよび方法
WO2017172027A1 (en) Systems, methods and devices for dynamic power management of devices using game theory
Salehi et al. Dynamic voltage and frequency scheduling for embedded processors considering power/performance tradeoffs
TW200941209A (en) Power-aware thread schedulingard and dynamic use of processors
KR20130101693A (ko) 이종의 운영체제를 사용하는 가상화 시스템의 전력 관리 방법 및 장치
CN104239153A (zh) 多核cpu负载均衡的方法和装置
CN101470519A (zh) 用于控制功率管理的装置和方法
CN102087619A (zh) 用于提高事件处理的涡轮加速性能的方法和装置
TWI477955B (zh) 用於圖形處理器之效能改善的方法、非暫時性電腦可讀取媒體以及圖形處理器
DE112013005287T5 (de) Heterogene Prozessorvorrichtung und Verfahren
US9122632B2 (en) Programmable power performance optimization for graphics cores
US20170212581A1 (en) Systems and methods for providing power efficiency via memory latency control
DE112019001001T5 (de) System, vorrichtung und verfahren für eine datengestützte niedrigenergiezustandssteuerung auf der grundlage von leistungsüberwachungsinformationen
WO2019125557A1 (en) Scheduling memory bandwidth based on quality of service floorbackground
CN103279353A (zh) 一种应用优化策略确定方法、装置及系统
DE102020130910A1 (de) System, vorrichtung und verfahren für dynamische energiezustandsskalierung eines spannungsreglers für einen prozessor
DE102020127742A1 (de) System, vorrichtung und verfahren für eine global bewusste reaktive lokale leistungssteuerung in einem prozessor
DE112017003873T5 (de) Bereitstellung einer Schnittstelle für Herabstufungssteuerinformationen in einem Prozessor
Choi et al. Graphics-aware power governing for mobile devices
CN102866765A (zh) 图形处理单元与其管理方法
Hwang et al. A comparative study of the effectiveness of cpu consolidation versus dynamic voltage and frequency scaling in a virtualized multicore server
CN107203256B (zh) 一种网络功能虚拟化场景下的节能分配方法与装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee