KR101772921B1 - 메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치 - Google Patents

메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치 Download PDF

Info

Publication number
KR101772921B1
KR101772921B1 KR1020160158422A KR20160158422A KR101772921B1 KR 101772921 B1 KR101772921 B1 KR 101772921B1 KR 1020160158422 A KR1020160158422 A KR 1020160158422A KR 20160158422 A KR20160158422 A KR 20160158422A KR 101772921 B1 KR101772921 B1 KR 101772921B1
Authority
KR
South Korea
Prior art keywords
state
cluster
memory contention
sms
power management
Prior art date
Application number
KR1020160158422A
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 KR1020160158422A priority Critical patent/KR101772921B1/ko
Application granted granted Critical
Publication of KR101772921B1 publication Critical patent/KR101772921B1/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
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory 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/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
    • Y02B60/1278
    • 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

본 발명은 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치에 관한 것으로, 보다 구체적으로는 메모리 경합 정도(degree of memory contention)에 기반하여 스트리밍 멀티프로세서(SM,Streaming multiprocessor)의 상태를 슬립 또는 노멀 상태로 전환함으로써 그래픽 처리 장치의 성능은 최대한 유지하면서도 전력 효율성을 향상시킬 수 있는 메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치에 관한 것이다.

Description

메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치{Memory contention aware power management for high performance GPU and power management unit, GPU}
본 발명은 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치에 관한 것으로, 보다 구체적으로는 메모리 경합 정도(degree of memory contention)에 기반하여 스트리밍 멀티프로세서(SM,Streaming multiprocessor)의 상태를 슬립 또는 노멀 상태로 전환함으로써 그래픽 처리 장치의 성능은 최대한 유지하면서도 전력 효율성을 향상시킬 수 있는 메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치에 관한 것이다.
그래픽 처리 장치(GPU,Graphics Processing Unit)은 메모리를 빠르게 처리하고 바꾸어 화면으로 출력할 프레임 버퍼 안의 영상 생성을 가속화하도록 설계된 장치이다.
현대의 그래픽 처리 장치는 컴퓨터 그래픽과 영상처리를 매우 효과적으로 처리하며, 고도의 병렬구조로 영상 데이터가 병행처리되는 알고리즘을 수행할 때, 중앙 처리 장치(CPU,Central Processing Unit)보다 능률적이다.
도 1은 일반적인 그래픽 처리 장치의 구조를 보여주는 도면이다.
도 1을 참조하면, 그래픽 처리 장치(10)는 복수의 지피유 클러스터(11,GPU Cluster)를 이용하여 대규모 병렬 구조의 명령을 처리할 수 있으며, 각 지피유 클러스터(11)에는 실질적으로 명령을 처리하는 복수 개의 스트리밍 멀티프로세(11a,SM:streaming multiprocessor)가 포함된다.
또한, 각 스트리밍 멀티프로세서(11a)는 복수의 시티에이(CTA:Cooperative Thread Array)를 처리하고, 각 시티에이는 복수의 워프(warp)들로 구성된다.
또한, 워프는 명령어를 수행하기 위한 작은 단위이며, 하나의 워프는 명령어 실행 단위인 복수의 쓰레드(thread)를 포함한다.
또한, 스트리밍 멀티프로세서(11a)로의 시티에이 할당은 시티에이 스케줄러(12,CTA Scheduler)에 의해 이루어지며, 각 스트리밍 멀티프로세서(11a)는 내부 네트워크(13)를 통해 메모리 파티션(14,Memory Pattition)의 데이터를 참조하여 명령을 처리한다.
이러한 종래의 그래픽 처리 장치는 복수의 스트리밍 멀티프로세서(11a)를 이용하여 광범위한 병렬구조로 프로세스를 처리하므로 처리 성능의 향상을 가지고올 수 있으나 메모리 경합(Memory contention)과 같은 실행 경쟁(performance challenges)이 심화될수록 프로세스 실행을 대기하는 스트리밍 멀티프로세서(11a)의 개수가 증가하고 이는 전력 효율성을 하락시키는 원인으로 작용한다.
[선행기술문헌]
[비특허문헌]
[1] G. Torres, “Everything You Need to Know About the CPU CStates Power Saving Modes,” available at https://impact.asu.edu/cse591sp11/CStatesTutorial.pdf, Tutorial, 2008.
[2] P. Wang, C. Yang, Y. Chen, and Y. Cheng, “Power Gating Strategies on GPUs,” ACM Transactions on Architecture and Code Optimization, Volume.8, Number.3, 2011.
[3] PowerMizer SX: Power Management Technology for NVIDIA Notebook Chipsets, available at http://nvidia.custhelp.com/app/answers/detail/a_id/2437/~/what-is-nvidia-powermizer-sx-technology%3F, Technical Brief, 2006.
[4] T. Pering, T. Burd, and R. Brodersen. “The Simulation and Evaluation of Dynamic Voltage Scaling Algorithms,” In Proceedings of International Symposium on Low Power Electronics and Design, pp.76-81, 1998.
[5] Z. Hu, A. Buyuktosunoglu, V. Srinivasan, V. Zyuban, H. Jacobson, and P. Bose, “Microarchitectural techniques for power gating of execution units,” In Proceedings of International Symposium on Low Power Electronics and Design, pp.32-37, 2004.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로 본 발명의 목적은 그래픽 처리 장치의 성능은 최대한 유지하면서도 전력 효율성을 향상시킬 수 있는 스트리밍 멀티프로세서의 전력관리 기법, 그 기법을 수행하는 전력관리 유닛, 그 유닛을 갖는 그래픽 처리 장치를 제공하는 것이다.
상기의 목적을 달성하기 위하여 본 발명은 그래픽 처리 장치(GPU,Graphics Processing unit)의 클러스터(Cluster, 이하, '지피유 클러스터'라 함)들의 상태(status), 상기 지피유 클러스터들 각각에 포함되는 스트리밍 멀티프로세서(SM,Streaming multiprocessor, 이하, '에스엠'이라 함)들의 상태를 저장하는 클러스터 상태 테이블(Cluster status table)을 갖고, 상기 그래픽 처리 장치의 시스템 관리유닛으로부터 메모리 경합 정보(Memory contention information)를 입력받아, 소정의 계산 사이클 동안에 발생한 메모리 경합 횟수(number or memory contention)로부터 메모리 경합 정도(degree of memory contention)를 산출하며, 상기 메모리 경합 정도에 따라 노멀(nomal) 상태의 에스엠(이하 '제1 에스엠'이라 함)을 갖는 지피유 클러스터(이하, '제1 지피유 클러스터'라 함)를 슬립(sleep) 상태로 전환하거나, 슬립 상태의 에스엠(이하, '제2 에스엠'이라 함)을 갖는 지피유 클러스터(이하, '제2 지피유 클러스터'라 함)를 노멀 상태로 전환함으로써 지피유의 전력관리를 수행할 수 있는 스트리밍 멀티프로세서의 전력관리 유닛을 제공한다.
바람직한 실시예에 있어서, 상기 메모리 경합 정도가 소정의 임계값(이하, '상한 임계값'이라 함)보다 클 경우, 상기 제1 지피유 클러스터를 슬립 상태로 전환한다.
바람직한 실시예에 있어서, 상기 메모리 경합 정도가 상기 상한 임계값보다 크더라도, 현재 노멀 상태의 에스엠 개수가 최소 에스엠 개수 이하라면 상기 제1 지피유 클러스터를 슬립 상태로 전환하지 않는다.
바람직한 실시예에 있어서, 상기 메모리 경합 정도가 상기 상한 임계값보다 크더라도, 상기 제1 지피유 클러스터 내의 어느 하나의 에스엠이 노멀 상태일 경우 상기 제1 지피유 클러스터를 슬립 상태로 전환하지 않는다.
바람직한 실시예에 있어서, 상기 클러스터 상태 테이블(Cluster status table)에는 각 에스엠에 실행될 워프(warp)가 존재하는지 여부를 표시하는 워프 풀 상태(Warp Pool Status)와 워프의 실행이 종료되었는지 여부를 표시하는 워프 실행 상태(Warp Execution Status)가 더 저장된다.
바람직한 실시예에 있어서, 상기 메모리 경합 정도가 상기 상한 임계값보다 클 경우, 상기 제1 에스엠에 시티에이(CTA:Cooperative Thread Array)의 할당을 중지하고, 상기 제1 에스엠이 유휴(idle) 상태가 되면, 상기 제1 지피유 클러스터를 슬립 상태로 전환한다.
바람직한 실시예에 있어서, 상기 유휴 상태는 상기 제2 에스엠의 워프 풀 상태와 워프 실행 상태를 확인하여 실행될 워프가 존재하지 않고, 워프의 실행도 모두 종료된 상태이다.
바람직한 실시예에 있어서, 상기 메모리 경합 정도는 상기 계산 사이클 동안에 발생한 메모리 경합 횟수(number or memory contention)의 총 합에 상기 계산 사이클의 수를 나누어 계산한다.
바람직한 실시예에 있어서, 상기 메모리 경합 정도는 상기 계산 사이클 동안에 발생한 메모리 경합 횟수(number or memory contention)에 가중치를 곱한 후 모두 더한 총 합에 상기 계산 사이클의 수를 나누어 계산할 수 있다.
바람직한 실시예에 있어서, 상기 계산 사이클 내에서 최근 사이클 또는 최근 구간 사이클에서 발생한 메모리 경합 횟수일수록 더 큰 값의 가중치가 곱해진다.
바람직한 실시예에 있어서, 상기 클러스터 상태 테이블(Cluster status table)에는 클러스터의 식별을 위한 클러스터 아이디(Cluster ID)와 에스엠의 식별을 위한 에스엠 아이디(SM ID)가 더 저장된다.
바람직한 실시예에 있어서, 상기 메모리 경합 정도가 소정의 임계값(이하, '하한 임계값'이라 함)보다 작을 경우, 상기 제2 지피유 클러스터를 노멀 상태로 전환한다.
바람직한 실시예에 있어서, 상기 상한 임계값과 상기 하한 임계값은 상기 그래픽 처리 장치에 포함된 에스엠들 중, 슬립 상태의 에스엠 개수가 증가할수록 증가한다.
바람직한 실시예에 있어서, 상기 제2 지피유 클러스터가 노멀 상태로 전환되면, 상기 제2 에스엠을 노멀 상태로 전환하고, 상기 제2 에스엠에 시티에이가 할당되게 한다.
바람직한 실시예에 있어서, 상기 제2 지피유 클러스터가 이미 노멀 상태인 경우, 상기 제2 지피유 클러스터의 상태는 유지하고, 상기 제2 에스엠을 노멀 상태로 전환하여 상기 제2 에스엠에 시티에이가 할당되게 한다.
또한, 본 발명은 상기 스트리밍 멀티프로세서의 전력관리 유닛을 갖는 그래픽 처리 장치를 더 제공한다.
또한, 본 발명은 상기 그래픽 처리 장치가 임베디드된 임베디드 시스템을 더 제공한다.
또한, 본 발명은 상기 스트리밍 멀티프로세서의 전력관리 유닛이 지피유 클러스터의 상태를 전력이 공급되어 할당된 작업을 수행할 수 있는 노멀 상태 또는 전력의 공급이 중단되어 작업을 수행할 수 없는 슬립 상태로 전환함으로써, 전력관리를 수행하는 전력관리 기법으로서, 상기 스트리밍 멀티프로세서 전력관리 유닛이 상기 시스템 관리유닛으로부터 메모리 경합정보를 입력받는 단계; 소정의 계산 사이클 동안에 발생한 메모리 경합 횟수로부터 메모리 경합 정도를 산출하는 단계; 상기 메모리 경합 정도가 상한 임계값보다 클 경우, 슬립 신호(sleep signal)를 생성하고, 하한 임계값보다 작을 경우, 웨이크업 신호(wakeup signal)을 생성하는 단계; 및 상기 슬립 신호가 생성될 경우 상기 제1 지피유 클러스터를 슬립 상태로 전환하고, 상기 웨이크업 신호가 생성될 경우 상기 제2 지피유 클러스터를 노멀 상태로 전환하는 단계;를 포함하는 것을 특징으로 하는 전력관리 기법을 더 제공한다.
바람직한 실시예에 있어서, 상기 슬립 신호는 상기 메모리 경합 정도가 상기 상한 임계값보다 크더라도, 현재 노멀 상태의 에스엠 개수가 최소 에스엠 개수 이하일 경우 생성되지 않는다.
바람직한 실시예에 있어서, 상기 제1 지피유 클러스터를 슬립 상태로 전환하는 과정은, 지피유 클러스터들에 포함된 에스엠들 중, 노멀 상태인 어느 하나의 에스엠을 상기 제1 에스엠으로 선택하는 단계; 상기 제1 에스엠에 시티에이의 할당을 중지하는 단계; 상기 제1 에스엠에서 실행될 워프가 존재하지 않고, 워프의 실행도 모두 종료되는 유휴 상태까지 대기하는 단계; 상기 제1 에스엠이 유휴 상태가 되면, 슬립 상태로 전환하는 단계; 및 상기 제1 지피유 클러스터 내의 모든 에스엠이 슬립 상태인지 판단하고, 모든 에스엠이 슬립 상태일 경우 상기 제1 지피유 클러스터를 슬립 상태로 전환하고, 어느 하나의 에스엠이 노멀 상태일 경우에는 상기 제1 지피유 클러스터를 노멀 상태로 유지하는 단계;를 포함한다.
바람직한 실시예에 있어서, 상기 제2 지피유 클러스터를 노멀 상태로 전환하는 과정은, 지피유 클러스터들에 포함된 에스엠들 중, 슬립 상태인 어느 하나의 에스엠을 상기 제2 에스엠으로 선택하는 단계; 상기 제2 지피유 클러스터가 슬립 상태인지 확인하고, 슬립 상태일 경우 노멀 상태로 전환하고, 노멀 상태일 경우 상태를 유지하는 단계; 및 상기 제2 에스엠을 슬립 상태에서 노멀 상태로 전환하는 단계; 상기 제2 에스엠에 시티에이의 할당을 허용하는 단계;를 포함한다.
본 발명은 다음과 같은 우수한 효과를 가진다.
본 발명의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치에 의하면, 메모리 경합 정도(degree of memory contention)에 기반하여 메모리 경합 정도가 심화되면 스트리밍 멀티프로세서(SM,Streaming multiprocessor)의 상태를 슬립 상태로 전환하고 메모리 경합 정도가 낮을 경우 노멀 상태로 전환함으로써 그래픽 처리 장치의 성능은 최대한 유지하면서도 전력 효율성을 향상시킬 수 있는 장점이 있다.
도 1은 일반적인 그래픽 처리 장치의 구조를 설명하기 위한 도면,
도 2는 본 발명의 일 실시예에 따른 전력관리 유닛을 설명하기 위한 도면,
도 3은 본 발명의 일 실시예에 따른 전력관리 유닛이 갖는 클러스터 상태 테이블의 일례,
도 4는 본 발명의 일 실시예에 따른 전력관리 기법을 설명하기 위한 흐름도,
도 5는 본 발명의 일 실시예에 따른 전력관리 기법에서 지피유 클러스터를 슬립 또는 노멀 상태로 전환하는 방법을 설명하기 위한 도면,
도 6은 본 발명의 일 실시예에 따른 전력관리 기법이 적용된 그래픽 처리 장치의 전력 효율을 보여주는 그래프,
도 7은 본 발명의 일 실시예에 따른 전력관리 기법이 적용된 그래픽 처리 장치의 전력 소비를 보여주는 그래프,
도 8은 본 발명의 일 실시예에 따른 전력관리 기법이 적용된 그래픽 처리 장치의 성능을 보여주는 그래프이다.
본 발명에서 사용되는 용어는 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있는데 이 경우에는 단순한 용어의 명칭이 아닌 발명의 상세한 설명 부분에 기재되거나 사용된 의미를 고려하여 그 의미가 파악되어야 할 것이다.
이하, 첨부한 도면에 도시된 바람직한 실시예들을 참조하여 본 발명의 기술적 구성을 상세하게 설명한다.
그러나 본 발명은 여기서 설명되는 실시예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 명세서 전체에 걸쳐 동일한 참조번호는 동일한 구성요소를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 스트리밍 멀티프로세서의 전력관리 유닛을 설명하기 위한 것으로 도 2를 참조하면, 상기 전력관리 유닛(100)은 그래픽 처리 장치에 구비되는 시스템 관리유닛(도시하지 않음)으로부터 메모리 경합 정보를 입력받아 메모리 경합 정도(degree of memory contention)를 계산하며, 계산된 메모리 경합 정도에 따라 지피유 클러스터(GPU Cluster)를 슬립 상태에서 노멀 상태로 혹은 노멀 상태에서 슬립 상태로 전환함으로써 전력관리를 수행한다.
또한, 상기 슬립 상태는 지피유 클러스터에 전력 공급을 차단하여 스트리밍 멀티프로세서(SM,Streaming Multiprocessor)가 프로세스를 처리할 수 없게 하는 상태이고, 상기 노멀 상태는 지피유 클러스터에 전력을 공급하여 스트리밍 멀티 프로세서가 프로세스를 처리할 수 있도록 하는 상태이다.
또한, 상기 전력관리 유닛(100)은 시티에이 스케줄러(CTA Scheduler)를 제어하여 스트리밍 멀티프로세서로 시티에이의 할당을 허용 또는 중지한 후, 상기 지피유 클러스터의 상태를 전환한다.
또한, 상기 전력관리 유닛(100)은 상기 지피유 클러스터 및 상기 스트리밍 멀티프로세서로부터 동작상태를 입력받아 저장하는 클러스터 상태 테이블(110, Cluster status table, 일종의 메모리 장치)을 포함한다.
또한, 본 발명의 상기 전력관리 유닛(100)은 시티에이 스케줄러 및 지피유 클러스터와 함께 하나의 그래픽 처리 장치로 제공될 수 있고, 상기 그래픽 처리 장치가 임베디드된 임베디드 시스템(embedded system)의 형태로 제공될 수도 있다.
또한, 도 3은 상기 클러스터 상태 테이블(110)의 일 례를 보여주는 것으로 각각 두 개의 스트리밍 멀티프로세서를 포함하는 총 4개의 지피유 클러스터의 상태가 저장되어 있다(실질적으로 총 8개의 지피유 클러스터가 구비됨).
그러나, 상기 지피유 클러스터와 상기 스트리밍 멀티프로세서의 개수는 변화될 수 있다.
또한, 상기 클러스터 상태 테이블(110)에는 지피유 클러스터의 식별을 위한 클러스터 아이디(Cluster ID), 지피유 클러스터의 슬립 상태('0') 또는 노멀 상태('1')를 표시하는 클러스터 상태(Cluster status), 스트리밍 멀티프로세서(이하, '에스엠'이라 함)의 식별을 위한 에스엠 아이디(SM ID), 에스엠의 슬립 상태('0') 또는 노멀 상태('1')를 표시하는 에스엠 상태(SM status), 에스엠에 실행될 워프(warp)가 존재하는지 여부를 표시하는 워프 풀 상태(Warp Pool Status) 및 에스엠에 할당된 워프가 연산 장치로 이슈(issue)되어 워프의 실행이 종료되었는지 여부를 표시하는 워프 실행 상태(Warp Execution Status)가 저장된다.
또한, 상기 워프 풀 상태는 에스엠의 워프 풀에 잔여 워프가 존재할 경우 '1'(잔여 워프의 개수로 표시될 수도 있음), 잔여 워프가 없을 경우 '0', 에스엠이 슬립 상태라서 워프를 할당 받을 수 없을 경우 'X'로 표시된다.
또한, 상기 워프 실행 상태는 연산 장치로 이슈된 워프가 실행 중일 경우 '1', 실행 중인 워프가 없을 경우 '0', 에스엠이 슬립 상태라서 연산을 수행할 수 없는 상태일 경우 'X'로 표시된다.
즉, 에스엠 상태가 슬립 상태일 경우, 상기 워프 풀 상태와 상기 워프 실행 상태는 각각 'X'로 표시된다.
한편, 지피유 클러스터를 노멀 상태에서 슬립 상태로 전환하기 위해서는 지피유 클러스터가 갖는 모든 에스엠이 유휴(idle) 상태가 되어야 하며, 이 유휴 상태는 실행될 워프가 존재하지 않고 동시에 워프의 실행도 모두 종료된 상태, 즉, 워프 풀 상태가 '0'이고 동시에 워프 실행 상태가 '0'인 경우이다.
또한, 상기 워프 풀 상태와 상기 워프 실행 상태는 그래픽 처리 장치에 구비된 워프 스케줄러(Warp scheduler)와 스코어 보드(Scoreboard)의 정보를 이용하여 모니터링된다.
또한, 상기 클러스터 상태는 지피유 클러스터 내의 모든 에스엠이 슬립 상태일 경우 슬립 상태로 저장되며, 어느 하나의 에스엠이라도 노멀 상태라면 노멀 상태로 저장된다.
즉, 상기 클러스터 상태는 지피유 클러스터 내의 모든 에스엠의 에스엠 상태를 OR연산한 값이다.
이하에서는 도 4를 참조하여, 본 발명의 일 실시예에 따른 전력관리 유닛의 동작을 상세히 설명한다.
도 4는 본 발명의 전력관리 유닛(100)이 수행하는 전력관리 기법의 흐름도로서, 상기 전력관리 유닛(100)은 메모리 경합 정도와 상기 클러스터 상태 테이블(110)의 정보를 참조하며, 지피유 클러스터를 슬립 상태에서 노말 상태로 전환하여 성능을 향상시키거나 또는 노말 상태에서 슬립 상태로 전환하여 전력 효율을 향상시킨다.
또한, 성능의 향상과 전력 효율의 향상은 서로 트레이드 오프(trade-off) 관계에 있다.
먼저, 상기 전력관리 유닛(100)이 그래픽 처리 장치의 시스템 관리 유닛으로부터 메모리 경합 정보를 입력받는다(S1000).
다음, 상기 메모리 경합 정보로 부터 메모리 경합 정도를 계산한다(S2000)
또한, 상기 메모리 경합 정도는 소정의 사이클(이하, '계산 사이클'이라 함) 동안 발생한 메모리 경합 횟수로부터 산출된다.
더욱 자세하게는 상기 메모리 경합 횟수는 아래의 수학식 1과 같이 상기 계산 사이클 동안 발생한 메모리 경합 횟수의 총 합에 상기 계산 사이클의 수를 나누어 계산할 수 있다.
[수학식 1]
Figure 112016115701646-pat00001
여기서, Dp는 상기 메모리 경합 정도, Cp는 상기 계산 사이클 수, Mi는 i번째 사이클에서 발생한 메모리 경합 횟수를 의미한다.
예를 들면, 상기 계산 사이클은 1000 사이클일 수 있다.
다음, 제어 신호를 생성한다(S2100).
또한, 상기 제어 신호는 슬립 신호(sleep signal) 또는 웨어크업 신호(wakeup signal)이다.
또한, 도 5를 참조하면, 에스엠들은 초기에 프로세스 처리 성능향상을 위해 모두 노멀 상태로 설정되며, 상기 슬립 신호가 생성될 경우 슬립 상태로 전환이 가능하고, 상기 웨어크업 신호가 생성될 경우 슬립 상태의 에스엠은 노멀 상태로 전환이 가능하다.
그러나, 에스엠이 노멀 상태일 때, 상기 슬립 신호가 생성되지 않는다면 노멀 상태는 유지되고, 슬립 상태일 때, 상기 웨이크업 신호가 생성되지 않는다면 슬립 상태는 유지된다.
즉, 상기 제어 신호는 에스엠을 노멀 상태 또는 슬립 상태로 변경할 수 있는 지 여부를 나타내며, 궁극적으로 지피유 클러스터의 상태를 전환할 수 있는 기반 신호가 된다.
또한, 상기 슬립 신호는 상기 메모리 경합 정도가 상한 임계값(upper_tv)보다 클 경우 생성된다.
여기서, 상기 메모리 경합정도가 상기 상한 임계값보다 클 경우란 메모리 경합 정도가 심화되어 에스엠의 메모리 요청 대기시간이 증가하는 상태이며, 일부 에스엠들이 프로세스를 처리하지 못하고 쉬고 있는 상태이다.
즉, 본 발명은 이러한 경우에 에스엠에 전원 공급을 차단하여 전력 효율을 향상시키는데 그 핵심이 있다.
다만, 본 발명에서는 상기 메모리 경합정도가 상기 상한 임계값보다 크더라도 현재 노멀 상태의 에스엠 개수가 최소 개수 이하일 경우 슬립 신호가 발생되지 않게 하였다.
그 이유는 슬립 모드의 에스엠이 증가하여 프로세스 처리에 심각한 성능저하가 발생하는 것을 방지하기 위함이다.
본 발명에서는 그래픽 처리 장치가 총 16개의 에스엠으로 구성될 때, 최소 개수를 3개로 설정하였으며, 이는 심각한 성능 저하가 발생되지 않도록 실험에 의해 도출된 값이다.
또한, 상기 웨이크업 신호는 상기 메모리 경합 정도가 하한 임계값(lower_tv)보다 작을 경우 생성된다.
즉, 상기 메모리 경합 정도가 낮다는 것은 더 많은 에스엠이 프로세스를 처리할 수 있다는 것을 의미하므로 슬립 상태인 에스엠에 전력을 공급하여 프로세스를 처리하게 함으로써 성능을 향상시킬 수 있다.
다만, 모든 에스엠이 노멀 상태일 경우 상태를 전환할 에스엠이 존재하지 않으므로 상기 웨이크업 신호는 생성되지 않는다.
다음, 상기 제어 신호가 생성되었는지 확인하고(S3000), 상기 제어 신호가 생성되지 않았다면, 즉, 널(Null) 상태라면, 동작을 종료한다(S3100).
그러나, 상기 제어 신호가 생성되었다면, 상기 제어 신호가 웨이크업 신호인지 슬립 신호인지 판단한다(S4000).
다음, 상기 제어 신호가 슬립상태일 경우 노멀 상태의 에스엠을 갖는 지피유 클러스터을 슬립 상태로 전환하여 전력 소비를 줄인다.
즉, 본 발명에서는 지피유 클러스터 단위로 전력 공급 및 차단이 수행되게 하였다.
더욱 자세하게는 먼저, 그래픽 처리 장치에 포함된 에스엠들 중, 노멀 모드인 어느 하나의 에스엠(이하, '제1 에스엠'이라 함)을 선택한다(S5000).
여기서, 여러 개의 노멀 모드인 에스엠들 중, 상기 제1 에스엠을 선택하는 기법은 다양한 방법을 이용할 수 있으나 본 발명에서는 라운드 로빈(round robin) 기법을 이용하여 이전에 선택된 에스엠의 다음 노멀 모드인 에스엠을 상기 제1 에스엠으로 선택하였다.
그러나, 상기 제1 에스엠은 다양한 종래의 스케줄링 기법에 의해 선택이 가능하다.
다음, 상기 제1 에스엠에 시티에이의 할당을 중지한다(S5100)
그러면, 상기 제1 에스엠의 워프들은 순차로 연산 장치에 이슈되어 줄어들고, 모든 워프가 이슈되어 더 이상 실행할 워프가 존재하지 않을 경우, 상기 워프 풀 상태는 '1'에서 '0'으로 전환되고, 워프의 실행도 모두 종료될 경우 상기 워프 실행 상태도 '0'이 된다.
이 상태를 유휴 상태라고 하며, 상기 제1 에스엠이 유휴 상태가 될 때까지 대기한다(S5200).
다음, 상기 제1 에스엠이 유휴 상태가 될 경우, 상기 제1 에스엠은 슬립 상태로 전환된다(S5300).
실질적으로 전력공급은 지피유 클러스터 단위로 이루어지므로 상기 제1 에스엠이 슬립 상태로 전환된다는 의미는 상기 제1 에스엠이 포함된 지피유 클러스터를 슬립 상태로 전환할 수 있는 상태가 되었다는 것을 의미한다.
다음, 상기 제1 에스엠이 포함된 지피유 클러스터(이하, '제1 지피유 클러스터')를 슬립 상태로 전환한다(S5410).
한편, 상기 제1 지피유 클러스터 내의 다른 에스엠이 노멀 상태일 경우 프로세스를 처리하도록 두어야 하므로 상기 제1 지피유 클러스터 내의 모든 에스엠이 슬립 상태인지 판단하여(S5400), 모든 에스엠이 슬립 상태일 경우에만 상기 제1 지피유 클러스터를 슬립 상태로 전환한다.
즉, 상기 제1 지피유 클러스터 내의 모든 에스엠이 슬립 상태가 아닐 경우에는 상기 제1 지피유 클러스터를 노멀 상태로 유지한다(S5420).
따라서, 본 발명의 전력관리 기법에 의하면, 프로세서의 처리 성능의 저하는 최소화하면서 지피유 클러스터를 슬립 상태로 전환하여 전력 효율을 향상시킬 수 있다.
다음, 상기 제어 신호가 웨이크업 신호인지 슬립 신호인지 판단하는 단계(S4000)에서 상기 제어 신호가 웨이크업 신호일 경우 슬립 상태인 지피유 클러스터를 노멀 상태로 전환하여 처리 성능을 향상시킨다.
더욱 자세하게는 먼저, 상기 그래픽 처리 장치에 포함된 에스엠들 중, 슬립 상태인 어느 하나의 에스엠(이하, '제2 에스엠'이라 함)을 선택한다(S6000).
또한, 상기 제2 에스엠의 선택은 전술한 바 있듯이 라운드 로빈 기법으로 이루어질 수 있다.
다음, 상기 제2 에스엠이 포함된 지피유 클러스터(이하, '제2 지피유 클러스터'라 함)가 갖는 모든 에스엠이 슬립 상태인지 확인한다(S6100).
만약, 모든 에스엠이 슬립 상태일 경우, 상기 제2 지피유 클러스터는 노멀 상태이므로 상기 제2 지피유 클러스터의 상태를 노멀 상태로 전환한다(S6110).
그러나, 상기 제2 지피유 클러스터의 모든 에스엠이 슬립 상태가 아닐 경우에는 상기 제2 지피유 클러스터는 노멀 상태이므로, 상기 제2 지피유 클러스터의 상태는 유지하고 상기 제2 에스엠을 노멀 상태로 전환한다(S6200).
다음, 상기 제2 에스엠에 시티에이의 할당을 허용하여 상기 제2 에스엠이 프로세스를 처리하게 한다(S6300).
여기까지가 본 발명의 기본적인 메모리 경합 인지 방식(MC-aware-ORI, memory contention aware-original)의 전력관리 기법이다.
추가로 본 발명은 전술한 기본적인 메모리 경합 인지 방식에서 메모리 경합 정도를 계산할 때 지역성 우선 기법(Locality sensitive scheme)을 적용하여 메모리 경합 정도를 보다 정확하게 계산하여 전력관리를 수행할 수 있다.
이 지역성 우선 기법은 지역성 원리에 기반하며, 상기 지역성 우선 기법이 적용된 전력관리 기법은 지역성 우선 메모리 경합 인지 방식(MC-aware-LoSe,memory contention aware-locality sensitive)으로 명명한다.
지역성 원리란 이전에 참조된 메모리 블록들은 가까운 미래에 접근되는 경항이 있다는 시간적 지역성(temporal locality)과 이전에 참조된 메모리 블록 근처의 메모리 블록이 짧은 시간내에 다시 접근될 경향이 존재한다는 공간적 지역성(spatial locality)을 의미한다.
즉, 본 발명에서는 이 지역성 원리에 따라 최근 사이클 또는 최근 구간의 사이클에서 발생할 메모리 경합 횟수일수록 높은 가중치를 부여하고, 이전 사이클 또는 이전 구간의 사이클에서 발생한 메모리 경합 횟수일수록 낮은 가중치를 부여하함으로써 메모리 경합 정도의 계산에 있어 최근 발생한 메모리 경합 횟수에 중요성을 높여 정확힌 메모리 경합 정도를 계산할 수 있다.
또한, 상기 지역성 우선 메모리 경합 인지 방식의 메모리 경합 정도는 상기 수학식 1을 아래의 수학식 2와 같이 메모리 경합 횟수에 가중치 W를 곱하여 계산할 수 있다.
[수학식 2]
Figure 112016115701646-pat00002
여기서, Wi는 i번째 사이클의 가중치이고, 사이클 수가 증가할수록(최근 사이클일수록) 커진다.
또한, 본 발명은 전술한 기본적인 메모리 경합 인지 방식에서 상한 임계값과 하한 임계값을 가변하여 전력 소모량을 줄일 수 있는 기회는 희생하되 프로세스의 처리 성능을 향상시킬 수 있는 신호 방해 기법(Signal-obstructive scheme)이 적용된 전력관리 기법을 더 제공할 수 있다.
이 신호 방해 기법이 적용된 전력관리 기법은 신호 방해 메모리 경합 인지 방식(MC-awre-SiOb, memory contention aware-Signal obstructive)로 명명한다.
또한, 상기 신호 방해 기법은 지역성 우선 메모리 경합 인지 방식에도 적용될 수 있다.
또한, 상기 신호 방해 기법은 노멀 상태의 에스엠 개수가 감소할 경우 상한 임계값과 하한 임계값을 증가시켜 에스엠이 슬립 상태로 전환되는 비율을 줄여 프로세스의 처리 성능을 향상시킨다.
예를 들어, 슬립 상태의 에스엠 개수가 2개일 때, 상기 상한 임계값과 상기 하한 임계값이 각각 100과 20이라고 가정할 때, 상기 슬립 상태의 에스엠 개수가 3개로 증가한 경우(노멀 상태의 에스엠 개수가 감소한 경우)에는 상기 상한 임계값과 상기 하한 임계값을 각각 200과 40으로 증가시켜 임계값들을 조절한다.
그러면, 노멀 상태의 에스엠이 줄어들수록 노멀 상태의 에스엠이 슬립 상태로 전환될 수 있는 가능성은 줄어든다.
따라서, 전력 소모량을 줄일 수 있는 기회는 희생되되 프로세스의 처리 성능은 향상된다.
도 6은 본 발명의 일 실시예에 따른 전력관리 기법이 적용된 그래픽 처리 장치의 전력 효율(Power Efficiency)을 보여주는 그래프이다.
도 6을 참조하면, 모든 벤치 마크 프로그램에서 본 발명의 전력관리 기법들을 적용할 때, 전력 효율이 종래의 그래픽 처리 장치(Baseline)의 전력 효율보다 평균적으로 증가하는 것을 알 수 있다.
또한, 본 발명의 전력관리 기법들 중, 기본적인 메모리 경합 인지 방식(MC-aware-ORI)의 전력 효율이 평균적을 12.7% 증가하였으며, GroupⅠ의 벤치마크 프로그램들에서는 21.1%의 전력 효율 향상을 보였다.
또한, 지역성 우선 메모리 경합 인지 방식(MC-aware-LoSe)은 12.9%, 신호 방해 메모리 경합 인지 방식(MC-awre-SiOb)은 6.9%의 전력 효율 향상을 보여, 지역 우선 메모리 경합 인지 방식의 전력 효율이 가장 높은 것으로 나타났다.
도 7은 본 발명의 일 실시예에 따른 전력관리 기법이 적용된 그래픽 처리 장치의 전력 소비(Power Consumption)를 보여주는 그래프이다.
도 7을 참조하면, 모든 벤치 마크 프로그램에서 본 발명의 전력관리 기법들을 적용할 때, 전력 소비가 종래의 그래픽 처리 장치의 전력 소비보다 평균적으로 감소하는 것을 알 수 있다.
또한, 지역성 우선 메모리 경합 인지 방식(MC-aware-LoSe)의 전력 소비가 가장 평균적으로 가장 낮았으며, 기본적인 메모리 경합 인지 방식(MC-aware-ORI), 신호 방해 메모리 경합 인지 방식(MC-awre-SiOb) 순으로 전력 소비가 낮은 것을 확인 하였다.
도 8은 본 발명의 일 실시예에 따른 전력관리 기법이 적용된 그래픽 처리 장치의 성능(Performance)을 보여주는 그래프이다.
또한, 여기서 성능은 클럭당 처리 명령어수(IPC:Instruction per Clock)이다.
도 8을 참조하면, 본 발명에 따른 모든 방식의 전력관리 기법의 성능이 종래의 그래픽 처리 장치의 성능에 비해 미세하게 감소하는 경향을 보였으나, 기본적인 메모리 경합 인지 방식(MC-aware-ORI)이 2.2%, 지역성 우선 메모리 경합 인지 방식(MC-aware-LoSe)이 2.6%, 신호 방해 메모리 경합 인지 방식(MC-awre-SiOb)이 0.9% 감소하여 성능의 감소는 거의 없는 것으로 나타났다.
따라서 본 발명의 전력관리 기법에 의하면 성능의 감소는 거의 없으나 전력 효율은 매우 증가시킬 수 있음을 알 수 있다.
이상에서 살펴본 바와 같이 본 발명은 바람직한 실시예를 들어 도시하고 설명하였으나, 상기한 실시예에 한정되지 아니하며 본 발명의 정신을 벗어나지 않는 범위 내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변경과 수정이 가능할 것이다.
100:전력관리 유닛 110:클러스터 상태 테이블

Claims (25)

  1. 그래픽 처리 장치(GPU,Graphics Processing unit)의 클러스터(Cluster, 이하, '지피유 클러스터'라 함)들의 상태(status), 상기 지피유 클러스터들 각각에 포함되는 스트리밍 멀티프로세서(SM,Streaming multiprocessor, 이하, '에스엠'이라 함)들의 상태를 저장하는 클러스터 상태 테이블(Cluster status table)을 갖고,
    상기 그래픽 처리 장치의 시스템 관리유닛으로부터 메모리 경합 정보(Memory contention information)를 입력받아, 소정의 계산 사이클 동안에 발생한 메모리 경합 횟수(number or memory contention)로부터 메모리 경합 정도(degree of memory contention)를 산출하며,
    상기 메모리 경합 정도에 따라 노멀(nomal) 상태의 에스엠(이하 '제1 에스엠'이라 함)을 갖는 지피유 클러스터(이하, '제1 지피유 클러스터'라 함)를 슬립(sleep) 상태로 전환하거나, 슬립 상태의 에스엠(이하, '제2 에스엠'이라 함)을 갖는 지피유 클러스터(이하, '제2 지피유 클러스터'라 함)를 노멀 상태로 전환함으로써 지피유의 전력관리를 수행할 수 있는 스트리밍 멀티프로세서의 전력관리 유닛.
  2. 제 1 항에 있어서,
    상기 메모리 경합 정도가 소정의 임계값(이하, '상한 임계값'이라 함)보다 클 경우, 상기 제1 지피유 클러스터를 슬립 상태로 전환하는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  3. 제 2 항에 있어서,
    상기 메모리 경합 정도가 상기 상한 임계값보다 크더라도, 현재 노멀 상태의 에스엠 개수가 최소 에스엠 개수 이하라면 상기 제1 지피유 클러스터를 슬립 상태로 전환하지 않는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  4. 제 2 항에 있어서,
    상기 메모리 경합 정도가 상기 상한 임계값보다 크더라도, 상기 제1 지피유 클러스터 내의 어느 하나의 에스엠이 노멀 상태일 경우 상기 제1 지피유 클러스터를 슬립 상태로 전환하지 않는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  5. 제 2 항에 있어서,
    상기 클러스터 상태 테이블(Cluster status table)에는 각 에스엠에 실행될 워프(warp)가 존재하는지 여부를 표시하는 워프 풀 상태(Warp Pool Status)와 워프의 실행이 종료되었는지 여부를 표시하는 워프 실행 상태(Warp Execution Status)가 더 저장되는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  6. 제 5 항에 있어서,
    상기 메모리 경합 정도가 상기 상한 임계값보다 클 경우, 상기 제1 에스엠에 시티에이(CTA:Cooperative Thread Array)의 할당을 중지하고, 상기 제1 에스엠이 유휴(idle) 상태가 되면, 상기 제1 지피유 클러스터를 슬립 상태로 전환하는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  7. 제 6 항에 있어서,
    상기 유휴 상태는 상기 제2 에스엠의 워프 풀 상태와 워프 실행 상태를 확인하여 실행될 워프가 존재하지 않고, 워프의 실행도 모두 종료된 상태인 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  8. 제 1 항에 있어서,
    상기 메모리 경합 정도는 상기 계산 사이클 동안에 발생한 메모리 경합 횟수(number or memory contention)의 총 합에 상기 계산 사이클의 수를 나누어 계산하는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  9. 제 1 항에 있어서,
    상기 메모리 경합 정도는 상기 계산 사이클 동안에 발생한 메모리 경합 횟수(number or memory contention)에 가중치를 곱한 후 모두 더한 총 합에 상기 계산 사이클의 수를 나누어 계산하는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  10. 제 9 항에 있어서,
    상기 계산 사이클 내에서 최근 사이클 또는 최근 구간 사이클에서 발생한 메모리 경합 횟수일수록 더 큰 값의 가중치가 곱해지는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  11. 제 5 항에 있어서,
    상기 클러스터 상태 테이블(Cluster status table)에는 클러스터의 식별을 위한 클러스터 아이디(Cluster ID)와 에스엠의 식별을 위한 에스엠 아이디(SM ID)가 더 저장되는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  12. 제 2 항에 있어서,
    상기 메모리 경합 정도가 소정의 임계값(이하, '하한 임계값'이라 함)보다 작을 경우, 상기 제2 지피유 클러스터를 노멀 상태로 전환하는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  13. 제 12 항에 있어서,
    상기 상한 임계값과 상기 하한 임계값은 상기 그래픽 처리 장치에 포함된 에스엠들 중, 슬립 상태의 에스엠 개수가 증가할수록 증가하는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  14. 제 12 항에 있어서,
    상기 제2 지피유 클러스터가 노멀 상태로 전환되면, 상기 제2 에스엠을 노멀 상태로 전환하고, 상기 제2 에스엠에 시티에이가 할당되게 하는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  15. 제 12 항에 있어서,
    상기 제2 지피유 클러스터가 이미 노멀 상태인 경우, 상기 제2 지피유 클러스터의 상태는 유지하고, 상기 제2 에스엠을 노멀 상태로 전환하여 상기 제2 에스엠에 시티에이가 할당되게 하는 것을 특징으로 하는 스트리밍 멀티프로세서의 전력관리 유닛.
  16. 제 1 항 내지 제 15 항 중 어느 한 항의 스트리밍 멀티프로세서의 전력관리 유닛을 갖는 그래픽 처리 장치.
  17. 제 16 항의 그래픽 처리 장치가 임베디드된 임베디드 시스템.
  18. 제 1 항 내지 제 15 항 중 어느 한 항의 스트리밍 멀티프로세서의 전력관리 유닛이 지피유 클러스터의 상태를 전력이 공급되어 할당된 작업을 수행할 수 있는 노멀 상태 또는 전력의 공급이 중단되어 작업을 수행할 수 없는 슬립 상태로 전환함으로써, 전력관리를 수행하는 전력관리 기법으로서,
    상기 스트리밍 멀티프로세서 전력관리 유닛이 상기 시스템 관리유닛으로부터 메모리 경합정보를 입력받는 단계;
    소정의 계산 사이클 동안에 발생한 메모리 경합 횟수로부터 메모리 경합 정도를 산출하는 단계;
    상기 메모리 경합 정도가 상한 임계값보다 클 경우, 슬립 신호(sleep signal)를 생성하고, 하한 임계값보다 작을 경우, 웨이크업 신호(wakeup signal)을 생성하는 단계; 및
    상기 슬립 신호가 생성될 경우 상기 제1 지피유 클러스터를 슬립 상태로 전환하고, 상기 웨이크업 신호가 생성될 경우 상기 제2 지피유 클러스터를 노멀 상태로 전환하는 단계;를 포함하는 것을 특징으로 하는 전력관리 기법.
  19. 제 18 항에 있어서,
    상기 슬립 신호는 상기 메모리 경합 정도가 상기 상한 임계값보다 크더라도, 현재 노멀 상태의 에스엠 개수가 최소 에스엠 개수 이하일 경우 생성되지 않는 것을 특징으로 하는 전력관리 기법.
  20. 제 18 항에 있어서,
    상기 제1 지피유 클러스터를 슬립 상태로 전환하는 과정은,
    지피유 클러스터들에 포함된 에스엠들 중, 노멀 상태인 어느 하나의 에스엠을 상기 제1 에스엠으로 선택하는 단계;
    상기 제1 에스엠에 시티에이의 할당을 중지하는 단계;
    상기 제1 에스엠에서 실행될 워프가 존재하지 않고, 워프의 실행도 모두 종료되는 유휴 상태까지 대기하는 단계;
    상기 제1 에스엠이 유휴 상태가 되면, 슬립 상태로 전환하는 단계; 및
    상기 제1 지피유 클러스터 내의 모든 에스엠이 슬립 상태인지 판단하고, 모든 에스엠이 슬립 상태일 경우 상기 제1 지피유 클러스터를 슬립 상태로 전환하고, 어느 하나의 에스엠이 노멀 상태일 경우에는 상기 제1 지피유 클러스터를 노멀 상태로 유지하는 단계;를 포함하는 것을 특징으로 하는 전력관리 기법.
  21. 제 18 항에 있어서,
    상기 제2 지피유 클러스터를 노멀 상태로 전환하는 과정은,
    지피유 클러스터들에 포함된 에스엠들 중, 슬립 상태인 어느 하나의 에스엠을 상기 제2 에스엠으로 선택하는 단계;
    상기 제2 지피유 클러스터가 슬립 상태인지 확인하고, 슬립 상태일 경우 노멀 상태로 전환하고, 노멀 상태일 경우 상태를 유지하는 단계; 및
    상기 제2 에스엠을 슬립 상태에서 노멀 상태로 전환하는 단계;
    상기 제2 에스엠에 시티에이의 할당을 허용하는 단계;를 포함하는 것을 특징으로 하는 전력관리 기법.
  22. 제 18 항에 있어서,
    상기 메모리 경합 정도는 상기 계산 사이클 동안에 발생한 메모리 경합 횟수(number or memory contention)의 총 합에 상기 계산 사이클의 수를 나누어 계산하는 것을 특징으로 하는 전력관리 기법.
  23. 제 22 항에 있어서,
    상기 메모리 경합 정도는 상기 계산 사이클 동안에 발생한 메모리 경합 횟수(number or memory contention)에 가중치를 곱한 후 모두 더한 총 합에 상기 계산 사이클의 수를 나누어 계산하는 것을 특징으로 하는 전력관리 기법.
  24. 제 23 항에 있어서,
    상기 계산 사이클 내에서 최근 사이클 또는 최근 구간 사이클에서 발생한 메모리 경합 횟수일수록 더 큰 값의 가중치가 곱해지는 것을 특징으로 하는 전력관리 기법.
  25. 제 18 항에 있어서,
    상기 상한 임계값과 상기 하한 임계값은 상기 그래픽 처리 장치에 포함된 에스엠들 중, 슬립 상태의 에스엠 개수가 증가할수록 증가하는 것을 특징으로 하는 전력관리 기법.

KR1020160158422A 2016-11-25 2016-11-25 메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치 KR101772921B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160158422A KR101772921B1 (ko) 2016-11-25 2016-11-25 메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160158422A KR101772921B1 (ko) 2016-11-25 2016-11-25 메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치

Publications (1)

Publication Number Publication Date
KR101772921B1 true KR101772921B1 (ko) 2017-08-30

Family

ID=59760442

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160158422A KR101772921B1 (ko) 2016-11-25 2016-11-25 메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치

Country Status (1)

Country Link
KR (1) KR101772921B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12026540B2 (en) 2022-01-13 2024-07-02 Kyndryl, Inc. Working memory management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258617A (ja) 2004-03-10 2005-09-22 Nec Corp メモリ競合時間計測装置、メモリ競合時間計測方法及びプログラム
KR100701800B1 (ko) 2002-04-04 2007-04-02 인피니온 테크놀로지스 아게 공유 메모리를 갖는 향상된 아키텍처
US20120081373A1 (en) 2010-09-30 2012-04-05 Nec Laboratories America, Inc. Energy-aware task consolidation on graphics processing unit (gpu)
US20130055281A1 (en) 2011-08-29 2013-02-28 Fujitsu Limited Information processing apparatus and scheduling method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100701800B1 (ko) 2002-04-04 2007-04-02 인피니온 테크놀로지스 아게 공유 메모리를 갖는 향상된 아키텍처
JP2005258617A (ja) 2004-03-10 2005-09-22 Nec Corp メモリ競合時間計測装置、メモリ競合時間計測方法及びプログラム
US20120081373A1 (en) 2010-09-30 2012-04-05 Nec Laboratories America, Inc. Energy-aware task consolidation on graphics processing unit (gpu)
US20130055281A1 (en) 2011-08-29 2013-02-28 Fujitsu Limited Information processing apparatus and scheduling method
JP2013047892A (ja) 2011-08-29 2013-03-07 Fujitsu Ltd 情報処理装置、スケジューリング方法およびプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Zhi Li, Hybrid CMOS-TFET based register files for energy-efficient GPGPUs, Quality Electronic Design (ISQED), 2013 14th InternationalSymposium on, 2013.03.
김철홍, GPU 성능 저하 해결을 위한 내부 자원 활용/비활용 상태 분석, 한국 콘텐츠학회 논문지, 2015.7
최홍준 외 3명, "GPU 코어에 할당된 CTA 수에 따른 GPGPU 구조의 성능 및 전력 효율성 분석, 한국차세대컴퓨팅학회 논문지, 2014.12월

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12026540B2 (en) 2022-01-13 2024-07-02 Kyndryl, Inc. Working memory management

Similar Documents

Publication Publication Date Title
Sethia et al. Equalizer: Dynamic tuning of gpu resources for efficient execution
Kayıran et al. Neither more nor less: Optimizing thread-level parallelism for GPGPUs
CN101379453B (zh) 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置
US7788519B2 (en) Method, system, and apparatus for improving multi-core processor performance
TWI464570B (zh) 用於平衡具有多核心之計算裝置的效能與電力節省的方法、電腦可讀儲存媒體與多邏輯處理器系統
US9086823B2 (en) Providing adaptive frequency control for a processor using utilization information
Wang et al. Power gating strategies on GPUs
US9164931B2 (en) Clamping of dynamic capacitance for graphics
TWI489266B (zh) 指定應用程式執行緒的效能狀態之指令
WO2014092840A1 (en) Closed loop cpu performance control
KR20080041047A (ko) 멀티 코어 프로세서 시스템에서 로드 밸런싱을 위한 장치및 방법
US9812093B2 (en) Programmable power performance optimization for graphics cores
US8736619B2 (en) Method and system for load optimization for power
JP5345990B2 (ja) 特定のプロセスを短時間で処理する方法およびコンピュータ
US10515611B2 (en) Performance-based graphics processing unit power management
US9652262B2 (en) Operation parameter control based upon queued instruction characteristics
KR20140140943A (ko) 멀티 코어 시스템 및 멀티 코어 시스템의 작업 스케줄링 방법
US20220011847A1 (en) Information processing apparatus and control method in information processing apparatus
TW201923564A (zh) 多處理器系統中混合排程的切換策略
KR101772921B1 (ko) 메모리 경합 인지를 통한 그래픽 처리 장치의 전력관리 기법 및 그 기법을 수행하는 전력관리 유닛, 그래픽 처리 장치
KR20190068156A (ko) 그래픽 처리 장치 및 이의 동작 방법
CN111045800A (zh) 一种基于短作业优先的优化gpu性能的方法及系统
Padoin et al. Managing power demand and load imbalance to save energy on systems with heterogeneous CPU speeds
Jararweh et al. Power and performance management of gpus based cluster
US20170330303A1 (en) Analysis system and method for reducing the control flow divergence in the Graphics Processing Units (GPUs)

Legal Events

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