JP5652477B2 - データセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラム - Google Patents

データセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラム Download PDF

Info

Publication number
JP5652477B2
JP5652477B2 JP2012539556A JP2012539556A JP5652477B2 JP 5652477 B2 JP5652477 B2 JP 5652477B2 JP 2012539556 A JP2012539556 A JP 2012539556A JP 2012539556 A JP2012539556 A JP 2012539556A JP 5652477 B2 JP5652477 B2 JP 5652477B2
Authority
JP
Japan
Prior art keywords
information processing
air volume
server
information
air
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
JP2012539556A
Other languages
English (en)
Other versions
JPWO2012053115A1 (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 JPWO2012053115A1 publication Critical patent/JPWO2012053115A1/ja
Application granted granted Critical
Publication of JP5652477B2 publication Critical patent/JP5652477B2/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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20718Forced ventilation of a gaseous coolant
    • H05K7/20745Forced ventilation of a gaseous coolant within rooms for removing heat from cabinets, e.g. by air conditioning device
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/89Arrangement or mounting of control or safety devices
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20836Thermal management, e.g. server temperature control
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Thermal Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Chemical & Material Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Combustion & Propulsion (AREA)
  • Human Computer Interaction (AREA)
  • Air Conditioning Control Device (AREA)

Description

本発明は、データセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラムに関する。
従来、IT(Information Technology)機器等を搭載したラック装置や電子回路等を内蔵したサーバが設置されるデータセンタでは、温かい空気を吸って冷却風を供給する空調機を用いて、IT機器やサーバの冷却を行っている。
例えば、図22は、計算機センタ又はデータセンタ等におけるサーバの配置例を示す図である。図22における空調機210は、サーバ201〜203からデータセンタ200内に排気された暖かい空気211を排気口210aから吸い込み、低温の冷却風212を床下に供給する。各サーバ201〜203は、床に設けられた吹出口201b〜210d各々に対応して設置され、床下に供給された冷却風212を吹出口から吸い込んで、内蔵される電子回路等を冷却する。そして、サーバ201〜203は、電子回路等を冷却したために温められた空気211をデータセンタ200内に排気する。このようにして、データセンタ200内では、空調機210によって冷却風212と排気風211を巡回させることにより、サーバの冷却を行っている。
このようなデータセンタでは、データセンタ内の空気流を監視し、監視結果に基づいて空調設備が送出する冷却風を制御する技術が知られている。また、データセンタに設置されたサーバの負荷と消費電力とを予測し、予測結果に基づいて空調機が送出する冷却風の風量を制御する技術が知られている。
特開2006−208000号公報 特開2009−293851号公報
"データセンタのグリーン化への取り組み(空調に関する最新技術)"、[online]、[平成21年7月26日検索]、インターネット<http://www.impressrd.jp/idc/2008spring/sp1/part1souron.html>
しかしながら、従来の技術では、データセンタに供給される冷却風の風量に関らず、データセンタに設置された各サーバの冷却効率が悪いという課題があった。
例えば、データセンタでは、図23に示す床下の高さ(h)と空調機からサーバまでの距離(d)との相関関係によって、空調機から送出される冷却風の風圧差が生じ、吹出口の風量が変わることが知られている。つまり、空調機に近い吹出口の風量が、空調機から遠い吹出口の風量より必ずしも大きいとは限らない。例えば、床下の高さが所定値より高い場合には、空調機から遠い吹出口の風量が大きくなる。なお、図23は、床下の高さと空調機までの距離を示す図である。
また、データセンタに一度設置して稼動を開始したサーバの設置場所を変更することは難しい。例えば、一度稼動させたサーバは、既にシステム運用中であるため、移動させるにはシステムを停止させることとなり、業務に支障をきたす恐れがある。また、サーバの移動に伴って、吹出口も移動させることになり、床下の設計や再構築を実施する時間もコストもかかる。
したがって、データセンタにサーバや吹出口を設置する場合には、床下の高さと空調機からの距離とを考慮して、発熱量が多いサーバに対応して風量が大きい吹出口を設置し、発熱量が少ないサーバに対応して風量が小さい吹出口を設置することが行われている。ところが、サーバの発熱量は、CPU(Central Processing Unit)の使用率、起動時間、サーバを利用するユーザ数の増加、サーバ内で起動する仮想マシン(Virtual Machine)の動作状態等の様々な状況により、サーバの稼動を開始した後に変化する場合がある。
例えば、データセンタ内に複数台のサーバが設置されている状態で、データセンタの設置時には発熱量が小さかった1台のサーバの処理負荷が高くなり、発熱量が高くなったとする。このサーバは、風量が小さい吹出口に対応して設置されていることから、十分に冷却することができない。一方で、上述したように、発熱量が高くなったサーバの設置位置を変更することは難しい。このような状況で、従来の技術を用いて、空調機から送出される冷却風の風量を大きくした場合、発熱量が高くなったサーバが吸気する冷却風の量が多くなるものの、風量が大きくなる前から冷却できている他サーバが吸気する冷却風の量も多くなる。
つまり、従来の技術では、単に空調機から供給される冷却風を多くしているに過ぎない。したがって、不要な冷却風も多く、風量を大きくした分消費電力も大きくなりコストも増加することから、データセンタに設置されたサーバの冷却効率がよいとは言い難い。
本発明は、上記に鑑みてなされたものであって、データセンタに設置された各サーバの冷却効率を向上させることできるデータセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、開示するデータセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラムの一形態は、空調機と、前記空調機から吹出口を介して吹き出される空気によって冷却される複数の情報処理装置を備えた情報処理システムを有するデータセンタである。前記複数の情報処置装置の各々は、プログラムを実行する演算処理部と、自装置に対応する吹出口からの風量を測定する風量測定器が測定した第1の風量情報を取得する第1の風量情報取得部とを有する。他の情報処理装置に対応する吹出口からの風量を測定する風量測定器が測定した第2の風量を取得する第2の風量情報取得部を有する。前記第1の風量情報と前記第2の風量情報とに基づいて、自装置を冷却する風量よりも大きい風量により冷却される他の情報処理装置を特定する判定部を有する。前記演算処理部が実行するプログラムを、前記判定部が特定した他の情報処理装置に移動させる移動制御部を有する。
開示するデータセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラムは、データセンタに設置された各サーバの冷却効率を向上させることができるという効果を奏する。
図1は、実施例1に係るサーバが設置されたデータセンタの例を示す図である。 図2は、実施例1に係る無線センサの構成を示すブロック図である。 図3Aは、RAMに記憶される情報の例を示す図である。 図3Bは、ROMに記憶される情報の例を示す図である。 図4は、実施例1に係るサーバの構成を示すブロック図である。 図5は、ハイパーバイザで実現されるVMの構成例を示す図である。 図6は、VMのマイグレーションを説明する図である。 図7は、実施例1に係るVM移動制御処理の流れを示すフローチャートである。 図8は、VM移動制御処理における優先順位決定処理の流れを示すフローチャートである。 図9は、VM移動制御処理における移動処理の流れを示すフローチャートである。 図10は、実施例2に係るパーティションを跨ってVMをマイグレーションさせる例を説明する図である。 図11は、実施例2に係るサーバが実行する移動処理の流れを示すフローチャートである。 図12は、実施例3に係る複数のサーバを跨って設定されたパーティションにVMをマイグレーションさせる例を説明する図である。 図13は、実施例3に係るサーバが実行する移動処理の流れを示すフローチャートである。 図14は、実施例4に係るVM再移動制御処理の流れを示すフローチャートである。 図15は、実施例5に係るサーバのグループ分けを説明する図である。 図16は、実施例5に係るサーバの構成を示すブロック図である。 図17は、実施例5に係るグループ分け処理の流れを示すフローチャートである。 図18は、実施例5に係る移動処理の流れを示すフローチャートである。 図19は、実施例5に係るグループ分けの具体例を示す図である。 図20は、検索範囲の例を示す図である。 図21は、移動制御プログラムを実行するコンピュータシステムの例を示す図である。 図22は、データセンタにおけるサーバの配置例を示す図である。 図23は、床下の高さと空調機までの距離を示す図である。
以下に、データセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で、適宜組み合わせることが可能である。
実施例1では、開示するサーバが設置されるデータセンタの例、データセンタに設置される各装置の構成、サーバにおける処理の流れ、実施例による効果を順に説明する。
[データセンタ(全体構成)]
図1は、実施例1に係るサーバが設置されたデータセンタの例を示す図である。図1に示すように、データセンタ1は、空調機2と、排気口3と、吹出口4a〜4cと、サーバ20と、サーバ40と、サーバ60とを有する。なお、図1に示したサーバの台数など各装置の台数および各装置等の設置位置などは、あくまで例示であり、これに限定されるものではない。
空調機2は、サーバ20、サーバ40、サーバ60各々から排気される暖かい排気風1aを排気口3から吸入する。そして、空調機2は、吸入した空気を冷却した冷却風1bを床下に供給する。ここでは、床下に冷却風1bを供給する床下空調機を例示したが、これに限定されるものではなく、天井に設置されて天井から冷却風を供給する空調機などであってもよい。
吹出口4a〜4cは、空調機2から床下に供給された冷却風1bが吹き出す通り道である。吹出口4aには、吹出口4aから吹き出す冷却風1bの風量を測定する風量センサ7aと、風量センサ7aに接続され、他装置と無線で通信する無線センサ10aとが設置される。同様に、吹出口4bには、風量センサ7bと無線センサ10bとが設置され、吹出口4cには、風量センサ7cと無線センサ10cとが設置される。なお、風量センサと無線センサとは、同一の筐体で実現されてもよく、別筐体で実現されてもよい。
サーバ20は、吹出口4aから冷却風1bを吸気して、内蔵される電子機器を冷却し、温まった空気を排気する情報処理装置である。同様に、サーバ40は、吹出口4bから冷却風1bを吸気して、内蔵される電子機器を冷却し、温まった空気を排気する情報処理装置である。サーバ60は、吹出口4cから冷却風1bを吸気して、内蔵される電子機器を冷却し、温まった空気を排気する情報処理装置である。
また、サーバ20、サーバ40、サーバ60各々には、ハイパーバイザ(HV:HyperVisor)とサービスプロセッサ(SVP:Service Processor)とが搭載されている。各サーバは、実装されたHVを用いて、仮想的なコンピュータである仮想マシン(VM:Virtual Machine)を稼動させている。なお、これらのサーバは、LAN(Local Area Network)などのネットワークを介して相互に通信可能に接続されている。
このような状況において、各サーバは、自装置を冷却する空気が吹き出す吹出口に設置される風量センサが測定した風量を取得する。そして、各サーバは、他のサーバを冷却する空気が吹き出す吹出口に設置される風量センサが測定した風量をそれぞれ取得する。その後、各サーバは、自サーバを冷却する風量と他のサーバを冷却する風量とに基づいて、自サーバを冷却する風量よりも大きい風量によって冷却される他のサーバを特定し、特定した他のサーバに自サーバで稼動する仮想マシンを移動させる。
例えば、図1に示したデータセンタ1において、吹出口4aから吹き出す風量が一番小さく、次に吹出口4bから吹き出す風量が小さく、吹出口4cから吹き出す風量が一番大きいとする。この場合、サーバ20は、吹出口4aに設置された風量センサ7aが測定した風量Aを取得する。さらに、サーバ20は、吹出口4bに設置された風量センサ7bが測定した風量Bと、吹出口4cに設置された風量センサ7cが測定した風量Cとを取得する。
そして、サーバ20は、風量Aと風量Bと風量Cとを比較し、風量Aよりも大きくかつ一番大きい風量が風量C、すなわち、サーバ60が吸気する風量が最も大きいと判定する。その後、サーバ20は、自装置で稼動するVMをサーバ60に移動させるライブマイグレーション(以下、「マイグレーション」という)を実行する。
つまり、各サーバは、自サーバよりも大きい風量を吸気して冷却を実施しているサーバにVMをマイグレーションするので、大きな風量で冷却を実施しているサーバにVMを集約させることができる。この結果、データセンタに設置された各サーバの冷却効率を向上させることできる。
[無線センサの構成]
次に、図1に示した無線センサ10a〜10cの構成について説明する。図2は、実施例1に係る無線センサの構成を示すブロック図である。なお、無線センサ10a〜10cは、同様の構成を有するので、ここでは無線センサ10aについて説明する。
図2に示すように、無線センサ10aは、制御I/F部11aと無線I/F部12aとRAM13aとROM(Read Only Memory)14aとメモリ管理ユニット15aと制御部16aとを有する。
制御I/F部11aは、例えばRS−232CなどのシリアルポートやI2C(Inter-Integrated Circuit)などのバスを介して、風量センサ7aと接続されるインタフェースであり、風量センサ7aが測定した風量を受信する。なお、風量センサ7aは、風量センサ7bと風量センサ7cと同様の構成を有するとともに、吹出口4aに設置され、吹出口4aから吹き出す風量を定期的または常時測定する。
無線I/F部12aは、例えばZigBee(登録商標)などの無線通信規格に準拠し、サーバ20、サーバ40、サーバ60、他の無線センサなど他装置との間の無線通信を制御するインタフェースである。無線I/F部12aは、他装置との間の無線通信において、無線周波数を用いたRF(Radio Frequency)メッセージとともに、超音波パルスを送信する。
無線I/F部12aから送信するRFメッセージには、例えば「無線センサ10aを識別する識別子」、「風量センサ7aを識別する識別子」、「風量センサ7aが測定した風量」、「風量センサ7aのアドレス情報」などが含まれる。これらの他にも、例えばRAM13a等に書き込まれた、無線センサ10aの2次元座標を示す位置座標などが後述する制御部16aによってRFメッセージに書き込まれる。
また、無線I/F部12aは、他装置からはRFメッセージとともに、超音波パルスを受信する。そして、無線I/F部12aは、超音波パルスを受信してからRFメッセージを受信するまでの時間差に基づいて、送信元との距離を算出することができる。別の手法としては、無線I/F部12aは、超音波パルスを送信して、送信先装置からの反射を受信し、送信してから受信するまでの時間に基づいて、送信元との距離を算出することもできる。
この無線I/F部12aは、GPS(Global Positioning System)受信機能を有していてもよい。無線I/F部12aがGPS受信機能を有する場合、無線I/F部12aが送受信するRFメッセージに、無線センサの位置情報などを含めることもできる。
RAM13aは、制御部16aによる各種処理に必要なデータおよびプログラムを格納する主記憶部であり、例えば、風量センサ7aが測定した風量などを記憶する。ROM14aは、読み出し専用の半導体メモリであり、例えば管理者等によって予め指定された無線センサ10aの位置座標、無線センサ10aを識別する識別子、風量センサ7aを識別する識別子などを記憶する。
一例として、図3Aは、RAMに記憶される情報の例を示す図であり、図3Bは、ROMに記憶される情報の例を示す図である。RAM13aは、図3Aに示すように、可変値である「風量」として「20m/h」などを記憶する。一例として、ROM14aは、図3Bに示すように、固定値である「無線センサ識別子、風量センサ識別子、座標」として「01、001、(100.90)」などを記憶する。なお、ここで記憶される情報は、全てRAM13aに記憶されていてもよい。
「無線センサ識別子」は、無線センサ10aを一意に識別する識別子であり、「風量センサ識別子」は、無線センサ10aと接続される風量センサ7aを一意に識別する識別子であり、これらの識別子は、管理者等によって書き込まれる。「風量」は、風量センサ7aが測定した風量であり、制御部16aによって書き込まれる。「座標」は、無線通信やGPSが測定したX軸(横軸)とY軸(縦軸)から形成される2次元座標であり、制御部16aによって書き込まれる。
図2に戻り、メモリ管理ユニット15aは、制御部16aからRAM13aに要求されたメモリアクセスを処理する。例えば、メモリ管理ユニット15aは、RAM13aが保持するデータの読み出し機能及びRAM13aへのデータの書き込み機能などを有する。
制御部16aは、無線センサ10aにおける各種処理を実行するCPU(Central Processing Unit)などのプロセッサである。例えば、制御部16aは、メモリ管理ユニット15aを介して、制御I/F部11aから取得した風量をRAM13a等に書き込む。また、制御部16aは、無線I/F部12aを介してRFメッセージを送信する場合に、ROM14a又はRAM13a等に記憶される各種情報をメッセージに含めて送信する。また、制御部16aは、無線I/F部12aを介してRFメッセージを受信した場合、当該RFメッセージに含まれる各種情報を読み出してRAM13a等に書き込む。
[サーバの構成]
次に、図1に示したサーバ20、サーバ40、サーバ60の構成について、実施例1に係るサーバの構成を示すブロック図である図4を用いて説明する。なお、サーバ20、サーバ40、サーバ60は、同様の構成を有するので、ここではサーバ20について説明する。
図4に示すように、サーバ20は、無線I/F部21と、クロスバスイッチ22と、CPUボード23〜25と、IOボード26〜28と、サービスプロセッサ29とを有する。また、CPUボード23とIOボード26とでパーティション1を形成し、CPUボード24とCPUボード25とIOボード27とIOボード28とでパーティション2を形成する。ここで、1台のサーバを複数の領域に分割し、それぞれの分割された領域でOSやアプリケーションを動作させて、複数のシステム構築を可能にする技術をパーティショニングと呼び、分割された1つ1つの領域をパーティションという。なお、ここで図示したCPUボード、IOボードの数、パーティションの形成、パーティション数などは、あくまで例示であり、これに限定されるものではない。
無線I/F部21は、無線センサ10aの無線I/F部12aと同様、例えばZigBeeなどの無線通信規格に準拠し、他装置との間の無線通信を制御するインタフェースである。例えば、無線I/F部21は、各無線センサ10a〜10cからRFメッセージと超音波パルスとを受信して、サービスプロセッサ29に出力する。ここで無線I/F部21が受信するRFメッセージには、「無線センサを識別する識別子」、「風量センサを識別する識別子」、「風量センサが測定した風量値」、「無線センサの2次元座標」などが含まれる。
また、無線I/F部21は、各無線センサ10a〜10cに対してRFメッセージと超音波パルスとを送信する。ここで無線I/F部21が送信するRFメッセージには、「サーバ20を識別する識別子」、「サーバ20のアドレス情報」、「サーバ20のパーティション情報」などが含まれる。ここで例示した各情報は、サービスプロセッサ29やハイパーバイザによってRFメッセージに書き込まれる。
クロスバスイッチ22は、サービスプロセッサ29、CPUボード23〜25、IOボード26〜28の間でやり取りされるデータの経路を動的に選択するスイッチである。
CPUボード23〜25は、OS(Operating System)やVMを動作させるプロセッサを搭載した拡張ボードであり、各種処理部を搭載する。なお、CPUボード23〜25は、同様の構成を有するので、ここではCPUボード23について説明する。なお、ここで説明するCPUボードに搭載される機能部は、あくまで例示であり、これに限定されるものではない。
CPUボード23は、図4に示すように、メモリ23aと不揮発性RAM23bとハイパーバイザ23cとメモリ制御部23dとCPU23eとを有する。メモリ23aは、CPU23eによる各種処理に必要なデータおよびプログラムを格納する主記憶部であり、例えば、後述するハイパーバイザ23cによって実行されるVMの情報や、VM上で処理されるデータ等が記憶される。VMの情報として、例えば、動作するOSの種別、VMで実行されるアプリケーションプログラム、各種データなどがある。
不揮発性RAM23bは、CPUボード23で実行されるVMが使用するネットワーク情報や、VMを管理制御するハイパーバイザ23cのプログラムを記憶するメモリであり、メモリ23aに比べて小容量である。なお、ここで記憶される情報は、後述するディスク26aに記憶されてもよい。
ハイパーバイザ23cは、仮想化モニタや仮想OSなどと呼ばれ、CPU23eに実行され、複数の論理パーティションを構成するとともにVMの識別情報を管理し、VM動作を実現する。ここで、ハイパーバイザ23cが実現するVMについて説明する。図5は、ハイパーバイザで実現されるVMの構成例を示す図である。図5に示すように、ハイパーバイザ23cは、当該ハイパーバイザ23c上で「仮想マシンイメージ」や「仮想コンテキスト」を管理し、「システムファームウェア」、「OS」、「アプリケーション」を実行することで、VMを動作させる。
「仮想マシンイメージ」は、VMを構成する論理的なデータであり、VMを実行するプログラムと当該プログラムに関する各種データなどで構成される。「仮想コンテキスト」は、VMで実行される一連のプログラムの最小単位である。「システムファームウェア」は、VMを動作させるために各種ハードウェアを制御するファームウェアである。「OS」は、VMで動作するオペレーティングシステムであり、「アプリケーション」は、VM上で動作するソフトウエアである。
また、ハイパーバイザ23cは、動作中の各VMの負荷情報として、CPU負荷率、メモリ使用量などの情報を収集し、サービスプロセッサ29に出力したり、他サーバに送信したりする。また、ハイパーバイザ23cは、サービスプロセッサ29の指示によって、動作中のVMを他サーバに移動させるマイグレーションを実行する。
図4に戻り、メモリ制御部23dは、CPU23eからメモリ23aに要求されたメモリアクセスを処理するメモリコントローラであり、例えば、バス調停機能などを有する。CPU23eは、パーティション1内の各種制御を実行するプロセッサであり、例えばハイパーバイザ23cを実行してVMを動作させる。
IOボード26〜28は、クロスバスイッチ22を介して他のCPUボードやIOボードと接続されるとともに、入出力デバイスや他サーバと接続される。なお、IOボード26〜28は、同様の構成を有するので、ここではIOボード26について説明する。なお、ここで説明するIOボードに搭載される機能部は、あくまで例示であり、これに限定されるものではない。
IOボード26は、図4に示すように、ディスク26aとSAS(Serial Attached Small Computer System Interface)コントローラ26bとネットワークコントローラ26cとIO制御部26dを有する。ディスク26aは、メモリ23aや不揮発性RAM23bに比べて容量の大きい記憶装置であり、パーティション1の構成情報などを記憶するハードディスクである。パーティション1の構成情報としては、例えばディスク容量や各ボード数などがある。
SASコントローラ26bは、ディスク26aとIO制御部26dとの間をSASで接続し、高速転送を実現するシリアルインタフェースである。ネットワークコントローラ26cは、他装置との間の通信を制御するインタフェースであり、例えばマイグレーションによりVM転送等を実施する。IO制御部26dは、CPUボード23から受信したデータアクセスを、SASコントローラ26bを介してディスク26aに実行する。この結果、CPUボード23におけるCPU23eやハイパーバイザ23cは、データをディスク26aに書き込んだり、ディスク26aからデータを読み出したりすることができる。
サービスプロセッサ29は、内部メモリを有し、サーバ20で実行されるパーティションやVMなどを統合的に管理制御するプロセッサである。このサービスプロセッサ29は、センサ特定部29aと風量取得部29bと情報取得部29cと判定部29dと移動制御部29eと情報提供部29fとを有する。
センサ特定部29aは、吹出口4a〜4cごとに設置された無線センサ10a〜10cと間の無線通信から、各無線センサと自装置との間の距離を算出し、算出した距離に基づいて、サーバ20が主に吸気する冷却風が吹き出す吹出口を特定する。
例えば、センサ特定部29aは、無線I/F部21を制御して、無線センサ10a〜10c各々と無線通信を実行する。そして、センサ特定部29aは、各無線センサごとに、RFメッセージと超音波パルスとの到着差、RFメッセージの伝送速度、超音波の伝送速度等に基づいて無線センサとの距離を算出する。そして、センサ特定部29aは、各無線センサごとに算出した距離のうち、最も近い距離である無線センサを特定し、特定結果をサービスプロセッサ29の各制御部に出力する。図1の例では、センサ特定部29aは、サーバ20に最も近い距離にあるセンサが無線センサ10aであると特定する。
別の手法としては、受信電波強度を用いた位置検出手法(参考文献:「無線を使った位置検出」、沖テクニカルレビュー、2005年10月/第204号Vol.72、No.4)を利用することができる。具体的には、各無線センサ10a〜10cは、信号を発し、各無線センサ10a〜10cがその信号の受信電波強度を測定する。そして、各サーバのセンサ特定部29aは、実環境における無線伝播特性を確率モデル化して最尤法を用いて統計的推測を行う位置検出アルゴリズムと、各無線センサから取得した受信電波強度とを用いて、無線センサの位置を推測する。
具体例を挙げると、センサ特定部29aは、実環境における無線伝播特性を確率モデル化する。例えば、センサ特定部29aは、設置した無線センサ間の距離と受信電波強度との関係を得る。なお、無線センサを移動させてもよい。そして、センサ特定部29aは、無線センサからの距離rにおける受信電波強度Pの条件付確率密度関数p(P/r)を算出する。この条件付確率密度関数p(P/r)は、式(1)と式(2)で表すことができる。なお、条件付確率密度関数p(P/r)は、データセンタのシミュレーション等により予め算出しておくこともできる。ここで、式(2)の左辺は、距離rにおける平均受信電波強度を示し、式(2)の右辺のCおよび減衰係数αは、伝播環境のモデル化時に決まるパラメータである。
Figure 0005652477
Figure 0005652477
例えば、無線センサ(無線タグ)の実位置をθ=(x、y)、各無線センサから送信されてきた受信電波強度をP=(P、P、・・・P)と表し、検出対象の無線センサの位置をθであると仮定する。この場合、センサ特定部29aは、各無線センサの受信電波強度がPである確率を条件付確率密度関数p(P/θ)で表す。また、無線センサ間の伝播路が独立であると考えると、センサ特定部29aは、p(P/θ)を式(3)のように、無線センサの各位置での条件付確率密度関数の積で表すことができる。ここで、式(3)のrは、検出対象の無線センサの位置をθとした時の当該無線センサから受信電波強度Pを測定した他無線センサまでの距離である。センサ特定部29aは、式(3)を無線センサの位置θの関数とみなした関数「L(θ):=p(P/θ)」を尤度関数とし、L(θ)を最大にするθを、検出対象の無線センサの位置として推定する。
Figure 0005652477
風量取得部29bは、センサ特定部29aが特定した吹出口に設置される風量センサが測定した、当該特定された吹出口から吹き出す風量を取得する。例えば、図1の場合、風量取得部29bは、センサ特定部29aが特定した吹出口4aの風量を風量センサ7aから取得して、サービスプロセッサ29の各制御部に出力する。一例として、風量取得部29bは、風量センサ7aと接続される無線センサ10aから受信したRFメッセージに含まれる「風量センサ7aの風量」を取得し、内部メモリ等に格納する。別例としては、風量取得部29bは、吹出口4aに設置される無線センサ10aに接続し、無線センサ10aのRAM13a等に記憶される「風量センサ7aの風量」を読み出す。
情報取得部29cは、他の吹出口に設置される風量センサが測定した他のサーバが吸気する風量と、他のサーバの負荷情報(CPU負荷率、メモリ使用量等)とを取得する。図1の例では、情報取得部29cは、吹出口4b近傍に設置されたサーバ40からLANなどを介して、風量センサ7bが測定した風量を取得する。同様に、情報取得部29cは、吹出口4c近傍に設置されたサーバ60からLANなどを介して、風量センサ7cが測定した風量を取得する。また、情報取得部29cは、サーバ40の負荷情報として、サーバ40のCPU使用率やメモリ使用量などを取得する。同様に、情報取得部29cは、サーバ60の負荷情報として、サーバ60のCPU使用率やメモリ使用量などを取得する。そして、情報取得部29cは、取得した各情報を判定部29dなどの各制御部に出力する。
情報取得部29cが風量を取得する手法としては、例えば風量をサーバ各々内部の風量センサから取得してもよく、風量を無線センサから取得するようにしてもよい。具体的に説明すると、サーバ40およびサーバ60は、サーバ20と同様に、自サーバに最も近い吹出口を特定し、特定した吹出口に設置される無線センサから、風量センサの情報を取得してメモリ等に格納する。
つまり、サーバ40は、風量センサ7bからの風量を取得しており、サーバ60は、風量センサ7cからの風量を取得している。したがって、情報取得部29cは、LANなどを介して各サーバのサービスプロセッサに風量情報のリクエストを送信して、風量および負荷情報を取得することもできる。このように、各サーバは、自装置が吸気する風量および負荷情報を他のサーバ間で相互に交換することにより、他サーバが吸気する風量および負荷情報を対応付けて取得することができる。
判定部29dは、情報取得部29cが取得した風量のうち風量取得部29bが取得した風量よりも大きい風量を吸気する各サーバの風量を並べ替え、風量が大きいサーバほど優先順位が高くなるように優先順位を決定する。そして、判定部29dは、決定した優先順位の順に、情報取得部29cが取得した他のサーバの負荷情報と、移動対象のVMの負荷情報とに基づいて、VMが稼動できるサーバであるか否かを判定する。そして、判定部29dは、移動できると判定したサーバの情報を移動制御部29eに出力する。
例えば、図1を用いて具体的に説明すると、判定部29dは、サーバ60から取得した風量の方がサーバ40から取得した風量よりも大きいため、サーバ60、サーバ40の順番で優先度を決定する。続いて、判定部29dは、自サーバ20のパーティション1で実行されるVMのCPU使用率「30%」をハイパーバイザ23cから取得する。また、判定部29dは、最も優先度が高いサーバ60から取得したCPU使用率「60%」を取得し、「100(%)−60(%)」から許容できるCPU負荷「40(%)」を算出する。そして、判定部29dは、移動対象のVMのCPU使用率が「30%」であり、移動先候補のサーバ60が許容できるCPU負荷が「40(%)」であることから、VMが稼動できるサーバとしてサーバ60を移動先として決定する。
一方、最も優先度が高いサーバ60から取得したCPU使用率が「80%」であるため、許容できるCPU負荷「20(%)」だったとする。この場合、判定部29dは、移動対象のVMのCPU使用率が「30%」であり、移動対象のサーバ60が許容できるCPU負荷「20(%)(=100(%)−80(%))」であることから、サーバ60を移動先候補から除外する。
そして、判定部29dは、次に優先度が高いサーバ40について同様の処理を行う。例えば、次に優先度が高いサーバ40から取得したCPU使用率が「20%」であるため、許容できるCPU負荷「80(%)」だったとする。この場合、判定部29dは、移動対象のVMのCPU使用率が「30%」であり、移動対象のサーバ40が許容できるCPU負荷「80(%)(=100(%)−20(%))」であることから、サーバ40を移動可能であると判定する。
この結果、判定部29dは、移動可能だと判定したサーバ40を移動先として決定し、サーバ40が移動不可能だと判定した場合には、他にサーバが存在しないので、VMを移動させないと判定する。
なお、ここでは、負荷情報としてCPU使用率を用いて判定する例を説明したが、これに限定されるものではない。例えば、メモリ使用量を用いてもよく、CPU使用率とメモリ使用量との両方を用いてもよく、任意の負荷情報および負荷情報の組み合わせを用いることができる。
移動制御部29eは、判定部29dによってVMが稼動できると判定されたサーバにVMを移動させ、マイグレーションを行う。上述した例では、移動制御部29eは、移動対象VMが動作するハイパーバイザ23cに対して、サーバ60へのVM移動指示を送信する。VM移動指示を受信したハイパーバイザ23cは、当該VMをサーバ60へマイグレーションする。
ここで、サーバ間におけるVMのマイグレーションについて、図6を用いて説明する。なお、ここで説明する処理は、移動対象のVM上で動作するハイパーバイザが実行する。図6に示すように、まず、移動元サーバは、移動対象VMに対応する仮想コンテキストのうち、VM内で未実行である移動可能な仮想コンテキストを移動元サーバのメモリから読み出して、移動先サーバのメモリにコピーする。そして、移動元サーバは、コピー済みの仮想コンテキストに実行権が割り与えられ、未コピーの仮想コンテキストが解放されると、当該仮想コンテキストを移動元サーバのメモリから読み出し、移動先サーバのメモリにコピーする。このようにして、移動元サーバは、メモリに記憶される仮想コンテキストや仮想マシンイメージの一部を移動先サーバのメモリにコピーする。
続いて、移動元サーバは、メモリに記憶されるVMの情報を移動先サーバに書き込むと、移動元サーバのディスクに格納される仮想マシンイメージをコピーして、移動先サーバのディスクに書き込む。その後、移動先サーバは、移動先サーバのディスクに書き込んだ仮想マシンイメージを移動先サーバのメモリに展開する。もしくは、LANなどのネットワークを介して、移動元サーバのディスクを移動先サーバと共有することにより、移動先サーバが、仮想マシンイメージをそのメモリに展開してもよい。この結果、移動元サーバは、自装置で動作していたVMを移動先サーバにマイグレーションさせることができる。
図4に戻り、情報提供部29fは、自サーバが吸気する風量および自サーバの負荷情報をLANなどのネットワークを介して他サーバに送信する。例えば、情報提供部29fは、他サーバから情報取得要求を受信した場合に、無線センサ10aから取得した風量と各パーティションの各ハイパーバイザから取得した負荷情報とをLANなどを介して要求元に送信する。なお、負荷情報は、各パーティションごとの負荷情報であってもよく、各パーティションの情報を合計したサーバ20全体の負荷情報であってもよい。
[処理の流れ]
次に、図7〜図9を用いて、サーバ20が実行する処理の流れをそれぞれ説明する。図7は、実施例1に係るVM移動制御処理の流れを示すフローチャートであり、図8は、VM移動制御処理における優先順位決定処理の流れを示すフローチャートであり、図9は、VM移動制御処理における移動処理の流れを示すフローチャートである。
(VM移動制御処理の流れ)
図7に示すように、サーバ20のサービスプロセッサ29のセンサ特定部29aは、処理開始指示を管理者端末等から受信すると(ステップS101Yes)、各無線センサと無線通信を実行する(ステップS102)。
続いて、センサ特定部29aは、各無線センサから受信したRFメッセージと超音波パルス等に基づいて算出した距離から、サーバ20に最も近い無線センサを特定する(ステップS103)。すなわち、センサ特定部29aは、サーバ20に最も近い無線センサを特定することで、当該無線センサが設置された、サーバ20が主に吸気する冷却風が吹き出す吹出口4aを特定できる。
そして、風量取得部29bは、センサ特定部29aが特定した吹出口4aに設置された風量センサ7aが測定した風量、言い換えると、吹出口4aから吹き出す風量の値またはサーバ20が吸気する風量の値を取得する(ステップS104)。このとき、判定部29dは、移動対象となるVMの負荷情報を、当該VMを動作させるハイパーバイザから収集する。
続いて、情報取得部29cおよび判定部29dは、他の吹出口の風量および他サーバの負荷情報を取得し(ステップS105)、取得した風量に基づいて、移動先候補とするサーバに対して優先順位を決定することにより優先度を決定する優先順位決定処理を実行する(ステップS106)。その後、判定部29dおよび移動制御部29eは、移動先サーバを決定し、決定した移動先サーバにVMをマイグレーションさせる移動処理を実行する(ステップS107)。
(優先順位決定処理の流れ)
次に、図7に示したステップS106で実行される優先順位決定処理の流れについて説明する。なお、ここでは、ヒープソートを例にして説明するが、これに限定されるものではなく、例えばバブルソートなど他のソートアルゴリズムを用いてもよい。
図8に示すように、判定部29dは、情報取得部29cが取得した各サーバの風量(Q)についてデータ配列を生成し(ステップS201)、総数をNとする(ステップS202)。さらに、判定部29dは、初期の比較要素の列番号を「i=(N−1)/2」とする(ステップS203)。次に基礎(親)の比較要素の列番号を「a=i」とする(ステップS204)。ここで示したxは、各風量センサから取得された風量を区別する添え字であり、図1に示したように、風量センサが3台ある場合には、xは0、1、2となる。一例を挙げると、Qが風量センサ7aにより取得された風量を示し、Qが風量センサ7bにより取得された風量を示し、Qが風量センサ7cにより取得された風量を示す。
その後、判定部29dは、N−1が2*i+1以上であり(ステップS205Yes)、N−1が2*i+2以上である場合(ステップS206Yes)、QとQ2*i+2、Q2*i+1とQ2i+2とを比較する(ステップS207)。つまり、判定部29dは、(N−1)≧(2i+1)かつ(N−1)≧(2i+2)である場合に、ステップS207を実行する。
そして、判定部29dは、Q2*i+2がQより大きく且つQ2*i+2がQ2*i+1より大きいと判定した場合には(ステップS207Yes)、QとQ2*i+2を入れ替えて、iに2*i+2を代入する(ステップS208)。その後、ステップS205に戻って以降の処理を実行する。
一方、判定部29dは、Q2*i+2がQより小さくまたはQ2*i+2がQ2*i+1より小さいと判定した場合には(ステップS207No)、QとQ2*i+1を比較する(ステップS209)。そして、判定部29dは、Q2*i+1がQより大きいと判定した場合には(ステップS209Yes)、QとQ2*i+1を入れ替えて、iに2*i+1を代入する(ステップS210)。その後、ステップS205に戻って以降の処理を実行する。
また、判定部29dは、Q2*i+1がQより小さいと判定した場合には(ステップS209No)、iにaを代入する(ステップS211)。なお、判定部29dは、N−1が2*i+2以上でない場合(ステップS205No)、ステップS211以降を実行する。
ステップS211を実行した判定部29dは、i=0であるか否かを判定し(ステップS212)、i=0でない場合には(ステップS212No)、iにi−1に代入し(ステップS213)、ステップS204に戻って以降の処理を実行する。
一方、判定部29dは、i=0である場合には(ステップS212Yes)、並び替えた風量Qのヒープ構造から、最大値Qを抽出する(ステップS214)。そして、判定部29dは、最大値QとQN−1とを交換して(ステップS215)、新たなNをN−1とし(ステップS216)、N=0であるか否かを判定する(ステップS217)。
続いて、判定部29dは、N=0でない場合(ステップS217No)、ステップS203に戻って以降の処理を実行してヒープ構造を再構成する。一方、判定部29dは、N=0である場合(ステップS217Yes)、最も大きい風量が最も優先度が高くなるように、ソートした順に優先順位が高くなるように優先度を付加して、優先順位を決定する(ステップS218)。その後、判定部29dは、移動処理に処理を遷移させる(ステップS219)。
(移動処理の流れ)
次に、図7に示したステップS107で実行される移動処理の流れについて説明する。図9に示すように、判定部29dは、図8に示した優先順位決定処理によって、最も高い優先度が付加されたサーバを移動先候補として取得する(ステップS301)。続いて、判定部29dは、自サーバで動作するVMから移動対象とするVMを1つ特定し、当該VMの負荷情報をハイパーバイザから取得する(ステップS302)。
そして、判定部29dは、情報取得部29cが取得した移動先候補の負荷情報から許容できる負荷を算出する(ステップS303)。その後、判定部29dは、許容できる負荷が移動対象VMの負荷よりも大きい場合には(ステップS304Yes)、当該移動先候補を移動先サーバに決定する(ステップS305)。そして、移動制御部29eは、判定部29dによって決定された移動先サーバに、当該VMを移動させる指示をハイパーバイザに出力した結果、ハイパーバイザによってVMのマイグレーションが実行される(ステップS306)。
一方、判定部29dは、許容できる負荷が移動対象VMの負荷よりも小さい場合には(ステップS304No)、当該移動先候補で当該VMが動作することができないと判定し、次に優先度が高いサーバがあるか否かを判定する(ステップS307)。
そして、判定部29dは、次に優先度が高いサーバがあると判定した場合(ステップS307Yes)、次に優先度の高いサーバを新たな移動先候補として、ステップS303以降の処理を実行する。一方、判定部29dは、次に優先度が高いサーバがないと判定した場合(ステップS307No)、VMを移動できるサーバが存在しないので、VMをマイグレーションさせることなく維持する(ステップS308)。
[実施例1による効果]
実施例1によれば、各サーバは、自装置を主に冷却する空気が吹き出す吹出口に設置される風量センサが測定した風量を取得する。各サーバは、他のサーバを冷却する空気が吹き出す吹出口に設置される風量センサが測定した風量を取得する。各サーバは、自装置を冷却する風量よりも大きい風量によって冷却される他のサーバを特定し、特定した他のサーバに自サーバで稼動対象のVMをマイグレーションさせる。
この結果、各サーバは、自サーバよりも大きい風量を吸気して冷却を実施しているサーバにVMをマイグレーションするので、大きな風量で冷却を実施しているサーバにVMを集約させることができる。この結果、データセンタに設置された各サーバの冷却効率を向上させることができる。
また、実施例1によれば、各サーバは、他のサーバの負荷情報を取得する。各サーバは、自サーバが吸気する風量よりも大きい風量で冷却される他のサーバから、他のサーバの負荷情報とVMの負荷情報とに基づいて、VMが稼動できるサーバであるか否かを判定する。各サーバは、VMが稼動できると判定された他のサーバに、VMをマイグレーションさせる。
この結果、移動先候補となったサーバのうち移動対象のVMが稼動できるかどうかの判断結果に基づいて、VMをマイグレーションさせることができる。つまり、移動先候補のサーバが吸気する風量だけでなく、移動対象のVMが稼動できる場合にのみVMをマイグレーションさせるため、VMのマイグレーションにより移動先サーバの冷却効率が低下し、冷却できなくなることを抑止することができる。
また、実施例1によれば、各サーバは、吹出口ごとに設置された無線センサと間の無線通信から、各無線センサと自サーバとの間の距離を算出し、算出した距離に基づいて、自サーバを主に冷却する空気が吹き出す吹出口を特定する。各サーバは、特定された吹出口に設置される風量センサが測定した風量を取得する。
この結果、新たなデータセンタを構築する際だけでなく、既に構築されているデータセンタに、開示する無線センサを各吹出口に設置するとともに、各制御を実行する機能部をサーバに設けることで、データセンタにおける各サーバの冷却効率を向上させることできる。したがって、既存のデータセンタを改築する等のコストを削減することができるとともに、各サーバの冷却効率を向上させることもできる。
また、実施例1によれば、空調機2を制御することなく、つまり、データセンタ1内における空調機2の冷却風1bの供給量を変更することなく、各サーバの冷却効率を向上させることができる。したがって、空調機2を制御して、冷却風1bの供給量を増やす手法を実施する従来技術に比べて、コストを削減することもできる。
ところで、開示するサーバは、移動先サーバのパーティションを跨ってVMをマイグレーションさせることもできる。そこで、実施例2では、移動先サーバのパーティションを跨ってVMをマイグレーションさせる例について説明する。
[全体構成]
図10は、実施例2に係るパーティションを跨ってVMをマイグレーションさせる例を説明する図である。図10に示すデータセンタ1は、図1と同様、空調機2と、排気口3と、吹出口4a〜4cと、サーバ20と、サーバ40と、サーバ60とを有する。ここでは、吹出口4c、吹出口4b、吹出口4aの順に風量が多いとする。なお、図10に示したサーバの台数など各装置の台数および各装置等の設置位置などは、あくまで例示であり、これに限定されるものではない。
このような状況において、サーバ20は、自装置の吸気する冷却風1bが吹き出す吹出口4aに設置される風量センサ7aが測定した当該吹出口4aから吹き出す風量を取得する。そして、サーバ20は、他の吹出口各々に設置される風量センサ各々が測定した他のサーバ各々が吸気する風量を取得する。その後、サーバ20は、サーバ60、サーバ40の順に優先順位が高くなるように優先度を決定するとともに、自サーバで動作するVMのうち移動対象とするVMを決定し、LAN等のネットワークを介して当該VMの負荷情報を取得する。
そして、サーバ20は、最も優先度が高いサーバ60におけるパーティション1の構成情報およびパーティション1における負荷情報を取得する。続いて、サーバ20は、パーティション1における負荷情報からパーティション1での許容できる負荷を算出し、VMが動作可能か否かを判定する。ここでは、パーティション1では動作できない、すなわちパーティション1へのVMのマイグレーションが不可能であると判定したとする。
この場合、サーバ20は、サーバ60におけるパーティション2の構成情報およびパーティション2における負荷情報をLAN等のネットワークを介して取得する。そして、サーバ20は、パーティション1の負荷情報とパーティション2の負荷情報とに基づいて、パーティション1とパーティション2の両方を用いて許容できる負荷を算出し、VMが動作可能か否かを判定する。ここでは、パーティション1とパーティション2の両方を用いれば、VMが動作できると判定したとする。
すると、サーバ20は、サーバ60のパーティション1とパーティション2の両方を移動先として決定する。そして、サーバ20は、サーバ60のパーティション1とパーティション2に、仮想コンテキストをコピーするとともに仮想マシンイメージを配置し、パーティション1とパーティション2を跨ってVMが動作できる環境を設定する。
このように、実施例2によれば、サーバ20は、サーバ60のパーティションごとに負荷を取得し、取得した各パーティションの負荷を組み合わせ、組み合わせたパーティション上でVMが動作可能であるか否かを判定し、動作可能であればVMのマイグレーションを行う。したがって、移動先サーバの資源を効率的に利用することができる。
[処理の流れ]
次に、実施例2に係る処理の流れを説明する。図11は、実施例2に係るサーバが実行する移動処理の流れを示すフローチャートである。なお、ここでは、サーバ20によって、サーバ60、サーバ40の順に優先順位が高くなるように優先度が決定されたとする。
図11に示すように、サーバ20の判定部29dは、移動対象となるVMの数(M個)を計数する(ステップS401)。続いて、判定部29dは、1つのVMを移動対象として選択して、当該VMのCPU使用率およびメモリ使用量を対応するハイパーバイザから取得する(ステップS402)。
そして、判定部29dは、移動済みVMを強制的に移動元のサーバに戻す旨の指示がなされていない場合(ステップS403No)、最も優先度の高いサーバとしてサーバ60を取得する(ステップS404)。続いて、判定部29dは、移動先候補であるサーバ60のサービスプロセッサからサーバ60のパーティション情報を取得する(ステップS405)。ここでは、パーティション構成がPN−0からPN−x、初期値がx=0であるとする。ここで、PN−xに示されるNは、データセンタ内に存在し、移動先候補となる物理サーバを示し、xは、物理サーバ内で構成されるパーティション数である。一例として、サーバ40でパーティションが4つ形成されている場合には、パーティション構成は、P40−0、P40−1、P40−2、P40−3となる。
その後、判定部29dは、現在対象となっているパーティション(PN−x)のCPU使用率をサーバ60のサービスプロセッサもしくはハイパーバイザから取得する(ステップS406)。そして、判定部29dは、現在までに取得したパーティション(PN−0からPN−x)ごとに、取得したCPU使用率を用いてCPUの未使用率(ΣP)を算出する(ステップS407)。さらに、判定部29dは、サーバ60のサービスプロセッサからメモリの空き容量も取得する(ステップS408)。
そして、判定部29dは、ステップS409を実行する。すなわち、判定部29dは、パーティションごとに算出したCPUの未使用率(ΣP)の合計(ΣΣP)が移動対象のVMのCPU使用率よりも大きく、かつ、サーバ60のメモリ使用量がVMの使用量を満たすか否かを判定する。
続いて、判定部29dは、未使用率の合計(ΣΣP)が移動対象のVMのCPU使用率よりも大きく、かつ、サーバ60のメモリ使用量がVMの使用量を満たす場合(ステップS409Yes)、ステップS410を実行する。すなわち、判定部29dは、移動先と決定したサーバ60に100%未使用のCPUおよびメモリがあるか否かを判定する。
そして、判定部29dは、サーバ60に100%未使用のCPUおよびメモリがある場合(ステップS410Yes)、当該CPUとメモリとを使用できるように、サーバ60のサービスプロセッサにパーティション再構築リクエストを送信する(ステップS411)。その後、判定部29dは、サーバ60で再構築されたパーティションを移動先と決定し、移動制御部29eは、判定部29dによって決定された移動先に、ここではサーバ60に再構築されたパーティションにVMをマイグレーションさせる。
このとき、移動制御部29eは、VMの個数から1を減じたM−1を算出し、算出したM−1を新たなVMの個数Mとして、M=0であるか否かを判定する(ステップS413)。そして、M=0である場合には(ステップS413Yes)、処理を終了する。一方、移動制御部29eは、M=0でない場合には(ステップS413No)、言い換えると、サーバ20にまだVMが動作している場合、次のVMを移動対象と決定した上で、ステップS402以降の処理を実行する(ステップS414)。
一方、ステップS410において、判定部29dは、サーバ60に100%未使用のCPUおよびメモリがない場合(ステップS410No)、現在移動先の対象としているパーティション(PN−0からPN−x)を移動先に決定してステップS412以降を実行する。
また、ステップS409において、判定部29dは、未使用率の合計(ΣΣP)が移動対象のVMのCPU使用率よりも小さく、または、サーバ60のメモリ使用量がVMの使用量を満たさない場合(ステップS409No)、ステップS415を実行する。すなわち、判定部29dは、サーバ60に他のパーティションがあるかないか、つまり、現在のxが最大値であるか否かを判定する。
ステップS415において、判定部29dが、サーバ60に他のパーティションがないと判定した場合(ステップS415Yes)、次に優先度の高いサーバがあるか否かを判定する(ステップS416)。判定部29dは、次に優先度の高いサーバがないと判定した場合(ステップS416No)、現在移動対象としたVMをマイグレーションさせることなく、自サーバに維持したまま動作を継続させる(ステップS417)。その後、判定部29dは、VMの個数MをデクリメントしてM−1とした上で、ステップS413以降の処理を実行する。
判定部29dは、次に優先度の高いサーバがあると判定した場合(ステップS416Yes)、当該サーバを移動先候補として、PN−0からPN−xのNを次のサーバに変更して、ステップS405以降の処理を実行する(ステップS418)。つまり、判定部29dは、サーバ60の各パーティションにおけるCPUの未使用率を合算しても、VMを動作することができないと判定し、次に優先度が高いサーバの各パーティションのCPUの未使用率を合算し、VMの移動が可能かどうかについての判定処理を実行する。
また、判定部29dは、サーバ60に他のパーティションがあると判定した場合(ステップS415No)、xをインクリメントすることによりx=x+1とした上で、ステップS406以降の処理を実行する(ステップS419)。つまり、判定部29dは、次のパーティションのCPU使用率等を取得し、パーティション(PN−0からPN−x)で移動対象のVMを動作できるか否かを判定する処理を実行する。
また、ステップS403において、判定部29dは、移動済みVMを移動元のサーバに強制的に戻すと判定した場合(ステップS403Yes)、ステップS417以降の処理を実行する。つまり、判定部29dは、現在対象となっているVMは移動対象外とし、次のVMについて上述した処理を実行する。
[実施例2による効果]
実施例2によれば、各サーバは、他のサーバで形成されるパーティションごとに、当該パーティション内の負荷情報を取得する。各サーバは、他のサーバにおける各パーティションの負荷情報から、各パーティションで許容できる負荷を算出し、算出した各パーティションで許容できる負荷に基づいて、VMを移動させて動作できるパーティションの組み合わせを特定する。各サーバは、特定された他のサーバにおいて特定されたパーティションの組合せに対して、VMをマイグレーションさせる。
この結果、VMの移動元であるサーバは、移動先のサーバの各パーティションで使用されていないCPUやメモリを合算して、移動対象のVMが動作可能な環境を作り出すことができる。したがって、移動先サーバのハードウェア資源を効率的に利用することができる。また、移動先サーバで使用されていないCPUやメモリ等を用いることから、VM移動後に移動先サーバの負荷が上昇することを防止することもできる。
ところで、実施例2では、1台の移動先サーバ内に設定された複数のパーティションを跨って動作するようにVMをマイグレーションさせる例について説明したが、これに限定されるものではない。例えば、開示するサーバは、複数のサーバに跨って設定されたパーティション上で動作するようにVMをマイグレーションさせることもできる。そこで、実施例3では、複数のサーバに跨って設定されたパーティション上で動作するようにVMをマイグレーションさせる例について説明する。
[全体構成]
図12は、実施例3に係る複数のサーバを跨って設定されたパーティションにVMをマイグレーションさせる例を説明する図である。図12に示すデータセンタ1は、図1と同様、空調機2と、排気口3と、吹出口4a〜4cと、サーバ20と、サーバ40と、サーバ60とを有する。
このような状況において、サーバ20は、自装置が主に吸気する冷却風1bが吹き出す吹出口4aに設置される風量センサ7aが測定した当該吹出口4aの風量を取得する。そして、サーバ20は、他の吹出口各々に設置される風量センサ各々が測定した他のサーバ各々が主に吸気する風量を取得する。その後、サーバ20は、サーバ60、サーバ40の順に優先順位が高くなるように優先度を決定するとともに、自サーバで動作するVMのうち移動対象とするVMを決定し、当該VMの負荷情報を取得する。
そして、サーバ20は、最も優先度が高いサーバ60の負荷情報からサーバ60単独で許容できる負荷を算出する。続いて、サーバ20は、サーバ60単独で許容できる負荷と移動対象のVMの負荷とを比較し、サーバ60単独で移動対象のVMが動作できるか否かを判定する。ここでは、サーバ60単独で移動対象のVMが動作できないと判定したとする。
続いて、サーバ20は、次に優先度の高いサーバ40単独の負荷情報からサーバ40単独で許容できる負荷を算出する。続いて、サーバ20は、サーバ40単独で許容できる負荷と移動対象のVMの負荷とを比較し、サーバ40単独で移動対象のVMが動作できるか否かを判定する。ここでは、サーバ40単独で移動対象のVMが動作できないと判定したとする。
すると、サーバ20は、サーバ60が許容する負荷とサーバ40が許容する負荷とを合算した値がVMの負荷よりも大きいか否かを判定する。つまり、サーバ20は、サーバ60およびサーバ40を跨って設定されたパーティションに、VMをマイグレーションさせることができるか否かを判定する。
そして、サーバ20は、サーバ60が許容する負荷とサーバ40が許容する負荷とを合算した値が移動対象のVMの負荷よりも大きい場合、VMをマイグレーションさせることができると判定し、サーバ60とサーバ40に跨って設定されたパーティションを移動先として決定する。その後、サーバ20は、サーバ60とサーバ40各々に対して、仮想コンテキストや仮想マシンイメージをコピーし、VMを両サーバに跨って設定されたパーティションにマイグレーションさせる。
ここでは、サーバ20は、優先度が高いサーバから順に、VMが動作できるか否かを判定し、全てのサーバでVMが動作できないと判定された場合に、サーバを跨って設定されたパーティションにマイグレーションさせることができるか否かを判定する例を説明したが、これに限定されるものではない。例えば、サーバ20は、管理者等により予め指定された場合など、自サーバが吸気する風量よりも大きい風量を吸気するサーバから、VMが動作できるサーバの組み合わせを特定し、特定したサーバ間に跨って設定されたパーティションにVMをマイグレーションさせることもできる。なお、パーティションが跨って設定されるサーバ数は、少なくとも2台以上であればよい。
[処理の流れ]
次に、実施例3に係る処理の流れを説明する。図13は、実施例3に係るサーバが実行する移動処理の流れを示すフローチャートである。なお、ここでは、サーバ20によって、サーバ60、サーバ40の順に優先順位が高くなるように優先度が決定されたとする。
図13に示すように、サーバ20の判定部29dは、最も高い優先度が付与されたサーバを移動先候補として取得する(ステップS501)。続いて、判定部29dは、移動対象とするVMを特定するとともに当該VMのCPU使用率を該当するハイパーバイザから取得する(ステップS502)。
次に、判定部29dは、移動先候補とされたサーバ上で動作するパーティションのCPU使用率から許容できるCPU使用率を算出し(ステップS503)、当該サーバのパーティションが許容できるCPU使用率が移動対象のVMのCPU使用率よりも大きいか否かを判定する(ステップS504)。
そして、判定部29dは、移動先候補としたサーバのパーティションが許容できるCPU使用率が移動対象のVMのCPU使用率よりも大きいと判定した場合(ステップS504Yes)、当該サーバのパーティションを移動先に決定する(ステップS505)。その後、移動制御部29eは、決定された移動先のサーバのパーティションに、移動対象のVMをマイグレーションさせる(ステップS506)。
一方、判定部29dは、移動先候補としたサーバのパーティションが許容できるCPU使用率が移動対象のVMのCPU使用率よりも小さいと判定した場合(ステップS504No)、移動先候補であるサーバのパーティションが許容できるCPU使用率を判定部29dのメモリ等に一時的に格納する(ステップS507)。続いて、判定部29dは、次に優先度が高いサーバが存在するか否かを判定し(ステップS508)、存在しない場合には(ステップS508No)、処理を終了する。
一方、判定部29dは、次に優先度が高いサーバが存在すると判定した場合(ステップS508Yes)、当該サーバに設定されたパーティションを新たな移動先候補とした上で、当該サーバのCPU使用率から、新たな移動先候補であるサーバのパーティションが許容できるCPU使用率を算出する(ステップS509)。
続いて、判定部29dは、先の移動先候補のサーバのパーティションが許容できるCPU使用率と新たな移動先候補のサーバに設定されたそれぞれのパーティションが許容できるCPU使用率を合算した値が、移動対象であるVMのCPU使用率よりも大きいか否かを判定する(ステップS510)。
そして、判定部29dは、先の移動先候補と新たな移動先候補のサーバに設定されたそれぞれのパーティションが許容できるCPU使用率を合算した値が、移動対象であるVMのCPU使用率よりも大きいと判定した場合(ステップS510Yes)、先の移動先候補と新たな移動先候補のサーバを跨るようにパーティションを再設定する(ステップS511)。その後、判定部29dは、当該両サーバに跨って設定されたパーティションを移動先として決定してステップS512を実行する。すなわち、判定部29dは、両サーバに跨って設定されたパーティションに対して共用ストレージおよび仮想LANの設定リクエストを送信する。
その後、移動制御部29eは、仮想コンテキストや仮想マシンイメージを当該両サーバに跨って設定されたパーティションにコピーし、当該パーティションで設定された共用ストレージおよび仮想LANを使用して動作するように、移動対象のVMをマイグレーションさせる(ステップS513)。
一方、判定部29dは、両サーバに跨って設定されたパーティションが許容できるCPU使用率を合算した値が移動対象であるVMのCPU使用率よりも小さいと判定した場合(ステップS510No)、ステップS507に戻って、次に優先度の高いサーバのパーティションを新たな移動先候補として処理を実行する。なお、移動元のサーバで動作している各VMについて、図13の処理が実行される。
[実施例3による効果]
実施例3によれば、各サーバは、自サーバ以外の他のサーバのパーティションの負荷情報から、他のサーバの各々のパーティションで許容できる負荷を算出し、算出したサーバのパーティションで許容できる負荷に基づいて、VMが動作できるサーバのパーティションの組み合わせを特定する。各サーバは、特定された組合せに係る複数のサーバのパーティションについて、当該複数のサーバを跨るパーティションを再設定し、再設定された複数のサーバを跨るパーティションにVMが動作するようにVMをマイグレーションさせる。この結果、サーバ単体のパーティションではVMが動作できない場合でも、複数のサーバに跨って設定されたパーティションを用いてVMをマイグレーションさせることができるので、各サーバの資源を有効的に利用しつつ、冷却効率も向上させることができる。
ところで、開示するサーバは、一旦マイグレーションさせたVMを、移動先サーバから移動元の自サーバに再度マイグレーションすることにより、自サーバに戻すこともできる。そこで、実施例4では、自サーバからマイグレーションさせたVMを再度マイグレーションさせて、自サーバで再動作させる例について説明する。
図14は、実施例4に係るVM再移動制御処理の流れを示すフローチャートである。図14に示すように、サーバ20の移動制御部29eは、他サーバとのLAN等のネットワークを介した定期的な通信等によって、高負荷サーバを検出すると(ステップS601Yes)、高負荷サーバで実行されるVM情報を収集する(ステップS602)。例えば、移動制御部29eは、定期的に収集した他サーバのCPU使用率が所定値以上になったサーバを高負荷サーバとして検出する。
そして、移動制御部29eは、受信したVM情報から、高負荷サーバで動作するVMにが自サーバからマイグレーションしたVMが存在するか、すなわち、自サーバを移動元とするVMであるか否かを判定する(ステップS603)。
例えば、移動制御部29eは、他サーバとの間でLAN等のネットワークを介して定期的に負荷情報を受信したり、監視ソフト等を用いて定期的に負荷を監視する。そして、移動制御部29eは、高負荷であるサーバに対して、VM情報の提供についてのリクエストを送信する。その後、移動制御部29eは、当該リクエストに対応して高負荷サーバから受信したVM情報に含まれる識別子等の情報によって移動元サーバを特定する。
その後、移動制御部29eは、高負荷サーバで動作するVMに、自サーバを移動元とするVMが存在すると判定した場合(ステップS603Yes)、ステップS604を実行する。すなわち、移動制御部29eは、自サーバの負荷情報を取得して、当該VMを受け入れ可能か否か、言い換えると自サーバで動作可能か否かを判定する。
そして、移動制御部29eは、自サーバを移動元とするVMを受け入れ可能であると判定した場合(ステップS604Yes)、高負荷サーバに対して当該VMのマイグレーション指示を送信し(ステップS605)、その後、マイグレーションされたVMを自サーバで動作させる(ステップS606)。そして、移動制御部29eは、マイグレーションしたVM以外のVMについて、自サーバを移動元とするVMが高負荷サーバに存在しないと判定した場合(ステップS607Yes)、処理を終了する。一方、マイグレーションしたVM以外のVMについて、自サーバを移動元とするVMが高負荷サーバに存在すると判定した場合(ステップS607No)、ステップS603以降の処理を実行する。
また、ステップS604において、移動制御部29eは、自サーバを移動元とするVMを受け入れ可能でないと判定した場合(ステップS604No)、他のサーバに対して、当該VMのマイグレーションを実施する指示を送信する(ステップS608)。また、ステップS603において、移動制御部29eは、高負荷サーバで動作するVMに、自サーバを移動元とするVMが存在しないと判定した場合(ステップS603No)、処理を終了する。
[実施例4による効果]
実施例4によれば、各サーバは、VMをマイグレーションした他のサーバの処理負荷が所定値以上になった場合には、VMを自サーバに再度マイグレーションさせる要求を他のサーバに送信する。この結果、VMをマイグレーションさせたことによって、移動先サーバが高負荷となり、冷却効率も低下した場合であっても、移動元サーバにVMを再度マイグレーションさせることができる。したがって、VMのマイグレーション後でも、冷却効率を向上させるように、データセンタ内各サーバにVMを分散させることができる。
ところで、実施例1〜3では、各サーバに対応して設置された吹出口からの風量によって、VMの移動先候補としての優先順位を決定する例について説明したが、これに限定されるものではない。例えば、吹出口から吹き出す冷却風の風向、サーバが主に吸気する冷却風の風量等に基づいて、各サーバをグループ分けした上で優先順位を決定することもできる。
そこで、実施例5では、各サーバをグループ分けした上で優先順位を決定する例について説明する。なお、実施例5では、全体構成、処理の流れ、実施例5による効果を順に説明する。
[全体構成]
図15は、実施例5に係るサーバのグループ分けを説明する図である。図15に示すように、データセンタ1は、空調機2と、排気口3と、吹出口4a〜4dと、サーバ20と、サーバ40と、サーバ60と、サーバ80とを有する。
空調機2は、実施例1と同様の機能を有する。吹出口4a〜4dは、実施例1とは配置が異なるものが有っても良く、実施例1で説明した各吹出口と同様の機能を有する。また、吹出口4a〜4dに設置される風量センサ7a〜7dと、無線センサ10a〜10dについても、実施例1とは配置が異なるものが有っても良く、実施例1と同様の機能を有する。
サーバ20は、対応して設置された吹出口4aから冷却風を主に吸気して、内蔵される電子機器を冷却し、温まった空気を排気する情報処理装置である。同様に、サーバ40は、対応して設置された吹出口4bから冷却風を主に吸気して、内蔵される電子機器を冷却し、温まった空気を排気する情報処理装置である。サーバ60は、自装置の下に対応して設置された吹出口4cから冷却風を主に吸気して、内蔵される電子機器を冷却し、温まった空気を排気する情報処理装置である。サーバ80は、対応して設置された吹出口4dから冷却風を主に吸気して、内蔵される電子機器を冷却し、温まった空気を排気する情報処理装置である。
このような状況において、サーバ20は、吹出口から吹き出す冷却風の風向、吹出口の位置、冷却風を吸気するサーバの吸気口および温風を排気する排気口の位置と無線センサとの位置関係などに基づいて、データセンタ1内にある各サーバを所定のグループに分類する。具体的には、吹出口からの冷却風を主に吸気するサーバか、または、他サーバからの排気も吸気するサーバかに基づき、各サーバをグループ分けする。そして、吹き出し口からの冷却風を主に吸気するサーバをグループ1、他サーバからの排気も吸気するサーバをグループ2に分類し、グループ1をグループ2よりも優先するように、優先度を付加する。その後は、実施例1と同様、サーバ20は、付加した優先度に基づいて、VMを移動できるサーバを特定し、特定したサーバに移動対象のVMをマイグレーションさせる。
[サーバの構成]
次に、図15に示したサーバ20、サーバ40、サーバ60、サーバ80の構成について説明する。図16は、実施例5に係るサーバの構成を示すブロック図である。なお、サーバ20、サーバ40、サーバ60、サーバ80は、同様の構成を有するので、ここではサーバ20について説明する。
図16に示すように、サーバ20は、無線I/F部21と、クロスバスイッチ22と、CPUボード23〜25と、IOボード26〜28と、サービスプロセッサ29とを有する。また、CPUボード23とIOボード26とでパーティション1を形成し、CPUボード24、25とIOボード27、28とでパーティション2を形成する。なお、ここで図示したCPUボード、IOボードの数、パーティションの構成、パーティション数などは、あくまで例示であり、これに限定されるものではない。
ここで、無線I/F部21、クロスバスイッチ22、CPUボード23〜25、及び、IOボード26〜28は、実施例1と同様の機能を有するので、詳細な説明は省略する。また、サービスプロセッサ29が有する風量取得部29bと情報取得部29cと移動制御部29eと情報提供部29fとについても、実施例1と同様の機能を有するので、詳細な説明は省略する。
ここでは、実施例1とは異なる機能を有する、センサ特定部30、位置判定部31、検出部32、装置特定部33、分類部34、及び、判定部35について説明する。
センサ特定部30は、吹出口ごとに設置された無線センサとの間の無線通信を用いて、各無線センサの座標を特定し、特定した各無線センサの座標と自サーバ20の座標とに基づいて、自サーバ20を主に冷却する冷却風が吹き出す吹出口を特定する。
例えば、データセンタ設計時に、各サーバの位置座標が予め決定されている場合、センサ特定部30は、各無線センサから受信するRFメッセージから無線センサの位置座標を取得する。そして、センサ特定部30は、自サーバ20の位置座標と取得した無線センサの位置座標とを比較することで、自サーバ20に対応して設置された最も近い無線センサ10aを特定する。
同様に、センサ特定部30は、サーバ40〜サーバ80各々から、各サーバの位置座標および各サーバに最も近い無線センサの位置座標を取得する。そして、センサ特定部30は、各無線センサと対応するサーバとの位置関係を特定することで、各サーバが主に吸気する冷却風が吹き出す吹出口とサーバとの位置関係を特定する。
別の手法としては、位置座標[0.0]に基準となる無線センサを設置し、各無線センサは、当該基準とした無線センサと通信を実行することにより、基準とした無線センサと自身との距離を算出する。さらに、各無線センサは、他の無線センサと通信を実行することで、基準とした無線センサからの座標を算出する。つまり、各無線センサは、基準とした無線センサおよび他の無線センサとの間で通信を実行し、それぞれからの距離を算出することで、自センサの位置座標を予測することができる。したがって、センサ特定部30は、このようして予測された位置座標を各無線センサから取得し、自サーバの位置座標と比較することで、自サーバに最も近い吹出口を特定できる。
位置判定部31は、センサ特定部30が特定した各無線センサの座標に基づいて、各吹出口の位置がサーバの下か否かを判定する。例えば、位置判定部31は、センサ特定部30が取得した無線センサ10aの座標と自サーバ20の位置座標とから、無線センサと自サーバとの位置関係を把握し、無線センサ10aが設置される吹出口4aが自サーバ20の下にあるのかそれともサーバ20の下以外の前後等の位置にあるのかを特定する。同様に、位置判定部31は、各サーバから取得した各サーバの位置座標およびセンサ特定部30が取得した無線センサの位置座標から、各吹出口が各サーバのどこに位置するのかを特定する。そして、位置判定部31は、検出部32と装置特定部33と分類部34とのそれぞれに、特定した各サーバの位置と各無線センサとの位置関係を出力する。なお、ここで「サーバの下に位置する」とは、例えば2次元座標を用いた場合、特定したサーバの位置を中心として、無線センサのX座標とY座標の値が、所定の範囲内にあるか否か、横軸(X座標)が一致かつ縦軸(Y座標)が所定範囲内にあるか否かなどの手法を用いて検出することができる。また、2次元座標に関わらず、3次元座標等を用いてもよい。
図15の場合、検出部32は、サーバの下に位置すると判定された吹出口4cについては、サーバ60の下から冷却風が床下から床上の方向へ吹き出すと検出する。また、検出部32は、位置判定部31がサーバの下に位置すると判定した吹出口以外の吹出口について、設置された無線センサの座標と対応するサーバの座標とに基づいて、当該吹出口から吹き出す冷却風の方向を検出する。
そして、検出部32は、サーバの下に位置しないと判定した吹出口については、位置判定部31が特定した無線センサの位置座標とサーバの位置座標とに基づいて、無線センサがサーバの吸気口側または排気口側に位置するのかを特定する。そして、検出部32は、吹出口からサーバの吸気口に向かうベクトル座標を冷却風のベクトル座標として算出する。
図15の場合、検出部32は、吹出口4aから吹き出す冷却風の風向を、空調機2からサーバ20へ向かうベクトル座標として検出する。同様に、検出部32は、吹出口4bから吹き出す冷却風の風向を、空調機2からサーバ40へ向かうベクトル座標として検出する。検出部32は、吹出口4cから吹き出す冷却風の風向を、床下からサーバ60へ向かうベクトル座標として検出する。検出部32は、吹出口4dから吹き出す冷却風の方向を、空調機2からサーバ80へ向かうベクトルとして検出する。そして、検出部32は、検出した結果を装置特定部33に出力する。
装置特定部33は、検出部32によって検出された各吹出口から吹き出す冷却風の方向と、各サーバの座標とに基づいて、他のサーバの一定の排気を吸気するサーバを特定する。例えば、装置特定部33は、センサ特定部30が特定した各サーバの位置座標を比較して、サーバの前後に他サーバが存在するかなど各サーバ間の位置関係を把握する。そして、装置特定部33は、把握した各サーバ間の位置関係と、検出部32によって各吹出口ごとに検出された冷却風のベクトル、さらには、各サーバの吸気口および排気口から、他サーバからの一定の排気を吸気するサーバを特定する。装置特定部33は、特定結果を分類部34に出力する。
図15の例の場合、装置特定部33は、サーバ40について、吹出口4bから吹き出す冷却風とサーバ20から排気される一定の排気とを吸気しているサーバと特定する。同様に、装置特定部33は、サーバ20について、当該サーバから空調機2までの間に他サーバが存在しないので、吹出口4aから吹き出す冷却風を主に吸気しているサーバと特定する。同様に、装置特定部33は、サーバ80について、サーバ60からの排気は、上向きにしか排気されないので、サーバ60からの排気はほとんど吸気しない。そのため、吹出し口4dから吹き出す冷却風を主に吸気するサーバと特定する。また、装置特定部33は、サーバ60について、吹出口4cがサーバ60の下に設置されていることから、吹出口4cから吹き出す冷却風を主に吸気しているサーバと特定する。
例えば、分類部34は、位置判定部31によって吹出口の位置が情報処理装置の下であると判定されたサーバおよび装置特定部33が特定したサーバ以外のサーバを第1グループ、装置特定部33が特定したサーバを第2グループに分類する。図15の場合、分類部34は、自サーバに対応して設置された吹出口から吹き出す冷却風を吸気していると特定されたサーバ20およびサーバ60をグループ1に分類する。また、分類部34は、自サーバに対応して設置された吹出口から吹き出す冷却風と他サーバからの排気とを吸気していると特定されたサーバ40およびサーバ80をグループ2に分類する。そして、分類部34は、上記の分類結果を判定部35に出力する。
判定部35は、風量取得部29bが取得した風量よりも大きい風量を吸気する他サーバのうち、第1グループに属するサーバ、第2グループに属するサーバの順に、VMが稼動できるサーバか否かを判定する。例えば、判定部35は、吹出口4aから吹き出す冷却風の風量よりも大きい風量が吹き出す吹出口に設置された他サーバを特定する。
そして、判定部35は、特定した他サーバのうち、グループ1に属するサーバについて風量でソートし、風量が大きいサーバから優先度が高くなるように優先度を付加する。同様に、判定部35は、特定した他サーバのうち、グループ2に属するサーバについて風量でソートし、風量が大きいサーバから優先度が高くなるように優先度を付加する。その後、判定部35は、グループ1における優先度が最も低いサーバの次に、グループ2における優先度が最も高いサーバの優先度が高くなるように、他サーバ全体の優先度を付加する。そして、判定部35は、優先度を付加したサーバ情報を移動制御部29eに出力する。
[処理の流れ]
次に、図17と図18を用いて、実施例5に係る処理の流れを説明する。図17は、実施例5に係るグループ分け処理の流れを示すフローチャートであり、図18は、実施例5に係る移動処理の流れを示すフローチャートである。
(グループ分け処理の流れ)
図17に示すように、センサ特定部30は、吹出口ごとに設置された無線センサとの間の無線通信から、各無線センサの位置座標および対応する各サーバの位置座標を特定し、特定した無線センサの位置座標を各吹出口の位置座標とする(ステップS701)。ここで、センサ特定部30は、全サーバの数をN(自然数)とする。
続いて、検出部32は、無線センサの位置座標と対応するサーバの位置座標とに基づいて、吹出口からサーバの吸気口に向かうベクトル座標を冷却風のベクトル座標として算出する(ステップS702)。その後、位置判定部31は、いずれかのサーバを選択し(ステップS703)、センサ特定部30が特定した各無線センサの座標に基づいて、各吹出口の位置がサーバの下か否かを判定する(ステップS704)。
そして、分類部34は、位置判定部31によって吹出口の位置が情報処理装置の下であると判定された場合(ステップS704Yes)、当該サーバをグループ1に分類し、他にグループ1の分類対象となるサーバがあるか判定する(ステップS705)。すなわち、分類部34は、ステップS704Yes実施後、NをN−1とし、Nが0であるか否かを判定する。
一方、分類部34は、位置判定部31によって吹出口の位置が情報処理装置の下でないと判定された場合(ステップS704No)、他サーバからの一定の排気も吸気するサーバであるか否かを判定する(ステップS711)。そして、分類部34は、他サーバからの一定の排気も吸気するサーバであると判定した場合(ステップS711Yes)、当該サーバをグループ2に分類し(ステップS712)、他に対象となるサーバがあるか判定する(ステップS706)。また、分類部34は、他サーバからの一定の排気も吸気するサーバでないと判定した場合(ステップS711No)、当該サーバをグループ1に分類し、他にグループ1の分類対象となるサーバがあるか判定する(ステップS705)。
そして、判定部35は、分類部34が全サーバを分類した場合(ステップS706Yes)、グループ1内において風量のソートを行って優先度を付加し(ステップS707)、続いて、グループ2内において風量のソートを行って優先度を付加する(ステップS708)。その後、判定部35は、グループ1の最後にグループ2が来るように並び替えて、サーバ全体に優先度を付加した後(ステップS709)、移動処理に遷移させる(ステップS710)。一方、分類部34によって未分類のサーバが存在すると判定された場合(ステップS706No)、次のサーバに対して、ステップS703以降の処理が実行される。
(移動処理の流れ)
図18に示すように、判定部35は、グループ1のうち最も高い優先度が付加されたサーバを移動先候補として選択する(ステップS801)。続いて、判定部35は、自サーバで動作するVMから移動対象とするVMを1つ特定し、当該VMの負荷情報をハイパーバイザから取得する(ステップS802)。
そして、判定部35は、情報取得部29cが取得した移動先候補の負荷情報から許容できる負荷を算出する(ステップS803)。その後、判定部35は、許容できる負荷が移動対象VMの負荷よりも大きい場合には(ステップS804Yes)、当該移動先候補を移動先サーバに決定する(ステップS805)。そして、移動制御部29eは、判定部35によって決定された移動先サーバに、当該VMを移動させる指示をハイパーバイザに出力した結果、ハイパーバイザによってVMのマイグレーションが実行される(ステップS806)。
一方、判定部35は、許容できる負荷が移動対象VMの負荷よりも小さい場合には(ステップS804No)、当該移動先候補のサーバで当該VMが動作することができないと判定し、グループ1に次に優先度が高いサーバがあるか否かを判定する(ステップS807)。
そして、判定部35は、グループ1に次に優先度が高いサーバがあると判定した場合(ステップS807Yes)、次に優先度の高いサーバを新たな移動先候補として、ステップS802以降の処理を実行する。一方、判定部35は、グループ1に次に優先度が高いサーバがないと判定した場合(ステップS807No)、グループ2を処理対象に設定し、グループ2のうち最も高い優先度が付加されたサーバを移動先候補として選択する(ステップS808)。その後、グループ2を処理対象として、ステップS802以降の処理が実行される。なお、図18の処理は、移動元サーバで動作するVMの数だけ実行される。
[具体例]
次に、図19と図20を用いて、実施例5で説明したグループ分けおよび優先度付加について具体例を挙げて説明する。図19は、実施例5に係るグループ分けの具体例を示す図であり、図20は、検索範囲の例を示す図である。なお、図19の白丸は吹出口を示し、四角はサーバを示し、二重丸は上向きの冷却風の方向を示し、矢印は横向きの冷却風の方向を示す。図20の黒丸は検索対象座標を示す。
図19に示すように、この例では、サーバS1〜サーバS12が設置されている。サーバS1は、近傍に設置された吹出口から例えば3m/minの風量を吸気しており、サーバS2は、サーバの下に設置された吹出口から例えば6m/minの風量を吸気している。サーバS3は、近傍に設置された吹出口から例えば12m/minの風量を吸気しており、サーバS4は、近傍に設置された吹出口から例えば18m/minの風量を吸気している。
また、サーバS5は、近傍に設置された吹出口から例えば3m/minの風量を吸気しており、サーバS6は、近傍に設置された吹出口から例えば6m/minの風量を吸気している。サーバS7は、近傍に設置された吹出口から例えば12m/minの風量を吸気しており、サーバS8は、サーバの下に設置された吹出口から例えば18m/minの風量を吸気している。
また、サーバS9は、近傍に設置された吹出口から例えば3m/minの風量を吸気しており、サーバS10は、近傍に設置された吹出口から例えば12m/minの風量を吸気している。サーバS11は、近傍に設置された吹出口から例えば18m/minの風量を吸気しており、サーバS12は、近傍に設置された設置された吹出口から例えば6m/minの風量を吸気している。
このような状態において、各サーバは、無線センサとの通信から取得した位置座標に基づいて、自サーバの所定周囲に他サーバが存在するか否かを検索する。例えば、サーバは、図20に示した検索位置座標の範囲内で、自サーバに対応する吹出口からの冷却風の方向と冷却風の方向が同じ吹出口に対応する他サーバが存在するか否かを検索する。図20に示した黒点は検索対象座標であり、サーバは、黒点で示した検索対象位置を検索対象として、他サーバが存在するか否かを検索する。なお、サーバは、黒点で示した検索対象位置から所定範囲を検索対象として、他サーバが存在するか否かを検索するようにしてもよい。
そして、各サーバは、上述した風量の取得、位置座標の特定、サーバおよび吹出口の位置座標の特定等を実施することで、吹出口がサーバの下にあるサーバS2およびS8をグループ1に分類する。同様に、各サーバは、他サーバの排気の影響を受けないサーバS1、S3、S4、S9、S10、S11、S12をグループ1に分類する。また、各サーバは、他サーバの排気の影響を受けるサーバS7、S6、S5をグループ2に分類する。
さらに、各サーバは、グループ1について、吸気する風量に基づいてサーバS4、S8、S11、S3、S10、S2、S12、S1、S9の順に優先順位が高くなるように優先度を付加する。また、各サーバは、グループ2について、吸気する風量に基づいてサーバS7、S6、S5の順に優先順位が高くなるように優先度を付加する。続いて、各サーバは、グループ1をグループ2より優先させることから、全体的な優先度をサーバS4、S8、S11、S3、S10、S2、S12、S1、S9、S7、S6、S5と決定する。その後、この優先度に基づいて、移動対象のVMのマイグレーション処理が実施される。
[実施例5による効果]
実施例5によれば、各サーバは、各無線センサの座標に基づいて、各吹出口の位置が情報処理装置の下か否かを判定する。各サーバは、サーバの下に位置すると判定された吹出口以外の吹出口について、当該吹出口に設置された無線センサの座標と対応するサーバの座標とに基づいて当該吹出口から吹き出す冷却風の方向を検出する。各サーバは、検出された各吹出口から吹き出す冷却風の方向と、対応する各サーバの座標とに基づいて、他のサーバからの排気を吸気するサーバを特定する。各サーバは、吹出口の位置がサーバの下であると判定されたサーバおよび他のサーバからの排気を吸気すると特定されたサーバ以外のサーバを第1グループに分類する。各サーバは、他のサーバからの排気を吸気すると特定されたサーバを第2グループに分類する。各サーバは、自サーバの風量よりも大きい風量を吸気するサーバのうち、1グループに属するサーバ、第2グループに属するサーバの順に、VMが稼動できるサーバか否かを判定する。
この結果、主に対応する吹出口からの冷却風で冷却されるサーバ群であるグループ1と、他サーバからの排気も吸い込んで冷却するサーバ群であるグループ2とに分類し、冷却効率のよりよいグループ1に優先的にVMを移動させることができる。
さて、これまで実施例について説明したが、上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(位置座標の測定)
上述した実施例で説明した無線センサの位置座標の測定手法以外にも、様々な手法で無線センサの位置座標を測定および算出することができる。例えば、GPSを用いることもでき、無線ノード「MOTE」(登録商標)などの公知の無線モジュールを用いて測定することもできる。
(有線通信)
上述した実施例では、風量センサに接続される無線センサから風量を取得する例や他のサーバから風量センサが測定した風量を取得する例について説明したが、これに限定されるものではない。例えば、風量センサと各サーバとをLANなどの有線で接続することもでき、この場合、各サーバは、無線センサを介することなく、風量センサから直接風量を取得できる。
(実施例の組み合わせ)
上述した実施例各々で説明した各手法は、任意に組み合わせることができる。つまり、サーバのグループ分けを考慮して、サーバやパーティションを跨るようにVMを移動させてもよく、負荷情報を考慮せずに、自サーバより大きい風量を吸気するサーバにVMを移動させることもできる。
(負荷情報)
上述した実施例では、移動先サーバのCPU使用率に基づいてVMが動作可能であると判定した場合に、VMをマイグレーションさせる例について説明したが、これに限定されるものではない。例えば、負荷情報を考慮せずに、自サーバより大きい風量を吸気するサーバにVMを移動させることもできる。また、負荷情報として、CPU使用率だけでなく、メモリ使用量、ディスク使用量、ネットワーク通信量など任意の負荷情報を用いることができ、さらには、これらを組み合わせて移動対象のVMが稼動可能かどうかの判定に用いることもできる。
また、各サーバのCPUの性能が異なる場合などは、性能の違いを考慮して、移動先候補サーバの許容できるCPU使用率が移動対象のVMの使用率より大きいか否かを判定することもできる。例えば、移動先候補のサーバのCPUのクロック周波数が、移動元サーバのCPUの2倍だったとする。この場合、移動元サーバは、「移動先候補サーバの許容できるCPU使用率>VMの使用率/2」などと判定することもできる。なお、クロック周波数に限らず、CPUに含まれるプロセッサコア数などを考慮してもよい。
(システム構成)
また、実施例において上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、上述した実施例では、ハイパーバイザを用いてVMを動作させる例について説明したが、これに限定されるものではなく、ホストOS上で仮想化ソフトを実行し、仮想化ソフトでVMを動作させる場合など、様々な手法を用いることができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、例えば風量取得部29bと情報取得部29cとを統合するなど各装置の分散・統合の具体的形態は図示のものに限られない。その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(プログラム)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをサーバやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
図21は、移動制御プログラムを実行するコンピュータシステムの例を示す図である。図21に示すように、コンピュータシステム100は、クロスバスイッチ101、CPUボード102、IOボード103、ROM104、サービスプロセッサ105を有する。ここで、ROM104には、上の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図21に示すように、ROM104には、センサ特定プログラム104a、風量取得プログラム104b、情報取得プログラム104cが記憶される。さらに、ROM104には、判定プログラム104d、移動制御プログラム104eがあらかじめ記憶されている。
そして、図21に示すように、サービスプロセッサには、これらのプログラム104a〜104eを読み出し、各プロセスとして実行する。つまり、プログラム104a〜104e各々は、センサ特定プロセス105a、風量取得プロセス105b、情報取得プロセス105c、判定プロセス105d、移動制御プロセス105eとして実行される。
なお、センサ特定プロセス105aの実行には、図4に示したセンサ特定部29aが特定するセンサ情報が用いられ、同様に、風量取得プロセス105bの実行には、風量取得部29bが取得する風量情報が用いられる。また、情報取得プロセス105cの実行には、図4に示した情報取得部29cが取得する情報が用いられ、判定プロセス105dの実行には、判定部29dが用いられる。また、移動制御プロセス105eの実行には、移動制御部29eが用いられる。
ところで、上記したプログラム104a〜104eは、必ずしもROM104に記憶させておく必要はない。例えば、プログラム104a〜104eは、コンピュータシステム100に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータシステム100の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、LAN、WANなどを介してコンピュータシステム100に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータシステム100がこれらからプログラムを読み出して実行するようにしてもよい。
すなわち、この他の実施例でいうプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものである。そして、コンピュータシステム100は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム100によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
1 データセンタ
1a 排気風
1b 冷却風
2 空調機
3 排気口
4a〜4d 吸気口
7a〜7d 風量センサ
10a〜10d 無線センサ
11a 制御I/F部
12a 無線I/F部
13a RAM
14a ROM
15a メモリ管理ユニット
16a 制御部
20、40、60、80 サーバ
21 無線I/F部
22 クロスバスイッチ
23〜25 CPUボード
23a メモリ
23b 不揮発性RAM
23c ハイパーバイザ
23d メモリ制御部
23e CPU
26〜28 IOボード
26a ディスク
26b SASコントローラ
26c ネットワークコントローラ
26d IO制御部
29 サービスプロセッサ
29a、30 センサ特定部
29b 風量取得部
29c 情報取得部
29d、35 判定部
29e 移動制御部
29f 情報提供部
31 位置判定部
32 検出部
33 装置特定部
34 分類部

Claims (15)

  1. 空調機と、前記空調機から吹出口を介して吹き出される空気によって冷却される複数の情報処理装置を備えた情報処理システムを有するデータセンタであって、
    前記複数の情報処理装置の各々は、
    プログラムを実行する演算処理部と、
    前記データセンタの床下の冷却風が前記データセンタの床上に吹出す複数の吹出口を介して前記床下から前記床上に吹き上げる冷却風の風量を測定する風量測定器のうち、自装置の位置に対応する風量測定器が測定した第1の風量情報を取得する第1の風量情報取得部と、
    他の情報処理装置各々の位置に対応する各風量測定器が測定した、各吹出口から吹き上げる冷却風の風量である第2の風量情報を取得する第2の風量情報取得部と、
    前記第1の風量情報と前記第2の風量情報とに基づいて、自装置を冷却する風量よりも大きい風量により冷却される他の情報処理装置を特定する判定部と、
    前記演算処理部が実行するプログラムを、前記判定部が特定した他の情報処理装置に移動させる移動制御部と、
    を有することを特徴とするデータセンタ。
  2. 吹出口から吹き出される空気によって冷却される複数の情報処理装置を有する情報処理システムであって、
    前記複数の情報処理装置の各々は、
    プログラムを実行する演算処理部と、
    前記複数の情報処理装置が設置される床の床下の冷却風が床上に吹出す複数の吹出口を介して前記床下から前記床上に吹き上げる冷却風の風量を測定する風量測定器のうち、自装置の位置に対応する風量測定器が測定した第1の風量情報を取得する第1の風量情報取得部と、
    他の情報処理装置各々の位置に対応する風量測定器が測定した、各吹出口から吹き上げる冷却風の風量である第2の風量情報を取得する第2の風量情報取得部と、
    前記第1の風量情報と前記第2の風量情報とに基づいて、自装置を冷却する風量よりも大きい風量により冷却される他の情報処理装置を特定する判定部と、
    自装置の演算処理部が実行するプログラムを、前記判定部が特定した他の情報処理装置に移動させる移動制御部と
    を有することを特徴とする情報処理システム。
  3. 前記情報処理システムにおいて、
    前記複数の情報処理装置の各々はさらに、
    前記他の情報処理装置の負荷情報を取得する負荷情報取得部を有し、
    前記判定部はさらに、
    前記特定した他の情報処理装置について風量が大きい順に優先度を決定し、優先度が高い順に、前記負荷情報取得部が取得した負荷情報と自装置の負荷情報に基づいて、前記特定した他の情報処理装置が前記プログラムを動作可能か判定し、
    前記移動制御部は、前記判定部が前記特定した他の情報処理装置が前記プログラムを動作可能であると判定した場合に、前記プログラムを、前記特定した他の情報処理装置に移動させることを特徴とする請求項2記載の情報処理システム。
  4. 吹出口から吹き出される空気によって冷却される複数の情報処理装置を有する情報処理システムであって、
    前記複数の情報処置装置の各々は、
    プログラムを実行する演算処理部と、
    各吹出口からの風量を測定する各風量測定部が有する無線通信部との間の無線通信から算出した各風量測定器と自装置との間の距離に基づいて、前記自装置に対応する風量測定器を特定する特定部と、
    前記特定部によって特定された風量測定器が測定した第1の風量情報を取得する第1の風量情報取得部と、
    前記特定部によって特定された風量測定器以外の風量測定器であって、他の情報処理装置に対応する吹出口からの風量を測定する風量測定器が測定した第2の風量情報を取得する第2の風量情報取得部と、
    前記第1の風量情報と前記第2の風量情報とに基づいて、自装置を冷却する風量よりも大きい風量により冷却される他の情報処理装置を特定する判定部と、
    自装置の演算処理部が実行するプログラムを、前記判定部が特定した他の情報処理装置に移動させる移動制御部と
    を有することを特徴とする情報処理システム。
  5. 吹出口から吹き出される空気によって冷却される複数の情報処理装置を有する情報処理システムであって、
    前記複数の情報処置装置の各々は、
    プログラムを実行する演算処理部と、
    各吹出口からの風量を測定する各風量測定部が有する無線通信部との間の無線通信から算出した各風量測定器の座標と自装置の座標とに基づいて、前記自装置に対応する風量測定器を特定する特定部と、
    前記特定部によって特定された風量測定器が測定した第1の風量情報を取得する第1の風量情報取得部と、
    前記特定部によって特定された風量測定器以外の風量測定器であって、他の情報処理装置に対応する吹出口からの風量を測定する風量測定器が測定した第2の風量情報を取得する第2の風量情報取得部と、
    前記第1の風量情報と前記第2の風量情報とに基づいて、自装置を冷却する風量よりも大きい風量により冷却される他の情報処理装置を特定する判定部と、
    自装置の演算処理部が実行するプログラムを、前記判定部が特定した他の情報処理装置に移動させる移動制御部と
    を有することを特徴とする情報処理システム。
  6. 前記情報処理システムにおいて、
    前記複数の情報処理装置の各々はさらに、
    前記特定部が特定した情報処理装置に対応する風量測定器の座標と、予め定められた情報処理装置の座標に基づいて、吹出口の位置が情報処理装置の下方に位置するかを判定する位置判定部と、
    前記位置判定部が情報処理装置の下方に位置すると判定した吹出口以外の吹出口に対応する風量測定器の座標と対応する吹出口が下にないと判定された情報処理装置の座標とに基づいて、前記情報処理装置の下方に位置すると判定した吹出口以外の吹出口からの空気の吹き出す方向を検出する検出部と、
    前記検出部が検出した前記情報処理装置の下方に位置すると判定した吹出口以外の吹出口から吹き出す空気の方向と、前記情報処理装置の下方に位置すると判定した吹出口以外の吹出口に対応する情報処理装置の座標とに基づいて、他の情報処理装置からの排気を吸気する情報処理装置を特定する装置特定部と、
    前記位置判定部が吹出口の位置が情報処理装置の下方に位置すると判定した情報処理装置と、前記装置特定部が特定した情報処理装置以外の情報処理装置を第1グループ、前記装置特定部が特定した情報処理装置を第2グループに分類する分類部とを有し、
    前記判定部は、
    前記第1風量情報取得部が取得した風量よりも大きい風量で冷却される情報処理装置について、前記第1グループに属する情報処理装置、前記第2グループに属する情報処理装置の順に、前記プログラムが稼動できる情報処理装置であるかを判定することを特徴とする請求項5記載の情報処理システム。
  7. 前記情報処理システムにおいて、
    前記負荷情報取得部は、前記他の情報処理装置が有する各パーティションの負荷情報を取得し、
    前記判定部は、前記負荷情報取得部が取得した前記他の情報処理装置の各パーティションの負荷情報から算出した各パーティションで許容できる負荷に基づいて、前記プログラムが動作できるパーティションの複数の組み合わせを特定し、
    前記移動制御部は、前記判定部が特定した前記他の情報処理装置のパーティションに、前記プログラムを移動させることを特徴とする請求項3記載の情報処理システム。
  8. 前記情報処理システムは、
    複数の情報処理装置を有し、
    前記判定部は、前記負荷情報取得部が取得した前記複数の他の情報処理装置の各々の負荷情報から算出した他の情報処理装置の各々で許容できる負荷に基づいて、前記プログラムが動作できる複数の他の情報処理装置の組み合わせを特定し、
    前記移動制御部は、前記判定部が特定した前記複数の他の情報処理装置に、前記プログラムを移動させることを特徴とする請求項3記載の情報処理システム。
  9. 前記情報処理システムにおいて、
    前記移動制御部は、
    前記プログラムを移動した他の情報処理装置の負荷が所定値以上になった場合、前記プログラムを自装置に移動させることを特徴とする請求項5または6に記載の情報処理システム。
  10. 情報処理システムを構成する各情報処理装置において、
    プログラムを実行する演算処理部と、
    前記各情報処理装置が設置される床の床下の冷却風が床上に吹出す複数の吹出口を介して前記床下から前記床上に吹き上げる冷却風の風量を測定する風量測定器のうち、自装置の位置に対応する風量測定器が測定した第1の風量情報を取得する第1の風量情報取得部と、
    他の情報処理装置各々の位置に対応する風量測定器が測定した、各吹出口から吹き上げる冷却風の風量である第2の風量情報を取得する第2の風量情報取得部と、
    前記第1の風量情報と前記第2の風量情報とに基づいて、自装置を冷却する風量よりも大きい風量により冷却される他の情報処理装置を特定する判定部と、
    自装置の演算処理部が実行するプログラムを、前記判定部が特定した他の情報処理装置に移動させる移動制御部と
    を有することを特徴とする情報処理装置。
  11. 前記他の情報処理装置の負荷情報を取得する負荷情報取得部をさらに有し、
    前記判定部はさらに、
    前記特定した他の情報処理装置について、前記負荷情報取得部が取得した負荷情報と自装置の負荷情報に基づいて、前記特定した他の情報処理装置が前記プログラムを動作可能か判定し、
    前記移動制御部は、前記判定部が前記特定した他の情報処理装置が前記プログラムを動作可能であると判定した場合に、前記プログラムを、前記特定した他の情報処理装置に移動させることを特徴とする請求項10記載の情報処理装置。
  12. 情報処理システムを構成する各情報処理装置によって実行される制御方法であって、
    前記各情報処理装置が設置される床の床下の冷却風が床上に吹出す複数の吹出口を介して前記床下から前記床上に吹き上げる冷却風の風量を測定する風量測定器のうち、自装置の位置に対応する第1の風量情報を取得し、
    他の情報処理装置各々の位置に対応する風量測定器が測定した、各吹出口から吹き上げる冷却風の風量である第2の風量情報を取得し、
    前記第1の風量情報と前記第2の風量情報とに基づいて、自装置を冷却する風量よりも大きい風量により冷却される他の情報処理装置を特定し、
    自装置の演算処理部が実行するプログラムを、前記特定した他の情報処理装置に移動させる
    ことを特徴とする情報処理装置の制御方法。
  13. 前記他の情報処理装置を特定する処理は
    前記特定した他の情報処理装置について、前記他の情報処理装置の負荷情報をさらに取得し、取得した負荷情報と自装置の負荷情報に基づいて、前記特定した他の情報処理装置が前記プログラムを動作可能か判定し、
    前記移動させる処理は、前記特定した他の情報処理装置が前記プログラムを動作可能であると判定した場合に、前記プログラムを、前記特定した他の情報処理装置に移動させることを特徴とする請求項12記載の情報処理装置の制御方法。
  14. 情報処理システムを構成する各情報処理装置によって実行される制御プログラムであって、
    前記各情報処理装置が設置される床の床下の冷却風が床上に吹出す複数の吹出口を介して前記床下から前記床上に吹き上げる冷却風の風量を測定する風量測定器のうち、自装置の位置に対応する風量測定器が測定した第1の風量情報を取得し、
    他の情報処理装置各々の位置に対応する風量測定器が測定した、各吹出口から吹き上げる冷却風の風量である第2の風量情報を取得し、
    前記第1の風量情報と前記第2の風量情報とに基づいて、自装置を冷却する風量よりも大きい風量により冷却される他の情報処理装置を特定し、
    自装置の演算処理部が実行するプログラムを、前記特定した他の情報処理装置に移動させる
    ことを特徴とする情報処理装置の制御プログラム。
  15. 前記他の情報処理装置を特定する処理は
    前記特定した他の情報処理装置について、前記他の情報処理装置の負荷情報をさらに取得し、取得した負荷情報と自装置の負荷情報に基づいて、前記特定した他の情報処理装置が前記プログラムを動作可能か判定し、
    前記移動させる処理は、前記特定した他の情報処理装置が前記プログラムを動作可能であると判定した場合に、前記プログラムを、前記特定した他の情報処理装置に移動させることを特徴とする請求項14記載の情報処理装置の制御プログラム。
JP2012539556A 2010-10-22 2010-10-22 データセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラム Active JP5652477B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/068764 WO2012053115A1 (ja) 2010-10-22 2010-10-22 データセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2012053115A1 JPWO2012053115A1 (ja) 2014-02-24
JP5652477B2 true JP5652477B2 (ja) 2015-01-14

Family

ID=45974848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012539556A Active JP5652477B2 (ja) 2010-10-22 2010-10-22 データセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラム

Country Status (4)

Country Link
US (1) US20130235519A1 (ja)
EP (1) EP2631799A4 (ja)
JP (1) JP5652477B2 (ja)
WO (1) WO2012053115A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10244663B2 (en) * 2010-07-15 2019-03-26 Baselayer Technology, Llc Apparatus and method for regulating environmental conditions associated with equipment
US8676397B2 (en) * 2010-12-20 2014-03-18 International Business Machines Corporation Regulating the temperature of a datacenter
US9251115B2 (en) * 2013-03-07 2016-02-02 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
JP6171708B2 (ja) * 2013-08-08 2017-08-02 富士通株式会社 仮想マシン管理方法、仮想マシン管理プログラム及び仮想マシン管理装置
JP2015072588A (ja) * 2013-10-02 2015-04-16 日本電信電話株式会社 サーバの仮想制御方法
US9439322B1 (en) * 2014-01-09 2016-09-06 Nautilus Data Technologies, Inc. Modular data center deployment method and system for waterborne data center vessels
JP6323101B2 (ja) * 2014-03-20 2018-05-16 富士通株式会社 配置制御プログラム、方法及び装置
CN103997865A (zh) * 2014-05-09 2014-08-20 华为技术有限公司 一种数据中心的集装箱及数据中心
CN105224381B (zh) * 2014-05-30 2018-10-09 华为技术有限公司 一种迁移虚拟机的方法、装置及系统
JP6382706B2 (ja) * 2014-12-16 2018-08-29 株式会社Nttファシリティーズ 情報処理システム
CN105117274B (zh) * 2015-09-16 2018-09-11 北京百度网讯科技有限公司 虚拟机迁移方法和装置
US10037227B2 (en) * 2015-12-17 2018-07-31 Intel Corporation Systems, methods and devices for work placement on processor cores
JP7007549B2 (ja) 2017-05-19 2022-01-24 富士通株式会社 情報処理システム、管理装置、及び、情報処理システムの制御方法
US10938771B2 (en) * 2017-12-23 2021-03-02 Dell Products, L.P. Determining physical locations of devices in a data center
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006208000A (ja) * 2005-01-28 2006-08-10 Hewlett-Packard Development Co Lp 熱/電力管理装置
JP2008040645A (ja) * 2006-08-03 2008-02-21 Hitachi Ltd Nasマイグレーションによる負荷分散方法、並びに、その方法を用いた計算機システム及びnasサーバ
WO2008062864A1 (en) * 2006-11-24 2008-05-29 Nec Corporation Virtual machine locating system, virtual machine locating method, program, virtual machine management device and server
JP2010134506A (ja) * 2008-12-02 2010-06-17 Fujitsu Ltd 消費電力削減支援プログラム、情報処理装置、および消費電力削減支援方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4673162B2 (ja) * 2005-08-24 2011-04-20 能美防災株式会社 防災システム
JP2008276320A (ja) * 2007-04-25 2008-11-13 Nec Corp 仮想システム制御方法およびコンピュータシステム
JP2009244999A (ja) * 2008-03-28 2009-10-22 Fujitsu Ltd 仮想マシン管理プログラム及び管理サーバ装置
WO2009126154A1 (en) * 2008-04-10 2009-10-15 Hewlett-Packard Development Company, L.P. Virtual machine migration according to environmental data
JP2010072733A (ja) * 2008-09-16 2010-04-02 Nec Corp サーバ管理装置,サーバ管理方法及びプログラム
JP5262682B2 (ja) * 2008-12-24 2013-08-14 ブラザー工業株式会社 ヘッドマウントディスプレイ
US8086359B2 (en) * 2009-02-23 2011-12-27 Novell, Inc. Dynamic thermal load balancing
GB201008825D0 (en) * 2010-05-26 2010-07-14 Bripco Bvba Data centre cooling system
US20120188057A1 (en) * 2011-01-24 2012-07-26 Ole Green Controller for a wireless sensor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006208000A (ja) * 2005-01-28 2006-08-10 Hewlett-Packard Development Co Lp 熱/電力管理装置
JP2008040645A (ja) * 2006-08-03 2008-02-21 Hitachi Ltd Nasマイグレーションによる負荷分散方法、並びに、その方法を用いた計算機システム及びnasサーバ
WO2008062864A1 (en) * 2006-11-24 2008-05-29 Nec Corporation Virtual machine locating system, virtual machine locating method, program, virtual machine management device and server
JP2010134506A (ja) * 2008-12-02 2010-06-17 Fujitsu Ltd 消費電力削減支援プログラム、情報処理装置、および消費電力削減支援方法

Also Published As

Publication number Publication date
EP2631799A1 (en) 2013-08-28
US20130235519A1 (en) 2013-09-12
EP2631799A4 (en) 2014-08-20
WO2012053115A1 (ja) 2012-04-26
JPWO2012053115A1 (ja) 2014-02-24

Similar Documents

Publication Publication Date Title
JP5652477B2 (ja) データセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラム
US11128555B2 (en) Methods and apparatus for SDI support for automatic and transparent migration
US9223905B2 (en) Systems and methods for predicting fluid dynamics in a data center
US9286135B2 (en) Provisioning aggregate computational workloads and air conditioning unit configurations to optimize utility of air conditioning units and processing resources within a data center
US8424006B2 (en) Task assignment on heterogeneous three-dimensional/stacked microarchitectures
WO2013160944A1 (en) Provisioning of resources like cpu or virtual machines or virtualized storage in a cloud computing environment
CN102057367A (zh) 依照环境数据的虚拟机迁移
JP2014530430A (ja) 仮想マシンの移行を介したメモリコヒーレンシのアクセラレーション
US20140282541A1 (en) Feedback system for optimizing the allocation of resources in a data center
US9354914B2 (en) Storage system
Zapater et al. Leakage-aware cooling management for improving server energy efficiency
US9626110B2 (en) Method for selecting a page for migration based on access path information and response performance information
JP2008242614A (ja) ジョブスケジューリング装置及びジョブスケジューリング方法
US8457807B2 (en) Thermal relationships based workload planning
JP2021056955A (ja) 分散型ストレージシステム及びデータ移動方法
KR101948961B1 (ko) 항공기 정보 관리 시스템
US20140317348A1 (en) Control system, control apparatus, and computer-readable recording medium recording control program thereon
US7941680B2 (en) Distributing integrated circuit net power accurately in power and thermal analysis
JP6960491B2 (ja) 管理システム及び基盤システムの管理方法
JP6106019B2 (ja) 業務配置の最適化システムおよび最適化方法
US20190042672A1 (en) Pressure loss determination device, computer readable medium, and pressure loss determination method
JP2015084143A (ja) ストレージ装置、ストレージ装置の制御方法およびストレージ装置制御プログラム
US11294591B2 (en) Apparatus configured to create extended configuration proposal of storage system including multiple notes
KR20220047046A (ko) 디지털 트윈기반 다중이용시설 내 전염병 확산 예측 장치 및 방법
US9052881B2 (en) Discovering thermal relationships in data processing environments

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140602

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141103

R150 Certificate of patent or registration of utility model

Ref document number: 5652477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150