JP5435133B2 - 情報処理装置、情報処理装置の制御方法及びプログラム - Google Patents

情報処理装置、情報処理装置の制御方法及びプログラム Download PDF

Info

Publication number
JP5435133B2
JP5435133B2 JP2012524362A JP2012524362A JP5435133B2 JP 5435133 B2 JP5435133 B2 JP 5435133B2 JP 2012524362 A JP2012524362 A JP 2012524362A JP 2012524362 A JP2012524362 A JP 2012524362A JP 5435133 B2 JP5435133 B2 JP 5435133B2
Authority
JP
Japan
Prior art keywords
cpu
logical
operating frequency
cpus
information processing
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.)
Expired - Fee Related
Application number
JP2012524362A
Other languages
English (en)
Other versions
JPWO2012008019A1 (ja
Inventor
憲司 岡野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012008019A1 publication Critical patent/JPWO2012008019A1/ja
Application granted granted Critical
Publication of JP5435133B2 publication Critical patent/JP5435133B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Description

本発明は情報処理装置、情報処理装置の制御方法及びプログラムに関する。
以下に述べる構成の並列計算機が知られている。すなわち、データ量と、動作周波数及び電圧をパラメータとしてプロセッサによる処理を実行したときの消費電力とを対応付けた情報を記憶する。そして当該情報に基づいて、複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対するデータ処理の割付と、動作周波数及び電圧の設定を行う。
又、論理的に区分された区画を有する処理システムにおいて、任意の区画に割り当てられたプロセッサへの供給電力又はクロック周波数をスケーリングすることにより消費電力を低減する構成が知られている。
又、以下に述べるプロセッサの制御方法が知られている。すなわち、時間制約があり負荷変動のあるタスクの処理の進行度を計測し、進行度の時間平均を単位時間ごとに演算し、得られた時間平均を閾値と比較する。そして比較の結果に基づき、プロセッサの動作周波数の変更或いは処理の優先度を変化させる。
又、仮想CPUが割り当てられていない物理CPUを計算機システム全体で最適化することで消費電力の低減を図る仮想計算機システムが知られている。
特開2006−344162号公報 特開2004−192612号公報 特開2003−337713号公報 特開2009−140157号公報
SOLARISTM OPERATING SYSTEM, HARDWARE VIRTUALIZATION PRODUCT ARCHITECTURE, Chien-Hua Yen, ISV Engineering, chien.yen@sun.com, Sun BlueprintsTM On-Line - November 2007 (http://www.sun.com/blueprints/1107/820-3703.pdf) SPARC Enterprise, M4000/M5000/M8000/M9000サーバ、Dynamic Reconfiguration(DR)ユーザーズガイド(http://www.fujitsu.com/downloads/SPARCE/manuals/sparc-commonj/mx-drusers-ja-06.pdf)
並列に動作する複数のCPUを有する情報処理装置において、複数のCPUの消費電力を効果的に低減し得る構成を提供することが課題である。
情報処理装置では、情報処理を行う複数の区画に対し複数のCPUを割り当て、複数のCPUの夫々の動作周波数を、当該夫々の動作周波数の平均値に一致させるように変更する。当該CPUの動作周波数の変更によって、当該CPUが割り当てられた区画に係る情報処理の負荷に対する当該CPUの処理能力の過不足が生じた場合、当該過不足を解消させる。この目的のために、CPUから論理CPUを生成し、当該処理能力の過不足に係る区画に割り当てる。
並列に動作する複数のCPUを有する情報処理装置において、複数のCPUの消費電力を効果的に低減することができる。
本発明の実施例の概要を説明するためのサーバ装置(情報処理装置の一例)のブロック図である。 本発明の実施例によるサーバ装置のブロック図である。 本発明の実施例によるサーバ装置のハードウェアブロック図である。 本発明の実施例によるサーバ装置における処理の手順を説明するためのブロック図(その1)である。 本発明の実施例によるサーバ装置における処理の手順を説明するためのブロック図(その2)である。 本発明の実施例によるサーバ装置における処理の手順を説明するためのブロック図(その3)である。 本発明の実施例によるサーバ装置におけるCPUの動作周波数の平準化処理の前後の状態の相違について説明するための図である。 本発明の実施例によるサーバ装置における処理の手順の流れを説明するためのフローチャート(その1)である。 本発明の実施例によるサーバ装置における処理の手順を説明するためのブロック図(その4)である。 本発明の実施例によるサーバ装置における処理の手順を説明するためのブロック図(その5)である。 本発明の実施例によるサーバ装置における処理の手順を説明するためのブロック図(その6)である。 本発明の実施例によるサーバ装置における処理の手順の流れを説明するためのフローチャート(その1)である。 本発明の実施例によるサーバ装置における処理の手順を説明するためのブロック図(その7)である。 本発明の実施例によるサーバ装置における処理の手順を説明するためのブロック図(その8)である。
以下に本発明の実施例の説明を行う。
本発明の実施例1によれば、マルチプロセッサ(multi-processor)のシステムにおいて、複数のCPUの動作周波数を揃えた後、低負荷のCPUを時分割して複数の仮想的なCPUに分割する。そして、当該分割された仮想的なCPUを高負荷の論理ドメイン(logical domain)に割り当てる。このようにしてシステム内のCPUの負荷を平準化することにより、システムの性能を維持しつつ、システム全体の消費電力を削減する。
尚、以下、説明の便宜上、上記の如くCPUを時分割して分割することによって得られる仮想的なCPUを「論理CPU」と称し、論理CPUと区別する意味で、ハードウェアとしてのCPUを「物理CPU」と称する。又、「論理ドメイン」は、メモリ、物理CPU、入出力装置等のシステムのリソースを夫々の論理的なグループ(論理ドメイン)に割り当てることを可能にするために形成される。論理ドメインの詳細については、例えば非特許文献1のChapter 7に記載されている。又、物理CPUの負荷を平準化することは、物理CPUの動作周波数を平準化することを意味する。物理CPUの動作周波数を平準化することによってシステム全体の消費電力を削減することができる理由は、図7とともに後述するように、物理CPUの消費電力が動作周波数の3乗に比例すると考え得ることによる。
マルチプロセッサのシステムの消費電力削減の方法として、例えば使用していない物理CPUの電源を切断する方法が有る。又、物理CPUを時分割して多くの処理を分担させ、当該物理CPUに処理を集めることによって不使用のCPUを生み出し、不使用のCPUの電源を切断する方法がある。しかしながらこれらの方法は、システム全体が低負荷の場合には有効と考えられるが、中負荷或いは高負荷の場合には、使用中のCPUが高負荷となり、当該CPUの消費電力が極端に増加するため、システム全体の消費電力削減の効果は限定的と考えられる。
本発明の実施例1によれば、複数のCPUの動作周波数を均一化し、その結果低負荷となる物理CPUを分割して論理CPUを生成して高負荷の論理ドメインに割り当てることによって、低負荷の物理CPUを効率的に使用し、システム全体の消費電力を低減させる。
図1とともに本発明の実施例1のサーバ装置における処理の概要を説明する。図1のサーバ装置100は、2つの物理CPU C0,C1と、ハイパーバイザH1と、サービスプロセッサSP1とを有する。図1のサーバ装置100は又、管理ドメインM1及び2つの論理ドメインG0,G1を有する。又、論理ドメインG0には2つの論理CPU L0−0、L0−1が割り当てられ、論理ドメインG1には1つの論理CPU L1−0が割り当てられている。
物理CPU C0,C1は、ハイパーバイザH1からの指示に従って、動作周波数(クロック周波数)と電源電圧とを変更する機能を有する。尚、後述の如く、物理CPU C0,C1は、動作周波数に比例して電源電圧が増減する。実施例1においては、物理CPU C0,C1の各々の最高動作周波数は3GHzであり、1GHz単位で変更することができるものとする。
論理CPU L0−0,L0−1,L1−0は、物理CPU C0,C1上に生成される仮想的なCPUであり、上記の如く、時分割によって、一つの物理CPUから複数の論理CPUを生成することができる。物理CPUの時分割スケジューリングは管理ドメインM1が行う。又、物理CPUのレジスタ情報等の退避は、ハイパーバイザH1が行う。
又、図1では図示が省略されているが、図2とともに後述するように、各論理ドメインG0,G1にはOS(Operating System)S0,S1が夫々割り当てられる。OS S0,S1は、自己が割り当てられている論理ドメイン内の情報処理の負荷に応じ、当該論理ドメインに属する論理CPUの動作周波数を変更する要求をハイパーバイザH1に出す。すなわち、各論理ドメインが実行する情報処理の負荷が上昇した際には、当該論理ドメインのOSは、当該論理ドメインに属する論理CPUの動作周波数を上げる要求を出す。他方、論理ドメインがアイドル状態の場合等、情報処理の負荷が低下した際には、論理CPUの動作周波数を上げる要求を出す。
論理CPU L0−0はハイパーバイザH1により物理CPU C0から生成され、論理CPU L0−1,L1−0はハイパーバイザH1により物理CPU C1から生成される。
ハイパーバイザH1は、物理CPUを論理CPUに変換して論理CPUを生成し、各論理ドメイン(「区画」の一例)に割り当てる機能を有するソフトウェアである。又ハイパーバイザH1は、OSや管理ドメインM1からの指示に応じ、物理CPUの動作周波数を変更する命令を物理CPUに対し発行する。
管理ドメインM1もソフトウェアであり、論理ドメインの構成を管理し、論理ドメインの構成を動的に変更したり、物理CPUを時分割して生成した論理CPUの論理ドメインに対する割り当てのスケジューリングを制御する。管理ドメインM1は又、ロードアベレージを取得する機能を有し、取得したロードアベレージに基づいて各論理ドメインが情報処理のために必要とする論理CPUの処理能力を算出する機能を有する。尚、ロードアベレージとは、論理CPUの現在の動作周波数による処理能力に見合った情報処理の負荷量に対する、当該論理CPUが実際に実行している情報処理の負荷量の割合を意味する。すなわち、当該論理CPUの現在の動作周波数による処理能力に見合った情報処理の負荷量を実行している場合、ロードアベレージは100%であり、上記見合った情報処理の負荷量の半分の情報処理の負荷量を実行している場合、ロードアベレージは50%である。
管理ドメインM1は又、論理CPUを動的に論理ドメインに割り当てたり、外したりする機能を有する。論理CPUを動的に論理ドメインに割り当てたり外したりする機能として、例えばダイナミックリコンフィギュレーション(DR: Dynamic Reconfiguration)機能を使用することができる。ダイナミックリコンフィギュレーションの詳細については例えば非特許文献2に記載されている。
サービスプロセッサSP1はサーバ装置100の内部に設けられる独立したコンピュータであり、物理CPU C0,C1を監視する機能を有し、より具体的には、物理CPUの動作周波数を監視する機能を有する。又サービスプロセッサSP1は、管理ドメインM1と通信する機能を有し、各物理CPU C0,C1の動作周波数の変更、論理CPUの割り当て変更等の依頼を行う機能を有する。
このように、図1のサーバ装置100は、ソフトウェアであるハイパーバイザH1から動作周波数を変更可能な複数の物理CPU C0,C1を有し、論理CPUを生成して論理ドメインに割り当て、論理ドメイン毎に情報処理を実行するシステムである。当該システムは、以下に述べる方法によって、システムの性能を維持しつつ、システム全体の消費電力を削減する。
図1のサーバ装置100では、物理CPUの動作周波数を平準化(平均化)することにより、システム全体の消費電力を削減する。物理CPUの動作周波数の平準化によってシステム全体の消費電力を削減することができる理由は、上記の如く、物理CPUの消費電力が動作周波数の3乗に比例すると考え得ることによる。ここで、物理CPUの動作周波数を平準化すると、当該物理CPUが割り当てられた論理ドメインの情報処理の負荷に対する、当該物理CPUの処理能力の過不足が生ずる場合が想定される。そのような場合、情報処理の負荷が低い論理ドメインに割り当てられた物理CPUを時分割して複数の論理CPUを生成し、当該物理CPUの処理能力の一部を、論理CPUとして、高負荷の論理ドメインに割り当てる。
尚、物理CPU或いは論理CPUの処理能力は、物理CPU或いは論理CPUの動作周波数に比例するものとする。又、物理CPUの動作周波数が一定の場合、物理CPUの時分割によって生成される複数の論理CPUの夫々に割り当てられる処理能力は、時分割によって夫々の論理CPUに割り当てられる処理時間に比例するものとする。
ハイパーバイザH1及び管理ドメインM1は、一つの物理CPUから複数の論理CPUを生成する機能を有し、各論理ドメインが情報処理を実行するのに必要とされる処理能力を提供するように、当該生成した論理CPUを論理ドメインに割り振る制御を行う。
又、各論理ドメインのOSは、自己の情報処理の負荷に応じて、ハイパーバイザH1に対し、自己に属する論理CPUの動作周波数の変更を要求する。
サービスプロセッサSP1は、物理CPUの動作周波数を定期的に監視し、物理CPUの動作周波数にバラツキがあることを検出すると、物理CPUの動作周波数を平準化するように、管理ドメインM1に指示を出す。
図1の例では、物理CPU C0から一つの論理CPU L0−0が生成され、物理CPU C1からは2つの論理CPU L0−1,L1−0が生成されている。そして、比較的情報処理の負荷が高い論理ドメインG0に対し、物理CPU C0の全ての処理能力が論理CPU L0−0として割り当てられている。更に、物理CPU C1の処理能力の一部が論理CPU L0−1として論理ドメインG0に割り当てられている。他方、比較的情報処理の負荷が低い論理ドメインG1に対し、物理CPU C1の処理能力の他の一部が、論理CPU L1−0として割り当てられている。このように、情報処理の負荷の高い論理ドメインG0及び低い論理ドメインG1に対し、必要な論理CPUの処理能力を割り当てられている。又、各物理CPU C0,C1の動作周波数は、2GHzとして等しく揃えられている。
このように本発明の実施例1によれば、物理CPU C1を時分割して2つの論理CPU L0−1,L1−0を生成し、2つの論理ドメインG0,G1に生成した論理CPUを夫々割り振る。その結果、2つの物理CPU C0,C1の動作周波数を等しく揃えた状態で、各論理ドメインG0,G1が必要とする処理能力を夫々提供することができる。その結果システム全体で性能を維持しつつ、消費電力を削減することができる。更に、物理CPUの動作周波数を平準化して均等に使用することにより、最高動作周波数で動作する物理CPUを減らすことができ、物理CPUの温度も平準化でき、もって物理CPUの寿命を伸ばすことができる。
以下、図とともに、本発明の実施例1によるサーバ装置100につき、詳細に説明する。図2は、本発明の実施例1によるサーバ装置100の全体構成を示す。本発明の実施例1によるサーバ装置100は上記の如く、サービスプロセッサSP1、2つの物理CPU C0,C1,ハイパーバイザH1,管理ドメインM1、2つの論理ドメインG0,G1を有する。論理ドメインG0,G1には、夫々OS S0,S1が割り当てられている。又、図2は、物理CPU C0から一つの論理CPU L0−0が生成されて論理ドメインG0に割り当てられ、物理CPU C1から一つの論理CPU L1−0が生成されて論理ドメインG1に割り当てられている状態を示す。
図3は、本発明の実施例1によるサーバ装置100のハードウェア構成を示す。サーバ装置100は、システムボード110と、サービスプロセッサボード120とを有する。システムボード110は、上記2つの物理CPU C0,C1と、これら物理CPU C0,C1に夫々割り当てられた2つの主記憶111,112とを有する。又、サービスプロセッサボード120はサービスプロセッサSP1を有する。上記論理ドメインG0,G1、ハイパーバイザH1及び管理ドメインM1は、システムボード110上の、物理CPU C0,C1及び主記憶111,112上で動作する。すなわち、論理ドメインG0,G1、ハイパーバイザH1及び管理ドメインM1は、物理CPU C0,C1が夫々主記憶111,112から命令を読み出して実行することによって実現する。
又、サービスプロセッサボード120とシステムボード110とは相互に物理的に接続されている。その結果、サービスプロセッサボード120上のサービスプロセッサSP1からシステムボード110上の物理CPU C0,C1の動作周波数を監視したり、サービスプロセッサSP1が物理CPU上で動作するソフトウェアと通信したりすることができる。
次に、図4〜図8とともに、本発明の実施例1によるサーバ装置100が実行する処理について例を挙げて詳細に説明する。尚、ここでは、各論理CPUのロードアベレージを100%としている。
図4はサーバ100の初期状態を示す。初期状態では、図4に図示の如く、論理ドメインG0,G1の夫々に対し、論理CPU L0−0,L1−0が割り当てられている。又、論理CPU L0−0は物理CPU C0自体であり、同様に、又、論理CPU L1−0は物理CPU C1自体である。すなわち、物理CPU C0,C1の各々は、時分割せず、そのまま、夫々論理CPU L0−0,L1−0を1つずつ生成している。
又、図4の状態では論理ドメインG0は情報処理の負荷が高い状態であり、論理ドメインG0に論理CPU L0−0を提供している物理CPU C0は最高動作周波数3GHzで動作している。他方、論理ドメインG1は情報処理の負荷が低い状態であり、論理ドメインG1に論理CPU L1−0を提供している物理CPU C1は動作周波数1GHzで動作している。
又、論理ドメインG0は3つの情報処理のタスクT1,T2,T3を実行しており、当該3つのタスクT1,T2,T3の各々には、論理CPU L0−0の処理能力が時分割され、論理CPU L0−0の処理能力の1/3ずつが割り当てられている。すなわち論理CPU L0−0が提供する処理時間が3分割され、各タスクには、論理CPU L0−0が提供する処理時間の1/3ずつが割り当てられている。その結果、論理CPU L0−0が属する物理CPU C0の3GHz分の処理能力が3等分され、3つのタスクT1,T2,T3の各々には、1GHz分ずつの処理能力が割り当てられている。
サービスプロセッサSP1は各物理CPU C0,C1の動作周波数を監視し、物理CPU C0,C1の動作周波数のバラツキの有無を判定する。サービスプロセッサSP1は物理CPU C0,C1の動作周波数にバラツキがあると判定すると、物理CPU C0,C1の動作周波数を最適化するよう、管理ドメインM1に指示を出す。
管理ドメインM1は当該指示を受けると、まず、物理CPU C0,C1の動作周波数の平準化後に、現状の性能を維持できるような論理CPUの割り当てが得られるか否かを判定する。ここで現状の性能とは、以下に示す如くに論理CPU L0−0,L0−1が割り当てられている状態を言う。すなわち、上記の如く、動作周波数が3GHzの物理CPU C0が論理CPU L0−0として論理ドメインG0に割り当てられ、更に、論理CPU L0−0が3分割されて各タスクT1,T2,T3に割り当てられている。更に、動作周波数が1GHzの物理CPU C1が論理CPU L0−1として、論理ドメインG1に割り当てられている。
ここで説明の便宜上、例えば、図4の例とは異なり、ある1つのタスクが、高い処理能力(例えば3GHz分の処理能力)を必要としており、当該1つのタスクに対し、3GHzの1つの物理CPUに属する3GHzの論理CPUが割り当てられている場合を想定する。そのような場合には、物理CPUの動作周波数を平準化して夫々の動作周波数の平均値2GHzに変更すると、上記3GHzの処理能力を必要とするタスクに対し、3GHzの処理能力を割り当てられなくなる。これは、1つのタスクを、2つの物理CPUに夫々属する2つの物理CPUが共同して実行し得ないことによる。したがってこのような場合、物理CPUの動作周波数の平準化後に、現状の性能を維持できる論理CPUの割り当てを得ることができない。
他方、図4の例における論理ドメインG0のようにタスクが複数存在し、1つの論理CPUが時分割されて夫々のタスクに割り当てられているような場合、物理CPUの動作周波数の平準化後に、現状の性能を維持できる論理CPUの割り当てを得ることができる。この点につき、図4〜図6とともに後述する。
管理ドメインM1は、上記の如く、サービスプロセッサSP1から物理CPUの動作周波数の最適化の指示を受けた場合、物理CPUの動作周波数の平準化後に、現状の性能を維持できる論理CPUの割り当てが得ることができるか否かを判定する。より具体的には、管理ドメインM1は、現在各論理ドメインが有するタスクの数及び当該タスクに対して論理CPUがどのような態様で割り当てられているか等の情報を使用する。そして管理ドメインM1は、当該情報に基づき、物理CPUの動作周波数の平準化後に、現状の性能を維持できる論理CPUの割り当てが得ることができるか否かを判定する。
図4の例の場合、上記の如く、論理ドメインG0が処理するタスクは、3つのタスクT1,T2,T3であり、論理ドメインG0が処理する負荷が当該3つのタスクT1,T2,T3に1/3ずつ等分に分散されている。このような場合、管理ドメインM1は、まず、現在の物理CPU C0,C1の動作周波数3GHz、1GHzを、夫々、平均値2GHzに変更するものと仮定する。この場合、現状3GHzが割り当てられている論理ドメインG0には、2GHzに変更された物理CPU C0に属する2GHzの論理CPU L0−0の処理能力が割り当てられる。そうすると、論理ドメインG0では、元の3GHz分の処理能力と、当該変更後の2GHz分の処理能力との間の差分、1GHzが、処理能力の不足として生ずる。
他方、上記物理CPUの動作周波数の変更の結果、現状1GHzが割り当てられている論理ドメインG1には、2GHzに変更された物理CPU C1に属する2GHzの論理CPU L1−0の処理能力が割り当てられる。そうすると、論理ドメインG1では、元の1GHzと、当該変更後の2GHzとの間の差分、1GHzが、処理能力の余剰として生ずる。
そこで管理ドメインM1は、余剰のCPUの処理能力を上記不足のCPUの処理能力に充当するべく、図5に示す如く、元々処理能力が余剰となる論理ドメインG1に属していた物理CPU C1を2等分に時分割し、2つの論理CPU L0−1,L1−0を生成するものと仮定する。2等分に時分割した結果、2つの論理CPU L0−1,L1−0の各々には、物理CPU C1が提供する処理時間の1/2(50%)ずつの処理時間が割り当てられる。すなわち、2つの論理CPU L0−1,L1−0の各々は、動作周波数変更後の物理CPU C1の動作周波数2GHz分の処理能力が2等分され、1/2(50%)の1GHz分ずつの処理能力を有する。
そして管理ドメインM1は、図6に示す如く、2つの論理CPU L0−1,L1−0のうち、一の論理CPU L0−1を処理能力が不足となる論理ドメインG0に割り当て、他の論理CPU L1−0を元の論理ドメインG1に割り当てるものと仮定する。その結果、論理ドメインG0には、論理CPU L0−0(2GHz)と、他の論理CPU L0−1とが割り当てられ、合計3GHz分の処理能力が割り当てられる。又、上記の如く、高負荷の論理ドメインG0が有するタスクは、各々が1GHz分ずつの処理負荷を必要とする3つのタスクT1,T2,T3である。このため、上記論理CPU L0−0の2GHz分の処理能力をタスクT1,T2に割り当て、上記論理CPU L0−1の1GHz分の処理能力をタスクT3に割り当てることができる。したがって、論理ドメインG0に関し、図4の初期状態の性能を維持できる。他方、論理ドメインG1に関しては、物理CPU C1から生成された、1GHz分の処理能力を有する論理CPU L1−0が割り当てられる。このため、図4の初期状態の性能を維持できる。このようにして得られた、図6に示す、物理CPUの動作周波数の平準化後の論理CPUの処理能力の割り当ては、以下のように数式で示すことができる。尚、以下の数式(1)、(2)において、処理能力をCPUの動作周波数[GHz]で示している。

論理ドメインG0:2[GHz](L0−0(C0))+(2[GHz](C1)×1/2)[GHz](L0−1)=3[GHz] ...(1)

論理ドメインG1:(2[GHz](C1)×1/2)[GHz](L1−0)=1[GHz]
...(2)

管理ドメインM1は、このようにして物理CPUの動作周波数の平準化後の論理CPUの割り当てとして、論理ドメインG0,G1の両方において図4の初期状態の性能を維持できる論理CPUの割り当てを得ることができると判定すると、以下の動作を実行する。すなわち、管理ドメインM1は、このようにして得られた物理CPUの動作周波数の平準化後の論理CPUの割り当てを実現するための処理を行う。尚、上記物理CPUの動作周波数の平準化後の論理CPUの割り当てを実現するための処理とは、物理CPUの動作周波数を平準化し、動作周波数の平準化により生ずる処理能力の過不足を解消するために論理CPUの割り当てを変更する処理である。このような処理のことを、以下、「動作周波数平準化及び処理能力割り当て処理」と称する。
動作周波数平準化及び処理能力割り当て処理では、管理ドメインM1はハイパーバイザH1に対し、物理CPU C1の動作周波数を元の1GHzから2GHzに変更するように指示を出す。その後管理ドメインM1は、動作周波数変更後の物理CPU C1の処理能力を時分割で2等分して2つの論理CPU L0−1,L1−0を生成する。そして管理ドメインM1は、生成した2つの論理CPUのうち、論理CPU L0−1を論理ドメインG0に割り当て、論理CPU L1−0を論理ドメインG1に割り当てる。そして、管理ドメインM1は、ハイパーバイザH1に対し、物理CPU C0の動作周波数を元の3GHzから2GHzに変更するように指示を出す。その結果、サーバ装置100では、上述した、図6及び上記数式(1)、(2)に示す論理CPUの割り当て状態が実現される。
尚、上記の如く、物理CPU C1の動作周波数を上げる手順を、物理CPU C0の動作周波数下げる手順に先立って行うことが望ましい。これは、物理CPU C0の動作周波数を下げる手順を、物理CPU C1の動作周波数を上げる手順に先だって行ってしまうと、以下に述べるような状況が生じるおそれがあるからである。すなわち、物理CPUの動作周波数が下げられることによって、論理ドメインが必要とする情報処理の負荷に対する処理能力が不足してしまう状況が想定される。
他方、物理CPUの動作周波数の平準化後に、論理ドメインG0,G1の両方において図4の初期状態の性能を維持できる論理CPUの割り当てを得ることができない場合、管理ドメインM1は、動作周波数平準化及び処理能力割り当て処理を行わない。例えば上記の例の如く、論理ドメインG0が有する1つのタスクの負荷が高く、当該1つのタスクに対し実質的に3GHzの1つの物理CPUがそのまま割り当てられているような場合を想定する。このような場合、物理CPUの動作周波数の平準化後に、図4の初期状態の性能を維持できる論理CPUの割り当てを得ることができない。すなわちこのような場合、論理ドメインG1に割り当てられている論理CPU L1−0が属する物理CPU C1の動作周波数を2GHzに上げて2分割し、動作周波数2分割後の1GHzの論理CPUを高負荷の論理ドメインG0へ割り当てるものとする。しかしながら上記の如く、高負荷の1つのタスクを、2つの物理CPUに夫々属する2つの論理CPUが共同して実行することができない。したがって、物理CPUの動作周波数の平準化後に、図4の初期状態の性能を維持できる論理CPUの割り当てを得ることができない。
図7は、図4〜図6とともに上述した、動作周波数平準化及び処理能力割り当て処理(図中、「構成変更」)の前後のサーバ装置100の消費電力を比較する図である。まず、各論理ドメインG0,G1に割り当てられる論理CPUの処理能力(図中「ドメインあたりの性能」)の比は、動作周波数平準化及び処理能力割り当て処理の前後で1:1であり、相互に等しい。尚、図7中、論理ドメインG0をDOMAIN 0と、論理ドメインG1をDOMAIN 1として示している。論理ドメインG0では、物理CPUの動作周波数を平準化する処理の前は、動作周波数が3[GHz]×1=3[GHz]、動作周波数平準化及び処理能力割り当て処理の後は、動作周波数が2[GHz]×1+2[GHz]×1/2=3[GHz]であり、相互の比が1:1で等しい。論理ドメインG1では、動作周波数平準化及び処理能力割り当て処理の前は、動作周波数は1[GHz]×1=1[GHz]であり、動作周波数平準化及び処理能力割り当て処理の後は、動作周波数が2[GHz]×1/2=1[GHz]であり、相互の比が1:1で等しい。
次に、図7に示される、全物理CPUの消費電力(図中「全CPUの消費電力」)につき、説明する。説明の便宜上、各物理CPUの消費電力を示す値として、動作周波数(f)に電源電圧(v)の二乗を乗じた値(f[GHz]×(v[V]))を使用し、動作周波数(f)が1GHzの場合、電源電圧(v)は1[V]であるものとする。又、各物理CPUにおいて、電源電圧(v)は動作周波数(f)に比例し、すなわち、消費電力は動作周波数(f)の3乗に比例するものとする(例えば特許文献1の段落[0004]、[0005]参照)。
動作周波数平準化及び処理能力割り当て処理の前の物理CPU C0の消費電力の大きさを示す値は、3[GHz]×(3[V])=27と求まる。又、動作周波数平準化及び処理能力割り当て処理の前の物理CPU C1の消費電力の大きさを示す値は、1[GHz]×(1[V])=1と求まる。したがって動作周波数平準化及び処理能力割り当て処理の前の全物理CPUの消費電力を示す値は、27+1=28と求まる。
他方、動作周波数平準化及び処理能力割り当て処理の後の物理CPU C0の消費電力の大きさを示す値は、2[GHz]×(2[V])=8と求まる。又、動作周波数平準化及び処理能力割り当て処理の後の物理CPU C1の消費電力の大きさを示す値は、2[GHz]×(2[V])=8と求まる。したがって動作周波数平準化及び処理能力割り当て処理の後の全物理CPUの消費電力を示す値は、8+8=16と求まる。したがって動作周波数平準化及び処理能力割り当て処理の前後の全物理CPUの消費電力の比は、27:16となり、動作周波数平準化及び処理能力割り当て処理の結果、全物理CPUの消費電力は0.57倍となり、減少することが分かる。すなわち、動作周波数平準化及び処理能力割り当て処理の前後で、各論理ドメインに割り当てられる論理CPUの処理能力については変動がないのに対し、全物理CPUの消費電力は43%削減されている。
このように、本発明の実施例1によれば、システム全体のCPUの処理能力は動作周波数の1乗の総和に比例するが、消費電力は動作周波数の3乗の総和に比例することに着目し、CPUの動作周波数のバラツキを極力抑えることにより、効果的な消費電力の削減を図る。
尚、管理ドメインM1は、論理ドメインに割り当てる論理CPUの処理能力を、当該論理ドメインに割り当てられている全論理CPUの夫々の使用量の総和に対するものとして求める。ここで論理CPUの使用量は、当該論理CPUの動作周波数に当該論理CPUのロードアベレージを乗じた数に比例するものとする。又、各論理CPUの動作周波数とは、当該論理CPUが属する物理CPUの動作周波数に、時分割による割り当て率を乗じた数である。時分割による割り当て率とは、物理CPUから論理CPUが生成される場合において、当該物理CPUが提供する処理時間のうち、当該論理CPUに対して割り当てられる処理時間の割合を示す。例えば物理CPUが3等分されて3つの論理CPUが生成される場合の各論理CPUにおける時分割による割り当て率は1/3である。
次に図8とともに、図4〜図7とともに上述した如くの、本発明の実施例1による処理の流れについて説明する。
ステップS1で、サービスプロセッサSP1は、定期的に各物理CPUの動作周波数を監視し、ステップS2で、サービスプロセッサSP1は、各物理CPUの動作周波数のバラツキの有無を判定する。判定の結果動作周波数にバラツキがある場合(S3 YES)、サービスプロセッサSP1はステップS4に移行し、動作周波数にバラツキがない場合(S3 NO)、ステップS1に戻る。ステップS4で、サービスプロセッサSP1は、管理ドメインM1に対し、各物理CPUの動作周波数のバラツキがある点を通知する。
次にステップS5で、管理ドメインM1はサービスプロセッサSP1からの通知を受け、全物理CPUの動作周波数の平均値を求める。次にステップS6で管理ドメインM1は、各物理CPUの動作周波数をS5で求めた平均値に変更した(平準化)場合に、各論理ドメインに割り当てられる論理CPUの処理能力が維持される論理CPUの割り当て(論理CPU構成)を求める。
次にステップS7で管理ドメインM1は、S6で求めた論理CPU構成で、各論理ドメインに割り当てられる論理CPUの処理能力が維持可能か否かを判定する。ステップS7の判定の結果、各論理ドメインに割り当てられる論理CPUの処理能力を維持できない場合(S7 NO)、ステップS1が実行される。他方、各論理ドメインに割り当てられる論理CPUの処理能力を維持できる場合(S7 YES)、管理ドメインM1はステップS8に移行する。
ステップS8で管理ドメインM1は、現在の各物理CPUの動作周波数とS5で算出した動作周波数の平均値とを比較する。次にステップS9で管理ドメインM1は、動作周波数が平均値より低い物理CPUを動作周波数を上げる物理CPUとして認識し、動作周波数が平均値より高い物理CPUを動作周波数を下げる物理CPUとして認識する。次にステップS10で、管理ドメインM1は、ハイパーバイザH1に対し、動作周波数を上げる対象として認識した物理CPUの動作周波数を上げる指示を出す。当該指示を受けると、ステップS11でハイパーバイザH1は、該当する物理CPUの動作周波数を上げる。
次にステップS12で管理ドメインM1は、必要に応じ、動作周波数を上げた物理CPUを時分割して、1つの物理CPUから複数の論理CPUを生成する。例えば、物理CPUの動作周波数を上げたことにより物理CPUの処理能力が増加した結果、当該物理CPUに属する論理CPUを有する論理ドメインの情報処理の負荷に対して処理能力が余剰となった場合、当該物理CPUを時分割する。そしてステップS13で管理ドメインM1は、時分割して得られた複数の論理CPUのうちの一部を、現有の論理CPUの処理能力では情報処理の負荷に対し処理能力が不足となる他の論理ドメインに対し、割り当てる。論理ドメインに対する論理CPUの割り当ては、ダイナミックリコンフィギュレーション(DR)機能によって行うことができる。
次にステップS14で管理ドメインM1は、ハイパーバイザH1に対し、動作周波数を下げる対象として認識した物理CPUの動作周波数を下げる指示を出す。次にステップS15でハイパーバイザH1は、該当する物理CPUの動作周波数を下げる。
次にステップS16で各論理ドメインのOSは、当該論理ドメインに属する論理CPUのロードアベレージに応じ、当該論理CPUの動作周波数の変更をハイパーバイザH1に要求する。例えば論理ドメインのOSは、論理CPUのロードアベレージが低い場合には、当該論理CPUの動作周波数を下げるようにハイパーバイザH1に指示を出す。又、論理ドメインのOSは、論理CPUのロードアベレージが高い場合には、当該論理CPUの動作周波数を上げるようにハイパーバイザH1に指示を出す。
次にステップS17でハイパーバイザH1は、論理ドメインのOSからのS16の指示に応じ、対応する物理CPUの動作周波数を変更する。次に、再びステップS1が実行される。尚、ステップS17において物理CPUの動作周波数が変更された結果、物理CPUの動作周波数にバラツキが生じると(ステップS2、ステップS3のYES),ステップS4以降の処理が再度実行される。
尚、ステップS6で管理ドメインM1は、各論理ドメインに属する論理CPUのロードアベレージを取得し、取得したロードアベレージに基づき、当該論理ドメインに対して割り当てる論理CPUの処理能力を求める。その結果、例えばロードアベレージが低い場合には、ロードアベレージに応じ、論理ドメインに割り当てる論理CPUの処理能力を下げる。
又、ステップS6で管理ドメインM1は、負荷の高い論理ドメインが処理するタスクの状態を調べ、物理CPUの動作周波数を平準化した場合に当該タスクの実行が可能か否かを判定する。例えば特定の1つのタスクの情報処理の負荷が高く、物理CPUの動作周波数を平準化すると、動作周波数平準化後の物理CPUに属する1つの論理CPUでは当該タスクを実行できないような場合、物理CPUの動作周波数の平準化を行わないものとする。
又、ステップS9で管理ドメインM1は、動作周波数を上げる物理CPUに係る論理ドメイン及び動作周波数を下げる物理CPUに係る論理ドメインを抽出する。そしてステップS12で管理ドメインM1は、ステップS11,S12で動作周波数が上げられた物理CPUに係る論理ドメインに属する論理CPUのロードアベレージに応じ、当該物理CPUを時分割する。例えば論理CPUのロードアベレージが1/2であれば、当該論理CPUが属する物理CPUを2等分に時分割する。又、論理CPUのロードアベレージが1/3であれば、当該論理CPUが属する物理CPUを3等分に時分割する。そしてステップS13で管理ドメインM1は、時分割によって生成された論理CPUを、ステップS14,S15で動作周波数が下げられる物理CPUが割り当てられている論理ドメインに割り当てる。
このように、管理ドメインM1は、物理CPUの動作周波数の平準化によって動作周波数が上げられた物理CPUを時分割し、時分割によって生成された論理CPUを、動作周波数が下げられた物理CPUに係る論理ドメインに割り当てる。このようにして管理ドメインM1は、各論理ドメインに対し、物理CPUの動作周波数の平準化前と同等の処理能力が割り当てられるように、論理CPUの割り当てを決定する。
尚、物理CPUの動作周波数を上げるステップS10,S11は、物理CPUを時分割して論理CPUを割り当てるステップS12,S13の前に実行し、物理CPUの動作周波数を下げるステップS14,S15は、ステップS12,S13の後に実行する。これは、各論理ドメインが必要とする処理能力に一時的な不足が生ずることを防止するためである。
次に図9乃至図14とともに、図8のステップS16の動作の詳細について説明する。ステップS10〜S15の動作において物理CPUの動作周波数の平準化が実行されると、サーバ装置100が有する全物理CPUの動作周波数が等しくなる。その後、各論理ドメインのOSは、当該論理ドメインに属する論理CPUのロードアベレージに応じ、論理CPUの動作周波数の変更をハイパーバイザH1を介して行う。その結果、物理CPUの動作周波数にバラツキが生ずる(図8中、ステップS3のYES)。
例えば、ある論理ドメインにおいて、OS上でほとんどジョブが動作しておらず、すなわち情報処理の負荷が非常に低く、いわゆるアイドル(すなわちロードアベレージが非常に低い)状態であった場合を想定する。このような場合、OSは、消費電力の削減のため、ハイパーバイザH1を介し、当該論理ドメインに属する論理CPUの動作周波数を下げる。逆に当該論理ドメインにおいて、更なる論理CPUの処理能力が必要と判断すると、OSはハイパーバイザH1を介し、当該論理ドメインに属する論理CPUの動作周波数を上げる。
次に図9〜図11とともに、物理CPUの動作周波数が変更された結果、物理CPUの動作周波数にバラツキが生ずる状況の具体例について説明する。
図9はサーバ装置100の初期状態を示す。図9に示す如く、初期状態では、物理CPU C0,C1とも動作周波数は2GHzである。ここで論理ドメインG0の情報処理の負荷が上がった場合を想定する。このような場合、OS S0は、論理CPUの更なる処理能力が必要になったと判断し、ハイパーバイザH1に対し、論理CPU L0−1の動作周波数を上げる指示を出したとする。より具体的には、図10に示す如く、OS S0がハイパーバイザH1に対し、論理CPU L0−1の動作周波数を1GHz上げる指示を出したとする。
尚、図9の初期状態では、論理CPU L0−1は、物理CPU C1を2等分(すなわち1:1の割合)に時分割して生成された2つの論理CPU L0−1,L1−0のうちの1つである。すなわち、論理CPU L0−1、L1−0の各々には、物理CPU C1の動作周波数2GHz分の処理能力の1/2の1GHz分の処理能力が割り当てられている。
ハイパーバイザH1は、OS S0からの指示を受けると、当該指示に係る論理CPU L0−1が物理CPU C1を時分割して生成された論理CPUであることを認識し、管理ドメインM1にOS S0からの指示を通知する。管理ドメインM1はハイパーバイザH1からの通知を受け、通知された指示に係る要求を満たすような論理CPUの割り当てを求める。尚、仮にOSからの指示に係る論理CPUが物理CPUそのものであった場合、すなわち物理CPUを時分割せずにそのまま論理CPUを提供していた場合、ハイパーバイザH1は、管理ドメインM1に通知をせずに、物理CPUの動作周波数を上げることもできる。
管理ドメインM1は、ハイパーバイザH1経由で受けたOS S0からの指示に係る論理CPU L0−1が属する物理CPU C1の動作周波数を、当該要求に応じて1GHz上げることが可能な場合には、物理CPU C1の動作周波数を上げる。例えば物理CPU C1の現在の動作周波数が既に最高動作周波数3GHzに至っていた場合には、物理CPU C1の動作周波数を1GHz上げることは不可能である。物理CPU C1の動作周波数を上げることが不可能な場合には、管理ドメインM1は、論理ドメインG0に属する他の論理CPUの動作周波数を上げることが可能か否かを判断する。
図10の例の場合、現在の物理CPU C1の動作周波数は2GHzであり、要求に応じて動作周波数を1GHz上げることが可能である。したがって管理ドメインM1はハイパーバイザH1に対し、物理CPU C1の動作周波数を1GHz上げるように指示を出す。ハイパーバイザH1は管理ドメインM1からの指示に応じ、図11に示す如く、物理CPU C1の動作周波数を1GHz上げて3GHzに変更する。又、管理ドメインM1は、物理CPU C1を2:1に時分割して論理CPU L0−1,L1−0を生成する。その結果、論理CPU L0−1には、動作周波数の変更後の物理CPU C1の動作周波数3GHz分の処理能力の2/3の2GHz分の処理能力が割り当てられる。又、論理CPU L1−0には、動作周波数の変更後の物理CPU C1の動作周波数3GHz分の処理能力の1/3の1GHz分の処理能力が割り当てられる。
その結果、論理ドメインG0に対しては、OS S0からの指示通り、論理CPU L0−1の動作周波数を1GHz上げたことになる。又、論理ドメインG1に対しては、図9の初期状態と同様に、動作周波数1GHzの論理CPU L1−0が割り当てられ、初期状態の処理能力が維持されている。
図9〜図11とともに上述した動作により、図9に示す初期状態、すなわち物理CPU C0,C1の夫々の動作周波数が、ともに2GHzであったものが、図11に示す如く、物理CPU C0,C1の夫々の動作周波数は、2GHz、3GHzとなっている。すなわち、物理CPUの動作周波数にバラツキが生じている。
次に図12とともに、図9〜図11とともに上述した、サーバ装置100において、物理CPUの動作周波数にバラツキが生ずる際の動作の流れを説明する。
図12のステップS31で、各論理ドメインのOSは定期的に論理ドメインに属する物理CPUのロードアベレージを監視する。すなわち、論理ドメイン内の情報処理の負荷状態を監視する。そして各論理ドメインのOSは、ステップS32にて、負荷状態に変動が生じたことを検出すると(YES)、ステップS33に進む。他方、負荷状態の変動を検出しなかった場合(ステップS32のNO),ステップS31に戻る。
ステップS33で各論理ドメインのOSは、ハイパーバイザH1に対し、負荷状態の変動に適応するように、論理ドメインに属する論理CPUの動作周波数の変更を要求する。すなわち、各論理ドメインのOSは、負荷が上昇した場合には論理CPUの動作周波数を上げる要求を出し、負荷が減少した場合には論理CPUの動作周波数を下げる要求を出す。
ステップS34でハイパーバイザH1は論理ドメインのOSからの要求に応じ、管理ドメインM1に対し、当該要求を通知する。ステップS35で管理ドメインM1は、当該要求の通知を受け、ハイパーバイザH1に対し、要求を発した論理CPUが属する物理CPUの動作周波数を変更する要求を出す。又、管理ドメインM1は、ステップS36で、要求を発した論理CPUが、物理CPUを時分割して生成されたものか否かを判定する。論理CPUが物理CPUを時分割して生成されたものでなかった場合(ステップS36のNO),ステップS31が実行される。論理CPUが、物理CPUを時分割して生成されたものであった場合(ステップS36のYES),管理ドメインM1はステップS37に進む。
ステップS37で管理ドメインM1は、必要に応じ、物理CPUの時分割の割合を変更する。すなわち、ステップS36で動作周波数が変更された物理CPUに属する論理CPUの動作周波数が、論理CPUが属する論理ドメインの負荷状態に応じた処理能力を提供するように、必要に応じ時分割の割合を変更する。例えば図11の例の場合、上記の如く、図9の初期状態では論理CPU L0−1,L1−0の時分割の割合は1:1であった。その後、論理ドメインG0,G1の夫々の情報処理の負荷の変動に応じるため、図11とともに上述の如く、物理CPU C1の動作周波数を3GHzへ変更した後、論理CPU L0−1,L1−0の時分割の割合が2:1に変更している。
次に図13〜図14とともに、サーバ装置100において、図9〜図11とともに上述した如くの、物理CPUの動作周波数のバラツキが生ずる状況の、他の具体例について説明する。
この場合も初期状態は図9の状態とする。その後、論理ドメインG0の情報処理の負荷が減少したとする。これに応じ、論理ドメインG0のOS S0がハイパーバイザH1に対し、以下の指示を出したとする。すなわち、動作周波数が2GHzの論理CPU L0−0の動作周波数を1GHz下げて1GHzに変更し、動作周波数が1GHzの論理CPU L0−1を停止するように指示を出したとする。論理ドメインG0のOS S0からの指示を受けたハイパーバイザH1は、当該指示を管理ドメインM1に通知する。
管理ドメインM1は当該指示に応じ、図14に示す如く、論理ドメインG0への論理CPU L0−1の割り当てを外す。管理ドメインM1は更に、ハイパーバイザH1に対し、論理CPU L0−0が属する物理CPU C0の動作周波数を2GHzから1GHz下げて1GHzに変更する指示を出す。その結果ハイパーバイザH1は物理CPU C0の動作周波数を1GHzに変更する。
又、管理ドメインM1は、動作周波数1GHzの論理CPU L0−1が論理ドメインG0への割り当てから外れて不要になったため、論理CPU L0−1が属する物理CPU C1の時分割を行わないようにする。すなわち管理ドメインM1は、物理CPU C1から、時分割せずに、1つの論理CPU L1−0が生成されるようにする。更に管理ドメインM1は、ハイパーバイザH1に対し、物理CPU C1の動作周波数を2GHzから1GHz下げて1GHzに変更する指示を出す。その結果ハイパーバイザH1は物理CPU C1の動作周波数を1GHzに変更する。その結果、動作周波数が1GHzとなった論理CPU C1に属する唯一の論理CPUとなった論理CPU L1−1は、動作周波数1GHz分の処理能力を有する。
このようにして、論理ドメインG0では、OS S0からの要求通り、論理CPU L0−0の動作周波数が2GHzから1GHz下げられて1GHzに変更され、論理CPU L0−1が消滅している。又、論理ドメインG1では、図9の初期状態と同様に、論理CPU L0−0により、動作周波数1GHzの分の処理能力が割り当てられ、処理能力が維持されている。
尚、管理ドメインM1は、上記の如く、図3に示す主記憶111又は112に格納されたプログラムがCPU C0又はC1によって実行されることによって実現される。その結果、CPU C0或いはC1により、図1〜図14とともに上述した本発明の実施例1のサーバ装置100における管理ドメインM1の処理が実行される。ここで上記プログラムは、例えば可搬のコンピュータ読取可能な情報記録媒体としての、CD−ROM(Compact Disk - Read Only Memory)等を使用して外部から供給され、CD−ROM等からサーバ装置100の主記憶111又は112にロードすることが可能である。或いは上記プログラムは、インターネット、LAN(Local Area Network)等の通信網を介し、外部のサーバからサーバ装置100の主記憶111又は112にダウンロードすることも可能である。
100 サーバ装置
110 システムボード
120 サービスプロセッサボード
M1 管理ドメイン(論理CPU生成部、動作周波数平均化部、論理CPU割り当て部、動作周波数適応部)
G0,G1 論理ドメイン
L0−0,L0−1,L1−0 論理CPU
C0,C1 物理CPU
H1 ハイパーバイザ
SP1 サービスプロセッサ

Claims (10)

  1. 並列に動作する複数のCPUと、
    前記複数のCPUのうちの一のCPUから一又は複数の論理CPUを生成する論理CPU生成部と、
    前記複数のCPUの夫々の動作周波数を、当該夫々の動作周波数の平均値に一致するように変更する動作周波数平均化部と、
    前記動作周波数平均化部によるCPUの動作周波数の変更によって生じる、当該CPUに属する論理CPUが割り当てられた区画に係る情報処理の負荷に対する当該論理CPUの処理能力の過不足を解消するように前記論理CPU生成部に論理CPUを生成させて、生成された論理CPUを当該処理能力の過不足に係る区画に割り当てる論理CPU割り当て部と、を有することを特徴とする情報処理装置。
  2. 前記論理CPU割り当て部は、前記動作周波数平均化部によって動作周波数が下げられて処理能力が低下するCPUに属する論理CPUが割り当てられた区画に係る情報処理の負荷に対し不足となる処理能力に対し、前記動作周波数平均化部によって動作周波数が上げられて処理能力が上昇するCPUに属する論理CPUが割り当てられた区画に係る情報処理の負荷に対し余剰となる処理能力を充当するように、前記論理CPU生成部に当該余剰となる処理能力に係るCPUを分割して論理CPUを生成させ、当該分割に係る論理CPUを、前記処理能力が不足となる区画に割り当てることを特徴とする請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、前記複数の区画が有する情報処理の負荷の変動に対し、情報処理の負荷が変動した区画に属する論理CPUの動作周波数を変更して適応させる動作周波数適応部を有することを特徴とする、請求項1又は2に記載の情報処理装置。
  4. 前記論理CPU生成部は、前記複数のCPUのうちの一のCPUの処理能力を時分割することによって複数の論理CPUを生成することを特徴とする、請求項1乃至3のうちの何れか一項に記載の情報処理装置。
  5. 論理CPU生成部が、並列に動作する複数のCPUのうちの一のCPUから一又は複数の論理CPUを生成するステップと、
    動作周波数平均化部が、前記複数のCPUの夫々の動作周波数を、当該夫々の動作周波数の平均値に一致するように変更するステップと、
    論理CPU割り当て部が、前記動作周波数平均化部によるCPUの動作周波数の変更によって生じる、当該CPUに属する論理CPUが割り当てられた区画に係る情報処理の負荷に対する当該論理CPUの処理能力の過不足を解消するように前記論理CPU生成部に論理CPUを生成させて、生成された論理CPUを当該処理能力の過不足に係る区画に割り当てるステップと、を有することを特徴とする情報処理装置の制御方法。
  6. 前記論理CPU割り当て部は、前記動作周波数平均化部によって動作周波数が下げられて処理能力が低下するCPUに属する論理CPUが割り当てられた区画が有する情報処理の負荷に対し不足となる処理能力に対し、前記動作周波数平均化部によって動作周波数が上げられて処理能力が上昇するCPUに属する論理CPUが割り当てられた区画が有する情報処理の負荷に対し余剰となる処理能力を充当するように、前記論理CPU生成部に当該余剰となる処理能力に係るCPUを分割して論理CPUを生成させ、当該分割に係る論理CPUを、前記処理能力が不足となる区画に割り当てることを特徴とする請求項5に記載の情報処理装置の制御方法。
  7. 動作周波数適応部が、前記複数の区画が有する情報処理の負荷の変動に対し、情報処理の負荷が変動した区画に割り当てられた論理CPUの動作周波数を変更して適応させるステップを更に有することを特徴とする、請求項5又は6に記載の情報処理装置の制御方法。
  8. 並列に動作する複数のCPUのうちの一のCPUから一又は複数の論理CPUを生成するステップと、
    前記複数のCPUの夫々の動作周波数を、当該夫々の動作周波数の平均値に一致するように変更するステップと、
    前記CPUの動作周波数の変更によって生じる、当該CPUに属する論理CPUが割り当てられた区画に係る情報処理の負荷に対する当該論理CPUの処理能力の過不足を解消するように論理CPUを生成して、当該論理CPUを当該処理能力の過不足に係る区画に割り当てるステップと、をコンピュータに実行させるプログラム。
  9. 前記複数のCPUの夫々の動作周波数を変更するステップによって動作周波数が下げられて処理能力が低下するCPUに属する論理CPUが割り当てられた区画が有する情報処理の負荷に対し不足となる処理能力に対し、動作周波数が上げられて処理能力が上昇するCPUに属する論理CPUが割り当てられた区画が有する情報処理の負荷に対し余剰となる処理能力を充当するように、当該余剰となる処理能力に係るCPUを分割して論理CPUを生成させ、当該分割に係る複数の論理CPUを、前記処理能力が不足となる区画に割り当てるステップをコンピュータに実行させる請求項に記載のプログラム。
  10. 前記複数の区画が有する情報処理の負荷の変動に対し、情報処理の負荷が変動した区画に割り当てられた論理CPUの動作周波数を変更して適応させるステップを、更にコンピュータに実行させる請求項8又は9に記載のプログラム。
JP2012524362A 2010-07-13 2010-07-13 情報処理装置、情報処理装置の制御方法及びプログラム Expired - Fee Related JP5435133B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/061842 WO2012008019A1 (ja) 2010-07-13 2010-07-13 情報処理装置、情報処理装置の制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2012008019A1 JPWO2012008019A1 (ja) 2013-09-05
JP5435133B2 true JP5435133B2 (ja) 2014-03-05

Family

ID=45469044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012524362A Expired - Fee Related JP5435133B2 (ja) 2010-07-13 2010-07-13 情報処理装置、情報処理装置の制御方法及びプログラム

Country Status (4)

Country Link
US (1) US20130125132A1 (ja)
EP (1) EP2595056A4 (ja)
JP (1) JP5435133B2 (ja)
WO (1) WO2012008019A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571507B2 (en) * 2012-10-21 2017-02-14 Mcafee, Inc. Providing a virtual security appliance architecture to a virtual cloud infrastructure
WO2016041509A1 (en) * 2014-09-17 2016-03-24 Mediatek Inc. Dynamic frequency scaling in multi-processor systems
WO2023021317A1 (en) 2021-08-17 2023-02-23 Rachid Ennamany Plant cells stabilized with lecithin

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165746A (ja) * 2006-12-06 2008-07-17 Toshiba Corp アクセラレータ、情報処理装置及び情報処理方法
WO2009037731A1 (ja) * 2007-09-21 2009-03-26 Fujitsu Limited 翻訳装置と翻訳方法および翻訳プログラムとプロセッサコアの制御方法およびプロセッサ
JP2009140157A (ja) * 2007-12-05 2009-06-25 Hitachi Ltd 仮想計算機システム、仮想計算機の制御方法及びプログラム
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496823B2 (en) * 1997-11-07 2002-12-17 International Business Machines Corporation Apportioning a work unit to execute in parallel in a heterogeneous environment
US6141762A (en) * 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
US6993669B2 (en) * 2001-04-18 2006-01-31 Gallitzin Allegheny Llc Low power clocking systems and methods
US6845456B1 (en) * 2001-05-01 2005-01-18 Advanced Micro Devices, Inc. CPU utilization measurement techniques for use in power management
JP2003337713A (ja) 2002-05-21 2003-11-28 Hitachi Ltd プロセッサの制御方法
EP1378824A1 (en) * 2002-07-02 2004-01-07 STMicroelectronics S.r.l. A method for executing programs on multiple processors and corresponding processor system
US7080267B2 (en) * 2002-08-01 2006-07-18 Texas Instruments Incorporated Methodology for managing power consumption in an application
US7124315B2 (en) * 2002-08-12 2006-10-17 Hewlett-Packard Development Company, L.P. Blade system for using multiple frequency synthesizers to control multiple processor clocks operating at different frequencies based upon user input
US7007183B2 (en) 2002-12-09 2006-02-28 International Business Machines Corporation Power conservation by turning off power supply to unallocated resources in partitioned data processing systems
JP2005216151A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd 資源運用管理システム及び資源運用管理方法
US7739532B2 (en) * 2004-06-07 2010-06-15 Intel Corporation Method, apparatus and system for enhanced CPU frequency governers
JP4476876B2 (ja) 2005-06-10 2010-06-09 三菱電機株式会社 並列計算装置
US8046565B2 (en) * 2006-12-06 2011-10-25 Kabushiki Kaisha Toshiba Accelerator load balancing with dynamic frequency and voltage reduction
US7958194B2 (en) * 2008-08-25 2011-06-07 Massively Parallel Technologies, Inc. System and method for parallel processing using a Type I Howard Cascade
US8443209B2 (en) * 2009-07-24 2013-05-14 Advanced Micro Devices, Inc. Throttling computational units according to performance sensitivity
US8364997B2 (en) * 2009-12-22 2013-01-29 Intel Corporation Virtual-CPU based frequency and voltage scaling
CN102314213B (zh) * 2010-07-09 2016-03-30 精英电脑股份有限公司 动态调整工作频率的计算机系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165746A (ja) * 2006-12-06 2008-07-17 Toshiba Corp アクセラレータ、情報処理装置及び情報処理方法
WO2009037731A1 (ja) * 2007-09-21 2009-03-26 Fujitsu Limited 翻訳装置と翻訳方法および翻訳プログラムとプロセッサコアの制御方法およびプロセッサ
JP2009140157A (ja) * 2007-12-05 2009-06-25 Hitachi Ltd 仮想計算機システム、仮想計算機の制御方法及びプログラム
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム

Also Published As

Publication number Publication date
EP2595056A4 (en) 2013-08-28
EP2595056A1 (en) 2013-05-22
JPWO2012008019A1 (ja) 2013-09-05
US20130125132A1 (en) 2013-05-16
WO2012008019A1 (ja) 2012-01-19

Similar Documents

Publication Publication Date Title
CN107003887B (zh) Cpu超载设置和云计算工作负荷调度机构
Chowdhury et al. Implementation and performance analysis of various VM placement strategies in CloudSim
US10824215B2 (en) Managing power budget of multiple computing node clusters in a computing rack system
US9588789B2 (en) Management apparatus and workload distribution management method
Chen et al. RIAL: Resource intensity aware load balancing in clouds
US9116181B2 (en) Method, apparatus, and system for virtual cluster integration
JP5564564B2 (ja) 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置
EP2887180A1 (en) Configurable power supplies for dynamic power distribution
JP2004252988A (ja) コンピュータ・システムにおける区画間の動的プロセッサ再配分
JP5880542B2 (ja) マルチコアプロセッサシステムおよびスケジューリング方法
EP3090339A1 (en) Method and system for allocating resources to resource consumers in a cloud computing environment
US9760159B2 (en) Dynamic power routing to hardware accelerators
Zhang et al. An energy and SLA-aware resource management strategy in cloud data centers
JP5435133B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
US9563532B1 (en) Allocation of tasks in large scale computing systems
Thiam et al. Energy efficient cloud data center using dynamic virtual machine consolidation algorithm
KR102468286B1 (ko) 대칭형 다중 처리 시스템에서의 전력 제한 장치 및 방법
JP5699589B2 (ja) 処理割り当て装置、処理割り当てシステム、処理割り当て方法、処理割り当てプログラム
JP6044662B2 (ja) 消費電力の管理装置、消費電力の管理方法、及び消費電力の管理プログラム
Patel et al. Existing and Relevant Methodologies for Energy Efficient Cloud Data centers
Aadkane et al. An energy efficient cost aware virtual machine migration approach for the cloud environment
Banerjee et al. Game Theory Based Energy-aware Virtual Machine Placement towards Improving Resource Efficiency in Homogeneous Cloud Data Center
JP2013196062A (ja) 情報処理装置
Sinha Energy-Aware Dynamic Load Balancing of Virtual Machines (VMs) in Cloud Data Center with Adaptive Threshold (AT) based Migration
Jiang et al. Dynamic Consolidation of Virtual Machines in Cloud Datacenters

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131125

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees