JP2016126562A - 情報処理システム、管理装置、及び情報処理システムの制御方法 - Google Patents

情報処理システム、管理装置、及び情報処理システムの制御方法 Download PDF

Info

Publication number
JP2016126562A
JP2016126562A JP2015000304A JP2015000304A JP2016126562A JP 2016126562 A JP2016126562 A JP 2016126562A JP 2015000304 A JP2015000304 A JP 2015000304A JP 2015000304 A JP2015000304 A JP 2015000304A JP 2016126562 A JP2016126562 A JP 2016126562A
Authority
JP
Japan
Prior art keywords
information processing
virtual machine
usage rate
predetermined period
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015000304A
Other languages
English (en)
Inventor
児玉 宏喜
Hiroki Kodama
宏喜 児玉
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
Priority to JP2015000304A priority Critical patent/JP2016126562A/ja
Priority to US14/977,691 priority patent/US20160196157A1/en
Publication of JP2016126562A publication Critical patent/JP2016126562A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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

Abstract

【課題】物理マシンの利用効率を高め、仮想マシンの処理速度を高める。
【解決手段】異なる動作周波数の演算処理装置をそれぞれ有する複数の情報処理装置と、複数の情報処理装置を管理する管理装置とを有し、管理装置は、複数の情報処理装置の各々が実行する仮想マシンの所定期間の使用率を監視する監視部と、仮想マシンのいずれかについて前記所定期間の使用率が第1の閾値を超えたことを監視部が検出した場合、複数の情報処理装置の各々が有する演算処理装置の数と、各演算処理装置が有する演算処理部の数と、各演算処理装置の動作周波数とに基づき、所定期間の使用率が第1の閾値を超えた仮想マシンを、複数の情報処理装置のうち他の情報処理装置に割り当てる割当部とを有する情報処理システム。
【選択図】図1

Description

本発明は,情報処理システム、管理装置、及び情報処理システムの制御方法に関する。
仮想化技術は、コンピュータまたは物理マシンである情報処理装置(以下、情報処理装置をコンピュータまたは物理マシンとも称する。)上で動作するハイパーバイザが、物理マシンのハードウエアをエミュレートし、物理マシン上に複数の仮想マシン(またはVM: Virtual Machine)を起動して生成する。そして、仮想化技術は、複数の物理マシンそれぞれに複数の仮想マシンを生成し、複数の利用者のサービスシステムをそれぞれ実現する。仮想マシンが起動・生成される物理マシンは、ホストマシンまたは単にホストとも称される。
このような仮想化技術において、仮想マシンを移行元ホストから移行先ホストに移行するマイグレーションは、仮想マシンをある物理マシンに集約したり他の物理マシンに分散する場合などに利用される。仮想マシンのマイグレーションには、移行元の物理マシンで動作中の仮想マシンを稼働状態のまま別の移行先物理マシンに移行させるライブマイグレーションと、移行元の物理マシンで動作中の仮想マシンを一旦遮断し、移行先の物理マシンでその仮想マシンを起動、生成するコールドマイグレーションなどがある。
現在のクラウドコンピューティングでは、データセンタ(またはサーバファシリティ)内に配備した同等の性能を有する複数の物理マシンに、仮想化技術を利用して複数の仮想マシンを起動・生成する。そして、仮想マシンを起動・生成する際、利用者は、仮想マシンに割り当ててほしいCPUコア数とメモリ容量を設定する。それに応じて、ハイパーバイザは設定したCPUコア数とメモリ容量を仮想マシンに割り当てる。
また、クラウドコンピューティングでは、データセンタ内に、異なる時期に配備したため性能が異なる物理マシン群が存在する場合がある。その場合、利用者は、第1の性能の物理マシン群か、第1の性能とは異なる第2の性能の物理マシン群かを選択し、仮想マシンのCPUコア数とメモリ容量を設定する。
さらに、仮想マシン管理装置は、仮想マシンの動作履歴を監視し、ある物理マシンの処理能力を超えて仮想マシンが動作していないかをチェックする。そして、仮想マシン管理装置は、必要に応じて、仮想マシンの再割り当ての管理を行う。再割り当ての管理は、仮想マシンを他の物理マシンに移行(マイグレーション)して物理マシンの負荷を分散したり、仮想マシンをある物理マシンに集約して消費電力を節約するなどを有する。その場合、仮想マシンの物理マシン上での起動・生成は、仮想マシンそれぞれに設定したCPUコア数とメモリ容量に基づいて行われる。
特許第5520375号公報 特開2007−310791号公報 特開2011−8822号公報
近年において、性能が異なる物理マシンを利用してクラウドコンピューティングサービスを提供することが行われるようになっている。例えば、異なる時期に配備した異なる性能を有する複数の物理マシンを集めて、利用者にクラウドコンピューティングサービスを提供する。そして、仮想マシン管理装置は、性能が異なる複数の物理マシン間で仮想マシンの割り当て管理を行う。これにより、全ての物理マシンを有効に活用できる場合がある。
このような場合、仮想マシンの割当先の物理マシンは、性能が高い物理マシンも性能が低い物理マシンも同様に選択される。そのため、性能が低い物理マシンに仮想マシンが集中し、性能が高い物理マシンに仮想マシンが起動・生成されないで、性能が高い物理マシンの電源が遮断される状況が生まれかねない。
そこで,実施の形態の第1の側面の目的は,仮想マシンをその処理量に応じた処理能力の物理マシンに割り当てて仮想マシンの処理速度を高める情報処理システム、管理装置、及び情報処理システムの制御方法を提供することにある。
本実施の形態の第1の側面は,異なる動作周波数の演算処理装置をそれぞれ有する複数の情報処理装置と、
前記複数の情報処理装置を管理する管理装置とを有し、
前記管理装置は、
前記複数の情報処理装置の各々が実行する仮想マシンの所定期間の使用率を監視する監視部と、
前記仮想マシンのいずれかについて前記所定期間の使用率が第1の閾値を超えたことを前記監視部が検出した場合、前記複数の情報処理装置の各々が有する演算処理装置の数と、各演算処理装置が有する演算処理部の数と、各演算処理装置の動作周波数とに基づき、前記所定期間の使用率が前記第1の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる割当部とを有する情報処理システムである。
第1の側面によれば,仮想マシンをその処理量に応じた処理能力の物理マシンに割り当てるので、物理マシンの利用効率を高め、仮想マシンの処理速度を高めることができる。
本実施の形態における情報処理システムの構成を示す図である。 図1の各物理マシン1、2、3の概略構成を示す図である。 図1に示した共有ストレージ20の構成を示す図である。 第1の実施の形態におけるVM管理プログラムのVM配置処理を示すフローチャート図である。 物理マシンの性能順位テーブルの一例を示す図である。 物理マシンのグループテーブルの一例を示す図である。 本実施の形態における図4のVM管理プログラムのVM配置処理による仮想マシンVMの再配置例を示す図である。 第2の実施における物理マシンのグループテーブル例を示す図である。 第2の実施の形態における仮想マシン配置管理プログラムの一部のフローチャート図である。 第3の実施の形態における物理マシンのメモリ性能順位テーブルの一例を示す図である。 第3の実施の形態における物理マシンのグループテーブルの一例を示す図である。 第3の実施の形態における仮想マシン配置管理プログラムの処理を示すフローチャート図である。 第3の実施の形態における仮想マシン配置管理プログラムの処理を示すフローチャート図である。
図1は、本実施の形態における情報処理システムの構成を示す図である。情報システムは、仮想マシンVMをハイパーバイザHV上で実行する複数の物理マシン(またはVMホスト)1、2、3と、物理マシン及び仮想マシンを管理する管理装置4と、共有ストレージ20とを有する。情報システムは、多数の物理マシンが配備されたデータセンタ(またはサーバファシリティ)内に構築される。
各物理マシン(またはVMホスト)1、2、3は、ハイパーバイザHVを実行して、一つのまたは複数の仮想マシンVMを起動し実行する。別の表現をすると、ハイパーバイザHVが仮想マシンVMを起動し実行する。共有ストレージ20は、仮想マシンVMのゲストOS(Operating System)やアプリケーションプログラムなどを有するイメージファイルを記憶する。仮想マシンVMは、共有ストレージ20内に格納されたイメージファイルのゲストOSとアプリケーションプログラムを、物理マシン1,2,3のメモリに展開し、メモリに展開したゲストOSとアプリケーションプログラムを実行し、所望のサービスシステムを構築する。
管理装置4のVM管理ソフトウエア4_1は、ハイパーバイザHVにコンフィグレーション情報に基づく仮想マシンを起動させ、必要に応じて仮想マシンを一時停止(ポーズ)及び再開(リジューム)させ、遮断させる。コンフィグレーション情報は、仮想マシンVMに割り当てるCPUコア数とメモリ容量の情報などを有する。
また、管理装置4のVM管理ソフトウエア4_1は、ハイパーバイザHVから仮想マシンの動作状態の情報を収集し、必要に応じて仮想マシンを稼働中の物理マシンから別の物理マシンに移行(マイグレーション)させる。すなわち、VM管理ソフトウエア4_1は、仮想マシンの動作状態を収集する監視部と、仮想マシンを移行して異なる物理マシンに割り当てる割当部とを有する。
さらに、管理装置4のVM管理ソフトウエア4_1は、仮想マシンで構築されたサービスシステムを運用する利用者端末6にポータルサイト4_2を提供する。利用者端末6は外部のネットワークEX_NWを介してポータルサイト4_2にアクセスし、サービスシステムの維持管理を行う。
各物理マシン1、2、3と管理装置4と共有ストレージ20とは、管理ネットワークM_NWを介して通信可能にされる。情報処理システムの運用管理者端末7は、例えば管理ネットワークM_NWを介して管理装置4にアクセス可能である。また、利用者端末6は、ポータルサイト4_2を介して管理装置4にアクセスし、仮想マシンの新たな起動や遮断などを要求する。さらに、各仮想マシンVMは、VMネットワークVM_NWを介して互いに通信可能にされている。そして、仮想マシンVMは、外部のネットワークEX_NW(例えばインターネットやイントラネット)を介して、仮想マシンで構築されたサービスシステムにアクセスするサービスシステムの利用者と接続されてもよい。
図1では、各仮想マシンVMに直接VMネットワークMV_NWが接続されるように記載されているが、実際には、仮想マシンVMは、物理マシン1、2、3のネットワークインタフェースを介してVMネットワークMV_NWに接続される。管理ネットワークM_NWも物理マシン1、2、3のネットワークインタフェースに接続される。
図2は、図1の各物理マシン1、2、3の概略構成を示す図である。例えば、物理マシン1、2、3は、演算処理装置であるCPU10_0、10_1と、メモリであるRAM12と、ROM13と、ネットワークインタフェース(例えばNIC:Network Interface Card)14と、入出力部15と、ハードディスクなどの大容量記憶装置16とを有し、それらはバス18を介して接続される。演算処理装置である2つのCPU10_0,10_1は、それぞれ4個の演算処理部であるCPUコアCPU_COR#1−#3を有する。したがって、図2の物理マシンは、合計で8個の演算処理部であるCPUコアを有する。本実施の形態において、CPUとCPUコアの数は特にこの数に限定されない。
管理装置4は、図2に示した物理マシンの構成と同様の構成を有する。管理装置2は、VM管理ソフトウエア4_1を実行して、各物理マシンのハイパーバイザHVに仮想マシンVMの起動と遮断、一時中断と再開など実行させる。VM管理ソフトウエア4_1は、管理装置2により実行されることで、さらに、仮想マシンの動作状態を監視する監視部と、必要に応じて、仮想マシンをある物理マシンから別の物理マシンの移行して仮想マシンを再配置する割当部とを管理装置に構築する。
物理マシン1、2、3の場合、大容量記憶装置16は、例えばOSやハイパーバイザHVなどを格納する。管理装置4の場合、大容量記憶装置16は、例えばOSとVM管理ソフトウエア4_1などを記憶する。そして、大容量記憶装置16に格納されているOSやソフトウエアはメモリであるRAM12内に展開され、各CPUコアにより実行される。
図3は、図1に示した共有ストレージ20の構成を示す図である。共有ストレージ20は、物理マシン1、2、3に生成される仮想マシンVMのイメージファイルを記憶する。仮想マシンVMのイメージファイルは、例えばゲストOSとアプリケーションAPLと各種データDATAなどである。各種データDATAには、例えば前述のI/O状態を含むハードウエアのエミュレーション状態も含まれる。
物理マシン1、2、3のハイパーバイザHVは、管理装置4のVM管理ソフトウエア4_1からの仮想マシンVMの作成コマンドに応答して、共有ストレージ20内のイメージファイルに対応する仮想マシンを起動し、仮想マシンVMを実行する。また、ハイパーバイザHVは、VM管理ソフトウエア4_1からの仮想マシンの一時停止、再開、遮断コマンドに応答して、実行中の仮想マシンVMを一時停止し、再開し、遮断する。
[第1の実施の形態]
図4は、第1の実施の形態におけるVM管理プログラムのVM配置処理を示すフローチャート図である。VM管理プログラムのVM配置処理は、管理装置4がVM管理プログラムを実行することにより実行する。
まず、管理装置4は、VM管理プログラム4_1を実行して、データセンタ内の管理対象の物理マシンの性能情報を収集する(S1)。物理マシンの性能情報には、例えば、CPU数(CPUチップ数)、各CPU内のCPUコア数、CPUの動作周波数、メモリ容量、メモリの動作周波数などである。収集方法は、例えば、管理装置4が各物理マシンに問い合わせを行って収集してもよい。または、データセンタ内の物理マシンの性能情報が正確に管理されている場合は、その性能情報が格納されている記憶装置から読み出しても良い。データセンタ内の物理マシンは、日々取り替えられたり追加されたり廃棄されたりするので、最新の情報を収集することが必要である。
図5は、物理マシンの性能順位テーブルの一例を示す図である。第1の実施の形態では、管理装置4が、特にCPUの動作周波数を収集し、図5のような物理マシンの性能順位テーブルを作成する。図5の性能順位テーブルは、収集工程S1で収集した各物理マシンA〜DのCPU周波数と、1CPU当たりのCPUコア数と、CPU数×CPUコア数を計算して求めたCPUコア合計数とを有する。そして、図5の例では、第1に、物理マシンの性能順位はCPU性能順位に基づいて決定され、特にCPU周波数が高い順に順位1〜4が割り当てられる。第2に、物理マシンの性能順位をCPUコア数の多い順に決定することもできる。
図5は一例として4台の物理マシンを示しているが、通常のデータセンタには多数の物理マシンが配備されている。そして、本実施の形態では、前提として、データセンタ内の複数の物理サーバは、必ずしも同じCPU性能(CPU動作周波数やCPUコア数など)を有するとは限らない。つまり、様々なCPU性能を有する物理サーバが混在する。同様に、データセンタ内の複数の物理サーバは、必ずしも同じメモリ性能(メモリ動作周波数やメモリ容量など)を有するとは限らない。つまり、様々なメモリ性能を有する物理サーバが混在する。
図6は、物理マシンのグループテーブルの一例を示す図である。管理装置4は、物理マシンの性能情報収集工程S1で、物理マシンの性能順位テーブルを作成する。第1の実施の形態では、管理装置4は、図5の物理マシン性能順位テーブルのCPU性能順位に基づいて、物理マシンを4つのグループに分類する。例えば、物理マシングループ1は、CPUの性能順位が上位20%の物理マシンで構成される。物理マシングループ2は、CPUの性能順位が中位60%で構成され、物理マシングループ3は、CPUの性能順位が下位20%の物理マシンで構成される。
さらに、物理マシングループ4は、メモリの性能順位が上位で且つCPU性能順位が中位以下の物理マシンで構成される。ここで、メモリの性能順位は、例えばメモリの容量とメモリの動作周波数とに基づいて決められる。一例としては、メモリ容量とメモリの動作周波数とを所定の重み付けで加算して求めた指標に基づいてメモリの性能順位を決定する。または、メモリ容量に基づいてメモリの性能順位を決定する。もしくは、メモリの動作周波数に基づいてメモリの性能順位を決定する。
図4に戻り、管理装置4は、VM管理プログラム4_1を実行して、動作中の仮想マシンVMの動作履歴を収集する(S2)。動作履歴には、例えば、所定期間でのCPU使用率、メモリ使用率などである。第1の実施の形態では、特にCPU使用率を収集する。
CPU使用率は、例えば以下の数式で表される。
CPU使用率=VMの処理実行に必要なMIPS値/CPUコアが保有するMIPS値
ここで、MIPS値とはCPUの加減乗除などの演算命令とロードやストアなどのメモリアクセス命令の平均速度を表すものであり、1秒間に何100万命令(ステップ)を実行できるかを示す単位である。CPU使用率は、CPU内の各CPUコアに設けられた処理済み命令数をカウントするカウンタの値から演算することができる。各CPUコアのCPU使用率は、通常、OSに問い合わせることで取得できる。問い合わせに応答して、OSはCPUコア内のカウンタ値を読み出し、上記の数式で演算した結果を返す。したがって、仮想マシンVMに割り当てられているCPUコアのカウンタ値から仮想マシンVMのCPU使用率を取得できる。
また、メモリ使用率は、例えば以下の数式で表される。
メモリ使用率=記憶するデータ容量/メモリ容量
つまり、与えられたメモリ容量の何パーセントの容量をデータの記憶に使用しているかを示す指標である。したがって、OSは、例えばメモリコントローラ内のデータ容量をカウントするカウンタから取得可能である。
次に、管理装置4は、仮想マシンのCPU使用率が閾値を越えているか否かを判定し、越えていなければ処理S1,S2を繰り返し、越えていれば以下の仮想マシンVMの再配置制御を実行する。(S3)。第1の実施の形態では、管理装置4は、上記の閾値として、高い側の閾値Vth1と低い側の閾値Vth2とを設定しておく。例えば、高い側の閾値Vth1はCPU使用率が85%、低い側の閾値Vth2はCPU使用率が50%である。そして、仮想マシンのCPU使用率が閾値Vth1, Vth2を越えているという意味は、CPU使用率が高い側の閾値Vth1より高い、またはCPU使用率が低い側の閾値Vth2より低い、のいずれかに該当することをいう。
そして、管理装置4は、以下のようなアルゴリズムで仮想マシンVMを現在の物理マシンから他の物理マシンに再配置する。まず、管理装置4は、仮想マシンVMがCPU依存傾向か否かを判定し(S4)、仮想マシンVMがCPU依存傾向にない場合は(S4のNO)、その仮想マシンを物理マシングループ4の物理マシンに移行する(S5)。ここで、CPU依存傾向にあるとは、CPU使用率がメモリ使用率に比較して、通常の仮想マシンの基準よりも低いことを意味する。つまり、CPU使用率が極端に低いがメモリ使用率が高い仮想マシンVMは、CPU依存傾向がないと判定される。
このような仮想マシンVMは、CPUによる命令処理は少ないが、メモリ内に記憶しているデータ量が多く、主にメモリアクセスを行っていることを意味する。逆に、CPU使用率が比較的高いがメモリ使用率が低い仮想マシンVMは、CPU依存傾向があると判定される。通常の仮想マシンVMは、CPU依存傾向がある。このような通常の仮想マシンVMの処理速度は、主にCPUの単位時間当たりの処理数、つまりCPUの動作周波数に依存する。
物理マシングループ4は、図6で説明したとおり、メモリ容量がより大きくまたはメモリの動作周波数がより高い程高くなるメモリ性能順位が上位であり、CPU性能順位が中位以下の特異な物理マシン群である。管理装置4は、まず、仮想マシンVMでCPU依存傾向がないものは、この物理マシングループ4に再配置する。
次に、管理装置4は、CPU依存傾向がある通常の仮想マシンVMについては、以下のように物理マシングループ1,2,3に再配置する。第1に、管理装置4は、仮想マシンVMの所定時間内のCPU使用率が高い側の閾値Vth1より高いと判定した場合(S6のYES)、その仮想マシンVMを、実行中の物理マシンが属する物理マシングループよりも性能が高い(例えばCPU動作周波数が高い)物理マシングループに属する物理マシンに移行する(S7)。例えば、1つだけ性能が高い物理マシングループに移行する。
第2に、管理装置4は、仮想マシンの所定時間内のCPU使用率が低い側の閾値Vth2より低いと判定した場合(S8のYES)、その仮想マシンVMを、実行中の物理マシンが属する物理マシングループよりも性能が低い(例えばCPU動作周波数が低い)物理マシングループに属する物理マシンに移行する(S9)。例えば、1つだけ性能が低い物理マシングループに移行する。
第3に、管理装置4は、仮想マシンの所定時間内のCPU使用率が第1、第2の閾値Vth1,Vth2の間にあると判定した場合(S10のYES)、その仮想マシンVMを実行中の物理マシンの物理マシングループに維持する(S11)。
そして、管理装置4は、上記の処理S1〜S11を繰り返す。
図7は、本実施の形態における図4のVM管理プログラムのVM配置処理による仮想マシンVMの再配置例を示す図である。左側に時間軸を示し、3回の仮想マシンVMの再配置タイミングで仮想マシンVM1,VM2,MV3がどのようなCPU使用率を有していて、管理装置4が、物理マシングループ1,2,3(G1,G2,G3)間で仮想マシンVMをどのように移行させるかの一例を示す。物理マシングループ1,2,3の違いは、図6で説明したとおりである。
まず、1回目の再配置処理では、管理装置4の監視部(図示せず)は、各仮想マシンVM1,VM2,VM3のCPU使用率がそれぞれ30%、60%、100%であることを検出する。そこで、管理装置4の割当部(図示せず)は、CPU使用率が30%(<閾値Vth2、50%))の仮想マシンVM1を現在の物理マシングループ1(G1)から一つCPUの性能が低い(例えばCPU動作周波数が低い)物理マシングループ2(G2)に移行し、CPU使用率が100%(>閾値Vth1、85%)の仮想マシンVM3を現在の物理マシングループ3(G3)から一つ性能が高い(例えばCPU動作周波数が高い)物理マシングループ2(G2)に移行する。さらに、管理装置4は、CPU使用率が60%(閾値Vth1>=60%>=Vth2)の仮想マシンVM2は、現在の物理マシングループ2に維持する。
次に、2回目の再配置処理では、管理装置4は、各仮想マシンVM1,VM2,VM3のCPU使用率がそれぞれ40%、60%、90%であることを検出する。1回目の再配置処理で、仮想マシンVM1はより低い中性能の物理マシングループ2の物理マシンに移行したためCPU使用率は上昇し、逆に仮想マシンVM3はより高い中性能の物理マシングループ2の物理マシンに移行したためCPU使用率は下降している。そこで、管理装置4の割当部は、CPU使用率が40%(<閾値Vth2、50%)の仮想マシンVM1を現在の物理マシングループ2(G2)から一つ性能が低い(例えばCPU動作周波数が低い)物理マシングループ3(G3)に移行し、CPU使用率が90%(>閾値Vth1、85%)の仮想マシンVM3を現在の物理マシングループ2(G2)から一つ性能が高い(例えばCPU動作周波数が高い)物理マシングループ1(G1)に移行する。管理装置4は、CPU使用率が60%の仮想マシンVM2は前回と同様に物理マシングループ2に維持する。
最後に、3回目の再配置処理では、管理装置4は、各仮想マシンVM1,VM2,VM3のCPU使用率がそれぞれ80%、60%、80%であることを検出する。2回目の再配置処理で、仮想マシンVM1はより低い低性能の物理マシングループ3の物理マシンに移行したためCPU使用率は上昇し、逆に仮想マシンVM3はより高い高性能の物理マシングループ1の物理マシンに移行したためCPU使用率は下降している。そして、いずれの仮想マシンもCPU使用率は、第1の閾値Vth1(=85%)と第2の閾値Vth2(=50%)の間の値である。したがって、管理装置4は、3回目の再配置処理では、3つの仮想マシンVM1,VM2,VM3を起動、実行する物理マシングループを維持する。
結局、図7の例では、1回目の再配置タイミングでCPU使用率が低かった仮想マシンVM1は、1回目と2回目の再配置処理を経て、最も性能が低い物理マシングループ3の物理マシンに移行し、そのCPU使用率は80%と最適なレベルになっている。同様に、1回目の再配置タイミングでCPU使用率が高かった仮想マシンVM3は、1回目と2回目の再配置処理を経て、最も性能が高い物理マシングループ1の物理マシンに移行し、そのCPU使用率は80%と最適なレベルになっている。
そして、3回目の再配置タイミングで検出した各仮想マシンの所定時間内のCPU使用率は、第1、第2の閾値Vth1,Vth2の間になり、3つの仮想マシンVM1,VM2,VM3は、それぞれの処理量に見合った性能(例えばCPU動作周波数)の物理マシンに移行されたことになる。したがって、3つの仮想マシンVM1,VM2,VM3の物理マシンへの配置は最適化され、3つの仮想マシンの処理は最適な速度で行われる。
上記の再配置処理では、管理装置4は、移行対象の仮想マシンVMに割り当てられているCPUコア数とメモリ容量が、移行先の物理マシンの空いているCPUコア数とメモリ容量よりも小さいことを条件に、仮想マシンの移行を決定する。つまり、第1の実施の形態では、管理装置4は、各物理マシンのCPU動作周波数に基づいて、仮想マシンの現在のCPU使用率に見合ったCPU動作周波数を有する物理マシンに、その仮想マシンを移行制御する。それと共に、管理装置4は、各物理マシン内の未割当で新たに割当可能なCPUコア数とメモリ容量にも基づいて、CPUコア数やメモリ容量が割り当て可能な物理マシンに、仮想マシンを移行制御する。
また、仮想マシンVMのCPU使用率は、仮想マシンVMにより構成されるサービスシステムの繁忙度に応じて動的に変化する。したがって、4回目のVM再配置タイミングで各仮想マシンVMのCPU使用率が変化すると、再度、管理装置4は、図4に示した最適なCPU性能を有する物理マシングループへの移行制御を実行する。
[第2の実施の形態]
第1の実施の形態では、物理マシングループを物理マシンのCPU動作周波数に基づく性能順に分ける。そして、管理装置4は、仮想マシンの所定期間内のCPU使用率が第1の閾値Vth1より高いまたは越える場合、移行先の物理マシンに新たに割り当てるCPUコア数とメモリ容量が存在する場合に、その仮想マシンをよりCPU動作周波数が高い物理マシングループ内の物理マシンに移行する。これにより、仮想マシンのCPU使用率が一時的に100%を越えるなどで処理に遅延が生じることが解消され、仮想マシンを最適な物理マシンに配置して仮想マシンの処理を効率化そして高速化することができる。
それに対して、第2の実施の形態では、物理マシングループを、CPU動作周波数に基づく性能順に分けることに加えて、物理マシンが有するCPUコア数に基づいても分ける。そして、仮想マシンの移行先の決定に、物理マシンのCPUコア数の指標も用いる。
図8は、第2の実施における物理マシンのグループテーブル例を示す図である。表の縦方向は、CPUの動作周波数がそれぞれ高い、中、低いグループの3つのグループに分けられている。さらに、表の横方向は、物理マシンが有するCPUコア数がそれぞれ多い、中、少ないグループの3つのグループに分けられている。したがって、物理マシンは3×3=9種類の物理マシングループに分けられる。
図9は、第2の実施の形態における仮想マシン配置管理プログラムの一部のフローチャート図である。図9のフローチャート図は、図4の工程S7の処理を示す。図4では、仮想マシンVMのCPU使用率が第1の閾値Vth1より高い場合(S6のYES)、より性能が高い(例えばCPU動作周波数がより高い)物理マシングループに仮想マシンVMを移行する(S7)。
それに対して、図9によれば、図4において仮想マシンのCPU使用率が第1の閾値Vth1より高い場合(S6のYES)、仮想マシンVMが既に最も高いCPU動作周波数の物理マシングループ(図8のPM11,PM12,PM13のグループ、またはグループG1_1)で動作中だとすると、それ以上のCPU動作周波数の物理マシングループがない。そこで、管理装置4は、仮想マシンVMが既に最高CPU動作周波数の物理マシンで動作中の場合(S71のYES)、よりCPUコア数が多い物理マシングループの物理マシンに仮想マシンを移行する(S72)。つまり、図8の物理マシングループPM12,PM13からCPUコア数がより多い物理マシングループPM11,PM12にそれぞれ仮想マシンを移行する。これにより、移行後の仮想マシンのCPU使用率が低下する場合がある。その理由は次のとおりである。
すなわち、物理マシン上で複数の仮想マシンが動作中の場合、各仮想マシンに対してCPUコア数がオーバーコミットされている場合がある。オーバーコミットとは、物理マシンがN個のCPUコア数のところ、複数の仮想マシンにそれぞれ割り当てると契約されているCPUコア数の合計がN個を越える場合に発生する。つまり、仮想マシンに割り当てたCPUコア数の合計が実際の物理マシンが有するCPUコア数の合計数Nより多い場合、一部の仮想マシンには設定したCPUコア数より少ないCPUコア数しか割り当てられない状態が発生する。
このオーバーコミットが理由で、仮想マシンが最もCPU動作周波数が高い物理マシングループに移行したにもかかわらず、設定したCPUコア数より少ない個数しか割り当てられずCPU使用率が低下しない場合がある。
そこで、第2の実施の形態では、管理装置4は、工程S72にて、仮想マシンをよりCPUコア数が多い物理マシングループに移行させる。これにより、CPUコアのオーバーコミットが理由でその仮想マシンのCPU使用率が改善されないことが、解消される場合がある。
図9にもどり、仮想マシンが未だ最高のCPU動作周波数の物理マシングループに移行されてなければ、図4と同様に、管理装置4は、より高いCPU動作周波数の物理マシングループに移行する。
[第3の実施の形態]
第3の実施の形態による管理装置4は、仮想マシンのメモリ使用率と物理マシンのメモリ容量及びメモリ動作周波数とに基づいて、仮想マシンを移行制御する。
図10は、第3の実施の形態における物理マシンのメモリ性能順位テーブルの一例を示す図である。図10の例では、物理マシンAは、メモリ容量に関して1スロットの容量が16GB、スロット数が12枚、合計メモリ容量が192GB、メモリクロック(メモリの動作周波数)が21.3GB/secである。物理マシンB,C,Dも図示されるとおりである。
この場合、メモリ容量に基づいてメモリ性能順位を判定すると、物理マシンA,Bが1位、物理マシンC,Dが3位となる。同様に、メモリの動作周波数に基づいてメモリ性能順位を判定すると、物理マシンA,Bが1位、物理マシンC,Dが3位となる。図10の例ではいずれのメモリ性能順位も同じになったが、現実の物理マシン群では必ずしも同じ順位にならない場合がある。
第3の実施の形態でも、前提として、データセンタ内の複数の物理サーバは、必ずしも同じCPU性能(CPU動作周波数やCPUコア数など)を有するとは限らない。つまり、様々なCPU性能を有する物理サーバが混在する。同様に、データセンタ内の複数の物理サーバは、必ずしも同じメモリ性能(メモリ動作周波数やメモリ容量など)を有するとは限らない。つまり、様々なメモリ性能を有する物理サーバが混在する。
図11は、第3の実施の形態における物理マシンのグループテーブルの一例を示す図である。図11の例では、図8と同様に、表の縦方向は、メモリの動作周波数がそれぞれ高い、中、低いグループの3つのグループに分けられている。さらに、表の横方向は、物理マシンが有するメモリ容量がそれぞれ多い、中、少ないグループの3つのグループに分けられている。したがって、物理マシンは3×3=9種類の物理マシングループに分けられる。
図12、図13は、第3の実施の形態における仮想マシン配置管理プログラムの処理を示すフローチャート図である。処理工程S1,S4,S5は、図4と同じである。それ以外の処理工程について以下説明する。
管理装置4は、仮想マシン管理プログラム4_1の仮想マシン配置管理プログラムを実行して、仮想マシンVMの動作履歴として仮想マシンのメモリ使用率を収集する(S22)。ここで、メモリ使用率は前述のとおり以下の数式により表される。
メモリ使用率=記憶するデータ容量/メモリ容量
したがって、仮想マシンのメモリ使用率は時々刻々と変化する。また、定性的には、メモリ使用率が高いほどデータ量が多く、メモリへのアクセス頻度も高くなる傾向にある。
また、管理装置4は、仮想マシンのメモリ使用率が閾値Vth11、Vth12を越えると(S23のYES)、以下のように仮想マシンの物理マシンへの配置制御を行う。
仮想マシンには、CPUコア数と同様にメモリ容量についてもオーバーコミットの問題がある。つまり、ある物理マシンに生成され動作中の仮想マシンに設定されたメモリ容量の合計が、物理マシンが有するメモリ容量を超えている場合、設定したメモリ容量を割り当てられていない仮想マシンが存在する。特に、物理マシン上で動作中の複数の仮想マシンのメモリ使用率が上昇していくと、限られた物理マシンのメモリ容量を超えてしまい、速い者順でメモリ容量が割り当てられる。その結果、一部の仮想マシンには設定したメモリ容量を割り当てることができなくなり、そのような仮想マシンのメモリ使用率は上記の式の分母のメモリ容量が小さいため上昇する。メモリ使用率が高くなりすぎると、その仮想マシンの処理速度が低下する。
そこで、第3の実施の形態では、管理装置4は、仮想マシンの所定期間におけるメモリ使用率が第1の閾値Vth11より高い場合、よりメモリ容量が大きい物理マシングループの物理マシンに移行する。それにより、オーバーコミットにより割り当てられているメモリ容量が設定値より少ないことが原因でメモリ使用率が高くなっていることを、解消可能である。逆に、管理装置4は、仮想マシンの所定期間におけるメモリ使用率が第2の閾値Vth12(<Vth11)より低い場合、よりメモリ容量が小さい物理マシングループの物理マシンに移行する。これにより、移行元の物理マシンでオーバーコミットの問題が発生するのを抑制できる。
さらに、第3の実施の形態では、仮想マシンを最大のメモリ容量を有する物理マシンに移行しても仮想マシンのメモリ使用率が低下しない場合、もはやオーバーコミットの問題はないので、管理装置4は、仮想マシンをよりメモリ動作周波数が高い物理マシングループの物理マシンに移行させる。メモリ使用率が高いということは、記憶するデータ容量が多いことを意味するので、定性的にはそのメモリへのアクセス回数も増加傾向にある。そこで、管理装置4は、仮想マシンをよりメモリ動作周波数が高い物理マシンに移行することで、その仮想マシンのメモリアクセスのレイテンシを短くして、処理速度を向上させることが可能になる場合がある。
図12に戻り、仮想マシンのメモリ使用率が第1の閾値Vth11より高い場合(S26のYES)、管理装置4は、その仮想マシンをよりメモリ容量が多い物理マシングループに移行する(S27)。一方、仮想マシンのメモリ使用率が第2の閾値Vth12より低い場合(S28のYES)、管理装置4は、その仮想マシンをよりメモリ容量が少ない物理マシングループに移行する(S29)。そして、仮想マシンのメモリ使用率が第1の閾値Vth11と第2の閾値Vth12の間の場合(S30のYES)、現在の物理マシングループに仮想マシンを維持する(S31)。
図13は、図12の処理工程S27の変形例を示す。図12において、仮想マシンのメモリ使用率が第1の閾値Vth11より高い場合であって、その仮想マシンが既に最大メモリ容量の物理マシンで動作中の場合(S271のYES)、管理装置4は、その仮想マシンをよりメモリ動作周波数が高い物理マシングループに移行する(S272)。一方、図12において、仮想マシンのメモリ使用率が第1の閾値Vth11より高い場合であって、その仮想マシンが未だ最大メモリ容量の物理マシンで動作中でない場合(S271のNO)、管理装置4は、その仮想マシンをよりメモリ容量が多い物理マシングループに移行する(S27)。これにより、メモリ容量のオーバーコミットにより割り当てられるメモリ容量が設定メモリ容量に満たないという問題を解消できる。
第3の実施の形態による管理装置4は、第1、第2の実施の形態のように仮想マシンのCPU使用率と、物理マシンのCPU動作周波数やCPUコア数とに基づいて、仮想マシンを移行制御することに加えて、仮想マシンのメモリ使用率と物理マシンのメモリ容量及びメモリ動作周波数とに基づいて、仮想マシンを移行制御してもよい。その場合、例えば、(1)仮想マシンのCPU使用率と、物理マシンのCPU動作周波数やCPUコア数に基づく仮想マシンの移行制御を、高い頻度で実行し、(2)仮想マシンのメモリ使用率と、物理マシンのメモリ容量及びメモリ動作周波数に基づく仮想マシンの移行制御を、低い頻度で実行する。あるいは、逆の頻度で実行してもよい。つまり、移行制御の頻度を異ならせることで移行制御の場面を異ならせる。
[第4の実施の形態]
第4の実施の形態では、第3の実施の形態の仮想マシンの移行制御を変形したものである。すなわち、第4の実施の形態では、管理装置4は、まず、仮想マシンの所定期間でのメモリ使用率が第1の閾値Vth11より高い場合、よりメモリ動作周波数が高い物理マシングループに仮想マシンを移行する。逆に、管理装置4は、仮想マシンの所定期間でのメモリ使用率が第2の閾値Vth12より低い場合、よりメモリ動作周波数が低い物理マシングループに仮想マシンを移行する。そして、管理装置4は、仮想マシンのメモリ使用率がVth11〜Vth12の間にある場合、現在の物理マシングループに仮想マシンを維持する。
このような仮想マシンの割当制御を行うことで、仮想マシンのメモリ使用率が一時的に高くなりより多くのデータを処理する場合、よりメモリの動作周波数が高い物理マシンに仮想マシンを移行させて、仮想マシンによるメモリアクセス速度を高めて仮想マシンの処理の高速化を図ることができる。逆に仮想マシンのメモリ使用率が一時的に低くなりより少ないデータしか処理しない場合、よりメモリ動作周波数が低い物理マシンに仮想マシンを移行させて、他のメモリ使用率が高い仮想マシンのメモリ動作周波数が高い物理マシンへの移行を可能にすることができる。
そして、仮想マシンのメモリ使用率が第1の閾値Vth11より高い場合であって、仮想マシンが既に最高のメモリ動作周波数の物理マシンで動作中の場合、管理装置4は、その仮想マシンをよりメモリ容量が大きい物理マシングループに移行する。これにより、その仮想マシンがメモリ容量のオーバーコミットにより少ないメモリ容量しか割り当てられていないかもしれない状態を解消することができる。
第4の実施の形態においても、管理装置4は、第1、第2の実施の形態のように仮想マシンのCPU使用率と、物理マシンのCPU動作周波数やCPUコア数とに基づいて、仮想マシンを移行制御することに加えて、仮想マシンのメモリ使用率と物理マシンのメモリ容量及びメモリ動作周波数とに基づいて、仮想マシンを移行制御してもよい。例えば、第3の実施の形態で説明したとおり、両者の仮想マシンの移行制御の頻度を異ならせて異なる場面で制御するようにしてもよい。
以上、本実施の形態によれば、管理装置4は、仮想マシンを最適な物理マシンに移行制御して、仮想マシンの処理効率を最大化し処理を最速化させることができる。
以上の実施の形態をまとめると,次の付記のとおりである。
(付記1)
異なる動作周波数の演算処理装置をそれぞれ有する複数の情報処理装置と、
前記複数の情報処理装置を管理する管理装置とを有し、
前記管理装置は、
前記複数の情報処理装置の各々が実行する仮想マシンの所定期間の使用率を監視する監視部と、
前記仮想マシンのいずれかについて前記所定期間の使用率が第1の閾値を超えたことを前記監視部が検出した場合、前記複数の情報処理装置の各々が有する演算処理装置の数と、各演算処理装置が有する演算処理部の数と、各演算処理装置の動作周波数とに基づき、前記所定期間の使用率が前記第1の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる割当部とを有する情報処理システム。
(付記2)
前記仮想マシンの所定期間の使用率は、当該仮想マシンに割り当てられる前記演算処理部の所定期間の使用率である付記1に記載の情報処理システム。
(付記3)
前記情報処理装置は、当該情報処理装置内の所定数の前記演算処理部を割り当てて前記仮想マシンを実行し、
前記割当部は、前記仮想マシンに割り当てられた前記演算処理部の所定期間の使用率が前記第1の閾値より高い場合、当該仮想マシンを、より動作周波数が高い演算処理装置を有する前記他の情報処理装置に移行する付記2に記載の情報処理システム。
(付記4)
前記割当部は、前記仮想マシンに割り当てられた前記演算処理部の所定期間の使用率が前記第1の閾値よりも低い第2の閾値より低い場合、当該仮想マシンを、より動作周波数が低い演算処理装置を有する前記他の情報処理装置に移行する付記3に記載の情報処理システム。
(付記5)
前記割当部は、前記仮想マシンに割り当てられた前記演算処理部の所定期間の使用率が前記第1の閾値と前記第2の閾値の間の場合、当該仮想マシンの現在の情報処理装置への割り当てを維持する付記4に記載の情報処理システム。
(付記6)
前記割当部は、前記仮想マシンに割り当てられた前記演算処理部の所定期間の使用率が前記第1の閾値より高い場合であって、且つ、前記仮想マシンが最高の動作周波数の演算処理装置で動作中の場合、当該仮想マシンをより前記演算処理部の数が多い演算処理装置に移行する付記3に記載の情報処理システム。
(付記7)
前記複数の情報処理装置は、異なるメモリ容量とメモリ動作周波数を有するメモリを有し、
前記監視部は、前記複数の情報処理装置の各々が実行する仮想マシンの所定期間のメモリ使用率を監視し、
前記割当部は、前記仮想マシンのいずれかについて前記所定期間のメモリ使用率が第3の閾値を超えた場合、前記複数の情報処理装置の各々が有するメモリ容量とメモリの動作周波数とに基づき、前記所定期間のメモリ使用率が前記第3の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる付記1に記載の情報処理システム。
(付記8)
前記情報処理装置は、当該情報処理装置内の所定のメモリ容量を割り当てて前記仮想マシンを実行し、
前記割当部は、前記仮想マシンの前記所定期間のメモリ使用率が第3の閾値より高い場合、当該仮想マシンを、よりメモリ容量が大きい前記他の情報処理装置に移行する付記7に記載の情報処理システム。
(付記9)
前記割当部は、前記仮想マシンの前記所定期間のメモリ使用率が前記第3の閾値より低い第4の閾値より低い場合、当該仮想マシンを、よりメモリ容量が小さい前記他の情報処理装置に移行する付記8に記載の情報処理システム。
(付記10)
前記割当部は、前記仮想マシンの前記所定期間のメモリ使用率が前記第3の閾値と前記第4の閾値の間の場合、当該仮想マシンの現在の情報処理装置への割り当てを維持する付記9に記載の情報処理システム。
(付記11)
前記割当部は、前記仮想マシンの前記所定期間のメモリ使用率が前記第3の閾値より高い場合であって、且つ、前記仮想マシンが最大のメモリ容量の演算処理装置で動作中の場合、当該仮想マシンをよりメモリの動作周波数が高い演算処理装置に移行する付記8に記載の情報処理システム。
(付記12)
前記割り当て部は、前記複数の情報処理装置の各々が有する演算処理装置の数と、各演算処理装置が有する演算処理部の数と、各演算処理装置の動作周波数とに基づく、前記所定期間の使用率が前記第1の閾値を超えた仮想マシンの他の物理マシンへの第1の割当制御と、前記複数の情報処理装置の各々が有するメモリ容量とメモリの動作周波数とに基づく、前記所定期間のメモリ使用率が前記第3の閾値を超えた仮想マシンの他の物理マシンへの第2の割当制御とを、異なる場面で実行する、付記7に記載の情報処理システム。
(付記13)
異なる動作周波数の演算処理装置をそれぞれ有する複数の情報処理装置を管理する管理装置であって、
前記複数の情報処理装置の各々が実行する仮想マシンの所定期間の使用率を監視する監視部と、
前記仮想マシンのいずれかについて前記所定期間の使用率が第1の閾値を超えたことを前記監視部が検出した場合、前記複数の情報処理装置の各々が有する演算処理装置の数と、各演算処理装置が有する演算処理部の数と、各演算処理装置の動作周波数とに基づき、前記所定期間の使用率が前記第1の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる割当部とを有する管理装置。
(付記14)
前記複数の情報処理装置は、異なるメモリ容量とメモリ動作周波数を有するメモリを有し、
前記監視部は、前記複数の情報処理装置の各々が実行する仮想マシンの所定期間のメモリ使用率を監視し、
前記割当部は、前記仮想マシンのいずれかについて前記所定期間のメモリ使用率が第3の閾値を超えた場合、前記複数の情報処理装置の各々が有するメモリ容量とメモリの動作周波数とに基づき、前記所定期間のメモリ使用率が前記第3の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる付記13に記載の管理装置。
(付記15)
異なる動作周波数の演算処理装置をそれぞれ有する複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有する情報処理システムの制御方法であって、
前記複数の情報処理装置の各々が実行する仮想マシンの所定期間の使用率を監視する工程と、
前記仮想マシンのいずれかについて前記所定期間の使用率が第1の閾値を超えたことを検出した場合、前記複数の情報処理装置の各々が有する演算処理装置の数と、各演算処理装置が有する演算処理部の数と、各演算処理装置の動作周波数とに基づき、前記所定期間の使用率が前記第1の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる工程とを有する情報処理システム。
1、2、3:情報処理装置、物理マシン、VMホスト
HV:ハイパーバイザ
VM:仮想マシン
4:管理装置
4_1:VM管理ソフトウエア
4_2:利用者ポータルサイト
6:利用者端末
7:運用管理者端末
M_NW:管理ネットワーク
VM_NW:VMネットワーク
EX_NW:外部ネットワーク
20:共有ストレージ

Claims (11)

  1. 異なる動作周波数の演算処理装置をそれぞれ有する複数の情報処理装置と、
    前記複数の情報処理装置を管理する管理装置とを有し、
    前記管理装置は、
    前記複数の情報処理装置の各々が実行する仮想マシンの所定期間の使用率を監視する監視部と、
    前記仮想マシンのいずれかについて前記所定期間の使用率が第1の閾値を超えたことを前記監視部が検出した場合、前記複数の情報処理装置の各々が有する演算処理装置の数と、各演算処理装置が有する演算処理部の数と、各演算処理装置の動作周波数とに基づき、前記所定期間の使用率が前記第1の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる割当部とを有する情報処理システム。
  2. 前記仮想マシンの所定期間の使用率は、当該仮想マシンに割り当てられる前記演算処理部の所定期間の使用率である請求項1に記載の情報処理システム。
  3. 前記情報処理装置は、当該情報処理装置内の所定数の前記演算処理部を割り当てて前記仮想マシンを実行し、
    前記割当部は、前記仮想マシンに割り当てられた前記演算処理部の所定期間の使用率が前記第1の閾値より高い場合、当該仮想マシンを、より動作周波数が高い演算処理装置を有する前記他の情報処理装置に移行する請求項2に記載の情報処理システム。
  4. 前記割当部は、前記仮想マシンに割り当てられた前記演算処理部の所定期間の使用率が前記第1の閾値よりも低い第2の閾値より低い場合、当該仮想マシンを、より動作周波数が低い演算処理装置を有する前記他の情報処理装置に移行する請求項3に記載の情報処理システム。
  5. 前記割当部は、前記仮想マシンに割り当てられた前記演算処理部の所定期間の使用率が前記第1の閾値より高い場合であって、且つ、前記仮想マシンが最高の動作周波数の演算処理装置で動作中の場合、当該仮想マシンをより前記演算処理部の数が多い演算処理装置に移行する請求項3に記載の情報処理システム。
  6. 前記複数の情報処理装置は、異なるメモリ容量とメモリ動作周波数を有するメモリを有し、
    前記監視部は、前記複数の情報処理装置の各々が実行する仮想マシンの所定期間のメモリ使用率を監視し、
    前記割当部は、前記仮想マシンのいずれかについて前記所定期間のメモリ使用率が第3の閾値を超えた場合、前記複数の情報処理装置の各々が有するメモリ容量とメモリの動作周波数とに基づき、前記所定期間のメモリ使用率が前記第3の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる請求項1に記載の情報処理システム。
  7. 前記情報処理装置は、当該情報処理装置内の所定のメモリ容量を割り当てて前記仮想マシンを実行し、
    前記割当部は、前記仮想マシンの前記所定期間のメモリ使用率が第3の閾値より高い場合、当該仮想マシンを、よりメモリ容量が大きい前記他の情報処理装置に移行する請求項6に記載の情報処理システム。
  8. 前記割当部は、前記仮想マシンの前記所定期間のメモリ使用率が前記第3の閾値より低い第4の閾値より低い場合、当該仮想マシンを、よりメモリ容量が小さい前記他の情報処理装置に移行する請求項7に記載の情報処理システム。
  9. 前記割当部は、前記仮想マシンの前記所定期間のメモリ使用率が前記第3の閾値より高い場合であって、且つ、前記仮想マシンが最大のメモリ容量の演算処理装置で動作中の場合、当該仮想マシンをよりメモリの動作周波数が高い演算処理装置に移行する請求項7に記載の情報処理システム。
  10. 異なる動作周波数の演算処理装置をそれぞれ有する複数の情報処理装置を管理する管理装置であって、
    前記複数の情報処理装置の各々が実行する仮想マシンの所定期間の使用率を監視する監視部と、
    前記仮想マシンのいずれかについて前記所定期間の使用率が第1の閾値を超えたことを前記監視部が検出した場合、前記複数の情報処理装置の各々が有する演算処理装置の数と、各演算処理装置が有する演算処理部の数と、各演算処理装置の動作周波数とに基づき、前記所定期間の使用率が前記第1の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる割当部とを有する管理装置。
  11. 異なる動作周波数の演算処理装置をそれぞれ有する複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有する情報処理システムの制御方法であって、
    前記複数の情報処理装置の各々が実行する仮想マシンの所定期間の使用率を監視する工程と、
    前記仮想マシンのいずれかについて前記所定期間の使用率が第1の閾値を超えたことを検出した場合、前記複数の情報処理装置の各々が有する演算処理装置の数と、各演算処理装置が有する演算処理部の数と、各演算処理装置の動作周波数とに基づき、前記所定期間の使用率が前記第1の閾値を超えた仮想マシンを、前記複数の情報処理装置のうち他の情報処理装置に割り当てる工程とを有する情報処理システム。
JP2015000304A 2015-01-05 2015-01-05 情報処理システム、管理装置、及び情報処理システムの制御方法 Pending JP2016126562A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015000304A JP2016126562A (ja) 2015-01-05 2015-01-05 情報処理システム、管理装置、及び情報処理システムの制御方法
US14/977,691 US20160196157A1 (en) 2015-01-05 2015-12-22 Information processing system, management device, and method of controlling information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015000304A JP2016126562A (ja) 2015-01-05 2015-01-05 情報処理システム、管理装置、及び情報処理システムの制御方法

Publications (1)

Publication Number Publication Date
JP2016126562A true JP2016126562A (ja) 2016-07-11

Family

ID=56286582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015000304A Pending JP2016126562A (ja) 2015-01-05 2015-01-05 情報処理システム、管理装置、及び情報処理システムの制御方法

Country Status (2)

Country Link
US (1) US20160196157A1 (ja)
JP (1) JP2016126562A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020064567A (ja) * 2018-10-19 2020-04-23 富士通株式会社 情報処理装置、仮想マシン管理プログラムおよび仮想マシン管理方法
WO2021260908A1 (ja) * 2020-06-26 2021-12-30 日本電信電話株式会社 サーバ群選択システム、サーバ群選択方法、および、プログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10031573B2 (en) * 2014-11-17 2018-07-24 Mediatek, Inc. Energy efficiency strategy for interrupt handling in a multi-cluster system
US10848408B2 (en) * 2015-03-26 2020-11-24 Vmware, Inc. Methods and apparatus to control computing resource utilization of monitoring agents
US10419303B2 (en) * 2016-04-29 2019-09-17 Cisco Technology, Inc. Real-time ranking of monitored entities
US10430249B2 (en) * 2016-11-02 2019-10-01 Red Hat Israel, Ltd. Supporting quality-of-service for virtual machines based on operational events
TWI636679B (zh) * 2017-02-07 2018-09-21 財團法人工業技術研究院 虛擬區域網路配置系統與方法及其電腦程式產品
US11023266B2 (en) * 2017-05-16 2021-06-01 International Business Machines Corporation Detecting and counteracting a multiprocessor effect in a virtual computing environment
US10496150B2 (en) * 2017-07-13 2019-12-03 Red Hat, Inc. Power consumption optimization on the cloud
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning
CN110647384A (zh) * 2019-09-24 2020-01-03 泉州师范学院 一种优化云数据中心虚拟机迁移方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799431B2 (en) * 2005-08-15 2014-08-05 Toutvirtual Inc. Virtual systems management
US9286110B2 (en) * 2013-01-14 2016-03-15 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
US9558005B2 (en) * 2014-05-19 2017-01-31 Intel Corporation Reliable and deterministic live migration of virtual machines

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020064567A (ja) * 2018-10-19 2020-04-23 富士通株式会社 情報処理装置、仮想マシン管理プログラムおよび仮想マシン管理方法
JP7104327B2 (ja) 2018-10-19 2022-07-21 富士通株式会社 情報処理装置、仮想マシン管理プログラムおよび仮想マシン管理方法
WO2021260908A1 (ja) * 2020-06-26 2021-12-30 日本電信電話株式会社 サーバ群選択システム、サーバ群選択方法、および、プログラム
JP7468651B2 (ja) 2020-06-26 2024-04-16 日本電信電話株式会社 サーバ群選択システム、サーバ群選択方法、および、プログラム

Also Published As

Publication number Publication date
US20160196157A1 (en) 2016-07-07

Similar Documents

Publication Publication Date Title
JP2016126562A (ja) 情報処理システム、管理装置、及び情報処理システムの制御方法
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
JP4519098B2 (ja) 計算機の管理方法、計算機システム、及び管理プログラム
US9442763B2 (en) Resource allocation method and resource management platform
US9189260B2 (en) Resource allocation for virtual machines and logical partitions
CN111078363B (zh) 一种虚拟机的numa节点调度方法、装置、设备及介质
US8082400B1 (en) Partitioning a memory pool among plural computing nodes
JP5370946B2 (ja) リソース管理方法及び計算機システム
CN106133693A (zh) 虚拟机的迁移方法、装置及设备
JP2015007942A (ja) プログラム、仮想マシン管理方法および情報処理装置
US8352950B2 (en) Algorithm to share physical processors to maximize processor cache usage and topologies
Salimian et al. Survey of energy efficient data centers in cloud computing
JP6969499B2 (ja) Vmマイグレーションシステムおよびvmマイグレーション方法
US11169844B2 (en) Virtual machine migration to multiple destination nodes
US20220237016A1 (en) Apparatus for determining resource migration schedule
JP2014186411A (ja) 管理装置、情報処理システム、情報処理方法、及びプログラム
JP6374841B2 (ja) 仮想マシン配置装置および仮想マシン配置方法
JP5471292B2 (ja) 仮想マシン移動制御プログラム,仮想マシン移動制御装置および仮想マシン移動制御方法
JP2018018175A (ja) 仮想マシン制御プログラム、仮想マシン制御方法および仮想マシン制御装置
JP2019021185A (ja) 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム
JP6158751B2 (ja) 計算機資源割当装置及び計算機資源割当プログラム
JP2014167713A (ja) 情報処理装置、情報処理システム、情報処理装置管理プログラム及び情報処理装置管理方法
US20120042322A1 (en) Hybrid Program Balancing
JP6031051B2 (ja) ジョブ実行計画装置
KR20150070930A (ko) 최적 비용을 고려한 마이그레이션 자원 할당 시스템 및 할당 방법