JP6206496B2 - クラスタシステム,制御装置,制御方法,制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents

クラスタシステム,制御装置,制御方法,制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Download PDF

Info

Publication number
JP6206496B2
JP6206496B2 JP2015527104A JP2015527104A JP6206496B2 JP 6206496 B2 JP6206496 B2 JP 6206496B2 JP 2015527104 A JP2015527104 A JP 2015527104A JP 2015527104 A JP2015527104 A JP 2015527104A JP 6206496 B2 JP6206496 B2 JP 6206496B2
Authority
JP
Japan
Prior art keywords
power consumption
cluster
combination
node
load setting
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.)
Active
Application number
JP2015527104A
Other languages
English (en)
Other versions
JPWO2015008353A1 (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 JPWO2015008353A1 publication Critical patent/JPWO2015008353A1/ja
Application granted granted Critical
Publication of JP6206496B2 publication Critical patent/JP6206496B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Power Sources (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Description

本発明は、クラスタシステム,制御装置,制御方法,制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体に関する。
例えば、複数のノード(サーバマシン)を備えるクラスタ(マルチノードクラスタ)システムとして構成された計算機システムにおいては、LAN(Local Area Network)等のネットワークを介して接続した複数のノードに並行して処理させる。
近年、このようなクラスタシステムにおいて、ネットワーク機器等の性能向上や処理データの増大により、消費電力のコストが増大している。従って、計算機システムにおいては、省電力に対する要求がより高くなっている。
従来の計算機システムにおいては、例えば、プロセッサへ与える電圧レベルを調整することにより、システムの熱・電力全体量を維持し性能最適化を図っている。
特開2009−193385号公報 特開2004−078940号公報
しかしながら、このような従来の計算機システムにおいては、システムの稼働環境が変化した場合に、システムに対する要求性能を満たしつつ電力消費を抑止することができないという課題がある。
例えば、同一ラック内もしくは隣接するラックに搭載されたノード間において、振動等によるノード間干渉により性能劣化が生じる場合がある。このように、ノードが本来有する性能が大きく損なわれた場合に、システム性能が低下し、又、消費電力が増大する。又、システム運用時に、特定ノードが故障により性能劣化した場合や、定期保守等でノードの活***換を行なう際にも、システム性能が低下し、又、消費電力が増大する。
一つの側面では、本発明は、要求性能を満たし、且つ、電力消費を低減することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
上記の目的を達成するために、このクラスタシステムは、複数のノードを備えるクラスタを有するクラスタシステムであって、前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成する作成部と、前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択する負荷設定値選択部と、前記負荷設定値選択部が選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる動作制御部と、前記負荷設定値選択部により選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定するクラスタ消費電力測定部とを備え、前記クラスタ消費電力測定部によって測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が高い負荷設定値の組合せでの前記推定消費電力よりも高い場合に、前記負荷設定値選択部が、当該1つ推定消費電力が高い負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる
一実施形態によれば、要求性能を満たし、且つ、消費電力を低減することができる。
実施形態の一例としてのクラスタシステムのハードウェア構成を模式的に示す図である。 実施形態の一例としてのクラスタシステムの管理サーバの機能構成を示す図である。 実施形態の一例としてのクラスタシステムにおけるノード消費電力/性能テーブルを例示する図である。 実施形態の一例としてのクラスタシステムにおける応答性能テーブルを例示する図である。 実施形態の一例としてのクラスタシステムにおける稼動ノード候補テーブルを例示する図である。 実施形態の一例としてのクラスタシステムにおける稼動ノード候補組合せテーブルを例示する図である。 ノード消費電力と性能との関係を示す図である。 実施形態の一例としてのクラスタシステムにおける基本的な処理を説明するフローチャートである。 実施形態の一例としてのクラスタシステムにおける詳細処理を説明するフローチャートである。
以下、図面を参照して本クラスタシステム,制御装置,制御方法,制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
[A]構成
図1は実施形態の一例としてのクラスタシステム1のハードウェア構成を模式的に示す図、図2はその管理サーバの機能構成を示す図である。
クラスタシステム1は、複数のノード30に処理を並行して行なわせることにより、1のノード30で処理を行なう場合に比べて短時間で処理を完了させることができる。
図1に示すように、本クラスタシステム1は、クラスタ3,管理サーバ10及び1以上のユーザPC(Personal Computer)60を備える。又、クラスタ3は、共有ドライブ40及び複数(N個:Nは自然数)のノード30−1〜30−Nを備える。これらの管理サーバ10,共有ドライブ40,ユーザPC60及びノード30−1〜30−Nは、ネットワーク50を介して相互に通信可能に接続されている。
ユーザPC60は、ユーザが使用する情報処理装置であり、ユーザがこのユーザPC60を用いて、例えば、ジョブの指定や入力を行なう。ジョブは、例えば、演算処理やウェブアクセス等である。ユーザPC60から入力されたジョブは、クラスタ3に送信され処理される。
なお、図1に示す例においては、2つのユーザPC60が図示されているが、これに限定されるものではなく、1つもしくは3以上の任意のユーザPC60を備えてもよい。又、各PC60は同様の構成を有する。
ユーザPC60は、図1に示すように、CPU(Central Processing Unit)601,メモリ602,HDD(Hard Disk Drive)603及びLAN(Local Area Network)インタフェース604を備え、これらはユーザPC60が備えるバスを介して接続される。
メモリ602はROM(Read Only Memory)及びRAM(Random Access Memory)を含む記憶装置である。メモリ602のROMには、各種ソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ602上のソフトウェアプログラムは、CPU601に適宜読み込まれて実行される。又、メモリ602のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。HDD603は記憶装置であり、CPU601が実行するOS(Operating System)やプログラム,種々のデータ等を格納する。LANインタフェース604は、ユーザPC60をネットワーク50に通信可能に接続するインタフェースである。
なお、ユーザPC60の構成はこれに限定されるものではなく、種々変形して実施することができる。例えば、HDD603に代えてSSD(Solid State Drive)等の他の記憶装置を備えてもよい。
クラスタ3は、共有ドライブ40及び複数(N個:Nは自然数)のノード30−1〜30−Nを備える。
共有ドライブ40は、各ノード30−1〜30−NやユーザPC60,管理サーバ10によって共用される記憶装置である。共用ドライブ40は、LANインタフェース402と1以上(図1に示す例では3つ)のHDD401を備える。
HDD401は記憶装置であり、ノード30−1〜30−NやユーザPC60,管理サーバ10に記憶領域を提供する。例えば、複数のノード30−1〜30−Nが共用するプログラムやデータ、演算結果等がこの共有ドライブ40に格納される。
ノード30−1〜30−NやユーザPC60,管理サーバ10は、このHDD401にデータの書き込みや読み出しを行なう。なお、これらの複数のHDD401を用いて、RAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。LANインタフェース402は、共有ドライブ40をネットワーク50に通信可能に接続するインタフェースである。
なお、共有ドライブ40の構成はこれに限定されるものではなく、種々変形して実施することができる。例えば、2つ以下もしくは4つ以上のHDD401を備えて構成してもよく、又、HDD401に代えてSSD等の他の記憶装置を備えてもよい。
ノード30−1〜30−Nは、演算処理を行なう情報処理装置である。ノード30−1〜30−Nは、後述する管理サーバ10からの指示に従って演算を行なう。なお、ノード30−1〜30−Nは互いに同様の構成を有する。以下、ノードを示す符号としては、複数のノードのうち1つを特定する必要があるときには符号30−1〜30−Nを用いるが、任意のノードを指すときには符号30を用いる。
ノード30は、図1に示すように、CPU301,メモリ302,HDD303及びLANインタフェース304を備え、これらはノード30が備えるバスを介して接続される。
メモリ302はROM及びRAMを含む記憶装置である。メモリ302のROMには、各種ソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ302上のソフトウェアプログラムは、CPU301に適宜読み込まれて実行される。又、メモリ302のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。HDD303は記憶装置であり、CPU301が実行するOSやプログラム,種々のデータ等を格納する。LANインタフェース304は、ノード30をネットワーク50に通信可能に接続するインタフェースである。
なお、ノード30の構成はこれに限定されるものではなく、種々変形して実施することができる。例えば、HDD303に代えてSSD等の他の記憶装置を備えてもよい。
また、ノード30は、パワーキャッピング(Power Capping)機能を備えており、管理サーバ10等から指定されたCPU使用率に合わせて動作することにより、消費電力を制御することができる。パワーキャッピング機能においては、例えば、CPUのP-Stateを変更することによりサーバの動作周波数や電圧を制御し、これにより、CPU301の処理能力及び消費電力を制御する。
さらに、ノード30は、管理サーバ10(ノード応答性能監視部17)から発行されるノード応答性能監視ジョブを受信すると、このノード応答性能監視ジョブをCPU301により実行し、その実行結果を管理サーバ10に応答する。
ノード応答性能監視ジョブは、ノード30の演算処理性能を評価するためのプログラムであり、CPU301に何らかの演算処理を行なわせる。このノード応答性能監視ジョブとしては、例えば、既知のベンチマーク用プログラムを用いることができる。
また、クラスタ3において、各ノード30は、後述する管理サーバ10の指示に従い、クラスタ3への接続/切り離しを任意に行なう機能を備える。なお、このクラスタ3へのノード30の接続/切り離しは、既知の種々の手法を用いて実現することができ、その説明は省略する。
管理サーバ10は、例えばサーバ機能を備えた情報処理装置であり、本クラスタシステム1において各ノード30の消費電力制御を行なう。
管理サーバ10は、図1に示すように、CPU101,メモリ102,HDD103,媒体読取装置105及びLANインタフェース104を備え、これらは管理サーバ10が備えるバスを介して接続される。
メモリ102はROM及びRAMを含む記憶装置である。メモリ102のROMには、各種ソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ102上のソフトウェアプログラム(制御プログラム)は、CPU101に適宜読み込まれて実行される。又、メモリ102のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。又、このRAMには、図2に示す各種データテーブルT1〜T4が格納される。
図3は実施形態の一例としてのクラスタシステム1におけるノード消費電力/性能テーブルT1を例示する図である。
ノード消費電力/性能テーブルT1は、各ノード30の起動状態における、CPU使用率(負荷設定値)に対する処理性能及び消費電力との関係(特性)をテーブル状に示す。この図3に示すノード消費電力/性能テーブルT1は、複数種類のCPU使用率(単位:%)に対して消費電力(単位:W)及び性能値(単位:GFlops)を関係付けて構成されている。
図3に示す例においては、CPU使用率として、0%(無負荷),50%及び100%(高負荷)の3つの状態を示している。ノード消費電力/性能テーブルT1においては、これらの複数段階(図3に示す例では3段階)での各ノード30の消費電力と性能値とが登録されている。
このノード消費電力/性能テーブルT1に登録される情報は、例えば、予め各ノード30をそれぞれのCPU使用率で稼動させた状態で負荷実験等を行なって測定することにより取得する。なお、これに限定されるものではなく、ノード30の製造メーカ等が提供する性能情報を使用してもよく、又、この製造メーカ等が提供する性能情報から算出してもよい。
また、このノード消費電力/性能テーブルT1は、HDD103等に格納されており、適宜メモリ102に読み出されて使用される。
図4は実施形態の一例としてのクラスタシステム1における応答性能テーブルT2を例示する図である。
応答性能テーブルT2は、本クラスタシステム1において要求される性能値(要求性能)をテーブル状に示すものであり、クラスタ応答性能(単位:msec)及びノード応答性能(単位:msec)がそれぞれ登録されている。図4に示す例においては、クラスタ応答性能として20msecが設定されている、これは、例えばユーザPC60から本クラスシステム1に対して処理要求を発行した場合に、ユーザPC60への応答が20msec以内に行なわれることが求められていることを示す。同様に、図4に示す例においては、ノード応答性能として2msecが設定されており、これは、各ノード30に対して処理要求が発行された場合に、ノード30が2msec以内に応答を行なうことが求められていることを示す。すなわち、応答性能テーブルT2は、本クラスタシステム1において求められる性能の閾値を示す。この応答性能テーブルT2に登録される情報は、予めユーザ等により登録される。
また、この応答性能テーブルT2は、HDD103等に格納されており、適宜メモリ102に読み出されて使用される。
図5は実施形態の一例としてのクラスタシステム1における稼動ノード候補テーブルT3を例示する図である。
稼動ノード候補テーブルT3は、各ノード30のそれぞれが、クラスタ3において要求される性能(ノード性能)を満たしていて演算処理に使用できるものであるか、すなわち、クラスタ3を構成する稼動ノード候補(候補ノード)となり得るか否かの情報をテーブル状に示す(符号T3b参照)。図5に示す例においては、稼動ノード候補となり得るノード30のノード名に対して“ON”が、又、稼動ノード候補ではないノード30に対して“OFF”が、それぞれ設定されている。又、この稼動ノード候補テーブルT3全体に対して、初期設定済みであるか否かを示す初期設定済みフラグ(符号T3a参照)が設定されるようになっており、初期設定済みである場合には“ON”が、又、初期設定済みではない場合には“OFF”が設定される。
なお、この稼動ノード候補テーブルT3は、後述するノード応答性能監視部17により設定される。又、稼動ノード候補組合せテーブルT4については図6を用いて後述する。
HDD103は記憶装置であり、CPU101が実行するOSやプログラム(制御プログラム),種々のデータ等を格納する。また、このHDD103には、ノード消費電力/性能テーブルT1及び応答性能テーブルT2が格納される。LANインタフェース104は、管理サーバ10をネットワーク50に通信可能に接続するインタフェースである。
なお、管理サーバ10の構成はこれに限定されるものではなく、種々変形して実施することができる。例えば、HDD103に代えてSSD等の他の記憶装置を備えてもよい。
媒体読取装置105は、図示しない記録媒体が装着可能に構成される。媒体読取装置105は、記憶媒体が装着された状態において、記録媒体に記録されている情報を読み取り可能に構成される。本例では、記録媒体は可搬性を有する。記録媒体は、コンピュータ読取可能な記録媒体であって、例えば、フレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク、又は、半導体メモリである。
CPU101は、種々の制御や演算を行なう処理装置であり、メモリ102に格納されたOSやプログラムを実行することにより、種々の機能を実現する。すなわち、CPU101は、図2に示すように、消費電力最適化システム11として機能する。又、この消費電力最適化システム11には、稼動ノード候補抽出部12,稼動ノード決定部13,ノード電力制御部14,クラスタ消費電力監視部15,クラスタ応答性能監視部16及びノード応答性能監視部17としての機能が備えられる。
なお、上述した稼動ノード候補抽出部12,稼動ノード決定部13,ノード電力制御部14,クラスタ消費電力監視部15,クラスタ応答性能監視部16及びノード応答性能監視部17としての機能を実現するためのプログラム(消費電力最適化プログラム)は、例えば前述した記録媒体に記録された形態で提供される。そして、コンピュータは媒体読取装置105を介して、その記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
稼動ノード候補抽出部12,稼動ノード決定部13,ノード電力制御部14,クラスタ消費電力監視部15,クラスタ応答性能監視部16及びノード応答性能監視部17としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ102)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU101)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
[1]ノード電力制御部14
ノード電力制御部14はノード30の消費電力を制御する。具体的には、ノード電力制御部14は、各ノード30に対してCPU使用率を通知することで、ノード30のパワーキャッピング機能を用いて、各ノード30をCPU使用率に合わせて動作させる。これにより、各ノード30の消費電力を制御する。
[2]ノード応答性能監視部17
ノード応答性能監視部(ノード性能測定部,ノード選択部)17は、各ノード30の性能を取得・監視する。具体的には、ノード応答性能監視部17は、各ノード30に対してネットワーク50を介して、ノード応答性能監視ジョブを発行し、その応答時間を測定することで応答性能(ノード性能)を測定する。
ノード応答性能監視ジョブは、前述の如く、ノード30の演算処理性能を評価するためのプログラムであり、CPU101に何らかの演算処理を行なわせる。ノード応答性能監視部17は、ノード30に対してノード応答性能監視ジョブを発行した後、このノード応答性能監視ジョブに対する応答を受信するまでに要する時間(応答時間,ノード実測性能)を測定する。
ノード応答性能監視部17は、各ノード30からの応答時間と応答性能テーブルT2に登録されたノード応答性能とを比較する。測定された応答時間がノード応答性能を満たしている、すなわち、応答時間がノード応答性能未満である場合は、稼働ノード候補テーブルT3の該当するノード30の稼働状態を“ON”に設定する。一方、応答時間がノード応答性能を満たしていない、すなわち、応答時間がノード応答性能以上である場合は、ノード応答性能監視部17は、稼動ノード候補テーブルT3の該当するノード30の稼働状態を“OFF”に設定し、該当ノード30をクラスタシステム1から切り離す。
これにより、ノード応答性能監視部17は、稼動ノード候補テーブルT3において稼動ノード候補を設定する。すなわち、ノード応答性能監視部17部は、ノード応答性能監視ジョブを発行することによって測定した各ノード30の応答性能がノード応答性能(要求性能)を満たしているか否かに応じて候補ノードを選択する。
また、ノード応答性能監視部17は、各ノード30の監視を行なうことにより、全ノード30の稼働状態をそれぞれ取得する。ノード応答性能監視部17は、後述する稼働ノード候補抽出部12からノード30の稼働状態取得の指示を受け、ネットワーク50を介して、ノード応答性能監視ジョブを各ノード30に通知し、各ノードからの応答を待つ。
各ノード30からの応答があれば、ノード応答性能監視部17は以下の処理を行なう。すなわち、ノード応答性能監視部17は、ノード応答性能監視ジョブを発行してからの各ノード30からの応答時間(ノード実測性能)を測定する。そして、ノード応答性能監視部17は、測定したノード実測性能と、応答性能テーブルT2に登録されたノード応答性能とを比較する。
応答時間がノード応答性能を満たしている場合には、ノード応答性能監視部17は、稼動ノード候補テーブルT3において、該当するノード30の稼働状態が“OFF”であれば、稼働状態を“ON”に変更し、該当ノード30をクラスタ3に接続させる。
一方、応答時間がノード応答性能を満たしていない場合には、ノード応答性能監視部17は、稼動ノード候補テーブルT3において、該当するノード30の稼働状態が“ON”であれば、稼働状態を“OFF”に変更し、該当ノード30をクラスタ3から切り離させる。
[3]クラスタ消費電力監視部15
クラスタ消費電力監視部15は、本クラスタ3における消費電力を取得・監視する。クラスタ消費電力監視部15は、例えば、クラスタ3を構成する各ノード30から消費電力を取得して合計する。なお、クラスタ3における消費電力の取得・監視は既知の種々の手法を用いて実現することができ、その詳細な説明は省略する。
[4]稼動ノード候補抽出部12
稼動ノード候補抽出部12は、図6に示す稼動ノード候補組合せテーブル(参照情報)T4を作成する。
図6は実施形態の一例としてのクラスタシステム1における稼動ノード候補組合せテーブルT4を例示する図である。
稼動ノード候補組合せテーブルT4は、複数(N個)のノード30の中から選択された2以上のノード30(候補ノード)を、それぞれ種々のCPU使用率(負荷設定値)の組合せで稼動させた場合の予想消費電力及び予想性能を示す。なお、この稼動ノード候補組合せテーブルT4に登録される候補ノード30は、上述したクラスタ応答性能監視部16により稼動ノード候補テーブルT3の稼動状態に“ON”が設定されたノード30である。
図6に示す例においては、稼動ノード候補組合せテーブルT4は、ノード名がノード1〜ノード3で特定される3つの候補ノード30を、0〜100%を10%刻みにした、10%,20%,30%,40%,50%,60%,70%,80%,90%,100%のうちいずれかのCPU使用率で動作させる。
これらの候補ノード30のCPU使用率の組合せを負荷設定値セットという。図6に示す例においては、各負荷設定値セットを特定するための稼動ノードテーブル番号が設定されている。
なお、稼動ノード候補組合せテーブルT4において設定されるCPU使用率は、10%,20%,30%,40%,50%,60%,70%,80%,90%,100%の10%刻みの値に限定されるものではない。すなわち、10%未満もしくは10%より大きい値で刻んだ値を用いてもよく、種々変形して実施することができる。
また、稼動ノード候補組合せテーブルT4には、各負荷設定値セット(稼動ノードテーブル番号)に対して、各候補ノード30を負荷設定値セットのCPU使用率でそれぞれ動作させた場合での、当該クラスタシステム1の全消費電力(単位:W),全性能値(単位:GFlops)及びクラスタ応答性能(単位:ms)の各推定値が設定される。
ここで、稼動ノード候補抽出部12による稼動ノード候補組合せテーブルT4の作成手法を説明する。
(4−1)稼働ノード候補抽出部12は、ノード消費電力/性能テーブルT1から各ノード30のCPU使用率毎の消費電力及び性能値を読み込む。又、稼働ノード候補抽出部12は、応答性能テーブルT2を読み込む。
(4−2)次に、稼働ノード候補抽出部12は、各ノード30の消費電力と性能値との関係を示す近似曲線の式を求める。具体的には、以下に示す式(1)の各係数(αn、βn、γn)を算出する。なお、この近似曲線は、データ数がN個の場合、(N−1)次関数として定義する。
PnnWn 2nWnn ・・・(1)

:ノードnの性能値
:ノードnの消費電力
α:ノードnの2次係数
β:ノードnの1次係数
γ:ノードnの係数

稼働ノード候補抽出部12は、ノード消費電力/性能テーブルT1に登録されている、各ノード30毎の各CPU使用率(0%,50%,100%)での消費電力および性能値の各値を上記式(1)に代入することで、以下の式(2)として示す3つの方程式を作成する。
0 =αn×(30)2+βn×(30)+γn
25=αn×(40)2+βn×(40)+γn ・・・(2)
40=αn×(55)2+βn×(55)+γn

稼働ノード候補抽出部12は、これらの連立方程式を解くことで係数α,β及びγを求め、消費電力と性能値との関係示す近似曲線を算出する。
上記式(2)の各係数を求めることにより各係数が求められ、消費電力をW、性能値をPとする時、ノード1について、以下に示す式(3)が求められる。
P=−0.06W+6.7W−147 ・・・(3)
図7はノード消費電力と性能との関係を示す図であり、上記式(3)に示す式をグラフとして示す図である。この図7に示すように、上記式(3)によりノード消費電力と性能との関係を近似曲線として表すことができる。
稼働ノード候補抽出部12は、他の各ノード30についても同様にして、ノード消費電力/性能テーブルT1を参照して、各CPU使用率での消費電力および性能値の各値を用いて、上記式(3)と同様の消費電力と性能値との関係を示す近似曲線式を求める。
(4−3)稼働ノード候補抽出部12は、稼動ノード候補テーブルT3を参照して、稼動状態に“ON”が設定されている全てのノード30、すなわち、全稼動ノード候補を抽出して、これらの全稼動ノード候補をクラスタ3に接続させる
稼働ノード候補抽出部12は、稼動ノード候補テーブルT3の初期設定済みフラグに“OFF”を設定する。
(4−4)稼働ノード候補抽出部12は、ノード電力制御部14を介して、全稼動ノード候補に対してCPU使用率100%(高負荷)の状態で稼働開始の指示を行なう。
稼働ノード候補抽出部12は、ノード応答性能監視部17に、各ノード30に対してノード応答性能監視ジョブを発行させて、それぞれの応答時間を測定させる。そして、ノード応答性能監視部17は、この測定した応答時間を応答性能テーブルT2のノード応答性能と比較し、稼動ノード候補テーブルT3において各ノード30に“ON”もしくは“OFF”の稼動状態を設定する。すなわち、測定された応答時間がノード応答性能を満たしている場合は、稼動ノード候補テーブルT3の該当するノードの稼働状態を“ON”に設定する。一方、測定された応答時間がノード応答性能を満たしていない場合は、稼働ノード候補テーブルT3の該当するノードの稼働状態を“OFF”に設定し、該当ノード30をクラスタ3から切り離す。このように、稼働ノード候補抽出部12は、クラスタ3を構成する候補ノード30を決定する。
(4−5)稼働ノード候補抽出部12は、ノード応答性能監視部17により稼動ノードとして設定された各ノード30を、種々のCPU使用率で稼動させる組み合わせ(負荷設定値セット)を、稼動ノード候補テーブルT3に設定する。
稼働ノード候補抽出部12は、稼動ノード候補テーブルT3において、各CPU使用率で各ノード30を稼動させた組合せでの全消費電力,全性能値及びクラスタ性能の各推定値を算出し、稼働ノード候補テーブルT3に設定する。
この際、稼働ノード候補抽出部12は、(2)において求めた各係数及び以下の式(4),(5)を用いて、各ノード30の種々のCPU使用率での組合せでの、全性能値及び全消費電力の値を算出する。
なお、式(4)は、Nノードの全消費電力Wtotalを、又、式(5)は全性能値Ptotalを、それぞれ算出する式である。
Figure 0006206496
total:全稼動ノード候補(総数:N)の性能値の合計
total:全稼動ノード候補(総数:N)の消費電力の合計
:ノードnの性能値
:ノードnの消費電力
α:ノードnの2次係数
β:ノードnの1次係数
γ:ノードnの係数

また、稼働ノード候補抽出部12は、ノード消費電力/性能テーブルT1を参照して、各ノード30について、その消費電力の最高値(CPU使用率100%時)の値と、最低値(CPU使用率0%時)との差を、例えば9等分(10%刻み)する。これにより、各ノード30について、ノード消費電力/性能テーブルT1におけるCPU使用率100%,50%,0%の各間を補完すべく、CPU使用率90%,80%,70%,60%,40%,30%,20%,10%での各消費電力を推定(算出)する。
そして、稼働ノード候補抽出部12は、上述の如く推定した各ノード30の10段階の消費電力の値を適宜組み合わせて上記式(4)に適用することにより、種々のCPU使用率の組合せでの全稼働ノード候補の性能値の合計(推定値)を算出する。以下、全稼働ノード候補の性能値の合計を全性能値という場合がある。
また、稼働ノード候補抽出部12は、上述の如く推定した各ノード30の10段階の消費電力の値を適宜組み合わせて上記式(5)に適用することにより、種々のCPU使用率の組合せでの全稼働ノード候補の消費電力の合計(推定値)を算出する。以下、全稼働ノード候補の消費電力の合計を全消費電力という場合がある。
稼働ノード候補抽出部12は、稼動ノード候補組合せテーブルT4に、算出した全性能値及び全消費電力を、各ノード30のCPU使用率の組合せと対応させて登録する。
すなわち、稼働ノード候補抽出部12は、式(4)のW,W,・・・,WのN個のノードの各消費電力の値を10段階で変化させ、稼動ノード候補のCPU使用率の全組み合わせ(10のN乗通り)について、その組み合わせとその際の性能値をリスト化する。
なお、上述した例では各ノード30の消費電力値をその最大値と最小値との間で10段階(10%刻み)に分割しているが、これに限定されるものではなく種々変形して実施することができる。すなわち、消費電力を11段階以上に分割することで、より省電力制御の精度を高めることができる。又、消費電力を9段階以下に分割することで演算数を低減し、稼動ノード候補組合せテーブルT4の作成に要する時間を短縮することができる。
また、稼働ノード候補抽出部12は、稼動ノード候補テーブルT3の稼働状態に変更が生じた場合には、稼動ノード候補組合せテーブルT4の作成を再度行なう。
さらに、稼働ノード候補抽出部12は、稼動ノード候補テーブルT3において、各ノード30の種々のCPU使用率での組合せを、全消費電力が小さいものから順に並ぶ昇順となるようにソートする。すなわち、稼動ノード候補組合せテーブルT4においては、稼動ノードテーブル番号の値が大きいほど消費電力が高く、稼動ノードテーブル番号の値が小さいほど消費電力が小さくなる。
(4−6)稼働ノード候補抽出部12は、稼動ノード候補組合せテーブルT4における、クラスタ応答性能を設定する。
稼働ノード候補抽出部12は、稼動ノード候補テーブルT3の初期設定済みフラグが“OFF”の場合は、この初期設定済みフラグを“ON”にした後に、以下の処理を行なう。
稼働ノード候補抽出部12は、後述するクラスタ応答性能監視部16に、クラスタ3を構成する各ノード30がそれぞれCPU使用率100%で稼動している状態でのクラスタ実測応答性能を取得させる。
クラスタ応答性能監視部16は、稼働ノード候補抽出部12からクラスタ3の稼働状態取得の指示を受けると、ネットワーク50を介して、クラスタ応答性能監視ジョブ(詳細は後述)をクラスタ3に発行する。
クラスタ応答性能監視部16は、クラスタ3を構成する各ノード30がそれぞれCPU使用率100%で稼動している状態で、クラスタ応答性能監視ジョブを発行して、クラスタ3からの応答を待ち、クラスタ実測応答性能(詳細は後述)を測定する。
稼働ノード候補抽出部12は、クラスタ応答性能監視部16からクラスタ実測応答性能を取得し、稼動ノード候補組合せテーブルT4におけるCPU使用率100%(高負荷)のクラスタ応答性能に設定する。
なお、稼動ノード候補テーブルT3の初期設定済みフラグが“OFF”の場合は、上記CPU使用率100%でのクラスタ実測応答性能の取得は省略する。
稼働ノード候補抽出部12は、稼動ノード候補組合せテーブルT4におけるCPU使用率100%(高負荷)のクラスタ応答性能を用いて、稼働ノード候補組み合わせテーブルT4における、各CPU使用率の組み合わせのクラスタ応答性能を算出する。
すなわち、稼働ノード候補抽出部12は、以下の式(6)を用いて、稼動ノード候補組合せテーブルT4を参照して、各ノード30がCPU使用率100%(高負荷)での組合せにおける全性能と、各組み合わせの全性能とに基づき、各組み合わせのクラスタ応答性能を算出する。
各組み合わせのクラスタ応答性能=(CPU使用率100%の全性能÷各組み合わせの全性能)×CPU使用率100%のクラスタ応答性能 ・・・(6)
例えば、図6に例示する稼動ノード候補組合せテーブルT4において、稼働ノードテーブル番号nにおいて各ノード30のCPU使用率が100%である。上記式(6)により、例えば、稼動ノードテーブル番号n−6のクラスタ応答性能を算出すると以下のように求められる。
(110÷108.4)×11.0=11.16
≒11.2
稼働ノード候補抽出部12は、稼動ノード候補組合せテーブルT4の各負荷設定値セット(稼働ノードテーブル番号)について、それぞれ上記式(6)を用いてクラスタ応答性能を算出し、稼動ノード候補組合せテーブルT4に設定する。
以上の処理により、稼動ノード候補組合せテーブルT4が作成される。
[5]稼動ノード決定部13
稼動ノード決定部13は、応答性能テーブルT2及び稼動ノード候補組合せテーブルT4を参照して、クラスタ3の稼働状態に応じて、各ノード30のCPU使用率を決定する。具体的には、稼動ノード候補組合せテーブルT4に登録されたCPU使用率の組合せの中から、応答性能テーブルT2におけるクラスタ応答性能を満たし、且つ、最も全消費電力が低い組合せを抽出し、その稼働ノードテーブル番号を取得する。
そして、稼働ノード決定部13は、稼動ノード候補組合せテーブルT4から、取得した稼動ノードテーブル番号に該当する各ノード30のCPU使用率を取得し、ノード電力制御部14を介して、各ノード30に対して、取得したCPU使用率をそれぞれ設定する。
ノード電力制御部14は、稼働ノード決定部13によって設定されたCPU使用率を受け、これらのCPU使用率をネットワーク50を介して各ノード30に通知する。各ノード30においては、通知されたCPU使用率に従い、パワーキャッピング機能により消費電力の制御を行なう。
また、ノード応答性能監視部17及びクラスタ応答性能監視部16は、各ノード30のノード性能及びクラスタ3のクラスタ性能を監視し、定期的に(所定の定期監視時間毎に)性能や消費電力の測定を行なう。
クラスタ応答性能監視部16は、クラスタ3の稼働状態を監視し、クラスタ3の性能及び消費電力を定期的に測定する。クラスタ応答性能監視部16は、クラスタ3の性能や消費電力に応じて、各ノード30のCPU使用率を設定する。
ここで、クラスタ3の稼働状態は、前述の如く、例えば以下に示すような稼働環境の変化により変動する。
(a)同一ラック内もしくは隣接するラックに搭載されたノード30間において、振動等によるノード間干渉により生じる性能劣化により、ノード30単位で本来単独で持つ性能を大きく損なわれた場合、クラスタ性能の低下若しくは消費電力の増大が発生する。
(b)システム運用時に、特定ノードが故障により性能劣化した場合に、ノード30単位で本来単独で持つ性能が大きく損なわれ、クラスタ性能の低下若しくは消費電力の増大が発生する。
(c)定期保守等でノードの活***換を行なう際に、クラスタ性能の低下若しくは消費電力の増大が発生する。
[6]クラスタ応答性能監視部16
クラスタ応答性能監視部16はクラスタ3の性能を取得・監視する。例えば、クラスタ応答性能監視部16は、クラスタ3に対してネットワーク50を介して、クラスタ応答性能監視ジョブを発行する。
クラスタ応答性能監視ジョブは、クラスタ3の処理性能を評価するためのジョブである。例えば、クラスタ3がウェブサーバとして機能する場合には、HTML(HyperText Markup Language)ウェブ表示リクエストが、このクラスタ応答性能監視ジョブとして用いられる。
クラスタ応答性能監視部16は、クラスタ3に対してクラスタ応答性能監視ジョブを発行した後、このクラスタ応答性能監視ジョブに対する応答を受信するまでに要する時間(応答時間)を測定する。なお、この応答時間をクラスタ実測応答性能という場合がある。
クラスタ応答性能監視部16は、クラスタ3からの応答時間と応答性能テーブルT2に登録されたクラスタ応答性能とを比較する。測定された応答時間がクラスタ応答性能を満たしている、すなわち、応答時間がクラスタ応答性能未満である場合は、クラスタ応答性能監視部16はクラスタ応答性能が満たされていると判断する。この判断結果に応じて、クラスタ応答性能監視部16は、以下の(6−1)〜(6−3)の処理を行なう。
(6−1)測定したクラスタ実測応答性能が応答性能テーブルT2におけるクラスタ応答性能の許容範囲に含まれない場合には、再設定クラスタ応答性能の算出を行なう。
測定したクラスタ実測応答性能の値が、応答性能テーブルT2におけるクラスタ応答性能を中心とする所定範囲(例えば±10%)に含まれない場合には、クラスタ応答性能監視部16は、クラスタ実測応答性能と稼働ノードテーブル番号に該当するクラスタ応答性能と比較する。そして、以下の式(7)を用いて、応答性能の変化比から再設定クラスタ応答性能を算出する。

再設定クラスタ応答性能=(応答性能テーブルT2内のクラスタ応答性能÷クラスタ実測応答性能)×稼働ノードテーブル番号に該当するクラスタ応答性能 ・・・(7)

例えば、稼動ノード候補組合せテーブルT4の稼動ノードテーブル番号5のCPU使用率の組合せでシステム運用中の場合に、稼働ノードテーブル番号4に該当するクラスタ応答性能は19.3msecである。又、応答性能テーブルT2のクラスタ応答性能(期待する応答性能)は20msecであり、クラスタ実測応答性能が23msecであったとする。
本例においては、期待する応答性能(20msec)に対して実測応答性能(23msec)が大きい。又、測定したクラスタ実測応答性能(23msec)は応答性能テーブルT2におけるクラスタ応答性能(20msec)の許容範囲(例えば±10%)を満たさない。そこで、クラスタ応答性能監視部16は、上記式(7)を用いて、再設定クラスタ応答性能の算出を行なう。
再設定クラスタ応答性能=(20÷23)×19.3≒16.8msec
クラスタ応答性能監視部16は、稼動ノード候補組合せテーブルT4を参照して、クラスタ応答性能が、この算出された再設定クラスタ応答性能(16.8msec)を満たす(値の小さい)CPU使用率の組合せを抽出し、その稼働ノードテーブル番号を取得する。又、この際、クラスタ応答性能監視部16は、全消費電力が低いCPU使用率の組合せを選択する。
すなわち、クラスタ応答性能監視部16は、稼動ノード候補組合せテーブルT4から、算出した再設定クラスタ応答性能を満たし、且つ、最も全消費電力が低い組合せを抽出し、その稼働ノードテーブル番号を取得する。
(6−2)クラスタ実測応答性能の値がクラスタ応答性能を満たし、且つ、クラスタ実測消費電力が、稼動ノード候補組合せテーブルT4において隣接する一つ大きい稼動ノードテーブル番号の全消費電力よりも高い場合には、この一つ大きい稼動ノードテーブル番号を設定する。
前述の如く、稼動ノード候補組合せテーブルT4に登録されている各CPU使用率の組合せは、消費電力に基づいてソートされており、稼動ノードテーブル番号の値が大きいほど消費電力が高い。
クラスタ応答性能監視部16は、クラスタ消費電力監視部15によって取得されたその時点での消費電力(実測消費電力)と、稼動ノード候補組合せテーブルT4において、その時点で選択(実現)されているCPU使用率の組合せに相当する稼動ノードテーブル番号の一つ昇順の(ひとつ大きい)稼動ノードテーブル番号での全消費電力とを比較する。
そして、実測消費電力が、一つ昇順の稼動ノードテーブル番号での全消費電力より高い場合には、この一つ昇順の稼動ノードテーブル番号を選択して、ノード電力制御部14により、この新たに選択したCPU使用率の組合せで各ノード30を動作させる。これにより、クラスタ3の消費電力を下げることができる。
(6−3)クラスタ実測応答性能の値がクラスタ応答性能を満たし、且つ、クラスタ実測消費電力が、稼動ノード候補組合せテーブルT4において隣接する一つ小さい稼動ノードテーブル番号の全消費電力よりも低い場合には、この一つ小さい稼動ノードテーブル番号を設定する。
前述の如く、稼動ノード候補組合せテーブルT4に登録されている各CPU使用率の組合せは、消費電力に基づいてソートされており、稼動ノードテーブル番号の値が小さいほど消費電力が低い。
クラスタ応答性能監視部16は、クラスタ消費電力監視部15によって取得された実測消費電力と、稼動ノード候補組合せテーブルT4において、その時点で選択(実現)されているCPU使用率の組合せに相当する稼動ノードテーブル番号の一つ降順の(ひとつ小さい)稼動ノードテーブル番号での全消費電力とを比較する。
そして、実測消費電力が、一つ降順の稼動ノードテーブル番号での全消費電力より低い場合には、この一つ降順の稼動ノードテーブル番号を選択して、ノード電力制御部14により、この新たに選択したCPU使用率の組合せで各ノード30を動作させる。これにより、現状よりも消費電力が低くなるCPU使用率の組合せで各ノード30が動作することになり、消費電力を低くすることができる。
なお、上記(6−1)〜(6−3)のいずれにも該当しない場合には、次の定期監視時間となるまで待ち、ノード応答性能監視部17及びクラスタ応答性能監視部16による、次のノード性能及びクラスタ性能の測定を待つ。
[B]動作説明
上述の如く構成された実施形態の一例としてのクラスタシステム1における基本的な処理を図8に示すフローチャート(ステップA1〜A9)に従って説明する。
ステップA1において、稼働ノード候補抽出部12は、ノード消費電力/性能テーブルT1から各ノード30のCPU使用率毎の消費電力及び性能値を読み込み、又、応答性能テーブルT2を読み込む。
ステップA2において、稼働ノード候補抽出部12は、取得した情報を用いて、稼動ノード候補組合せテーブルT4を作成する。
ステップA3において、稼動ノード決定部13が、応答性能テーブルT2及び稼動ノード候補組合せテーブルT4を参照して、クラスタ3の稼働状態に応じて、各ノード30のCPU使用率を決定する。すなわち、稼動ノード候補組合せテーブルT4に登録されたCPU使用率の組合せの中から、応答性能テーブルT2におけるクラスタ応答性能を満たし、且つ、最も全消費電力が低い組合せを抽出し、その稼働ノードテーブル番号を取得する。これにより、クラスタ3を構成するノード30と、各ノード30を動作せるCPU使用率とが決定される。
ステップA4において、クラスタ応答性能監視部16がクラスタ3の応答性能を測定する。又、クラスタ消費電力監視部15が、本クラスタ3における消費電力を取得・監視する。
ステップA5において、稼働ノード候補抽出部12は、クラスタ3を構成するノード30に構成変更等が生じたか否かを確認する。例えば、ノード応答性能監視部17による監視の結果、いずれかのノード30において何等かの理由により処理性能が低下し、応答時間が応答性能テーブルT2のノード応答性能を満たしていない場合には、そのノード30がクラスタ3から切り離される構成変更が行なわれる。
また、ノード応答性能監視部17による監視の結果、クラスタ3から切り離されているノード30において処理性能が向上し、応答時間が応答性能テーブルT2のノード応答性能を満たすものとなった場合には、そのノード30がクラスタ3に組み込まれる構成変更が行なわれる。
稼動ノードに構成変更があった場合には(ステップA5のYESルート参照)、ステップA6において、クラスタ3を構成するノード30を更新し、ステップA1に戻る。これにより、ステップA1においては、新たにクラスタ3を構成することとなったノード30についての情報収集が行なわれ、ステップA2において、この新たなノード構成による稼動ノード候補組合せテーブルT4の作成が行なわれる。
一方、稼動ノードに変更がない場合には(ステップA5のNOルート参照)、ステップA7において、クラスタ応答性能監視部16が、クラスタ3がクラスタ応答性能を満たしているか否かを確認する。すなわち、クラスタ応答性能監視部16は、クラスタ実応答性能を測定し、この測定結果が応答性能テーブルT2におけるクラスタ応答性能の許容範囲に含まれるか否かを判断する。
クラスタ実応答性能がクラスタ応答性性能を満たしている場合は(ステップA7のYESルート参照)、クラスタ応答性能監視部16は、測定したクラスタ実応答性能が稼動ノード候補組合せテーブルT4において最小の消費電力となっているか否かを判断する(ステップA8)。すなわち、稼動ノード候補組合せテーブルT4において、より消費電力の少ないCPU使用率の組合せが存在するか否かを判断する。
そして、実応答性能が稼動ノード候補組合せテーブルT4において最小の消費電力となっている場合には(ステップA8のYESルート参照)、ステップA5に戻る。
また、クラスタ実応答性能がクラスタ応答性性能を満たしていない場合(ステップA7のNOルート参照)には、クラスタ応答性能監視部16は、ステップA9において、再設定クラスタ応答性能の算出を行なう。そして、稼動ノード候補組合せテーブルT4から、この算出した再設定クラスタ応答性能を満たし、且つ、最も全消費電力が低い組合せを抽出し、その稼働ノードテーブル番号を取得し、ステップA3に戻る。
さらに、実応答性能が稼動ノード候補組合せテーブルT4において最小の消費電力となっていない場合にも(ステップA8のNOルート参照)、ステップA9に移行する。
次に、実施形態の一例としてのクラスタシステム1における詳細処理を図9に示すフローチャート(ステップB1〜B23)に従って説明する。
ステップB1において、稼働ノード候補抽出部12は、ノード消費電力/性能テーブルT1から各ノード30のCPU使用率毎の消費電力及び性能値を読み込む。又、稼働ノード候補抽出部12は、応答性能テーブルT2を読み込む。そして、稼働ノード候補抽出部12は、これらの情報を用いて、各ノード30の消費電力と性能値との関係を示す近似曲線の式を求める。
次に、ステップB2において、稼働ノード候補抽出部12は、ノード電力制御部14を介して、全稼動ノード候補に対してCPU使用率100%(高負荷)の状態で稼働させる。ステップB3において、ノード応答性能監視部17は、各ノード30において、CPU使用率100%の状態での応答時間が、応答性能テーブルT2のノード応答性能を満たしているか否かを確認することで、稼動ノード候補テーブルT3において各ノード30に“ON”もしくは“OFF”の稼動状態を設定する。
なお、測定された応答時間がノード応答性能を満たしていない場合は、稼働ノード候補テーブルT3の該当するノードの稼働状態を“OFF”が設定され、該当ノード30がクラスタ3から切り離される。
ステップB4において、稼働ノード候補抽出部12が稼動ノード候補組合せテーブルT4を作成する。
ステップB5において、稼働ノード候補抽出部12は、稼動ノード候補テーブルT3の初期設定済みフラグが“ON”であるか否か、すなわち、稼動ノード候補テーブルT3が初期化済みであるか否かを確認する。
稼動ノード候補テーブルT3が初期化済みでない場合には(ステップB5のNOルート参照)、ステップB6において、稼働ノード候補抽出部12は、稼動ノード候補テーブルT3の初期設定済みフラグを“ON”にする。又、稼働ノード候補抽出部12は、クラスタ応答性能監視部16に、クラスタ3を構成する各ノード30がそれぞれCPU使用率100%で稼動している状態でのクラスタ実測応答性能を取得させる。
ステップB7において、稼動ノード決定部13が、応答性能テーブルT2及び稼動ノード候補組合せテーブルT4を参照して、クラスタ3の稼働状態に応じて、各ノード30のCPU使用率を決定する。具体的には、稼動ノード候補組合せテーブルT4に登録されたCPU使用率の組合せの中から、応答性能テーブルT2におけるクラスタ応答性能を満たし、且つ、最も全消費電力が低い組合せを抽出し、その稼働ノードテーブル番号を取得する。
ステップB8において、ノード電力制御部14が、稼働ノード決定部13によって設定されたCPU使用率を各ノード30に通知する。これにより、各ノード30においては、通知されたCPU使用率に従い、パワーキャッピング機能により消費電力の制御を行なう。
ステップB9において、ノード応答性能監視部17は、予め設定された定期監視時間が経過が経過したか否かを確認し、定期監視時間が経過するまで(ステップB9のNOルート参照)待つ。
定期監視時間が経過すると(ステップB9のYESルート参照)、ステップB10において、ノード応答性能監視部17は、全ノード30に対してノード応答性能監視ジョブを各ノード30に通知し、ノード応答性能監視ジョブを発行してからの各ノード30からの応答時間(ノード性能)を実測する。
ステップB11において、ノード応答性能監視部17は、測定したノード実測性能と、応答性能テーブルT2に登録されたノード応答性能とを比較し、各ノード30がノード応答性能を満たしているか否かを確認する。
ノード30がノード応答性能を満たしていない場合には(ステップB11のNOルート参照)、ノード応答性能監視部17は、稼動ノード候補テーブルT3において、該当するノード30の稼働状態を“OFF”に設定する(ステップB13)。一方、ノード30がノード応答性能を満たしている場合には(ステップB11のYESルート参照)、ノード応答性能監視部17は、稼動ノード候補テーブルT3において、該当するノード30の稼働状態を“ON”に設定する(ステップB12)。
ステップB14において、全てのノード30についてステップB11〜B13の処理を行なったか否かを確認し、全てのノード30について行なわれていない場合は(ステップB14のNOルート参照)、ステップB11に戻る。
全てのノード30についてステップB11〜B13の処理が行なわれた場合には(ステップB14のYESルート参照)、稼動ノードの構成に変更が生じたか否かを確認する(ステップB15)。稼動ノードの構成に変更が生じた場合には(ステップB15のYESルート参照)、ステップB4に戻り、稼動ノード候補組合せテーブルT4を作成する。
稼動ノードの構成に変更が生じていない場合には(ステップB15のNOルート参照)、ステップB16において、クラスタ応答性能監視部16が、クラスタ3の性能(クラスタ実測応答性能)を実測する。又、ステップB17において、クラスタ消費電力監視部15が、クラスタ3における消費電力を実測する。
ステップB18において、クラスタ応答性能監視部16によって測定したクラスタ実測応答性能の値が、応答性能テーブルT2におけるクラスタ応答性能を満たすものであるか否かを判断する。例えば、クラスタ応答性能監視部16は、測定したクラスタ実測応答性能の値が、応答性能テーブルT2におけるクラスタ応答性能を中心とする所定範囲(例えば±10%)に含まれているか否かを判断する。
クラスタ応答性能監視部16によって測定したクラスタ実測応答性能の値が、応答性能テーブルT2におけるクラスタ応答性能を満たさない場合には(ステップB18のNOルート参照)、ステップB19において、クラスタ応答性能監視部16は、再設定クラスタ応答性能を算出する。そして、クラスタ応答性能監視部16は、稼動ノード候補組合せテーブルT4から、算出した再設定クラスタ応答性能を満たし、且つ、最も全消費電力が低い組合せを抽出し、その稼働ノードテーブル番号を取得した後、ステップB8に戻る。
また、クラスタ実測応答性能の値が、応答性能テーブルT2におけるクラスタ応答性能を満たす場合には(ステップB18のYESルート参照)、ステップB20において、クラスタ実測消費電力が、稼動ノード候補組合せテーブルT4において隣接する一つ大きい稼動ノードテーブル番号の全消費電力よりも高いか否かを判断する。
実測消費電力が、一つ昇順の稼動ノードテーブル番号での全消費電力より高い場合には(ステップB20のYESルート参照)、ステップB21において、この一つ昇順の稼動ノードテーブル番号(負荷設定値セット)を取得(テーブルシフト)した後、ステップB8に戻る。
実測消費電力が、一つ昇順の稼動ノードテーブル番号での全消費電力以下の場合には(ステップB20のNOルート参照)、ステップB22において、クラスタ実測消費電力が、稼動ノード候補組合せテーブルT4において隣接する一つ小さい稼動ノードテーブル番号の全消費電力よりも低いか否かを判断する。
実測消費電力が、一つ降順の稼動ノードテーブル番号での全消費電力より低い場合には(ステップB22のYESルート参照)、ステップB23において、この一つ降順の稼動ノードテーブル番号(負荷設定値セット)を取得(テーブルシフト)した後、ステップB8に戻る。
また、実測消費電力が、一つ降順の稼動ノードテーブル番号での全消費電力以上の場合には(ステップB22のNOルート参照)、ステップB9に移行する。
[C]効果
このように、実施形態の一例としてのクラスタシステム1によれば、稼働ノード候補抽出部12が、複数のノード30のCPU使用率の組み合わせに対して、各ノードを各CPU使用率の組み合わせでそれぞれ稼動させた場合での全消費電力,全性能及びクラスタ応答性能を対応付けた稼動ノード候補組合せテーブルT4を作成する。稼動ノード決定部13が、この稼動ノード候補組合せテーブルT4に登録されたCPU使用率の組合せの中から、応答性能テーブルT2におけるクラスタ応答性能を満たし、且つ、最も全消費電力が低い組合せを選択する。そして、ノード電力制御部14が、各ノード30をこれらの選択されたCPU使用率に合わせて動作させる。
これにより、クラスタ3を構成する複数のノード30を、要求性能(クラスタ応答性能,ノード応答性能)を満たした上で、消費電力が最も低いCPU使用率の組合せでそれぞれ動作させることができる。すなわち、要求性能を満たし、且つ、消費電力を低減することができる。
例えば、ノード間干渉や故障によるノードレベルの性能劣化が発生した場合や運用中に特定ノード30が故障した場合、定期保守などでノード交換が必要な場合等のように、クラスタ3において稼動環境の変化が生じた場合においても、要求性能を満たし、且つ、消費電力を低減することができる。
また、ノード応答性能監視部16が、各ノード30の応答性能を定期的に監視し、発行したノード応答性能監視部ジョブに対する応答時間に基づき、稼動ノード候補テーブルT3において、当該ノード30の稼動状態に“ON”もしくは“OFF”を設定する。これにより、クラスタ3がノード応答性能を満たすノード30で構成されることとなり、クラスタ3の構成を動的に変更し、その性能を維持することができる。
クラスタ応答性能監視部16が、クラスタ実測応答性能を監視し、測定したクラスタ実測応答性能が応答性能テーブルT2におけるクラスタ応答性能の許容範囲に含まれない場合に、再設定クラスタ応答性能を算出する。そして、稼動ノード候補組合せテーブルT4から、算出した再設定クラスタ応答性能を満たし、且つ、最も全消費電力が低い組合せを抽出し、その稼働ノードテーブル番号を取得する。これにより、クラスタ3を構成する各ノード30を、クラスタ応答性能を満たすCPU使用率の組合せで動作させ、クラスタ3においてクラスタ応答性能を満たすように動作させることができる。
また、クラスタ応答性能監視部16が、クラスタ実測応答性能の値がクラスタ応答性能を満たし、且つ、クラスタ実測消費電力が、稼動ノード候補組合せテーブルT4において隣接する一つ大きい稼動ノードテーブル番号の全消費電力よりも高い場合には、この一つ大きい稼動ノードテーブル番号を設定する。又、クラスタ実測応答性能の値がクラスタ応答性能を満たし、且つ、クラスタ実測消費電力が、稼動ノード候補組合せテーブルT4において隣接する一つ小さい稼動ノードテーブル番号の全消費電力よりも低い場合には、この一つ小さい稼動ノードテーブル番号を設定する。これらにより、クラスタ3の消費電力を低減することができる。
なお、上述した実施形態においては、稼動ノード候補組合せテーブルT4には、クラスタ応答性能が応答性能テーブルT2の要求仕様を満たさない負荷設定値セットも含まれている。従って、ステップB21やB23において、一つ降順もしくは一つ昇順の負荷設定値セットを選択(テーブルシフト)することにより、シフト後の負荷設定値セットではクラスタ応答性能を満たすことができないおそれがある。
しかし、ステップB9において定期監視時間を行ない、ステップB16,B18において、クラスタ応答性能が満たされていない場合には、ステップB19において再設定クラスタ応答性能を算出してステップB8に移行することで、最終的にはクラスタ応答性能が満たされることになり影響はない。
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、稼働ノード候補抽出部12が稼動ノード候補組合せテーブルT4を作成した際に、この稼動ノード候補組合せテーブルT4から、クラスタ応答性能が応答性能テーブルT2のクラスタ応答性能を満たさない負荷設定値セットを削除してもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
[D]付記
(付記1)
複数のノードを備えるクラスタを有するクラスタシステムであって、
前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成する作成部と、
前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択する負荷設定値選択部と、
前記負荷設定値選択部が選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる動作制御部と
を備えることを特徴とする、クラスタシステム。
(付記2)
前記クラスタにおいて前記候補ノードの変更が生じた場合に、前記作成部が前記参照情報を再作成し、前記負荷設定値選択部が前記再作成された前記参照情報に基づいて前記負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記1記載のクラスタシステム。
(付記3)
前記複数のノードのそれぞれについてノード性能を測定するノード性能測定部と、
前記ノード性能測定部によって測定された前記ノード性能が要求性能を満たしているか否かに応じて前記候補ノードを選択するノード選択部とを備え、
前記ノード選択部による候補ノードの選択により、前記クラスタにおいて前記候補ノードの変更が生じた場合に、前記作成部が前記参照情報を再作成し、前記負荷設定値選択部が前記再作成された前記参照情報に基づいて前記負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記2記載のクラスタシステム。
(付記4)
前記ノード選択部が、ノード性能が要求性能を満たしていないノードを前記候補ノードから除外することを特徴とする、付記3記載のクラスタシステム。
(付記5)
前記ノード性能測定部が、前記ノード性能の測定を定期的に行なうことを特徴とする、付記3又は4記載のクラスタシステム。
(付記6)
前記クラスタの処理性能を測定するクラスタ性能測定部を備え、
前記クラスタの処理性能が要求性能を満たしていない場合に、前記負荷設定値選択部が、前記参照情報に基づいて前記負荷設定値の組合せを再選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記1〜5のいずれか1項に記載のクラスタシステム。
(付記7)
前記負荷設定値選択部により選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定するクラスタ消費電力測定部を備え、
クラスタ消費電力測定部によって測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記予想消費電力の並び順で1つ予想消費電力が高い負荷設定値の組合せでの前記予想消費電力よりも高い場合に、前記負荷設定値選択部が、当該1つ予想消費電力が高い負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記1〜6のいずれか1項に記載のクラスタシステム。
(付記8)
前記負荷設定値選択部により選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定するクラスタ消費電力測定部を備え、
クラスタ消費電力測定部によって測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記予想消費電力の並び順で1つ予想消費電力が低い負荷設定値の組合せでの前記予想消費電力よりも低い場合に、前記負荷設定値選択部が、当該1つ予想消費電力が低い負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記1〜7のいずれか1項に記載のクラスタシステム。
(付記9)
クラスタに備えられる複数のノードを制御する制御装置であって、
前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成する作成部と、
前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択する負荷設定値選択部と、
前記負荷設定値選択部が選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる動作制御部と
を備えることを特徴とする、制御装置。
(付記10)
前記クラスタにおいて前記候補ノードの変更が生じた場合に、前記作成部が前記参照情報を再作成し、前記負荷設定値選択部が前記再作成された前記参照情報に基づいて前記負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記9記載の制御装置。
(付記11)
前記複数のノードのそれぞれについてノード性能を測定するノード性能測定部と、
前記ノード性能測定部によって測定された前記ノード性能が要求性能を満たしているか否かに応じて前記候補ノードを選択するノード選択部とを備え、
前記ノード選択部による候補ノードの選択により、前記クラスタにおいて前記候補ノードの変更が生じた場合に、前記作成部が前記参照情報を再作成し、前記負荷設定値選択部が前記再作成された前記参照情報に基づいて前記負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記10記載の制御装置。
(付記12)
前記ノード選択部が、ノード性能が要求性能を満たしていないノードを前記候補ノードから除外することを特徴とする、付記11記載の制御装置。
(付記13)
前記ノード性能測定部が、前記ノード性能の測定を定期的に行なうことを特徴とする、付記11又は12記載の制御装置。
(付記14)
前記クラスタの処理性能を測定するクラスタ性能測定部を備え、
前記クラスタの処理性能が要求性能を満たしていない場合に、前記負荷設定値選択部が、前記参照情報に基づいて前記負荷設定値の組合せを再選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記9〜13のいずれか1項に記載の制御装置。
(付記15)
前記負荷設定値選択部により選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定するクラスタ消費電力測定部を備え、
クラスタ消費電力測定部によって測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記予想消費電力の並び順で1つ予想消費電力が高い負荷設定値の組合せでの前記予想消費電力よりも高い場合に、前記負荷設定値選択部が、当該1つ予想消費電力が高い負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記9〜14のいずれか1項に記載の制御装置。
(付記16)
前記負荷設定値選択部により選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定するクラスタ消費電力測定部を備え、
クラスタ消費電力測定部によって測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記予想消費電力の並び順で1つ予想消費電力が低い負荷設定値の組合せでの前記予想消費電力よりも低い場合に、前記負荷設定値選択部が、当該1つ予想消費電力が低い負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記9〜15のいずれか1項に記載の制御装置。
(付記17)
クラスタに備えられる複数のノードを制御する制御方法であって、
前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成し、
前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択し、
選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる
ことを特徴とする、制御方法。
(付記18)
前記クラスタにおいて前記候補ノードの変更が生じた場合に、前記参照情報を再作成し、前記再作成された前記参照情報に基づいて前記負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記17記載の制御方法。
(付記19)
前記複数のノードのそれぞれについてノード性能を測定し、
測定された前記ノード性能が要求性能を満たしているか否かに応じて前記候補ノードを選択し、
前記候補ノードの選択により前記クラスタにおいて前記候補ノードの変更が生じた場合に、前記参照情報を再作成し、前記再作成された前記参照情報に基づいて前記負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記18記載の制御方法。
(付記20)
ノード性能が要求性能を満たしていないノードを前記候補ノードから除外することを特徴とする、付記19記載の制御方法。
(付記21)
前記ノード性能の測定を定期的に行なうことを特徴とする、付記19又は20記載の制御方法。
(付記22)
前記クラスタの処理性能を測定し、
前記クラスタの処理性能が要求性能を満たしていない場合に、前記参照情報に基づいて前記負荷設定値の組合せを再選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記17〜21のいずれか1項に記載の制御方法。
(付記23)
選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記予想消費電力の並び順で1つ予想消費電力が高い負荷設定値の組合せでの前記予想消費電力よりも高い場合に、当該1つ予想消費電力が高い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記17〜22のいずれか1項に記載の制御方法。
(付記24)
選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記予想消費電力の並び順で1つ予想消費電力が低い負荷設定値の組合せでの前記予想消費電力よりも低い場合に、当該1つ予想消費電力が低い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、付記17〜23のいずれか1項に記載の制御方法。
(付記25)
クラスタに備えられる複数のノードを制御する制御プログラムであって、
前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成し、
前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択し、
選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる
処理をコンピュータに実行させることを特徴とする、制御プログラム。
(付記26)
前記クラスタにおいて前記候補ノードの変更が生じた場合に、前記参照情報を再作成し、前記再作成された前記参照情報に基づいて前記負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる
処理を前記コンピュータに実行させることを特徴とする、付記25記載の制御プログラム。
(付記27)
前記複数のノードのそれぞれについてノード性能を測定し、
測定された前記ノード性能が要求性能を満たしているか否かに応じて前記候補ノードを選択し、
前記候補ノードの選択により前記クラスタにおいて前記候補ノードの変更が生じた場合に、前記参照情報を再作成し、前記再作成された前記参照情報に基づいて前記負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる
処理を前記コンピュータに実行させることを特徴とする、付記26記載の制御プログラム。
(付記28)
ノード性能が要求性能を満たしていないノードを前記候補ノードから除外することを特徴とする、付記27記載の制御プログラム。
(付記29)
前記ノード性能の測定を定期的に行なうことを特徴とする、付記27又は28記載の制御プログラム。
(付記30)
前記クラスタの処理性能を測定し、
前記クラスタの処理性能が要求性能を満たしていない場合に、前記参照情報に基づいて前記負荷設定値の組合せを再選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる処理を前記コンピュータに実行させることを特徴とする、付記25〜29のいずれか1項に記載の制御プログラム。
(付記31)
選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記予想消費電力の並び順で1つ予想消費電力が高い負荷設定値の組合せでの前記予想消費電力よりも高い場合に、当該1つ予想消費電力が高い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる処理を前記コンピュータに実行させることを特徴とする、付記25〜30のいずれか1項に記載の制御プログラム。
(付記32)
選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記予想消費電力の並び順で1つ予想消費電力が低い負荷設定値の組合せでの前記予想消費電力よりも低い場合に、当該1つ予想消費電力が低い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる処理を前記コンピュータに実行させることを特徴とする、付記25〜31のいずれか1項に記載の制御プログラム。
(付記33)
クラスタに備えられる複数のノードを制御する制御プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記制御プログラムが、
前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成し、
前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択し、
選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる
処理をコンピュータに実行させることを特徴とする、制御プログラムを記録したコンピュータ読取可能な記録媒体。
1 クラスタシステム
3 クラスタ
10 管理サーバ
12 稼働ノード候補抽出部(作成部)
13 稼動ノード決定部(負荷設定値選択部)
14 ノード電力制御部(動作制御部)
15 クラスタ消費電力監視部(クラスタ消費電力測定部)
16 クラスタ応答性能監視部(クラスタ性能測定部)
17 ノード応答性能監視部
30,30−1〜30−N ノード
40 共有ドライブ
101,301,601 CPU
102,302,602 メモリ
103,303,401,603 HDD
104,304,402,604 LANインタフェース
60 ユーザPC
T1 ノード消費電力/性能テーブルT1
T2 応答性能テーブル
T3 稼動ノード候補テーブル
T4 稼動ノード候補組合せテーブル

Claims (10)

  1. 複数のノードを備えるクラスタを有するクラスタシステムであって、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成する作成部と、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択する負荷設定値選択部と、
    前記負荷設定値選択部が選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる動作制御部と
    前記負荷設定値選択部により選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定するクラスタ消費電力測定部とを備え
    前記クラスタ消費電力測定部によって測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が高い負荷設定値の組合せでの前記推定消費電力よりも高い場合に、前記負荷設定値選択部が、当該1つ推定消費電力が高い負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、クラスタシステム
  2. クラスタに備えられる複数のノードを制御する制御装置であって、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成する作成部と、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択する負荷設定値選択部と、
    前記負荷設定値選択部が選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる動作制御部と
    前記負荷設定値選択部により選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定するクラスタ消費電力測定部とを備え
    前記クラスタ消費電力測定部によって測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が高い負荷設定値の組合せでの前記推定消費電力よりも高い場合に、前記負荷設定値選択部が、当該1つ推定消費電力が高い負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、制御装置。
  3. クラスタに備えられる複数のノードを制御する制御方法であって、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成し、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択し、
    選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させ
    選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
    測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が高い負荷設定値の組合せでの前記推定消費電力よりも高い場合に、当該1つ推定消費電力が高い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、制御方法。
  4. クラスタに備えられる複数のノードを制御する制御プログラムであって、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成し、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択し、
    選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させ
    選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
    測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が高い負荷設定値の組合せでの前記推定消費電力よりも高い場合に、当該1つ推定消費電力が高い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる
    処理をコンピュータに実行させることを特徴とする、制御プログラム。
  5. クラスタに備えられる複数のノードを制御する制御プログラムを記録したコンピュータ読取可能な記録媒体であって、
    前記制御プログラムが、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成し、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択し、
    選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させ
    選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
    測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が高い負荷設定値の組合せでの前記推定消費電力よりも高い場合に、当該1つ推定消費電力が高い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる
    処理をコンピュータに実行させることを特徴とする、制御プログラムを記録したコンピュータ読取可能な記録媒体。
  6. 複数のノードを備えるクラスタを有するクラスタシステムであって、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成する作成部と、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択する負荷設定値選択部と、
    前記負荷設定値選択部が選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる動作制御部と、
    前記負荷設定値選択部により選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定するクラスタ消費電力測定部とを備え、
    前記クラスタ消費電力測定部によって測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が低い負荷設定値の組合せでの前記推定消費電力よりも低い場合に、前記負荷設定値選択部が、当該1つ推定消費電力が低い負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、クラスタシステム。
  7. クラスタに備えられる複数のノードを制御する制御装置であって、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成する作成部と、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択する負荷設定値選択部と、
    前記負荷設定値選択部が選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させる動作制御部と、
    前記負荷設定値選択部により選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定するクラスタ消費電力測定部とを備え、
    前記クラスタ消費電力測定部によって測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が低い負荷設定値の組合せでの前記推定消費電力よりも低い場合に、前記負荷設定値選択部が、当該1つ推定消費電力が低い負荷設定値の組合せを選択して、前記動作制御部が当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、制御装置。
  8. クラスタに備えられる複数のノードを制御する制御方法であって、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成し、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択し、
    選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させ、
    選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
    測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が低い負荷設定値の組合せでの前記推定消費電力よりも低い場合に、当該1つ推定消費電力が低い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させることを特徴とする、制御方法。
  9. クラスタに備えられる複数のノードを制御する制御プログラムであって、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成し、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択し、
    選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させ、
    選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
    測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が低い負荷設定値の組合せでの前記推定消費電力よりも低い場合に、当該1つ推定消費電力が低い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる
    処理をコンピュータに実行させることを特徴とする、制御プログラム。
  10. クラスタに備えられる複数のノードを制御する制御プログラムを記録したコンピュータ読取可能な記録媒体であって、
    前記制御プログラムが、
    前記複数のノードのうち、クラスタを構成しうる2以上の候補ノードについての負荷設定値の組み合わせに対して、各候補ノードを前記負荷設定値の組み合わせでそれぞれ稼動させた場合での当該クラスタの推定消費電力と推定性能とを対応付けた参照情報を作成し、
    前記参照情報を参照して、前記推定性能が当該クラスタに対する要求性能を満たし、且つ、前記推定消費電力が最も低い前記負荷設定値の組合せを選択し、
    選択した前記負荷設定値の組み合わせに従って各候補ノードを動作させ、
    選択された前記負荷設定値の組合せで各ノードを動作させた状態の当該クラスタの消費電力を測定し、
    測定された前記クラスタの消費電力が、前記参照情報中における、前記負荷設定値の組合せよりも前記推定消費電力の並び順で1つ推定消費電力が低い負荷設定値の組合せでの前記推定消費電力よりも低い場合に、当該1つ推定消費電力が低い負荷設定値の組合せを選択して、当該選択された前記負荷設定値の組み合わせに従って各ノードを動作させる
    処理をコンピュータに実行させることを特徴とする、制御プログラムを記録したコンピュータ読取可能な記録媒体。
JP2015527104A 2013-07-17 2013-07-17 クラスタシステム,制御装置,制御方法,制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Active JP6206496B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/069434 WO2015008353A1 (ja) 2013-07-17 2013-07-17 クラスタシステム,制御装置,制御方法,制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体

Publications (2)

Publication Number Publication Date
JPWO2015008353A1 JPWO2015008353A1 (ja) 2017-03-02
JP6206496B2 true JP6206496B2 (ja) 2017-10-04

Family

ID=52345848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015527104A Active JP6206496B2 (ja) 2013-07-17 2013-07-17 クラスタシステム,制御装置,制御方法,制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体

Country Status (3)

Country Link
US (1) US10133330B2 (ja)
JP (1) JP6206496B2 (ja)
WO (1) WO2015008353A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58103200A (ja) * 1981-12-16 1983-06-20 株式会社日立製作所 プリント板内層カツト方法
JP6244785B2 (ja) * 2013-09-30 2017-12-13 日本電気株式会社 It機器
JP6123926B1 (ja) * 2016-02-08 2017-05-10 日本電気株式会社 情報処理システム
JP6486295B2 (ja) * 2016-03-22 2019-03-20 Kddi株式会社 電子機器、消費電流の算出方法及びプログラム
WO2018154699A1 (ja) * 2017-02-24 2018-08-30 株式会社日立製作所 計算機システム及び計算機システムの電力制御方法
CN107908517B (zh) * 2017-12-07 2021-07-13 郑州云海信息技术有限公司 一种基于shell脚本的CPU压力测试方法
WO2019153187A1 (en) * 2018-02-08 2019-08-15 Alibaba Group Holding Limited Hybrid system-on-chip for power and performance prediction and control
US20220231512A1 (en) * 2018-08-29 2022-07-21 Sean Walsh Solar power and energy storage device design for high computational workloads

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187636A (ja) * 1996-12-24 1998-07-21 Nec Corp 消費電力低減クラスタシステム
US6735706B2 (en) * 2000-12-06 2004-05-11 Lattice Semiconductor Corporation Programmable power management system and method
JP2004062246A (ja) * 2002-07-24 2004-02-26 Nec Corp 負荷分散装置
US7100056B2 (en) 2002-08-12 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for managing processor voltage in a multi-processor computer system for optimized performance
US7747717B2 (en) 2003-08-14 2010-06-29 Oracle International Corporation Fast application notification in a clustered computing system
WO2005017783A2 (en) 2003-08-14 2005-02-24 Oracle International Corporation Hierarchical management of the dynamic allocation of resourses in a multi-node system
JP4476876B2 (ja) 2005-06-10 2010-06-09 三菱電機株式会社 並列計算装置
JP2009193385A (ja) 2008-02-15 2009-08-27 Nec Corp コンピュータシステム
JP5422729B2 (ja) * 2010-09-16 2014-02-19 株式会社日立製作所 情報処理システムの運用管理方法、運用管理プログラムおよび運用管理装置、ならびに情報処理システム
US8995157B2 (en) * 2012-04-18 2015-03-31 Strategic Patent Management, Llc Sensing and control for improving switched power supplies

Also Published As

Publication number Publication date
JPWO2015008353A1 (ja) 2017-03-02
WO2015008353A1 (ja) 2015-01-22
US10133330B2 (en) 2018-11-20
US20160132090A1 (en) 2016-05-12

Similar Documents

Publication Publication Date Title
JP6206496B2 (ja) クラスタシステム,制御装置,制御方法,制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP6248560B2 (ja) 管理プログラム、管理方法、および管理装置
JP4895266B2 (ja) 管理システム、管理プログラムおよび管理方法
JP5218390B2 (ja) 自律制御サーバ、仮想サーバの制御方法及びプログラム
JP5676759B2 (ja) 安定した仮想周波数のための複数の動作点の管理
US20150227397A1 (en) Energy efficient assignment of workloads in a datacenter
US9183102B2 (en) Hardware consumption architecture
JP2008217216A (ja) 負荷分散方法及び計算機システム
JP2010108409A (ja) ストレージ管理方法及び管理サーバ
Sankar et al. Impact of temperature on hard disk drive reliability in large datacenters
JP7131136B2 (ja) サーバ装置,電力制御プログラムおよび監視制御装置
JP2013239095A (ja) 仮想マシン配置装置および仮想マシン配置方法
KR20230070218A (ko) 분리형 컴퓨터 시스템
JP2010108115A (ja) 管理サーバ装置によるストレージ装置及び空調装置の制御方法及びストレージシステム
US20140337648A1 (en) Information processing apparatus and power saving control method
US20170083077A1 (en) Power management for heterogeneous computing systems
US8335661B1 (en) Scoring applications for green computing scenarios
JP6209863B2 (ja) ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
US20140068214A1 (en) Information processing apparatus and copy control method
JP6233427B2 (ja) 制御装置
US10218779B1 (en) Machine level resource distribution
JP2014206805A (ja) 制御装置
JP6374059B2 (ja) コンピュータ資源配分決定方法、コンピュータ資源配分決定方法プログラムおよび制御用コンピュータ
JP6259547B2 (ja) 管理システム、及び、管理方法
JP5403037B2 (ja) 管理システム、管理プログラムおよび管理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170713

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: 20170808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170821

R150 Certificate of patent or registration of utility model

Ref document number: 6206496

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150