KR101659705B1 - 보장된 과도 데드라인들로 중앙 프로세싱 유닛 전력을 제어하기 위한 시스템 및 방법 - Google Patents
보장된 과도 데드라인들로 중앙 프로세싱 유닛 전력을 제어하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR101659705B1 KR101659705B1 KR1020157022977A KR20157022977A KR101659705B1 KR 101659705 B1 KR101659705 B1 KR 101659705B1 KR 1020157022977 A KR1020157022977 A KR 1020157022977A KR 20157022977 A KR20157022977 A KR 20157022977A KR 101659705 B1 KR101659705 B1 KR 101659705B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- frequency
- value
- performance
- workload
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 214
- 238000000034 method Methods 0.000 title claims description 120
- 230000001052 transient effect Effects 0.000 title abstract description 52
- 230000008878 coupling Effects 0.000 claims abstract description 18
- 238000010168 coupling process Methods 0.000 claims abstract description 18
- 238000005859 coupling reaction Methods 0.000 claims abstract description 18
- 230000007704 transition Effects 0.000 claims description 20
- 238000005070 sampling Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 20
- 230000004043 responsiveness Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 14
- 230000001276 controlling effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 6
- 230000009191 jumping Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y02B60/1217—
-
- Y02B60/1285—
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Debugging And Monitoring (AREA)
Abstract
Description
도 1 은 클로즈드 포지션의 제 1 양태의 휴대용 컴퓨팅 디바이스 (PCD) 의 정면 평면도이다.
도 2 는 오픈 포지션의 제 1 양태의 PCD 의 정면 평면도이다.
도 3 은 제 2 양태의 PCD 의 블록 다이어그램이다.
도 4 는 프로세싱 시스템의 블록 다이어그램이다.
도 5 는 CPU 내의 전력을 동적으로 제어하는 제 1 양태의 방법을 예시하는 플로우차트이다.
도 6 은 CPU 내의 전력을 동적으로 제어하는 제 2 양태의 방법의 1 부분을 예시하는 플로우차트이다.
도 7 은 멀티코어 CPU 내의 전력을 동적으로 제어하는 제 2 양태의 방법의 제 2 부분을 예시하는 플로우차트이다.
도 8 은 시간에 대해 플롯된 동적 클록 및 전압 스케일링 (dynamic clock and voltage scaling; DCVS) 제어된 CPU 주파수를 도시하는 예시적인 그래프이다.
도 9 는 다양한 성능 레벨들에 대한 유효 과도 응답 시간들을 도시하는 예시적인 그래프이다.
도 10 은 다양한 양태들에 따라 성능 보장들을 시행하는 동적 클록 주파수/전압 스케일링 (DCVS) 솔루션을 구현하는 컴퓨팅 디바이스에서의 논리적 컴포넌트들 및 정보 플로우들을 예시하는 블록 다이어그램이다.
도 11a 및 도 11b 는 성능 보장을 생성하는 일 양태의 방법을 예시하는 프로세스 플로우 다이어그램들이다.
도 12 및 도 13 은 프로세싱 코어가 그 사전 컴퓨팅된, 예측된, 및또는 실제 정상 상태 워크로드를 완료하는데 필요한 미리 결정된 시간량보다 더 많은 시간 동안 그 프로세싱 코어가 계속 비지 상태에 있지 않음을 보장하기 위한 성능 보장을 시행하는 다양한 양태의 방법들을 예시하는 프로세스 플로우 다이어그램들이다.
도 14 는 일 양태에서의 이용에 적합한 모바일 디바이스의 컴포넌트 블록 다이어그램이다.
도 15 는 일 양태에서의 이용에 적합한 서버 디바이스의 컴포넌트 블록 다이어그램이다.
도 16 은 일 양태에서의 이용에 적합한 랩톱 컴퓨터 디바이스의 컴포넌트 블록 다이어그램이다.
도 17 은 멀티코어 시스템에서 실행되는 스레드 또는 워크로드에 대한 코어 마다의 성능 보장들을 설정하는 일 예의 DCVS 솔루션의 예시이다.
도 18 은 멀티코어 시스템에서 실행되는 스레드 또는 워크로드에 대한 그룹 기반 성능 보증들을 설정하는 일 예의 DCVS 솔루션의 예시이다.
도 19 는 사전 컴퓨팅된, 예측된, 및/또는 실제 정상 상태 워크로드를 완료하는데 필요한 것보다 더 많은 시간 동안 멀티프로세서 시스템 내의 프로세서들이 계속 비지 상태에 있지 않음을 보장하기 위한 성능 보장을 시행하는 일 양태의 방법을 예시하는 프로세스 플로우 다이어그램이다.
Claims (40)
- 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법으로서,
제 1 프로세서의 정상 상태 워크로드를 결정하는 단계;
상기 제 1 프로세서 상에서 결정된 상기 정상 상태 워크로드를 수행하는데 필요한 시간인 워크량을 결정하는 단계;
상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 단계;
상기 제 1 프로세서를 아이들 상태로부터 비지 상태로 천이시키는 단계;
상기 제 1 프로세서의 실제 워크로드에 기초하여 상기 제 1 프로세서의 주파수를 스케일링하기 위해 동적 클록 및 전압 스케일링 동작들을 수행하는 단계;
결정된 상기 워크량과 상기 성능 보장 값의 합 이상인 결합 주기 (combined period) 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있는지 여부를 결정하는 단계; 및
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 단계를 포함하는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 제 1 항에 있어서,
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 단계는 :
상기 제 1 프로세서 또는 상기 제 2 프로세서의 상기 주파수를 최대 프로세서 주파수로 증가시키는 단계를 포함하는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 제 1 항에 있어서,
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 단계는, 상기 제 1 프로세서 또는 상기 제 2 프로세서의 상기 주파수를 스텝들 단위로 (in steps) 증가시키는 단계를 포함하며,
상기 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법은 :
스케일링된 주파수에 기초하여 상기 성능 보장 값을 업데이트하는 단계;
결정된 상기 워크량과 상기 성능 보장 값의 합 이상인 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있는지 여부를 결정하는 단계; 및
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 단계
의 동작들을 반복적으로 수행하는 단계를 더 포함하는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 제 1 항에 있어서,
상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 단계는, 데드라인 값을 컴퓨팅하는 단계를 포함하는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 제 1 항에 있어서,
상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 단계는, 버짓 값 (budget value) 을 컴퓨팅하는 단계를 포함하는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 제 1 항에 있어서,
상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 단계는, 상기 제 1 프로세서 상에서 실행하도록 스케줄링된 태스크들의 요건들을 결정하는 단계를 포함하는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 제 1 항에 있어서,
비지 상태와 아이들 상태 간의 천이들을 샘플링함으로써 펄스열 (pulse train) 들을 생성하는 단계를 더 포함하는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 제 1 항에 있어서,
상기 제 1 프로세서의 정상 상태 워크로드를 결정하는 단계, 상기 제 1 프로세서 상에서 상기 정상 상태 워크로드를 수행하는데 필요한 워크량을 결정하는 단계, 및 상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 단계의 동작들은 단일 스레드에 의해 수행되는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 제 8 항에 있어서,
상기 단일 스레드는 상기 제 1 프로세서 상에서 실행되는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 제 8 항에 있어서,
상기 단일 스레드는 상기 컴퓨팅 디바이스의 상기 제 2 프로세서 상에서 실행되는, 다수의 프로세서들을 갖는 컴퓨팅 디바이스에 대한 성능을 향상시키는 방법. - 컴퓨팅 디바이스로서,
제 1 프로세서;
제 2 프로세서;
상기 제 1 프로세서의 정상 상태 워크로드를 결정하는 수단;
상기 제 1 프로세서 상에서 결정된 상기 정상 상태 워크로드를 수행하는데 필요한 시간인 워크량을 결정하는 수단;
상기 제 1 프로세서 및 상기 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 수단;
상기 제 1 프로세서를 아이들 상태로부터 비지 상태로 천이시키는 수단;
상기 제 1 프로세서의 실제 워크로드에 기초하여 상기 제 1 프로세서의 주파수를 스케일링하기 위해 동적 클록 및 전압 스케일링 동작들을 수행하는 수단;
결정된 상기 워크량과 상기 성능 보장 값의 합 이상인 결합 주기 (combined period) 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있는지 여부를 결정하는 수단; 및
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 수단을 포함하는, 컴퓨팅 디바이스. - 제 11 항에 있어서,
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 수단은 :
상기 제 1 프로세서 또는 상기 제 2 프로세서의 상기 주파수를 최대 프로세서 주파수로 증가시키는 수단을 포함하는, 컴퓨팅 디바이스. - 제 11 항에 있어서,
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 수단은, 상기 제 1 프로세서 또는 상기 제 2 프로세서의 상기 주파수를 스텝들 단위로 (in steps) 증가시키는 수단을 포함하며,
상기 컴퓨팅 디바이스는 :
스케일링된 주파수에 기초하여 상기 성능 보장 값을 업데이트하는 것;
결정된 상기 워크량과 상기 성능 보장 값의 합 이상인 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있는지 여부를 결정하는 것; 및
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 것
의 동작들을 반복적으로 수행하는 수단을 더 포함하는, 컴퓨팅 디바이스. - 제 11 항에 있어서,
상기 제 1 프로세서 및 상기 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 수단은, 데드라인 값을 컴퓨팅하는 수단을 포함하는, 컴퓨팅 디바이스. - 제 11 항에 있어서,
상기 제 1 프로세서 및 상기 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 수단은, 버짓 값 (budget value) 을 컴퓨팅하는 수단을 포함하는, 컴퓨팅 디바이스. - 제 11 항에 있어서,
상기 제 1 프로세서 및 상기 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 수단은, 상기 제 1 프로세서 상에서 실행하도록 스케줄링된 태스크들의 요건들을 결정하는 수단을 포함하는, 컴퓨팅 디바이스. - 제 11 항에 있어서,
비지 상태와 아이들 상태 간의 천이들을 샘플링함으로써 펄스열 (pulse train) 들을 생성하는 수단을 더 포함하는, 컴퓨팅 디바이스. - 제 11 항에 있어서,
상기 제 1 프로세서의 상기 정상 상태 워크로드를 결정하는 것, 상기 정상 상태 워크로드를 수행하는데 필요한 워크량을 결정하는 것, 및 상기 성능 보장 값을 컴퓨팅하는 것의 동작들을 단일 스레드를 통해 달성하는 수단을 더 포함하는, 컴퓨팅 디바이스. - 제 18 항에 있어서,
상기 제 1 프로세서 상에서 상기 단일 스레드를 실행하는 수단을 더 포함하는, 컴퓨팅 디바이스. - 제 18 항에 있어서,
상기 컴퓨팅 디바이스의 상기 제 2 프로세서 상에서 상기 단일 스레드를 실행하는 수단을 더 포함하는, 컴퓨팅 디바이스. - 컴퓨팅 디바이스로서,
제 1 프로세서;
제 2 프로세서; 및
프라이머리 프로세서를 포함하며,
상기 프라이머리 프로세서는 :
상기 제 1 프로세서의 정상 상태 워크로드를 결정하는 것;
상기 제 1 프로세서 상에서 결정된 상기 정상 상태 워크로드를 수행하는데 필요한 시간인 워크량을 결정하는 것;
상기 제 1 프로세서 및 상기 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것;
상기 제 1 프로세서를 아이들 상태로부터 비지 상태로 천이시키는 것;
상기 제 1 프로세서의 실제 워크로드에 기초하여 상기 제 1 프로세서의 주파수를 스케일링하기 위해 동적 클록 및 전압 스케일링 동작들을 수행하는 것;
결정된 상기 워크량과 상기 성능 보장 값의 합 이상인 결합 주기 (combined period) 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있는지 여부를 결정하는 것; 및
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 것
을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스. - 제 21 항에 있어서,
상기 프라이머리 프로세서는, 결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 것이 :
상기 제 1 프로세서 또는 상기 제 2 프로세서의 상기 주파수를 최대 프로세서 주파수로 증가시키는 것
을 포함하도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스. - 제 21 항에 있어서,
상기 프라이머리 프로세서는, 결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 것이, 상기 제 1 프로세서 또는 상기 제 2 프로세서의 상기 주파수를 스텝들 단위로 (in steps) 증가시키는 것을 포함하도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며,
상기 프라이머리 프로세서는 :
스케일링된 주파수에 기초하여 상기 성능 보장 값을 업데이트하는 것;
결정된 상기 워크량과 상기 성능 보장 값의 합 이상인 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있는지 여부를 결정하는 것; 및
결정된 상기 워크량과 상기 성능 보장의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 것
의 동작들을 반복적으로 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스. - 제 21 항에 있어서,
상기 프라이머리 프로세서는, 상기 제 1 프로세서 및 상기 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것이, 데드라인 값을 컴퓨팅하는 것을 포함하도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스. - 제 21 항에 있어서,
상기 프라이머리 프로세서는, 상기 제 1 프로세서 및 상기 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것이, 버짓 값 (budget value) 을 컴퓨팅하는 것을 포함하도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스. - 제 21 항에 있어서,
상기 프라이머리 프로세서는, 상기 제 1 프로세서 및 상기 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것이, 상기 제 1 프로세서 상에서 실행하도록 스케줄링된 태스크들의 요건들을 결정하는 것을 포함하도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스. - 제 21 항에 있어서,
상기 프라이머리 프로세서는 :
비지 상태와 아이들 상태 간의 천이들을 샘플링함으로써 펄스열 (pulse train) 들을 생성하는 것
을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스. - 제 21 항에 있어서,
상기 프라이머리 프로세서는, 상기 제 1 프로세서의 정상 상태 워크로드를 결정하는 것, 상기 제 1 프로세서 상에서 상기 정상 상태 워크로드를 수행하는데 필요한 워크량을 결정하는 것, 및 상기 제 1 프로세서 및 상기 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것의 동작들이 단일 스레드에 의해 수행되도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스. - 제 28 항에 있어서,
상기 제 1 프로세서는 상기 프라이머리 프로세서인, 컴퓨팅 디바이스. - 제 28 항에 있어서,
상기 제 2 프로세서는 상기 프라이머리 프로세서인, 컴퓨팅 디바이스. - 프로세서 실행가능 소프트웨어 명령들을 저장한 비일시적인 컴퓨터 판독가능 저장 매체로서,
상기 프로세서 실행가능 소프트웨어 명령들은, 프라이머리 프로세서로 하여금 :
제 1 프로세서의 정상 상태 워크로드를 결정하는 것;
상기 제 1 프로세서 상에서 결정된 상기 정상 상태 워크로드를 수행하는데 필요한 시간인 워크량을 결정하는 것;
상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것;
상기 제 1 프로세서를 아이들 상태로부터 비지 상태로 천이시키는 것;
상기 제 1 프로세서의 실제 워크로드에 기초하여 상기 제 1 프로세서의 주파수를 스케일링하기 위해 동적 클록 및 전압 스케일링 동작들을 수행하는 것;
결정된 상기 워크량과 상기 성능 보장 값의 합 이상인 결합 주기 (combined period) 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있는지 여부를 결정하는 것; 및
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 것
을 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적인 컴퓨터 판독가능 저장 매체. - 제 31 항에 있어서,
저장된 상기 프로세서 실행가능 소프트웨어 명령들은, 상기 프라이머리 프로세서로 하여금, 결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 것이 :
상기 제 1 프로세서 또는 상기 제 2 프로세서의 상기 주파수를 최대 프로세서 주파수로 증가시키는 것
을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시적인 컴퓨터 판독가능 저장 매체. - 제 31 항에 있어서,
저장된 상기 프로세서 실행가능 소프트웨어 명령들은, 상기 프라이머리 프로세서로 하여금, 결정된 상기 워크량과 상기 성능 보장 값의 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 것이, 상기 제 1 프로세서 또는 상기 제 2 프로세서의 상기 주파수를 스텝들 단위로 (in steps) 증가시키는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되며,
저장된 상기 프로세서 실행가능 소프트웨어 명령들은, 상기 프라이머리 프로세서로 하여금 :
스케일링된 주파수에 기초하여 상기 성능 보장 값을 업데이트하는 것;
결정된 상기 워크량과 상기 성능 보장 값의 합 이상인 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있는지 여부를 결정하는 것; 및
결정된 상기 워크량과 상기 성능 보장 값의 상기 합 이상인 상기 결합 주기 동안 상기 제 1 프로세서 및 상기 제 2 프로세서가 계속 상기 비지 상태에 있다고 결정될 때 상기 제 1 프로세서 및 상기 제 2 프로세서 중 하나의 프로세서의 주파수를 증가시키는 것
의 동작들을 반복적으로 수행하게 하도록 구성되는, 비일시적인 컴퓨터 판독가능 저장 매체. - 제 31 항에 있어서,
저장된 상기 프로세서 실행가능 소프트웨어 명령들은, 상기 프라이머리 프로세서로 하여금, 상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것이, 데드라인 값을 컴퓨팅하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시적인 컴퓨터 판독가능 저장 매체. - 제 31 항에 있어서,
저장된 상기 프로세서 실행가능 소프트웨어 명령들은, 상기 프라이머리 프로세서로 하여금, 상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것이, 버짓 값 (budget value) 을 컴퓨팅하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시적인 컴퓨터 판독가능 저장 매체. - 제 31 항에 있어서,
저장된 상기 프로세서 실행가능 소프트웨어 명령들은, 상기 프라이머리 프로세서로 하여금, 상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것이, 상기 제 1 프로세서 상에서 실행하도록 스케줄링된 태스크들의 요건들을 결정하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시적인 컴퓨터 판독가능 저장 매체. - 제 31 항에 있어서,
저장된 상기 프로세서 실행가능 소프트웨어 명령들은, 상기 프라이머리 프로세서로 하여금 :
비지 상태와 아이들 상태 간의 천이들을 샘플링함으로써 펄스열 (pulse train) 들을 생성하는 것
을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적인 컴퓨터 판독가능 저장 매체. - 제 31 항에 있어서,
저장된 상기 프로세서 실행가능 소프트웨어 명령들은, 상기 프라이머리 프로세서로 하여금, 상기 제 1 프로세서의 정상 상태 워크로드를 결정하는 것, 상기 제 1 프로세서 상에서 상기 정상 상태 워크로드를 수행하는데 필요한 워크량을 결정하는 것, 및 상기 제 1 프로세서 및 제 2 프로세서를 포함하는 프로세싱 그룹에 대한 성능 보장 값을 컴퓨팅하는 것의 동작들이 단일 스레드에 의해 수행되도록 하는 동작들을 수행하게 하도록 구성되는, 비일시적인 컴퓨터 판독가능 저장 매체. - 제 38 항에 있어서,
상기 제 1 프로세서는 상기 프라이머리 프로세서인, 비일시적인 컴퓨터 판독가능 저장 매체. - 제 38 항에 있어서,
상기 제 2 프로세서는 상기 프라이머리 프로세서인, 비일시적인 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/759,709 US9176572B2 (en) | 2009-12-16 | 2013-02-05 | System and method for controlling central processing unit power with guaranteed transient deadlines |
US13/759,709 | 2013-02-05 | ||
PCT/US2013/061649 WO2014123587A1 (en) | 2013-02-05 | 2013-09-25 | System and method for controlling central processing unit power with guaranteed transient deadlines |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150114969A KR20150114969A (ko) | 2015-10-13 |
KR101659705B1 true KR101659705B1 (ko) | 2016-09-26 |
Family
ID=49382574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157022977A KR101659705B1 (ko) | 2013-02-05 | 2013-09-25 | 보장된 과도 데드라인들로 중앙 프로세싱 유닛 전력을 제어하기 위한 시스템 및 방법 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2954385A1 (ko) |
JP (1) | JP5982588B2 (ko) |
KR (1) | KR101659705B1 (ko) |
CN (1) | CN104969142B (ko) |
WO (1) | WO2014123587A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160224053A1 (en) * | 2015-01-30 | 2016-08-04 | Qualcomm Incorporated | Timer-based processing unit operational scaling employing timer resetting on idle process scheduling |
US9886081B2 (en) * | 2015-09-16 | 2018-02-06 | Qualcomm Incorporated | Managing power-down modes |
US10255106B2 (en) | 2016-01-27 | 2019-04-09 | Qualcomm Incorporated | Prediction-based power management strategy for GPU compute workloads |
US10296067B2 (en) * | 2016-04-08 | 2019-05-21 | Qualcomm Incorporated | Enhanced dynamic clock and voltage scaling (DCVS) scheme |
US10331195B2 (en) * | 2016-06-06 | 2019-06-25 | Qualcomm Incorporated | Power and performance aware memory-controller voting mechanism |
US10649518B2 (en) * | 2017-01-26 | 2020-05-12 | Ati Technologies Ulc | Adaptive power control loop |
US11144085B2 (en) * | 2017-06-23 | 2021-10-12 | Intel Corporation | Dynamic maximum frequency limit for processing core groups |
CN109426329A (zh) * | 2017-08-30 | 2019-03-05 | 比亚迪股份有限公司 | 片上系统及其时钟频率动态控制方法和装置 |
CN109417594A (zh) * | 2017-11-29 | 2019-03-01 | 深圳市大疆创新科技有限公司 | 图像处理方法、拍摄设备、无人机及地面端设备 |
CN113031736B (zh) | 2019-12-09 | 2024-12-27 | 华为技术有限公司 | 一种电压调节方法和电子设备 |
US11449125B1 (en) * | 2021-04-01 | 2022-09-20 | Qualcomm Incorporated | Adaptive dynamic clock and voltage scaling |
CN114785376B (zh) * | 2022-05-06 | 2023-07-21 | Oppo广东移动通信有限公司 | 频压预配置方法和相关装置 |
JPWO2023238276A1 (ko) * | 2022-06-08 | 2023-12-14 | ||
US20240111560A1 (en) * | 2022-09-30 | 2024-04-04 | Subhankar Panda | Workload linked performance scaling for servers |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145617A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed transient deadlines |
US20110145824A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with reduced frequency oscillations |
US20110145559A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed steady state deadlines |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7917789B2 (en) * | 2007-09-28 | 2011-03-29 | Intel Corporation | System and method for selecting optimal processor performance levels by using processor hardware feedback mechanisms |
US9519300B2 (en) * | 2007-12-20 | 2016-12-13 | Ken Tsz Kin Mok | Reducing cross-regulation interferences between voltage regulators |
JP5547718B2 (ja) * | 2008-05-13 | 2014-07-16 | スイノプスイス インコーポレーテッド | 電源マネージャ及び電源管理方法 |
JP5545376B2 (ja) * | 2010-12-22 | 2014-07-09 | 富士通株式会社 | マルチコアプロセッサシステム、および電力制御方法 |
-
2013
- 2013-09-25 CN CN201380072130.XA patent/CN104969142B/zh active Active
- 2013-09-25 JP JP2015555992A patent/JP5982588B2/ja active Active
- 2013-09-25 KR KR1020157022977A patent/KR101659705B1/ko active IP Right Grant
- 2013-09-25 EP EP13777365.1A patent/EP2954385A1/en not_active Withdrawn
- 2013-09-25 WO PCT/US2013/061649 patent/WO2014123587A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145617A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed transient deadlines |
US20110145824A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with reduced frequency oscillations |
US20110145559A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed steady state deadlines |
Also Published As
Publication number | Publication date |
---|---|
CN104969142A (zh) | 2015-10-07 |
JP2016511880A (ja) | 2016-04-21 |
CN104969142B (zh) | 2017-09-19 |
KR20150114969A (ko) | 2015-10-13 |
WO2014123587A1 (en) | 2014-08-14 |
JP5982588B2 (ja) | 2016-08-31 |
EP2954385A1 (en) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101659705B1 (ko) | 보장된 과도 데드라인들로 중앙 프로세싱 유닛 전력을 제어하기 위한 시스템 및 방법 | |
US9176572B2 (en) | System and method for controlling central processing unit power with guaranteed transient deadlines | |
US9104411B2 (en) | System and method for controlling central processing unit power with guaranteed transient deadlines | |
KR101409034B1 (ko) | 보장된 과도 데드라인을 가진 중앙 처리 장치 전력을 제어하는 시스템 및 방법 | |
KR101409055B1 (ko) | 추론된 작업부하 병렬성에 기초하여 중앙 처리 장치 전력을 제어하는 시스템 및 방법 | |
JP5601731B2 (ja) | プロセッサを動的に制御するシステムおよび方法 | |
JP5605960B2 (ja) | 周波数変動を低減させて中央処理装置電力を制御するためのシステムおよび方法 | |
KR101516859B1 (ko) | 보장된 정상 상태 데드라인을 가진 중앙 처리 장치 전력을 제어하는 시스템 및 방법 | |
US9921635B2 (en) | Dynamic and adaptive sleep state management | |
KR101578336B1 (ko) | 보장된 과도 데드라인들로 중앙 프로세싱 유닛 전력을 제어하기 위한 시스템 및 방법 | |
CN105893141A (zh) | 一种多核处理器调控方法及装置及使用该方法的移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20150824 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20151221 Comment text: Request for Examination of Application |
|
PA0302 | Request for accelerated examination |
Patent event date: 20151221 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160304 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20160621 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20160919 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20160919 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20190624 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20190624 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20200624 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20220622 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20230626 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20240624 Start annual number: 9 End annual number: 9 |