[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6158751B2 - 計算機資源割当装置及び計算機資源割当プログラム - Google Patents

計算機資源割当装置及び計算機資源割当プログラム Download PDF

Info

Publication number
JP6158751B2
JP6158751B2 JP2014112692A JP2014112692A JP6158751B2 JP 6158751 B2 JP6158751 B2 JP 6158751B2 JP 2014112692 A JP2014112692 A JP 2014112692A JP 2014112692 A JP2014112692 A JP 2014112692A JP 6158751 B2 JP6158751 B2 JP 6158751B2
Authority
JP
Japan
Prior art keywords
computer resource
resource allocation
computer
virtual
cpu
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
JP2014112692A
Other languages
English (en)
Other versions
JP2015228075A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014112692A priority Critical patent/JP6158751B2/ja
Publication of JP2015228075A publication Critical patent/JP2015228075A/ja
Application granted granted Critical
Publication of JP6158751B2 publication Critical patent/JP6158751B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ハイパーバイザ上の仮想機器にコンピュータの計算機資源を割り当てる技術に関する。
近年、ハイパーバイザ上にオペレーティングシステム(OS)を集約することにより、コンピュータの計算機資源を有効に活用する取り組みが進んでいる。ハイパーバイザ技術は、ハードウェアとOSとの間で用いられ、ハイパーバイザ機能上で動作するOS(以下、ゲストOS)に対して計算機資源を疑似的に提供する技術である。具体的には、図8に示すように、ゲストOSを動作させるための仮想機器をソフトウェアプログラムで生成し、その仮想機器に対して計算装置等の計算機資源を割り当て、この仮想機器上でゲストOSを動作させることにより、処理負荷の小さいゲストOSや処理負荷特性の異なるゲストOSを同一のハードウェア上に集約し、計算機資源の有効利用を実現する。
小比賀、外1名、"仮想化環境における通信処理要求の処理時間安定化方式"、NECクラウドシステム研究所、電子情報通信学会総合大会、情報・システム講演論文集1、2013年、p.60
しかしながら、異なるゲストOS間やゲストOSとハイパーバイザ間で計算機資源を共有するため、同一の計算装置、記憶装置、入出力装置等への同時アクセスにより性能干渉が発生する。ゆえに、常に安定した応答性が要求されるリアルタイムシステムをハイパーバイザ上に搭載する際には、実時間性の確保と、ハイパーバイザ適用のメリットである計算機資源の有効利用との両立が課題であった。
従来ではゲストOSのリアルタイム要件をハイパーバイザ側で把握できず、ゲストOSの要求するリアルタイム性を保証するためには、図9に示すように、そのゲストOSを動作させる仮想機器に対して計算機資源を占有させていた。しかし、本方法では、実時間性の確保を実現できるが、ハイパーバイザ適用のメリットである計算機資源の利用効率が大きく低下していた。
本発明は、上記事情を鑑みてなされたものであり、OSが要求する実時間性の確保と計算機資源の有効利用との両立を実現することを目的とする。
以上の課題を解決するため、請求項1に記載の計算機資源割当装置は、プログラムで生成されたハイパーバイザ上の仮想機器にコンピュータの計算機資源を割り当てる計算機資源割当装置において、オペレーティングシステムの動作に必要な仮想機器に関する第1の情報と、同一の計算機資源を共有可能な仮想機器の組み合わせに関する第2の情報とを記憶しておくデータ記憶手段と、前記データ記憶手段から前記第1の情報および前記第2の情報を読み出して、前記第1の情報に基づきハイパーバイザ上のオペレーティングシステムが必要とする仮想機器を生成し、前記第2の情報に基づき当該仮想機器に計算機資源を割り当てる計算機資源割当手段と、を有することを要旨とする。
本発明によれば、OSの動作に必要な仮想機器に関する第1の情報と、同一の計算機資源を共有可能な仮想機器の組み合わせに関する第2の情報とを記憶しておき、第1の情報に基づきハイパーバイザ上のOSが必要とする仮想機器を生成し、第2の情報に基づき当該仮想機器に計算機資源を割り当てるため、OSが要求する実時間性の確保と計算機資源の有効利用との両立を実現できる。
請求項2に記載の計算機資源割当装置は、請求項1に記載の計算機資源割当装置において、前記計算機資源割当手段は、前記組み合わせに含まれる複数の仮想機器に同一の計算機資源を割り当てることを要旨とする。
請求項3に記載の計算機資源割当装置は、請求項1又は2に記載の計算機資源割当装置において、前記計算機資源割当手段は、前記割り当てられた計算機資源の処理負荷状況に応じて当該計算機資源の数を変更することを要旨とする。
請求項4に記載の計算機資源割当プログラムは、請求項1乃至3のいずれかに記載の計算機資源割当装置としてコンピュータを機能させることを要旨とする。
本発明によれば、OSが要求する実時間性の確保と計算機資源の有効利用との両立を実現できる。
計算機資源割当装置の機能ブロック構成を示す図である。 ゲストOSプロファイル情報の例を示す図である。 計算機資源割当ポリシ情報の例を示す図である。 計算機資源の割り当て方法を示す図である。 計算機資源の割り当て方法の具体例を示す図である。 計算機資源の割り当て数の増加方法を示す図である。 計算機資源の割り当て数の減少方法を示す図である。 コンピュータ上におけるハイパーバイザ機能部の物理的な位置関係を示す図である。 従来の計算機資源の割り当て例を示す図である。
本発明は、ゲストOSが要求する実時間性の確保とハイパーバイザ適用のメリットである計算機資源の有効利用とを両立するため、ゲストOSの処理特性やリアルタイム要件等をハイパーバイザ側で考慮し、仮想機器に対する利用計算機資源の割り当てを決定するようにする。例えば、同一CPUを共有してもよい仮想機器や共有できない仮想機器を予め定義しておき、その定義に基づき仮想機器へCPUを振り分けるようにする。以下、本発明を実施する一実施の形態について図面を用いて説明する。
図1は、本実施の形態に係る計算機資源割当装置1の機能ブロック構成を示す図である。この計算機資源割当装置1は、データ記憶部11と、計算機資源割当管理部12と、を備えて構成される。ハイパーバイザ機能を具備し、かつ、1つ以上のゲストOSを同時に実行するコンピュータ上で動作する。
データ記憶部11は、ゲストOSの処理負荷特性を含む情報を記述したゲストOSプロファイル情報と、処理負荷特性に応じた仮想機器への計算機資源の割り当てポリシを記述した計算機資源割当ポリシ情報と、を記憶しておく機能部である。
ゲストOSプロファイル情報には、ゲストOSが起動時に必要な計算機資源(仮想機器)に関する情報、ゲストOSの負荷特性に関する情報が含まれている。特にゲストOSの負荷特性に関する情報には、例えば、データベース、ウェブサーバ、VoIPサーバといったサーバの用途に関する情報、物理環境又は仮想環境上で過去に動作させた際の実測性能に関する情報が含まれている。この実測性能に関する情報には、例えば、CPU使用率、メモリ使用量、IO使用率といったOS側で測定可能なハードウェア資源利用状況情報、ゲストOS上で動作するプロセス及びスレッドに関する情報が含まれている。このプロセス及びスレッドに関する情報には、例えば、動作するプロセス及びスレッドのコマンド名又は実行ファイル名、動作するプロセス及びスレッドの実行優先度やスケジューリング方式が含まれている。ゲストOSプロファイル情報の例を図2に示す。
一方、計算機資源割当ポリシ情報には、ゲストOSの処理負荷特性に対応する計算機資源の割り当てポリシが記述されている。具体的には、仮想機器間における同一計算機資源の共有可否を判断するための情報として、仮想機器の組み合わせより共有可否を決定するための表形式の2次元配列情報、実測値に基づく計算機資源の使用量と計算機資源から共有可否を判断するための条件式が含まれている。2次元配列情報には、占有可否を決定するための情報や共有範囲の情報を含むようにしてもよい。計算機資源割当ポリシ情報の例を図3に示す。本例はDBサーバの場合を例示しており、仮想機器間(仮想CPUと仮想HDDと仮想NICとの各間)での同一CPUの共有可否を示している。APサーバやVoIPサーバについても処理負荷特性に応じて同様に定義される。
計算機資源割当管理部12は、ゲストOSプロファイル情報及び計算機資源割当ポリシ情報に基づき仮想機器に計算機資源を割り当てる機能部である。すなわち、データ記憶部11からそれら2つの情報を取得し、各情報を基に仮想機器間での計算機資源の共有の可否を判定し、各仮想機器が使用可能な計算機資源を定義して、定義した計算機資源の割り当てをハイパーバイザ機能内のディスパッチャ機能やスケジューラ機能に設定する。
次に、図4を参照しながら、計算機資源割当装置1で行う計算機資源の割り当て方法について説明する。なお、図4は最小の構成例であり、実施時には同図内に未記載の機器やシステムを接続し、他の機能部やデータを更に用いてもよい。特に、実施例の簡略化のため、計算機資源の管理対象として代表的なCPUを用いている。CPU以外に、メモリやモニタ等のハードウェア資源やソフトウェア資源であっても構わない。
最初に、ステップS1において、計算機資源割当管理部12は、データ記憶部11からゲストOSプロファイル情報を読み出す。このゲストOSプロファイル情報には、上述したように、ゲストOSが起動時に必要な計算機資源に関する情報等が含まれている。
次に、ステップS2において、計算機資源割当管理部12は、ステップS1で取得したゲストOSプロファイル情報を基に仮想機器を生成する。例えば、図2に示したゲストOSプロファイル情報の場合、ゲストOS1やゲストOS2については、それぞれ、2つの仮想CPU、1つの仮想NIC、1つの仮想HDDを生成する。一方、ゲストOS3については、4つの仮想CPU、1つの仮想NIC、1つの仮想HDDを生成する。
次に、ステップS3において、計算機資源割当管理部12は、データ記憶部11から読み出した計算機資源割当ポリシ情報を参照し、ステップS2で生成した仮想機器において同一CPUを共有可能な組み合わせを判定する。例えば、図3に示した計算機資源割当ポリシ情報の場合、仮想HDD同士、仮想HDD−仮想NIC、又は仮想NIC同士であれば同一CPUを共有できると判定する。
次に、ステップS4において、計算機資源割当管理部12は、ステップS2で生成した仮想機器群と、ステップS3で判定した同一CPUの共有可能な組み合わせ情報とに基づき、当該仮想機器群を動作させるCPUを仮想機器毎に割り当てる。例えば、同一CPUを共有可能な複数の仮想機器に対しては1つのCPUを割り当て、同一CPUを共有できない仮想機器に対しては1つのCPUを仮想機器毎に割り当てる。その後、CPUの割り当て結果をディスパッチャ機能部やスケジューラ機能部へ通知する。
最後に、ステップS5において、その通知を受けたディスパッチャ機能部又はスケジューラ機能部は、ステップS4で通知されたCPUの割り当て結果に基づき仮想機器群に対するCPUの割り当て処理を実行する。
続いて、図5を参照しながら、ステップS4で説明したCPUの割り当て方法を具体的に説明する。なお、ここではゲストOS1を用いて説明する。ステップS2を行ったタイミングで当該ゲストOS1のサーバ種別と、必要な仮想機器の種類及び数が確定している。すなわち、ゲストOS1のサーバ種別はDBサーバであり、仮想機器として仮想CPU1、仮想CPU2、仮想NIC、仮想HDDが生成されているものとする。
まず、計算機資源割当管理部12は、計算機資源割当ポリシ情報の行を上から探索し、行に該当する種別の仮想機器の中で、動作可能CPUが未定義の仮想機器を1つ抽出し、動作可能CPUの番号C(C∈C⊂N、Cは他のゲストOSに割り当てられていないCPU番号の集合、Nは自然数)を定義する(ステップS4−1)。ここでは理解を容易にするため、仮想HDDに番号CのCPUが定義されたとする。ここで動作可能CPUの番号が未定義の仮想機器がない場合は、処理を終了する。
次に、計算機資源割当管理部12は、ステップS4−1で定義を行った仮想機器が属する行の列を1列目から順次探索し、同一CPUを共有可能な仮想機器の中で動作可能CPUの番号が未定義の仮想機器を探索する。当該仮想機器が発見された場合には、当該仮想機器にも同じ番号CのCPUを定義する(ステップS4−2)。その後、1列目に戻り、同じ番号Cで動作する仮想機器と共存可能な仮想機器を新たに探索する。なお、同一CPUを共有可能かつ動作可能CPUの番号が未定義な仮想機器を発見できない場合は、CPU番号の識別子iをインクリメント(i=i+1)してステップS4−1へ戻る。
ステップS4−1〜ステップS4−2を繰り返し行うことにより、同一CPUを共有可能な複数の仮想機器に対しては1つのCPUが割り当てられ、同一CPUを共有できない仮想機器に対しては1つのCPUが仮想機器毎に割り当てられる。
ここまで、同一CPUを共有可能な複数の仮想機器に対して1つのCPU(最小数のCPU)を割り当てる実施例を説明した。一方、そのような複数の仮想機器に対して複数のCPUを割り当てても構わない。例えば、後述するステップS6を周期的に実行し、同一CPUを共有可能な複数の仮想機器に対し、処理負荷状況に応じてCPU番号の割り当てを増減させる。以下、図6を参照しながら、CPU番号の割り当て増減方法を説明する。
まず、ステップS6−1において、計算機資源割当管理部12は、仮想機器と当該仮想機器に対して割り当てられた動作可能CPUとを対応付けた配列データを探索し、同一の動作可能CPUの番号を持つ仮想機器の組を抽出する。例えば、番号CのCPUが割り当てられた仮想HDDと仮想NICの組を抽出する。
次に、ステップS6−2において、計算機資源割当管理部12は、抽出した組のCPU番号に対応するCPUについて、その処理負荷状況をスケジューラ機能部等から取得し、所定の閾値に基づき組毎にCPUの処理負荷状態(高負荷状態、通常状態、低負荷状態)を判定する。ある組において動作可能なCPU番号が複数ある場合には、その平均値等を用いて判定する。また、処理負荷状況の判断指標や閾値については、ゲストOSプロファイル情報に記述があればそれを用いてもよい。また、閾値は使用中のCPU番号やCPU数等から動的に変更してもよい。
その後、ステップS6−3において、計算機資源割当管理部12は、ステップS6−2での処理負荷の判定の結果、判定対象の組が高負荷状態と判定された場合、他のゲストOSに割り当てられていないCPU番号の集合CからCPUを取得し、当該組に属する各仮想機器の動作可能CPUとして追加する。例えば、番号CのCPU使用率が80%以上の場合、そのCPUを高負荷状態と判定し、集合Cから未割当である番号CのCPUを更に割り当てる。
一方、図7に示すように、仮想機器の組に複数の動作可能なCPUが既に割り当てられており、かつ、その組が低負荷状態と判定された場合は、番号の大きいCPUを当該組に属する各仮想機器の動作可能CPUから除外する。例えば、番号Cと番号Cの2つのCPUが割り当てられており、それら使用率の平均値が40%以下の場合には、それらCPUを低負荷状態と判定し、番号の大きいCのCPUを動作可能CPUから除外する。これにより、割り当てられたCPUの処理負荷状況に応じて、仮想機器に割り当てられるCPU資源を増減できる。
本実施の形態によれば、データ記憶部11が、ゲストOSの動作に必要な仮想機器に関するゲストOSプロファイル情報と、同一の計算機資源を共有可能な仮想機器の組み合わせに関する計算機資源割当ポリシ情報とを記憶しておき、計算機資源割当管理部12が、ゲストOSプロファイル情報に基づきハイパーバイザ上のゲストOSが必要とする仮想機器を生成し、計算機資源割当ポリシ情報に基づき当該仮想機器に計算機資源を割り当てるので、ゲストOSが要求する実時間性の確保と計算機資源の有効利用との両立を実現できる。また、ハイパーバイザによる仮想環境を提供する事業者とゲストOSの所有者が異なる場合でも、ゲストOSの処理特性に応じて仮想機器へ計算資源を割り当てることができる。
最後に、本実施の形態で説明した計算機資源割当装置1をプログラムとして構築し、コンピュータにインストールして実行させることや、通信ネットワークを介して流通させることも可能である。
1…計算機資源割当装置
11…データ記憶部
12…計算機資源割当管理部
S1〜S6、S4−1〜S4−2、S6−1〜S6−3…ステップ

Claims (4)

  1. プログラムで生成されたハイパーバイザ上の仮想機器にコンピュータの計算機資源を割り当てる計算機資源割当装置において、
    オペレーティングシステムの動作に必要な仮想機器に関する第1の情報と、同一の計算機資源を共有可能な仮想機器の組み合わせに関する第2の情報とを記憶しておくデータ記憶手段と、
    前記データ記憶手段から前記第1の情報および前記第2の情報を読み出して、前記第1の情報に基づきハイパーバイザ上のオペレーティングシステムが必要とする仮想機器を生成し、前記第2の情報に基づき当該仮想機器に計算機資源を割り当てる計算機資源割当手段と、
    を有することを特徴とする計算機資源割当装置。
  2. 前記計算機資源割当手段は、
    前記組み合わせに含まれる複数の仮想機器に同一の計算機資源を割り当てることを特徴とする請求項1に記載の計算機資源割当装置。
  3. 前記計算機資源割当手段は、
    前記割り当てられた計算機資源の処理負荷状況に応じて当該計算機資源の数を変更することを特徴とする請求項1又は2に記載の計算機資源割当装置。
  4. 請求項1乃至3のいずれかに記載の計算機資源割当装置としてコンピュータを機能させるための計算機資源割当プログラム。
JP2014112692A 2014-05-30 2014-05-30 計算機資源割当装置及び計算機資源割当プログラム Active JP6158751B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014112692A JP6158751B2 (ja) 2014-05-30 2014-05-30 計算機資源割当装置及び計算機資源割当プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014112692A JP6158751B2 (ja) 2014-05-30 2014-05-30 計算機資源割当装置及び計算機資源割当プログラム

Publications (2)

Publication Number Publication Date
JP2015228075A JP2015228075A (ja) 2015-12-17
JP6158751B2 true JP6158751B2 (ja) 2017-07-05

Family

ID=54885524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014112692A Active JP6158751B2 (ja) 2014-05-30 2014-05-30 計算機資源割当装置及び計算機資源割当プログラム

Country Status (1)

Country Link
JP (1) JP6158751B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7017132B2 (ja) 2018-09-25 2022-02-08 トヨタ車体株式会社 吸遮音部材の製造方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6839140B2 (ja) * 2018-07-30 2021-03-03 日本電信電話株式会社 制御装置、および、制御方法
JP7120199B2 (ja) * 2019-10-08 2022-08-17 横河電機株式会社 通信処理装置、通信処理方法、およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215071A (ja) * 1999-01-21 2000-08-04 Hitachi Ltd 仮想計算機システム
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP4681505B2 (ja) * 2006-05-23 2011-05-11 株式会社日立製作所 計算機システム、管理計算機及びプログラム配布方法
JP4871948B2 (ja) * 2008-12-02 2012-02-08 株式会社日立製作所 仮想計算機システム、仮想計算機システムにおけるハイパバイザ、及び仮想計算機システムにおけるスケジューリング方法
JP5332065B2 (ja) * 2010-06-11 2013-11-06 株式会社日立製作所 クラスタ構成管理方法、管理装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7017132B2 (ja) 2018-09-25 2022-02-08 トヨタ車体株式会社 吸遮音部材の製造方法

Also Published As

Publication number Publication date
JP2015228075A (ja) 2015-12-17

Similar Documents

Publication Publication Date Title
Wang et al. Dominant resource fairness in cloud computing systems with heterogeneous servers
US8959526B2 (en) Scheduling execution of complementary jobs based on resource usage
US10003500B2 (en) Systems and methods for resource sharing between two resource allocation systems
Chowdhury et al. Implementation and performance analysis of various VM placement strategies in CloudSim
US9342376B2 (en) Method, system, and device for dynamic energy efficient job scheduling in a cloud computing environment
Mattess et al. Scaling mapreduce applications across hybrid clouds to meet soft deadlines
JP5370946B2 (ja) リソース管理方法及び計算機システム
Subramanian et al. An adaptive algorithm for dynamic priority based virtual machine scheduling in cloud
Katyal et al. Application of selective algorithm for effective resource provisioning in cloud computing environment
Convolbo et al. GEODIS: towards the optimization of data locality-aware job scheduling in geo-distributed data centers
Liu et al. Preemptive hadoop jobs scheduling under a deadline
Wang et al. Optimizing big data processing performance in the public cloud: opportunities and approaches
Han et al. Energy efficient VM scheduling for big data processing in cloud computing environments
JPWO2012127641A1 (ja) 情報処理システム
Tan et al. Resource stealing: a resource multiplexing method for mix workloads in cloud system
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
JP6158751B2 (ja) 計算機資源割当装置及び計算機資源割当プログラム
Wu et al. Designing parallel loop self-scheduling schemes using the hybrid MPI and OpenMP programming model for multi-core grid systems
Maleki et al. TMaR: a two-stage MapReduce scheduler for heterogeneous environments
Yan et al. Affinity-aware virtual cluster optimization for mapreduce applications
Bey et al. New tasks scheduling strategy for resources allocation in cloud computing environment
Gouasmi et al. Cost-efficient distributed MapReduce job scheduling across cloud federation
Gupta et al. Load balancing using genetic algorithm in mobile cloud computing
Wang et al. Pft: a performance-fairness scheduler on hadoop yarn
Komarasamy et al. Priority scheduling with consolidation based backfilling algorithm in cloud

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170526

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170608

R150 Certificate of patent or registration of utility model

Ref document number: 6158751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150