JP2023530829A - Power-performance based system management - Google Patents
Power-performance based system management Download PDFInfo
- Publication number
- JP2023530829A JP2023530829A JP2022570218A JP2022570218A JP2023530829A JP 2023530829 A JP2023530829 A JP 2023530829A JP 2022570218 A JP2022570218 A JP 2022570218A JP 2022570218 A JP2022570218 A JP 2022570218A JP 2023530829 A JP2023530829 A JP 2023530829A
- Authority
- JP
- Japan
- Prior art keywords
- workload
- power
- parameter
- computer system
- computer
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000010408 sweeping Methods 0.000 claims abstract description 43
- 238000012544 monitoring process Methods 0.000 claims abstract description 24
- 238000004458 analytical method Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 68
- 238000004590 computer program Methods 0.000 claims description 22
- 238000007726 management method Methods 0.000 description 77
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 230000009471 action Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000005611 electricity Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
- G06F11/3062—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/486—Scheduler internals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
方法は、コンピュータ・システムのワークロードを受信することと、ワークロードを実行している間、コンピュータ・システムの少なくとも1つのパラメータを掃引することと、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの1つまたは複数の特性を監視することであって、1つまたは複数の特性は、コンピュータ・システムの総電力消費を含む、監視することと、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成することと、少なくとも1つのパラメータのそれぞれの選択値に基づいて、ワークロードを実行することと、を含む。The method includes receiving a workload of a computer system; sweeping at least one parameter of the computer system while executing the workload; - monitoring one or more characteristics of the system, the one or more characteristics including total power consumption of the computer system, while sweeping at least one parameter; , generating a power profile for the workload that indicates respective selected values for the at least one parameter based on an analysis of the monitored total power consumption of the computer system; and executing the workload based on.
Description
本発明は、一般には、コンピュータ・システムに関し、より詳細には、コンピュータの電力-性能ベースのシステム管理に関する。 The present invention relates generally to computer systems, and more particularly to power-performance-based system management of computers.
多くの最新のコンピュータ・システムは、特に大規模データ・センタ(例えば、ハイパー・スケール・データ・センタ)において、性能の増大と総所有コスト(TCO)とのバランスをとることに焦点を当てる。TCOは、総取得コスト(TCA)、メンテナンス・コスト、および電力消費に起因した電気料金を含む。TCAおよびメンテナンス・コストは、通常、固定投資であるが、電力消費に起因した料金は、コンピュータ・システムのワークロードおよび構成に基づいて変動する。 Many modern computer systems focus on balancing increased performance with total cost of ownership (TCO), especially in large scale data centers (eg, hyper-scale data centers). TCO includes total cost of acquisition (TCA), maintenance costs, and electricity bills due to electricity consumption. TCA and maintenance costs are typically fixed investments, while charges due to power consumption fluctuate based on the workload and configuration of the computer system.
本開示の態様は、方法、コンピュータ・プログラム製品およびシステムを含むことができる。方法の1つの例は、コンピュータ・システムのワークロードを受信することと、ワークロードを実行している間、コンピュータ・システムの少なくとも1つのパラメータを掃引する(sweep)ことと、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの1つまたは複数の特性を監視することであって、1つまたは複数の特性は、コンピュータ・システムの総電力消費を含む、監視することと、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成することと、少なくとも1つのパラメータのそれぞれの選択値に基づいて、ワークロードを実行することとを含む。 Aspects of the disclosure may include methods, computer program products and systems. An example method includes receiving a workload of a computer system, sweeping at least one parameter of the computer system while executing the workload, and sweeping at least one parameter of the computer system. monitoring one or more characteristics of the computer system while sweeping, the one or more characteristics including total power consumption of the computer system; generating a workload power profile indicating respective selected values for at least one parameter based on an analysis of the monitored total power consumption of the computer system while sweeping the parameters; and executing the workload based on respective selected values of the parameters.
一態様の観点から、本発明は方法を提供し、この方法は、コンピュータ・システムのワークロードを受信することと、ワークロードを実行している間、コンピュータ・システムの少なくとも1つのパラメータを掃引することと、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの1つまたは複数の特性を監視することであって、1つまたは複数の特性は、コンピュータ・システムの総電力消費を含む、監視することと、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成することと、少なくとも1つのパラメータのそれぞれの選択値に基づいて、ワークロードを実行することとを含む。 Viewed from one aspect, the present invention provides a method for receiving a workload of a computer system and sweeping at least one parameter of the computer system while executing the workload. and monitoring one or more characteristics of the computer system while sweeping at least one parameter, the one or more characteristics including total power consumption of the computer system; a power profile of the workload indicating respective selected values for the at least one parameter based on monitoring and analyzing the monitored total power consumption of the computer system while sweeping the at least one parameter; generating and executing the workload based on respective selected values of the at least one parameter.
好ましくは、本発明は、コンピュータ・システムの少なくとも1つのパラメータに対する1つまたは複数の制約を受信することを更に含む方法を提供する。 Preferably, the present invention provides a method further comprising receiving one or more constraints on at least one parameter of the computer system.
好ましくは、本発明は、ワークロードを2つ以上のステージに分割することを更に含み、少なくとも1つのパラメータを掃引することが、2つ以上のステージの各々について少なくとも1つのパラメータを掃引することを含み、1つまたは複数の特性を監視することが、2つ以上のステージの各々について少なくとも1つのパラメータを掃引している間、1つまたは複数の特性を監視することを含み、電力プロファイルを生成することが、2つ以上のステージの各々についてそれぞれの電力プロファイルを生成することを含む、方法を提供する。 Preferably, the invention further comprises dividing the workload into two or more stages, wherein sweeping the at least one parameter comprises sweeping the at least one parameter for each of the two or more stages. wherein monitoring the one or more characteristics comprises monitoring the one or more characteristics while sweeping at least one parameter for each of the two or more stages; generating a power profile generating a respective power profile for each of the two or more stages.
好ましくは、本発明は、少なくとも1つのパラメータを掃引することが、中央処理ユニット(CPU)周波数、グラフィック処理ユニット(GPU)周波数、マルチコア・プロセッサにおけるアクティブなコアの数、メモリ帯域幅、ネットワーク帯域幅、およびデバイス状態のうちの少なくとも1つを掃引することを含む、方法を提供する。 Preferably, the present invention sweeps at least one parameter, central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor, memory bandwidth, network bandwidth. , and sweeping at least one of device states.
好ましくは、本発明は、ワークロードが第1のワークロードであり、少なくとも1つのパラメータのそれぞれの選択値に基づいてワークロードを実行することが、第1のワークロードの電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較することと、第1のワークロードの電力プロファイルと、1つまたは複数の他のワークロードのそれぞれの電力プロファイルとの比較に基づいて、両立可能なワークロードを識別することと、両立可能なワークロードを、第1のワークロードと同時に実行されるようにスケジューリングすることとを更に含む、方法を提供する。 Preferably, the present invention provides that the workload is a first workload and executing the workload based on respective selected values of the at least one parameter comprises one or more power profiles of the first workload. Compatibility based on comparing power profiles of each of a plurality of other workloads and comparing power profile of the first workload to power profiles of each of one or more other workloads and scheduling compatible workloads to run concurrently with the first workload.
好ましくは、本発明は、コンピュータ・システムの監視される1つまたは複数の特性が、中央処理ユニット(CPU)電力使用量、グラフィック処理ユニット(GPU)電力使用量、ファン電力使用量、メモリ電力使用量、ディスク電力使用量、メモリ帯域幅、メモリ・レイテンシ、ディスク入力/出力帯域幅、およびネットワーク帯域幅のうちの1つまたは複数を含む、方法を提供する。 Preferably, the present invention provides that the one or more monitored characteristics of the computer system are central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage. volume, disk power usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
好ましくは、本発明は、ワークロードの初期電力プロファイルを受信することを更に含み、電力プロファイルを生成することが、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの監視された総電力消費の分析に基づいて初期電力プロファイルを更新することを含む、方法を提供する。 Preferably, the invention further comprises receiving an initial power profile of the workload, wherein generating the power profile comprises monitoring total power consumption of the computer system while sweeping the at least one parameter. and updating the initial power profile based on the analysis of.
別の態様の観点から、本発明はコンピュータ管理システムを提供し、このコンピュータ管理システムは、ストレージ・デバイスと、ストレージ・デバイスに通信可能に結合されたプロセッサとを備え、このプロセッサは、コンピュータ・システムのワークロードを受信し、ワークロードが実行されている間、コンピュータ・システムの少なくとも1つのパラメータを反復的に調整し、少なくとも1つのパラメータを調整している間、コンピュータ・システムの総電力消費を含む、コンピュータ・システムの1つまたは複数の特性を監視し、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成し、電力プロファイルをストレージ・デバイス上に記憶し、電力プロファイルに基づいてワークロードを実行するように構成される。 In view of another aspect, the present invention provides a computer management system comprising a storage device and a processor communicatively coupled to the storage device, the processor comprising: of the workload, iteratively adjusting at least one parameter of the computer system while the workload is running, and reducing the total power consumption of the computer system while adjusting the at least one parameter monitoring one or more characteristics of the computer system, including, while sweeping the at least one parameter, a respective It is configured to generate a power profile for the workload that indicates selected values, store the power profile on a storage device, and execute the workload based on the power profile.
好ましくは、本発明は、プロセッサが、コンピュータ・システムの少なくとも1つのパラメータに対する1つまたは複数の制約を受信するように更に構成されるコンピュータ管理システムを提供する。 Preferably, the present invention provides a computer management system wherein the processor is further configured to receive one or more constraints on at least one parameter of the computer system.
好ましくは、本発明は、プロセッサが、ワークロードを2つ以上のステージに分割し、2つ以上のステージの各々について少なくとも1つのパラメータを反復的に調整し、2つ以上のステージの各々について少なくとも1つのパラメータを調整している間、1つまたは複数の特性を監視し、2つ以上のステージの各々についてそれぞれの電力プロファイルを生成するように更に構成される、コンピュータ管理システムを提供する。 Preferably, the present invention comprises a processor dividing a workload into two or more stages, iteratively adjusting at least one parameter for each of the two or more stages, and performing at least A computer management system is provided that is further configured to monitor one or more characteristics while adjusting a parameter and to generate respective power profiles for each of the two or more stages.
好ましくは、本発明は、プロセッサが、中央処理ユニット(CPU)周波数、グラフィック処理ユニット(GPU)周波数、マルチコア・プロセッサにおけるアクティブなコアの数、メモリ帯域幅、ネットワーク帯域幅、およびデバイス状態のうちの少なくとも1つを反復的に調整するように構成されるコンピュータ管理システムを提供する。 Preferably, the present invention enables a processor to reduce one of central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor, memory bandwidth, network bandwidth, and device state. A computer management system is provided that is configured to iteratively adjust at least one.
好ましくは、本発明は、ワークロードが第1のワークロードであり、プロセッサが、第1のワークロードの電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較し、第1のワークロードの電力プロファイルと、1つまたは複数の他のワークロードのそれぞれの電力プロファイルとの比較に基づいて、両立可能なワークロードを識別し、両立可能なワークロードを、第1のワークロードと同時に実行されるようにスケジューリングするように更に構成される、コンピュータ管理システムを提供する。 Preferably, the present invention comprises the workload being a first workload, the processor comparing the power profile of the first workload to the power profile of each of one or more other workloads, identifying compatible workloads based on a comparison of the power profile of one or more other workloads to the respective power profiles of one or more other workloads; To provide a computer management system further configured to schedule to run concurrently.
好ましくは、本発明は、コンピュータ・システムの監視される1つまたは複数の特性が、中央処理ユニット(CPU)電力使用量、グラフィック処理ユニット(GPU)電力使用量、ファン電力使用量、メモリ電力使用量、ディスク電力使用量、メモリ帯域幅、メモリ・レイテンシ、ディスク入力/出力帯域幅、およびネットワーク帯域幅のうちの1つまたは複数を含む、コンピュータ管理システムを提供する。 Preferably, the present invention provides that the one or more monitored characteristics of the computer system are central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage. computer management system including one or more of: volume, disk power usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
好ましくは、本発明は、プロセッサが、ワークロードの初期電力プロファイルを受信し、少なくとも1つのパラメータを調整している間、コンピュータ・システムの監視された総電力消費の分析に基づいて初期電力プロファイルを更新するように更に構成される、コンピュータ管理システムを提供する。 Preferably, the present invention provides for a processor, while receiving an initial power profile of a workload and adjusting at least one parameter, to generate an initial power profile based on an analysis of the monitored total power consumption of the computer system. A computer management system is provided which is further configured to update.
別の態様の観点から、本発明はコンピュータ管理システムを提供し、このコンピュータ管理システムは、電力-性能管理エンジンであって、ワークロードが実行されている間、コンピュータ・システムの少なくとも1つのパラメータを掃引し、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの総電力消費を含む、コンピュータ・システムの1つまたは複数の特性を監視し、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成するように構成された電力-性能管理エンジンと、生成された電力プロファイルに基づいて、ワークロードを実行のためにスケジューリングするように構成された電力-性能ワークロード・スケジューラとを備える。 In view of another aspect, the present invention provides a computer management system, the computer management system being a power-performance management engine for controlling at least one parameter of a computer system while a workload is running. sweeping, monitoring one or more characteristics of the computer system, including total power consumption of the computer system while sweeping at least one parameter, and analyzing the monitored total power consumption of the computer system a power-performance management engine configured to generate a power profile for the workload indicating respective selected values for at least one parameter based on the power profile; a power-performance workload scheduler configured to schedule for.
好ましくは、本発明は、ワークロードが第1のワークロードであり、電力-性能ワークロード・スケジューラが、第1のワークロードの電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較することと、第1のワークロードの電力プロファイルと、1つまたは複数の他のワークロードのそれぞれの電力プロファイルとの比較に基づいて、両立可能なワークロードを識別することと、両立可能なワークロードを、第1のワークロードと同時に実行されるようにスケジューリングすることとによって、第1のワークロードを実行のためにスケジューリングするように更に構成される、コンピュータ管理システムを提供する。 Preferably, the present invention provides that the workload is a first workload and the power-performance workload scheduler adapts the power profile of the first workload to the power profile of each of one or more other workloads. and identifying compatible workloads based on a comparison of the power profile of the first workload and the respective power profiles of one or more other workloads; and scheduling the first workload for execution concurrently with the first workload.
別の態様の観点から、本発明は方法を提供し、この方法は、複数のワークロードの各々についてそれぞれの電力性能テーブルを比較することであって、各電力性能テーブルは、それぞれのワークロードを実行するためのコンピュータ・システムの1つまたは複数のパラメータのそれぞれの値を示し、1つまたは複数のパラメータのそれぞれの値は、1つまたは複数のパラメータを反復的に調整している間、コンピュータ・システムの電力消費を含む、コンピュータ・システムの1つまたは複数の特性を監視することに基づいて選択されることと、それぞれの電力性能テーブルの比較に基づいて少なくとも2つの両立可能なワークロードを識別することと、コンピュータ・システムによって同時に実行される少なくとも2つの両立可能なワークロードをスケジューリングすることとを含む。 Viewed from another aspect, the present invention provides a method of comparing a respective power performance table for each of a plurality of workloads, each power performance table representing a respective workload. represents a value for each of one or more parameters of a computer system for executing, the value for each of the one or more parameters is determined by the computer during iteratively adjusting the one or more parameters; - being selected based on monitoring one or more characteristics of the computer system, including system power consumption, and selecting at least two compatible workloads based on comparing respective power performance tables; and scheduling at least two compatible workloads to be executed concurrently by the computer system.
好ましくは、本発明は、1つまたは複数のパラメータが、中央処理ユニット(CPU)周波数、グラフィック処理ユニット(GPU)周波数、マルチコア・プロセッサにおけるアクティブなコアの数、メモリ帯域幅、ネットワーク帯域幅、およびデバイス状態のうちの少なくとも1つを含む、方法を提供する。 Preferably, the present invention is characterized in that one or more parameters are central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor, memory bandwidth, network bandwidth, and A method is provided that includes at least one of device states.
好ましくは、本発明は、1つまたは複数の監視される特性が、中央処理ユニット(CPU)電力使用量、グラフィック処理ユニット(GPU)電力使用量、ファン電力使用量、メモリ電力使用量、ディスク電力使用量、メモリ帯域幅、メモリ・レイテンシ、ディスク入力/出力帯域幅、およびネットワーク帯域幅のうちの1つまたは複数を含む、方法を提供する。 Preferably, the present invention provides that the one or more monitored characteristics are central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk power A method is provided that includes one or more of usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
別の態様の観点から、本発明は、コンピュータ可読プログラムが記憶されたコンピュータ可読ストレージ媒体を備えるコンピュータ・プログラム製品を提供し、コンピュータ可読プログラムは、プロセッサによって実行されると、プロセッサに、ワークロードが実行されている間、コンピュータ・システムの少なくとも1つのパラメータを反復的に調整させ、少なくとも1つのパラメータを調整している間、コンピュータ・システムの総電力消費を含む、コンピュータ・システムの1つまたは複数の特性を監視させ、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成させ、生成された電力プロファイルに基づいてワークロードを実行させる。 Viewed from another aspect, the present invention provides a computer program product comprising a computer readable storage medium having stored thereon a computer readable program which, when executed by a processor, causes the processor to perform a workload of One or more of a computer system comprising iteratively adjusting at least one parameter of the computer system while it is running and including total power consumption of the computer system while adjusting the at least one parameter and generating a power profile for the workload indicating respective selected values for at least one parameter based on an analysis of the monitored total power consumption of the computer system; based on the generated power profile to run the workload.
好ましくは、本発明は、1つまたは複数の監視される特性が、中央処理ユニット(CPU)電力使用量、グラフィック処理ユニット(GPU)電力使用量、ファン電力使用量、メモリ電力使用量、ディスク電力使用量、メモリ帯域幅、メモリ・レイテンシ、ディスク入力/出力帯域幅、およびネットワーク帯域幅のうちの1つまたは複数を含む、コンピュータ・プログラム製品を提供する。 Preferably, the present invention provides that the one or more monitored characteristics are central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk power A computer program product is provided that includes one or more of usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
好ましくは、本発明は、コンピュータ可読プログラムが、プロセッサに、コンピュータ・システムの少なくとも1つのパラメータに対する1つまたは複数の制約に従って少なくとも1つのパラメータを反復的に調整させるように更に構成される、コンピュータ・プログラム製品を提供する。 Preferably, the present invention is a computer system, wherein the computer readable program is further configured to cause the processor to iteratively adjust at least one parameter of the computer system according to one or more constraints on the at least one parameter. Offer a program product.
好ましくは、本発明は、ワークロードが第1のワークロードであり、コンピュータ可読プログラムが、プロセッサに、第1のワークロードの電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較することと、第1のワークロードの電力プロファイルと、1つまたは複数の他のワークロードのそれぞれの電力プロファイルとの比較に基づいて、両立可能なワークロードを識別することと、両立可能なワークロードを、第1のワークロードと同時に実行されるようにスケジューリングすることとによって、第1のワークロードを実行させるように更に構成される、コンピュータ・プログラム製品を提供する。 Preferably, the present invention is one in which the workload is a first workload and the computer readable program instructs the processor to compare the power profile of the first workload with the power profile of each of one or more other workloads. identifying compatible workloads based on the comparing and comparing the power profile of the first workload with respective power profiles of one or more other workloads; A computer program product is further configured to cause the first workload to execute by scheduling the workload to execute concurrently with the first workload.
好ましくは、本発明は、コンピュータ可読プログラムが、プロセッサに、ワークロードを2つ以上のステージに分割させ、2つ以上のステージの各々について少なくとも1つのパラメータを反復的に調整させ、2つ以上のステージの各々について少なくとも1つのパラメータを調整している間、1つまたは複数の特性を監視させ、2つ以上のステージの各々についてそれぞれの電力プロファイルを生成させるように更に構成される、コンピュータ・プログラム製品を提供する。 Preferably, the present invention comprises a computer readable program causing a processor to divide a workload into two or more stages, iteratively adjusting at least one parameter for each of the two or more stages, and performing two or more A computer program further configured to cause one or more characteristics to be monitored while adjusting at least one parameter for each of the stages and to generate respective power profiles for each of the two or more stages. provide products.
好ましくは、本発明は、コンピュータ可読プログラムが、プロセッサに、中央処理ユニット(CPU)周波数、グラフィック処理ユニット(GPU)周波数、マルチコア・プロセッサにおけるアクティブなコアの数、メモリ帯域幅、ネットワーク帯域幅、およびデバイス状態のうちの少なくとも1つを反復的に調整させるように更に構成される、コンピュータ・プログラム製品を提供する。 Preferably, the present invention provides a computer readable program that provides a processor with a central processing unit (CPU) frequency, a graphics processing unit (GPU) frequency, the number of active cores in a multi-core processor, memory bandwidth, network bandwidth, and A computer program product is provided further configured to cause at least one of the device states to be iteratively adjusted.
図面は本発明の例示的な実施形態のみを示し、したがって、範囲を限定するとみなされないことを理解して、例示的な実施形態が、添付の図面の使用を通じて更に具体的かつ詳細に説明される。 With the understanding that the drawings depict only exemplary embodiments of the invention and are therefore not to be considered limiting of its scope, the exemplary embodiments will now be described with further specificity and detail through the use of the accompanying drawings in which: .
一般的な慣例に従って、様々な説明される機能は、縮尺どおりに描写されていないが、例示的な実施形態に関連する特定の機能を強調するように描写されている。 In accordance with common practice, various illustrated features are not drawn to scale, but are drawn to emphasize specific features associated with the exemplary embodiments.
以下の詳細な説明において、本明細書の一部を形成し、かつ、特定の例示的な実施形態が図示により示される添付図面を参照する。しかしながら、他の実施形態が利用され得ることと、論理、機械および電気的な変更が行われ得ることとが理解されるべきである。さらに、図面および本明細書において提示される方法は、個々のステップが実行され得る順序を限定するものと解釈されるべきではない。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。 In the following detailed description, reference is made to the accompanying drawings which form a part hereof and in which certain exemplary embodiments are shown by way of illustration. However, it is to be understood that other embodiments may be utilized and logical, mechanical and electrical changes may be made. Additionally, the drawings and methods presented herein should not be construed as limiting the order in which individual steps may be performed. Therefore, the following detailed description should not be taken in a limiting sense.
上記で論じたように、いくつかのシステムは、特に大規模データ・センタ(例えば、ハイパー・スケール・データ・センタ)において、性能の増大と総所有コスト(TCO)とのバランスをとることに焦点を当てる。TCOは、総取得コスト(TCA)、メンテナンス・コスト、および電力消費に起因した電気料金を含む。TCAおよびメンテナンス・コストは、通常、固定投資である。本明細書に記載の実施形態は、コンピュータ・システムの電力あたりの性能(例えば、ワット)を改善または最適化して、TCOの低減に役立つように構成される。 As discussed above, some systems focus on balancing increased performance with total cost of ownership (TCO), especially in large data centers (e.g., hyper-scale data centers). guess TCO includes total cost of acquisition (TCA), maintenance costs, and electricity bills due to electricity consumption. TCA and maintenance costs are typically fixed investments. Embodiments described herein are configured to improve or optimize the performance per power (eg, Watts) of a computer system to help reduce TCO.
いくつかの最新の中央処理ユニット(CPU)は、CPUの電力バジェットを利用するために異なるワークロードを用いて周波数を調整することができる。例えば、ワークロードが非常に重い場合、周波数は、高い数に達しない場合がある。しかしながら、ワークロードが軽い(例えば、CPUにおいて、1つのアクティブ呼およびロジックの小さな部分が用いられている)場合、CPU周波数は、比較的高い周波数に調整することができる。そのような技術がいくつかの状況において電力節減を改善することができるが、これらは様々な制限も被る可能性がある。例えば、所与のワークロードが、ディスク、ネットワーク、メモリ、グラフィック処理ユニット(GPU)等の非CPUデバイスにおける性能ボトルネックを有する場合、コンピュータ・システムは、より高いCPU周波数および対応するより高いCPU電力使用量を有する場合であっても、より高い性能に達することになる。加えて、ワークロードがCPUの複数のプロセスまたはスレッド間でCPU内部の計算リソースにおいて衝突を有する場合、CPUは、CPU周波数が増大する場合であっても、より僅かな性能改善でより多くの電力を消費することになる。さらに、周波数が増大し、対応する温度が上昇すると、CPU熱要件は、多くの場合、CPU冷却デバイス(例えば、CPUファン)の需要の増大をトリガし、これは、冷却デバイスの電力消費の増大および結果としての電力-性能レートの低下につながり得る。 Some modern central processing units (CPUs) can be frequency tuned with different workloads to take advantage of the CPU's power budget. For example, if the workload is very heavy, the frequency may not reach a high number. However, if the workload is light (eg, one active call and a small portion of logic is used in the CPU), the CPU frequency can be adjusted to a relatively high frequency. While such techniques can improve power savings in some situations, they can also suffer from various limitations. For example, if a given workload has performance bottlenecks in non-CPU devices such as disk, network, memory, graphics processing unit (GPU), etc., the computer system may require higher CPU frequency and correspondingly higher CPU power. Even with usage, higher performance will be reached. In addition, if the workload has conflicts in the computational resources inside the CPU among multiple processes or threads of the CPU, the CPU will consume more power with less performance improvement, even if the CPU frequency increases. will be consumed. Furthermore, as frequencies increase and corresponding temperatures rise, CPU thermal requirements often trigger increased demands on CPU cooling devices (e.g., CPU fans), which in turn increases the power consumption of cooling devices. and resulting power-performance rate degradation.
本明細書に記載の実施形態は、論じた制限および他のものに対処するのに役立つ。特に、以下でより詳細に説明される実施形態は、より包括的で、動的で、自己学習型で、電力-性能ベースのコンピュータ・システム管理方法を可能にする。この方法は、ワークロード変動、ワークロード・スケジューリング、総システム電力消費、環境変化、CPU周波数および電圧等の複数の要因を考慮に入れて、電力使用量あたりの性能またはTCOあたりの性能あるいはその両方を改善することができる、より効率的な管理方式を提供することができる。 The embodiments described herein help address the discussed limitations and others. In particular, the embodiments described in more detail below enable a more comprehensive, dynamic, self-learning, power-performance-based computer system management method. This method takes into account multiple factors such as workload fluctuations, workload scheduling, total system power consumption, environmental changes, CPU frequency and voltage, etc. to achieve performance per power usage and/or performance per TCO. can provide a more efficient management scheme that can improve
本明細書において用いられるとき、「少なくとも1つ」、「1つまたは複数」、および「~または~あるいはその組合せ」という語句は、動作中の結合および分離の両方である無制限の表現である。例えば、「A、B、およびCのうちの少なくとも1つ」、「A、B、またはCのうちの少なくとも1つ」、「A、B、およびCのうちの1つまたは複数」、「A、B、またはCのうちの1つまたは複数」、および「A、B、またはC、あるいはその組合せ」という表現の各々は、A単独、B単独、C単独、AおよびBの組合せ、AおよびCの組合せ、BおよびCの組合せ、またはA、B、およびCの組合せを意味する。換言すれば、「少なくとも1つの」、「1つまたは複数の」、および「~または~あるいはその両方」は、リストからの任意のアイテムの組合せおよびアイテム数を用いることができるが、リスト内の全てのアイテムが必要とされるわけではないことを意味する。アイテムは、特定のオブジェクト、物体、またはカテゴリとすることができる。例えば、いくつかの説明的な例において、「~のうちの少なくとも1つ」は、例えば、制限なく、アイテムAのうちの2つ、アイテムBのうちの1つ、およびアイテムCのうちの10個、ならびにアイテムBのうちの4つおよびアイテムCのうちの7つ、または他の適切な組合せとすることができる。 As used herein, the phrases "at least one," "one or more," and "or or combinations thereof" are open-ended expressions that are both coupling and disassociation in operation. For example, "at least one of A, B, and C," "at least one of A, B, or C," "one or more of A, B, and C," "A , B, or C", and "A, B, or C, or a combination thereof" each refer to A alone, B alone, C alone, A and B in combination, A and It means a combination of C, a combination of B and C, or a combination of A, B, and C. In other words, "at least one," "one or more," and "and/or" can use any combination and number of items from the list, but Means that not all items are required. Items can be specific objects, objects, or categories. For example, in some illustrative examples, "at least one of" means, without limitation, two of item A, one of item B, and ten of item C. and 4 of item B and 7 of item C, or other suitable combination.
さらに、「1つの」エンティティという用語は、そのエンティティのうちの1つまたは複数を指す。そのため、「1つの」、「1つまたは複数」および「少なくとも1つ」という用語は、本明細書において交換可能に使用することができる。また、「備える」、「含む」、および「有する」という用語は、交換可能に使用することができることにも留意されたい。 Further, the term "a" entity refers to one or more of the entities. As such, the terms "one," "one or more," and "at least one" can be used interchangeably herein. It should also be noted that the terms "comprising," "including," and "having" can be used interchangeably.
さらに、「自動的」およびその変形の用語は、本明細書において使用されるとき、プロセスまたは動作が実行されるときに、具体的な人間の入力なしで実行される、任意のプロセスまたは動作のことを指す。しかしながら、プロセスまたは動作の実行前に入力が受信された場合、プロセスまたは動作の実行が具体的なまたは具体的ではない人間の入力を使用するとしても、プロセスまたは動作は、自動的であり得る。人間の入力は、そのような入力がプロセスまたは動作が実行される方法に影響を及ぼす場合、具体的であるとみなされる。プロセスまたは動作の実行に同意する人間の入力は、「具体的」であるとみなされない。 Additionally, the term "automatic" and variations thereof, as used herein, refers to any process or action that is performed without specific human input when the process or action is performed. point to However, if the input is received prior to execution of the process or action, the process or action may be automatic, even though execution of the process or action uses specific or non-specific human input. Human input is considered specific if such input affects the way a process or action is performed. Human input that agrees to perform a process or action is not considered "concrete."
加えて本明細書において用いられるとき、「ワークロード」という用語は、コンピュータ・システムが固定の期間内に行わなくてはならない処理量を指す。例えば、ワークロードは、特定の期間に予期されるクライアント要求、処理および通信リソース等の形態での負荷量を示す。このため、ワークロードは、コンピュータ・システムに送信される要求のタイプおよびレート、実行されるソフトウェア・パッケージおよびアプリケーション・プログラム、コンピュータ・システムにおいて実行されるプログラム/アプリケーションの量、コンピュータ・システムのアプリケーションに接続しているユーザ数、これらのインタラクションが消費する時間および処理電力の量等の要素を含む。ワークロードは、コンピュータ・システムがバックグラウンドで行っている作業も含むことができる。例えば、コンピュータ・システムが、他のシステムによって頻繁にアクセスされるファイル・システムを含む場合、これらのアクセスを扱うことは、コンピュータ・システムが正式にはサーバでない場合であっても、ワークロード全体の大きな部分となり得る。 Additionally, as used herein, the term "workload" refers to the amount of processing that a computer system must perform in a fixed period of time. For example, workload indicates the amount of load in the form of client requests, processing and communication resources, etc. expected over a particular period of time. Thus, a workload is defined as the type and rate of requests sent to a computer system, the software packages and application programs that are run, the amount of programs/applications that are run on the computer system, and the number of applications on the computer system. Including factors such as the number of users connected, the amount of time and processing power these interactions consume. A workload can also include work that the computer system is doing in the background. For example, if a computer system contains file systems that are frequently accessed by other systems, handling these accesses can be a burden on the overall workload, even if the computer system is not formally a server. It can be a big portion.
図1は、電力-性能レートに基づいてコンピュータ・システムを管理するように構成された電力-性能管理システム100の1つの実施形態の概略ブロック図である。換言すれば、電力-性能管理システム100は、コンピュータ・システムの電力対性能比を改善して、コンピュータ・システムの総所有コストを低減するように構成される。電力-性能管理システム100は、電力-性能管理システム100によって管理されているコンピュータ・システム全体の一部とすることができる。さらに、数百または数千のサーバを有するデータ・センタ等の管理されているコンピュータ・システムは、単一のデバイスまたは複数のデバイスを含むことができる。
FIG. 1 is a schematic block diagram of one embodiment of a power-
電力-性能管理システム100は、電力-性能管理エンジン(PPME)102と、電力-性能ワークロード・スケジューラ110と、電力-性能テーブル・データベース108とを備える。PPME102は、コンピュータ・システムによって実行されるかまたは実行されている複数のワークロードの各々について電力-性能テーブルを生成するように構成される。各ワークロードのそれぞれの電力-性能テーブルは、コンピュータ・システム、またはデバイスの電力対性能比を改善するように選択されたコンピュータ・システムまたはデバイスの少なくとも1つのパラメータの選択値(例えば、コンピュータ・システムの電力効率)を示し、それによって総所有コストを低減する。PPME102は、ワークロードの電力-性能テーブルを決定および生成するのに用いられる様々な入力を受信する。例えば、入力は、電力使用量情報、システムまたはデバイスあるいはその両方の特性、利用可能な場合、ワークロードごとの性能スコア、および利用可能な場合、ワークロードの初期電力-性能テーブルを含むことができる。初期電力-性能テーブルは、PPME102によって以前にプロファイリングされたワークロードについて利用可能とすることができる。しかしながら、初期電力-性能テーブルは、新たなワークロードまたは以前にプロファイリングされていないワークロード等、全てのワークローについて利用可能であるわけではない。
The power-
電力使用量情報は、コンピュータ・システムの総電力消費/使用量に関する情報を含むことができ、コンピュータ・システムの個々の構成要素への電力使用量の分解を含むことができる。例えば、電力使用量情報は、限定ではないが、CPU電力使用量、グラフィック処理ユニット(GPU)電力使用量、ファン電力使用量、メモリ電力使用量、ディスク電力使用量等を含むことができる。デバイスまたはシステムあるいはその両方の特性は、限定ではないが、メモリ帯域幅、メモリ・レイテンシ、デバイス、ディスクの状態(例えば、アイドル/スリープまたはアクティブ/ウェイク)またはネットワーク入力/出力(I/O)帯域幅、あるいはそれらの組合せ等を含むことができる。 The power usage information can include information about the total power consumption/usage of the computer system and can include the breakdown of power usage into individual components of the computer system. For example, power usage information may include, but is not limited to, CPU power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk power usage, and the like. Device and/or system characteristics include, but are not limited to, memory bandwidth, memory latency, device, disk state (e.g. idle/sleep or active/wake) or network input/output (I/O) bandwidth Width, or combinations thereof, and the like.
ワークロードの性能スコア(性能目標とも呼ばれる)は、コンピュータ・システムの性能または所望の性能結果あるいはその両方を測定するのに用いられる測定値を示すことができる。例えば、いくつかの状況では、性能スコアは、所望の性能が、指定された最悪のケースの応答時間を保ちながら、システム・スループットを増大させるかまたは最大にすることであることを示す場合がある。他の状況では、性能スコアは、限定ではないが、一定のワークロードについて可能な限り最良の応答時間、ユーザ要求に対する最小の応答時間等を得ること等の他の性能測定値に基づいてもよい。いくつかの実施形態において、性能スコアの決定は、ユーザまたはシステム・マネージャによって設定することができる。 A workload's performance score (also called a performance goal) can represent a metric used to measure a computer system's performance and/or desired performance results. For example, in some situations, the performance score may indicate that the desired performance is to increase or maximize system throughput while maintaining a specified worst case response time. . In other situations, the performance score may be based on other performance measures such as, but not limited to, obtaining the best possible response time for a given workload, minimum response time to user requests, etc. . In some embodiments, performance score determination can be configured by a user or system manager.
さらに、PPME102は、コンピュータ・システムのためのターゲットまたは制約あるいはその両方を受信することができる。ターゲット/制約は、ワークロードが実行される特定のパラメータまたは条件範囲を定義することができる。例えば、ターゲット/制約は、限定ではないが、最大総電力使用量(例えば、データ・センタ、ラックまたはノードあるいはそれらの組合せの総電力)、ワークロードを完了するための総実行時間、ワークロードのCPUまたはコアあるいはその両方の最大数または最小数あるいはその両方、最小または最大あるいはその両方のメモリ帯域幅/レイテンシ、最小または最大あるいはその両方のネットワーク帯域幅/レイテンシ等のパラメータを定義することができる。 Additionally, PPME 102 may receive targets and/or constraints for the computer system. Targets/constraints can define specific parameters or conditions under which a workload is run. For example, targets/constraints may include, but are not limited to, maximum total power usage (e.g., total power of a data center, rack or node or combination thereof), total execution time to complete a workload, Parameters such as maximum and/or minimum number of CPUs and/or cores, minimum and/or maximum memory bandwidth/latency, and minimum and/or maximum network bandwidth/latency can be defined. .
PPME102は、掃引コントローラ(sweeping controller)104および電力-性能評価器およびモニタ106を含む。掃引コントローラ104は、コンピュータ・システムの1つまたは複数のパラメータを掃引する(例えば、反復的に調整/変更する)ように構成される。例えば、いくつかの実施形態では、掃引コントローラ104は、ワークロードの任意の受信したターゲット/制約に従って、CPU周波数、GPU周波数、マルチコア・プロセッサにおけるアクティブなコアの数、メモリ帯域幅/レイテンシ、デバイス状態等のうちの1つまたは複数を掃引するように構成することができる。すなわち、掃引コントローラ104は、アクティブなコアの数を、ワークロードのアクティブなコアの指定された最小数未満に調整すること、最大実行時間を超えること等、制約と衝突する値の調整なしでパラメータを掃引することができる。掃引コントローラ104は、各パラメータを順に掃引する(すなわち、1つのパラメータを完全に掃引した後に別のパラメータを掃引する)かまたは複数のパラメータを並列に掃引する(例えば、複数のパラメータに対する調整を交互に行うかまたは2つ以上のパラメータを同時に掃引する)ように構成することができる。 PPME 102 includes sweeping controller 104 and power-performance evaluator and monitor 106 . Sweep controller 104 is configured to sweep (eg, iteratively adjust/change) one or more parameters of the computer system. For example, in some embodiments, the sweep controller 104, according to any received targets/constraints of the workload, CPU frequency, GPU frequency, number of active cores in a multi-core processor, memory bandwidth/latency, device state etc., can be configured to sweep. That is, the sweep controller 104 can adjust the number of active cores to less than the specified minimum number of active cores for the workload, exceed the maximum execution time, etc., without adjusting values that conflict with constraints. can be swept. Sweep controller 104 may sweep each parameter in sequence (i.e., sweep one parameter completely followed by another) or sweep multiple parameters in parallel (e.g., alternate adjustments to multiple parameters). or sweep two or more parameters simultaneously).
電力-性能評価器およびモニタ106は、コンピュータ・システム全体の総電力消費でワークロードをプロファイリングするように構成される。特に、電力-性能評価器およびモニタ106は、掃引コントローラ104が1つまたは複数のパラメータを掃引している間、本明細書に論じた電力使用量情報およびシステム/デバイス特性をPPME102に対する入力として収集するように構成される。例えば、電力-性能評価器およびモニタ106は、電力消費内訳、掃引情報(例えば、掃引されているパラメータの値)、メモリ帯域幅、アクティブなコアの数、ディスクまたはネットワーク使用量等を収集することができる。電力-性能評価器およびモニタ106は、応答または実行時間、スループット制約等の任意の受信したターゲットまたは制約に関して収集された情報を評価するように構成される。さらに、電力-性能評価器およびモニタ106は、いくつかの実施形態では、掃引コントローラ104に対し、収集されたデータの評価に基づいて1つまたは複数のパラメータを調整するようにコマンドを送信することができる。 Power-performance evaluator and monitor 106 is configured to profile workloads in terms of total power consumption of the entire computer system. In particular, power-performance evaluator and monitor 106 collects power usage information and system/device characteristics discussed herein as input to PPME 102 while sweep controller 104 sweeps one or more parameters. configured to For example, power-performance evaluator and monitor 106 may collect power consumption breakdown, sweep information (e.g., values of parameters being swept), memory bandwidth, number of active cores, disk or network usage, etc. can be done. Power-performance evaluator and monitor 106 is configured to evaluate the information collected regarding any received targets or constraints, such as response or execution time, throughput constraints, and the like. Further, the power-performance evaluator and monitor 106, in some embodiments, sends commands to the sweep controller 104 to adjust one or more parameters based on the evaluation of the collected data. can be done.
さらに、評価に基づいて、電力-性能評価器およびモニタ106は、1つまたは複数のパラメータの各々について、任意の適用可能な制約内で、電力使用量を低減させながら、性能を増大させるかまたは性能を定義された制約内に維持する値を選択する。すなわち、電力-性能評価器およびモニタ106は、コンピュータ・システムの性能と、コンピュータ・システムの電力使用量との間のバランスを最適化しようとする。すなわち、結果として最高の性能をもたらさない場合があるが、最高の性能を有する値と比較して十分な電力使用量節減を有する値を選択することができる。同様に、選択された値は、結果として最小の電力使用量をもたらさない場合があるが、最小電力使用量を有する値を上回る十分な性能改善を有する。いくつかの実施形態では、電力使用量のワットあたりの最高性能を結果としてもたらす値が選択される。電力-性能評価器およびモニタ106は、電力-性能テーブル・データベース108に保存されるそれぞれのワークロードのための電力-性能プロファイルまたはテーブルに、選択された値を保存する。換言すれば、電力-性能評価器およびモニタ106は、任意の適用可能なターゲット/制約を所与として、最小電力使用量を有する所望の性能スコアを達成するかまたは超える設定を決定することができる。
Further, based on the evaluation, the power-performance evaluator and monitor 106 reduces power usage while increasing or increasing performance, within any applicable constraints, for each of the one or more parameters. Choose values that keep performance within defined constraints. That is, power-performance evaluator and monitor 106 seeks to optimize the balance between computer system performance and computer system power usage. That is, a value may be selected that may not result in the best performance, but that has sufficient power usage savings compared to the value that has the best performance. Similarly, the selected value may not result in the lowest power usage, but has significant performance improvement over the value with the lowest power usage. In some embodiments, the value that results in the highest performance per watt of power usage is selected. Power-performance evaluator and monitor 106 stores the selected values in a power-performance profile or table for each workload stored in power-
いくつかの実施形態では、PPME102は、所与のワークロードを2つ以上のステージまたはサブパートに分割するように構成されることを理解されたい。例えば、所与のワークロードは、ワークロードの開始時において、ワークロードの途中または終了時とは異なる計算要件を有する場合がある。このため、ワークロードは、サブパートまたはステージに分割することができる。そのような状況において、PPME102は、掃引を実行し、各ステージについて別個に監視して、ステージごとの電力-性能テーブルを展開するように構成される。このため、そのようなワークロードは、電力-性能テーブル・データベース108に記憶される複数の電力-性能テーブルを有することができる。他の実施形態において、複数のステージに対応する複数のテーブルは、ワークロードについて単一の電力-性能テーブルにマージする/組み合わせることができる。
It should be appreciated that in some embodiments, PPME 102 is configured to divide a given workload into two or more stages or subparts. For example, a given workload may have different computational requirements at the beginning of the workload than during or at the end of the workload. As such, the workload can be divided into subparts or stages. In such situations, the PPME 102 is configured to perform sweeps and monitor each stage separately to develop a power-performance table for each stage. As such, such a workload may have multiple power-performance tables stored in power-
ワークロードがコンピュータ・システム上で実行されるとき、PPME102は、電力-性能テーブル・データベース108内にワークロードについての電力-性能テーブルが存在するか否かを判断することができる。1つが利用可能である場合、PPME102は、電力-性能テーブル・データベース108から、パラメータを掃引し、ワークロードの電力対性能の関係を評価するための開始点として用いるためのそれぞれの電力-性能テーブルを索出することができる。すなわち、PPME102は、ワークロードの後続の実行中、ワークロードのための既存の電力-性能テーブルを更新するように構成することができる。さらに、PPME102は、監視されるワークロード性能スコアまたは電力消費が、所与のワークロードの電力-性能テーブルにおける基準値または初期値と比較して、閾値量を超えて変化する場合、電力-性能ワークロード・スケジューラ110に例外を報告するように構成することができる。例えば、所与のワークロードの処理需要が、ワークロードの実行中のデータ、入力、ユーザ挙動/動作の変化等に起因して、ワークロードの実行時間中に変化する場合がある。そのようなシナリオにおいて、例外が、掃引および監視の別のラウンドをトリガし、所与のワークロードのための電力-性能テーブルを、変化したワークロードを反映/特性化するように更新することができる。いくつかの実施形態では、変化したワークロードは、既存の電力-性能テーブルを更新するのではなく、新たな電力-性能テーブルが作成された新たなワークロードとみなされる。
When a workload runs on a computer system, PPME 102 can determine whether a power-performance table exists for the workload in power-
いくつかの実施形態では、PPME102は、コンピュータ・システム上で実行される各ワークロードについて電力-性能テーブルを生成するように構成することができることを理解されたい。他の実施形態では、PPME102は、コンピュータ・システムにおいて実行されるワークロードの総数のサブセットについて電力-性能テーブルの生成または更新あるいはその両方を行うように構成することができる。例えば、いくつかの実施形態では、ユーザは、全てではなくいくつかのみのワークロードがプロファイリングされるように、PPME102によってプロファイリングされるワークロードのタイプを指定することができる。 It should be appreciated that in some embodiments, PPME 102 may be configured to generate power-performance tables for each workload running on the computer system. In other embodiments, PPME 102 may be configured to generate and/or update power-performance tables for a subset of the total number of workloads running on the computer system. For example, in some embodiments, a user may specify the types of workloads to be profiled by PPME 102 such that only some, but not all, workloads are profiled.
ワークロードがコンピュータ・システムによって実行されているとき、電力-性能ワークロード・スケジューラ110は、ワークロードのための関連電力-性能テーブル/プロファイル、およびPPME102からの任意の更新を索出し、関連電力-性能テーブルにおける設定(例えば、CPU周波数、GPU周波数、アクティブなコアの数等)を用いてワークロードを実行するようにシステムを構成することができる。このようにして、管理システム100は、個々の構成要素(例えば、CPU、GPU、ファン等)のハードウェア特性、ソフトウェアアプリケーション、電力使用量、および総コンピュータ・システム電力使用量を考慮に入れて、電力使用量を低減しながら、特定の性能スコアまたは制約あるいはその両方を満たすワークロードを実行するための適切な設置/パラメータを決定し、それによって総所有コストも減少させることができる。このため、本明細書に記載の実施形態は、フル・スタック(ソフトウェア/ハードウェア)電力-性能ベースの管理方式を可能にする。
When the workload is being executed by the computer system, the power-
図2は、コンピュータ・システムを管理するための方法200の1つの実施形態の流れ図である。方法200は、PPMEおよび電力-性能ワークロード・スケジューラを含む、上記で説明した管理システム100等の管理システムによって実行することができる。例示的な方法200におけるアクションの順序は、説明の目的で提供されること、および方法200は他の実施形態において異なる順序で実行することができることが理解されよう。例えば、いくつかのアクションは、説明を容易にするために、記載されたような連続形式ではなく、同時に行われてもよい。同様に、他の実施形態では、いくつかのアクションが省かれてもよく、または追加のアクションが含まれてもよいことを理解されたい。
FIG. 2 is a flow diagram of one embodiment of a
202において、プロファイリングされるワークロードが受信される。ワークロードを受信することは、実行されるワークロードに関する情報を受信すること、または既に実行されているワークロードをプロファイリングするための信号もしくはコマンドを受信することを含むことができる。例えば、ユーザは、いずれのワークロードをプロファイリングするかを示す設定を定義することができる。換言すれば、いくつかの実施形態において、全てのワークロードがプロファイリングされるのに対し、他の実施形態では、ワークロードのサブセットのみが、ユーザが定義した設定に基づいてプロファイリングされる。204において、ワークロードが新たなワークロードであるか否かが判断される。すなわち、ワークロードが以前にプロファイリングされたか否かが判断される(例えば、ワークロードのための電力-性能テーブルが電力-性能テーブル・データベースに記憶される)。 At 202, a workload to be profiled is received. Receiving the workload may include receiving information about the workload to be executed, or receiving a signal or command to profile a workload that has already been executed. For example, a user can define settings that indicate which workloads to profile. In other words, in some embodiments the entire workload is profiled, whereas in other embodiments only a subset of the workload is profiled based on user-defined settings. At 204, it is determined whether the workload is a new workload. That is, it is determined whether the workload has been previously profiled (eg, the power-performance table for the workload is stored in the power-performance table database).
ワークロードが新たなワークロードでない場合、206において、電力-性能テーブル・データベースから初期電力-性能テーブルが索出される。電力-性能テーブルからの設定が、ワークロードを実行する際に用いられる。例えば、CPU周波数、コアの数、ディスク/メモリ/ネットワーク使用量等に対する制約に関する設定が、ワークロードを実行する際に適用される。208において、初期電力-性能テーブルが更新されるか否かが判断される。例えば、いくつかの実施形態では、ユーザ設定に基づいて、電力-性能テーブルの全てまたは一部分が、対応するワークロードが実行されるときに更新されるように設定される。さらに、いくつかの実施形態では、ワークロードは、210において実行されている間に監視され、ワークロードの実行中に、監視される値がある特定の閾値を超えて変化する場合、電力-性能ワークロード・スケジューラに報告される例外等により、更新をトリガすることができる。いくつかの実施形態では、変化が閾値を超えている場合、ワークロードは、新たなワークロードとして扱われ、新たな電力-性能テーブルがワークロードについて生成される。初期電力-性能テーブルが更新されていない場合、方法200は210に続き、210において、ワークロードが、ワークロードに対応する電力-性能テーブルにおける設定に基づいて実行される。
If the workload is not a new workload, at 206 the initial power-performance table is retrieved from the power-performance table database. Settings from the power-performance table are used in running the workload. For example, settings related to constraints on CPU frequency, number of cores, disk/memory/network usage, etc. are applied when running a workload. At 208, it is determined whether the initial power-performance table is updated. For example, in some embodiments, based on user settings, all or a portion of the power-performance table is set to be updated when the corresponding workload is executed. Further, in some embodiments, the workload is monitored while it is running at 210, and if the monitored value changes beyond a certain threshold during execution of the workload, power-performance Updates can be triggered by things such as exceptions reported to the workload scheduler. In some embodiments, if the change exceeds the threshold, the workload is treated as a new workload and a new power-performance table is generated for the workload. If the initial power-performance table has not been updated,
204において、ワークロードが新たなワークロードである場合、または208において、初期電力-性能テーブルが更新される場合、方法200は212に進み、212において、PPMEは、ワークロードを実行している間、コンピュータ・システムの少なくとも1つのパラメータを掃引する。換言すれば、上記で説明したように、PPMEは、少なくとも1つのパラメータを反復的に調整する。
At 204, if the workload is a new workload, or if at 208 the initial power-performance table is updated, the
例えば、PPMEは、最低CPU周波数で開始し、CPU周波数を、CPUのための最高CPU周波数に達するまで所定の量で反復的に調整することができる。上記で論じたように、CPU周波数に加えて、またはCPU周波数の代わりに掃引することができる他のパラメータは、限定ではないが、GPU周波数、アクティブなコアの数、メモリ帯域幅、デバイスのアクティブな状態等を含む。いくつかの実施形態では、プロファイリングされているワークロードについて、ターゲットまたは制約が提供された。このため、上記で論じたように、ターゲットまたは制約が違反されない(例えば、最大実行時間を超えない、アクティブなコアの最小数が満たされる等)ように、これらの制約に従って掃引が行われる。 For example, the PPME may start with the lowest CPU frequency and iteratively adjust the CPU frequency by a predetermined amount until reaching the highest CPU frequency for the CPU. As discussed above, other parameters that can be swept in addition to or instead of CPU frequency include, but are not limited to, GPU frequency, number of active cores, memory bandwidth, device active state, etc. In some embodiments, targets or constraints were provided for the workload being profiled. Thus, as discussed above, sweeping is performed according to targets or constraints such that these constraints are not violated (e.g., maximum execution time is not exceeded, minimum number of active cores are met, etc.).
214において、少なくとも1つのパラメータが掃引されている間、PPMEは、上記で説明したように、システムの様々な特性を監視および評価し、監視された特性を、掃引されているパラメータの値と相関付ける。上記で論じたように、そのような特性は、限定ではないが、システムによって消費される総電力、およびパラメータが掃引されているときに個々の構成要素によって消費される総電力の一部、環境温度、プロセッサまたは他の構成要素への電力供給のワット数、応答時間、帯域幅、レイテンシ等を含むことができる。電力消費の監視される特性および分析/評価に基づいて、PPMEは、ワークロードの実行中に消費される電力も低減しながら、性能を増大させるか、または所望の性能スコア内の性能を維持するか、または任意のターゲット/制約に準拠するか、あるいはそれらの組合せである、掃引されている各パラメータのそれぞれの値を選択する。このようにして、電力使用量あたりの性能が改善され、これにより、上記で論じたように、結果として総所有コストが低減され得る。216において、次に、PPMEは、掃引されている1つまたは複数のパラメータ(例えば、CPU周波数、GPU周波数、コア・カウント、メモリ情報、ディスク情報または他の実行時間情報、あるいはそれらの組合せ)の各々についてそれぞれの値を含む電力-性能テーブルを生成または更新する。218において、電力-性能テーブルは、電力-性能テーブル・データベースに記憶される。 At 214, while the at least one parameter is being swept, the PPME monitors and evaluates various characteristics of the system, as described above, and correlates the monitored characteristics with the values of the parameter being swept. wear. As discussed above, such characteristics include, but are not limited to, the total power consumed by the system and a fraction of the total power consumed by individual components when parameters are being swept, the environmental It can include temperature, wattage of the power supply to the processor or other components, response time, bandwidth, latency, and the like. Based on the monitored characteristics and analysis/evaluation of power consumption, PPME increases performance or maintains performance within a desired performance score while also reducing power consumed during workload execution. , or comply with any target/constraint, or a combination thereof, for each parameter being swept. In this way, performance per power usage is improved, which may result in lower total cost of ownership, as discussed above. At 216, the PPME then retrieves one or more parameters being swept (eg, CPU frequency, GPU frequency, core count, memory information, disk information or other runtime information, or combinations thereof). Generate or update a power-performance table containing respective values for each. At 218, the power-performance table is stored in a power-performance table database.
さらに、上記で論じたように、212におけるパラメータの掃引、214における特性の監視、216における電力-性能テーブルの生成、および218における電力-性能テーブルの記憶を含むワークロードのプロファイリングを、ワークロードのサブパートまたはステージについて行うことができる。すなわち、上記で論じたように、ワークロードは、プロファイリングのためにより小さなサブセクションに分割することができる。このようにして、性能対電力比の改善において更なる粒度を提供するように、ワークロードにおける変動を考慮に入れることができる。 Further, as discussed above, workload profiling, including parameter sweeping at 212, characteristic monitoring at 214, power-performance table generation at 216, and power-performance table storage at 218, can be performed on the workload. It can be done for subparts or stages. That is, as discussed above, the workload can be divided into smaller subsections for profiling. In this way, variations in workload can be taken into account to provide more granularity in improving the performance-to-power ratio.
次に、方法200は210に続き、210において、1つまたは複数のパラメータのそれぞれの選択値を用いてワークロードが実行される。さらに、それぞれの選択値を用いてワークロードを実行することは、ワークロードについての電力-性能テーブルに基づいてワークロードをスケジューリングすることを含むことができる。特に、複数のワークロードの電力-性能テーブル(本明細書において電力プロファイルとも呼ばれる)を比較して、それぞれの電力プロファイルに基づいて2つ以上の両立可能なワークロードを識別することができる。例えば、第1のワークロードの電力プロファイルを、1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較して、少なくとも1つの両立可能なワークロードを識別することができる。本明細書において用いられるとき、両立可能なワークロードは、それぞれの電力プロファイルが、同時に実行することができるかまたは衝突しない設定(例えば、同じまたは類似の設定)を示すワークロードである。例えば、それぞれの電力プロファイルが、例えば同じまたは類似のCPU周波数またはGPU周波数を示す2つのワークロードは、両立可能なワークロードである。同じまたは類似の設定とは、設定間の任意の差が所定の閾値内であることを意味する。次に、管理システムは、同じコンピュータ・システムまたはサーバ上で同時に実行される両立可能なワークロードをスケジューリングすることができる。例えば、数百または数千のサーバを有するデータ・センタにおいて、データ・センタが全体として、それぞれの電力プロファイルにおける設定に従って実行されている複数のワークロードの電力使用量あたりの改善された性能の集約から利益を受けることができるように、同じサーバ上で両立可能なワークロードをスケジューリングすることができる。このようにして、データ・センタが全体として電力あたりの性能を改善し、結果として総所有コストを低減させた。
The
このため、本明細書に記載の実施形態は、フル・スタック(ソフトウェア-ハードウェア)検討を利用して、より低い電力使用量での性能を得る、例示的な方法200等の電力-性能ベースの管理方式の実行を通じて様々な利点を可能にする。性能対電力比を改善または最適化することによって、コンピュータ・システムの総所有コストを低減することができる。さらに、ワークロードは、単にCPU使用量に基づくのではなく、異なるシステム/ワークロード(例えば、構成、寿命、環境等)の完全な検討に基づいてスケジューリングすることができる。これによって、構成要素(例えば、CPU、ファン等)の使用量およびスケジューリングを改善することによって、ハードウェアのライフ・サイクルに利益がもたらされる。この結果として、インフラストラクチャのコストの低下ももたらすことができる(例えば、空調の最適化された使用、ノイズの低減等に起因する)。
As such, the embodiments described herein utilize power-performance-based techniques such as
管理システム100は、様々な方式で実施することができることを理解されたい。例えば、いくつかの実施形態では、管理システムは、図3に示す例示的な管理システム等における1つまたは複数のプロセッサにおいて実行されるソフトウェア命令を用いて実施される。図3は、例示的な管理システム300の1つの実施形態のブロック図である。図3に示す例示的な管理システム300の構成要素は、1つまたは複数のプロセッサ302と、メモリ304と、ストレージ・インタフェース316と、入力/出力(「I/O」)デバイス・インタフェース312と、ネットワーク・インタフェース318とを備え、その全てが、メモリ・バス306、I/Oバス308、バス・インタフェース・ユニット(「IF」)309、およびI/Oバス・インタフェース・ユニット310を介した構成要素間通信のために直接または間接的に通信可能に結合される。
It should be appreciated that
図3に示す実施形態において、管理システム300は、本明細書において包括的にプロセッサ302と呼ばれる、1つまたは複数の汎用プログラマブル中央処理ユニット(CPU)302Aおよび302Bも備える。いくつかの実施形態では、管理システム300は複数のプロセッサを含む。しかしながら、他の実施形態では、管理システム300は単一CPUシステムである。各プロセッサ302は、メモリ304に記憶された命令を実行する。
In the embodiment shown in FIG. 3, management system 300 also includes one or more general purpose programmable central processing units (CPUs) 302A and 302B, collectively referred to herein as
いくつかの実施形態では、メモリ304は、データおよびプログラムを記憶またはエンコードするためのランダム・アクセス半導体メモリ、ストレージ・デバイスまたはストレージ媒体(揮発性または不揮発性)を含む。例えば、メモリ304は、PPME命令340およびPPワークロード・スケジューラ命令342を記憶する。プロセッサ302等のプロセッサによって実行されると、PPME命令340およびPPワークロード・スケジューラ命令342は、プロセッサ302に、図1の管理システム100および図2の方法200に関して上記で論じた機能および計算を実行させる。このため、PPME命令340およびPPワークロード・スケジューラ命令342は、プロセッサ302に、PPME102(掃引コントローラ104および電力-性能評価器およびモニタ106を含む)および上記の電力-性能ワークロード・スケジューラ110を実装させる。
In some embodiments,
いくつかの実施形態では、メモリ304は、管理システム300の仮想メモリ全体を表し、ネットワークを介して管理システム300に結合された他のコンピュータ・システムの仮想メモリも含むことができる。いくつかの実施形態では、メモリ304は単一のモノリシック・エンティティであるが、他の実施形態では、メモリ304は、キャッシュおよび他のメモリ・デバイスの階層を含む。例えば、メモリ304は、キャッシュの複数のレベルに存在することができ、これらのキャッシュは、1つのキャッシュが命令を保持する一方で、別のキャッシュがプロセッサによって用いられる非命令データを保持するように、機能によって更に分割することができる。例えば、任意の種々のいわゆる不均一メモリ・アクセス(NUMA)コンピュータ・アーキテクチャにおいて知られているように、メモリ304は、更に分散され、異なるCPUまたはCPUのセットと関連付けられていてもよい。このため、説明の目的で、PPME命令340およびPPワークロード・スケジューラ命令342は図3に示す例において同じメモリ304に記憶されているが、他の実施形態は異なる形で実施されてもよいことを理解されたい。例えば、PPME命令340およびPPワークロード・スケジューラ命令342は、複数の物理的媒体にわたって分散されていてもよい。
In some embodiments,
同様に、この例において、PPME命令340の実行を通じて生成されたPPテーブル346はメモリ304に記憶される。しかしながら、他の実施形態では、PPテーブル346は異なる形で記憶されることを理解されたい。例えば、いくつかの実施形態では、PPテーブル346は、ストレージ・インタフェース316に通信可能にアタッチされたストレージ・デバイス328上に記憶することができる。このため、PPテーブル346は、管理システムにローカルなストレージ・デバイス上に記憶することができるか、または遠隔に位置し、ネットワークを介してアクセスすることができる。
Similarly, in this example, PP table 346 generated through execution of PPME instructions 340 is stored in
図3に示す実施形態における管理システム300は、プロセッサ302、メモリ304、ディスプレイ・システム324およびI/Oバス・インタフェース・ユニット310間の通信を扱うバス・インタフェース・ユニット309も備える。I/Oバス・インタフェース・ユニット310は、様々なI/Oユニットとの間でデータを転送するためのI/Oバス308と結合される。特に、I/Oバス・インタフェース・ユニット310は、I/Oバス308を通じて、I/Oプロセッサ(IOP)またはI/Oアダプタ(IOA)としても知られる、複数のI/Oインタフェース・ユニット312、316、および318と通信することができる。ディスプレイ・システム324はディスプレイ・コントローラ、ディスプレイ・メモリまたは両方を含む。ディスプレイ・コントローラは、ビデオ、静止画像、オーディオ、またはそれらの組合せをディスプレイ・デバイス326に提供することができる。ディスプレイ・メモリは、ビデオ・データをバッファリングするための専用メモリとすることができる。
Management system 300 in the embodiment shown in FIG. 3 also includes
I/Oインタフェース・ユニットは、多岐にわたるストレージおよびI/Oデバイスを用いて通信をサポートする。例えば、I/Oデバイス・インタフェース・ユニット312は、1つまたは複数のユーザI/Oデバイス320のアタッチをサポートし、これは、ユーザ出力デバイスおよびユーザ入力デバイス(キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライト・ペンまたは他のポインティング・デバイス等)を含むことができる。ユーザは、ターゲットおよび制約等の入力データおよびコマンドをユーザI/Oデバイス320に提供するために、ユーザ・インタフェースを用いてユーザ入力デバイス320を操作することができる。さらに、ユーザは、ユーザ出力デバイスを介して出力データを受信することができる。例えば、ユーザ・インタフェースは、ディスプレイ・デバイス上に表示されるかまたはスピーカを介して再生される等、ユーザI/Oデバイス320を介して提示することができる。
The I/O interface unit supports communication with a wide variety of storage and I/O devices. For example, the I/O
ストレージ・インタフェース316は、フラッシュ・メモリ等の1つまたは複数のストレージ・デバイス328のアタッチメントをサポートする。メモリ304のコンテンツまたはその任意の部分は、必要に応じて、ストレージ・デバイス328に記憶し、ここから索出することができる。ネットワーク・インタフェース318は、管理システム300から他のデジタル・デバイスおよびコンピュータ・システムへの1つまたは複数の通信経路を提供する。
図3に示す管理システム300は、プロセッサ302、メモリ304、バス・インタフェース309、ディスプレイ・システム324、およびI/Oバス・インタフェース・ユニット310間の直接通信経路を提供する特定のバス構造を示しているが、代替の実施形態では、管理システム300は、階層型、スター型、またはウェブ型構成のポイント・ツー・ポイント・リンク、多階層バス、並列および冗長経路、または任意の他の適切なタイプの構成等の様々な形態のうちの任意のもので配列することができる様々なバスまたは通信経路を含む。さらに、I/Oバス・インタフェース・ユニット310およびI/Oバス308は単一のそれぞれのユニットとして示されているが、他の実施形態では、電子物理ノート(electronic physical note)300は、複数のI/Oバス・インタフェース・ユニット310または複数のI/Oバス308あるいはその両方を含むことができる。I/Oバス308を、様々なI/Oデバイスに達する様々な経路と切り離す、様々な複数のI/Oインタフェース・ユニットが示されているが、他の実施形態では、I/Oデバイスのうちのいくつかまたは全てが1つまたは複数のシステムI/Oバスに直接接続されている。
Management system 300 shown in FIG. However, in alternate embodiments, the management system 300 may include point-to-point links in hierarchical, star, or web configurations, multitiered buses, parallel and redundant paths, or any other suitable type of It includes various buses or communication paths that can be arranged in any of a variety of configurations, such as configurations of . Further, although I/O
図3は、例示的な管理システム300の説明的な構成要素を示す。しかしながら、他の実施形態では、図3に示す構成要素のうちのいくつかが省かれてもよく、または他の構成要素が含まれてもよく、あるいはその両方であってもよいことが理解される。例えば、いくつかの実施形態では、ディスプレイ・システム324およびディスプレイ326を省くことができる。さらに、上記で論じたように、いくつかの実施形態では、図3に示す構成要素およびデータのうちの1つ以上は、プロセッサ302上で実行される命令もしくはステートメント、または本明細書に記載の機能を実行するためにプロセッサ302を実行する命令もしくはステートメントによって解釈される命令もしくはステートメントを含む。しかしながら、他の実施形態では、図3に示されるコンポーネントのうちの1つまたは複数は、ソフトウェア命令を実行するプロセッサ・ベース・システムの代わりに、またはプロセッサ・ベース・システムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カードまたは他の物理ハードウェアデバイスあるいはその組合せを介してハードウェアに実装される。
FIG. 3 shows illustrative components of an exemplary management system 300 . However, it is understood that in other embodiments, some of the components shown in FIG. 3 may be omitted and/or other components may be included. be. For example,
例えば、図4に示すように、例示的な管理システム400は、強化されたCPU402に埋め込まれたファームウェアとしてPPME102を実施するように構成された強化されたCPU402を含む。当業者によって理解されるように、図4に示す強化されたCPU460の構成要素は、例としてのみ提示され、他の実施形態では、浮動小数点ユニット(FPU)等の他の構成要素が含まれてもよいことが理解される。さらに、例示的な管理システム400の構成要素は、例としてのみ提示され、他の実施形態では他の構成要素が含まれてもよいことが理解される。
For example, as shown in FIG. 4,
図4に示す例示的な管理システム400は、バス486を介してメイン・メモリ480、ストレージ・デバイス482およびインタフェース484に通信可能に結合された、強化されたCPU402を備える。メイン・メモリ480は、一般に、ランダム・アクセス・メモリ(例えば、静的ランダム・アクセス・メモリ(SRAM)、動的ランダム・アクセス・メモリ(DRAM)、またはFlash)を表すものとして含まれる。ストレージ・デバイス482は、一般に、ハード・ディスク・ドライブ、ソリッド・ステート・デバイス(SSD)、リムーバブル・メモリ・カード、光学ストレージ、またはフラッシュ・メモリ・デバイス等の不揮発性メモリを表すものとして含まれる。代替的な実施形態では、ストレージ・デバイス482は、インタフェース484に結合された通信ネットワークを介して管理システム400に接続された、ストレージ・エリア・ネットワーク(SAN)デバイス、クラウドまたは他のデバイスと置き換えることができる。
The
図4の例において、強化されたCPU402は、制御ユニット460と、論理演算ユニット(ALU)462と、バス・インタフェース470と、レジスタ464とを備える。当業者によって理解されるように、制御ユニット460は、命令によって指定されるアクションを実行するようにCPU402の他の構成要素を制御する信号を生成する。例えば、制御ユニット460は、命令/データをフェッチし、命令を復号し、命令を実行するタイミングを判断する。制御ユニット460は、有限状態機械として実施することができ、デコーダ、マルチプレクサおよび他の論理構成要素を含むことができる。
In the example of FIG. 4, enhanced CPU 402 comprises
当業者に既知であるように、ALU462は、加算、減算、比較等のビット群に対する算術演算および論理演算を行うデバイスである。バス・インタフェース470は、CPU402を、バス486を介して、メイン・メモリ、480、ストレージ・デバイス482および入力/出力(I/O)デバイス・インタフェース484等のコンピュータの他の構成要素に接続する。例えば、当業者に既知であるように、バス・インタフェース470は、アドレス・バス上にアドレスを配置し、データ・バス上でデータの読み出しおよび書き込みを行い、制御バス上で信号の読み出しおよび書き込みを行うための回路を含むことができる。
As known to those skilled in the art,
当業者に既知であるように、レジスタ464は、データの記憶空間、およびタスクの実行のための他の情報を提供する。当業者に既知であるように、レジスタ464は、算術演算、論理演算および他の演算のためのデータを記憶するのに用いられるデータ・レジスタ、メモリ内のアドレスまたはロケーションへポインティングするのに用いられるポインタ・レジスタ、インデックス付けされたアドレス指定のために用いられるインデックス・レジスタ等の汎用レジスタを含むことができる。当業者に既知であるように、レジスタ464は、プロセッサ・コアの動作のための特定の定義された機能を有する専用レジスタも含むことができる。例えば、当業者に既知であるように、専用レジスタは、動作中の様々なタイプの状態コードを含めるために用いられる状態コードまたはフラグ・レジスタと、実行されている現在の命令または次の命令をポインティングするために用いられるプログラム・カウンタとを含むことができる。 As known to those skilled in the art, registers 464 provide storage space for data and other information for the execution of tasks. As known to those skilled in the art, registers 464 are used to point to data registers, addresses or locations in memory that are used to store data for arithmetic, logic and other operations. General purpose registers such as pointer registers and index registers used for indexed addressing may be included. As known to those skilled in the art, registers 464 may also include dedicated registers with specific defined functions for operation of the processor core. For example, as known to those skilled in the art, dedicated registers include a status code or flags register that is used to contain various types of status codes during operation, and the current or next instruction being executed. and a program counter used for pointing.
強化されたCPU402は、強化されたCPU402が上記で論じたPPME102の機能を実行することを可能にするPPMEファームウェア472も含む。この例において、電力-性能ワークロード・スケジューラ110の機能は、CPU402によって実行することができるメイン・メモリ480に記憶されたPPワークロード命令442として実施される。しかしながら、他の実施形態では、PPワークロード・スケジューラ命令442は、強化されたCPU402に埋め込まれたファームウェアと置き換えることができることが理解される。さらに、PPテーブル446は、ストレージ・デバイス482に記憶されているものとして示されているが、PPテーブル446は、他の実施形態では、ネットワークを介してアクセスされるリモート・ストレージ・ロケーション等、異なる形で記憶されてもよい。
Enhanced CPU 402 also includes
図5は、上記で論じた管理システム100および方法200の機能を実行するように構成された管理システム500の別の例示的な実施を示す。例示的な管理システム500は、バス586を介して、メイン・メモリ580、ストレージ・デバイス582(この例ではPPテーブル546を記憶する)、インタフェース584(例えば、I/Oデバイス・インタフェースまたはネットワーク・インタフェースあるいはそれらの組合せ)、および電力-性能コプロセッサ590と結合されたCPU502を備える。メイン・メモリ580、ストレージ・デバイス582、インタフェース584およびバス586は、図4に関して上記で論じたメイン・メモリ480、ストレージ・デバイス482、インタフェース484およびバス486と同様である。
FIG. 5 illustrates another exemplary implementation of
この実施形態では、CPU502はPPMEファームウェアを含まない。むしろ、例示的な管理システム500は、電力-性能コプロセッサ590を含む。電力-性能コプロセッサ590は、上記で論じたPPME102および電力-性能ワークロード・スケジューラ110の機能の少なくとも一部を実行するように構成された、アクセラレータ等のハードウェアデバイスである。しかしながら、他の実施形態では、電力-性能コプロセッサ590は、PPME102または電力-性能ワークロード・スケジューラ110の機能のみを実施するように構成されてもよい。コプロセッサは、CPU502がコプロセッサにタスクをオフロードすることを可能にすることによって、プライマリ・プロセッサ(例えば、CPU502)の機能を補うのに用いられるコンピュータ・プロセッサである。
In this embodiment, CPU 502 does not include PPME firmware. Rather,
このため、別個のコプロセッサを含めることによって、例示的なシステム500は、PPME102および電力-性能ワークロード・スケジューラ110の処理負荷がCPU502からオフロードされることを可能にする。電力-性能コプロセッサ590は、当業者に既知の任意の数の半導体デバイス、チップ、論理ゲート、回路等を用いて実施することができる。さらに、いくつかの実施形態では、電力-性能コプロセッサ590は、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向け集積回路(ASIC)として実施することができる。このため、図3~図5における例示的な管理システム300、400および500の論考を通じて、管理システム100および方法200の機能を、様々な実施形態において異なる形で実施することができることを理解されたい。
Thus, by including a separate co-processor,
本発明は、統合の任意の可能な技術的詳細レベルにおける、システム、方法またはコンピュータ・プログラム製品、あるいはそれらの組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラムを有するコンピュータ可読記憶媒体を含むことができる。 The invention can be a system, method or computer program product, or combination thereof, in any possible level of technical detail of integration. A computer program product may include a computer readable storage medium having a computer readable program for causing a processor to carry out aspects of the invention.
コンピュータ可読記憶媒体は、命令実行デバイスによって用いるための命令を保持および記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、限定ではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または上記の任意の適切な組合せとすることができる。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリー・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)(登録商標)・ディスク、パンチカードまたは命令が記録された溝内の隆起構造等の機械的に符号化されたデバイス、および上記の任意の適切な組合せが含まれる。本明細書において用いられるとき、コンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通じて伝播する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、または電線を介して送信される電気信号等、それ自体が一過性の信号であると解釈されるべきではない。 A computer-readable storage medium may be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, without limitation, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. can. A non-exhaustive list of more specific examples of computer readable storage media include: portable computer diskettes, hard disks, random access memory (RAM), read only memory (ROM), Erasable Programmable Read Only Memory (EPROM or Flash Memory), Static Random Access Memory (SRAM), Portable Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) , memory sticks, floppy disks, punch cards or mechanically encoded devices such as raised structures in grooves on which instructions are recorded, and any suitable combination of the above. be As used herein, computer-readable storage media refer to radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical wires. per se should not be construed as a transient signal, such as an electrical signal transmitted via a
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワークあるいはその組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インタフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。 The computer-readable program instructions described herein can be transferred from a computer-readable storage medium to a respective computing/processing device or over a network, such as the Internet, a local area network, a wide area network, or a wireless network or Through that combination, it can be downloaded to an external computer or external storage device. A network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or combinations thereof. A network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and transfers those computer-readable program instructions to a computer-readable storage medium within the respective computing/processing device. transfer for memory.
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または、Smalltalk(登録商標)、C++等のオブジェクト指向プログラミング言語および「C」プログラミング言語もしくは同様のプログラム言語等の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、一部がユーザのコンピュータ上かつ一部がリモート・コンピュータ上で、または全体がコンピュータもしくはサーバ上で実行されてもよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む、任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または接続は外部コンピュータ(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)に対して行ってもよい。いくつかの実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行することができる。 Computer readable program instructions for performing the operations of the present invention include assembler instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration for integrated circuits. written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, C++, and procedural programming languages such as the "C" programming language or similar programming languages. can be source code or object code. The computer-readable program instructions may reside entirely on the user's computer, partly on the user's computer, partly on the user's computer and partly on a remote computer, or entirely on the computer as a stand-alone software package. Alternatively, it may run on a server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or wide area network (WAN), or the connection may be It may also be done to an external computer (eg, over the Internet using an Internet service provider). In some embodiments, electronic circuits including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) are used by a computer to carry out aspects of the present invention. Computer readable program instructions can be executed by personalizing an electronic circuit using the state information of the readable program instructions.
本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書において説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることが理解されよう。 Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定される機能/動作を実施する手段を作り出すように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってもよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定される機能/動作の態様を実施する命令を含む製造品を含むように、コンピュータ可読媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに対して特定の方式で機能するように指示することができるものであってもよい。 These computer readable program instructions are executed by a processor of a computer or other programmable data processing apparatus to perform the functions/acts specified in one or more blocks of the flowchart illustrations and/or block diagrams. It may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine to produce the means of implementation. These computer-readable program instructions are articles of manufacture in which the computer-readable storage medium on which the instructions are stored contain instructions for performing aspects of the functions/operations specified in one or more blocks of the flowcharts and/or block diagrams. and capable of instructing a computer, programmable data processor, or other device, or combination thereof, to function in a particular manner.
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ実施プロセスを作り出すべくコンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の演算ステップを実行させるものであってもよい。 Computer readable program instructions are instructions executed by a computer, other programmable apparatus, or other device to perform the functions/acts specified in one or more blocks of the flowchart illustrations and/or block diagrams. , which is loaded into a computer or other programmable data processing apparatus or other device to produce a computer-implemented process to cause a sequence of computational steps to be performed on the computer or other programmable apparatus or device; good too.
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能性および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、指定される論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことができる。いくつかの代替の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、関与する機能性に応じて、実際には実質的に同時に実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能または動作を実行するか、あるいは専用ハードウェアとコンピュータ命令との組合せを遂行する専用ハードウェア・ベースのシステムによって実施され得ることにも留意されたい。 The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. It should be noted that each block of a flowchart or block diagram can represent a module, segment, or portion of instructions containing one or more executable instructions to implement the specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may possibly be executed in the reverse order, depending on the functionality involved. good. Each block in the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, perform the specified function or operation, or implement a combination of dedicated hardware and computer instructions. Note also that it may be implemented by a dedicated hardware-based system that
加えて、いくつかの実施形態では、PPME102または電力-性能ワークロード・スケジューラ110、あるいはその両方の機能の少なくとも一部分は、クラウド・コンピューティング環境において実施することができる。例えば、いくつかの実施形態では、管理システム100は、1つまたは複数のデータ・センタ内に配設され、ネットワークを介してリソースを共有するように構成された多くのコンピュータ、数百または数千のコンピュータを備えることができるクラウド・コンピュータ・システムにおいて実施することができる。しかしながら、クラウド・コンピュータ・システムは、数百または数千のコンピュータを含むものに限定されず、数百よりも少ないコンピュータを含むことができることを理解されたい。以下でより詳細に、いくつかの例示的なクラウド・コンピューティングの実施形態が論じられる。しかしながら、本開示は、クラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載の教示の実施は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られている、または後に開発される任意の他のタイプのコンピューティング環境において実施されることが可能である。
Additionally, in some embodiments, at least a portion of the functionality of PPME 102 and/or power-
クラウド・コンピューティングは、最小限の管理労力およびサービス・プロバイダとの対話で迅速にプロビジョニングおよびリリースすることができる、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシンおよびサービス)の共有プールへの好都合でオン・デマンドのネットワーク・アクセスを可能にするためのサービス送達のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含むことができる。 Cloud computing is a collection of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory) that can be rapidly provisioned and released with minimal administrative effort and interaction with service providers. , storage, applications, virtual machines and services) to enable convenient, on-demand network access to shared pools. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
特性は以下の通りである。
オン・デマンドのセルフサービス:クラウド消費者は、サービス・プロバイダとの人的対話を必要とすることなく、自動的に必要に応じて、サーバ時間およびネットワーク・ストレージ等のコンピューティング機能を一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス:機能は、ネットワークを介して利用可能にされ、異種シンまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップおよびPDA)による使用を促進する標準的なメカニズムを通じてアクセスされる。
リソース・プーリング:マルチ・テナント・モデルを用いて複数の消費者にサービングするために、プロバイダのコンピューティング・リソースがプールされ、異なる物理的リソースおよび仮想リソースは、要求に従って動的に割当ておよび再割当てされる。消費者が、通常、提供されるリソースの厳密な位置に対する制御も知識も有しないが、より高い抽象度(例えば、国、州またはデータ・センタ)で位置を指定することが可能であり得るという点で、位置独立性の意義がある。
高速な弾力性:機能は、場合によっては自動的に、即座にスケール・アウトするように高速かつ弾力的にプロビジョニングされ、即座にスケール・インするように高速に解放され得る。消費者に対しては、プロビジョニングに利用可能な機能が、多くの場合無制限であるように見え、いつでも任意の量で購入可能である。
測定されるサービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、アクティブなユーザ・アカウント)に適したある抽象度において計測機能を活用することによって、リソース使用を自動的に制御し、最適化する。リソース使用量は、モニタリング、制御、および報告することができ、利用サービスのプロバイダおよび消費者の両方に透明性がもたらされる。
The properties are as follows.
On-demand self-service: Cloud consumers unilaterally allocate computing capabilities, such as server time and network storage, as needed automatically and without the need for human interaction with the service provider. can be provisioned.
Broad Network Access: Functionality is made available over the network and accessed through standard mechanisms facilitating use by heterogeneous thin or thick client platforms (e.g. cell phones, laptops and PDAs) .
Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reassigned according to demand. be done. Consumers typically have neither control nor knowledge of the exact location of the resources offered, but it may be possible to specify location at a higher level of abstraction (e.g. country, state or data center). On the point, there is a significance of position independence.
Fast Elasticity: Capabilities can be rapidly and elastically provisioned to scale out on the fly, possibly automatically, and quickly released to scale in on the fly. To the consumer, the features available for provisioning often appear unlimited and can be purchased in any amount at any time.
Measured services: Cloud systems automatically measure resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g. storage, processing, bandwidth, active user accounts). Control and optimize. Resource usage can be monitored, controlled and reported, providing transparency to both providers and consumers of utilized services.
サービス・モデルは、以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウド・インフラ上で動作しているプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ等のシン・クライアント・インタフェース(例えば、ウェブ・ベースの電子メール)を通して、様々なクライアント・デバイスからアクセス可能である。消費者は、限定されたユーザ固有アプリケーションの構成設定は例外である可能性があるが、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または更には個々のアプリケーション機能を含む、基礎となるクラウド・インフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションを、クラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャを管理または制御しないが、展開されたアプリケーション、および、場合によっては、環境構成をホストするアプリケーションに対して制御を有する。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、ならびに消費者がオペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行することが可能な、他の基本コンピューティング・リソースをプロビジョニングすることである。消費者は、基礎となるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対して制御を有し、かつ場合によっては、選択されたネットワーキング・コンポーネント(例えば、ホスト・ファイアウォール)に対する限定的な制御を有する。
The service model is as follows.
Software as a Service (SaaS): The functionality offered to the consumer is to use the provider's application running on the cloud infrastructure. Applications are accessible from a variety of client devices through thin client interfaces such as web browsers (eg, web-based email). Consumers are responsible for the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application functionality, with the possible exception of limited user-specific application configuration settings. do not manage or control
Platform as a Service (PaaS): Capabilities offered to consumers allow applications created or acquired by consumers, written using programming languages and tools supported by the provider, to be placed on cloud infrastructure. It is to expand. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they do have control over deployed applications and, in some cases, environment configurations. Have control.
Infrastructure as a Service (IaaS): The capabilities provided to consumers are processing, storage, networking, and others that allow consumers to deploy and run any software that may include operating systems and applications. is to provision the basic computing resources of Consumers do not manage or control the underlying cloud infrastructure, but do have control over operating systems, storage, deployed applications, and in some cases, selected networking components (e.g. have limited control over host firewalls).
展開モデルは、以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに動作される。クラウド・インフラストラクチャは、その組織または第三者によって管理されてもよく、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャは、複数の組織によって共有され、共有の関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織または第三者によって管理されてもよく、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大きな業界団体に利用可能とされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意なエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または独自技術(例えば、クラウド間の負荷バランシングのためのクラウド・バースティング)によって結合された、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成体である。
The deployment model is as follows.
Private Cloud: Cloud infrastructure is operated exclusively for an organization. A cloud infrastructure may be managed by the organization or a third party and may be on-premises or off-premises.
Community cloud: A cloud infrastructure is shared by multiple organizations and supports a specific community with shared concerns (eg, missions, security requirements, policies, and compliance considerations). A cloud infrastructure may be managed by the organization or a third party and may be on-premises or off-premises.
Public cloud: Cloud infrastructure is made available to the general public or large industry associations and is owned by an organization that sells cloud services.
Hybrid cloud: Cloud infrastructure remains a unique entity, but standardized or proprietary technologies that allow portability of data and applications (e.g. cloud bursting for load balancing between clouds) A composite of two or more clouds (private, community, or public) connected by
クラウド・コンピューティング環境は、無国籍性、低結合性、モジュール性、および意味相互運用性に焦点を当てたサービス指向型である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラである。 Cloud computing environments are service-oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure comprising a network of interconnected nodes.
ここで図6を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示するように、クラウド・コンピューティング環境50は、クラウド消費者によって使用されるローカル・コンピューティング・デバイス、例えば、携帯情報端末(PDA)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・デバイス54N、あるいはそれらの組合せが通信することができる、1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信することができる。それらは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、またはそれらの組合せ等の、1つまたは複数のネットワーク内で物理的または仮想的にグループ化されてもよい(図示せず)。これによって、クラウド・コンピューティング環境50が、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはそれらの組合せを、クラウド消費者がローカル・コンピューティング・デバイス上でリソースを維持する必要がないサービスとして提案することが可能となる。図6に示されるコンピューティング・デバイス54A~Nのタイプは、単なる例示であることを意図し、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス指定可能な接続あるいはその両方を経て(例えば、ウェブ・ブラウザを用いて)、任意の種類のコンピュータ化デバイスと通信し得ると理解される。 Referring now to Figure 6, an exemplary cloud computing environment 50 is shown. As shown, cloud computing environment 50 includes local computing devices used by cloud consumers, such as personal digital assistants (PDAs) or mobile phones 54A, desktop computers 54B, laptop computers 54C. , or vehicle computing device 54N, or a combination thereof, with which the cloud computing node(s) 10 can communicate. Nodes 10 can communicate with each other. They may be physically or virtually grouped within one or more networks, such as private clouds, community clouds, public clouds, or hybrid clouds as described above, or combinations thereof. good (not shown). This allows cloud computing environment 50 to offer infrastructure, platform, or software, or a combination thereof, as a service that does not require cloud consumers to maintain resources on their local computing devices. It becomes possible. The types of computing devices 54A-N shown in FIG. 6 are intended to be exemplary only, and computing nodes 10 and cloud computing environment 50 can be any type of network or network-addressable. It is understood that it can communicate with any kind of computerized device via a physical connection or both (eg, using a web browser).
ここで図7を参照すると、クラウド・コンピューティング環境50(図6)によって提供される機能抽象化層のセットが示されている。図7に示されるコンポーネント、層、および機能は、単なる例示であることを意図し、本発明の実施形態は、それらに限定されないと、予め理解されるべきである。図示するように、以下の層および対応する機能が提供される。 Referring now to Figure 7, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 6) is shown. It should be foreseen that the components, layers, and functions shown in FIG. 7 are intended to be exemplary only, and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided.
ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム61、RISC(Reduced Instruction Set Computer(縮小命令セット・コンピュータ))アーキテクチャ・ベース・サーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング・コンポーネント66を含む。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。 Hardware and software layer 60 includes hardware and software components. Examples of hardware components are mainframes 61, RISC (Reduced Instruction Set Computer) architecture-based servers 62, servers 63, blade servers 64, storage devices 65, and networks and networking • includes components 66; In some embodiments, the software components include network application server software 67 and database software 68 .
仮想化層70は、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75が提供され得る、抽象化層を提供する。 The virtualization layer 70 may be provided with the following examples of virtual entities: virtual servers 71, virtual storage 72, virtual networks 73, including virtual private networks, virtual applications and operating systems 74, and virtual clients 75. Provides an abstraction layer.
1つの例では、管理層80は、下記の機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される、コンピューティング・リソースおよび他のリソースの動的な調達を提供する。測定および価格設定82は、リソースがクラウド・コンピューティング環境内で利用されるときにコスト追跡を提供し、これらのリソースの消費に対する課金または請求を提供する。1つの例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド消費者およびタスクについての識別情報検証、ならびにデータおよび他のリソースについての保護を提供する。ユーザ・ポータル83は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソース配分および管理を提供する。サービス水準合意(Service Level Agreement(SLA))計画および遂行85は、SLAに従って将来の要件が予期されるクラウド・コンピューティング・リソースの事前配置および調達を提供する。 In one example, management layer 80 may provide the following functionality. Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to perform tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and provides billing or billing for consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, and protection for data and other resources. User portal 83 provides consumers and system administrators access to the cloud computing environment. Service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and execution 85 provides for pre-positioning and procurement of cloud computing resources with anticipated future requirements according to SLAs.
ワークロード層90は、クラウド・コンピューティング環境が利用され得る機能性の例を提供する。この層から提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフ・サイクル管理92、仮想クラスルーム教育配信93、データ解析処理94、トランザクション処理95、および電力-性能ベースの管理システム96を含む。 Workload layer 90 provides an example of the functionality with which the cloud computing environment can be utilized. Examples of workloads and functions that can be provided from this layer are mapping and navigation 91, software development and lifecycle management 92, virtual classroom teaching delivery 93, data analysis processing 94, transaction processing 95, and power-performance based management. Includes system 96 .
例示的な実施形態
例1は、コンピュータ・システムを管理するための方法を含む。方法は、コンピュータ・システムのワークロードを受信することと、ワークロードを実行している間、コンピュータ・システムの少なくとも1つのパラメータを掃引することと、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの1つまたは複数の特性を監視することと、を含む。1つまたは複数の特性は、コンピュータ・システムの総電力消費を含む。方法は、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成することと、少なくとも1つのパラメータのそれぞれの選択値に基づいて、ワークロードを実行することとを更に含む。
Exemplary Embodiments Example 1 includes a method for managing a computer system. The method includes receiving a workload of a computer system; sweeping at least one parameter of the computer system while executing the workload; - monitoring one or more characteristics of the system; The one or more characteristics include total power consumption of the computer system. The method generates a workload power profile indicative of respective selected values for the at least one parameter based on analysis of the monitored total power consumption of the computer system while sweeping the at least one parameter. and executing the workload based on respective selected values of the at least one parameter.
例2は、コンピュータ・システムの少なくとも1つのパラメータに対する1つまたは複数の制約を受信することを更に含む、例1に記載の方法を含む。 Example 2 includes the method of Example 1 further including receiving one or more constraints on at least one parameter of the computer system.
例3は、ワークロードを2つ以上のステージに分割することを更に含み、少なくとも1つのパラメータを掃引することが、2つ以上のステージの各々について少なくとも1つのパラメータを掃引することを含み、1つまたは複数の特性を監視することが、2つ以上のステージの各々について少なくとも1つのパラメータを掃引している間、1つまたは複数の特性を監視することを含み、電力プロファイルを生成することが、2つ以上のステージの各々についてそれぞれの電力プロファイルを生成することを含む、例1ないし2のうちの任意のものに記載の方法を含む。 Example 3 further includes dividing the workload into two or more stages, wherein sweeping at least one parameter includes sweeping at least one parameter for each of the two or more stages; monitoring the one or more characteristics includes monitoring the one or more characteristics while sweeping at least one parameter for each of the two or more stages; generating a power profile; , including generating a respective power profile for each of the two or more stages.
例4は、少なくとも1つのパラメータを掃引することが、中央処理ユニット(CPU)周波数、グラフィック処理ユニット(GPU)周波数、マルチコア・プロセッサにおけるアクティブなコアの数、メモリ帯域幅、ネットワーク帯域幅、およびデバイス状態のうちの少なくとも1つを掃引することを含む、例1ないし3のうちの任意のものに記載の方法を含む。 Example 4 shows that sweeping at least one parameter is central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor, memory bandwidth, network bandwidth, and device Include the method of any of Examples 1-3 including sweeping at least one of the states.
例5は、ワークロードが第1のワークロードであり、少なくとも1つのパラメータのそれぞれの選択値に基づいてワークロードを実行することが、第1のワークロードの電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較することと、第1のワークロードの電力プロファイルと、1つまたは複数の他のワークロードのそれぞれの電力プロファイルとの比較に基づいて、両立可能なワークロードを識別することと、両立可能なワークロードを、第1のワークロードと同時に実行されるようにスケジューリングすることとを更に含む、例1ないし4のうちの任意のものに記載の方法を含む。 Example 5 is that the workload is a first workload, and executing the workload based on respective selected values of at least one parameter sets the power profile of the first workload to one or more other and comparing the power profile of each of the workloads and comparing the power profile of the first workload with the power profile of each of one or more other workloads. and scheduling compatible workloads to run concurrently with the first workload.
例6は、コンピュータ・システムの監視される1つまたは複数の特性が、中央処理ユニット(CPU)電力使用量、グラフィック処理ユニット(GPU)電力使用量、ファン電力使用量、メモリ電力使用量、ディスク電力使用量、メモリ帯域幅、メモリ・レイテンシ、ディスク入力/出力帯域幅、およびネットワーク帯域幅のうちの1つまたは複数を含む、例1ないし5のうちの任意のものに記載の方法を含む。 Example 6 illustrates that one or more monitored characteristics of a computer system are central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk The method of any of Examples 1-5 including one or more of power usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
例7は、ワークロードの初期電力プロファイルを受信することを更に含み、電力プロファイルを生成することが、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの監視された総電力消費の分析に基づいて初期電力プロファイルを更新することを含む、例1ないし6のうちの任意のものに記載の方法を提供する。 Example 7 further includes receiving an initial power profile of the workload, and generating the power profile to analyze the monitored total power consumption of the computer system while sweeping the at least one parameter. 7. provides the method of any one of Examples 1-6, comprising updating the initial power profile based on.
例8はコンピュータ管理システムを含む。コンピュータ管理システムは、ストレージ・デバイスと、ストレージ・デバイスに通信可能に結合されたプロセッサとを備える。プロセッサは、コンピュータ・システムのワークロードを受信し、ワークロードが実行されている間、コンピュータ・システムの少なくとも1つのパラメータを反復的に調整し、少なくとも1つのパラメータを調整している間、コンピュータ・システムの1つまたは複数の特性を監視するように構成される。1つまたは複数の特性は、コンピュータ・システムの総電力消費を含む。プロセッサは、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成し、電力プロファイルをストレージ・デバイス上に記憶し、電力プロファイルに基づいてワークロードを実行するように更に構成される。 Example 8 includes a computer management system. The computer management system comprises a storage device and a processor communicatively coupled to the storage device. The processor receives a workload of the computer system, iteratively adjusts at least one parameter of the computer system while the workload is running, and adjusts the at least one parameter while adjusting the computer system. Configured to monitor one or more characteristics of the system. The one or more characteristics include total power consumption of the computer system. The processor generates a workload power profile indicating respective selected values for the at least one parameter based on an analysis of the monitored total power consumption of the computer system while sweeping the at least one parameter. , is further configured to store the power profile on the storage device and execute the workload based on the power profile.
例9は、プロセッサが、コンピュータ・システムの少なくとも1つのパラメータに対する1つまたは複数の制約を受信するように更に構成される、例8に記載のコンピュータ管理システムを含む。 Example 9 includes the computer management system of Example 8, wherein the processor is further configured to receive one or more constraints on at least one parameter of the computer system.
例10は、プロセッサが、ワークロードを2つ以上のステージに分割し、2つ以上のステージの各々について少なくとも1つのパラメータを反復的に調整し、2つ以上のステージの各々について少なくとも1つのパラメータを調整している間、1つまたは複数の特性を監視し、2つ以上のステージの各々についてそれぞれの電力プロファイルを生成するように更に構成される、例8ないし9のうちの任意のものに記載のコンピュータ管理システムを含む。 Example 10 illustrates a processor dividing a workload into two or more stages, iteratively adjusting at least one parameter for each of the two or more stages, and adjusting at least one parameter for each of the two or more stages. to any of Examples 8-9, further configured to monitor one or more characteristics while tuning the and to generate respective power profiles for each of the two or more stages. Including the described computer management system.
例11は、プロセッサが、中央処理ユニット(CPU)周波数、グラフィック処理ユニット(GPU)周波数、マルチコア・プロセッサにおけるアクティブなコアの数、メモリ帯域幅、ネットワーク帯域幅、およびデバイス状態のうちの少なくとも1つを反復的に調整するように構成される、例8ないし10のうちの任意のものに記載のコンピュータ管理システムを含む。 Example 11 shows that the processor has at least one of central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor, memory bandwidth, network bandwidth, and device state. The computer management system of any one of Examples 8-10, configured to iteratively adjust the .
例12は、ワークロードが第1のワークロードであり、プロセッサが、第1のワークロードの電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較し、第1のワークロードの電力プロファイルと、1つまたは複数の他のワークロードのそれぞれの電力プロファイルとの比較に基づいて、両立可能なワークロードを識別し、両立可能なワークロードを、第1のワークロードと同時に実行されるようにスケジューリングするように更に構成される、例8ないし11のうちの任意のものに記載のコンピュータ管理システムを含む。 Example 12 is the workload is a first workload, the processor compares the power profile of the first workload to the power profile of each of one or more other workloads, and the first workload and the respective power profiles of one or more other workloads, identifying compatible workloads and running the compatible workloads concurrently with the first workload The computer management system of any one of Examples 8-11, further configured to schedule to be performed.
例13は、コンピュータ・システムの監視される1つまたは複数の特性が、中央処理ユニット(CPU)電力使用量、グラフィック処理ユニット(GPU)電力使用量、ファン電力使用量、メモリ電力使用量、ディスク電力使用量、メモリ帯域幅、メモリ・レイテンシ、ディスク入力/出力帯域幅、およびネットワーク帯域幅のうちの1つまたは複数を含む、例8ないし12のうちの任意のものに記載のコンピュータ管理システムを含む。 Example 13 illustrates that one or more monitored characteristics of a computer system are central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk The computer management system of any of Examples 8-12, comprising one or more of power usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth. include.
例14は、プロセッサが、ワークロードの初期電力プロファイルを受信し、少なくとも1つのパラメータを調整している間、コンピュータ・システムの監視された総電力消費の分析に基づいて初期電力プロファイルを更新するように更に構成される、例8ないし13のうちの任意のものに記載のコンピュータ管理システムを含む。 Example 14 is such that the processor receives an initial power profile for the workload and, while adjusting at least one parameter, updates the initial power profile based on an analysis of the monitored total power consumption of the computer system. a computer management system according to any one of Examples 8-13, further configured to:
例15はコンピュータ管理システムを含む。コンピュータ管理システムは、電力-性能管理エンジンであって、ワークロードが実行されている間、コンピュータ・システムの少なくとも1つのパラメータを掃引し、少なくとも1つのパラメータを掃引している間、コンピュータ・システムの総電力消費を含む、コンピュータ・システムの1つまたは複数の特性を監視し、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成するように構成された、電力-性能管理エンジンを備える。コンピュータ管理システムは、生成された電力プロファイルに基づいて、ワークロードを実行のためにスケジューリングするように構成された電力-性能ワークロード・スケジューラを更に備える。 Example 15 includes a computer management system. The computer management system is a power-performance management engine that sweeps at least one parameter of the computer system while the workload is running; A workload that monitors one or more characteristics of a computer system, including total power consumption, and indicates respective selected values for at least one parameter based on analysis of the monitored total power consumption of the computer system. a power-performance management engine configured to generate a power profile of the The computer management system further comprises a power-performance workload scheduler configured to schedule the workload for execution based on the generated power profile.
例16は、ワークロードが第1のワークロードであり、電力-性能ワークロード・スケジューラが、第1のワークロードの電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較することと、第1のワークロードの電力プロファイルと、1つまたは複数の他のワークロードのそれぞれの電力プロファイルとの比較に基づいて、両立可能なワークロードを識別することと、両立可能なワークロードを、第1のワークロードと同時に実行されるようにスケジューリングすることとによって、第1のワークロードを実行のためにスケジューリングするように更に構成される、例15に記載のコンピュータ管理システムを含む。 Example 16 is where the workload is a first workload and the power-performance workload scheduler compares the power profile of the first workload to the power profile of each of one or more other workloads and identifying compatible workloads based on a comparison of the power profile of the first workload and the respective power profiles of one or more other workloads; to run concurrently with the first workload, the computer management system of Example 15 further configured to schedule the first workload for execution.
例17は、コンピュータ・システムを管理するための方法を含む。方法は、複数のワークロードの各々についてそれぞれの電力性能テーブルを比較することを含み、各性能テーブルはそれぞれのワークロードを実行するためのコンピュータ・システムの1つまたは複数のパラメータのそれぞれの値を示す。1つまたは複数のパラメータのそれぞれの値は、1つまたは複数のパラメータを反復的に調整している間、コンピュータ・システムの電力消費を含むコンピュータ・システムの1つまたは複数の特性を監視することに基づいて選択される。方法は、それぞれの電力性能テーブルの比較に基づいて少なくとも2つの両立可能なワークロードを識別することと、コンピュータ・システムによって同時に実行される少なくとも2つの両立可能なワークロードをスケジューリングすることとを更に含む。 Example 17 includes a method for managing a computer system. The method includes comparing respective power performance tables for each of a plurality of workloads, each performance table providing respective values of one or more parameters of a computer system for executing the respective workload. show. The values of each of the one or more parameters are monitored by monitoring one or more characteristics of the computer system, including power consumption of the computer system, while iteratively adjusting the one or more parameters. selected based on The method further comprises identifying at least two compatible workloads based on comparing the respective power performance tables, and scheduling the at least two compatible workloads to be executed concurrently by the computer system. include.
例18は、1つまたは複数のパラメータが、中央処理ユニット(CPU)周波数、グラフィック処理ユニット(GPU)周波数、マルチコア・プロセッサにおけるアクティブなコアの数、メモリ帯域幅、ネットワーク帯域幅、およびデバイス状態のうちの少なくとも1つを含む、例17に記載の方法を含む。 Example 18 shows that one or more parameters are central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor, memory bandwidth, network bandwidth, and device state. including the method described in Example 17, including at least one of
例19は、1つまたは複数の監視される特性が、中央処理ユニット(CPU)電力使用量、グラフィック処理ユニット(GPU)電力使用量、ファン電力使用量、メモリ電力使用量、ディスク電力使用量、メモリ帯域幅、メモリ・レイテンシ、ディスク入力/出力帯域幅、およびネットワーク帯域幅のうちの1つまたは複数を含む、例18ないし19のうちの任意のものに記載の方法を含む。 Example 19 illustrates that the one or more monitored characteristics are central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk power usage, 19. Including the method of any of Examples 18-19 including one or more of memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
例20は、コンピュータ可読プログラムが記憶されたコンピュータ可読ストレージ媒体を備えるコンピュータ・プログラム製品であって、コンピュータ可読プログラムは、プロセッサによって実行されると、プロセッサに、ワークロードが実行されている間、コンピュータ・システムの少なくとも1つのパラメータを反復的に調整させ、少なくとも1つのパラメータを調整している間、コンピュータ・システムの総電力消費を含む、コンピュータ・システムの1つまたは複数の特性を監視させ、コンピュータ・システムの監視された総電力消費の分析に基づいて、少なくとも1つのパラメータについてそれぞれの選択値を示す、ワークロードの電力プロファイルを生成させ、生成された電力プロファイルに基づいてワークロードを実行させる。 Example 20 is a computer program product comprising a computer-readable storage medium having stored thereon a computer-readable program that, when executed by a processor, causes the processor to perform computer operations while a workload is executed. - causing at least one parameter of the system to be iteratively adjusted, having one or more characteristics of the computer system monitored, including total power consumption of the computer system, while adjusting the at least one parameter; - generating a workload power profile indicating respective selected values for at least one parameter based on an analysis of the monitored total power consumption of the system, and executing the workload based on the generated power profile;
例21は、1つまたは複数の監視される特性が、中央処理ユニット(CPU)電力使用量、グラフィック処理ユニット(GPU)電力使用量、ファン電力使用量、メモリ電力使用量、ディスク電力使用量、メモリ帯域幅、メモリ・レイテンシ、ディスク入力/出力帯域幅、およびネットワーク帯域幅のうちの1つまたは複数を含む、例20に記載のコンピュータ・プログラム製品を含む。 Example 21 illustrates that the one or more monitored characteristics are central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk power usage, 21. The computer program product of Example 20 including one or more of memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
例22は、コンピュータ可読プログラムが、プロセッサに、コンピュータ・システムの少なくとも1つのパラメータに対する1つまたは複数の制約に従って少なくとも1つのパラメータを反復的に調整させるように更に構成される、例20ないし21のうちの任意のものに記載のコンピュータ・プログラム製品を含む。 Example 22 is of Examples 20-21, wherein the computer readable program is further configured to cause the processor to iteratively adjust the at least one parameter according to one or more constraints on the at least one parameter of the computer system. including a computer program product as described in any of the above.
例23は、ワークロードが第1のワークロードであり、コンピュータ可読プログラムが、プロセッサに、第1のワークロードの電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較することと、第1のワークロードの電力プロファイルと、1つまたは複数の他のワークロードのそれぞれの電力プロファイルとの比較に基づいて、両立可能なワークロードを識別することと、両立可能なワークロードを、第1のワークロードと同時に実行されるようにスケジューリングすることとによって、第1のワークロードを実行させるように更に構成される、例20ないし22のうちの任意のものに記載のコンピュータ・プログラム製品を含む。 Example 23 is where the workload is a first workload and the computer readable program instructs the processor to compare the power profile of the first workload to the power profile of each of one or more other workloads. and identifying compatible workloads based on a comparison of the power profile of the first workload to respective power profiles of one or more other workloads; 23. The computer program of any one of Examples 20-22, further configured to cause the first workload to execute by scheduling the first workload to execute concurrently with the first workload. Including products.
例24は、コンピュータ可読プログラムが、プロセッサに、ワークロードを2つ以上のステージに分割させ、2つ以上のステージの各々について少なくとも1つのパラメータを反復的に調整させ、2つ以上のステージの各々について少なくとも1つのパラメータを調整している間、1つまたは複数の特性を監視させ、2つ以上のステージの各々についてそれぞれの電力プロファイルを生成させるように更に構成される、例20ないし23のうちの任意のものに記載のコンピュータ・プログラム製品を含む。 Example 24 is a computer readable program that causes a processor to divide a workload into two or more stages, iteratively adjust at least one parameter for each of the two or more stages, and of Examples 20-23, further configured to monitor one or more characteristics while adjusting at least one parameter for and generate a respective power profile for each of the two or more stages. including a computer program product as described in any of
例25は、コンピュータ可読プログラムが、プロセッサに、中央処理ユニット(CPU)周波数、グラフィック処理ユニット(GPU)周波数、マルチコア・プロセッサにおけるアクティブなコアの数、メモリ帯域幅、ネットワーク帯域幅、およびデバイス状態のうちの少なくとも1つを反復的に調整させるように更に構成される、例20ないし24のうちの任意のものに記載のコンピュータ・プログラム製品を含む。 Example 25 illustrates a computer readable program that instructs a processor to control central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor, memory bandwidth, network bandwidth, and device state. 25. The computer program product of any one of Examples 20-24, further configured to iteratively adjust at least one of.
本明細書において特定の実施形態を図示および説明してきたが、同じ目的を達成するように計算される任意の配置が、示された特定の実施形態のために置き換えられ得ることが、当業者には理解されるであろう。したがって、本発明が特許請求の範囲およびその均等物によってのみ限定されることが明白に意図されている。 Although specific embodiments have been illustrated and described herein, it will be appreciated by those skilled in the art that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. will be understood. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.
Claims (25)
前記ワークロードを実行している間、前記コンピュータ・システムの少なくとも1つのパラメータを掃引することと、
前記少なくとも1つのパラメータを掃引している間、前記コンピュータ・システムの1つまたは複数の特性を監視することであって、前記1つまたは複数の特性は、前記コンピュータ・システムの総電力消費を含む、前記監視することと、
前記少なくとも1つのパラメータを掃引している間、前記コンピュータ・システムの前記監視された総電力消費の分析に基づいて、前記少なくとも1つのパラメータについてそれぞれの選択値を示す、前記ワークロードの電力プロファイルを生成することと、
前記少なくとも1つのパラメータの前記それぞれの選択値に基づいて、前記ワークロードを実行することと、
を含む、方法。 receiving a computer system workload;
sweeping at least one parameter of the computer system while executing the workload;
monitoring one or more characteristics of the computer system while sweeping the at least one parameter, the one or more characteristics including total power consumption of the computer system; , said monitoring;
a power profile of the workload, indicating respective selected values for the at least one parameter based on an analysis of the monitored total power consumption of the computer system while sweeping the at least one parameter; generating;
executing the workload based on the respective selected value of the at least one parameter;
A method, including
前記少なくとも1つのパラメータを掃引することは、前記2つ以上のステージの各々について前記少なくとも1つのパラメータを掃引することを含み、
前記1つまたは複数の特性を監視することは、前記2つ以上のステージの各々について前記少なくとも1つのパラメータを掃引している間、前記1つまたは複数の特性を監視することを含み、
電力プロファイルを生成することは、前記2つ以上のステージの各々についてそれぞれの電力プロファイルを生成することを含む、請求項1に記載の方法。 further comprising dividing the workload into two or more stages;
sweeping the at least one parameter comprises sweeping the at least one parameter for each of the two or more stages;
monitoring the one or more characteristics comprises monitoring the one or more characteristics while sweeping the at least one parameter for each of the two or more stages;
2. The method of claim 1, wherein generating power profiles comprises generating respective power profiles for each of the two or more stages.
前記第1のワークロードの前記電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較することと、
前記第1のワークロードの前記電力プロファイルと、前記1つまたは複数の他のワークロードの前記それぞれの電力プロファイルとの前記比較に基づいて、両立可能なワークロードを識別することと、
前記両立可能なワークロードを、前記第1のワークロードと同時に実行されるようにスケジューリングすることと、
を更に含む、請求項1に記載の方法。 wherein said workload is a first workload, and executing said workload based on said respective selected value of said at least one parameter;
comparing the power profile of the first workload to respective power profiles of one or more other workloads;
identifying compatible workloads based on the comparison of the power profile of the first workload and the respective power profiles of the one or more other workloads;
scheduling the compatible workloads to run concurrently with the first workload;
2. The method of claim 1, further comprising:
前記電力プロファイルを生成することは、前記少なくとも1つのパラメータを掃引している間、前記コンピュータ・システムの前記監視された総電力消費の分析に基づいて前記初期電力プロファイルを更新することを含む、請求項1に記載の方法。 further comprising receiving an initial power profile of the workload;
Generating the power profile includes updating the initial power profile based on analysis of the monitored total power consumption of the computer system while sweeping the at least one parameter. Item 1. The method according to item 1.
ストレージ・デバイスと、
前記ストレージ・デバイスに通信可能に結合されたプロセッサであって、前記プロセッサは、
コンピュータ・システムのワークロードを受信し、
前記ワークロードが実行されている間、前記コンピュータ・システムの少なくとも1つのパラメータを反復的に調整し、
前記少なくとも1つのパラメータを調整している間、前記コンピュータ・システムの総電力消費を含む、前記コンピュータ・システムの1つまたは複数の特性を監視し、
前記少なくとも1つのパラメータを掃引している間、前記コンピュータ・システムの前記監視された総電力消費の分析に基づいて、前記少なくとも1つのパラメータについてそれぞれの選択値を示す、前記ワークロードの電力プロファイルを生成し、
前記電力プロファイルを前記ストレージ・デバイス上に記憶し、
前記電力プロファイルに基づいて前記ワークロードを実行する、
ように構成される、前記プロセッサと、
を備える、コンピュータ管理システム。 A computer management system,
a storage device;
A processor communicatively coupled to the storage device, the processor comprising:
receive a computer system workload,
iteratively adjusting at least one parameter of the computer system while the workload is running;
monitoring one or more characteristics of the computer system, including total power consumption of the computer system, while adjusting the at least one parameter;
a power profile of the workload, indicating respective selected values for the at least one parameter based on an analysis of the monitored total power consumption of the computer system while sweeping the at least one parameter; generate and
storing the power profile on the storage device;
running the workload based on the power profile;
the processor configured to:
A computer management system comprising:
前記ワークロードを2つ以上のステージに分割し、
前記2つ以上のステージの各々について前記少なくとも1つのパラメータを反復的に調整し、
前記2つ以上のステージの各々について前記少なくとも1つのパラメータを調整している間、前記1つまたは複数の特性を監視し、
前記2つ以上のステージの各々についてそれぞれの電力プロファイルを生成する、
ように更に構成される、請求項8に記載のコンピュータ管理システム。 The processor
dividing the workload into two or more stages;
iteratively adjusting the at least one parameter for each of the two or more stages;
monitoring the one or more characteristics while adjusting the at least one parameter for each of the two or more stages;
generating a respective power profile for each of the two or more stages;
9. The computer management system of claim 8, further configured to:
前記第1のワークロードの前記電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較し、
前記第1のワークロードの前記電力プロファイルと、前記1つまたは複数の他のワークロードの前記それぞれの電力プロファイルとの前記比較に基づいて、両立可能なワークロードを識別し、
前記両立可能なワークロードを、前記第1のワークロードと同時に実行されるようにスケジューリングする、
ように更に構成される、請求項8に記載のコンピュータ管理システム。 The workload is a first workload, and the processor:
comparing the power profile of the first workload to respective power profiles of one or more other workloads;
identifying compatible workloads based on the comparison of the power profile of the first workload and the respective power profiles of the one or more other workloads;
scheduling the compatible workloads to run concurrently with the first workload;
9. The computer management system of claim 8, further configured to:
前記ワークロードの初期電力プロファイルを受信し、
前記少なくとも1つのパラメータを調整している間、前記コンピュータ・システムの前記監視された総電力消費の分析に基づいて前記初期電力プロファイルを更新する、
ように更に構成される、請求項8に記載のコンピュータ管理システム。 The processor
receiving an initial power profile for the workload;
updating the initial power profile based on an analysis of the monitored total power consumption of the computer system while adjusting the at least one parameter;
9. The computer management system of claim 8, further configured to:
電力-性能管理エンジンであって、
ワークロードが実行されている間、コンピュータ・システムの少なくとも1つのパラメータを掃引し、
前記少なくとも1つのパラメータを掃引している間、前記コンピュータ・システムの総電力消費を含む、前記コンピュータ・システムの1つまたは複数の特性を監視し、
前記コンピュータ・システムの前記監視された総電力消費の分析に基づいて、前記少なくとも1つのパラメータについてそれぞれの選択値を示す、前記ワークロードの電力プロファイルを生成する、
ように構成された、前記電力-性能管理エンジンと、
前記生成された電力プロファイルに基づいて、前記ワークロードを実行のためにスケジューリングするように構成された電力-性能ワークロード・スケジューラと、
を備える、コンピュータ管理システム。 A computer management system,
A power-performance management engine, comprising:
sweeping at least one parameter of the computer system while the workload is running;
monitoring one or more characteristics of the computer system, including total power consumption of the computer system, while sweeping the at least one parameter;
generating a power profile for the workload indicating respective selected values for the at least one parameter based on the analysis of the monitored total power consumption of the computer system;
the power-performance management engine configured to:
a power-performance workload scheduler configured to schedule the workload for execution based on the generated power profile;
A computer management system comprising:
前記第1のワークロードの前記電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較することと、
前記第1のワークロードの前記電力プロファイルと、前記1つまたは複数の他のワークロードの前記それぞれの電力プロファイルとの前記比較に基づいて、両立可能なワークロードを識別することと、
前記両立可能なワークロードを、前記第1のワークロードと同時に実行されるようにスケジューリングすることと、
によって、前記第1のワークロードを実行のためにスケジューリングするように更に構成される、請求項15に記載のコンピュータ管理システム。 The workload is a first workload, and the power-performance workload scheduler comprises:
comparing the power profile of the first workload to respective power profiles of one or more other workloads;
identifying compatible workloads based on the comparison of the power profile of the first workload and the respective power profiles of the one or more other workloads;
scheduling the compatible workloads to run concurrently with the first workload;
16. The computer management system of claim 15, further configured to schedule the first workload for execution by.
前記それぞれの電力性能テーブルの前記比較に基づいて、少なくとも2つの両立可能なワークロードを識別することと、
前記コンピュータ・システムによって同時に実行される前記少なくとも2つの両立可能なワークロードをスケジューリングすることと、
を含む、方法。 Comparing respective power performance tables for each of a plurality of workloads, each power performance table providing respective values of one or more parameters of a computer system for executing the respective workloads. and wherein said respective values of said one or more parameters comprise power consumption of said computer system while iteratively adjusting said one or more parameters. or selected based on monitoring a plurality of characteristics;
identifying at least two compatible workloads based on the comparison of the respective power performance tables;
scheduling the at least two compatible workloads to be executed concurrently by the computer system;
A method, including
ワークロードが実行されている間、コンピュータ・システムの少なくとも1つのパラメータを反復的に調整させ、
前記少なくとも1つのパラメータを調整している間、前記コンピュータ・システムの総電力消費を含む、前記コンピュータ・システムの1つまたは複数の特性を監視させ、
前記コンピュータ・システムの前記監視された総電力消費の分析に基づいて、前記少なくとも1つのパラメータについてそれぞれの選択値を示す、前記ワークロードの電力プロファイルを生成させ、
前記生成された電力プロファイルに基づいて前記ワークロードを実行させる、
コンピュータ・プログラム製品。 A computer program product comprising a computer readable storage medium having stored thereon a computer readable program, the computer readable program being executed by a processor to cause the processor to:
causing at least one parameter of the computer system to be iteratively adjusted while the workload is running;
monitor one or more characteristics of the computer system, including total power consumption of the computer system, while adjusting the at least one parameter;
generating a power profile for the workload indicating respective selected values for the at least one parameter based on the analysis of the monitored total power consumption of the computer system;
executing the workload based on the generated power profile;
Computer program product.
前記第1のワークロードの前記電力プロファイルを1つまたは複数の他のワークロードのそれぞれの電力プロファイルと比較することと、
前記第1のワークロードの前記電力プロファイルと、前記1つまたは複数の他のワークロードの前記それぞれの電力プロファイルとの前記比較に基づいて、両立可能なワークロードを識別することと、
前記両立可能なワークロードを、前記第1のワークロードと同時に実行されるようにスケジューリングすることと、
によって前記第1のワークロードを実行させるように更に構成される、請求項20に記載のコンピュータ・プログラム製品。 The workload is a first workload, and the computer readable program causes the processor to:
comparing the power profile of the first workload to respective power profiles of one or more other workloads;
identifying compatible workloads based on the comparison of the power profile of the first workload and the respective power profiles of the one or more other workloads;
scheduling the compatible workloads to run concurrently with the first workload;
21. The computer program product of claim 20, further configured to cause the first workload to run by.
前記ワークロードを2つ以上のステージに分割させ、
前記2つ以上のステージの各々について前記少なくとも1つのパラメータを反復的に調整させ、
前記2つ以上のステージの各々について前記少なくとも1つのパラメータを調整している間、前記1つまたは複数の特性を監視させ、
前記2つ以上のステージの各々についてそれぞれの電力プロファイルを生成させる、
ように更に構成される、請求項20に記載のコンピュータ・プログラム製品。 The computer readable program causes the processor to:
splitting the workload into two or more stages;
iteratively adjusting the at least one parameter for each of the two or more stages;
cause the one or more characteristics to be monitored while adjusting the at least one parameter for each of the two or more stages;
generating a respective power profile for each of the two or more stages;
21. The computer program product of claim 20, further configured to:
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/904,621 | 2020-06-18 | ||
US16/904,621 US20210397476A1 (en) | 2020-06-18 | 2020-06-18 | Power-performance based system management |
PCT/IB2021/055315 WO2021255666A1 (en) | 2020-06-18 | 2021-06-16 | Power-performance based system management |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023530829A true JP2023530829A (en) | 2023-07-20 |
Family
ID=79022522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022570218A Pending JP2023530829A (en) | 2020-06-18 | 2021-06-16 | Power-performance based system management |
Country Status (10)
Country | Link |
---|---|
US (1) | US20210397476A1 (en) |
JP (1) | JP2023530829A (en) |
KR (1) | KR20230002989A (en) |
CN (1) | CN115698958A (en) |
AU (1) | AU2021291706B2 (en) |
CA (1) | CA3176180A1 (en) |
DE (1) | DE112021003294T5 (en) |
GB (1) | GB2611683A (en) |
IL (1) | IL297745A (en) |
WO (1) | WO2021255666A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240028396A1 (en) * | 2020-11-24 | 2024-01-25 | Raytheon Company | Run-time schedulers for field programmable gate arrays or other logic devices |
US20220236912A1 (en) * | 2021-01-27 | 2022-07-28 | SK Hynix Inc. | Firmware parameters auto-tuning for memory systems |
US11934286B2 (en) * | 2021-04-29 | 2024-03-19 | Dell Products L.P. | Subsystem power range configuration based on workload profile |
US20230031805A1 (en) * | 2021-07-30 | 2023-02-02 | Texas Instruments Incorporated | Multi-level power management operation framework |
US20230305905A1 (en) * | 2022-03-22 | 2023-09-28 | Red Hat, Inc. | Assigning computer workloads to nodes based on energy consumption modes of the nodes |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9405348B2 (en) * | 2008-04-21 | 2016-08-02 | Adaptive Computing Enterprises, Inc | System and method for managing energy consumption in a compute environment |
US8489745B2 (en) * | 2010-02-26 | 2013-07-16 | International Business Machines Corporation | Optimizing power consumption by dynamic workload adjustment |
US9557792B1 (en) * | 2013-05-31 | 2017-01-31 | Amazon Technologies, Inc. | Datacenter power management optimizations |
US10712796B2 (en) * | 2014-08-22 | 2020-07-14 | Intel Corporation | 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 |
US20160077571A1 (en) * | 2014-09-12 | 2016-03-17 | Microsoft Corporation | Heuristic Processor Power Management in Operating Systems |
CN106502358A (en) * | 2015-09-04 | 2017-03-15 | 李涛 | A kind of multi-mode power source managing strategy of new forms of energy server system and device |
CN109614216A (en) * | 2018-08-30 | 2019-04-12 | 广东工业大学 | A kind of cloud platform energy optimization management method based on fireworks algorithm |
US11106261B2 (en) * | 2018-11-02 | 2021-08-31 | Nvidia Corporation | Optimal operating point estimator for hardware operating under a shared power/thermal constraint |
JP7288189B2 (en) * | 2019-05-29 | 2023-06-07 | 富士通株式会社 | Job power prediction program, job power prediction method, and job power prediction device |
-
2020
- 2020-06-18 US US16/904,621 patent/US20210397476A1/en active Pending
-
2021
- 2021-06-16 IL IL297745A patent/IL297745A/en unknown
- 2021-06-16 AU AU2021291706A patent/AU2021291706B2/en active Active
- 2021-06-16 GB GB2300445.0A patent/GB2611683A/en active Pending
- 2021-06-16 WO PCT/IB2021/055315 patent/WO2021255666A1/en active Application Filing
- 2021-06-16 KR KR1020227040980A patent/KR20230002989A/en active Search and Examination
- 2021-06-16 DE DE112021003294.1T patent/DE112021003294T5/en active Pending
- 2021-06-16 CA CA3176180A patent/CA3176180A1/en active Pending
- 2021-06-16 CN CN202180038757.8A patent/CN115698958A/en active Pending
- 2021-06-16 JP JP2022570218A patent/JP2023530829A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115698958A (en) | 2023-02-03 |
GB202300445D0 (en) | 2023-03-01 |
AU2021291706A1 (en) | 2022-11-10 |
CA3176180A1 (en) | 2021-12-23 |
GB2611683A (en) | 2023-04-12 |
DE112021003294T5 (en) | 2023-04-20 |
WO2021255666A1 (en) | 2021-12-23 |
US20210397476A1 (en) | 2021-12-23 |
AU2021291706B2 (en) | 2024-02-22 |
KR20230002989A (en) | 2023-01-05 |
IL297745A (en) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593179B2 (en) | Capacity and load analysis using storage attributes | |
JP2023530829A (en) | Power-performance based system management | |
Hwang et al. | Cloud performance modeling with benchmark evaluation of elastic scaling strategies | |
Beloglazov et al. | Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers | |
US10310908B2 (en) | Dynamic usage balance of central processing units and accelerators | |
US10401940B2 (en) | Power management in disaggregated computing systems | |
US9612878B2 (en) | Resource allocation in job scheduling environment | |
US8776066B2 (en) | Managing task execution on accelerators | |
Qureshi | Profile-based power-aware workflow scheduling framework for energy-efficient data centers | |
US20150370603A1 (en) | Dynamic parallel distributed job configuration in a shared-resource environment | |
US20180052714A1 (en) | Optimized resource metering in a multi tenanted distributed file system | |
US10545560B2 (en) | Power management and utilization detection of computing components | |
US10411977B2 (en) | Visualization of workload distribution on server resources | |
Ramanathan et al. | Towards optimal resource provisioning for Hadoop-MapReduce jobs using scale-out strategy and its performance analysis in private cloud environment | |
CN107251007B (en) | Cluster computing service ensuring device and method | |
Rogers et al. | A generic auto-provisioning framework for cloud databases | |
JP2021504780A (en) | Application Prioritization for Automatic Diagonal Scaling in a Distributed Computing Environment | |
US20200153709A1 (en) | Optimizing streaming graph topology based on service level agreement | |
JPWO2012127641A1 (en) | Information processing system | |
US11567664B2 (en) | Distributing data across a mixed data storage center | |
JP2021504777A (en) | Automatic diagonal scaling of workloads in a distributed computing environment | |
JP2023545316A (en) | Determining the impact of multiple applications on system performance | |
Rani et al. | A workload-aware vm placement algorithm for performance improvement and energy efficiency in OpenStack cloud | |
Das et al. | Augmenting amdahl's second law: A theoretical model to build cost-effective balanced HPC infrastructure for data-driven science | |
US20230418688A1 (en) | Energy efficient computing workload placement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231114 |