KR20170021338A - 데이터 처리 시스템을 위한 전력 인식 작업 스케쥴러 및 관리자 - Google Patents

데이터 처리 시스템을 위한 전력 인식 작업 스케쥴러 및 관리자 Download PDF

Info

Publication number
KR20170021338A
KR20170021338A KR1020177002070A KR20177002070A KR20170021338A KR 20170021338 A KR20170021338 A KR 20170021338A KR 1020177002070 A KR1020177002070 A KR 1020177002070A KR 20177002070 A KR20177002070 A KR 20177002070A KR 20170021338 A KR20170021338 A KR 20170021338A
Authority
KR
South Korea
Prior art keywords
power
task
frequency
job
mode
Prior art date
Application number
KR1020177002070A
Other languages
English (en)
Other versions
KR102213555B1 (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 인텔 코포레이션
Publication of KR20170021338A publication Critical patent/KR20170021338A/ko
Application granted granted Critical
Publication of KR102213555B1 publication Critical patent/KR102213555B1/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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0833Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network energy consumption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/821Prioritising resource allocation or reservation requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • 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
    • 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
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them

Abstract

작업에 대한 모드의 표시가 수신된다. 모드에 기초하여, 작업에 대한 가용 전력이 결정된다. 가용 전력에 기초하여 작업에 대한 제1 전력이 할당된다. 가용 전력에 기초하여 작업에 대한 제1 주파수가 결정된다. 가용 전력에 기초하여 제1 전력이 조정된다.

Description

데이터 처리 시스템을 위한 전력 인식 작업 스케쥴러 및 관리자{A POWER AWARE JOB SCHEDULER AND MANAGER FOR A DATA PROCESSING SYSTEM}
관련 출원의 상호참조
본 출원은, 그 전체가 참조로 본 명세서에 포함되는, 2014년 8월 22일 출원된, 발명의 명칭이 "SIMPLE POWER-AWARE SCHEDULER TO LIMIT POWER CONSUMPTION BY HPC SYSTEM WITHIN A BUDGET"인 선행 미국 가출원 제62/040,576호의 우선권 혜택을 주장한다. 본 출원은, 2014년 12월 24일 출원된 발명의 명칭이 "METHODS AND APPARATUS TO ESTIMATE POWER PERFORMANCE OF A JOB THAT RUNS ON MULTIPLE NODES OF A DISTRIBUTED COMPUTER SYSTEM"인 미국 특허 출원 제14/582,795호(변리사 도켓 번호 42P73498); 2014년 12월 24일 출원된 발명의 명칭이 "METHOD AND APPARATUS TO GENERATE AND USE POWER, THERMAL AND PERFORMANCE CHARACTERISTICS OF NODES TO IMPROVE ENERGY EFFICIENCY AND REDUCING WAIT TIME FOR JOBS IN THE QUEUE"인 미국 특허 출원 제14/582,783호(변리사 도켓 번호 42P74562); 2014년 12월 24일 출원된 발명의 명칭이 "ADJUSTMENT OF EXECUTION OF TASKS"인 미국 특허 출원 제14/582,979호(변리사 도켓 번호 42P74563); 2014년 12월 24일 출원된 발명의 명칭이 "CONTROL OF POWER CONSUMPTION"인 미국 특허 출원 제14/582,985호(변리사 도켓 번호 42P74564); 2014년 12월 24일 출원된 발명의 명칭이 "FORECAST FOR DEMAND OF ENERGY"인 미국 특허 출원 제14/582,988호(변리사 도켓 번호 42P74565); 2014년 12월 24일 출원된 발명의 명칭이 "METHODS AND APPARATUS TO MANAGE JOBS THAT CAN AND CANNOT BE SUSPENDED WHEN THERE IS A CHANGE IN POWER ALLOCATION TO A DISTRIBUTED COMPUTER SYSTEM"인 미국 특허 출원 제14/582,772호(변리사 도켓 번호 42P74566); 2014년 12월 24일 출원된 발명의 명칭이 "MANAGING POWER PERFORMANCE OF DISTRIBUTED COMPUTING SYSTEMS"인 미국 특허 출원 제14/582,743호(변리사 도켓 번호 42P74567); 및 2014년 12월 24일 출원된 발명의 명칭이 "PROFILING A JOB POWER AND ENERGY CONSUMPTION FOR A DATA PROCESSING SYSTEM"인 미국 특허 출원 제14/582,756호(변리사 도켓 번호 42P74568)와 관련되어 있다.
분야
여기서 개시된 실시예들은 전자 디바이스 제조 분야에 관한 것으로 특히, 데이터 처리 시스템에 관한 것이다.
일반적으로, 고성능 컴퓨팅(HPC; High Performance Computing) 시스템은, 작업(job)이라고 하는 계산 과제를 실행하기 위해 복수의 노드를 동시에 이용하여 병렬 컴퓨팅을 수행한다. 각 노드는, 통상적으로, 프로세서, 메모리, 운영 체제 및 I/O 컴포넌트를 포함한다. 노드들은 고속 네트워크 패브릭을 통해 서로 통신하며 공유된 파일 시스템 또는 스토리지를 이용할 수 있다. 작업은 수 천개의 노드에 분산된 수 천개의 병렬 태스크들로 분할된다. 이러한 태스크들은 초당 수백 회 서로 동기화된다. 대개 HPC 시스템은 메가 와트의 전력을 소비한다.
기존의 고성능 컴퓨팅(HPC) 시스템 HPC 및 기타 빅 데이터 시스템은 전력을 인식하지 못한다. 최상급 HPC 시스템은 약 20 메가 와트(MW)의 전력을 소비하여 33 페타플롭(PF; petaflops)의 성능을 제공한다. 이 성능은 대략 지수적으로 성장할 것으로 예상되는 반면, 가용 전력은 약 20MW 이하로 유지될 것으로 예상된다. 통상적으로, 전력 할당은 20 MW가 될 가능성이 없으며 빈번하게 15 분마다 변경될 수 있다.
기존 HPC 작업 스케쥴러는 결정론적 성능으로 HPC 작업 전력을 제한할 수 없다. 전형적인 작업 스케쥴러는 단순히 작업에 대한 전력 한도(power cap)를 설정한다. 동일한 작업을 실행하는 HPC 시스템의 노드들은 상이한 주파수들에서 실행되어 불균형 및 비결정론적 거동을 초래할 수 있다.
현재, 설비 전력 할당이 변경되고 일부 작업이 완료되며 일부 작업은 보류되더라도, 작업의 전력 한도는 고정된다. 현재의 HPC 시스템은, 설비 전력 제한 및 보류된 작업 우선순위에 따라 작업의 전력 한도를 동적으로 변경하지 않는다.
종래의 HPC 시스템에서는, 시스템 레벨 전력 제한은 작업에 대한 전력을 제한함으로써 달성된다. 통상적으로, 계산 작업은 수 천개의 청크로 분할되어 수 천개의 노드에 분산된다. 이 노드는 앞으로 진행하기 이전에 초당 수백 번 서로 동기화된다. 시스템에서 가장 느린 노드는 다른 모든 노드를 대기시킨다. 이 과제를 해결하기 위한 전통적인 접근법은 모든 노드를 동일한 주파수에서 실행하는 것이다. 계산에 기초하여 노드에 의해 소비되는 전력은 증가 또는 감소될 수 있다. 기존의 HPC 시스템에서는, 작업이 그 작업에 대해 할당된 전력보다 많은 전력을 소비하지 않도록 보장하기 위해 모든 노드들이 최대 전력을 소비하고 모든 노드에 대해 최저 주파수가 선택된다고 가정된다. 그러나, 이것은 시스템이 전력 헤드룸(power headroom)을 가지더라도 시스템 내의 일부 노드들은 감소된 주파수에서 동작할 필요가 있다는 것을 의미한다. 종래의 시스템에서 작업은 그 작업에 할당되거나 예약된 모든 전력을 이용하는 것은 아니다. 이 할당되고 사용되지 않은 전력은 표류 전력(stranded power)이라고 한다. 비제로 표류 전력은 중요한 희소 에너지 자원의 낭비이다.
본 발명의 실시예들은 본 발명의 실시예들을 예시하기 위해 이용되는 첨부된 도면과 이하의 상세한 설명을 참조함으로써 최상으로 이해될 수 있다. 도면에서:
도 1은 한 실시예에 따른 데이터 처리 시스템에 대한 전력 입력을 나타내는 블록도이다.
도 2는 한 실시예에 따른 작업을 스케쥴링하기 위해 사용자 입력을 제공하는 사용자 인터페이스를 나타내는 도면이다.
도 3은 한 실시예에 따른 전력 관리를 제공하는 로직의 예시적 블록도이다.
도 4는 한 실시예에 따른 전력 모니터링 정보를 이용하여 작업을 관리하는 데이터 처리 시스템을 나타내는 블록도이다.
도 5a는 한 실시예에 따른 전력 인식 론칭 시간 작업 스케쥴러 및 런타임 작업 관리자를 포함하는 데이터 처리 시스템을 나타내는 블록도이다.
도 5b는 한 실시예에 따른 데이터 처리 시스템을 동작시키는 방법의 플로차트이다.
도 5c는 한 실시예에 따른 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법의 플로차트이다.
도 6은 한 실시예에 따른 전력 모니터링이 이용가능할 때 4개의 작업 모드에 대해 균일한 주파수를 설정하는 알고리즘을 나타내는 테이블을 도시한다.
도 7은 한 실시예에 따른 전력 모니터링이 이용가능하지 않을 때 4개의 작업 모드에 대해 균일한 주파수를 설정하는 알고리즘을 나타내는 테이블을 도시한다.
도 8은 한 실시예에 따른 전력 인식 스케쥴러 및 관리자에 대한 전력 여유폭을 나타낸다.
도 9a는 한 실시예에 따른 전력 인식 작업 스케쥴러 및 관리자가 작업에 대해 전력을 동적으로 할당하기 위한 예시적 캘리브레이션 테이블을 도시하는 도면이다.
도 9b는 한 실시예에 따른 작업에 전력을 할당하는 방법의 플로차트이다.
도 9c는 또 다른 실시예에 따른 작업에 전력을 할당하는 방법의 플로차트이다.
도 9d는 한 실시예에 따른 작업에 대한 전력을 감소시키는 방법의 플로차트이다.
도 9e는 한 실시예에 따른 작업을 종료하는 방법의 플로차트이다.
도 9f는 한 실시예에 따른 더 많은 작업을 수용하기 위해 전력을 재조정하는 방법의 플로차트이다.
도 9g는 또 다른 실시예에 따른 작업에 대한 전력을 감소시키는 방법의 플로차트이다.
도 9ha 내지 도 9hc는 한 실시예에 따른 전력 인식 작업 스케쥴러 및 작업 관리자를 제공하는 방법의 플로차트이다.
도 10은 한 실시예에 따른 전력 모니터링을 동반하거나 동반하지 않는 시스템의 성능의 예를 도시한다.
도 11은 한 실시예에 따른 상이한 모드들에서 동시에 실행되는 작업들을 갖는 혼합 모드 구성을 나타내는 테이블을 도시한다.
도 12a 및 도 12b는 한 실시예에 따른 도 11에 도시된 혼합 모드 구성의 결과를 도시한다.
도 13은 한 실시예에 따른 동시에 실행되는 상이한 모드들의 2개의 작업을 갖는 구성을 나타내는 테이블을 도시한다.
도 14는 한 실시예에 따른 도 13에 도시된 구성에 미치는 시변 시스템 전력 제한(Psys)의 효과를 나타낸다.
도 15는 한 실시예에 따라 도 13에 도시된 2개의 사례에 대한 시변 PSYS의 효과를 도시한다.
도 16은 한 실시예에 따른 변동하는 Psys에 대한 자동 모드에서 실행중인 작업의 적응성을 나타낸다.
도 17은 한 실시예에 따른 동일한 작업부하 대 가용 시스템 전력(Psys)의 경우 고정 주파수 모드의 작업용 주파수에 대한 자동 모드의 작업용 주파수의 비율을 도시하는 도면이다.
도 18은 한 실시예에 따른 고정 주파수 모드에서의 작업에 비한 자동 모드의 작업의 완료 시간에서의 백분률 증가를 도시하는 그래프이다.
도 19는 한 실시예에 따른 데이터 처리 시스템을 나타낸다.
높은 에너지 효율을 동반한 전력 제한 내에서 HPC 시스템을 동작시키는 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법들 및 장치들이 설명된다. 전력 제한(cap) 하에서의 동작을 지원하기 위해, 여기서 설명되는 HPC 작업 론칭 시간 스케쥴러와 런타임 관리자는 고정된 전력 예산 내에서 최상의 성능을 제공하도록 전력을 인식한다. 설비 전력 할당이 변경되고, 일부 작업이 완료되거나 보류될 때, 여기서 설명되는 전력 인식 작업 론칭 시간 스케쥴러 및 런타임 관리자는 유익하게도 작업 전력 할당을 조정하여 일시적 기간의 전력 한도 증가를 작업에 제공한다.
이하의 설명에서, 본 기술분야의 통상의 기술자에게 연구의 본질을 전달하기 위해 본 기술분야의 통상의 기술자들이 흔하게 사용하는 용어를 이용하여 예시적 구현들의 다양한 양태들이 설명될 것이다. 그러나, 본 발명은 설명된 양태들 중 일부만을 가지고 실시될 수 있다는 것이 본 기술분야의 통상의 기술자에게는 명백할 것이다. 설명의 목적상, 예시적 구현의 철저한 이해를 제공하기 위하여 특정한 개수, 재료, 및 구성이 개시된다. 그러나, 본 발명은 이러한 구체적인 상세사항 없이도 실시될 수 있다는 것은 본 기술분야의 통상의 기술자에게 명백할 것이다. 다른 사례에서, 예시적 구현을 모호하게 하지 않기 위하여 공지된 피쳐들은 생략되거나 간소화된다.
본 발명의 이해에 가장 도움이 되는 방식으로, 다양한 동작들이 차례로 복수의 별개의 동작들로서 설명될 것이다; 그러나, 설명의 순서는 이들 동작들이 반드시 순서에 의존적이라는 것을 암시하는 것으로 해석되어서는 안 된다. 특히, 이들 동작들은 제시된 순서로 수행될 필요는 없다.
소정의 예시적 실시예들이 설명되고 첨부된 도면들에 도시되지만, 이러한 실시예들은 단지 예시일 뿐이고 제한하기 위한 것은 아니며, 본 기술분야의 통상의 기술자에 의해 수정이 이루어질 수도 있기 때문에, 실시예들은 도시되고 설명된 특정의 구성이나 배열로 제한되지 않는다는 것을 이해하여야 한다.
본 명세서 전체에 걸쳐 "한 실시예", "또 다른 실시예", 또는 "실시예"라는 말은, 그 실시예와 관련하여 설명되는 특정한 피쳐, 구조, 또는 특성이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 명세서의 다양한 곳에서 나타나는, "한 실시예" 또는 "실시예" 등의 문구의 등장은, 반드시 모두가 동일한 실시예를 언급하는 것은 아니다. 또한, 특정한 피쳐, 구조 또는 특성은, 하나 이상의 실시예에서 임의의 적절한 방식으로 결합될 수도 있다.
또한, 발명적 양태들은 단일의 개시된 실시예의 모든 피쳐들보다 작은 수의 피쳐들에 놓여 있다. 따라서, 상세한 설명에 후속하는 청구항들은 이 상세한 설명에 명시적으로 병합되는 것이며, 각각의 청구항은 그 자체로 별개의 실시예이다. 예시적 실시예들이 여기서 설명되었지만, 본 기술분야의 통상의 기술자라면, 이들 예시적 실시예들은 여기서 설명되는 바와 같이 수정 및 변경을 동반하여 실시될 수 있다는 것을 인식할 것이다. 따라서, 설명은 제한이 아니라 예시로서 간주되어야 한다.
여기서 기술된 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법 및 장치는, 전력 예산을 작업에 동적으로 할당하고 작업 수명 동안에 전력 예산의 동적 제어를 제공하여 작업을 더 일찍 론칭할 확률을 증가시키며, 작업이 더 빨리 실행되게 하고, 종래의 시스템에 비해 표류 전력을 감소시킨다. 적어도 일부 실시예에서, 작업에 대한 전력 할당은, 사용자의 선택, 예를 들어, 작업이 임의의 전력 제한을 겪을 수 있는지, 시스템 전력 할당이 미리결정된 임계치 아래로 떨어질 때 작업이 보류될 수 있는지, 또는 이들의 임의의 조합에 의존한다. 적어도 일부 실시예에서, 작업을 시작하기 위해, 작업에 필요한 전력은, 2014년 12월 24일 출원된 발명의 명칭이 "METHODS AND APPARATUS TO ESTIMATE POWER PERFORMANCE OF A JOB THAT RUNS ON MULTIPLE NODES OF A DISTRIBUTED COMPUTER SYSTEM"인 관련 미국 특허 출원 제14/582,795호(변리사 도켓 번호 42P73498)에 기술된 전력 추정 기술들 중 하나를 이용하여, 및 2014년 12월 24일 출원된 발명의 명칭이 "METHOD AND APPARATUS TO GENERATE AND USE POWER, THERMAL AND PERFORMANCE CHARACTERISTICS OF NODES TO IMPROVE ENERGY EFFICIENCY AND REDUCING WAIT TIME FOR JOBS IN THE QUEUE"인 관련 미국 특허 출원 제14/582,783호(변리사 도켓 번호 42P74562)에 기술된 전력 캘리브레이션 기술들 중 하나를 이용하여 추정된다.
적어도 일부 실시예에서, 작업을 수행하는 모든 노드의 균일한 주파수는 시스템의 전력 헤드룸(가용 전력)에 기초하여 동적으로 변경된다. 동일한 작업을 실행하는 각각의 노드 상의 균일한 주파수가 이용된다. HPC 영역 전문가는 균일한 주파수로 애플리케이션을 미세 조정했다. 전력 인식 스케쥴러 및 관리자는 유익하게도 이하에서 더 상세히 설명되는 바와 같이 어떤 추가적인 불균형도 초래하지 않는다.
적어도 일부 실시예에서, 2014년 12월 24일에 출원된 발명의 명칭이 "PROFILING A JOB POWER AND ENERGY CONSUMPTION FOR A DATA PROCESSING SYSTEM"인 관련 미국 특허 출원 제14/582,756호(변리사 도켓 번호 42P74568)에 기술된 바와 같이, 하나 이상의 모니터링 기술을 이용하여, 작업 전력, 시스템 전력, 작업 완료 및 작업 보류 상태가 모니터링된다. 실시간 작업의 전력 한도는 모니터링에 기초하여 동적으로 조정된다. 이것은 실시간 작업의 성능을 유익하게 최대화한다. HPC 설비 전력 제한이 변경됨에 따라, 작업의 전력 한도 동적 조정은 유익하게도 시스템에 대한 최적 처리량을 보장한다.
적어도 일부 실시예에서, 전력 인식 작업 스케쥴러 및 관리자는, (2014년 12월 24일 출원된, 발명의 명칭이 "METHOD AND APPARATUS TO GENERATE AND USE POWER, THERMAL AND PERFORMANCE CHARACTERISTICS OF NODES TO IMPROVE ENERGY EFFICIENCY AND REDUCING WAIT TIME FOR JOBS IN THE QUEUE"인 관련 미국 특허 출원 제14/582,783호(변리사 도켓 번호 42P74562)에서 기술되는) 전력 캘리브레이터 및 (2014년 12월 24일 출원된 발명의 명칭이 "METHOD AND APPARATUS TO GENERATE AND USE POWER, THERMAL AND PERFORMANCE CHARACTERISTICS OF NODES TO IMPROVE ENERGY EFFICIENCY AND REDUCING WAIT TIME FOR JOBS IN THE QUEUE"인 관련 미국 특허 출원 제14/582,783호(변리사 도켓 번호 42P74562)에서 기술되는) 전력 추정기와 인터페이스하여, 이하에서 더 상세히 설명되는 바와 같이, 작업부하 최대 전력(Pmax), 작업부하 최소 전력(Pmin), 작업부하 평균 전력(Pavg), 플랫폼 최대 전력(PMP)을 획득한다. 전력 인식 작업 스케쥴러 및 관리자는 캘리브레이터 및 추정기의 실제 입력을 이용하므로, 전력 규제 보호 대역이 유익하게도 최소화되고 시스템의 성능이 최대화된다.
한 실시예에서, 작업 전력 규제 당 균일한 주파수가 제공된다. 작업을 실행하는 모든 노드는 동일한 주파수를 가지므로, 불균형이 초래되지 않는다. 작업 당 전력 한도는, 시설 전력 능력 및 보류된 작업 우선순위 중 적어도 하나에 기초하여 동적으로 설정된다. 전력 인식 작업 스케쥴러 및 관리자는, 론칭 시간 및 런타임 전력 캘리브레이터 및 추정기와 인터페이스하여 전력 인식 스케쥴링을 종래의 시스템에 비해 더 정확하게 만든다.
적어도 일부 실시예에서, 데이터 처리 시스템 및 작업에 대한 전력 소비를 제한하는 방법이 설명된다. 이하에서 더 상세히 설명되는 바와 같이, 작업에 대한 전력은 모든 노드를 공통 주파수에서 작동시키는 시스템에서 제한된다.
도 1은 한 실시예에 따른 데이터 처리 시스템(101)에 대한 전력 입력을 나타내는 블록도(100)이다. 데이터 처리 시스템(101)은, 고속 패브릭(106)에 결합된 복수의 노드, -예를 들어, 하나 이상의 헤드 노드(102), 중앙 처리 유닛(CPU) 노드(103) 및 CPU 노드(104) 등의 하나 이상의 계산 노드, 하나 이상의 입력-출력(IO) 노드(105), 하나 이상의 운영 체제(OS) 노드, 및 기타의 노드들을 포함한다. 한 실시예에서, 헤드 노드(102)는 하나 이상의 운영 체제(OS) 노드를 포함한다. 고속 패브릭은 하나 이상의 스위치를 통해 상호접속된 노드들의 네트워크 토폴로지일 수 있다. 한 실시예에서, 노드들(103, 104 및 105) 등의 노드들 각각은, 메모리에 결합된 하나 이상의 프로세서, 하나 이상의 제어기, 또는 양쪽 모두를 포함한다. 헤드 노드(102)는, 메모리에 저장된 전력 인식 작업 스케쥴러 및 관리자(113)의 적어도 일부를 갖는 자원 관리자를 포함한다. 적어도 일부 실시예에서, 자원 관리자는 복수의 노드에서 실행되는 분산형 자원 관리자이다. 대안적 실시예에서, 자원 관리자는, 하나 이상의 헤드 노드, 하나 이상의 CPU 노드, 하나 이상의 노드 IO 노드, 또는 이들의 임의의 조합 상에서 실행된다. 한 실시예에서, 전력 인식 작업 스케쥴러 및 관리자(113)는, 작업에 대한 모드의 표시를 수신하고, 모드에 기초하여 작업에 대한 가용 전력을 결정하며, 가용 전력에 기초하여 작업에 대한 전력을 할당하도록 구성된다. 한 실시예에서, 전력 인식 작업 스케쥴러 및 관리자(113)는 가용 전력에 기초하여 작업에 대한 균일한 주파수를 결정하도록 구성된다. 한 실시예에서, 전력 인식 작업 스케쥴러 및 관리자(113)는, 모니터링된 전력, 추정된 전력, 및 캘리브레이트된 전력 중 적어도 하나에 기초하여 작업에 대한 가용 전력을 결정하도록 구성된다. 전력-인식 작업 스케쥴러 및 관리자(113)는, 이하에서 더 상세히 설명되는 바와 같이, 전력 소비에 관한 정보를 수신하고, 각각의 작업에 전력 예산을 분배하며, 전력을 제한하는 균일한 주파수 메커니즘을 구현하도록 구성된다.
한 실시예에서, 헤드 노드(102)는 2014년 12월 24일 출원된 발명의 명칭이 PROFILING A JOB POWER AND ENERGY CONSUMPTION FOR A DATA PROCESSING인 미국 특허 출원 제14/582,756호(변리사 도켓 번호 42P74568)에 기술된 전력 모니터(미도시); 2014년 12월 24일 출원된 발명의 명칭이 METHODS AND APPARATUS TO ESTIMATE POWER PERFORMANCE OF A JOB THAT RUNS ON MULTIPLE NODES OF A DISTRIBUED COMPUTER SYSTEM인 미국 특허 출원 제14/582.795호(변리사 도켓 번호 42P73498)에 기술된 전력 추정기(미도시); 2014년 12월 24일 출원된 발명의 명칭이 METHOD AND APPARATUS TO GENERATE AND USE POWER, THERMAL AND PERFORMANCE CHARACTERISTICS OF NODES TO IMPROVE ENERGY EFFICIENCY AND REDUCING WAIT TIME FOR JOBS IN THE QUEUE인 미국 특허 출원 제14/582.783호(변리사 도켓 번호 42P74562)에 기술된 전력 캘리브레이터(미도시)를 포함한다. 한 실시예에서, CPU 노드(103) 등의 하나 이상의 CPU 노드는, 메모리에 저장된 전력 인식 작업 스케쥴러 및 관리자(113)의 일부(미도시)를 포함한다. 한 실시예에서, 하나 이상의 IO 노드(105)는, 메모리에 저장된 전력 인식 작업 스케쥴러 및 관리자(113)의 일부(미도시)을 포함한다. 입력들(108, 109, 110, 111) 및 하나 이상의 입력(112) 등의, 복수의 전력 입력들이 시스템(101)에 제공된다. 입력(108)은 시스템 전력 할당(Psys)에 관한 데이터를 포함한다. 입력(109)은 작업 X에 대한 전력 정책을 포함한다; 입력(110)은 작업 Y에 대한 전력 정책을 포함하며, 입력(111)은 사용자(116) 등의 하나 이상의 사용자로부터의 작업 N에 대한 전력 정책을 포함한다. 입력(112)은, 작업, 작업 스케쥴러, 작업 론칭기(job launcher) 및 자원 관리자의 나머지, 데이터 처리 시스템, 또는 이들의 임의의 조합에 대한 하나 이상의 관리 정책을 포함한다.
한 실시예에서, 고속 패브릭(106)은, 네트워크, 예를 들어, Ethernet, Omni-Path, InfiniBand, 기타의 네트워크이다. 하나 이상의 IO 노드(105)는 하나 이상의 스토리지 노드(107)에 결합된다. 스토리지 노드(104)는, 휘발성 메모리(예를 들어, 임의의 유형의 랜덤 액세스 메모리 "RAM") 등의 비영구적 스토리지; 비휘발성 메모리(예를 들어, 읽기-전용 메모리 "ROM", 전원 백업형 RAM, 플래시 메모리, 상 변화 메모리 등), 솔리드-스테이트 드라이브, 하드 디스크 드라이브, 광학 디스크 드라이브, 휴대형 메모리 디바이스 등의 영구적 스토리지, 또는 이들의 임의의 조합을 포함할 수 있다.
한 실시예에서, 하나 이상의 스토리지 노드(107)는 시스템(100)의 일부이다. 다른 실시예에서, 하나 이상의 스토리지 노드(107)는 네트워크를 통해 하나 이상의 노드(105)에 결합된다. 한 실시예에서, 시스템(100)은 HPC 시스템이다. 또 다른 실시예에서, 시스템(100)은 클라우드 컴퓨팅 시스템이다. 한 실시예에서, 시스템(100)은 작업을 실행하는 수 천개의 노드를 갖는 HPC 클러스터 시스템이다. 역시 또 다른 실시예에서, 시스템(100)은 기업 네트워크 시스템, 또는 기타 임의의 데이터 처리 시스템이다.
헤드 노드(102)는, 계산 노드들, 예를 들어, 계산 노드들(103 및 104)을 액세스하기 위한 게이트웨이를 제공할 수 있다. 예를 들어, 계산 노드에서의 처리를 위해 작업을 제출하기 이전에, 사용자는 헤드 노드(102)를 통해 시스템(100)에 로그인할 것이 요구될 수도 있다. 한 실시예에서, 헤드 노드(102)는 사용자들에 의해 제출된 작업을 수락하고 계산 노드들에 의해 처리되는 작업의 론칭 및 관리를 보조할 수 있다.
한 실시예에서, 계산 노드는 처리 및 계산 능력의 대부분을 제공한다. I/O 노드는, 계산 노드와, 시스템(100)에 입력을 제공하거나 HPC 시스템으로부터 출력을 수신할 수 있는 외부 디바이스(예를 들어, 별개의 컴퓨터) 사이에서 인터페이스를 제공할 수 있다.
시스템 전력 할당(Psys)은, 예를 들어, (예를 들어, 시스템 관리자 또는 데이터센터 관리자 등의 관리 소프트웨어에 의해 결정되는) 유틸리티 관리 설비에 의해 시스템(100)에 제공될 수 있다. 통상적으로, PSYS는 하나 이상의 사용자가 요청한 하나 이상의 작업을 실행하는 데 이용된다. 각각의 작업은, 작업에 대한 전력을 할당하고 시스템(100)에 의해 실행되는 하나 이상의 작업의 관리를 지원하는 데 있어서 시스템(100)을 보조하는 전력 정책을 포함한다.
또한, 관리 정책은 시스템(100)의 동작을 정의하는 대단히 중요한 정책을 제공함으로써 작업 실행의 관리를 안내한다. 관리 정책(112)에 포함될 수 있는 정책의 예로서는, (1) 모든 하드웨어 및 소프트웨어 자원의 활용을 최대화하는 것(예를 들어, 높은 전력으로 작은 수의 작업을 실행하고 자원을 미사용으로 남겨두는 것 대신에, 가능한 많은 자원을 이용하도록 가능한 많은 작업을 실행하는 것); (2) 전력 제한이 없는 작업은 실행중인 모든 작업 중에서 최고 우선순위를 부여받는다; 그리고/또는 (3) 보류된 작업은 재개에 대해 더 높은 우선순위를 가진다;가 포함될 수 있지만 이것으로 제한되지 않는다. 이러한 관리 정책은 시스템(100)이 하나 이상의 작업을 스케쥴, 론칭, 보류 및 재실행하는 방식을 제어한다.
한 실시예에서, 시스템(100)에 대한 전력 가용성은, 이미 시작되었고 보류될 수 없는 작업에 대해 전력을 예약하도록 결정된다. 전력 인식 스케쥴러는 전력 제한이 있거나 없는 작업을 관리하는 데 이용된다. 전력-인식 스케쥴러는 작업을 실행하는 데 요구되는 전력을 추정하는 데 이용된다. 노드의 전력-성능 캘리브레이션은 이러한 추정을 발전시키는 데 이용된다. 한 실시예에서, 전력 추정은 샘플 작업부하 또는 과거의 작업 실행에서 수집된 전력-성능 데이터에 기초하여 결정된다. 추정치는 내장된 보호 대역을 가질 수 있지만 작업의 실제 전력 소비는 상이할 수 있다. 작업-레벨 전력 모니터링은 추정치와 실제 전력 소비량 사이의 차이를 평가한다. 이러한 평가는 각각의 작업에 대한 전력 할당을 미세 조정할 수 있는 기회를 생성한다.
일반적으로, 전력 정책은, 작업에 의해 소비되는 전력이 작업 할당치 내에 머물도록 보장하는 데 이용되는 제어 메커니즘이다. 전력 모니터링은 전력 정책에 영향을 미친다. 전력 모니터링의 결핍은 과중한 전력 할당 보호 대역을 필요로 하여, 작업이 할당치보다 많은 전력을 소비하지 않게 할 수 있다. 이 과중한 할당은 최악의 작업부하에 대한 최대 전력과 같거나 더 클 것을 필요로 할 수 있다.
도 2는 한 실시예에 따른 작업을 스케쥴하기 위해 사용자 입력을 제공하는 사용자 인터페이스(200)를 나타내는 도면이다. 사용자 입력은 작업에 대한 모드 선택을 포함한다. 작업에 대한 모드 선택은, 작업이, 전력 제한, 작업에 대한 전력 제한 정책에 관한 표시, 작업에 대한 보류 정책에 관한 표시, 또는 이들의 임의의 조합을 포함한다. 사용자 인터페이스(200)는 디스플레이 영역(210, 220 및 230)을 포함한다. 디스플레이 영역(210)은 사용자가 작업이 전력 제한을 받는지를 지정하는 것을 허용한다. 도 2에 도시된 바와 같이, 선택 "예(Yes)"(201)는 작업이 전력 제한을 가지고 있다는 것을 나타내고, 선택 "아니오"(202)는 작업이 전력 제한을 갖지 않는다는 것을 나타낸다.
디스플레이 영역(220)은, 사용자가 작업이 전력 제한을 받도록 허용할 때 미리결정된 전력-제한 정책 중 하나의 선택에 관한 것이다. 선택 203은, 전력을 제한하는 정책이, 작업이 실행될 하나 이상의 노드가 동작해야 하는 특정 주파수(208)를 사용자가 지정하는 고정 주파수 정책("고정 주파수")이라는 것을 나타낸다. 선택 204는, 정책이 작업이 실행될 하나 이상의 노드에 공급되는 최소 전력(211)을 사용자가 지정하는 최소 작업 전력 정책("최소 전력 모드")이라는 것을 나타낸다. 선택 205는, 정책이 작업이 실행될 하나 이상의 노드에 공급되는 최대 전력(212)을 사용자가 지정하는 최대 작업 전력 정책("최대 전력 모드")이라는 것을 나타낸다. 선택 209는, 정책이, 작업을 실행하기 위해 하나 이상의 노드가 동작하는 주파수, 작업이 실행되고 있는 하나 이상의 노드에 공급된 전력, 또는 양쪽 모두가 작업에 대한 전력 할당에 기초하여 동적으로 조정될 수 있는 자동 모드("자동 모드")라는 것을 나타낸다.
디스플레이 영역(230)은 작업이 처리 동안에 보류될 수 있는지의 선택에 관한 것이다. 선택 "예"(206)는 작업이 보류될 수 있다는 것을 나타낸다. 선택 "아니오"(207)는 작업이 보류될 수 없다는 것을 나타낸다. 한 실시예에서, 작업은, 2014년 12월 24일 출원된 발명의 명칭이 "METHODS AND APPARATUS TO MANAGE JOBS THAT CAN AND CANNOT BE SUSPENDED WHEN THERE IS A CHANGE IN POWER ALLOCATION TO A DISTRIBUTED COMPUTER SYSTEM"인 관련 미국 특허 출원 제14/582.772호(변리사 도켓 번호 42P74566)에 기술된 작업 보류 기술들 중 하나를 이용하여 보류된다.
사용자 인터페이스 스크린은, 사용자가 데이터 처리 시스템(100)에, 예를 들어, 전력 정책, 최소 요구 주파수, 최소 요구 전력, 최대 전력 및/또는 작업이 보류될 수 있는지 등의 입력 파라미터를 제공하는 유일한 방법은 아니다. 대안으로서, 이러한 파라미터들은 작업 제출의 일부로서 및/또는 구성 파일(예를 들어, 텍스트 파일)로서 시스템(100)에 제공될 수도 있다. 역시 또 다른 실시예에서, 이러한 파라미터는, 시스템 관리자, 설비 관리자/관리자에 의해 설정될 수 있고/있거나 시스템(100)에서의 사용자 계정의 일부로서 미리결정될 수 있다. 역시 또 다른 실시예에서, 이러한 파라미터는 작업을 이용하여 설정될 수 있다. 예를 들어, 작업이 체크 포인팅을 지원하지 않는다면, 작업은 보류될 수 없다.
한 실시예에서, 작업에 대한 균일한 주파수는 가용 전력에 기초하여 결정된다. 한 실시예에서, 작업에 대한 균일한 주파수는 사용자에 의해 선택된 모드들 중 하나를 이용하여 결정된다. 동일한 작업을 실행하는 노드의 모든 프로세서들은 동일한 균일한 주파수로 동작한다. 균일한 주파수 전력 제한은, 주파수가 선택되는 방법 및 작업 전체에 걸쳐 동일한 주파수가 유지되는지에 따라 상이한 방식들로 실행될 수 있다. 균일한 주파수에서 작업을 실행하기 위한 4가지 정책이 작업 주파수를 결정하는 데 이용된다: a) 사용자는 작업의 지속 시간 동안 동작 주파수를 선택한다(고정 주파수 모드); b) 사용자는 작업에 할당될 최소 전력 수준을 명시한다(최소 전력 모드); c) 사용자는 작업에 할당할 최대 전력 레벨을 명시한다; d) 사용자는 작업에 대해 자동 모드를 명시한다. 자동 모드, 최소 전력 및 최대 전력 모드 중 하나를 이용하여, 전력 인식 작업 스케쥴러 및 작업부하 관리자는 전력 헤드룸에 기초하여 작업에 대한 균일한 주파수를 조정한다.
도 3은 한 실시예에 따른 전력 관리를 제공하는 로직(300)의 예시적 블록도이다. 한 실시예에서, 로직(300)은 시스템(100)의 일부이다. 로직(300)은, 작업들을 스케쥴하고 론칭하기 위한 자원 관리자(301), 캘리브레이터(306), 추정기(305) 및 하나 이상의 작업 관리자(312)를 포함한다. 자원 관리자(301)는, 전력 인식 작업 론칭기(303)에 결합된 전력 인식 작업 스케쥴러(302)를 포함한다. 한 실시예에서, 각각의 작업은 작업 관리자를 갖는다. 한 실시예에서, 자원 관리자(301)는, 도 1에 도시된 헤드 노드(102) 등의 헤드 노드의 일부이다. 한 실시예에서, 도 1에 도시된 전력 인식 작업 스케쥴러(113)는 자원 관리자(301)의 적어도 일부분을 나타낸다.
자원 관리자(301)는, 복수의 입력, 예를 들어, 하나 이상의 유틸리티 규칙308), 하나 이상의 설비 규칙(309), 사용자 정책 입력(310) 및 관리자 정책 입력(311), 추정기(305), 캘리브레이터(306), 및 노드(307)의 전력 인식 선택기로부터의 입력들을 수신한다.
추정기(305)는, 작업, 예를 들어, 작업(304)의 전력 및 성능을 추정하도록 구성된다. 추정기(305)는 자원 관리자(301)에게 각각의 작업에 대한 전력 소비의 추정치를 제공하여 자원 관리자(301)가 하나 이상의 작업 소유자(예를 들어, 사용자)에 의해 요청된 각각의 작업을 효율적으로 스케쥴링하고 모니터할 수 있게 한다. 추정기(305)는, 예를 들어, 캘리브레이션 데이터베이스에 저장된 최대 및 평균 전력 값에 기초하여 전력 소비 추정치를 제공할 수 있으며, 여기서, 캘리브레이션 데이터베이스는 캘리브레이터(306)의 처리에 의해 채워진다. 또한, 각각의 작업에 요구되는 최소 전력이 고려될 수 있다. 소비 전력 추정치를 생성하기 위해 추정기(305)에 의해 이용될 수 있는 다른 요인들로서는, 작업의 소유자가 작업이, 전력 제한, 작업에 공급되는 전력을 제한하는 작업 전력 정책(예를 들어, 작업이 실행될 미리결정된 고정 주파수, 작업에 요구되는 최소 전력, 또는 자원 관리자(301)에 의해 결정된 공급된 다양한 주파수 및/또는 전력), 작업에 대한 시동 전력, 작업이 실행될 주파수, 시스템(100)에 대한 가용 전력, 시스템(100)에 할당된 전력, 또는 양쪽 모두가 포함되지만, 이것으로 제한되지 않는다. 한 실시예에서, 추정기(305)는, 2014년 12월 24일 출원된 발명의 명칭이 "METHODS AND APPARATUS TO ESTIMATE POWER PERFORMANCE OF A JOB THAT RUNS ON MULTIPLE NODES OF A DISTRIBUTED COMPUTER SYSTEM"인 관련 미국 특허 출원 제14/582,795호(변리사 도켓 번호 42P73498)에 기술된 추정기들 중 하나를 나타낸다.
캘리브레이터(306)는 데이터 처리 시스템의 노드들의 전력 및 성능을 캘리브레이트되도록 구성된다. 캘리브레이터(306)는 데이터 처리 시스템(100) 내의 각각의 노드의 전력, 열 소산 및 성능을 캘리브레이트한다. 캘리브레이터(306)는 HPC 시스템(306) 내의 노드들을 캘리브레이트하기 위한 복수의 방법을 제공할 수 있다. 한 실시예에서, 캘리브레이터(306)는 시스템(100) 내의 모든 노드가 샘플 작업부하(예를 들어, 미니 애플리케이션 및/또는 테스트 스크립트)를 실행하여 캘리브레이터(306)가, 예를 들어, 각각의 노드에 대한 (1) 평균 전력, (2) 최대 전력, 및 (3) 최소 전력을 결정하기 위해 미리결정된 시간 간격으로 다양한 파라미터들(예를 들어, 소비된 전력)을 샘플링할 수 있게 하는 캘리브레이션 방법을 제공할 수 있다. 또한, 샘플 작업부하는 노드의 모든 동작 주파수에서 각각의 노드에서 실행될 수 있다.
다른 실시예에서, 캘리브레이터(306)는 하나 이상의 노드의 캘리브레이션이 작업의 런타임 동안 발생하는 캘리브레이션 방법을 제공할 수 있다. 이러한 상황에서, 캘리브레이터(306)는 작업이 실행(예를 들어, 처리)되고 있는 하나 이상의 노드를 샘플링할 수 있다. 캘리브레이터(306)는 실제의 런타임 동안에 각각의 노드의 전력 측정치를 획득한다. 한 실시예에서, 캘리브레이터(306)는, 2014년 12월 24일 출원된 발명의 명칭이 "METHOD AND APPARATUS TO GENERATE AND USE POWER, THERMAL AND PERFORMANCE CHARACTERISTICS OF NODES TO IMPROVE ENERGY EFFICIENCY AND REDUCING WAIT TIME FOR JOBS IN THE QUEUE"인 관련 미국 특허 출원 제14/582,783호(변리사 도켓 번호 42P74562)에 기술된 전력 캘리브레이터들 중 하나를 나타낸다.
한 실시예에서, 전력 캘리브레이터와 추정기 사이의 인터페이스는 다음과 같다 : PMP(PlatformMaxPower) : 각각의 가용 주파수(예를 들어, 공칭 주파수(P1 주파수)를 통한 1.2GHz, 및 터보 주파수)에 대해, 노드(노드 PMP)에 대한 최대 전력이 결정된다. Pmax : 작업 수명기간에 걸친 최대 노드 전력이다. Pmin : 작업 수명기간에 걸친 최소 노드 전력이다. Pavg : 작업 수명기간에 걸친 평균 노드 전력이다. PMP는 작업부하 독립적이다. Pmax, Pmin 및 Pavg는 작업부하 의존적이다.
사용자(예를 들어, 작업의 소유자)에 의해 요청된 각각의 작업은 사용자 정책 입력(310)을 동반한다. 사용자 정책은, 도 2에 관하여 설명되는 바와 같이, 적어도, 작업(304)이 전력 제한을 받는지, 전력 제한이 허용되는 경우 전력을 제한할 정책(예를 들어, 고정 주파수, 최소 요구 전력, 또는 자원 관리자(301)에 의해 결정되는 가변 주파수 및/또는 전력), 및 작업(301)이 보류될 수 있는지에 관한 결정을 포함할 수 있다.
노드들(303)의 전력 인식 선택기는, 작업, 예를 들어, 작업(304)을 실행할 노드를 선택하도록 구성된다. 대안적 실시예에서, 노드(303)의 전력 인식 선택기는, 작업, 예를 들어, 작업 전력 할당, 작업 구성 파라미터, 작업 통신 레이턴시, 거리, 홉의 개수(a number of hopes), 다른 기준, 또는 이들의 임의의 조합에 기초하여 노드를 선택한다. 예를 들어, 사용자는, 작업을 실행하기 위해 얼마나 많은 코어, 쓰레드 또는 양쪽 모두가 필요한지를 명시할 수 있다. 예를 들어, 사용자는, 선택된 노드가 제한된 거리(또는 네트워크 패브릭의 홉들) 내에 있어야 할 필요가 있도록 통신 레이턴시가 한계 내에 있을 필요가 있다고 명시할 수 있다. 자원 관리자(301)는, 전력 인식 작업 스케쥴러(302) 및 전력 인식 작업 론칭기(303)를 이용하여, 수신된 입력, 예를 들어, 입력들(305, 306, 307, 308, 309, 310, 311) 중 하나 이상에 기초하여 작업(304)을 스케쥴링 및 론칭한다. 한 실시예에서, 자원 관리자(301)는 사용자가 실행하기를 원하는 대화형 및 일괄 작업에 대한 계산 및 I/O 자원들의 할당을 담당하는 소프트웨어 객체이다. 전형적으로, 자원 관리자(301)는 또한, 작업 큐로부터 작업을 스케쥴링하고 스케쥴링된 대로 실행하기 위해 작업들을 론칭한다.
일반적으로, 사용자는 실행될 프로그램("작업")을 큐(queue)에 제출한다. 작업 큐란, 실행할 작업을 포함하는 데이터 구조를 말한다. 한 실시예에서, 전력 인식 작업 스케쥴러(302)는 적절한 시간(주기적으로, 또는 특정 이벤트에서, 예를 들어, 이전에 실행중인 작업의 종료)에서 작업 큐를 검사하고 작업을 실행하는 데 필요한 전력을 포함하는 자원이 할당될 수 있는지를 결정한다. 일부 경우에, 이러한 자원은 나중에만 할당할 수 있고, 이러한 경우에 작업은 미래의 지정된 시간에 실행되도록 스케쥴링된다.
작업이 실행되도록 스케쥴링되면, 작업 론칭기(303)는 큐로부터 작업을 선택하고, 적절한 자원(예를 들어, 계산 노드, 네트워크, 시간)이 할당되었다고 결정한 후에, 작업 론칭기(303)는 사용자가 명시한 입력(예를 들어, 작업 정책, 전력 모드 및 기타 입력 파라미터)에 따라 작업을 시작하기 위해 할당된 자원을 이용하여 프로세스를 생성한다. 작업 론칭기(303)는 또한, 각각 작업을 론칭하기 이전에 및 작업의 종료시에 수행되는 프롤로그 및 에필로그 작업을 가질 수 있다. 프롤로그 및 에필로그는 컴퓨터의 상태를 셋업하고 실행 후 상태를 제거하는 데 이용된다.
작업 관리자(312)는, 이하에서 더 상세히 설명되는 바와 같이, 작업에 대한 할당된 전력 예산 내에 머물게끔 작업(304)을 제어하도록 구성된다. 한 실시예에서, 작업 관리자(312)는 작업이 론칭된 후에 하나 이상의 전력 정책의 제약 내에서 작업을 운영하는 것을 담당한다. 한 실시예에서, 작업 관리자(312)는 사용자 및 관리자 중 적어도 하나에 의해 명시된 정책에 따라 작업의 실행에 관련된 모든 컴포넌트(예를 들어, 노드 또는 기타의 컴포넌트)의 전력 성능을 제어하는 데 이용된다.
도 4는 한 실시예에 따른 전력 모니터링 정보를 이용하여 작업을 관리하는 데이터 처리 시스템(400)을 나타내는 블록도이다. 데이터 처리 시스템은, 노드(402) 및 노드(403) 등의, 하나 이상의 노드에 결합된 헤드 노드(401)를 포함한다. 한 실시예에서, 헤드 노드(401)는 헤드 노드(102)를 나타낸다. 한 실시예에서, 노드(402)는 계산 노드이다. 한 실시예에서, 노드(402)는 계산 노드(103)를 나타낸다. 또 다른 실시예에서, 노드(102)는 IO 노드이다. 또 다른 실시예에서, IO 노드(403)는 IO 노드(105)를 나타낸다. 헤드 노드(401)는 작업 관리자(404)에 결합된 자원 관리자(406)를 포함한다. 한 실시예에서, 헤드 노드(401)는 전력 인식 작업 스케쥴러 및 관리자를 제공하는 클러스터 제어기로서 동작한다.
일반적으로, 자원 관리자(406) 및 작업 관리자(404) 각각은 헤드 노드에만 있거나, 복수의 노드들에 걸쳐 분산될 수도 있다. 한 실시예에서, 자원 관리자(406)는 자원 관리자(301)를 나타낸다. 한 실시예에서, 작업 관리자(404)는 작업 관리자(312)의 일부를 나타낸다. 한 실시예에서, 자원 관리자(406) 및 작업 관리자(404) 각각은 하나 이상의 헤드 노드 상에 있다. 또 다른 실시예에서, 자원 관리자(406) 및 작업 관리자(404) 각각은 헤드 노드 및 계산 노드 상에 분산된다. 한 실시예에서, 자원 관리자(406) 및 작업 관리자(404)는, 2014년 12월 24일 출원된 발명의 명칭이 "PROFILING A JOB POWER AND ENERGY CONSUMPTION FOR A DATA PROCESSING SYSTEM"인, 미국 특허 출원 제14/582,756호(변리사 도켓 번호 42P74568)에 기술된 바와 같이, 작업 전력 데이터를 수집하도록 구성된다. 한 실시예에서, 자원 관리자(406) 및 작업 관리자(404)는 센서들을 판독함으로써 작업 전력 데이터를 수집하도록 구성된다. 또 다른 실시예에서, 자원 관리자(406) 및 작업 관리자(404)는 데이터베이스(예를 들어, 데이터베이스(405))로부터 판독함으로써 작업 전력 데이터를 수집하도록 구성된다. 역시 또 다른 실시예에서, 자원 관리자(406) 및 작업 관리자(404)는, 다른 파라미터들, 예를 들어, 이용량, 대역폭, 전력 명세를 이용하여 전력 소비에 대한 추정치를 구축한다. 더 특정한 실시예에서, 자원 관리자(406)는 지능형 플랫폼 관리 인터페이스(IPMI) 프로토콜을 이용하여 전력 정보를 수집한다. 더 특정한 실시예에서, 작업 관리자(404)는 작업에 대한 전력 정보를 저장 또는 획득하기 위해 작업 전력 데이터베이스(405)에 액세스한다. 한 실시예에서, 작업 전력 데이터베이스(405)는 헤드 노드(401)의 일부이다. 또 다른 실시예에서, 작업 전력 데이터베이스(405)는 네트워크를 통해 헤드 노드(401)에 결합된다.
노드(402)는 작업 관리자(407)를 포함한다. 한 실시예에서, 작업 관리자(407)는 하나 이상의 계산 노드 상에 있다. 또 다른 실시예에서, 작업 관리자(407)는 하나 이상의 헤드 노드 및 하나 이상의 계산 노드에 분산된다. 작업 관리자(407)는 작업 관리자(404) 및 자원 관리자(406)에 결합된다. 작업 전력 및 작업 주파수를 포함하는 작업 데이터는 작업 관리자(404)와 작업 관리자(407) 사이에서 전달된다. 노드 전력, 네트워크 이용, 네트워크 대역폭을 포함하는 다른 전력 데이터는 작업 관리자(407)와 자원 관리자(406) 사이에서 전달된다. 한 실시예에서, 작업 관리자(407)는 작업 관리자(312)의 일부를 나타낸다. 한 실시예에서, 작업 관리자(404) 및 작업 관리자(407) 각각은 메모리에 저장되고 프로세서에 의해 실행되어 작업에 대한 입력 전력, 출력 전력 또는 양쪽 모두를 보고하는 에이전트(애플리케이션 또는 기타 임의의 컴퓨터 프로그램)를 포함한다. 작업 관리자(407)는 작업에 대한 전력 데이터를 획득하기 위해 인터페이스(412)에 결합된다. 한 실시예에서, 전력 데이터는, 노드 전력, 프로세서 전력 및 작업에 대한 메모리 전력을 포함한다. 한 실시예에서, 인터페이스(412)는 IPMI 인터페이스이다. 작업 관리자(407)는 스토리지 디바이스(411)를 통해 프로세서(410)에 결합된다. 한 실시예에서, 프로세서(410)는 CPU이다. 대안적 실시예에서, 프로세서(410)는, 그래픽 처리 유닛(GPU), 디지털 신호 프로세서(DSP) 또는 기타 임의의 프로세서이다. 한 실시예에서, 프로세서 주파수 값은 작업 관리자(407)와 스토리지 디바이스(411) 사이에서 전달된다. 한 실시예에서, 스토리지 디바이스(411)는, 운영 체제(OS) 모델 특유의 레지스터(MSR) 모듈, 또는 기타의 스토리지 디바이스를 포함한다. 한 실시예에서, 작업 관리자(407)는 OS MSR 모듈을 통해 프로세서 주파수와 관련된 프로세서 레지스터 값을 획득하고 설정한다.
도 5a는 한 실시예에 따른 전력 인식 론칭 시간 작업 스케쥴러 및 런타임 작업 관리자(501)를 포함하는 데이터 처리 시스템을 나타내는 블록도(500)이다. 전력 인식 론칭 시간 작업 스케쥴러 및 런타임 작업 관리자(501)는, 전력 할당기(509)에 결합된 전력 추정기(508)에 결합된 노드 선택기(507)를 포함한다. 전력 인식 작업 스케쥴러 및 관리자(501)는 설비 전력 및 시스템 전력(502) 및 모니터링된 전력(511) 중 적어도 하나를 수신한다. 전력 인식 작업 스케쥴러 및 관리자(501)는, 전력 제한(505) 없는 하나 이상의 작업 및 전력 제한 및 모드 입력(506) 중 적어도 하나를 갖는 하나 이상의 작업을 수신한다. 설비 전력 및 시스템 전력(502)은 인터페이스(512)를 통한 시스템의 요청에 응답하여 에너지 생산자(504)로부터 수신된다. 인터페이스(512)는, 예를 들어, 요구/응답 인터페이스, 또는 기타 임의의 적절한 인터페이스일 수 있다. 한 실시예에서, 전력 추정기(508)는 전력 캘리브레이션(503)을 이용하여 작업에 대한 전력을 추정한다. 노드 선택기(507)는 설비 전력 및 시스템 전력(502) 및 모니터링된 전력(511) 중 적어도 하나에 기초하여 작업을 실행할 하나 이상의 노드를 선택한다. 전력 할당기(509)는 노드 선택 및 전력 추정치 중 적어도 하나에 기초하여 작업에 대한 전력을 할당한다. 전력 인식 작업 스케쥴러 및 관리자(501)는 작업(510)의 전력 성능을 제어한다.
한 실시예에서, 전력 인식 작업 스케쥴러 및 관리자를 포함하는 자원 관리자는, 작업을 관리하고 전력 예산을 유지하며 전력-제약 에너지 효율을 실시간으로 관리하도록 구성된다.
한 실시예에서, 전력-인식 자원 관리자의 기능은 다음과 같다 :
● 지급된 전력 레벨(provisioned power level) 또는 그보다 약간 낮은 수준에서 시스템의 평균 전력 소비를 유지하면서 작업을 실행한다;
● 모든 할당된 전력을 이용하여 작업의 성능과 에너지 효율성을 최대화한다;
● 수면 상태에서 미사용 자원을 운용함으로써 낭비를 감소시킨다;
● 설비 명세에 대한 전력 소비 램프를 관리한다.
용어의 설명
시스템에 대한 지급된 전력(P SYS )
PSYS는, 계산 노드, IO 노드, 하나 이상의 헤드 노드(예를 들어, OS 노드), 네트워크 스위치, 및 스토리지 시스템을 포함하는 시스템에 대한 전력 할당이다. 한 실시예에서, 요구/응답 인터페이스(512)는 PSYS를 결정한다.
시스템에 대한 가용 전력
전력-인식 스케쥴러는 PSYS를 다양한 작업들에 분배하는 데 이용된다. 분배에 이용할 수 있는 전력은 미리-할당된 전력 및 모니터링에 의존한다. 모니터링 없는 경우: 가용 전력 = (PSYS - 할당된 전력). 모니터링 있는 경우: 가용 전력 = (PSYS - 시스템에 의해 소비된 전력 - 보호 대역).
플랫폼 최대 전력(PMP)
모니터링이 이용되지 않으면, 전력 인식 스케쥴러는 임의의 작업이 이용할 수 있는 최대 전력에 기초하여 전력을 할당하도록 강제된다. 이 최대 작업 전력은 노드의 플랫폼 최대 전력(PMP)에 기초한다. PMP는 최악의 작업부하에 대한 프로그램을 실행함으로써 측정된다.
작업의 시동 전력
작업은, 시작되거나 보류상태로부터 재개하기 위해, 최소 전력 할당 또는 시동 전력을 필요로 한다. 전력 인식 스케쥴러는 시동 전력을 추정한다. 모니터링이 없으면, 시동 전력은 PMP이다. 모니터링이 있다면, 시동 전력은 캘리브레이션에 기초하여 결정될 수 있다. 가용 전력이 시동 전력보다 작을 때, 작업은 시작될 수 없다.
작업에 대한 최소 요구 전력(MRP)
스케쥴러는 불충분한 전력으로 인해 소정 작업을 보류하거나 말소(kill)하지 못할 수 있다. 이러한 "특별" 작업에는, 전력 제한이 없는 작업과 보류될 수 없는 작업의 두 가지 범주가 있다. 전력 인식 스케쥴러는, 잔여 전력을 나머지 작업들에 분배하기 전에 이러한 작업들에 대한 전력을 예약한다. 각각의 "특별" 작업에 대해 예약된 전력의 양을 최소 요구 전력(Minimum Required Power, MRP)이라고 한다. 전력 제한이 있는 작업의 경우, MRP는 PMP 또는 작업부하 최대 전력 중 하나이다. 보류될 수 없는 작업의 경우, MRP는 최저 주파수로 작업을 동작시키는 데 필요한 전력이다. MRP는 다른 모든 작업에 대해 0이다. 한 실시예에서, 전력 제한없이 실행되는 작업은 PSYS의 감소에 의해 영향을 받지 않는다. 보류될 수 있는 작업은 PSYS가 감소할 때 보류될 수 있다. 보류될 수 없는 작업은 최저 주파수로 떨어질 수 있다. PSYS는 시스템이 "특별한" 작업을 계속해서 수행할 수 없을 정도로 낮은 수준까지 떨어질 수도 있다. 이러한 상황은, 유틸리티가 전력 할당을 줄이거나 전력-전달 또는 냉각 인프라스트럭쳐에서 고장이 발생할 때 발생할 수 있다. 인프라의 높은 신뢰성과 가용성을 보장하면서 요구/응답 인터페이스를 이용하여 시스템에 대한 MRP를 전달함으로써 이러한 문제를 피할 수 있다.
작업에 대한 할당된 전력
자원 관리자는 작업에 대한 전력 예산을 할당한다. 할당은 2가지 목적 : a) 시스템에 대한 가용 전력을 결정하는 것, 및 b) 소비된 전력이 할당된 전력과 상당히 다른 경우에 대한 조치를 취하는 것을 위해 이용된다.
표류 전력(Stranded Power)
이상적으로, 작업은 계산을 위해 전체 전력 예산을 이용한다. 실제로, 소비는 더 적을 수 있다. 전력이 작업에 할당되면, 그 전력은 다른 작업에 이용될 수 없다. 작업이 모든 할당된 전력을 이용하지 않을 때, 시스템의 성능이 영향을 받는다. 할당 전력과 실제 소비 사이의 차이가 표류 전력이다. 표류 전력은 미사용이고 이용불가능하여 시스템 수행을 생성할 수 없으므로, 낭비된다. 여기서 설명된 전력 인식 작업 스케쥴러 및 관리자는 표류 전력을 최소화한다.
시스템에 대한 전력(P SYS ) 결정
한 실시예에서, PSYS는, 설비에 대한 전력 할당, 설비 내의 분배 손실, 서버 외부의 전압 변환 손실, 시스템 냉각에 필요한 전력, 또는 이들의 임의의 조합으로부터 유도된다. 다른 실시예에서, PSYS의 값은 스케쥴러 파라미터로서 제공된다.
작업을 실행하는 데 필요한 전력의 추정
스케쥴러가 작업을 시작할 수 있기 이전에, 얼마나 많은 전력이 필요한지가 추정된다. 전력 추정치는 다음과 같은 조건들 중 적어도 하나에 의해 결정된다 : a) 노드의 전력 및 성능 캘리브레이션, b) 작업 레벨 전력을 모니터링하는 능력, 및 c) 사용자에 대한 전력을 제한하는 전력 정책의 사용자 선택.
노드 캘리브레이션
데이터 처리 시스템이 수 천개의 "동일한" 노드를 이용할 수 있지만, 전력 및 성능 특성은 노드들 사이에서 크게 다를 수 있다(오류! 참조 소스가 발견되지 않음.). 하드웨어 및 환경의 변화로 인해 동일한 주파수에서 동일한 작업을 실행하는 동일한 노드의 전력 소비 수준이 달라질 수 있다. 반대로, 하드웨어 전력 제한 메커니즘이 각각의 노드의 소비가 동일하도록 강제할 경우, 이들 노드의 성능은 달라질 수 있다. 노드-레벨 전력 및 성능 캘리브레이션은, 전력 인식 작업 스케쥴러가 더 양호한 결정을 위해 덜 보수적인 전력 추정치를 생성할 수 있게 한다. 한 실시예에서, 최악의 작업부하에 대해 프로그램이 실행되고, 각각의 동작 주파수에서 각각의 노드의 PMP가 측정된다. 또 다른 실시예에서, 프로세서 주파수는 복수의 대표적 미니-애플리케이션에 걸쳐 변화된다. 각각의 주파수에 대해, 평균 전력, 최대 전력, 전력 편차 및 작업 완료 시간이 데이터베이스에 저장된다.
작업 전력 추정
노드 캘리브레이션 데이터베이스는 작업 전력을 추정하는 데 이용된다. 동적 전력 모니터링이 없으면, 스케쥴러는 작업이 PMP를 요구한다고 추정해야 한다. 모니터링은 폐-루프 제어 및 PMP보다 작은 전력 추정치를 제공한다. 전력 모니터링을 이용하면, 제한된 제어 놉(control knob)들을 갖는 유연하지 않은 정책도 추정치를 작업부하 최대 전력에 기초할 수 있다. 유연한 제어는, 동적인 작업 전력 관리를 가능하게 한다. 시동 전력은 작업부하 평균 전력이 된다. 스케쥴러는 또한, 보류될 수 없는 작업에 대한 최소 요구 전력(MRP)을 추정할 필요가 있다. 스케쥴러는 각각의 노드에 대한 추정치를 단순히 합산하여 작업 추정치를 생성한다. 이 프로세스는 샘플 작업부하와 실제 작업부하 사이의 차이를 고려함으로써 개선될 수 있다.
작업 전력 할당에 대한 사용자 선호사항
사용자는 작업 우선순위와 전력 및 에너지 정책을 명시할 수 있다. 예시적인 정책은 다음과 같다: a) 작업이 전력 제한을 받아야하는지의 여부; b) 작업이 보류될 수 있는지의 여부; c) 전력 제한을 갖는 작업에 대해, 사용자는 또한, 제한을 시행할 복수의 모드들 중 하나를 선택한다.
작업 전력을 제한 내에 유지하는 방법들
사용자는 작업 전력이 제한될 수 있는지를 나타낸다. 한 실시예에서, 작업 전력은, 도 2와 관련하여 설명된 바와 같이, 사용자에 의한 모드의 선택에 기초하여 전력 제한 내에서 유지된다.
도 5b는 한 실시예에 따른 데이터 처리 시스템을 동작시키는 방법(520)의 플로차트이다. 동작 521에서, 전술된 바와 같이, 작업에 대한 모드의 선택이 수신된다. 동작 522에서, 작업에 대한 가용 전력이 모드에 기초하여 결정된다. 한 실시예에서, 가용 전력은, 모니터링된 전력, 추정된 전력, 및 캘리브레이트된 전력 중 적어도 하나에 기초하여 결정된다. 동작 523에서, 작업용 주파수는 가용 전력에 기초하여 결정된다. 동작 524에서 작업을 요구되는 전력량이 결정된다. 동작 525에서, 전력은 요구된 전력에 기초하여 작업에 대해 할당된다. 한 실시예에서, 전력은 작업에 대한 평균 전력에 기초하여 할당된다. 동작 526에서, 할당된 전력이 조정되는지가 결정된다. 대안적 실시예에서, 시스템에 대한 전력 할당이 변경되거나, 작업에 의해 소비된 전력이 전력 할당치와는 상이하거나(예를 들어, 보호 대역을 넘어서거나), 작업이 종료되거나, 고장이 발생하거나, 또는 이들의 임의의 조합의 경우에 조절이 필요하다. 할당된 전력이 조정되어야 한다고 결정되면, 할당된 전력은 동작 527에서 조정된다. 할당된 전력이 조정되지 않는다고 결정되면, 방법(520)은 동작 522로 복귀한다.
한 실시예에서, 사용자 입력에 기초하여, 전력 인식 스케쥴러 및 관리자(501)는 작업을 시작하는 데 필요한 전력의 추정치(시동 전력)를 결정한다. 이 추정치는 노드 캘리브레이션 및 작업이 보류되는 것이 허용되어 있는지에 기초한다. 그 다음, 스케쥴러는 가용 전력을 체크한다. 가용 전력이 시동 전력과 같거나 크다면 스케쥴러가 작업을 시작한다. 동적 모니터링이 이용가능할 때, 소정 전력 정책들, 예를 들어, 자동 모드에서, 시스템의 모든 노드들에 의해 이용되는 균일한 주파수는 전력 헤드룸에 기초하여 주기적으로 변경될 수 있다. 한 실시예에서, 더 일찍 시작된 작업은 추가적인 전력 헤드룸을 이용하는 데 있어서 더 높은 우선순위를 갖는다. 전력 예산 및 균일한 주파수의 재평가는 런타임 동안에 주기적으로 수행된다. 가용 전력은 모든 작업을 계속 실행될 수 없을 정도로 많이 떨어질 수 있다. 이 경우 전력 인식 작업 스케쥴러는 보류될 수 있는 작업들의 목록으로부터 최저 우선순위의 작업을 선택한다. 한 실시예에서, 작업의 보류 이후에 할당된 전력이 증가할 때, 보류된 작업이 재개된다.
한 실시예에서, 모니터링이 없다면, 실제 소비가 최악의 한계를 초과하지 않도록 작업에 충분한 전력을 할당함으로써 전력 및 냉각각의 시스템의 무결성이 보장될 수 있다. 이러한 시나리오의 경우, 추정되는 작업 전력은 PMP에 기초한다.
한 실시예에서, 사용자는 작업이 중단없이 완료될 때까지 실행될 필요가 있거나, 작업이 보류될 수 없다고 명시할 수 있다. 체크-포인팅을 구현하지 않는 작업은 일반적으로 이 범주에 속한다. 전력 인식 스케쥴러는 작업의 연속적 동작을 위한 최소 요구 전력(MRP)을 추정한다. 가용 전력은 MRP를 고려할 필요가 있다. 시스템 내의 요구되는 전력의 총계는, PSYS가 총계된 MRP 아래로 떨어지지 않도록 추적되고 요구/응답 인터페이스를 통해 전달된다.
한 실시예에서, 전력은 작업 우선순위에 기초하여 작업에 대해 할당된다. 한 실시예에서, 먼저 시작되거나 스케쥴링된 작업은 더 높은 우선순위를 갖는 것으로 가정된다. 또 다른 실시예에서, 작업 우선순위는 사용자에 의해 명시된다. 대안적 실시예에서, 작업에 전력을 할당하기 위해 다른 우선순위 메커니즘이 이용된다.
한 실시예에서, 전력 인식 작업 스케쥴러 및 관리자는 미리결정된 제한 내에서 전력 소비의 변화율을 유지하도록 구성된다. 한 실시예에서, 전력 인식 작업 스케쥴러 및 관리자는 할당된 전력의 소비를 최대화하고 표류 전력을 최소화하도록 구성된다. 한 실시예에서, 전력 인식 작업 스케쥴러 및 관리자는 유휴 자원에 의해 이용되는 전력을 감소시켜 에너지 효율을 향상시키고 계산을 위한 가용 전력을 증가시키도록 구성된다. 한 실시예에서, 전력 인식 작업 스케쥴러 및 관리자는 가능한 많은 작업을 스케쥴하기 위해 PSYS 내에 적합하도록 최선의 후보를 식별 및 스케쥴링하도록 작업 큐를 심층적으로 조사하도록 구성된다.
도 5c는 한 실시예에 따른 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법(530)의 플로차트이다. 동작 531에서, 하나 이상의 작업이 모니터링된다. 동작 532에서, 작업에 대한 가용 전력이 결정된다. 동작 533에서, 작업이 실행될 수 있도록 가용 전력이 충분한지가 결정된다. 가용 전력이 작업이 실행되기에 충분하지 않다면, 방법(530)은 동작 531로 복귀한다. 작업이 실행될 수 있다면, 동작 534에서, 작업용 주파수가 가용 전력에 기초하여 결정된다. 동작 534에서, 전력은 주파수에 기초하여 작업에 대해 할당된다. 동작 536에서, 할당된 전력이 제1 임계치보다 큰지가 결정된다. 할당된 전력이 제1 임계치보다 크다면, 작업의 주파수가 감소된다. 할당된 전력이 제1 임계치보다 크지 않으면, 방법(530)은 동작 531로 복귀한다. 동작 538에서, 할당된 전력이 제2 임계치보다 작은지가 결정된다. 할당된 전력이 제2 임계치보다 작다면, 동작 539에서, 작업용 주파수가 증가된다. 할당된 전력이 제2 임계치보다 작지 않다면, 방법(530)은 동작 531로 복귀한다.
도 6은 한 실시예에 따른 전력 모니터링이 이용가능할 때 4개의 작업 모드에 대해 균일한 주파수를 설정하는 알고리즘을 나타내는 테이블(600)을 도시한다. 열(601)은, 작업 파라미터, 예를 들어, 작업에 대한 가용 전력(606), 작업이 시작될 수 없는 조건 또는 작업이 보류되는 때(607), 작업용 주파수(608), 보류될 수 없는 작업에 대한 최소 요구 전력(609), 작업에 대한 할당된 전력(610), 및 작업용 주파수가 재조정될 수 있는지의 표시(611)를 포함한다. 열(602)은 고정 주파수 모드(모드 A)에 대한 작업 파라미터를 도시한다; 열(603)은 최소 전력 모드(모드 B)에 대한 작업 파라미터를 도시한다; 열(604)은 최대 전력 모드(모드 C)에 대한 작업 파라미터를 나타내고, 열(605)은 자동 모드(모드 D)에 대한 작업 파라미터를 나타낸다. 한 실시예에서, 동일한 작업을 실행하는 모든 노드에서 균일한 주파수 설정이 이용된다.
한 실시예에서, 모드 A에 대해, 사용자는 작업을 실행하기 위해 고정 주파수를 명시한다. 현재 시스템 전력 소비(Pconsumed)가 설비 전력 제한(Psys) 아래이고 시스템이 사용자가 명시한 고정 주파수로 실행되는 작업을 수용할 수 있다면, 전력 인식 스케쥴러 및 관리자는 작업 론칭기에게 작업을 론칭하도록 표시한다. 작업에 대한 가용 전력은, 시스템 전력, 소비된 전력, 및 보호 대역의 차이로서 결정된다. 가용 전력(Pavailable)이 사용자가 선택한 주파수에서 작업의 최대 전력(Max)보다 작다면 작업이 시작될 수 없거나 보류될 필요가 있다. 보류될 수 없는 작업의 최소 요구 전력은 선택된 주파수에서의 최대 전력이다. 보류될 수 있는 작업의 경우 최소 요구 전력은 0이다. 작업에 대해 할당된 전력은 선택된 주파수에서의 최대 전력이다. 이 모드에서, 사용자는 사용자가 선택한 주파수로 작업이 실행될 필요가 있다고 선택했기 때문에, 작업을 실행하는 노드의 주파수는 변경되지 않는다.
모드1b의 경우 : 사용자는 작업을 실행하기 위해 필요한 최소 전력(Pmin)을 명시한다. 가용 시스템 전력(시스템의 잔여 전력 헤드룸)이 Pmin보다 크다면, 전력 인식 스케쥴러 및 관리자는 작업 론칭기에게 작업을 론칭할 것을 나타낸다. 작업에 대한 가용 전력은, 시스템 전력, 소비된 전력, 및 보호 대역의 차이로서 결정된다. 가용 전력(Pavailable)이 사용자가 설정한 최소 전력(Pmin)보다 작거나, 가용 전력이 가능한 최저 주파수 상태(Pn) 에서 작업이 실행될 때의 평균 전력보다 작다면, 작업은 시작될 수 없거나 보류될 필요가 있다. 주파수는 계산된 주파수이다. 한 실시예에서, 주파수는 작업에 의해 소비된 평균 전력이 Pavailable보다 작거나 같은 최대 주파수로서 계산된다. 보류될 수 없는 작업의 최소 요구 전력은 최소 작업 전력(Pmin)이다. 보류될 수 있는 작업의 경우 최소 요구 전력은 0이다. 작업에 대해 할당된 전력은, 최소 요구 전력과 계산된 주파수에서의 평균 전력 중 최대값이다. 새로운 주파수에서 작업이 소비한 전력이 Pavailable보다 작거나 같은 한 작업의 주파수가 조정될 수 있다.
모드 C의 경우: 사용자는 작업을 실행할 최대 전력(Pmax)을 명시한다. 작업에 대한 가용 전력은, 시스템 전력, 소비된 전력, 및 보호 대역의 차이로서 결정된다. 최저 주파수 상태(Pn)에서 동작하는 작업에 의해 소비되는 최대 전력이 Pmax보다 크다면, 작업이 시작될 수 없거나 보류될 필요가 없다. 주파수는 계산된 주파수이다. 한 실시예에서, 주파수는, 작업부하 최대 전력이 Pavailable 및 Pmax 중 최소값보다 작거나 같은 최대 주파수로서 계산된다. 보류될 수 있는 작업에 대한 최소 요구 전력은 0이다. 보류될 수 없는 작업의 경우, 최소 요구 전력은 최저 주파수 상태(Pn)에서 동작하는 동안 작업부하 최대 전력이다. 보류될 수 있는 작업의 경우 최소 요구 전력은 0이다. 작업에 대해 할당된 전력은 계산된 주파수에서의 최대 전력과 Pmax 중 최소값이다. 새로운 주파수에서 소비되는 작업부하 최대 전력이 Pavailable과 Pmax 중 최소값보다 작은 한 이 모드에서 작업에 대한 주파수가 조정될 수 있다.
모드 D의 경우 : 전력 인식 스케쥴러 및 관리자는 현재 시스템 전력 할당치 및 시스템에서 실행중인 작업에 의한 전력의 소비에 기초하여 작업에 대한 주파수를 자동으로 선택한다. 전력 인식 스케쥴러 및 관리자는 작업에 대한 잔여 전력 헤드룸을 결정한다. 헤드룸에 영향을 줄 수 있는 복수의 정책이 있다. 한 실시예에서, 최대 처리량은 시스템 전력 헤드룸에 영향을 주는 정책으로서 이용된다. 작업에 대한 가용 전력은, 시스템 전력, 소비된 전력, 및 보호 대역의 차이로서 결정된다. 작업이 최저 주파수 상태(Pn)에서 실행되는 동안 Pavailable이 평균 전력보다 작다면 작업이 시작될 수 없거나 보류될 필요가 있다. 주파수는 계산된 주파수이다. 한 실시예에서, 주파수는 평균 전력이 Pavailable보다 작거나 같은 최대 주파수로서 계산된다. 보류될 수 있는 작업에 대한 최소 요구 전력은 0이다. 보류될 수 없는 작업의 경우, 최소 요구 전력은 최저 주파수 상태(Pn)에서 동작하는 동안 작업부하 최대 전력이다. 작업에 대해 할당된 전력은, 최소 요구 전력과 계산된 주파수에서의 평균 전력 중 최대값이다. 작업의 주파수는 그 주파수에서의 작업의 평균 전력이 Pavailable보다 작은 최대 주파수로 조정할 수 있다.
도 7은 한 실시예에 따른 전력 모니터링이 이용가능하지 않을 때 4개의 작업 모드에 대해 균일한 주파수를 설정하는 알고리즘을 나타내는 테이블(700)을 도시한다. 열 701은, 작업 파라미터, 예를 들어, 작업에 대한 가용 전력(706), 작업이 시작될 수 없는 조건 또는 작업이 보류되는 때(707), 작업용 주파수(708), 보류될 수 없는 작업에 대한 최소 요구 전력(709), 작업에 대한 할당된 전력(710), 및 작업용 주파수가 재조정될 수 있는지의 표시(711)를 포함한다. 열 702는 고정 주파수 모드(모드 A)에 대한 작업 파라미터를 도시한다; 열 703은 최소 전력 모드(모드 B)에 대한 작업 파라미터를 도시한다; 열 704는 최대 전력 모드(모드 C)에 대한 작업 파라미터를 나타내고, 열 705는 자동 모드(모드 D)에 대한 작업 파라미터를 나타낸다. 한 실시예에서, 동일한 작업을 실행하는 모든 노드에서 균일한 주파수 설정이 이용된다.
한 실시예에서, 모드 A에 대해, 사용자는 작업을 실행하기 위해 고정 주파수를 명시한다. 작업에 대한 가용 전력은, 시스템 전력과 할당된 전력 사이의 차이로서 결정된다. 가용 전력(Pavailable)이 사용자가 선택한 주파수에서 플랫폼 최대 전력(PMP)보다 작다면 작업이 시작될 수 없거나 보류될 필요가 있다. 보류될 수 없는 작업에 대한 최소 요구 전력은 선택된 주파수에서의 PMP 전력이다. 보류될 수 있는 작업의 경우 최소 요구 전력은 0이다. 작업에 대한 할당된 전력은 선택된 주파수에서의 PMP 전력이다. 선택된 주파수는 조정될 수 없다. 이 모드에서, 사용자는 사용자가 선택한 주파수로 작업이 실행될 필요가 있다고 선택했기 때문에, 작업을 실행하는 노드의 주파수는 변경되지 않는다.
Mode B의 경우 : 사용자는 작업을 실행하기 위해 필요한 최소 전력(Pmin)을 명시한다. 작업에 대한 가용 전력은, 시스템 전력과 할당된 전력 사이의 차이로서 결정된다. 가용 전력(Pavailable)이 사용자가 설정한 최소 전력(Pmin)보다 작거나, 가용 전력이 최저 주파수 상태(Pn)에서 동작하는 작업에 대한 PMP보다 작다면, 작업은 시작될 수 없거나 보류될 필요가 있다. 주파수는 계산된 주파수이다. 한 실시예에서, 주파수는 PMP가 Pavailable보다 작거나 같은 최대 주파수로서 계산된다. 보류될 수 없는 작업의 최소 요구 전력은 최소 작업 전력(Pmin)이다. 보류될 수 있는 작업의 경우 최소 요구 전력은 0이다. 작업에 대한 할당된 전력은, 최소 요구 전력과 계산된 주파수에서의 PMP 중 최대값이다. 주파수는 PMP가 Pavailable보다 작은 최대 주파수로 조정될 수 있다.
모드 C의 경우: 사용자는 작업을 실행할 최대 전력(Pmax)을 명시한다. 작업에 대한 가용 전력은, 시스템 전력과 할당된 전력 사이의 차이로서 결정된다. 최저 주파수 상태(Pn)에서의 PMP가 Pavailable보다 크거나 Pn에서의 PMP가 Pmax보다 크다면 작업이 시작될 수 없거나 보류될 필요가 있다. 주파수는 계산된 주파수이다. 한 실시예에서, 주파수는, PMP가 Pavailable과 Pmax 중 최소값보다 작거나 같은 최대 주파수로서 계산된다. 보류될 수 없는 작업에 대한 최소 요구 전력은 최저 주파수 상태, Pn 상태에서의 PMP이다. 보류될 수 있는 작업의 경우 최소 요구 전력은 0이다. 작업에 대해 할당된 전력은 계산된 주파수에서의 PMP와 Pmax 중 최소값이다. 주파수는 PMP가 Pavailable과 Pmax 중 최소값보다 작은 최대 주파수로 조정될 수 있다.
모드 D의 경우 : 전력 인식 스케쥴러 및 관리자는 현재 시스템 전력 소비 및 기타의 작업 실행 조건에 기초하여 작업을 실행할 주파수를 자동으로 선택한다. 전력 인식 스케쥴러 및 관리자는 작업에 대한 잔여 전력 헤드룸을 결정한다. 헤드룸에 영향을 줄 수 있는 복수의 정책이 있다. 한 실시예에서, 최대 처리량은 시스템 전력 헤드룸에 영향을 주는 정책으로서 이용된다. 작업에 대한 가용 전력은, 시스템 전력과 할당된 전력 사이의 차이로서 결정된다. Pavailable이 최저 주파수 상태(Pn)에 대한 PMP보다 작다면 작업이 시작될 수 없거나 보류될 필요가 있다. 주파수는 계산된 주파수이다. 한 실시예에서, 주파수는 PMP가 Pavailable보다 작거나 같은 최대 주파수로서 계산된다. 보류될 수 없는 작업에 대한 최소 요구 전력은, 최저 주파수 상태인 Pn 상태에서의 PMP이다. 보류될 수 있는 작업의 경우 최소 요구 전력은 0이다. 작업에 대한 할당된 전력은, 최소 요구 전력과 계산된 주파수에서의 PMP 중 최대값이다. 주파수는 PMP가 Pavailable보다 작은 최대 주파수로 조정될 수 있다.
한 실시예에서, 전력 인식 스케쥴러가 한 세트의 계산 노드들에서 실행되는 작업을 시작할 때, 그 작업은 최소 및 최대 전력 한계에 종속될 수 있다. 작업부하 관리자는 작업의 전력 소비가 규정된 제한 내에 유지되는 것을 보장하도록 구성된다. 한 실시예에서, 정확한 고해상도 센서를 이용하는 전력 모니터링은 보호-대역제공(guard banding)에서의 감소를 제공한다. 전형적으로, 전력 제한에 이용되는 보호-대역제공은 표류 전력 및 에너지 효율 저하를 초래한다.
한 실시예에서, 사용자는 일부 작업들이 전력 제한되지 않도록 명시한다. 전력 인식 작업 스케쥴러는 작업이 소비할 수 있는 최대 전력을 추정하고 그 전력이 이용가능할 때만 작업을 시작하는 데 이용된다. 작업부하 관리자는, 표류 전력을 감소시키고 효율을 최대화하기 위해 다른(예를 들어, 전력 제한된) 작업들 사이에서 전력을 재분배하는 데 이용된다. 한 실시예에서, PSYS가 떨어지면, 작업부하 관리자는 이들 지정된 작업들의 전력 할당치가 온전하게 유지되도록 보장해야 한다.
한 실시예에서, 고정 주파수 모드에 대해, 사용자는 작업용 주파수를 명시한다. 사용자 선택은 각각의 주파수에 대한 성능 및 전력을 나타내는 테이블에 기초할 수 있다. 일단 작업이 이 모드에서 시작되고 나면, 주파수는 고정된다. 고정 주파수 모드의 이점은, 작업이 주파수-시프트와 연관된 오버헤드를 발생시키지 않으므로 스케일링가능하다는 것이다. 사용자는 작업이 제출될 때 가용 전력에 따라 주파수를 선택할 수 있다.
또 다른 실시예에서, 사용자는 작업에 대해 미리결정된 양의 전력을 명시한다. 한 실시예에서, 미리결정된 양의 전력은 작업에 대한 최소 전력이다. 또 다른 실시예에서, 전력의 양은 작업에 대한 최대 전력이다. 최소 전력, 최대 전력, 또는 양쪽 모두는 전력-성능 테이블 및 작업에 대해 요청된 노드의 수에 기초하여 계산된다. 가용 전력에 기초하여, 스케쥴러는 작업에 대한 최상의 주파수를 계산한다. 동적 전력 모니터링이 이용될 때, 작업부하 관리자는 가용 전력의 증가 또는 감소에 기초하여 작업이 실행되는 동안 주파수를 높이거나 낮출 수 있다. 가용 전력이 명시된 최소 전력 임계치 아래로 떨어지면, 작업이 보류되거나 종료된다. 최소-전력 모드와 최대-전력 모드의 이점은, 사용자가 올바른 주파수를 추측해야 하는 부담을 감소시켜 주는 것이다. 둘째, 동적 전력 모니터링에 의해, 작업부하 관리자는 주파수를 높힘으로써 성능을 향상시킬 수 있다. 주파수는 작업을 실행하는 동안 작업부하에 의해 소비되는 전력에 기초하여 변경할 수 있다. 한 실시예에서, 작업을 시작하기 위해, 전력 인식 스케쥴러는 전술된 바와 같이 전력 요건의 캘리브레이션 및 추정에 의존한다.
또 다른 실시예에서, 자동 모드는 사용자들이 그들의 작업에 의해 이용될 전력 또는 주파수를 추정할 필요성을 제거한다. 균일한 주파수 선택은 가용 전력에 기초하여 자동화된다. 동적 전력 모니터링에 의해, 작업부하 관리자는 전력 헤드룸에 기초하여 주기적으로 균일한 주파수를 조정한다. 자동 모드는 모든 가용 주파수에서 작업이 동작하는 것을 허용한다. 사용자-정의된 최소 작업 전력 요건이 없으므로, 최저 주파수로 작업을 실행할 수 있는 전력이 충분한 한, 작업을 시작하고 계속할 수 있다. 자동 모드의 이점은, 작업량이 충분한 전력을 위해 대기하거나 전력 가용성에서의 감소로 인해 보류될 확률을 감소시킨다는 것이다. 자동 모드는 자원 이용 및 처리량을 증가시킨다. 사용자는 전력 제한을 감소시키고 더 많은 작업을 실행하여 모든 하드웨어 자원을 이용할 수 있다.
고정 주파수 및 최소-전력 모드 외에도, 최소 및/또는 최대 주파수, 및 최소 및/또는 최대 전력을 이용하는 다양한 변형이 있을 수 있다. 주파수와 전력에 대한 설정을 결합하는 모드가 있을 수 있다. 이들 모두는 사용자 계산 및 실험을 요구한다. 자동 모드는 이러한 부담을 없애고 많은 시나리오에서 최상의 성능을 제공한다.
한 실시예에서, 전력 인식 스케쥴러 및 관리자는 론칭 시간에서 및 프로그램가능한 간격에서 실행된다. 호출시마다, 전력 인식 스케쥴러 및 관리자는 각각의 작업에 대해 전력 한도(Pavailable)을 재계산한다. 이것은, 앞서 논의된 바와 같이, 동적 전력 한도설정 및 규제를 가능하게 한다. 한 실시예에서, 작업에 대한 평균 전력을 유지하는 기간(Taverage) 및 제어 기간(Tcontrol)이 정의된다. 각각의 제어 기간에서, 전력 예산, 전력 할당 및 주파수 선택 중 적어도 하나가 재평가된다. 한 실시예에서, Tcontrol은 Taverage의 1/10이다. Taverage는 프로그램가능하다. 설비가 평균 전력을 15분 이상 유지할 필요가 있다고 가정하면, 작업에 대한 Taverage는 9초가 된다. 최소/최대 전력 및 자동 모드의 경우, 제어 시스템은 균일한 주파수가 변경될 필요가 있는지를 약 900 밀리초마다 평가한다.
도 8은 한 실시예에 따른 전력 인식 스케쥴러 및 관리자에 대한 전력 여유폭을 나타낸다. 도 8에 도시된 바와 같이, (예를 들어, 동작 주파수 Fo에서 실행되는) 작업에 대한 전력 할당(903)은 작업의 실제 전력 소비가 상위 임계치(높은 전력 여유폭)(901)를 초과하지 않도록 하는 것이다. 실행중인 작업에 대한 전력 할당(903)은 작업의 실제 전력 소비가 하위 임계치(낮은 전력 여유폭)(902)보다 낮지 않도록 하는 것이다. 작업 전력 소비가 높은 여유폭(901)보다 크다면 동작 주파수 Fo가 감소된다. 작업 전력 소비가 낮은 여유폭(902)보다 낮다면 동작 주파수 Fo가 증가된다.
한 실시예에서, 주파수 진동을 방지하기 위해, 낮은 전력 여유폭(902)은, 한 빈(bin) 더 높은 주파수에서의 작업에 대한 평균 전력 P(Fo + 1)과 현재 주파수 Fo에서의 작업에 대한 평균 전력 Pfo 사이의 차이로서 설정된다. 한 빈 높은 주파수는, Fo보다 한 빈만큼 높은 주파수다. 현재 주파수 Fo로부터 한 빈 더 높은 주파수로의 홉핑은, 전력 한도를 초과하는 전력 소비를 초래하므로, 전력 인식 스케쥴러 및 관리자가 주파수를 올리기로 선택하지 않는다. 한 실시예에서, 높은 전력 여유폭(901)은 최대 작업부하 전력과 평균 작업부하 전력 사이의 차이로서 설정된다. 또 다른 실시예에서, 높은 전력 여유폭(901)은 평균 작업부하 전력에 관한 평균 편차로서 설정된다. 한 실시예에서, 전력 여유폭은 플랫폼 최대 전력(PMP)과 현재 주파수(Fo)에서의 평균 전력(Pavg) 사이의 차이로서 설정된다.
한 실시예에서, 높은 전력 여유폭(901)은 전력 측정의 2배의 정확도와 실질적으로 동일하게 설정된다. 동작 주파수 Fo는 작업에 대한 전력 할당이 감소할 때 감소된다. 또 다른 실시예에서, 높은 전력 여유폭(901)은 작업에 대한 현재 전력 소비 레벨 + Fo보다 한 빈만큼 낮은 주파수에서의 전력 소비와 실질적으로 동일하게 설정된다. 한 실시예에서, 낮은 전력 여유폭(902)은 작업에 대한 현재 전력 소비 레벨 + Fo보다 한 빈만큼 높은 주파수에서의 전력 소비와 실질적으로 동일하게 설정된다.
도 9a는 한 실시예에 따른 전력 인식 작업 스케쥴러 및 관리자가 작업에 대한 전력을 동적으로 할당하기 위한 캘리브레이션 테이블의 예를 도시하는 도면이다. 테이블(911)은 상이한 주파수들에서의 계산 노드당, 작업부하당 작업에 대한 평균 전력을 포함하는 캘리브레이션 테이블의 예이다. 테이블(912)은 상이한 주파수들에서의 계산 노드당, 작업부하당 작업에 대한 최대 전력을 포함하는 캘리브레이션 테이블의 예이다. 테이블(913)은 상이한 주파수들에서의 계산 노드당 PMP를 포함하는 캘리브레이션 테이블의 예이다. 한 실시예에서, PMP는, 모든 플랫폼이 최대량의 전력을 소비하게 하는 특별한 작업부하를 이용하여 결정된, 노드가 인출할 수 있는 플랫폼 최대 전력이다. 때때로 이러한 작업부하를 전력 바이러스라고 한다.
도 9b는 한 실시예에 따른 작업에 전력을 할당하는 방법(920)의 플로차트다. 동작 930에서, 시스템에 할당된 전력(Psys)이 결정된다. 동작 931에서, 시스템에 의해 소비된 전력(Pcsys)이 결정된다. 동작 932에서, Pcsys가 Psys와 제1 시스템 보호 대역(SystemGurdband1) 사이의 차이보다 크고 Psys와 제2 시스템 보호 대역(SystemGuardband2)의 합보다 작은지가 결정된다. Pcsys가 Psys와 제1 시스템 보호 대역(SystemGurdband1) 사이의 차이보다 크고 Psys와 제2 시스템 보호 대역(SystemGuardband2)의 합보다 작다면, 동작 933에서, 작업이 이용가능한지가 결정된다. 작업이 이용가능하다면, 동작 934에서, 작업에 대한 전력 헤드룸이 생성된다. 예를 들어, 작업에 대한 전력 헤드룸은 노드 또는 다른 하드웨어 자원의 이용을 최대화하도록 생성된다. 작업이 이용가능하지 않다면, 방법(930)은 동작 930으로 복귀한다. Pcsys가 Psys와 제1 시스템 보호 대역(SystemGurdband1) 사이의 차이보다 크지 않고 Psys 및 제2 시스템 보호 대역(SystemGuardband2)의 합보다 작지 않다면, 동작 935에서, Pcsys가 Pys보다 작은지가 결정된다. Pcsys가 Psys보다 작다면, 동작 937에서, 작업이 선택된다. 한 실시예에서, 작업은 가용 전력에 기초하여 선택된다. Pcsys가 Psys보다 작지 않다면, 동작 936에서, 작업에 대한 전력 할당이 감소된다.
도 9c는 또 다른 실시예에 따른 작업에 전력을 할당하는 방법(940)의 플로차트이다. 동작 941에서, 다른 작업들 중에서 최고 우선순위를 갖는 작업을 식별한다. 한 실시예에서, 작업을 식별하는 것은 작업의 우선순위를 다른 작업의 우선순위와 비교하는 것을 수반한다. 한 실시예에서, 작업 우선순위는 큐 내의 작업의 위치에 기초하여 식별된다. 또 다른 실시예에서, 작업 우선순위는 작업이 실행되는 주파수에 기초하여 식별된다. 예를 들어, 미리결정된 주파수(예를 들어, 최저 주파수, 다른 작업에 비해 최고 주파수, 또는 기타의 미리결정된 주파수)를 갖는 작업은 최고 우선순위를 가질 수 있다. 또 다른 실시예에서, 작업 우선순위는 작업이 실행되고 있는 노드의 수에 기초하여 식별된다. 예를 들어, 미리결정된 수의 노드(예를 들어, 최대 수의 노드, 최소 수의 노드 또는 기타의 미리결정된 수의 노드)에서 실행중인 작업은 최고 우선순위를 갖는 것으로 식별된다. 또 다른 실시예에서, 작업 우선순위는 작업에 의해 소비되는 전력에 기초하여 식별된다. 예를 들어, 미리결정된 전력(예를 들어, 최대량의 전력, 최소량의 전력, 또는 기타의 미리결정된 양의 전력)을 소비하는 작업은 최고 우선순위를 갖는 것으로 식별된다. 역시 또 다른 실시예에서, 작업 우선순위는 작업이 실행되는 시간에 기초하여 식별된다. 예를 들어, 미리결정된 시간(예를 들어, 최장 시간, 최단 시간, 또는 기타의 미리결정된 기간)을 실행하는 작업은 최고 우선순위를 갖는 것으로 식별된다. 동작 942에서, 작업이 최대 주파수에서 실행되는지가 결정된다. 작업이 최대 주파수에서 실행되면, 방법 940은 동작 941로 복귀한다. 작업이 최대 주파수에서 실행되지 않는다면, 동작 943에서 추가 전력이 작업에 할당된다. 동작 944에서, 작업의 주파수가 증가된다.
도 9d는 한 실시예에 따른 작업에 대한 전력을 감소시키는 방법(950)의 플로차트이다. 동작 951에서, 시스템에 대한 전력 감소가 결정된다. 동작 952에서, 현재의 작업에 대한 전력 할당이 감소될 수 있는지가 결정된다. 현재 작업에 대한 전력 할당이 감소될 수 없다면, 동작 955에서, 현재 작업이 보류된다. 현재 작업에 대한 전력 할당이 감소될 수 있다면, 동작 953에서, 하나 이상의 다른 작업에 대한 전력 할당이 감소될 수 있는지가 결정된다. 하나 이상의 다른 작업들에 대한 전력 할당이 감소될 수 없다면, 동작 956에서, 현재 작업에 대한 전력 할당은 시스템에 대한 전력 할당에 기초하여 감소된다. 하나 이상의 다른 작업들에 대한 전력 할당이 감소될 수 있다면, 동작 954에서, 현재 작업 및 하나 이상의 다른 작업들을 포함하는 작업 그룹에 대한 전력 할당이 감소된다. 한 실시예에서, 작업 그룹에 대한 전력 할당은 한번에 하나의 작업씩 감소된다. 또 다른 실시예에서, 전력 할당은 그룹 내의 모든 작업에 대해 실질적으로 동시에 감소된다.
도 9e는 한 실시예에 따른 작업을 종료하는 방법(960)의 플로차트이다. 동작 961에서, 시스템에 의해 소비되는 전력((Pcsys)이 모니터링된다. 동작 962에서, 시스템에 의해 소비된 전력((Pcsys)이 시스템에 할당된 전력(Psys)보다 작은지가 결정된다. Pcsys가 Psys보다 작지 않다면, 동작 963에서, 현재 작업에 대한 우선순위가 다른 작업의 우선순위보다 낮은지가 결정된다. 현재 작업의 우선순위가 다른 작업들의 우선순위보다 낮다면, 동작 965에서, 작업이 중지된다. 현재 작업의 우선순위가 다른 작업들의 우선순위보다 낮지 않다면, 동작 964에서, 큐에 다음 작업이 있는지가 결정된다. 한 실시예에서, Pcsys가 Psys보다 크다고 결정되면, 동작 964가 수행된다. 큐에 다음 작업이 있다면, 방법(960)은 동작 963으로 되돌아 간다. 큐에 다음 작업이 없다면, 동작 966에서, 시스템이 턴오프된다. 한 실시예에서, 작업 우선순위는 큐 내의 작업의 위치에 기초하여 식별된다. 또 다른 실시예에서, 작업 우선순위는 작업이 실행되는 주파수에 기초하여 식별된다. 역시 또 다른 실시예에서, 작업 우선순위는 작업이 실행되고 있는 노드의 수에 기초하여 식별된다. 또 다른 실시예에서, 작업 우선순위는 작업에 의해 소비되는 전력에 기초하여 식별된다. 역시 또 다른 실시예에서, 전술된 바와 같이, 작업 우선순위는 작업이 실행되는 시간에 기초하여 식별된다.
도 9f는 한 실시예에 따른 더 많은 작업을 수용하기 위해 전력을 재조정하는 방법(970)의 플로차트이다. 동작 971에서, 하나 이상의 작업이 모니터링된다. 동작 972에서, 현재의 작업에 대한 전력 할당이 감소될 수 있는지가 결정된다. 현재 작업에 대한 전력 할당이 감소될 수 있다면, 방법은 동작 971로 되돌아 간다. 현재 작업에 대한 전력 할당이 감소될 수 있다면, 동작 973에서, 작업이 최소 주파수보다 큰 주파수에서 실행되는지가 결정된다. 작업이 최소 주파수보다 크지 않은 주파수에서 실행된다면, 방법은 동작 971로 복귀한다. 작업이 최소 주파수보다 큰 주파수에서 실행되면, 동작 974에서, 큐의 다음 작업에 대한 전력 추정치가 결정된다. 동작 975에서, 전력 헤드룸이 다음 작업에 이용가능한지가 결정된다. 전력 헤드룸이 다음 작업에 이용가능하다면, 동작 976에서, 다음 작업이 수용된다. 전력 헤드룸이 다음 작업에 이용가능하지 않다면, 방법(970)은 동작 973으로 되돌아 간다.
도 9g는 또 다른 실시예에 따른 작업에 대한 전력을 감소시키는 방법(980)의 플로차트이다. 동작 981에서, 소비된 시스템 전력(Pcsys)이 할당된 시스템 전력(Psys)보다 크다고 결정된다. 동작 982에서, 작업의 동작 주파수(Fo)가 최소 동작 주파수(Fmin)보다 큰지 또는 작업 전력이 그 작업에 대한 최소 전력보다 큰지가 결정된다. Fo가 Fmin보다 크지 않으면, 작업은 동작 987에서 보류된다. Fo가 Fmin보다 크다면, 작업에 대한 전력 감소가 동작 983에서 결정된다. 동작 984에서, 작업에 대한 전력 할당은 전력 감소에 기초하여 감소된다. 동작 985에서, 전력 헤드룸이 작업을 실행하기에 충분한지가 결정된다. 전력 헤드룸이 작업을 실행하기에 충분하다면, 동작 986에서, 이용가능한 다음 작업이 존재하는지가 결정된다. 전력 헤드룸이 작업을 실행하기에 충분하지 않다면, 동작 988에서, 작업이 보류된다. 다음 작업이 있다면, 방법(980)은 동작 982으로 복귀한다. 다음 작업이 없다면, 동작 999에서, 시스템이 전력 오프된다.
한 실시예에 따른 전력 인식 작업 스케쥴러 및 관리자를 포함하는 데이터 처리 시스템을 동작시키는 예시적 설계 작업 흐름이 이하에 도시된다. 간소화를 위해 2개의 작업 관리자 정책만이 이용된다. 데이터 처리 시스템의 분야의 통상의 기술자라면, 2개보다 많은 작업 관리자 정책이 이용될 수 있다는 것을 이해할 것이다.
1. 캘리브레이터
1.1.1. 입력
1.1.2. 작업부하: 실행할 명령
1.1.3. 노드들의 목록 (N1, N2...Nn)
1.1.2. 실행 명령은 노드당 # 코어 및 노드의 수에 기초하여 수정된다
1.1.3. 주파수들의 목록 (F1, F2, ... Fn)
1.2. 데이터베이스에 보관된 출력
1.2.1. 각각의 주파수에 대해
1.2.1.1 전력(작업부하-최대, 작업부하-평균)
1.2.1.2 온도(작업부하-최대, 작업부하-평균)
1.2.1.3 완료 시간
2. 추정기-P (전력 추정기)
2.1 입력
2.1.1 작업부하: 사용자는 (애플리케이션에 더 가까운 샘플 작업부하들의 목록으로부터) 작업부하를 표시한다
2.1.2 노드들의 목록 (M1, M2...Mn)
2.1. 3 주파수들의 목록 (F1, F2, ... Fn)
2.2 출력
2.2. 1 각각의 주파수에 대해
2.2.1.1 전력(작업부하-최대, 작업부하-평균, 작업부하-최소(예약된 전력)); 예약된 전력 : 최저 주파수에서 작업을 계속 실행하는 데 필요한 전력(최소 전력)
2.2.1.2 온도(작업부하-최대, 작업부하-평균)
2.2.1.3 완료 시간
3. 추정기-F (주파수 추정기)
3.1 입력
3.1.1 작업부하: 사용자는 (애플리케이션에 더 가까운 샘플 작업부하들의 목록으로부터) 작업부하를 표시한다
3.1.2 노드들의 목록 (N1, N2...Nn)
3.1.3 가용 전력
3.1.4 전력 레벨 (PMP, WorkloadMax, WorkloadAverage)
하나의 파라미터만 정의되고 다른 것들은 0이다.
3.2 출력
3.2.1 동작의 주파수 FS,
3.2.2 작업전력 @ FS, JobPower @F(S-1), 작업전력 @ F(S+1);
FS = 제안된 주파수; F(S+1) = 제안된 주파수보다 하나 더 큰 주파수; FS = 제안된 주파수보다 하나 더 작은 주파수;
4. 전력 인식 스케쥴러 및 작업 관리자
가정:
1. 전력 모니터링이 이용가능하다.
2. 노드들은 하나의 차용을 가진다. 노드는 한 번에 하나의 작업만 실행한다. 동일한 노드에서 코어들은 복수의 작업에 걸쳐 분할되지 않는다.
4.1 입력
4.1.1 작업
4.1.1.1 작업 전력 제한 (예/아니오)
4.1.1.2 작업이 보류될 수 있는가 (예/아니오)
4.1.1.3 (1:2) 사이의 작업관리자 정책 #
이것은 더 많은 전력 정책이 추가되면 바뀔 것이다,
작업관리자 정책 #1 : 사용자가 작업에 대한 동작 주파수를 선택한다.
작업관리자 정책 #2 : 자동 모드(작업관리자는 전력 헤드룸에 기초하여 작업의 주파수를 선택/수정한다)
전력 인식 스케쥴러
(A) PSYS : 시스템에 할당된 전력
(B) PCSYS : 시스템에 의해 소비되는 전력
(C) SysGuardband(1 : 2) : 시스템 레벨 제어 이벤트를 약화시키는 값
a. PSYS보다 낮을 때 - 예로서 10% 더 낮을 때 SysGuardband1 여유폭
b. PSYS보다 높을 때 - 예로서 1% 더 높을 때 SysGuardband2 여유폭
(D) PJOB: 작업에 할당된 전력
(E) PCJOB: 작업에 의해 소비된 전력
1.1 PSYS - SystemGuardband1 < PCSYS < PSYS + SystemGuardband2 인가 (시스템이 할당치보다 작은 전력을 소비하고 있는가?)
a. 예 ->
i. 큐 내에 실행 준비된 (새로운 또는 보류된) 작업이 있는가? 준비된 실행은 전력을 제외한 모든 자원을 갖고 있다는 것을 의미한다
A. 예 1.13으로 가서 새로운/보류된 작업에 대한 헤드룸을 생성하기 위해 실행중인 작업들의 전력을 감소시킨다
B. 아니오 1.1로 가서 계속 모니터링
b. 아니오 -> 1.2로 계속한다
1.2 PCSYS < PSYS 인가?
a. 예; 재개(보류된 작업 또는 새로운 작업을 시작) 또는 실행중인 작업에 더 많은 전력을 할당; 1.3으로 간다(복수의 접근법이 가능)
b. 아니오; 시스템이 더 많은 전력을 소비; 작업들에 대한 할당을 감소; 1.10으로 간다.
1.3 할당할 전력이 더 있는 경우 실행할 준비가 된 최고 우선순위 작업(다음 작업) 선택; (복수의 접근법이 가능)(여기서는 2가지 가능성이 있다. (a) 새로운 작업의 우선순위와 보류된 작업의 우선순위를 비교하고 더 높은 쪽을 시작/재개하거나 (b) 보류된 작업을 재개한다, 즉, 보류된 작업이 우선순위가 더 높다고 가정한다).
a. 보류된 작업을 재개하기를 원하는가?
i. 예, 다음 작업은 최고 우선순위의 보류된 작업이고 1.6으로 간다
ii. 아니오, 1.4로 계속한다
1.4 새로운 작업이 시작될 수 있는가? (이것은, 가능한 한 많은 작업을 실행하기 위해 최대한 많은 노드를 이용하는 것이 더 낫다는 것을 나타내는 정책이 이용된다고 가정한다. 이것은 할당된 전력이 복수의 작업에 걸쳐 팬케이크 처리됨을 의미한다(복수의 접근법이 가능)
a. 예, 1.5로 계속한다
b. 아니오, 1.9로 간다
1.5 작업이 전력 제한을 받는가?
a. 예 -> 1.6으로 계속한다
b. 아니오 -> 다음과 같이 설정 JobProfile = PMP, JobFrequency = Fmax; 1.7로 간다
1.6 작업 관리자 정책
a. 작업관리자 정책 #1의 경우, JobProfile을 설정 (목록으로부터 사용자 선택됨 0 참조)
JobFrequency = FUserSeiected; 1.7a로 간다
b. 작업관리자 정책 #2의 경우, JobProfile을 설정 (목록으로부터 사용자 선택됨 0 참조); 1.7c로 간다
1.7 작업에 전력을 할당하고 동작의 주파수를 선택
a. 추정기-P로부터 전력을 얻는다(작업부하 = JobProfile, 주파수 = JobFrequency, 노드들의 목록); JobPower 출력
b. (JobPower > (PSYS + SystemGuardband2 - PCSYS)인가? (사용자는 작업관리자 정책 #1에 대해 소정 주파수를 선택했지만 이 모드에 실행할 충분한 전력이 없다)
i. 예, 질행중인 작업의 전력을 감소시키기 위해 1.10로 간다 (실행중인 작업의 전력을 감소시켜 새로운 작업 수용할 수 있다) 이것이 실패하면 새로운 작업을 시작할 충분한 전력이 없다고 말한다. (복수의 접근법이 가능)
ii. 아니오, 1.8로 간다
c. 자동 모드에서 실행할 작업의 경우
i. 추정기-F로부터 주파수를 얻음(작업부하 = JobProfile, 가용 전력 = (PSYS-SystemGuardband1-PCSYS), 전력 레벨 = WorkloadAverage), 예상 출력 JobFrequency & JobPower(이것은 또한, 주파수를 높이거나 낮추어야 할 때 작업에 대한 전력 레벨을 제공한다).
1.8 작업으로의 전력 할당과 함께 작업을 론칭 PJOB = JobPower; 주파수 = JobFrequency. 1.1로 간다
1.9 (새로운 작업이 시작될 수 없어서 실행중인 작업에 더 많은 전력을 할당)
a. 초과 전력 = PSYS - SystemGuardband1 - PCSYS
b. 이미 실행중이고 자동 모드(JobManager 정책 # 2)에서 실행중인 더 높은 우선순위의 작업을 식별; 작업 X라 한다.
c. 작업 X 주파수 = FMAX인가? (작업이 이미 최대 주파수에서 실행중인가)
i. 예, 우선순위에서 다음 작업을 얻고 1.9c로 간다(이러한 모든 작업을 소진했다면, 이것은 새로운 작업이나 더 높은 성능의 기존 작업을 실행하기 위해 이용할 수 없는 초과 전력을 갖고 있다는 것을 의미하며, 이 경우 여기서 중단한다).
ii. 아니오, 계속한다
d. 작업 X에 추가 전력을 할당,
i. 추정기-F를 이용하여 작업에 대한 가용 전력을 증가시킴으로써 새로운 주파수와 새로운 작업 전력 확보. 작업 X에 대한 새로운 가용 전력 = 초과 전력 + 작업 X에 대한 구 JobPower(복수의 접근법이 가능)(대신에 한 스텝씩 주파수를 높일 수 있다)
e. 1.7c.i로 간다.
1.10 (작업에 대한 전력을 감소시키는 방법) PCSYS > PSYS + SystemGuardband2(즉, 하나 이상의 작업에 의한 전력 소비가 예상을 초과했다) 또는 PSYS가 이전 값으로부터 감소했기 때문에 여기에 있다. (복수의 접근법이 가능)
a. 전력에서의 요구되는 감소 = PCSYS - PSYS.
b. 임의의 작업이 자동 모드에서 실행중인가?
i. 예 ; 1.10c로 가서 자동 모드의 작업에 대한 전력을 감소
ii. 아니오, 작업에 대한 전력을 감소시킬 기회가 없으며 1.11로 가서 작업들을 보류한다.
c. 모든 작업들에 대한 전력을 동시에 감소?
i. 예, 1.14로 가서 자동 모드의 모든 작업에 대한 전력 할당을 감소
ii. 아니오, 한번에 하나의 주파수에서 하나의 작업의 전력을 감소, 단순히 다음 단계로 계속
d. 이미 실행중이고 자동 모드에서 실행중인 최저 우선순위의 작업을 식별(작업관리자 정책 #2). 작업 Y라고 한다.
e. 작업 Y 주파수 = FMIN인가? (작업이 이미 최저 주파수에서 실행중인가)
i. 예, 다음으로 더 높은 우선순위의 작업을 얻고 1.10e로 간다(이러한 모든 작업을 소진한다면, 이것은 임의의 작업에 의한 전력 소비를 감소시킬 수 없다는 것을 의미하고 이를 위해 작업을 보류할 필요가 있고 1.11로 간다
ii. 아니오, 계속한다(작업 Y는 FMIN보다 높은 주파수에서 실행중이므로 주파수를 감소시킬 수 있다).
f. 작업 Y에 대한 전력 할당을 감소
g. 작업 Y - 작업 Y JobPower@F(S-1))-> ≥ (PCSYS - PSYS)인가?
i. 예이면, 작업 Y에 대한 PJOB = 작업 Y에 대한 구 PJOB - JobPower @F(S-1),
ii. 아니오라면,
A. 작업 Y(- JobPower@F(S-1))? < (PCSYS-PSYS)
B. 자동 모드에서 실행중인 모든 작업들의 전력을 (PCSYS < PSYS)일때까지 하나씩 감소
C. 한 번에 한 주파수씩 자동 모드의 작업들의 주파수를 감소시킬 때까지 또는 작업이 FMIN에 도달할 때까지 이 프로세스를 반복.
D. (자동 모드의) 모든 작업이 FMIN에 도달했고, 여전히 (PCSYS > PSYS)이면, 1.11로 가서 하나 이상의 작업을 보류.
1.11 (작업 보류) (PCSYS > PSYS)이고 자동 모드의 모든 작업이 FMIN에서 동작하기 때문에 여기에 있다. PCSYS를 감소시키기 위하여 작업을 보류할 필요가 있다(복수의 접근법이 가능)
a. 보류될 수 있는 더 낮은 우선순위 작업을 식별하고(고정 주파수 또는 자동 모드) 그 작업을 보류.
b. 새로운 PCSYS = 구 PCSYS - 보류된 작업에 의해 소비된 전력.
c. 새로운 PCSYS가 PSYS 아래인지를 체크. 아니라면, 1.11a로 간다.
d. (보류될 수 있고 여전히 (PCSYS > PSYS)인) 모든 작업을 보류한다면, 보류되고 재개될 수 없는 작업을 말소할 필요가 있다.
1.12 (보류될 수 없는 작업을 종료) 보류될 수 없는 작업을 중단할 필요가 있기 때문에 여기에 있다. 가정; 보류될 수 있는 작업은 모두 이미 다음과 같다.
a. 보류될 수 없는 더 낮은 우선순위 작업을 식별하고 그 작업을 중단(말소).
b. 새로운 PCSYS가 PSYS 아래인지를 체크. 아니라면, 1.12a로 간다.
c. 모든 작업을 중단했고 여전히 (PCSYS > PSYS)이면, 시스템을 전력 오프할 필요가 있다.
1.13 (더 많은 작업을 수용하기 위해 전력을 재조정): (새로운 또는 보류된) 작업을 실행하기 위해 이용가능한 노드들이 있지만 PCSYS가 PSYS에 가깝기 때문에 여기에 있다. 이것은 전력 헤드룸이 아니다. 작업을 실행하기 위해 전력 헤드룸이 생성될 수 있는지를 체크할 수 있다.
a. 자동 모드에서 실행중인 임의의 작업이 있는가?
i. 예, 1.13b로 계속한다
ii. 아니오, 1.1로 간다
b. FMIN보다 높은 주파수에서 실행중인 자동 모드의 임의의 작업이 있는가?
i. 예, 1.13c로 계속한다
ii. 아니오, 1.1로 간다
c. (새로운 또는 보류된) 큐 내의 다음 작업에 대한 전력의 추정치(JobPowerForNext)를 얻는다(다음 작업이 자동 모드를 선호한다면, FMIN 상태에 대한 전력)
d. 헤드룸 = JobPowerForNext를 생성하기 위하여 모든 실행중인 작업들에 대한 전력 할당을 감소할 필요가 있다.
i. 자동 모드의 각각의 작업에 대해 소비된 전력 및 주파수를 얻음
ii. 새로운 작업이 시작되는 동안 모든 실행중인 작업들은 FMIN에서 동작하거나 더 높은 주파수에서 동작하도록, 자동 모드에서 실행중인 모든 작업에 대한 전력이 그들의 현재 전력 소비에 비례하여 감소될 수 있는지를 추정. (비례성은 현재 전력 소비, 노드 수 또는 우선순위에 기초할 수 있다)
iii. 충분한 전력 헤드룸이 있는가?
A. 예, 자동 모드의 작업들에 대한 전력을 감소시키고 1.1로 간다.
B. 아니오, 큐를 실행할 준비된 다음 작업을 체크하고 1.13c로 간다. 큐가 끝날 때까지 이것을 철저히 한다. 큐가 끝나면 1.1로 간다
1.14 (PCSYS > PSYS 때문에 자동 모드의 작업들에 대한 전력을 감소)
a. FMIN보다 높은 주파수에서 실행중인 자동 모드의 임의의 작업이 있는가?
i. 예, 1.14b로 계속한다
ii. 아니오; 자동 모드의 작업에 대한 전력을 감소시킬 기회가 없다. 이를 위해 작업을 보류시키도록 1.11로 간다.
b. 전력에서의 요구되는 감소, ReducePower = (PCSYS - PSYS -SytemGuardband1)
c. 헤드룸 =ReducePower를 생성하기 위하여 모든 실행중인 작업에 대한 전력 할당을 감소시킬 필요가 있다
i. 자동 모드의 각각의 작업에 대해 소비된 전력 및 주파수를 얻음
ii. 새로운 작업이 시작되는 동안 모든 실행중인 작업들은 FMIN에서 동작하거나 더 높은 주파수에서 동작하도록, 자동 모드에서 실행중인 모든 작업에 대한 전력이 그들의 현재 전력 소비에 비례하여 감소될 수 있는지를 추정. (비례성은 현재 전력 소비, 노드 수 또는 우선순위에 기초할 수 있다)
iii. 충분한 전력 헤드룸이 있는가?
A. 예, 자동 모드의 작업들에 대한 전력을 감소시키고 1.1로 간다
B. 아니오; 작업을 보류하고 1.11로 갈 필요가 있다
도 9ha 내지 도 9hc는 한 실시예에 따른 전력 인식 작업 스케쥴러 및 작업 관리자를 제공하는 방법(990)의 플로차트이다. 방법(990)의 일부 동작은 전술된 전력 인식 스케쥴러 작업 흐름의 동작 항목을 참조한다. 동작 991에서, 사용자로부터의 하나 이상의 입력이 수신된다. 동작 992에서, Pcsys가 Psys와 하위 시스템 보호 대역(SysGuardband1) 사이의 차이보다 크고 Psys와 상위 시스템 보호 대역(SysGuardband2)의 합보다 작은지가 결정된다(전력 인식 스케쥴러, 항목 1.1). Psys-SysGuardband1 < Pcsys < Psys + SysGuardband2 인 경우, 동작 993에서, 큐에 작업이 있는지가 결정된다. 큐에 작업이 없다면, 방법(990)은 동작 991로 복귀한다. Pcsys가 Psys와 하위 시스템 보호 대역(SysGuardband1) 사이의 차이보다 크지 않고 Psys와 상위 시스템 보호 대역(SysGuardband2)의 합보다 작지 않으면, 동작 994에서, Pcsys가 Psys보다 작은지가 결정된다(전력 인식 스케쥴러, 항목 1.2).
동작 993에서 큐에 작업이 있다고 결정된다면, 더 많은 작업을 수용하도록 전력 헤드룸을 생성하기 위해 전력을 재조정하는 방법(전력 인식 스케쥴러, 항목 1.13)이 수행된다. 이것은 자동 모드의 작업이 있는지를 동작 995에서 결정하는 것을 포함한다(전력 인식 스케쥴러, 항목 1.13). 자동 모드의 작업이 없다면, 방법(990)은 동작 991로 복귀한다. 자동 모드의 작업이 있다면, 동작 996에서, 작업의 동작 주파수가 최소 주파수 FMIN보다 큰지가 결정된다(전력 인식 스케쥴러, 항목 1.13b). 작업의 동작 주파수가 최소 주파수보다 크지 않다면, 실행중인 작업에 대한 전력을 감소시킬 수 있는 기회가 없다는 것을 의미하며, 방법(990)은 동작 991로 복귀한다.
작업의 동작 주파수가 최소 주파수보다 크다면, 다음 작업(새로운 작업 또는 보류된 작업)에 요구되는 전력 헤드룸의 양이 결정된다(전력 인식 스케쥴러, 항목 1.13c). 동작 998에서, 가용 전력(P 헤드룸)이 자동 모드의 작업에 대한 전력 감소보다 작은지가 결정된다(전력 인식 스케쥴러, 항목 1.13c). 가용 전력(P 헤드룸)이 작업에 대한 전력 감소보다 작다면, 동작 1020에서, 작업에 대한 할당된 전력(Jauto 전력)이 감소된다. 동작 999에서, 작업이 론칭되고, 방법은 동작 991로 복귀한다.
가용 전력(P 헤드룸)이 작업에 대한 전력 감소보다 작지 않다면, 동작 997에서, 새로운 작업 또는 보류된 작업 중 적어도 하나가 존재하는지가 결정된다. 새로운 작업 또는 보류된 작업이 없다면, 방법(990)은 동작 998로 복귀한다(전력 인식 스케쥴러, 항목 1.13c). 새로운 작업 또는 보류된 작업 중 적어도 하나가 있다면, 방법(990)은 동작 991로 복귀한다.
동작 994에서 Pcsys가 Psys보다 작지 않다고 결정되면, 작업들에 대한 전력을 감소시키는 방법(전력 인식 스케쥴러, 항목 1.10)이 수행된다. 전력 감소 Pred는 Pcsys-Psys-SystemGuardband1 사이의 차이로서 결정되고, 동작 1037에서, 자동 모드에서 작업이 존재하는지가 결정된다(전력 인식 스케쥴러, 항목 1.10b). 자동 모드에서 작업이 없다면, 작업에 대한 전력을 감소시킬 기회가 없고, 작업이 보류되고(전력 인식 스케쥴러, 항목 1.11) 방법(900)은 동작 1033으로 진행하여 보류될 작업을 식별한다.
자동 모드의 작업이 있다면, 동작 1040에서, 작업 그룹에 대한 전력을 감소시킬 것인지가 결정된다. 작업 그룹에 대해 전력을 감소시키려면, 자동 모드의 작업에 대한 전력을 감소시키는 방법(전력 인식 스케쥴러, 항목 1.14)이 수행된다. 동작 1041(전력 인식 스케쥴러, 항목 1.14a)에서, FMIN보다 높은 주파수에서 실행되는 작업이 존재하는지가 결정된다. FMIN보다 높은 주파수의 작업이 있다면, 자동 모드에서 실행중인 모든 작업에 대해 가능한 전력 감소(Predauto)가 결정된다(전력 인식 스케쥴러, 항목 1.14b).
동작 1043에서, Predauto가 Pred보다 큰지가 결정하고, 동작 1042에서 전력이 감소되고, 방법(990)은 동작 991로 복귀한다. Predauto가 Pred보다 크지 않다면, 방법(990)은 동작 1033으로 간다. FMIN보다 큰 주파수에서 실행중인 작업이 없다면, 동작 1033에서, 우선순위가 최저 우선순위를 갖는 활성(실행중인) 작업이 결정된다. 동작 1033에서, 최저 우선순위를 갖는 작업이 보류된다. 동작 1031에서, Pcsys가 Psys보다 작은지가 결정된다. 만일 그렇다면, 방법은 동작 991로 되돌아 간다. Pcsys가 Psys보다 작지 않다면, 동작 1034에서, 전력이 보류될 수 있는 모든 작업들이 보류되는지가 체크된다. 만일 보류될 수 있는 모든 작업들이 중단되는 것은 아니라면, 방법은 작 동작 1033으로 복귀하여 큐 내의 다음 작업을 보류한다. 보류될 수 있는 모든 작업이 보류되었다면, 방법(990)은, 시스템 전력 소비(Pcsys)가 시스템 할당치(Psys) 아래로 감소될 수 있도록 작업을 말소할 최저 우선순위를 갖는 작업을 결정하는 것을 수반하는 동작 1028로 간다.
동작 1027A에서, 최저 우선순위를 갖는 작업이 말소되고, 그 다음, 방법(990)은 Pcsys < Psys인지 여부를 결정하는 것을 수반하는 동작 1027로 간다. Pcsys가 Psys보다 작다면, 방법(990)은 동작 991로 되돌아 간다. Pcsys가 Psys보다 작지 않다면, 동작 1029에서, 임의의 활성 작업이 있는지가 결정된다. 활성 작업이 있다면, 방법(990)은 동작 1028로 되돌아 간다. 어떠한 활성 작업도 없다면, 시스템은 동작 1030에서 전력 오프된다.
만일 동작 1040에서 모든 작업들에 대한 전력을 감소시키지 않기로 결정된다면, 동작 1036에서, 전력은 최저 우선순위를 갖는 작업으로 감소된다. 동작 1035에서, Pcsys < Psys인지가 결정된다. Pcsys가 Psys보다 작다면, 방법(990)은 동작 991로 복귀한다. Pcsys가 Psys보다 작지 않다면, 방법(990)은 동작 1033으로 간다.
동작 994에서 Pcsys가 Psys보다 작다고 결정되면, 동작 1021시에 새로운 작업 및 보류된 작업들의 목록으로부터 최고 우선순위의 작업을 선택하는 것을 수반하는 작업에 더 많은 전력을 할당하는 방법이 수행된다(전력 인식 스케쥴러, 항목 1.3). 동작 1022에서, 최고 우선순위의 작업이 보류된 작업인지가 결정된다(전력 인식 스케쥴러, 항목 1.3.a.i). 최고 우선순위 작업이 보류된 작업이면, 동작 1023에서, 작업의 정책이 자동 모드인지가 결정된다(전력 인식 스케쥴러, 항목 1.6). 작업의 정책이 자동 모드라면, 작업용 주파수 추정 및 전력 추정이 결정되고(전력 인식 스케쥴러, 항목 1.7c), 동작 1026에서, 작업이 론칭되고(전력 인식 스케쥴러, 항목 1.8), 방법(990)은 동작 991로 되돌아 간다.
동작 1023에서 작업의 정책이 자동 모드가 아니라고 결정된다면, 작업에 대한 전력 추정치(작업부하 타입, 주파수, 노드)가 결정된다(전력 인식 스케쥴러, 항목 1.7a). 그 다음, 전력 추정치가 Psys + SysGuardBand2 - Pcsys보다 큰지가 결정된다(전력 인식 스케쥴러, 항목 1.7b). 전력 추정치가 Psys + SysGuardBand2 - Pcsys보다 크다면, 방법(990)은 동작 1037로 가서 작업에 대한 전력을 감소시키는 방법을 수행한다(전력 인식 스케쥴러, 항목 1.10). 전력 추정치가 Psys + SysGuardBand2 - Pcsys보다 크지 않으면, 방법(990)은 동작 1026으로 가서 작업을 론칭한다(전력 인식 스케쥴러, 항목 1.8).
동작 1022에서 최고 우선순위의 작업이 중지된 작업이 아니라고 결정되면, 새로운 작업이 시작될 수 있는지를 결정하는 동작을 수반하는 동작 1024이 수행된다(전력 인식 스케쥴러, 항목 1.4). 새로운 작업이 시작될 수 있다면, 동작 1025에서, 작업이 전력 제한에 종속되어 있는지가 결정된다(전력 인식 스케쥴러, 항목 1.5). 작업이 전력 제한을 받는다면, 방법(990)은 동작 1023으로 간다. 새로운 작업이 시작될 수 없다면, 방법(900)은 동작 1044로 간다. 동작 1044에서, 큐 내에 더 이상의 새로운 작업, 보류된 작업, 또는 양쪽 모두가 존재하는지가 체크된다. 존재한다면, 동작 1021은 우선순위에 의한 다음 작업을 선택하기 위해 수행된다. 큐 내에 더 이상의 작업이 존재하지 않는다면, 동작 1023으로부터 방법은 동작 1038로 간다. 초과 전력은 Psys - SystemGuradBand1 - Pcsys로서 결정되고, 방법(990)은 작업이 있는지를 결정하는 것을 수반하는 동작 1038로 간다. 초과 전력이 있어서 새로운 작업이 시작될 수 없기 때문에, 초과 전력은 시스템에서 이미 실행중인 작업에 할당된다. 작업이 존재하면, 동작 1039에서, 현재 작업의 주파수가 최대 주파수와 동일한지가 판단된다. 현재 작업의 주파수가 최대 주파수와 동일하다면, 방법(990)은 동작 1038로 복귀하여 다음 작업을 체크한다.
현재 작업 주파수가 최대 주파수와 같지 않다면, 현재 작업 주파수 및 할당된 전력이 증가되고 방법(990)은 동작 1026으로 간다. 동작 1038에서 모든 작업이 체크되었다면, 방법(990)은 동작 991로 되돌아 간다. 동작 1025에서 작업이 전력 제한을 받지 않는다고 결정된다면, 작업 프로파일이 설정되고(PMP, 최대의 작업 주파수) 작업에 대한 전력이 추정기로부터 할당된다(전력 인식 스케쥴러, 항목 1.7a).
도 10은 한 실시예에 따른 전력 모니터링을 동반하거나 동반하지 않는 시스템의 성능의 예를 도시한다. 고정 주파수 모드, 최소 전력 모드 및 자동 모드가, 작업에 대해 균일한 주파수를 선택하는 데 이용되었다. 그래프(1001)는, 전력 모니터링의 유무에 따른, 작업에 대한 CPU 주파수(1002) 대 가용 시스템 전력(Psys)(1003)을 도시한다. 그래프(1010)는, 전력 모니터링의 유무에 따른, 작업(1011) 대 가용 시스템 전력(Psys)(1012)을 완료하는 시간을 도시한다. 성능은 작업을 완료하기 위한 벽시계 시간으로서 측정되기 때문에, 수치가 낮을수록 성능은 양호하다. 실선(1004, 1005, 1006)은 모니터링을 동반한 CPU 주파수를 도시하고 점선(1007, 1008, 1009)은 모니터링을 동반하지 않는 CPU 주파수를 도시한다. 실선(1016, 1017 및 1018)은 모니터링을 동반한 작업을 완료하는 시간을 나타내고, 점선(1013, 1014 및 1015)은 모니터링을 동반하지 않는 작업을 완료하는 시간을 나타낸다.
그래프(1010 및 1001)에 도시된 바와 같이, 자원 관리자는 모든 모드의 모든 전력 한계에서 모니터링함으로써 더 양호한 성능을 얻는다. 혜택은 최대 40%까지 이를 수 있다. 자동 모드는, 고정 주파수 및 최소 전력 모드에 비해 최저 가용 전력에서 작업이 시작될 수 있게 한다. 자동 모드의 자동적 균일한 주파수의 조정은 가용 전력의 이용을 최대화한다. 자동 모드의 작업은, 고정 주파수 모드에서의 주파수보다 약 40% 높은 균일한 주파수에서 동작할 수 있다. 또한, 3가지 경우의 실선은 대응하는 점선보다 Y 축에 더 가까이서 시작한다. 이것은, 모니터링을 통해 스케쥴러가 더 낮은 시스템 전력 한계로 작업을 시작할 수 있다는 것을 나타낸다.
도 11은 한 실시예에 따른 상이한 모드들에서 동시에 실행되는 작업들을 갖는 혼합 모드 구성을 나타내는 테이블(1100)을 도시한다. 열 1102는 작업 1(작업부하 Lulesh(Pr1))이 전력 제한없이 2개의 노드에서 실행되는 것을 도시한다. 열 1103은 작업 2(작업부하 Qbox(Pr2))가 고정 주파수 모드에서 2개의 노드에서 실행되는 것을 도시한다. 열 1104는, 작업 3(작업부하 MCB(Pr3))이 4개 노드에서, 행 1105의 사례 1의 경우에는 고정 주파수로 실행되고, 행 1106의 사례 2의 경우에는 자동 모드로 실행되는 것을 도시한다.
도 12a 및 도 12b는 한 실시예에 따른 도 11에 도시된 혼합 모드 구성의 결과를 도시한다. 그래프 1200은 사례 1 및 사례 2의 경우에서 3개의 작업에 대한 주파수 대 시간을 도시한다. 그래프 1201은 사례 1 및 사례 2의 경우에서 3개의 작업에 대한 전력 소비 대 시간을 도시한다. 그래프 1202는 사례 1 및 사례 2의 경우에서 3개의 작업에 대한 표류 전력 대 시간을 도시한다.
도 11 및 도 12a 및 도 12b에 도시된 바와 같이, 혼합 모드 기술은 작업 성능을 최대화하면서 복수의 작업에 대해 상이한 모드를 동시에 이용할 수 있는 유연성을 제공한다. 도 11 및 도 12a 및 도 12b에 도시된 바와 같이, 작업 3은 사례 1에서는 고정 주파수 모드로, 사례 2에서는 자동 모드로 실행된다. 사례 2에서, 작업 1이 38초에 완료되면, 작업 1에 의해 해제된 전력이 추가 전력 헤드룸을 제공하여 전력을 할당하고 작업 3의 주파수를 2.9GHz로 증가시킨다. 그 결과, 작업 3은 고정 주파수 모드(사례 1)보다 자동 모드에서 더 빨리 완료된다. 그래프 1201은 전체 실행에 대한 전력 소비가 CPU 주파수와 비슷한 패턴을 따르는 것을 도시한다. 그래프 1202는 사례 1 및 사례 2에서의 총 전력 소비 및 결과적인 표류 전력을 도시한다. 도 12a 및 도 12b의 사례 1에 도시된 바와 같이, 시스템은 모든 가용 전력을 소비하지는 않으므로, 표류 전력은 620W까지 이르고 작업 3은 늦게 완료된다. 사례 2에서, 시스템 전력 소비는 꾸준하고 1870W의 PSYS 값에 더 근접하여(표류 전력은 겨우 약 340W) 작업 3이 더 빨리 완료되게 한다.
도 13은 한 실시예에 따른 동시에 실행되는 상이한 모드들의 2개의 작업을 갖는 구성을 나타내는 테이블(1300)을 도시한다. 열 1301은, 사례 1 및 2 양쪽 모두에 대해 전력 제한없이 4개의 노드에서 작업 1이 작업부하 MCB(Pr1)을 실행하는 것을 도시한다. 열 1302는, 사례 1(행 1303)에서는 고정 주파수 모드로, 및 사례 2(행 1304)에서는 자동 모드로 4개의 노드에서 작업 2가 작업부하 MCB(Pr1)를 실행하는 것을 도시한다. 테이블 1300에 도시된 바와 같이, 사례 1과 사례 2 각각은 동시에 실행되는 2개의 작업을 가진다. 두 경우의 차이점은, 작업 2가 사례 1에서는 2.0GHz의 고정 주파수에서 실행되고 사례 2에서는 자동 모드에서 실행된다는 것이다.
도 14는 한 실시예에 따른 도 13에 도시된 구성에 미치는 시변 시스템 전력 제한(Psys)의 효과를 나타낸다. 그래프 1401는 사례 1에 대한 주파수 대 시간을 나타낸다. 그래프 1402는 사례 2에 대한 주파수 대 시간을 나타낸다. 도 14에 도시된 바와 같이, 자동 모드에서, Psys가 시간에 따라 변하면, 각각의 작업에 대한 전력 한도 및 균일한 주파수 설정이 동적으로 조정된다. 그래프들(1401 및 1402)에 도시된 바와 같이, Psys가 감소하면, 사례 1의 작업 2는 보류되고, 사례 2의 작업 2는 더 낮은 주파수에서 계속 실행되어 사례 1의 작업 2보다 빨리 완료된다.
도 15는 한 실시예에 따라 도 13에 도시된 2개의 경우에 대한 시변 PSYS의 효과를 도시한다. 그래프 1501는, 사례 1에 대한 소비된 총 전력, 표류 전력 및 Psys 대 시간을 나타낸다. 그래프 1502는, 사례 2에 대한 소비된 총 전력, 표류 전력 및 Psys 대 시간을 나타낸다. 도 15에 도시된 바와 같이, 사례 2에서, 실제 전력 소비는 시간에 따라 변하는 PSYS에 더 가깝고 표류 전력은 제로에 가깝게 머문다. 표류 전력은 때때로 짧은 기간 동안 음(negative)으로 간다. PSYS는 비교적 긴 기간에 걸쳐 유지되는 평균 전력인 반면, 전체 전력은 훨씬 더 짧은 기간 동안 모니터링된다. PSYS는 장기간에 걸쳐 유지될 것으로 예상되며, Psys 이상의 총 전력의 작은 편차는 더 긴 시간-평균이 명시된 시스템 전력 제한 아래에서 머무는 한 용인된다.
도 16은 한 실시예에 따른 다양한 PSYS에 대한 자동 모드에서 실행중인 작업의 적응성을 나타낸다. 그래프 1601는, 한 실시예에 따른, 고정 주파수 모드에서의 작업에 대한 CPU 주파수(곡선 1604), 자동 모드의 작업에 대한 CPU 주파수(곡선 1603), 및 시간에 대한 PSYS(곡선 1605)를 도시한다. 그래프 1601에 도시된 바와 같이, 작업에 대한 CPU 주파수는 PSYS가 증가할 때 증가된다. 그래프 1601에 도시된 바와 같이, 자동 모드의 작업은 고정 주파수 모드의 작업보다 약 18% 일찍 완료된다.
그래프 1602는, 한 실시예에 따른, 총 전력 소비(곡선 1612), 고정 주파수 모드에서의 작업의 전력 소비(곡선 1611), 자동 모드에서의 작업의 전력 소비(곡선 1614), 및 시간에 대한 Psys 곡선(1613))을 도시한다. 그래프 1602에 도시된 바와 같이, 자동 모드에서의 작업의 완료 시간은 고정 주파수 모드에서의 작업의 완료 시간에 비해 약 18%만큼 감소했다. 자동 모드에서의 작업의 소비 전력은 고정 주파수 모드에서의 작업의 소비 전력에 비해 약 17%만큼 증가된다. 자동 모드에서의 작업과 연관된 에너지는 고정 주파수 모드에서의 작업에 비해 약 4%만큼 감소된다.
도 17은 한 실시예에 따른 동일한 작업부하 대 가용 시스템 전력(Psys)의 경우 고정 주파수 모드의 작업용 주파수에 대한 자동 모드에서의 작업용 주파수의 비율을 도시하는 도면이다. 곡선들(1701, 1702, 1703, 1704, 및 1705)은 상이한 작업부하들을 갖는 상이한 작업들에 대응한다. PSYS의 범위는, 제약되지 않은 작업부하 전력의 약 50% 내지 약 100%가 되도록 선택된다. 도 17에 도시된 바와 같이, 자동 모드의 실행되는 작업은 주파수에서 40%까지의 증가를 야기한다. 이 범위에서 작업은 자동 모드에서만 시작할 수 있기 때문에 1200W와 1700W 사이에는 데이터 포인트가 없다. 도 17에 도시된 바와 같이, 자동 모드는 모든 작업부하에 대해 고정 주파수 모드를 능가한다.
도 18은 한 실시예에 따른 고정 주파수 모드에서의 작업에 비한 자동 모드에서의 작업의 완료 시간의 백분률 증가를 도시하는 그래프(1800)이다. 곡선들(1801, 1802, 1803, 1804, 및 1805)은 상이한 작업부하들을 갖는 상이한 작업들에 대응한다. 도 18에 도시된 바와 같이, 모든 작업부하는 고정 주파수 모드보다 자동 모드에서 더 일찍 완료된다.
도 19는 한 실시예에 따른 데이터 처리 시스템(1900)을 나타낸다. 데이터 처리 시스템 처리(1900)은, 도 1 내지 도 18과 관련하여 여기서 설명된 바와 같이, 전력 인식 작업 스케쥴러 및 관리자를 제공하는 임의의 데이터 처리 시스템을 나타낸다. 대안적 실시예에서, 데이터 처리 시스템(1900)은, 근거리 통신망(LAN), 인트라넷, 엑스트라넷, 또는 인터넷 내의 다른 머신들에 접속(예를 들어, 네트워킹)될 수 있다. 데이터 처리 시스템(1900)은, 클라이언트-서버 네트워크 환경 내의 서버 또는 클라이언트 머신의 용량에서, 또는 피어-투-피어(또는 분산형) 네트워크 환경 내의 피어 머신으로서 동작할 수 있다.
데이터 처리 시스템(1900)은, 개인용 컴퓨터(PC), 태블릿 PC, 셋탑 박스(STB), PDA(Personal Digital Assistant), 셀룰러 전화기, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 데이터 처리 시스템이 취해야 할 동작들을 명시하는 한 세트의 명령어를 (순차적 또는 기타의 방식으로) 실행할 수 있는 머신일 수 있다. 또한, 단일의 데이터 처리 시스템이 도시되어 있지만, "데이터 처리 시스템"이라는 용어는, 여기서 설명된 방법론들 중 임의의 하나 이상을 수행하기 위한 한 세트의(또는 복수 세트의) 명령어를 개별적으로 또는 공동으로 실행하는 임의의 집단의 데이터 처리 시스템을 포함하는 것으로 여겨져야 한다.
프로세서(1904)는, 마이크로 프로세서, 중앙 처리 유닛, 또는 기타의 처리 디바이스 등의 하나 이상의 범용 처리 디바이스를 나타낸다. 더 구체적으로는, 프로세서(1904)는, CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 다른 명령어 세트들을 구현하는 프로세서나 명령어 세트들의 조합을 구현하는 프로세서들일 수 있다. 프로세서(1904)는 또한, 주문형 집적 회로(ASIC; application specific integrated circuit), 필드 프로그래머블 게이트 어레이(FPGA; field programmable gate array), 디지털 신호 프로세서(DSP; digital signal processor), 네트워크 프로세서 등의 하나 이상의 특별-목적 처리 디바이스일 수도 있다. 프로세서(1904)는 도 1 내지 도 18과 관련하여 여기서 설명된 동작을 수행하기 위한 처리 로직을 제어하도록 구성된다.
데이터 처리 시스템(1900)은 다수의 컴포넌트를 포함할 수 있다. 한 실시예에서, 이들 컴포넌트들은 하나 이상의 마더 보드에 부착된다. 대안적 실시예에서, 이들 컴포넌트들은 마더 보드가 아니라 단일의 시스템-온-칩(SoC) 다이 상에서 제작된다. 데이터 처리 시스템(1900)의 컴포넌트들로는, 집적 회로 다이(1902) 및 적어도 하나의 통신 칩(1908)이 포함되지만, 이것으로 제한되는 것은 아니다. 일부 구현 예에서, 통신 칩(1908)은 집적 회로 다이(1902)의 일부로서 제작된다. 집적 회로 다이(1902)는, 프로세서(1904), 임베디드 DRAM(eDRAM) 또는 스핀-전달 토크 메모리(STTM 또는 STTM-RAM) 등의 기술에 의해 제공될 수 있는, 캐시 메모리로서 종종 이용되는, 온-다이 메모리(1906)를 포함할 수 있다.
데이터 처리 시스템(1900)은, 마더 보드에 물리적으로 또는 전기적으로 결합될 수 있거나 결합될 수 없는 또는 SoC 다이 내에 제작되는 다른 컴포넌트들을 포함할 수 있다. 이들 다른 컴포넌트들은, 휘발성 메모리(1910)(예를 들어, DRAM), 비휘발성 메모리(1912)(예를 들어, ROM 또는 플래시 메모리), 그래픽 처리 유닛(1914)(GPU), 디지털 신호 프로세서(1916), 크립토 프로세서(1942)(하드웨어 내에서 암호 알고리즘을 실행하는 전문화된 프로세서), 칩셋(1920), 안테나(1922), 디스플레이 또는 터치 스크린 디스플레이(1924), 터치 스크린 제어기(1926), 배터리(1928) 또는 기타의 전원, 전력 증폭기(PA)(1944), GPS(global positioning system) 디바이스(1928), 나침반(1930), (노드에 의해 소비되는 전력, 시스템에 의해 소비되는 전력 또는 양쪽 모두를 측정하는 전력 센서; 움직임 센서, 또는 기타의 센서를 포함할 수 있는) 하나 이상의 센서(1932), 스피커(1934), 카메라(1936), 사용자 입력 디바이스(1938)(키보드, 마우스, 스타일러스 및 터치 패드 등), 및 대용량 스토리지 디바이스(1940)(하드 디스크 드라이브, 컴팩트 디스크(CD), 디지털 다기능 디스크(DVD) 등)를 포함하지만, 이것으로 제한되지 않는다.
통신 칩(1908)은 데이터 처리 시스템(1900)으로/으로부터의 데이터 전송을 위한 무선 통신을 가능하게 한다. 용어 "무선(wireless)" 및 그 파생어들은, 비-고체 매체를 통한 변조된 전자기 복사(electromagnetic radiation)를 이용하여 데이터를 전달할 수 있는, 회로, 디바이스, 시스템, 방법, 기술, 통신 채널 등을 기술하는 데 사용될 수 있다. 이 용어는 연관된 디바이스가 어떠한 유선도 포함하지 않는다는 것을 암시하는 것은 아니지만, 일부 실시예들에서는 그렇지 않을 수도 있다. 통신 칩(1908)은, Wi-Fi (IEEE 802.11군), WiMAX (IEEE 802.16군), IEEE 802.20, 롱 텀 에볼루션(LTE), Ev-DO, HSPA+, HSDPA+, HSUPA+, EDGE, GSM, GPRS, CDMA, TDMA, DECT, Bluetooth, 그 파생물 뿐만 아니라 3G, 4G, 5G, 및 그 이상으로 표기된 기타 임의의 무선 프로토콜을 포함하지만 이들로 제한되지 않는 다수의 무선 표준이나 프로토콜 중 임의의 것을 구현할 수 있다. 데이터 처리 시스템(1900)은 복수의 통신 칩(1908)을 포함할 수 있다. 예를 들어, 제1 통신 칩(1908)은 Wi-Fi 및 Bluetooth 등의 더 단거리의 무선 통신에 전용되고, 제2 통신 칩(1908)은 GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO 등의 더 긴 거리의 무선 통신에 전용될 수도 있다.
용어 "프로세서"란, 레지스터 및/또는 메모리로부터의 전자적 데이터를 처리하여 그 전자적 데이터를 레지스터 및/또는 메모리에 저장될 수 있는 다른 전자적 데이터로 변환하는 임의의 디바이스 또는 디바이스의 일부를 말한다.
다양한 실시예에서, 데이터 처리 시스템(1900)은, 랩탑 컴퓨터, 넷북 컴퓨터, 노트북 컴퓨터, 울트라북 컴퓨터, 스마트폰, 태블릿, PDA(personal digital assistant), 울트라 모바일 PC, 모바일 전화, 데스크탑 컴퓨터, 서버, 프린터, 스캐너, 모니터, 셋탑 박스, 오락 제어 유닛, 디지털 카메라, 휴대형 음악 재생기, 또는 디지털 비디오 레코더일 수 있다. 추가 구현들에서, 데이터 처리 시스템(1900)은 데이터를 처리하는 기타 임의의 전자 디바이스일 수 있다.
대용량 스토리지 디바이스(1940)는, 여기서 설명된 방법론들 중 임의의 하나 이상을 구현하는 하나 이상의 세트의 명령어들(예를 들어, 소프트웨어)이 저장되는 머신-액세스가능한 스토리지 매체(또는 더 구체적으로는 컴퓨터-판독가능한 스토리지 매체)(1945)를 포함할 수 있다. 이 소프트웨어는, 완전히 또는 적어도 부분적으로, 데이터 처리 시스템 1900에 의한 그 실행 동안에 메모리(1910), 메모리(1912), 메모리(1906) 및/또는 프로세서(1904) 내에 존재할 수 있고, 온-다이 메모리(1906) 및 프로세서(1904)는 또한 머신-판독가능한 스토리지 매체를 구성한다. 소프트웨어는 또한, 네트워크 인터페이스 디바이스를 이용하여 네트워크를 통해 전송되거나 수신될 수 있다.
머신-액세스가능한 스토리지 매체(1944)가 실시예에서 단일의 매체로서 도시되어 있지만, 용어 "머신-판독가능한 스토리지 매체"는, 하나 이상의 세트의 명령어들을 저장하는 단일 매체 또는 복수의 매체(예를 들어, 중앙집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐쉬 및 서버)를 포함하는 것으로 간주되어야 한다. 용어 "머신-판독가능한 스토리지 매체"는 또한, 머신에 의한 실행을 위한 한 세트의 명령어를 저장 또는 인코딩할 수 있고, 머신으로 하여금 본 발명의 방법론들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. 따라서, 용어 "머신-판독가능한 스토리지 매체"는, 고체-상태 메모리, 광학 매체 및 자기 매체를 포함하지만, 이것으로 제한되지 않는 것으로 간주되어야 한다.
요약서에 기술된 것들을 포함하여, 본 발명의 예시된 구현의 상기 설명은, 본 발명을 빠짐없이 드러내거나 본 발명을 개시된 그대로의 형태만으로 제한하려는 의도는 아니다. 본 발명의 특정 구현예 및 예가 예시의 목적을 위해 여기서 설명되었지만, 관련 기술분야의 통상의 기술자라면 인지하는 바와 같이, 본 발명의 범위 내에서 다양한 균등한 수정이 가능하다.
이러한 수정은 전술된 상세한 설명에 비추어 본 발명에 대해 이루어질 수 있다. 이하의 청구항들에서 사용되는 용어는, 본 발명을 명세서 및 청구항들에 개시된 특정한 구현으로 제한하는 것으로 해석되어서는 안된다. 오히려, 본 발명의 범위는, 청구항 해석의 확립된 원칙들에 따라 해석되어야 하는 이하의 청구항들에 의해서만 결정되어야 한다.
이하의 예들은 추가 실시예에 관한 것이다.
작업을 위한 모드의 표시를 수신하는 단계, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 단계, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
작업을 위한 모드의 표시를 수신하는 단계, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 단계, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 주파수를 결정하는 단계, 및 상기 제1 주파수에 기초하여 상기 작업에 대한 제1 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
작업을 위한 모드의 표시를 수신하는 단계, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 단계, 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 단계, 및 상기 제1 전력을 조정하는 단계를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
작업에 대한 모드의 표시를 수신하는 단계, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 단계, 상기 작업에 대한 요구되는 전력의 양을 결정하는 단계, 및 상기 가용 전력 및 상기 요구되는 전력 중 적어도 하나에 기초하여 상기 작업에 대한 제1 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
작업에 대한 모드의 표시를 수신하는 단계, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 단계, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 단계를 포함하고, 상기 가용 전력은, 모니터링된 전력, 추정된 전력, 및 캘리브레이트된 전력 중 적어도 하나에 기초하여 결정되는, 데이터 처리 시스템을 동작시키는 방법.
작업에 대한 모드의 표시를 수신하는 단계, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 단계, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 단계를 포함하고, 상기 제1 전력은, 작업에 대한 평균 전력에 기초하여 결정되는, 데이터 처리 시스템을 동작시키는 방법.
작업에 대한 모드의 표시를 수신하는 단계, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 단계, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 단계를 포함하고, 상기 모드는, 상기 작업이 전력 제한을 받는지에 대한 표시, 상기 작업에 대한 전력 정책에 관한 표시, 상기 작업에 대한 보류 정책에 관한 표시, 또는 이들의 임의의 조합을 포함하는, 데이터 처리 시스템을 동작시키는 방법.
제1 작업에 대한 가용 전력을 결정하는 단계; 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 단계; 및 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 단계를 포함하는, 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법.
제1 작업에 대한 가용 전력을 결정하는 단계; 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 단계; 및 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 단계를 포함하고, 상기 제1 주파수는 상기 제1 작업을 실행하는 복수의 노드에서 이용되는, 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법.
제1 작업에 대한 가용 전력을 결정하는 단계; 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 단계; 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 단계; 하나 이상의 제2 작업을 모니터링하는 단계; 및 상기 모니터링에 기초하여 상기 제1 전력을 조정하는 단계를 포함하는, 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법.
제1 작업에 대한 모드의 표시를 수신하는 단계; 상기 모드에 기초하여 상기 제1 작업에 대한 가용 전력을 결정하는 단계; 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 단계; 및 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 단계를 포함하는, 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법.
제1 작업에 대한 가용 전력을 결정하는 단계; 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 단계; 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 단계; 상기 할당된 전력이 제1 임계치보다 크다면, 상기 제1 주파수를 감소시키는 단계; 및 상기 할당된 전력이 제2 임계치보다 작다면, 상기 제1 주파수를 증가시키는 단계를 포함하는, 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법.
데이터 처리 시스템으로 하여금, 작업을 위한 모드의 표시를 수신하는 동작, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 동작, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하는 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 작업을 위한 모드의 표시를 수신하는 동작, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 동작, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 주파수를 결정하는 동작, 및 상기 제1 주파수에 기초하여 상기 작업에 대한 제1 전력을 할당하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하는 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 작업을 위한 모드의 표시를 수신하는 동작, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 동작, 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 동작, 및 상기 제1 전력을 조정하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하는 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 작업에 대한 모드의 표시를 수신하는 동작, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 동작, 상기 작업에 대한 요구되는 전력의 양을 결정하는 동작, 및 상기 가용 전력 및 상기 요구되는 전력 중 적어도 하나에 기초하여 상기 작업에 대한 제1 전력을 할당하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하는 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 작업에 대한 모드의 표시를 수신하는 동작, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 동작, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하고, 상기 가용 전력은, 모니터링된 전력, 추정된 전력, 및 캘리브레이트된 전력 중 적어도 하나에 기초하여 결정되는, 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 작업에 대한 모드의 표시를 수신하는 동작, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 동작, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하고, 상기 제1 전력은 상기 작업에 대한 평균 전력에 기초하여 결정되는, 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 작업에 대한 모드의 표시를 수신하는 동작, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 동작, 및 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하고, 상기 모드는, 상기 작업이 전력 제한을 받는지에 대한 표시, 상기 작업에 대한 전력 정책에 관한 표시, 상기 작업에 대한 보류 정책에 관한 표시, 또는 이들의 임의의 조합을 포함하는, 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 제1 작업에 대한 가용 전력을 결정하는 동작; 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 동작; 및 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하는 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 제1 작업에 대한 가용 전력을 결정하는 동작; 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 동작; 및 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하고, 상기 제1 주파수는 상기 제1 작업을 실행하는 복수의 노드에서 이용되는, 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 제1 작업에 대한 가용 전력을 결정하는 동작, 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 동작, 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 동작, 하나 이상의 제2 작업을 모니터링하는 동작, 및 상기 모니터링에 기초하여 상기 제1 전력을 조정하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 포함하는 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 제1 작업에 대한 모드의 표시를 수신하는 동작, 상기 모드에 기초하여 상기 제1 작업에 대한 가용 전력을 결정하는 동작, 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 동작, 및 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 동작을 포함하는 동작들을 수행하게는 명령어들을 포함하는 비일시적 머신 판독가능한 매체.
데이터 처리 시스템으로 하여금, 제1 작업에 대한 가용 전력을 결정하는 동작; 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 동작; 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 동작; 상기 할당된 전력이 제1 임계치보다 크다면, 상기 제1 주파수를 감소시키는 동작; 및 상기 할당된 전력이 제2 임계치보다 작다면, 상기 제1 주파수를 증가시키는 동작을 포함하는 동작들을 수행하게는 명령어들을 포함하는 비일시적 머신 판독가능한 매체.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 작업에 대한 모드의 표시를 수신하고, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하며, 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하도록 구성된, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 작업에 대한 모드의 표시를 수신하고, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하며, 상기 가용 전력에 기초하여 상기 작업에 대해 제1 주파수를 결정하고, 상기 제1 주파수에 기초하여 상기 작업에 대한 제1 전력을 할당하는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 작업에 대한 모드의 표시를 수신하고, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하며, 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하고, 상기 제1 전력을 조정하는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 작업에 대한 모드의 표시를 수신하고, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하며, 작업에 대한 요구되는 전력의 양을 결정하고, 상기 가용 전력 및 상기 요구되는 전력 중 적어도 하나에 기초하여 상기 작업에 대한 제1 전력을 할당하는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 작업에 대한 모드의 표시를 수신하고, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하며, 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하고, 상기 가용 전력은, 모니터링된 전력, 추정된 전력, 및 캘리브레이트된 전력 중 적어도 하나에 기초하여 결정되는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는 작업에 대한 모드의 표시를 수신하고, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하며, 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하고, 상기 제1 전력은 상기 작업에 대한 평균 전력에 기초하여 결정되는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 작업에 대한 모드의 표시를 수신하고, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하며, 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하고, 상기 모드는, 상기 작업이 전력 제한을 받는지에 관한 표시, 상기 작업에 대한 전력 정책에 관한 표시, 상기 작업에 대한 보류 정책에 관한 표시, 또는 이들의 임의의 조합을 포함하는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 제1 작업에 대한 가용 전력을 결정하고, 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하며, 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 제1 작업에 대한 가용 전력을 결정하고, 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하며; 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하고, 상기 제1 주파수는 상기 제1 작업을 실행하는 복수의 노드들에서 이용되는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 제1 작업에 대한 가용 전력을 결정하고, 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하며; 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하고, 하나 이상의 제2 작업을 모니터링하며, 상기 모니터링에 기초하여 상기 제1 전력을 조정하는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 상기 제1 작업에 대한 모드의 표시를 수신하고, 상기 모드에 기초하여 상기 제1 작업에 대한 가용 전력을 결정하며, 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하고, 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는, 데이터 처리 시스템.
메모리와, 상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는, 제1 작업에 대한 가용 전력을 결정하고, 상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하며, 상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하고, 상기 할당된 전력이 제1 임계치보다 크다면, 상기 제1 주파수를 감소시키며; 상기 할당된 전력이 제2 임계치보다 작다면, 상기 제1 주파수를 증가시키는, 데이터 처리 시스템.
시스템에 할당된 전력을 결정하는 단계; 상기 시스템에 의해 소비되는 전력을 결정하는 단계; 작업을 식별하는 단계; 및 적어도 상기 시스템에 의해 소비되는 전력에 기초하여 상기 식별된 작업에 상기 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 할당된 전력을 결정하는 단계; 상기 시스템에 의해 소비되는 전력을 결정하는 단계; 상기 시스템에 의해 소비된 전력이 상기 시스템에 할당된 전력보다 작다면, 작업을 식별하는 단계, 및 적어도 상기 시스템에 의해 소비되는 전력에 기초하여 상기 식별된 작업에 상기 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 할당된 전력을 결정하는 단계; 상기 시스템에 의해 소비되는 전력을 결정하는 단계; 작업을 식별하는 단계 ―상기 작업을 식별하는 단계는, 하나 이상의 다른 작업에 비한 상기 작업에 대한 우선순위를 결정하는 단계, 및 상기 우선순위에 기초하여 상기 작업을 선택하는 단계를 포함함― ; 적어도 상기 시스템에 의해 소비되는 전력에 기초하여 상기 작업에 상기 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 할당된 전력을 결정하는 단계; 상기 시스템에 의해 소비되는 전력을 결정하는 단계; 상기 시스템에 의해 소비되는 전력이 상기 시스템에 할당된 전력보다 크다면, 작업을 식별하는 단계; 및 상기 식별된 작업에 할당된 전력을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 할당된 전력을 결정하는 단계; 상기 시스템에 의해 소비되는 전력을 결정하는 단계; 작업을 식별하는 단계; 상기 식별된 작업의 모드를 결정하는 단계; 및 적어도 상기 시스템에 의해 소비되는 전력 및 상기 모드 기초하여 상기 식별된 작업에 상기 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 초과 전력을 결정하는 단계; 작업에 의해 소비되는 현재 전력을 결정하는 단계; 및 상기 초과 전력 및 상기 현재 전력 중 적어도 하나에 기초하여 상기 작업에 대한 추가 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 초과 전력을 결정하는 단계; 다른 실행중인 작업에 비해 최고 우선순위를 갖는 작업을 식별하는 단계, 상기 식별된 작업에 의해 소비되는 현재 전력을 결정하는 단계; 및 상기 초과 전력 및 상기 현재 전력 중 적어도 하나에 기초하여 상기 식별된 작업에 대한 추가 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 초과 전력을 결정하는 단계; 작업에 의해 소비되는 현재 전력을 결정하는 단계; 상기 작업에 대한 현재 주파수를 결정하는 단계; 상기 초과 전력 및 상기 현재 전력 중 적어도 하나에 기초하여 상기 작업에 대한 추가 전력을 할당하는 단계; 및 상기 현재 주파수를 증가시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 초과 전력 ―상기 초과 전력은, 시스템에 할당된 전력, 상기 시스템에 의해 소비되는 전력, 및 전력 보호 대역 사이의 차이로서 결정됨 ―을 결정하는 단계; 작업에 의해 소비되는 현재 전력을 결정하는 단계, 및 상기 초과 전력 및 상기 현재 전력 중 적어도 하나에 기초하여 상기 작업에 대한 추가 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 초과 전력을 결정하는 단계; 제1 작업에 의해 소비되는 현재 전력을 결정하는 단계; 상기 초과 전력 및 상기 현재 전력 중 적어도 하나에 기초하여 상기 제1 작업에 대한 추가 전력을 할당하는 단계; 및 제2 작업에 대한 추가 전력을 할당하는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 전력 감소를 결정하는 단계; 및 상기 시스템에 대한 전력 감소에 기초하여 작업에 대한 전력 할당을 감소시키는 단계를 더 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 전력 감소를 결정하는 단계; 작업의 모드를 결정하는 단계; 및 상기 시스템에 대한 전력 감소 및 상기 모드에 기초하여 상기 작업에 대한 전력 할당을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 전력 감소를 결정하는 단계; 다른 작업들에 비해 최저 우선순위를 갖는 작업을 식별하는 단계; 및 상기 시스템에 대한 전력 감소에 기초하여 상기 식별된 작업에 대한 전력 할당을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 전력 감소를 결정하는 단계; 작업에 대한 동작 주파수를 결정하는 단계; 및 상기 동작 주파수에 기초하여 작업에 대한 전력 할당을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
시스템에 대한 전력 감소를 결정하는 단계; 작업을 실행하는 노드의 수를 결정하는 단계; 및 상기 노드의 수에 기초하여 상기 작업에 대한 전력 할당을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
하나 이상의 제1 작업을 모니터링하는 단계; 제2 작업에 대한 전력 추정치를 결정하는 단계; 및 상기 제2 작업을 수용하기 위해 상기 전력 추정치에 기초하여 상기 하나 이상의 제1 작업에 대한 전력 할당을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
하나 이상의 제1 작업을 모니터링하는 단계; 제2 작업에 대한 전력 추정치를 결정하는 단계; 상기 하나 이상의 제1 작업의 우선순위를 식별하는 단계; 상기 제2 작업을 수용하기 위해 상기 우선순위 및 상기 전력 추정치에 기초하여 상기 하나 이상의 제1 작업에 대한 전력 할당을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
하나 이상의 제1 작업을 모니터링하는 단계; 상기 하나 이상의 제1 작업의 동작 주파수를 결정하는 단계; 제2 작업에 대한 전력 추정치를 결정하는 단계; 및 상기 제2 작업을 수용하기 위해 상기 동작 주파수 및 상기 전력 추정치에 기초하여 상기 하나 이상의 제1 작업에 대한 전력 할당을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
하나 이상의 제1 작업을 모니터링하는 단계; 제2 작업에 대한 전력 추정치를 결정하는 단계; 시스템에 대한 가용 전력을 결정하는 단계; 및 상기 제2 작업을 수용하기 위해 상기 전력 추정치 및 상기 가용 전력에 기초하여 상기 하나 이상의 제1 작업에 대한 전력 할당을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
하나 이상의 제1 작업을 모니터링하는 단계; 제2 작업에 대한 전력 추정치를 결정하는 단계; 및 상기 제2 작업을 수용하기 위해 상기 전력 추정치에 기초하여 상기 하나 이상의 제1 작업에 대한 전력 할당을 감소시키는 단계를 포함하고, 상기 제2 작업은 새로운 작업 및 보류된 작업 중 하나인, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
작업의 동작 주파수를 결정하는 단계; 상기 작업에 대한 전력 감소를 결정하는 단계; 및 상기 전력 감소에 기초하여 상기 작업에 대한 할당된 전력을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
작업의 동작 주파수를 결정하는 단계; 소비된 시스템 전력과 할당된 시스템 전력 사이의 차이가 미리결정된 임계치보다 작다면, 상기 작업에 대한 전력 감소를 결정하는 단계; 및 상기 전력 감소에 기초하여 상기 작업에 대한 할당된 전력을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
작업의 동작 주파수를 결정하는 단계; 상기 동작 주파수가 최소 주파수보다 크다면, 상기 작업에 대한 전력 감소를 결정하는 단계; 및 상기 전력 감소에 기초하여 상기 작업에 대한 할당된 전력을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
제1 작업의 동작 주파수를 결정하는 단계; 상기 제1 작업에 대한 전력 감소를 결정하는 단계; 제2 작업에 대한 전력 감소를 결정하는 단계; 및 상기 전력 감소에 기초하여 상기 제1 작업 및 상기 제2 작업 중 적어도 하나에 대한 할당된 전력을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
작업의 동작 주파수를 결정하는 단계; 상기 작업에 대한 전력 감소를 결정하는 단계 ―상기 전력 감소는, 적어도, 시스템에 의해 소비된 전력, 상기 시스템에 할당된 전력, 및 시스템 보호대역에 기초하여 결정됨―; 및 상기 전력 감소에 기초하여 상기 작업에 대한 할당된 전력을 감소시키는 단계를 포함하는, 데이터 처리 시스템에 대한 전력을 관리하는 방법.
전술된 명세서에서, 방법 및 장치들이 그 특정한 실시예를 참조하여 설명되었다. 그러나, 이하의 청구항들에 개시된 바와 같은 본 실시예들의 더 넓은 사상 및 범위로부터 벗어나지 않고 다양한 수정이 이루어질 수 있다는 것은 명백할 것이다. 따라서, 본 명세서 및 도면은 제한적 의미라기보다는 예시적인 의미로 간주되어야 한다.

Claims (25)

  1. 데이터 처리 시스템을 동작시키는 방법으로서,
    작업에 대한 모드의 표시를 수신하는 단계;
    상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 단계; 및
    상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 가용 전력에 기초하여 상기 작업에 대한 제1 주파수를 결정하는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서,
    상기 가용 전력이 변할 때 상기 제1 전력을 조정하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 작업에 대한 요구되는 전력의 양을 결정하는 단계를 더 포함하는, 방법.
  5. 제1항에 있어서, 상기 가용 전력은, 모니터링된 전력, 추정된 전력, 및 캘리브레이트된 전력 중 적어도 하나에 기초하여 결정되는, 방법.
  6. 제1항에 있어서, 상기 제1 전력은 상기 작업에 대한 평균 전력에 기초하여 할당되는, 방법.
  7. 제1항에 있어서, 상기 모드는, 상기 작업이 전력 제한을 받는지에 관한 표시, 상기 작업에 대한 전력 정책에 관한 표시, 상기 작업에 대한 보류 정책에 관한 표시, 또는 이들의 임의의 조합을 포함하는, 방법.
  8. 전력 인식 작업 스케쥴러 및 관리자를 제공하는 방법으로서,
    제1 작업에 대한 가용 전력을 결정하는 단계;
    상기 가용 전력에 기초하여 상기 제1 작업에 대한 제1 주파수를 결정하는 단계; 및
    상기 제1 주파수에 기초하여 상기 제1 작업에 대한 제1 전력을 할당하는 단계
    를 포함하는, 방법.
  9. 제8항에 있어서, 상기 제1 주파수는 상기 제1 작업을 실행하는 복수의 노드에서 이용되는, 방법.
  10. 제8항에 있어서,
    하나 이상의 제2 작업을 모니터링하는 단계; 및
    상기 모니터링에 기초하여 상기 제1 전력을 조정하는 단계를 더 포함하는, 방법.
  11. 제8항에 있어서,
    상기 제1 작업에 대한 모드의 표시를 수신하는 단계를 더 포함하고, 상기 가용 전력은 상기 모드에 기초하여 결정되는, 방법.
  12. 제8항에 있어서,
    상기 할당된 전력이 제1 임계치보다 크다면, 상기 제1 주파수를 감소시키는 단계; 및
    상기 할당된 전력이 제2 임계치보다 작다면, 상기 제1 주파수를 증가시키는 단계를 더 포함하는, 방법.
  13. 데이터 처리 시스템으로 하여금,
    작업에 대한 모드의 표시를 수신하는 동작;
    상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하는 동작; 및
    상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는 동작
    을 포함하는 동작들을 수행하게 하는 명령어들을 포함하는, 비일시적 머신 판독가능한 매체.
  14. 제13항에 있어서, 상기 데이터 처리 시스템으로 하여금,
    상기 가용 전력에 기초하여 상기 작업에 대한 제1 주파수를 결정하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 더 포함하는, 비일시적 머신 판독가능한 매체.
  15. 제13항에 있어서, 상기 데이터 처리 시스템으로 하여금,
    상기 제1 전력을 조정하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 더 포함하는, 비일시적 머신 판독가능한 매체.
  16. 제13항에 있어서, 상기 데이터 처리 시스템으로 하여금, 상기 작업에 대한 요구되는 전력의 양을 결정하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 더 포함하는, 비일시적 머신 판독가능한 매체.
  17. 제13항에 있어서, 상기 가용 전력은, 모니터링된 전력, 추정된 전력, 및 캘리브레이트된 전력 중 적어도 하나에 기초하여 결정되는, 비일시적 머신 판독가능한 매체.
  18. 제13항에 있어서, 상기 제1 전력은 상기 작업에 대한 평균 전력에 기초하여 결정되는, 비일시적 머신 판독가능한 매체.
  19. 제13항에 있어서, 상기 모드는, 상기 작업이 전력 제한을 받는지에 관한 표시, 상기 작업에 대한 전력 정책에 관한 표시, 상기 작업에 대한 보류 정책에 관한 표시, 또는 이들의 임의의 조합을 포함하는, 비일시적 머신 판독가능한 매체.
  20. 데이터 처리 시스템으로서,
    메모리; 및 상기 메모리에 결합된 프로세서를 포함하고,
    상기 프로세서는, 작업에 대한 모드의 표시를 수신하고, 상기 모드에 기초하여 상기 작업에 대한 가용 전력을 결정하며, 상기 가용 전력에 기초하여 상기 작업에 대한 제1 전력을 할당하는, 데이터 처리 시스템.
  21. 제20항에 있어서, 상기 프로세서는 또한, 상기 가용 전력에 기초하여 상기 작업에 대한 제1 주파수를 결정하는, 데이터 처리 시스템.
  22. 제20항에 있어서, 상기 프로세서는 또한, 상기 제1 전력을 조정하는, 데이터 처리 시스템.
  23. 제20항에 있어서, 상기 프로세서는 또한, 상기 작업에 대한 요구되는 전력의 양을 결정하는, 데이터 처리 시스템.
  24. 제20항에 있어서, 상기 가용 전력은, 모니터링된 전력, 추정된 전력, 및 캘리브레이트된 전력 중 적어도 하나에 기초하여 결정되는, 데이터 처리 시스템.
  25. 제20항에 있어서, 상기 모드는, 상기 작업이 전력 제한을 받는지에 관한 표시, 상기 작업에 대한 전력 제한 정책에 관한 표시, 상기 작업에 대한 보류 정책에 관한 표시, 또는 이들의 임의의 조합을 포함하는, 데이터 처리 시스템.
KR1020177002070A 2014-08-22 2015-06-17 데이터 처리 시스템을 위한 전력 인식 작업 스케쥴러 및 관리자 KR102213555B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462040576P 2014-08-22 2014-08-22
US62/040,576 2014-08-22
US14/582,764 2014-12-24
US14/582,764 US9921633B2 (en) 2014-08-22 2014-12-24 Power aware job scheduler and manager for a data processing system
PCT/US2015/036294 WO2016028371A1 (en) 2014-08-22 2015-06-17 A power aware job scheduler and manager for a data processing system

Publications (2)

Publication Number Publication Date
KR20170021338A true KR20170021338A (ko) 2017-02-27
KR102213555B1 KR102213555B1 (ko) 2021-02-08

Family

ID=55348281

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177002070A KR102213555B1 (ko) 2014-08-22 2015-06-17 데이터 처리 시스템을 위한 전력 인식 작업 스케쥴러 및 관리자
KR1020177002008A KR102207050B1 (ko) 2014-08-22 2015-06-18 분산 컴퓨터 시스템에 전력 할당의 변화가 있을 때 중단될 수 있고 중단될 수 없는 작업들을 관리하는 방법들 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177002008A KR102207050B1 (ko) 2014-08-22 2015-06-18 분산 컴퓨터 시스템에 전력 할당의 변화가 있을 때 중단될 수 있고 중단될 수 없는 작업들을 관리하는 방법들 및 장치

Country Status (6)

Country Link
US (6) US20160054779A1 (ko)
EP (5) EP3183654A4 (ko)
JP (2) JP6701175B2 (ko)
KR (2) KR102213555B1 (ko)
CN (4) CN106537348B (ko)
WO (3) WO2016028371A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102176028B1 (ko) * 2020-08-24 2020-11-09 (주)에오스와이텍 실시간 통합 모니터링 시스템 및 그 방법
KR20220046812A (ko) * 2020-10-08 2022-04-15 인하대학교 산학협력단 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
CN103959198B (zh) * 2011-11-30 2017-09-12 英特尔公司 降低3d工作负荷的功率
US11243707B2 (en) 2014-03-12 2022-02-08 Nutanix, Inc. Method and system for implementing virtual machine images
US9870037B2 (en) * 2015-04-01 2018-01-16 Dell Products, L.P. Method and apparatus for collaborative power and thermal control of fan run time average power limiting
US9900164B2 (en) * 2015-06-10 2018-02-20 Cisco Technology, Inc. Dynamic power management
US10042410B2 (en) * 2015-06-11 2018-08-07 International Business Machines Corporation Managing data center power consumption
US10073659B2 (en) 2015-06-26 2018-09-11 Intel Corporation Power management circuit with per activity weighting and multiple throttle down thresholds
US10503230B2 (en) * 2015-11-25 2019-12-10 Electronics And Telecommunications Research Institute Method and apparatus for power scheduling
US10437304B2 (en) * 2016-03-15 2019-10-08 Roku, Inc. Brown out condition detection and device calibration
US10613947B2 (en) 2016-06-09 2020-04-07 Nutanix, Inc. Saving and restoring storage devices using application-consistent snapshots
CN106200612B (zh) * 2016-07-07 2019-01-22 百度在线网络技术(北京)有限公司 用于测试车辆的方法和系统
WO2018030924A1 (en) * 2016-08-11 2018-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and cloud management node for managing a data processing task
US10545560B2 (en) 2016-10-10 2020-01-28 International Business Machines Corporation Power management and utilization detection of computing components
US10401940B2 (en) * 2016-10-10 2019-09-03 International Business Machines Corporation Power management in disaggregated computing systems
US10838482B2 (en) 2016-10-10 2020-11-17 International Business Machines Corporation SLA-based power management in disaggregated computing systems
US10819599B2 (en) 2016-10-10 2020-10-27 International Business Machines Corporation Energy consumption as a measure of utilization and work characterization in a system
US11169592B2 (en) 2016-10-10 2021-11-09 International Business Machines Corporation SLA-based backup power management during utility power interruption in disaggregated datacenters
US10360077B2 (en) * 2016-10-10 2019-07-23 International Business Machines Corporation Measuring utilization of resources in datacenters
CN106779295A (zh) * 2016-11-18 2017-05-31 南方电网科学研究院有限责任公司 供电方案生成方法和系统
US20180165772A1 (en) * 2016-12-14 2018-06-14 Palo Alto Research Center Incorporated Tiered greening for large business operations with heavy power reliance
IT201700034731A1 (it) * 2017-03-29 2018-09-29 St Microelectronics Srl Modulo e metodo di gestione dell'accesso ad una memoria
WO2018190785A1 (en) * 2017-04-10 2018-10-18 Hewlett-Packard Development Company, L.P. Delivering power to printing functions
US10656700B2 (en) * 2017-07-10 2020-05-19 Oracle International Corporation Power management in an integrated circuit
CN110945457B (zh) * 2017-07-12 2021-09-14 Wiliot有限公司 能量感知计算系统
US10831252B2 (en) 2017-07-25 2020-11-10 International Business Machines Corporation Power efficiency-aware node component assembly
JP6874594B2 (ja) * 2017-08-24 2021-05-19 富士通株式会社 電源管理装置,ノード電源管理方法およびノード電源管理プログラム
US10917496B2 (en) * 2017-09-05 2021-02-09 Amazon Technologies, Inc. Networked storage architecture
JP6996216B2 (ja) * 2017-10-16 2022-01-17 コニカミノルタ株式会社 シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム
KR102539044B1 (ko) * 2017-10-30 2023-06-01 삼성전자주식회사 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
US10824522B2 (en) * 2017-11-27 2020-11-03 Nutanix, Inc. Method, apparatus, and computer program product for generating consistent snapshots without quiescing applications
US10725834B2 (en) 2017-11-30 2020-07-28 International Business Machines Corporation Job scheduling based on node and application characteristics
CN108052394B (zh) * 2017-12-27 2021-11-30 福建星瑞格软件有限公司 基于sql语句运行时间的资源分配的方法及计算机设备
US10627885B2 (en) 2018-01-09 2020-04-21 Intel Corporation Hybrid prioritized resource allocation in thermally- or power-constrained computing devices
JP2019146298A (ja) * 2018-02-16 2019-08-29 富士ゼロックス株式会社 情報処理装置及びプログラム
KR102663815B1 (ko) * 2018-06-01 2024-05-07 삼성전자주식회사 컴퓨팅 장치 및 이의 동작 방법
US10936039B2 (en) * 2018-06-19 2021-03-02 Intel Corporation Multi-tenant edge cloud system power management
US11226667B2 (en) 2018-07-12 2022-01-18 Wiliot Ltd. Microcontroller operable in a battery-less wireless device
US11366753B2 (en) * 2018-07-31 2022-06-21 Marvell Asia Pte Ltd Controlling performance of a solid state drive
US11031787B2 (en) 2018-09-14 2021-06-08 Lancium Llc System of critical datacenters and behind-the-meter flexible datacenters
WO2020102930A1 (en) * 2018-11-19 2020-05-28 Alibaba Group Holding Limited Power management method
CA3183109A1 (en) 2019-05-15 2020-11-19 Upstream Data Inc. Portable blockchain mining system and methods of use
US11073888B2 (en) * 2019-05-31 2021-07-27 Advanced Micro Devices, Inc. Platform power manager for rack level power and thermal constraints
US11314558B2 (en) * 2019-07-23 2022-04-26 Netapp, Inc. Methods for dynamic throttling to satisfy minimum throughput service level objectives and devices thereof
US11809252B2 (en) * 2019-07-29 2023-11-07 Intel Corporation Priority-based battery allocation for resources during power outage
US11868106B2 (en) 2019-08-01 2024-01-09 Lancium Llc Granular power ramping
US11397999B2 (en) 2019-08-01 2022-07-26 Lancium Llc Modifying computing system operations based on cost and power conditions
CN110958389B (zh) * 2019-12-05 2021-12-14 浙江大华技术股份有限公司 一种摄像机的负载启动方法、设备、装置及存储介质
JP7367565B2 (ja) 2020-03-03 2023-10-24 富士通株式会社 電力制御装置および電力制御プログラム
US11307627B2 (en) * 2020-04-30 2022-04-19 Hewlett Packard Enterprise Development Lp Systems and methods for reducing stranded power capacity
US20210397476A1 (en) * 2020-06-18 2021-12-23 International Business Machines Corporation Power-performance based system management
CN114816025A (zh) * 2021-01-19 2022-07-29 联想企业解决方案(新加坡)有限公司 功率管理方法和系统
US20220342469A1 (en) * 2021-04-23 2022-10-27 Hewlett-Packard Development Company, L.P. Power budget profiles of computing devices
CN113434034B (zh) * 2021-07-08 2023-04-18 北京华恒盛世科技有限公司 利用深度学习调整计算任务cpu频率的大型集群节能方法
EP4137913A1 (en) * 2021-08-17 2023-02-22 Axis AB Power management in processing circuitry which implements a neural network
KR20230036589A (ko) * 2021-09-06 2023-03-15 삼성전자주식회사 시스템-온-칩 및 그의 동작 방법
KR102458919B1 (ko) * 2021-11-15 2022-10-26 삼성전자주식회사 적응적인 파워 조절을 수행하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작방법
US11720256B2 (en) * 2021-12-15 2023-08-08 Dell Products L.P. Maximizing power savings using IO monitoring
US11972267B2 (en) * 2022-10-04 2024-04-30 International Business Machines Corporation Hibernation of computing device with faulty batteries
US11714688B1 (en) * 2022-11-17 2023-08-01 Accenture Global Solutions Limited Sustainability-based computing resource allocation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220293A1 (en) * 2006-03-16 2007-09-20 Toshiba America Electronic Components Systems and methods for managing power consumption in data processors using execution mode selection
US20080222434A1 (en) * 2007-03-09 2008-09-11 Hitachi, Ltd. Method of power-aware job management and computer system
US20130124885A1 (en) * 2011-11-14 2013-05-16 Microsoft Corporation Estimating and managing power consumption of computing devices using power models
US20140075448A1 (en) * 2010-04-28 2014-03-13 International Business Machines Corporation Energy-aware job scheduling for cluster environments
US20140149768A1 (en) * 2011-05-13 2014-05-29 Microsoft Corporation Virtualized application power budgeting

Family Cites Families (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2264794B (en) 1992-03-06 1995-09-20 Intel Corp Method and apparatus for automatic power management in a high integration floppy disk controller
US5483656A (en) 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5598537A (en) 1994-03-25 1997-01-28 Advanced Micro Devices, Inc. Apparatus and method for driving a bus to a docking safe state in a dockable computer system including a docking station and a portable computer
US5752050A (en) 1994-10-04 1998-05-12 Intel Corporation Method and apparatus for managing power consumption of external devices for personal computers using a power management coordinator
US5784628A (en) 1996-03-12 1998-07-21 Microsoft Corporation Method and system for controlling power consumption in a computer system
KR100285949B1 (ko) 1996-12-12 2001-04-16 윤종용 배터리 충전회로
US6125450A (en) 1996-12-19 2000-09-26 Intel Corporation Stop clock throttling in a computer processor through disabling bus masters
US5905900A (en) 1997-04-30 1999-05-18 International Business Machines Corporation Mobile client computer and power management architecture
JP2001109729A (ja) 1999-10-12 2001-04-20 Nec Corp マルチプロセッサシステムにおける消費電力制御装置および方法
US20020194251A1 (en) 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
US6760852B1 (en) 2000-08-31 2004-07-06 Advanced Micro Devices, Inc. System and method for monitoring and controlling a power-manageable resource based upon activities of a plurality of devices
US7143300B2 (en) 2001-07-25 2006-11-28 Hewlett-Packard Development Company, L.P. Automated power management system for a network of computers
AU2002317618A1 (en) * 2001-08-06 2003-02-24 Mercury Interactive Corporation System and method for automated analysis of load testing results
US6839854B2 (en) 2001-08-27 2005-01-04 Intel Corporation Voltage regulation for computer system components that increases voltage level when a component enters a sleep state as indicated by a power state status signal
US7111179B1 (en) 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
DE60106467T2 (de) 2001-12-14 2006-02-23 Hewlett-Packard Development Co., L.P., Houston Verfahren zum Installieren Überwachungsagenten, System und Computerprogramm von Objekten in einem IT-Netz Überwachung
US20030163745A1 (en) 2002-02-27 2003-08-28 Kardach James P. Method to reduce power in a computer system with bus master devices
US7028200B2 (en) 2002-05-15 2006-04-11 Broadcom Corporation Method and apparatus for adaptive power management of memory subsystem
GB0211764D0 (en) 2002-05-22 2002-07-03 3Com Corp Automatic power saving facility for network devices
US7093146B2 (en) 2002-07-31 2006-08-15 Hewlett-Packard Development Company, L.P. Power management state distribution using an interconnect
US7403511B2 (en) 2002-08-02 2008-07-22 Texas Instruments Incorporated Low power packet detector for low power WLAN devices
US6971033B2 (en) 2003-01-10 2005-11-29 Broadcom Corporation Method and apparatus for improving bus master performance
US7418517B2 (en) 2003-01-30 2008-08-26 Newisys, Inc. Methods and apparatus for distributing system management signals
EP1480378A1 (en) * 2003-05-23 2004-11-24 Alcatel Method for setting up a generic protocol relationship between network elements in a telecom network
US6965776B2 (en) 2003-11-21 2005-11-15 Motorola, Inc. Portable communication device and network and methods therefore
US20050136961A1 (en) 2003-12-17 2005-06-23 Telefonaktiebolaget Lm Ericsson (Publ), Power control method
US7363517B2 (en) 2003-12-19 2008-04-22 Intel Corporation Methods and apparatus to manage system power and performance
US7406691B2 (en) 2004-01-13 2008-07-29 International Business Machines Corporation Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US7272741B2 (en) 2004-06-02 2007-09-18 Intel Corporation Hardware coordination of power management activities
US7418608B2 (en) 2004-06-17 2008-08-26 Intel Corporation Method and an apparatus for managing power consumption of a server
US7908313B2 (en) 2004-07-21 2011-03-15 The Mathworks, Inc. Instrument-based distributed computing systems
US7386739B2 (en) * 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints
US7444526B2 (en) * 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US7475262B2 (en) 2005-06-29 2009-01-06 Intel Corporation Processor power management associated with workloads
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
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
US8190682B2 (en) * 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US7539881B2 (en) 2006-04-15 2009-05-26 Hewlett-Packard Development Company, L.P. System and method for dynamically adjusting power caps for electronic components based on power consumption
US7555666B2 (en) 2006-05-04 2009-06-30 Dell Products L.P. Power profiling application for managing power allocation in an information handling system
US7827738B2 (en) * 2006-08-26 2010-11-09 Alexander Abrams System for modular building construction
US7694160B2 (en) * 2006-08-31 2010-04-06 Ati Technologies Ulc Method and apparatus for optimizing power consumption in a multiprocessor environment
EP2070024B1 (en) * 2006-09-22 2018-11-14 Koninklijke Philips N.V. Methods for feature selection using classifier ensemble based genetic algorithms
US8370929B1 (en) * 2006-09-28 2013-02-05 Whitehat Security, Inc. Automatic response culling for web application security scan spidering process
US8055343B2 (en) 2006-10-20 2011-11-08 Cardiac Pacemakers, Inc. Dynamic battery management in an implantable device
US7844838B2 (en) 2006-10-30 2010-11-30 Hewlett-Packard Development Company, L.P. Inter-die power manager and power management method
US7793126B2 (en) 2007-01-19 2010-09-07 Microsoft Corporation Using priorities and power usage to allocate power budget
US7941681B2 (en) 2007-08-17 2011-05-10 International Business Machines Corporation Proactive power management in a parallel computer
JP5029823B2 (ja) * 2007-09-06 2012-09-19 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、消費電力管理システム、消費電力管理方法およびプログラム
JP4935595B2 (ja) 2007-09-21 2012-05-23 富士通株式会社 ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
CN101419495B (zh) * 2007-10-22 2012-05-30 国际商业机器公司 降低计算机系统中i/o功率的方法和装置,以及计算机系统
US8046600B2 (en) 2007-10-29 2011-10-25 Microsoft Corporation Collaborative power sharing between computing devices
WO2009056371A1 (en) * 2007-10-31 2009-05-07 International Business Machines Corporation Method, system and computer program for distributing a plurality of jobs to a plurality of computers
US8041521B2 (en) 2007-11-28 2011-10-18 International Business Machines Corporation Estimating power consumption of computing components configured in a computing system
US7971084B2 (en) * 2007-12-28 2011-06-28 Intel Corporation Power management in electronic systems
US8595516B2 (en) 2008-01-03 2013-11-26 Broadcom Corporation System and method for global power management in a power over ethernet chassis
US8793786B2 (en) * 2008-02-08 2014-07-29 Microsoft Corporation User indicator signifying a secure mode
US8001403B2 (en) 2008-03-14 2011-08-16 Microsoft Corporation Data center power management utilizing a power policy and a load factor
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
KR20110007205A (ko) 2008-04-21 2011-01-21 어댑티브 컴퓨팅 엔터프라이즈 인코포레이티드 컴퓨트 환경에서 에너지 소비를 관리하기 위한 시스템 및 방법
US9405348B2 (en) 2008-04-21 2016-08-02 Adaptive Computing Enterprises, Inc System and method for managing energy consumption in a compute environment
US7756652B2 (en) 2008-04-24 2010-07-13 Oracle America, Inc. Estimating a power utilization of a computer system
US8296773B2 (en) * 2008-06-30 2012-10-23 International Business Machines Corporation Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance
US8255709B2 (en) * 2009-02-06 2012-08-28 Hewlett-Packard Development Company, L.P. Power budgeting for a group of computer systems using utilization feedback for manageable components
US8365175B2 (en) 2009-03-10 2013-01-29 International Business Machines Corporation Power management using dynamic application scheduling
US8589931B2 (en) 2009-03-18 2013-11-19 International Business Machines Corporation Environment based node selection for work scheduling in a parallel computing system
US9015726B2 (en) * 2009-04-03 2015-04-21 International Business Machines Corporation Scheduling jobs of a multi-node computer system based on environmental impact
WO2010138031A1 (en) 2009-05-26 2010-12-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and scheduler in an operating system
US8904394B2 (en) 2009-06-04 2014-12-02 International Business Machines Corporation System and method for controlling heat dissipation through service level agreement analysis by modifying scheduled processing jobs
US8276012B2 (en) 2009-06-30 2012-09-25 International Business Machines Corporation Priority-based power capping in data processing systems
JP2011013764A (ja) * 2009-06-30 2011-01-20 Hitachi Ltd 消費電力管理方法、消費電力管理システムおよびプログラム
US8589709B2 (en) 2009-07-23 2013-11-19 Carnegie Mellon University Systems and methods for managing power consumption and performance of a processor
US8443209B2 (en) * 2009-07-24 2013-05-14 Advanced Micro Devices, Inc. Throttling computational units according to performance sensitivity
CN101694631B (zh) * 2009-09-30 2016-10-05 曙光信息产业(北京)有限公司 实时作业调度系统及方法
US8224993B1 (en) 2009-12-07 2012-07-17 Amazon Technologies, Inc. Managing power consumption in a data center
US8336056B1 (en) 2009-12-22 2012-12-18 Gadir Omar M A Multi-threaded system for data management
US8341441B2 (en) * 2009-12-24 2012-12-25 International Business Machines Corporation Reducing energy consumption in a cloud computing environment
US8429433B2 (en) * 2010-01-15 2013-04-23 International Business Machines Corporation Dynamically adjusting an operating state of a data processing system running under a power cap
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
US9052895B2 (en) 2010-04-07 2015-06-09 International Business Machines Power budget allocation in multi-processor systems
US8412479B2 (en) * 2010-06-29 2013-04-02 Intel Corporation Memory power estimation by means of calibrated weights and activity counters
US8589932B2 (en) 2010-07-02 2013-11-19 International Business Machines Corporation Data processing workload control
US8464080B2 (en) * 2010-08-25 2013-06-11 International Business Machines Corporation Managing server power consumption in a data center
US8694810B2 (en) 2010-09-22 2014-04-08 International Business Machines Corporation Server power management with automatically-expiring server power allocations
US8627322B2 (en) * 2010-10-29 2014-01-07 Google Inc. System and method of active risk management to reduce job de-scheduling probability in computer clusters
US8868936B2 (en) * 2010-11-29 2014-10-21 Cisco Technology, Inc. Dynamic power balancing among blade servers in a chassis
KR20120072224A (ko) 2010-12-23 2012-07-03 한국전자통신연구원 전력 획득 예측에 기반한 센서 노드의 전원 제어 장치 및 방법
US9244721B2 (en) 2011-11-24 2016-01-26 Hitachi, Ltd. Computer system and divided job processing method and program
CN103136055B (zh) 2011-11-25 2016-08-03 国际商业机器公司 用于在数据库服务中控制对计算资源的使用的方法和装置
US8689220B2 (en) * 2011-11-30 2014-04-01 International Business Machines Corporation Job scheduling to balance energy consumption and schedule performance
US9218035B2 (en) 2012-02-10 2015-12-22 University Of Florida Research Foundation, Inc. Renewable energy control systems and methods
US9262232B2 (en) 2012-02-29 2016-02-16 Red Hat, Inc. Priority build execution in a continuous integration system
KR20160114195A (ko) 2012-05-14 2016-10-04 인텔 코포레이션 컴퓨팅 시스템의 동작 관리
CN104335137B (zh) 2012-05-17 2017-10-24 英特尔公司 管理计算系统的功耗和性能
CN102685808A (zh) * 2012-05-18 2012-09-19 电子科技大学 一种基于功率控制的分布式聚簇方法
US8843773B2 (en) 2012-06-13 2014-09-23 Cisco Technology, Inc. System and method for automated service profile placement in a network environment
US9342376B2 (en) 2012-06-27 2016-05-17 Intel Corporation Method, system, and device for dynamic energy efficient job scheduling in a cloud computing environment
CN102819460B (zh) * 2012-08-07 2015-05-20 清华大学 一种基于预算功率指导的高能效gpu集群系统调度方法
JP5787365B2 (ja) * 2012-09-18 2015-09-30 Necフィールディング株式会社 電力制御装置、電力制御システム、電力制御方法及びプログラム
US8939654B2 (en) 2012-09-27 2015-01-27 Adc Telecommunications, Inc. Ruggedized multi-fiber fiber optic connector with sealed dust cap
GB2506626B (en) 2012-10-03 2018-02-07 Imperial Innovations Ltd Frequency estimation
US20140137121A1 (en) 2012-10-05 2014-05-15 Hitachi, Ltd. Job management system and job control method
US20140114107A1 (en) 2012-10-24 2014-04-24 Lummus Technology Inc. Use of hydrocarbon diluents to enhance conversion in a dehydrogenation process at low steam/oil ratios
US9110972B2 (en) 2012-11-07 2015-08-18 Dell Products L.P. Power over ethernet dynamic power allocation system
US9250858B2 (en) * 2013-02-20 2016-02-02 International Business Machines Corporation Dual-buffer serialization and consumption of variable-length data records produced by multiple parallel threads
US9009677B2 (en) 2013-03-18 2015-04-14 Microsoft Technology Licensing, Llc Application testing and analysis
US9329910B2 (en) * 2013-06-20 2016-05-03 Seagate Technology Llc Distributed power delivery
US9335751B1 (en) * 2013-08-28 2016-05-10 Google Inc. Dynamic performance based cooling control for cluster processing devices
JP6201530B2 (ja) * 2013-08-30 2017-09-27 富士通株式会社 情報処理システム、ジョブ管理装置、ジョブ管理装置の制御プログラム、及び、情報処理システムの制御方法
US9753520B2 (en) 2013-12-23 2017-09-05 Dell Products, L.P. Predictive power capping and power allocation to computing nodes in a rack-based information handling system
US9189273B2 (en) * 2014-02-28 2015-11-17 Lenovo Enterprise Solutions PTE. LTD. Performance-aware job scheduling under power constraints
US9336106B2 (en) * 2014-04-17 2016-05-10 Cisco Technology, Inc. Dynamically limiting bios post for effective power management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220293A1 (en) * 2006-03-16 2007-09-20 Toshiba America Electronic Components Systems and methods for managing power consumption in data processors using execution mode selection
US20080222434A1 (en) * 2007-03-09 2008-09-11 Hitachi, Ltd. Method of power-aware job management and computer system
US20140075448A1 (en) * 2010-04-28 2014-03-13 International Business Machines Corporation Energy-aware job scheduling for cluster environments
US20140149768A1 (en) * 2011-05-13 2014-05-29 Microsoft Corporation Virtualized application power budgeting
US20130124885A1 (en) * 2011-11-14 2013-05-16 Microsoft Corporation Estimating and managing power consumption of computing devices using power models

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102176028B1 (ko) * 2020-08-24 2020-11-09 (주)에오스와이텍 실시간 통합 모니터링 시스템 및 그 방법
KR20220046812A (ko) * 2020-10-08 2022-04-15 인하대학교 산학협력단 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩

Also Published As

Publication number Publication date
CN111176419A (zh) 2020-05-19
WO2016028371A1 (en) 2016-02-25
CN106537348B (zh) 2020-04-14
US20160054779A1 (en) 2016-02-25
JP2017531245A (ja) 2017-10-19
US9575536B2 (en) 2017-02-21
CN107003706B (zh) 2021-06-08
EP3183628A4 (en) 2018-06-13
US20160054783A1 (en) 2016-02-25
CN111176419B (zh) 2024-04-19
KR102213555B1 (ko) 2021-02-08
US9927857B2 (en) 2018-03-27
US20160054775A1 (en) 2016-02-25
JP6386165B2 (ja) 2018-09-05
US20160054780A1 (en) 2016-02-25
EP3183654A1 (en) 2017-06-28
EP3183654A4 (en) 2018-04-18
CN106537287B (zh) 2019-12-17
EP3183628A1 (en) 2017-06-28
JP6701175B2 (ja) 2020-05-27
WO2016028374A1 (en) 2016-02-25
US20160054774A1 (en) 2016-02-25
CN107003706A (zh) 2017-08-01
KR102207050B1 (ko) 2021-01-25
US9921633B2 (en) 2018-03-20
CN106537287A (zh) 2017-03-22
JP2017530449A (ja) 2017-10-12
KR20170021864A (ko) 2017-02-28
US10289183B2 (en) 2019-05-14
CN106537348A (zh) 2017-03-22
EP3627285A1 (en) 2020-03-25
US20160054781A1 (en) 2016-02-25
EP3183629A1 (en) 2017-06-28
EP3183629B1 (en) 2023-05-31
EP3183629A4 (en) 2018-05-02
WO2016028375A1 (en) 2016-02-25
EP4016248A1 (en) 2022-06-22
US10712796B2 (en) 2020-07-14

Similar Documents

Publication Publication Date Title
KR102213555B1 (ko) 데이터 처리 시스템을 위한 전력 인식 작업 스케쥴러 및 관리자
US11579934B2 (en) Scheduler for amp architecture with closed loop performance and thermal controller
JP6218967B2 (ja) マルチプロセッサシステムオンチップにおけるエネルギー効率認識型熱管理
JP6337121B2 (ja) マルチコアの動的な作業負荷管理
US20130219400A1 (en) Energy-aware computing environment scheduler
US10768684B2 (en) Reducing power by vacating subsets of CPUs and memory
Guo et al. TaskAlloc: Online Tasks Allocation for Offloading in Energy Harvesting Mobile Edge Computing
Chakroun et al. Reducing energy consumption for reconfiguration in cloud data centers
Ren et al. Energy-Efficient Scheduling of Interactive Services on Heterogeneous Multicore Processors

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