KR20180011865A - 런타임 전력 효율 결정들에 기초한 적응형 하드웨어 가속 - Google Patents
런타임 전력 효율 결정들에 기초한 적응형 하드웨어 가속 Download PDFInfo
- Publication number
- KR20180011865A KR20180011865A KR1020187002117A KR20187002117A KR20180011865A KR 20180011865 A KR20180011865 A KR 20180011865A KR 1020187002117 A KR1020187002117 A KR 1020187002117A KR 20187002117 A KR20187002117 A KR 20187002117A KR 20180011865 A KR20180011865 A KR 20180011865A
- Authority
- KR
- South Korea
- Prior art keywords
- workload
- execution
- runtime
- power efficiency
- hardware accelerator
- Prior art date
Links
- 230000003044 adaptive effect Effects 0.000 title claims description 5
- 230000001133 acceleration Effects 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000000694 effects Effects 0.000 claims description 47
- 230000003993 interaction Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 13
- 235000019800 disodium phosphate Nutrition 0.000 description 10
- 230000005641 tunneling Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000011230 binding agent Substances 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- 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/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
시스템들 및 방법들은 하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하는 것 및 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 하드웨어 가속기에서의 실행을 위해 작업부하를 스케줄링하는 것을 제공할 수 있다. 추가적으로, 전력 효율 결정이 호스트 프로세서에서의 작업부하의 실행이 하드웨어 가속기에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 호스트 프로세서에서의 실행을 위해 작업부하가 스케줄링될 수 있다. 하나의 예에서, 전력 효율 결정을 실시하는 것은 하나 이상의 구성가능 규칙을 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하는 것을 포함한다.
Description
본 출원은 2015년 6월 24일자로 제출된 미국 정규 특허 출원 번호 14/748,515에 대한 우선권의 이득을 주장한다.
실시예들은 일반적으로 전력 관리에 관한 것이다. 특히, 실시예들은 런타임 전력 효율 결정들에 기초한 적응형 하드웨어 가속에 관한 것이다.
이종 컴퓨팅 시스템들은 작업부하들을 다루기 위해 CPU들(central processing units)뿐만 아니라 하드웨어 가속기들을 사용할 수 있다. 전형적으로, 비교적 많은 수의 프로세서 코어를 포함할 수 있는 가속기는 병렬 데이터 처리를 수행하는 고정된 역할을 가질 수 있다. 한편, CPU는 순차적 코드 실행 또는 데이터 전송 관리와 같은 비-병렬 데이터 처리를 수행하는 고정된 역할을 가질 수 있다. 이러한 작업 분배는, 일부 작업부하에 대해, CPU를 충분히 활용하지 않고, 단일 CPU-가속기 조합들로 제한되고, 가속기들과 CPU들 사이에서 데이터를 전송하는 시간을 낭비할 수 있기 때문에 모든 유형의 작업부하들에 대해 전력 비효율적일 수 있다.
실시예들의 다양한 이점은 다음의 명세서 및 첨부된 청구범위를 읽고, 다음의 도면들을 참조함으로써 본 기술 분야의 통상의 기술자에게 명백해질 것이다:
도 1은 실시예에 따른 작업부하 분배 솔루션의 예에 대한 블록도이고;
도 2-3은 실시예들에 따른 사용 모델들에 대한 전력 상태 레지던스들의 예들에 대한 차트들이고;
도 4는 실시예에 따라 전력 효율 로직을 동작시키는 방법의 예에 대한 플로우차트이고;
도 5는 실시예에 따른 운영 체제 아키텍처의 예에 대한 블록도이고;
도 6은 실시예에 따른 컴퓨팅 시스템의 예에 대한 블록도이다.
도 1은 실시예에 따른 작업부하 분배 솔루션의 예에 대한 블록도이고;
도 2-3은 실시예들에 따른 사용 모델들에 대한 전력 상태 레지던스들의 예들에 대한 차트들이고;
도 4는 실시예에 따라 전력 효율 로직을 동작시키는 방법의 예에 대한 플로우차트이고;
도 5는 실시예에 따른 운영 체제 아키텍처의 예에 대한 블록도이고;
도 6은 실시예에 따른 컴퓨팅 시스템의 예에 대한 블록도이다.
이제 도 1을 참조하면, 전력 효율 로직(10)이 하나 이상의 런타임 사용 통지(12)(예를 들어, 전력 하드웨어 추상화 계층/HAL로부터의 힌트들, 도시되지 않음)에 기초하여 런타임에서 전력 효율 결정들을 행하는 작업부하 분배 솔루션이 도시된다. 런타임 사용 통지들(12)은 컴퓨팅 시스템에서, 예를 들어, 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동, 터치 부스트 활동(touch boost activity)(예를 들어, 연속적인 터치 스크린 이벤트들로 인해 증가된 프로세서 주파수), 등, 또는 이들의 임의의 조합의 존재를 표시할 수 있다. 전력 효율 로직(10)은 일반적으로 하드웨어 가속기(16)(예를 들어, 오디오 디지털 신호 프로세서/DSP, 센서, 그래픽 프로세서, 등)에서 또는 호스트 프로세서(18)(예를 들어, 중앙 처리 유닛/CPU)에서의 실행을 위해 작업부하(14)를 스케줄링할지를 결정하기 위해 하나 이상의 구성가능 규칙(20)을 런타임 사용 통지들(12)에 적용할 수 있다.
아래의 표 1은 작업부하(14)가 선택적으로 추가의 처리를 위해 하드웨어 가속기(16)(예를 들어, DSP)로 "터널링(tunneled)"될 수 있는 (예를 들어, 오디오 드라이버로부터 수신된) 오디오 콘텐츠일 때 전력 효율 로직(10)에 의해 구성 및/사용될 수 있는 규칙들(20)의 세트에 대한 하나의 예를 도시한다.
힌트 | 플래그 | 규칙 |
상호작용 | 예 또는 아니오 | 예 → DSP 터널링을 디스에이블 |
비디오 인코딩 또는 디코딩 | 예 또는 아니오 | 예 → DSP 터널링을 디스에이블 |
저 전력 및 상호작용 없음 | 예 또는 아니오 | 아니오 → DSP 터널링을 인에이블 |
웹 브라우징 | 예 또는 아니오 | 예 → DSP 터널링을 디스에이블 |
터치 부스트 | 예 또는 아니오 | 예 → DSP 터널링을 디스에이블 |
따라서, 표 1에 열거된 제1 항목에서, 사용자 상호작용 활동이 "예(yes)" 상태에 있다는 것에 대한 힌트는 호스트 프로세서(18)에서의 작업부하(14)의 실행이 하드웨어 가속기(16)에서의 작업부하(14)의 실행보다 더 전력 효율적일 것이라는 점을 표시할 수 있다. 이러한 조건은 호스트 프로세서(18)가 이미 활성화되어 있을 뿐만 아니라 호스트 프로세서(18)가 특정한 유형의 작업부하(14)에 대한 하드웨어 가속기(16)와 성능 경쟁적이기 때문에 발생할 수 있다. 한편, 표 1에 열거된 제3 항목에서, 저 전력 및 사용자 상호작용 없음이 "아니오(no)" 상태에 있다는 것에 대한 힌트들은 하드웨어 가속기(16)에서의 작업부하(14)의 실행이 호스트 프로세서(18)에서의 작업부하(14)의 실행보다 더 전력 효율적일 것이라는 점을 표시할 수 있다. 이러한 조건은 호스트 프로세서(18)를 저 전력 상태에서 벗어나게 하는 것과 연관된 전력 손실들로 인해 발생할 수 있다. 추가적으로, SoC(system on chip)의 나머지를 저 전력 상태에서 벗어나게 하는 것과 연관된 전력 손실들이 존재할 수 있다. 다른 규칙들 및 통지들이 상황들에 따라, 사용될 수 있다. 더욱이, 규칙들은 더 융통적인 솔루션을 달성하기 위해 런타임에서 동적으로 구성/적응될 수 있다.
도 2 및 3은 일반적으로 런타임 전력 효율 결정들에 기초한 적응형 하드웨어 가속의 사용을 통해 달성될 수 있는 이점들을 입증한다. 특히, 도 2는 하드웨어 가속기로의 웹 브라우징 및 오디오 재생(예를 들어, MP3/MPEG-1 또는 MPEG-2 Audio Layer Ⅲ)이 일어나고 있는 동안 (예를 들어, DSP 터널링이 인에이블됨과 함께) 4개의 상이한 프로세서 코어에 대한 C-상태 레지던스들을 정량화하는 제1 차트(22)를 도시한다. 대조적으로, 도 3은 호스트 프로세서로의 웹 브라우징 및 오디오 재생이 일어나고 있는 동안 (예를 들어, DSP 터널링이 디스에이블됨과 함께) 동일한 4개의 프로세서 코어에 대한 C-상태 레지던스들을 정량화하는 제2 차트(24)를 도시한다. 예시된 예에서, C-상태들은 CC0, CC1 및 CC6 ACPI(Advanced Configuration and Power Interface, 예를 들어, 2011년 12월 6일, ACPI 규격, Rev. 5.0a) 상태들이며, CC0 상태는 저 전력 소비를 갖는 비교적 깊은 CC6 상태보다 더 높은 전력 소비를 갖는 비교적 얕은 상태이다. 차트(22)와 비교하여, 차트(24)는 CC0 상태에서 소비된 시간에서의 감소(예를 들어, 13% 만큼 감소된 코어 #3 및 8% 만큼 감소된 코어 #4) 및 CC6 상태에서 소비된 시간에서의 증가(예를 들어, 14% 만큼 증가된 코어 #1, 12.7% 만큼 증가된 코어 #2, 18.5% 만큼 증가된 코어 #3, 및 16% 만큼 증가된 코어 #4) 둘 다를 나타낸다. 따라서, 웹 브라우징이 시스템에서 일어나고 있을 때 오디오 재생 동안 DSP 터널링을 디스에이블하는 것은 더 전력 효율적일 수 있다. 본 명세서에 제공된 값들은 논의를 용이하게 하기 위한 것이고 상황들에 따라 달라질 수 있다.
도 4는 이미 논의된, 예를 들어, 전력 효율 로직(10)(도 1)과 같은 전력 효율 로직을 동작시키는 방법(26)을 도시한다. 방법(26)은 예를 들어, ASIC(application specific integrated circuit), CMOS(complementary metal oxide semiconductor) 또는 TTL(transistor-transistor logic) 기술, 또는 이들의 임의의 조합과 같은 회로 기술을 사용하는 고정형-기능성 로직 하드웨어에서의, 예를 들어, PLA들(programmable logic arrays), FPGA들(field programmable gate arrays), CPLD들(complex programmable logic devices)과 같은 구성가능 로직에서의 RAM(random access memory), ROM(read only memory), PROM(programmable ROM), 펌웨어, 플래시 메모리, 등과 같은 머신- 또는 컴퓨터-판독가능 저장 매체에 저장된 로직 명령어들의 세트로서의 하나 이상의 모듈로 구현될 수 있다. 예를 들어, 방법(26)에 도시된 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 JAVA, SMALLTALK, C++ 또는 등과 같은 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어들과 같은 종래의 절차적 프로그래밍 언어들을 포함하는, 하나 이상의 프로그래밍 언어의 임의의 조합으로 기입될 수 있다.
예시된 처리 블록 28은 하나 이상의 런타임 사용 통지(예를 들어, 사용자 상호작용 힌트들, 비디오 인코딩 힌트들, 비디오 디코딩 힌트들, 웹 브라우징 힌트들, 터치 부스트 힌트들, 등)의 수신을 위해 전력 하드웨어 액세스 계층(HAL)에 등록하는 것을 제공한다. 블록 28은 (예를 들어, 런타임 이전에) 오프라인으로 수행될 수 있다. 하나 이상의 런타임 사용 통지가 블록 30에서 수신될 수 있으며, 예시된 블록 32는 런타임 사용 통지(들) 중 적어도 하나에 기초하여 전력 효율 결정을 실시한다. 블록 32는 하나 이상의 구성가능 규칙을 런타임 사용 통지(들)에 적용하는 것을 포함할 수 있다. 블록 32는 또한 런타임에서 규칙들 중 하나 이상을 구성하는 것을 제공할 수 있다. 블록 34에서 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시하는지에 대한 결정이 실시될 수 있다. 그렇다면, 블록 36에서 작업부하가 하드웨어 가속기에서의 실행을 위해 스케줄링될 수 있다. 한편, 전력 효율 결정이 호스트 프로세서에서의 작업부하의 실행이 하드웨어 가속기에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면, 블록 38은 호스트 프로세서에서의 실행을 위해 작업부하를 스케줄링할 수 있다.
도 5는 OS(operating system) 아키텍처(40)를 도시한다. 아키텍처(40)는 일반적으로 컴퓨팅 기능성(예를 들어, 개인 휴대 정보 단말기/PDA, 노트북 컴퓨터, 태블릿 컴퓨터, 서버), 통신 기능성(예를 들어, 무선 스마트 폰), 이미징 기능성, 미디어 재생 기능성(예를 들어, 스마트 텔레비전/TV), 웨어러블 기능성(예를 들어, 시계, 안경류(eyewear), 모자류(headwear), 신발류(footwear), 보석류(jewelry)), 차량 기능성(예를 들어, 자동차, 트럭, 오토바이), 등, 또는 이들의 임의의 조합을 갖는 전자적 디바이스/플랫폼 내의 SoC(system on chip)의 일부일 수 있다. 예시된 예에서, 아키텍처(40)는 애플리케이션 프레임워크(42), 네이티브 인터페이스(예를 들어, JAVA Native Interface/JNI; 44), 네이티브 프레임워크(46), 바인더 IPC(inter process communication) 프록시들의 세트(48), 미디어 서버(50), HAL(52), 및 커널(54)을 포함한다.
도 5에서의 점선 컴포넌트들은, 예를 들어, ANDROID/LINUX 컴포넌트들과 같은 소프트웨어 컴포넌트들일 수 있다. 예를 들어, 애플리케이션 프레임워크(42)는 오디오 및/또는 비디오 서브시스템과 인터페이스하기 위해 미디어 API들(application programming interfaces)을 사용할 수 있다. 추가적으로, 바인더 IPC 프록시들(48)은 상이한 프로세스에 걸쳐 통신들을 용이하게 할 수 있다. API들은 오디오 코덱과 인터페이스하는 네이티브 코드에 액세스하기 위한 클래스들로서 구현될 수 있다. 미디어 서버(50)는 커널(54)에서의 오디오 드라이버(예를 들어, Advanced LINUX Sound Architecture/ALSA 및/또는 Open Sound System/OSS 커스텀 드라이버)에 대해 표준 서비스들 및 인터페이스들을 정의하는 HAL(52)에서의 오디오 HAL 구현과 인터페이스하는 오디오 서비스들을 제공할 수 있다. HAL(52)의 구현은 디바이스 특정적일 수 있으며, 오디오 드라이버가 실제 오디오 하드웨어와 인터페이스하고 DSP 터널링을 인에이블하는 것을 담당한다.
그러므로 HAL(52)은 커널(54)로부터 작업부하들을 수락하고 하드웨어 가속기 또는 호스트 프로세서에서의 실행을 위해 작업부하들을 스케줄링할지를 자동적으로 결정할 수 있는 전력 효율 로직(10)으로 런타임 사용 통지들(12)을 송신할 수 있다.
도 6은 컴퓨팅 시스템(56)을 도시한다. 컴퓨팅 시스템(56)은 또한 컴퓨팅 기능성, 통신 기능성, 이미징 기능성, 미디어 재생 기능성, 웨어러블 기능성, 차량 기능성, 등, 또는 이들의 임의의 조합을 갖는 전자적 디바이스/플랫폼의 일부일 수 있다. 예시된 예에서, 시스템(56)은 시스템(56)으로 전력을 공급하는 전력 소스(58) 및 시스템 메모리(62)와 통신할 수 있는 IMC(integrated memory controller; 60)를 갖는 프로세서(18)를 포함한다. 시스템 메모리(62)는 예를 들어, DIMM들(dual inline memory modules), SODIMM들(small outline DIMMs), 등과 같은 하나 이상의 메모리 모듈로서 구성된 DRAM(dynamic random access memory)을 포함할 수 있다. 프로세서(18)는 이미 논의된, OS 아키텍처(40)(도 5)와 유사한 OS(operating system; 64)를 실행할 수 있다.
예시된 시스템(56)은 또한 SoC(system on chip)로서의 반도체 다이(68) 상의 프로세서(18)와 함께 구현된 IO(input output) 모듈(66)을 포함하며, IO 모듈(66)은 호스트 디바이스로서 기능하고, 예를 들어, 디스플레이(70)(예를 들어, 터치 스크린, 액정 디스플레이/LCD, 발광 다이오드/LED 디스플레이), 네트워크 제어기(72), 하드웨어 가속기(16), 및 대용량 저장소(74)(예를 들어, 하드 디스크 드라이브/HDD, 광 디스크, 플래시 메모리, 등)와 통신할 수 있다. 예시된 IO 모듈(66)은 런타임 사용 통지들에 기초하여 런타임에서 전력 효율 결정들을 실시하고 전력 효율 결정들에 기초하여 프로세서(18) 또는 하드웨어 가속기(16)에서 작업부하들을 실행할지를 자동적으로 판정하는 로직(10)을 포함할 수 있다. 따라서, 로직(10)은 이미 논의된, 방법(26)(도 4)의 하나 이상의 양태를 수행할 수 있다.
추가적 유의들 및 예들:
예 1은 하드웨어 가속기, 호스트 프로세서, 및 하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하고, 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 하드웨어 가속기에서의 실행을 위해 작업부하를 스케줄링하고, 전력 효율 결정이 호스트 프로세서에서의 작업부하의 실행이 하드웨어 가속기에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 호스트 프로세서에서의 실행을 위해 작업부하를 스케줄링하기 위해, 구성가능 로직 또는 고정 기능성 로직 하드웨어 중 하나 이상에서 적어도 부분적으로 구현된 로직을 포함하는 적응형 컴퓨팅 시스템을 포함할 수 있다.
예 2는 예 1의 시스템을 포함할 수 있으며, 여기서 로직은 하나 이상의 구성가능 규칙을 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하는 것이다.
예 3은 예 2의 시스템을 포함할 수 있으며, 여기서 로직은 런타임에서 하나 이상의 구성가능 규칙 중 적어도 하나를 구성하는 것이다.
예 4는 예 1의 시스템을 포함할 수 있으며, 여기서 로직은 하나 이상의 런타임 사용 통지의 수신을 위해 전력 하드웨어 액세스 계층에 등록하는 것이며, 여기서 하나 이상의 사용 통지는 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동 또는 터치 부스트 활동 중 하나 이상을 표시하는 것이다.
예 5는 예 1 내지 4 중 어느 하나의 시스템을 포함할 수 있으며, 여기서 작업부하는 오디오 재생 작업부하를 포함하는 것이다.
예 6은 예 1 내지 4 중 어느 하나의 시스템을 포함할 수 있으며, 여기서 하드웨어 가속기는 오디오 디지털 신호 프로세서, 센서 또는 그래픽 가속기 중 하나 이상을 포함한다.
예 7은 하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하고, 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 하드웨어 가속기에서의 실행을 위해 작업부하를 스케줄링하고, 전력 효율 결정이 호스트 프로세서에서의 작업부하의 실행이 하드웨어 가속기에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 호스트 프로세서에서의 실행을 위해 작업부하를 스케줄링하기 위해, 구성가능 로직 또는 고정 기능성 로직 하드웨어 중 하나 이상에서 적어도 부분적으로 구현된 로직을 포함하는 전력 효율 장치를 포함할 수 있다.
예 8은 예 7의 장치를 포함할 수 있으며, 여기서 로직은 하나 이상의 구성가능 규칙을 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하는 것이다.
예 9는 예 8의 장치를 포함할 수 있으며, 여기서 로직은 런타임에서 하나 이상의 구성가능 규칙 중 적어도 하나를 구성하는 것이다.
예 10은 예 7의 장치를 포함할 수 있으며, 여기서 로직은 하나 이상의 런타임 사용 통지의 수신을 위해 전력 하드웨어 액세스 계층에 등록하는 것이며, 여기서 하나 이상의 사용 통지는 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동 또는 터치 부스트 활동 중 하나 이상을 표시하는 것이다.
예 11은 예 7 내지 10 중 어느 하나의 장치를 포함할 수 있으며, 여기서 작업부하는 오디오 재생 작업부하를 포함하는 것이다.
예 12는 예 7 내지 10 중 어느 하나의 장치를 포함할 수 있으며, 여기서 하드웨어 가속기는 오디오 디지털 신호 프로세서, 센서 또는 그래픽 가속기 중 하나 이상을 포함하는 것이다.
예 13은, 하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하는 단계, 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 하드웨어 가속기에서의 실행을 위해 작업부하를 스케줄링하는 단계, 및 전력 효율 결정이 호스트 프로세서에서의 작업부하의 실행이 하드웨어 가속기에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 호스트 프로세서에서의 실행을 위해 작업부하를 스케줄링하는 단계를 포함하는, 전력 효율 장치를 동작시키는 방법을 포함할 수 있다.
예 14는 예 13의 방법을 포함할 수 있으며, 여기서 전력 효율 결정을 실시하는 단계는 하나 이상의 구성가능 규칙을 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하는 것을 포함한다.
예 15는 예 14의 방법을 포함할 수 있으며, 이는 런타임에서 하나 이상의 구성가능 규칙 중 적어도 하나를 구성하는 것을 추가로 포함한다.
예 16은 예 13의 방법을 포함할 수 있으며, 이는 하나 이상의 런타임 사용 통지의 수신을 위해 전력 하드웨어 액세스 계층에 등록하는 것을 추가로 포함하고, 여기서 하나 이상의 사용 통지는 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동 또는 터치 부스트 활동 중 하나 이상을 표시한다.
예 17은 예 13 내지 16 중 어느 하나의 방법을 포함할 수 있으며, 여기서 작업부하는 오디오 재생 작업부하를 포함한다.
예 18은 예 13 내지 예 16 중 어느 하나의 방법을 포함할 수 있으며, 여기서 하드웨어 가속기는 오디오 디지털 신호 프로세서, 센서 또는 그래픽 가속기 중 하나 이상을 포함한다.
예 19는 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하고, 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 하드웨어 가속기에서의 실행을 위해 작업부하를 스케줄링하고, 전력 효율 결정이 호스트 프로세서에서의 작업부하의 실행이 하드웨어 가속기에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 호스트 프로세서에서의 실행을 위해 작업부하를 스케줄링하도록 야기하는 명령어들의 세트를 포함하는 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함할 수 있다.
예 20은 예 19의 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함할 수 있으며, 여기서 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금 하나 이상의 구성가능 규칙을 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하도록 야기한다.
예 21은 예 20의 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함할 수 있으며, 여기서 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금 런타임에서 하나 이상의 구성가능 규칙 중 적어도 하나를 구성하도록 야기한다.
예 22는 예 19의 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함할 수 있으며, 여기서 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금 하나 이상의 런타임 사용 통지의 수신을 위해 전력 하드웨어 액세스 계층에 등록하도록 야기하며, 여기서 하나 이상의 사용 통지는 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동 또는 터치 부스트 활동 중 하나 이상을 표시하는 것이다.
예 23은 예 19 내지 22 중 어느 하나의 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함할 수 있으며, 여기서 작업부하는 오디오 재생 작업부하를 포함하는 것이다.
예 24는 예 19 내지 22 중 어느 하나의 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함할 수 있으며, 여기서 하드웨어 가속기는 오디오 디지털 신호 프로세서, 센서 또는 그래픽 가속기 중 하나 이상을 포함하는 것이다.
예 25는 하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하기 위한 수단; 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 하드웨어 가속기에서의 실행을 위해 작업부하를 스케줄링하기 위한 수단; 및 전력 효율 결정이 호스트 프로세서에서의 작업부하의 실행이 하드웨어 가속기에서의 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 호스트 프로세서에서의 실행을 위해 작업부하를 스케줄링하기 위한 수단을 포함하는 전력 효율 장치를 포함할 수 있다.
예 26은 예 25의 장치를 포함할 수 있으며, 여기서 전력 효율 결정을 실시하기 위한 수단은 하나 이상의 구성가능 규칙을 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하기 위한 수단을 포함한다.
예 27은 예 26의 장치를 포함할 수 있으며, 이는 런타임에서 하나 이상의 구성가능 규칙 중 적어도 하나를 구성하기 위한 수단을 추가로 포함한다.
예 28은 예 25의 장치를 포함할 수 있으며, 이는 하나 이상의 런타임 사용 통지의 수신을 위해 전력 하드웨어 액세스 계층에 등록하기 위한 수단을 추가로 포함하고, 여기서 하나 이상의 사용 통지는 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동 또는 터치 부스트 활동 중 하나 이상을 표시하는 것이다.
예 29는 예 25 내지 예 28 중 어느 하나의 장치를 포함할 수 있으며, 여기서 작업부하는 오디오 재생 작업부하를 포함하는 것이다.
예 30은 예 25 내지 28 중 어느 하나의 장치를 포함할 수 있으며, 여기서 하드웨어 가속기는 오디오 디지털 신호 프로세서, 센서 또는 그래픽 가속기 중 하나 이상을 포함하는 것이다.
그러므로, 본 명세서에 설명된 기술들은 호스트 프로세서 용량의 보다 나은 이용을 가능하게 할 수 있다. 추가적으로, 기술들은 단일 CPU-가속기 조합들을 넘어서 다수의 CPU 및/또는 다수의 가속기를 갖는 더 복잡한 SoC들로 확장될 수 있다. 예를 들어, HPC(high performance computing) 시스템들 및 멀티-플레이어 게임 애플리케이션들은 더 큰 전력 효율을 달성할 수 있다. 더욱이, 가속기들과 CPU들 사이에서 데이터를 전송하는 데 소비된 시간이 최소화될 수 있고 데이터 병렬성과 관련되는 고정된 역할들이 제거될 수 있다. 간단히 말해, 작업 분배는 본 명세서에 설명된 기술들을 사용하여 더 전력 효율적일 수 있다.
실시예들은 모든 유형의 반도체 집적 회로("IC") 칩들과의 사용에 적용가능하다. 이러한 IC 칩들의 예들은 프로세서들, 컨트롤러들, 칩셋 컴포넌트들, PLA(programmable logic arrays), 메모리 칩들, 네트워크 칩들, SoC(Systems on Chip)들, SSD/NAND 컨트롤러 ASIC들, 등을 포함하지만 그로 제한되지 않는다. 게다가, 도면들 중 일부에서, 신호 도체 라인들은 라인들로 표현된다. 일부는 더 구성 신호 경로들을 표시하기 위해 상이할 수 있고, 다수의 구성 신호 경로를 표시하기 위해 숫자 레이블을 가지고, 및/또는 주요 정보 흐름 방향을 표시하기 위해 하나 이상의 끝에서 화살표들을 가진다. 그러나, 이것은 제한적인 방식으로 해석되지 않아야 한다. 오히려, 이러한 추가된 세부사항은 회로의 더 쉬운 이해를 용이하게 하기 위해 하나 이상의 예시적인 실시예와 관련하여 사용될 수 있다. 추가적 정보를 갖는지의 여부와 상관없이, 임의의 표현된 신호 라인은, 다수의 방향으로 이동할 수 있고 임의의 적합한 유형의 신호 방식, 예를 들어, 차동 쌍들, 광 섬유 라인들, 및/또는 단일-단(single-ended) 라인들로 구현된 디지털 또는 아날로그 라인들로 구현될 수 있는 하나 이상의 신호를 실제로 포함할 수 있다.
예시적인 크기들/모델들/값들/범위들이 주어졌지만, 실시예들이 동일한 것으로 제한되지 않는다. 제조 기술들(예를 들어, 포토리소그래피(photolithography))이 시간에 따라 발달함에 따라, 더 작은 크기의 디바이스들이 제조될 수 있다는 것이 예상된다. 게다가, IC 칩들 및 다른 컴포넌트들에 대해 잘 알려진 전력/그라운드 접속들은, 예시 및 논의의 단순화를 위해, 그리고 실시예들의 특정 양태들을 불명료하게 하지 않기 위해, 도면들 내에 도시될 수 있거나 도시되지 않을 수 있다. 또한, 배열들은 실시예들을 불명료하게 하는 것을 회피하기 위해 블록도 형태로, 그리고 또한 이러한 블록도 배열들의 구현에 대한 상세들이 실시예가 그 내부에 구현될 플랫폼에 높게 의존적이라는 사실, 즉, 이러한 상세들이 본 기술 분야의 통상의 기술자의 이해 범위 내에 잘 존재해야 한다는 것의 시각에서 도시될 수 있다. 예시적인 실시예들을 설명하기 위해 구체적인 세부사항들(예를 들어, 회로들)이 제시되는 경우에, 실시예들은 이러한 구체적인 세부사항들의 변형 없이, 또는 함께 실시될 수 있다는 것이 본 기술 분야의 통상의 기술자에게 명백해져야 한다. 따라서, 설명은 제한하는 것 대신에 예시적인 것으로서 간주되어야 한다.
"결합된(coupled)"이라는 용어는 본 명세서에서 질문에서의 컴포넌트들 사이의, 직접 또는 간접적인, 임의의 유형의 관계를 지칭하기 위해 사용될 수 있고, 전기적, 기계적, 유체의, 광학적, 전자기적, 전기기계적 또는 다른 접속들에 적용할 수 있다. 게다가, "제1(first)", "제2(second)", 등의 용어들은 본 명세서에서 단지 논의를 용이하게 하기 위해 사용될 수 있고, 달리 표시되지 않는 한 특정한 시간적 또는 연대순적 의미를 갖지 않는다.
본 기술 분야의 통상의 기술자는 전술한 설명으로부터 실시예들의 넓은 기술들이 다양한 형태로 구현될 수 있다는 것을 인정할 것이다. 그러므로, 실시예들이 이들의 특정한 예들과 관련하여 설명되었지만, 도면들, 명세서, 및 다음의 청구범위의 연구 시에 다른 수정들이 숙련된 실시자에게 명백해질 것이기 때문에 실시예들의 진정한 범위가 매우 제한되지 않아야 한다.
Claims (25)
- 적응형 컴퓨팅 시스템으로서,
하드웨어 가속기;
호스트 프로세서; 및
구성가능 로직 또는 고정 기능성 로직 하드웨어 중 하나 이상에서 적어도 부분적으로 구현되는 로직
을 포함하고, 상기 로직은,
하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하고,
상기 전력 효율 결정이 상기 하드웨어 가속기에서의 작업부하의 실행이 상기 호스트 프로세서에서의 상기 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 상기 하드웨어 가속기에서의 실행을 위해 상기 작업부하를 스케줄링하고,
상기 전력 효율 결정이 상기 호스트 프로세서에서의 상기 작업부하의 실행이 상기 하드웨어 가속기에서의 상기 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 상기 호스트 프로세서에서의 실행을 위해 상기 작업부하를 스케줄링하는, 적응형 컴퓨팅 시스템. - 제1항에 있어서, 상기 로직은 하나 이상의 구성가능 규칙을 상기 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하는 것인 시스템.
- 제2항에 있어서, 상기 로직은 런타임에서 상기 하나 이상의 구성가능 규칙 중 적어도 하나를 구성하는 것인 시스템.
- 제1항에 있어서, 상기 로직은 상기 하나 이상의 런타임 사용 통지의 수신을 위해 전력 하드웨어 액세스 계층에 등록하는 것이며, 상기 하나 이상의 사용 통지는 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동 또는 터치 부스트 활동(touch boost activity) 중 하나 이상을 표시하는 것인 시스템.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 작업부하는 오디오 재생 작업부하를 포함하는 것인 시스템.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 하드웨어 가속기는 오디오 디지털 신호 프로세서, 센서 또는 그래픽 가속기 중 하나 이상을 포함하는 시스템.
- 전력 효율 장치로서,
구성가능 로직 또는 고정 기능성 로직 하드웨어 중 하나 이상에서 적어도 부분적으로 구현되는 로직
을 포함하고, 상기 로직은,
하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하고;
상기 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 상기 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 상기 하드웨어 가속기에서의 실행을 위해 상기 작업부하를 스케줄링하고;
상기 전력 효율 결정이 상기 호스트 프로세서에서의 상기 작업부하의 실행이 상기 하드웨어 가속기에서의 상기 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 상기 호스트 프로세서에서의 실행을 위해 상기 작업부하를 스케줄링하는, 전력 효율 장치. - 제7항에 있어서, 상기 로직은 하나 이상의 구성가능 규칙을 상기 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하는 것인 장치.
- 제8항에 있어서, 상기 로직은 런타임에서 상기 하나 이상의 구성가능 규칙 중 적어도 하나를 구성하는 것인 장치.
- 제7항에 있어서, 상기 로직은 상기 하나 이상의 런타임 사용 통지의 수신을 위해 전력 하드웨어 액세스 계층에 등록하는 것이며, 상기 하나 이상의 사용 통지는 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동 또는 터치 부스트 활동 중 하나 이상을 표시하는 것인 장치.
- 제7항 내지 제10항 중 어느 한 항에 있어서, 상기 작업부하는 오디오 재생 작업부하를 포함하는 것인 장치.
- 제7항 내지 제10항 중 어느 한 항에 있어서, 상기 하드웨어 가속기는 오디오 디지털 신호 프로세서, 센서 또는 그래픽 가속기 중 하나 이상을 포함하는 것인 장치.
- 전력 효율 장치를 동작시키는 방법으로서,
하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하는 단계;
상기 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 상기 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 상기 하드웨어 가속기에서의 실행을 위해 상기 작업부하를 스케줄링하는 단계; 및
상기 전력 효율 결정이 상기 호스트 프로세서에서의 상기 작업부하의 실행이 상기 하드웨어 가속기에서의 상기 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 상기 호스트 프로세서에서의 실행을 위해 상기 작업부하를 스케줄링하는 단계
를 포함하는 방법. - 제13항에 있어서, 상기 전력 효율 결정을 실시하는 단계는 하나 이상의 구성가능 규칙을 상기 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하는 단계를 포함하는 방법.
- 제14항에 있어서, 런타임에서 상기 하나 이상의 구성가능 규칙 중 적어도 하나를 구성하는 단계를 추가로 포함하는 방법.
- 제13항에 있어서, 상기 하나 이상의 런타임 사용 통지의 수신을 위해 전력 하드웨어 액세스 계층에 등록하는 단계를 추가로 포함하며, 상기 하나 이상의 사용 통지는 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동 또는 터치 부스트 활동 중 하나 이상을 표시하는 방법.
- 제13항 내지 제16항 중 어느 한 항에 있어서, 상기 작업부하는 오디오 재생 작업부하를 포함하는 방법.
- 제13항 내지 제16항 중 어느 한 항에 있어서, 상기 하드웨어 가속기는 오디오 디지털 신호 프로세서, 센서 또는 그래픽 가속기 중 하나 이상을 포함하는 방법.
- 명령어들의 세트를 포함하는 적어도 하나의 컴퓨터 판독가능 저장 매체로서,
상기 명령어들은, 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금,
하나 이상의 런타임 사용 통지에 기초하여 런타임에서 전력 효율 결정을 실시하고;
상기 전력 효율 결정이 하드웨어 가속기에서의 작업부하의 실행이 호스트 프로세서에서의 상기 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 상기 하드웨어 가속기에서의 실행을 위해 상기 작업부하를 스케줄링하고;
상기 전력 효율 결정이 상기 호스트 프로세서에서의 상기 작업부하의 실행이 상기 하드웨어 가속기에서의 상기 작업부하의 실행보다 더 효율적일 것이라는 점을 표시한다면 상기 호스트 프로세서에서의 실행을 위해 상기 작업부하를 스케줄링하도록 야기하는, 적어도 하나의 컴퓨터 판독가능 저장 매체. - 제19항에 있어서, 상기 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금 하나 이상의 구성가능 규칙을 상기 하나 이상의 런타임 사용 통지 중 적어도 하나에 적용하도록 야기하는, 적어도 하나의 컴퓨터 판독가능 저장 매체.
- 제20항에 있어서, 상기 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금 런타임에서 상기 하나 이상의 구성가능 규칙 중 적어도 하나를 구성하도록 야기하는, 적어도 하나의 컴퓨터 판독가능 저장 매체.
- 제19항에 있어서, 상기 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금 상기 하나 이상의 런타임 사용 통지의 수신을 위해 전력 하드웨어 액세스 계층에 등록하도록 야기하며, 상기 하나 이상의 사용 통지는 사용자 상호작용 활동, 비디오 인코딩 활동, 비디오 디코딩 활동, 웹 브라우징 활동 또는 터치 부스트 활동 중 하나 이상을 표시하는 것인 적어도 하나의 컴퓨터 판독가능 저장 매체.
- 제19항 내지 제22항 중 어느 한 항에 있어서, 상기 작업부하는 오디오 재생 작업부하를 포함하는 것인 적어도 하나의 컴퓨터 판독가능 저장 매체.
- 제19항 내지 제22항 중 어느 한 항에 있어서, 상기 하드웨어 가속기는 오디오 디지털 신호 프로세서, 센서 또는 그래픽 가속기 중 하나 이상을 포함하는 것인 적어도 하나의 컴퓨터 판독가능 저장 매체.
- 제13항 내지 제16항 중 어느 한 항의 상기 방법을 수행하기 위한 수단들을 포함하는 전력 효율 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/748,515 | 2015-06-24 | ||
US14/748,515 US20160378551A1 (en) | 2015-06-24 | 2015-06-24 | Adaptive hardware acceleration based on runtime power efficiency determinations |
PCT/US2016/032998 WO2016209427A1 (en) | 2015-06-24 | 2016-05-18 | Adaptive hardware acceleration based on runtime power efficiency determinations |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180011865A true KR20180011865A (ko) | 2018-02-02 |
Family
ID=57586326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187002117A KR20180011865A (ko) | 2015-06-24 | 2016-05-18 | 런타임 전력 효율 결정들에 기초한 적응형 하드웨어 가속 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160378551A1 (ko) |
EP (1) | EP3314431A4 (ko) |
KR (1) | KR20180011865A (ko) |
CN (1) | CN107636615A (ko) |
WO (1) | WO2016209427A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220086449A (ko) * | 2020-12-16 | 2022-06-23 | 한국과학기술원 | 스케줄링 방법 및 장치 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10469570B2 (en) * | 2015-12-26 | 2019-11-05 | Intel Corporation | Technologies for execution acceleration in heterogeneous environments |
US10355945B2 (en) | 2016-09-21 | 2019-07-16 | International Business Machines Corporation | Service level management of a workload defined environment |
US10417012B2 (en) * | 2016-09-21 | 2019-09-17 | International Business Machines Corporation | Reprogramming a field programmable device on-demand |
CN116868168A (zh) * | 2021-02-24 | 2023-10-10 | 华为技术有限公司 | 一种加速器的运行方法及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US20050132239A1 (en) * | 2003-12-16 | 2005-06-16 | Athas William C. | Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution |
US7870185B2 (en) * | 2004-10-08 | 2011-01-11 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device event notification administration |
US7861068B2 (en) * | 2006-03-07 | 2010-12-28 | Intel Corporation | Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling |
US8610727B1 (en) * | 2008-03-14 | 2013-12-17 | Marvell International Ltd. | Dynamic processing core selection for pre- and post-processing of multimedia workloads |
US8301742B2 (en) * | 2008-04-07 | 2012-10-30 | International Business Machines Corporation | Systems and methods for coordinated management of power usage and runtime performance in performance-managed computing environments |
US8434087B2 (en) * | 2008-08-29 | 2013-04-30 | International Business Machines Corporation | Distributed acceleration devices management for streams processing |
US8874943B2 (en) * | 2010-05-20 | 2014-10-28 | Nec Laboratories America, Inc. | Energy efficient heterogeneous systems |
US8914805B2 (en) * | 2010-08-31 | 2014-12-16 | International Business Machines Corporation | Rescheduling workload in a hybrid computing environment |
KR101861742B1 (ko) * | 2011-08-30 | 2018-05-30 | 삼성전자주식회사 | 이종의 가속기들 사이에서 스위칭할 수 있는 데이터 처리 시스템과 그 방법 |
EP2657842B1 (en) * | 2012-04-23 | 2017-11-08 | Fujitsu Limited | Workload optimization in a multi-processor system executing sparse-matrix vector multiplication |
US9569279B2 (en) * | 2012-07-31 | 2017-02-14 | Nvidia Corporation | Heterogeneous multiprocessor design for power-efficient and area-efficient computing |
CN103677984B (zh) * | 2012-09-20 | 2016-12-21 | 中国科学院计算技术研究所 | 一种物联网计算任务调度系统及其方法 |
CN103412823B (zh) * | 2013-08-07 | 2017-03-01 | 格科微电子(上海)有限公司 | 基于超宽总线的芯片架构及其数据访问方法 |
-
2015
- 2015-06-24 US US14/748,515 patent/US20160378551A1/en not_active Abandoned
-
2016
- 2016-05-18 KR KR1020187002117A patent/KR20180011865A/ko not_active Application Discontinuation
- 2016-05-18 EP EP16814902.9A patent/EP3314431A4/en active Pending
- 2016-05-18 CN CN201680025638.8A patent/CN107636615A/zh active Pending
- 2016-05-18 WO PCT/US2016/032998 patent/WO2016209427A1/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220086449A (ko) * | 2020-12-16 | 2022-06-23 | 한국과학기술원 | 스케줄링 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN107636615A (zh) | 2018-01-26 |
EP3314431A4 (en) | 2019-09-11 |
WO2016209427A1 (en) | 2016-12-29 |
EP3314431A1 (en) | 2018-05-02 |
US20160378551A1 (en) | 2016-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180011865A (ko) | 런타임 전력 효율 결정들에 기초한 적응형 하드웨어 가속 | |
CN107924219B (zh) | 遮蔽处理器的核的功率状态 | |
US20150355700A1 (en) | Systems and methods of managing processor device power consumption | |
US11029744B2 (en) | System, apparatus and method for controlling a processor based on effective stress information | |
US10133336B2 (en) | Dynamically entering low power states during active workloads | |
TWI769143B (zh) | 用於使用浮點運算之硬體消去監測器的處理器、方法及系統 | |
TWI557541B (zh) | 虛擬化行動平台中之細粒電源管理技術 | |
US9619011B2 (en) | System on chip for debugging a cluster regardless of power state of the cluster, method of operating the same, and system having the same | |
US9996398B2 (en) | Application processor and system on chip | |
KR20160146911A (ko) | 고속 재개를 이용하는 시스템 대기 에뮬레이션 | |
US9304571B2 (en) | Interrupt based power state management | |
US10860083B2 (en) | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail | |
US11822411B2 (en) | Telemetry push aggregation | |
US11249910B2 (en) | Initialization and management of class of service attributes in runtime to optimize deep learning training in distributed environments | |
US9710315B2 (en) | Notification of blocking tasks | |
CN108228484B (zh) | 针对处理器中的高速缓存利用的无效读取 | |
US20220291733A1 (en) | Methods and apparatus to reduce display connection latency | |
US12008383B2 (en) | Hardware directed core parking based on performance and energy efficiency capabilities of processing units and runtime system characteristics | |
US20210019260A1 (en) | Multiple virtual numa domains within a single numa domain via operating system interface tables | |
US11907377B2 (en) | Supporting self-modifying graphics workloads in fully virtualized graphics architectures | |
Hurst | How to Accelerate Peripheral Monitoring in Low Power Wearables with DMA | |
WO2022099531A1 (en) | Offloading reliability, availability and serviceability runtime system management interrupt error handling to cpu on-die modules | |
CN113767370A (zh) | 避免高性能内存管理系统中的垃圾收集 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |