(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024087625
(43)【公開日】2024-07-01
(54)【発明の名称】リソース管理プログラム,管理装置及びリソース管理方法
(51)【国際特許分類】
G06F 9/50 20060101AFI20240624BHJP
G06F 9/455 20180101ALI20240624BHJP
【FI】
G06F9/50 120Z
G06F9/455 150
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022202555
(22)【出願日】2022-12-19
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】遠藤 浩史
(72)【発明者】
【氏名】風間 哲
(72)【発明者】
【氏名】鈴木 和宏
(57)【要約】
【課題】仮想化システムにおける利用効率を向上させる。
【解決手段】仮想化システム100を管理するコンピュータに、ユーザ2による仮想化システム100の使用履歴141から、仮想化システム100におけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出し、各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出し、第1の点数と第2の点数との合計値が低い順に各リソースをユーザ2に割り当てる、処理を実行させる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
仮想化システムを管理するコンピュータに、
ユーザによる前記仮想化システムの使用履歴から、前記仮想化システムにおけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出し、
各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出し、
前記第1の点数と前記第2の点数との合計値が低い順に各リソースを前記ユーザに割り当てる、
処理を実行させる、ことを特徴とするリソース管理プログラム。
【請求項2】
前記仮想化システムにおけるリソース使用率が閾値よりも高い場合に、前記割り当てを行う、
処理を前記コンピュータに実行させる、ことを特徴とする請求項1に記載のリソース管理プログラム。
【請求項3】
前記第2の点数を算出する処理において、前記使用頻度に応じて該当するリソースにおける前記第2の点数を加点する、
処理を前記コンピュータに実行させる、ことを特徴とする請求項1又は2に記載のリソース管理プログラム。
【請求項4】
前記第2の点数を算出する処理において、前記互換性が低いリソースにおける前記第2の点数を減点する、
処理を前記コンピュータに実行させる、ことを特徴とする請求項1又は2に記載のリソース管理プログラム。
【請求項5】
仮想化システムを管理するコンピュータが、
ユーザによる前記仮想化システムの使用履歴から、前記仮想化システムにおけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出し、
各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出し、
前記第1の点数と前記第2の点数との合計値が低い順に各リソースを前記ユーザに割り当てる、
処理を実行する、ことを特徴とするリソース管理方法。
【請求項6】
仮想化システムを管理する管理装置において、
ユーザによる前記仮想化システムの使用履歴から、前記仮想化システムにおけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出し、各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出する配点付与部と、
前記第1の点数と前記第2の点数との合計値が低い順に各リソースを前記ユーザに割り当てる決定部と、
を備えることを特徴とする管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リソース管理プログラム,管理装置及びリソース管理方法に関する。
【背景技術】
【0002】
コンポーザブルインフラシステム(別言すれば、仮想化システム)では、Central Processing Unit(CPU)リソースとストレージリソースとがそれぞれ分離された上で、論理的にプール化される。
【0003】
コンポーザブルインフラシステムは、多様なワークロードに最適なリソースをリソースプールから自由に切り出し、マシンに構成・提供するソリューションである。
【0004】
特に、大規模システムにおいて、リソースプールに様々なスペックのリソースが存在する場合ある。
【0005】
図1は、従来例としてのコンポーザブルインフラシステム600におけるリソースの切り出し処理を例示するブロック図である。
【0006】
符号A1に示すように、ユーザ7は、YAML601(要求の注文書)において、対象イメージとして「BOOT(リソース条件なし)」を指定し、構成リソースとして「CPU(指定なし)×1」,「GPU(指定なし)×1」,「SSD×1」を指定する。
【0007】
符号A2に示すように、YAML601がユーザのリクエスト(別言すれば、ジョブ)として管理装置6に入力される。
【0008】
符号A3に示すように、管理装置6は、リソースプール602からユーザに渡すリソースを選択する。
【0009】
図1に示す例において、リソースプール602には、4つの低性能CPUノード,2つの高性能CPUノード,3つの低性能Graphical Processing Unit(GPU),3つの高性能GPU及び6つのSolid State Drive(SSD)を含む。なお、1つの低性能CPUノード,1つの低性能GPU,1つの高性能GPU及び1つのSSDは、使用中である。
【0010】
符号A4に示すように、管理装置6は、要求されたリソースをリソースプール602から切り出し、作成したマシン603が提示される。作成したマシン603には、予め登録されていた各種ドライバ及びImageファイルに加えて、リソースプール602から切り出された1つの低性能CPU,1つの低性能GPU及び1つのSSDが登録される。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2021-193504号公報
【特許文献2】特開2017-191485号公報
【特許文献3】特開2019-071026号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、コンポーザブルインフラシステムでは、ジョブに対するハードウェア資源割り当てが適切に行えないことがあるため、ハードウェア資源が枯渇し、新たなジョブが実行できないおそれがある。例えば、高性能のリソース要求があった場合には、残リソースだけでの配備ができないことがある。
【0013】
1つの側面では、仮想化システムにおける利用効率を向上させることを目的とする。
【課題を解決するための手段】
【0014】
1つの側面では、リソース管理プログラムは、仮想化システムを管理するコンピュータに、ユーザによる前記仮想化システムの使用履歴から、前記仮想化システムにおけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出し、各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出し、前記第1の点数と前記第2の点数との合計値が低い順に各リソースを前記ユーザに割り当てる、処理を実行させる。
【発明の効果】
【0015】
1つの側面では、仮想化システムにおける利用効率を向上させることができる。
【図面の簡単な説明】
【0016】
【
図1】従来例としてのコンポーザブルインフラシステムにおけるリソースの切り出し処理を例示するブロック図である。
【
図2】実施形態としてのコンポーザブルインフラシステムにおけるリソースの切り出し処理を例示するブロック図である。
【
図3】実施形態としての管理装置のソフトウェア構成例を模式的に示すブロック図である。
【
図4】実施形態におけるリソースプール登録及び配備状況Database(DB)の書き込み処理を説明するフローチャートである。
【
図5】実施形態におけるリソース使用歴DBの更新処理を説明するフローチャートである。
【
図6】実施形態におけるリソーススペックDBの更新処理を説明するフローチャートである。
【
図7】実施形態における要求組み合わせ表DBの更新処理を説明するフローチャートである。
【
図8】実施形態におけるリソース配点の更新処理を説明するフローチャートである。
【
図9】実施形態におけるマシン配備処理を説明するフローチャートである。
【
図10】実施形態におけるリソースプール登録及び配備状況DBを例示するテーブルである。
【
図11】実施形態におけるリソース使用歴DBを例示するテーブルである。
【
図12】実施形態におけるリソーススペックDBを例示するテーブルである。
【
図13】実施形態におけるリソースの周期利用推定処理を説明する図である。
【
図14】実施形態におけるリソースの残数推定処理を説明する図である。
【
図15】実施形態におけるBOOTイメージやリソース間の組み合わせ回数の確認処理を説明する図である。
【
図16】実施形態における要求組み合わせ表DBの第1の例を示すテーブルである。
【
図17】実施形態における要求組み合わせ表DBの第2の例を示すテーブルである。
【
図18】実施形態における各リソースの持ち点を例示するテーブルである。
【
図19】実施形態におけるリソース配点DBの生成処理を説明する図である。
【
図20】実施形態としてのコンポーザブルインフラシステムにおける現在及び将来のシステムのリソース使用率が設定した上限閾値よりも低い場合のリソースの切り出し処理を例示するブロック図である。
【
図21】実施形態としてのコンポーザブルインフラシステムにおける現在及び将来のシステムのリソース使用率が設定した上限閾値よりも高い場合のリソースの切り出し処理を例示するブロック図である。
【
図22】実施形態における管理装置のハードウェア構成例を模式的に示すブロック図である。
【
図23】実施形態における効果を説明する図である。
【発明を実施するための形態】
【0017】
〔A〕実施形態
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0018】
図2は、実施形態としてのコンポーザブルインフラシステム100におけるリソースの切り出し処理を例示するブロック図である。
【0019】
コンポーザブルインフラシステム100は、仮想化システムの一例であり、管理装置1を備える。
【0020】
管理装置1は、コンポーザブルインフラシステム100における、ユーザ端末2(以降、ユーザ2とも称する)のリクエストを受信し、リクエストに対して使用するハードウェア資源を返答する。
【0021】
具体的には、管理装置1は、コンポーザブルインフラシステム100の利用実績を基に、ユーザ2のリクエストに応じたハードウェア資源を抽出し、返答する。ただし、管理装置1は、コンポーザブルインフラシステム100の繁忙期には、あえてリクエストよりも性能が低いハードウェア資源を抽出することでより多くのジョブを受け入れられるようにする。
【0022】
符号B1に示すように、ユーザ2は、YAML101(要求の注文書)において、対象イメージとして「BOOT_A」を指定し、構成リソースとして「SSD_A(型番直指定)」,「GPU性能XX以上(スペック指定)」,「CPU指定なし」を指定する。
【0023】
符号B2に示すように、マシン作成要求としてYAML101が管理装置1に渡される。
【0024】
符号B3に示すように、管理装置1は、リソーススペックDB142に基づく資源状況とユーザ要求とこれまでのユーザ2からの使用歴を示すリソース使用歴DB141とからリソースを選択する。なお、リソース使用歴DB141の詳細は
図11等を用いて後述すると共に、リソーススペックDB142の詳細は
図12等を用いて後述する。
【0025】
管理装置1は、YAML101において、CPU指定がないため低性能な(別言すれば、人気のない)CPUを選択する。管理装置1は、YAML101において、GPU性能xx以上だが、利用実績から性能下限以下のGPUを選択してよい。
【0026】
管理装置1は、リソースプール102におけるリソース利用状況が変化した場合に、リソース利用状況の変化に関する情報の入力を受け付けてよい。また、管理装置1は、ユーザに対して、各種の情報の出力及び変更通知を行ってよい。
【0027】
符号B4に示すように、管理装置1は、リソースプール102からユーザに渡すリソースを選択する。
【0028】
図2に示す例において、リソースプール102には、4つの低性能CPUノード,2つの高性能CPUノード,3つの低性能GPU,3つの高性能GPU及び6つのSSDを含む。なお、1つの低性能CPUノード,1つの低性能GPU,1つの高性能GPU及び1つのSSDは、使用中である。
【0029】
符号B5に示すように、管理装置1は、要求されたリソースをリソースプール102から切り出し、作成したマシン103が提示される。作成したマシン103には、予め登録されていた各種ドライバ及びImageファイルに加えて、リソースプール102から切り出された1つの低性能CPU,1つの低性能GPU及び1つのSSDが登録される。
【0030】
符号B6に示すように、作成したマシン103に登録されるGPUは、要求よりも性能が低いGPUとなっている。
【0031】
符号B7に示すように、管理装置1は、ユーザ2に対して、作成したマシン103を提供する。
【0032】
図3は、実施形態としての管理装置1のソフトウェア構成例を模式的に示すブロック図である。
【0033】
管理装置1は、リソースプール利用状況取得部111,リソース使用履歴取得部112,リソース配備状況取得部113,リソーススペック入力部114,要求組み合わせ表作成更新部115,使用台数推定モデル作成部116,リソース需要推定部117,マシン未割当リソース推定部118,リソース残数配点付与部119,リソース組み合わせ配点付与部120,リソース毎配点算出部121,マシン配備要求受付部122,マシン配備決定部123,使用率閾値取得部124,マシン配備実行部125として機能する。
【0034】
また、管理装置1は、リソース使用歴DB141,リソーススペックDB142,リソースプール登録及び配備状況DB143,要求組み合わせ表DB144,リソース配点DB145を備える。
【0035】
リソースプール利用状況取得部111は、各リソースのリソース使用状況を定期的に取得する。リソースプール利用状況取得部111は、各リソースのリソース使用状況に差分(別言すれば、更新)がある場合に、リソースプール登録及び配備状況DB143に現在の使用状況を登録する。
【0036】
ユーザからのリソース使用要求があった際に、リソース使用履歴取得部112は、ユーザ情報,リソース要求情報,要求日時をリソース使用歴DB141に登録する。
【0037】
リソース配備状況取得部113は、リソースプール登録及び配備状況DB143からリソース使用結果を取り出し、要求に対する配備結果としてリソース使用歴DB141に登録する。
【0038】
システム管理者(不図示)は、リソースプール102に新たな機種のリソースが追加されるたびに、リソーススペック入力部114によって当該リソースのリソーススペック(別言すれば、仕様値)をリソーススペックDB142に登録する。
【0039】
要求組み合わせ表作成更新部115は、リソーススペックDB142及びリソース使用歴DB141を定期的に取得する。
【0040】
リソース使用歴DB141に新たにユーザから指定のあったリソース組み合わせがある場合に、要求組み合わせ表作成更新部115は、リソース使用歴DB141から要求組み合わせ表DB144を作成する。そして、要求組み合わせ表作成更新部115は、リソーススペックDB142及びリソース使用歴DB141から要求組み合わせの件数を計上し、要求組み合わせ表DB144のテーブルに件数を書き込む。
【0041】
リソーススペックDB142に互換性のないリソース組み合わせが存在する場合に、要求組み合わせ表作成更新部115は、リソーススペックDB142から組み合わせ不可なリソースを抽出し、要求組み合わせ表DB144のテーブルに”×”を書き込む。
【0042】
使用台数推定モデル作成部116は、リソース使用歴DB141からリソース使用歴の時系列データを取得する。使用台数推定モデル作成部116は、リソース種別ごとに使用台数の推定モデルを作成する。
【0043】
リソース需要推定部117は、使用台数の推定モデルを用いて、任意の時間における使用台数の推定値を取得する。
【0044】
マシン未割当リソース推定部118は、使用台数の推定モデルを用いて、リソース種別ごとに任意の時間におけるマシン未割当リソース(別言すれば、残数)の推定値を取得する。
【0045】
リソース残数配点付与部119は、マシン未割当リソースの推定値をもとにリソース種別ごとに残数を評価し、リソース残数が少ないほど高点数を付与していく。別言すれば、リソース残数配点付与部119は、配点付与部の一例であり、ユーザ2による仮想化システム100のリソース使用歴DB141から、仮想化システム100におけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出する。
【0046】
要求組み合わせ表DB144に基づき、リソース組み合わせ配点付与部120は、各リソースへの配点を付与する。例えば、要求組み合わせ表DB144のテーブルにおける”1件”=2点、“×”=-1点などが付与される。別言すれば、リソース組み合わせ配点付与部120は、配点付与部の一例であり、各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出する。
【0047】
リソース毎配点算出部121は、リソース組み合わせ配点付与部120及びリソース残数配点付与部119で得た各リソースへの配点を合算し、合算した配点をリソース配点DB145に格納する。
【0048】
マシン配備要求受付部122は、ユーザ2からのマシン配備要求を受付する。
【0049】
マシン配備決定部123は、推定したリソース需要とマシン配備要求からマシン配備を決定する。
【0050】
マシン配備決定部123は、リソース使用歴DB141を参照し、要求ユーザの過去の配備履歴を取得する。
【0051】
マシン配備決定部123は、リソースプール登録及び配備状況DB143から現在のシステムのリソース使用率を取得し、リソース需要推定部117から将来のシステムのリソース使用率を取得する。
【0052】
マシン配備決定部123は、使用率閾値取得部124から上限閾値を取得する。
【0053】
現在及び将来のシステムのリソース使用率が上限閾値よりも高く、且つ、要求ユーザの過去の配備履歴にあったリソースに変更することで不足は解消する場合に、マシン配備決定部123は、選択リソースを要求ユーザの過去の配備履歴にあったリソースに変更し、システム管理者に対し変更したことを返す。また、現在のマシン配備要求に対して残リソースで充足せず、且つ、要求ユーザの過去の配備履歴にあったリソースに変更することで不足は解消する場合にも、マシン配備決定部123は、選択リソースを要求ユーザの過去の配備履歴にあったリソースに変更し、システム管理者に対し変更したことを返す。
【0054】
別言すれば、マシン配備決定部123は、決定部の一例であり、第1の点数と第2の点数との合計値が低い順に各リソースをユーザ2に割り当てる。
【0055】
マシン配備実行部125は、マシン配備決定部123で決定された配備要求情報を渡され、実際にマシン配備を実行する。
【0056】
実施形態におけるリソースプール登録及び配備状況DB143の書き込み処理を、
図4に示すフローチャート(ステップS1~S3)を用いて説明する。
【0057】
リソースプール利用状況取得部111は、各リソースのリソース使用状況を定期的に取得する(ステップS1)。
【0058】
リソースプール利用状況取得部111は、各リソースのリソース使用状況に差分(別言すれば、更新)があるかを判定する(ステップS2)。
【0059】
各リソースのリソース使用状況に差分(別言すれば、更新)がない場合には(ステップS2のNOルート参照)、リソースプール登録及び配備状況DB143の書き込み処理は終了し、定期的に処理は再度開始される。
【0060】
各リソースのリソース使用状況に差分(別言すれば、更新)がある場合に(ステップS2のYESルート参照)、リソースプール利用状況取得部111は、リソースプール登録及び配備状況DB143に現在の使用状況を登録する(ステップS3)。そして、リソースプール登録及び配備状況DB143の書き込み処理は終了し、定期的に処理は再度開始される。
【0061】
次に、実施形態におけるリソース使用歴DB141の更新処理を、
図5に示すフローチャート(ステップS11~S12)を用いて説明する。
【0062】
ユーザからのリソース使用要求があった際に、リソース使用履歴取得部112は、ユーザ情報,リソース要求情報,要求日時をリソース使用歴DB141に登録する(ステップS11)。
【0063】
リソース配備状況取得部113は、リソースプール登録及び配備状況DB143からリソース使用結果を取り出し、要求に対する配備結果としてリソース使用歴DB141に登録する(ステップS12)。そして、リソース使用歴DB141の更新処理は終了し、リソース要求があるたびに処理は再度開始される。
【0064】
次に、実施形態におけるリソーススペックDB142の更新処理を、
図6に示すフローチャート(ステップS21)を用いて説明する。
【0065】
システム管理者(不図示)は、リソースプール102に新たな機種のリソースが追加されるたびに、リソーススペック入力部114によって当該リソースのリソーススペック(別言すれば、仕様値)をリソーススペックDB142に登録する(ステップS21)。そして、リソーススペックDB142の更新処理は終了し、新たな機種のリソースが追加されるたびに処理は再度開始される。
【0066】
次に、実施形態における要求組み合わせ表DB144の更新処理を、
図7に示すフローチャート(ステップS31~S36)を用いて説明する。
【0067】
要求組み合わせ表作成更新部115は、リソーススペックDB142及びリソース使用歴DB141を定期的に取得する(ステップS31)。
【0068】
要求組み合わせ表作成更新部115は、リソース使用歴DB141に新たにユーザから指定のあったリソース組み合わせがあるかを判定する。
【0069】
リソース使用歴DB141に新たにユーザから指定のあったリソース組み合わせがない場合には(ステップS32のNOルート参照)、処理はステップS34へ進む。
【0070】
一方、リソース使用歴DB141に新たにユーザから指定のあったリソース組み合わせがある場合には(ステップS32のYESルート参照)、要求組み合わせ表作成更新部115は、リソース使用歴DB141から要求組み合わせ表DB144を作成する。そして、要求組み合わせ表作成更新部115は、リソーススペックDB142及びリソース使用歴DB141から要求組み合わせの件数を計上し、要求組み合わせ表DB144のテーブルに件数を書き込む(ステップS33)。
【0071】
リソーススペック入力部114は、リソーススペックDB142にリソーススペックを作成する(ステップS34)。
【0072】
要求組み合わせ表作成更新部115は、リソーススペックDB142に互換性のないリソース組み合わせが存在するかを判定する(ステップS35)。
【0073】
リソーススペックDB142に互換性のないリソース組み合わせが存在しない場合には(ステップS35のNOルート参照)、要求組み合わせ表DB144の更新処理は終了し、定期的に処理は再度開始される。
【0074】
一方、リソーススペックDB142に互換性のないリソース組み合わせが存在する場合には(ステップS35のYESルート参照)、要求組み合わせ表作成更新部115は、リソーススペックDB142から組み合わせ不可なリソースを抽出し、要求組み合わせ表DB144のテーブルに”×”を書き込む(ステップS36)。そして、要求組み合わせ表DB144の更新処理は終了し、定期的に処理は再度開始される。
【0075】
次に、実施形態におけるリソース配点の更新処理を、
図8に示すフローチャート(ステップS41~S47)を用いて説明する。
【0076】
使用台数推定モデル作成部116は、リソース使用歴DB141からリソース使用歴の時系列データを取得する(ステップS41)。
【0077】
使用台数推定モデル作成部116は、リソース種別ごとに使用台数の推定モデルを作成する(ステップS42)。
【0078】
リソース需要推定部117は、使用台数の推定モデルを用いて、任意の時間における使用台数の推定値を取得する(ステップS43)。
【0079】
マシン未割当リソース推定部118は、使用台数の推定モデルを用いて、リソース種別ごとに任意の時間におけるマシン未割当リソース(別言すれば、残数)の推定値を取得する(ステップS44)。
【0080】
リソース残数配点付与部119は、マシン未割当リソースの推定値をもとにリソース種別ごとに残数を評価し、リソース残数が少ないほど高点数を付与していく(ステップS45)。
【0081】
リソース組み合わせ配点付与部120は、要求組み合わせ表DB144に基づき、各リソースへの配点を付与する(ステップS46)。例えば、要求組み合わせ表DB144のテーブルにおける”1件”=2点、“×”=-1点などが付与される。
【0082】
リソース毎配点算出部121は、リソース組み合わせ配点付与部120及びリソース残数配点付与部119で得た各リソースへの配点を合算し、合算した配点をリソース配点DB145に格納する(ステップS47)。そして、リソース配点の更新処理は終了する。
【0083】
次に、実施形態におけるマシン配備処理を、
図9に示すフローチャート(ステップS51~S63)を用いて説明する。
【0084】
マシン配備要求受付部122は、ユーザ2からのマシン配備要求を受付する。更に、マシン配備決定部123は、推定したリソース需要とマシン配備要求からマシン配備を決定する(ステップS51)。
【0085】
マシン配備決定部123は、リソース使用歴DB141を参照し、要求ユーザの過去の配備履歴を取得する(ステップS52)。
【0086】
マシン配備決定部123は、リソースプール登録及び配備状況DB143から現在のシステムのリソース使用率を取得し、リソース需要推定部117から将来のシステムのリソース使用率を取得する(ステップS53)。
【0087】
マシン配備決定部123は、使用率閾値取得部124から上限閾値を取得する(ステップS54)。
【0088】
マシン配備決定部123は、現在及び将来のシステムのリソース使用率が上限閾値よりも高いかを判定する(ステップS55)。
【0089】
現在及び将来のシステムのリソース使用率が上限閾値よりも高くない場合には(ステップS55のNOルート参照)、マシン配備決定部123は、現在のマシン配備要求に対して残リソースで充足するかを判定する(ステップS56)。
【0090】
現在のマシン配備要求に対して残リソースで充足する場合には(ステップS56のYESルート参照)、マシン配備決定部123は、リソース配点DB145にて得られた各リソースへの配点を取得し、結果を昇順にソートする(ステップS57)。
【0091】
マシン配備決定部123は、マシン配備要求に対し、該当するリソースが複数種類存在するかを判定する(ステップS58)。
【0092】
マシン配備要求に対し、該当するリソースが複数種類存在する場合には(ステップS58のYESルート参照)、処理はステップS60へ進む。
【0093】
一方、マシン配備要求に対し、該当するリソースが複数種類存在しない場合には(ステップS58のNOルート参照)、マシン配備決定部123は、配点リストを参照し、点数の低いリソースを選択する(ステップS59)。
【0094】
マシン配備決定部123で決定したマシン配備要求情報がマシン配備実行部125に渡され、実際にマシン配備が実行される(ステップS60)。そして、実施形態におけるマシン配備処理は終了する。
【0095】
ステップS55において現在及び将来のシステムのリソース使用率が上限閾値よりも高い場合(ステップS55のYESルート参照)又はステップS56において現在のマシン配備要求に対して残リソースで充足しない場合には(ステップS56のNOルート参照)、処理はステップS61へ進む。マシン配備決定部123は、要求ユーザの過去の配備履歴にあったリソースに変更することで不足は解消するかを判定する(ステップS61)。
【0096】
要求ユーザの過去の配備履歴にあったリソースに変更することで不足は解消する場合には(ステップS61のYESルート参照)、マシン配備決定部123は、選択リソースを要求ユーザの過去の配備履歴にあったリソースに変更し、システム管理者に対し変更したことを返す(ステップS62)。そして、処理はステップS60へ進む。
【0097】
要求ユーザの過去の配備履歴にあったリソースに変更することで不足は解消しない場合には(ステップS61のNOルート参照)、マシン配備決定部123は、残リソースではマシン配備要求を満たすことができない為、システム管理者に対しマシン配備エラーを返す(ステップS63)。そして、実施形態におけるマシン配備処理は終了する。
【0098】
図10は、実施形態におけるリソースプール登録及び配備状況DB143を例示するテーブルである。
【0099】
リソースプール登録及び配備状況DB143には、リソースID,リソース名,リソース種別,リソース型番及びマシン配備状態が対応づけて登録されてよい。
【0100】
リソースプール登録及び配備状況DB143には、リソース個々単位でリソースの名称,種別,仕様等が記述される。同じ種別・型番のリソース(
図10に示す例ではリソースID=1,4,5)が存在する場合は存在数分だけ記述される。新たにリソースが接続された場合には、レコード数が増やされていく。
【0101】
図11は、実施形態におけるリソース使用歴DB141を例示するテーブルである。
【0102】
リソース使用歴DB141には、使用歴ID,マシン名,配備日時,解体日時,使用したリソース,使用したImage,使用したドライバのバージョン及びユーザからの要求情報が対応付けて登録されてよい。
【0103】
リソース使用歴DB141には、マシン配備時に使用したリソースのうち、ユーザより指定のあったリソース一覧が記述される。
【0104】
ユーザ2から「ある性能以上~」の指定があった場合は、使用リソースに目印(
図11に示す例では*)を付け、ユーザ2からの要求情報に記述される。
【0105】
同じ種別・型番のリソースが使用された場合は、存在数分だけ使用したリソースの欄に記述される。
【0106】
図12は、実施形態におけるリソーススペックDB142を例示するテーブルである。
【0107】
リソーススペックDB142には、リソースID,リソース名,リソース種別,リソース型番及びリソース仕様が対応付けて登録される。
【0108】
リソーススペックDB142には、リソース型番単位でリソースの名称、種別、仕様などが記述される。リソースプール登録及び配備状況DB143にあるリソース型番を用いて、このスペック情報が取得され、リソーススペックDB142に紐づけできる。新たなリソースが設置された場合にはリソーススペックDB142のレコード数を増やしていく。
【0109】
図13は、実施形態におけるリソースの周期利用推定処理を説明する図である。
【0110】
符号C1に示すように、リソース使用歴DB141からリソース毎の使用台数(実績値)の時系列データが取得される。
【0111】
符号C2に示すように、推定モデルYCPU_B=f(XCPU_B)及びYCPU_A=f(XCPU_A)を作成する。
【0112】
符号C3に示すように、推定モデルにより使用台数の推定値が算出される。
【0113】
図14は、実施形態におけるリソースの残数推定処理を説明する図である。
【0114】
符号D1に示すように、
図13で示したリソースの使用台数の推定モデルY
CPU_B=f(X
CPU_B),Y
CPU_A=f(X
CPU_A)が作成される。
【0115】
符号D2に示すように、使用台数の推定モデルを用いて、リソース種別ごとにマシン未割当リソース(別言すれば、残数)の時系列推定値が算出される。
図14に示す例では、時刻10:00において、CPU_Bの残数が1台であり、CPU_Aの残数が10台であることが推定されている。
【0116】
符号D3に示すように、リソース種別ごとに残数が評価され、リソース残数が少ないほど高点数及び高ランクが付与される。
図14に示す例では、時刻10:00において、残数1台のCPU_Bに1位(10点)が付与され、残数10台のCPU_Aに2位(5点)が付与されている。点数の付け方としては、残数でランク付けする以外に、例えば、総量に対する残数比率でランク付けしてもよい。
【0117】
そして、符号D4に示すように、リソースの残数推定によって配点表が得られる。
図14に示すテーブルでは、CPU高性能(CPU_B)の点数が10で、CPU中性能の点数が5となっている。
【0118】
図15は、実施形態におけるBOOTイメージやリソース間の組み合わせ回数の確認処理を説明する図である。
【0119】
ユーザからのこれまでのYAML101の要求履歴から、要求されたリソース組み合わせの件数が確認される。
【0120】
符号E1に示すYAML101の要求履歴においては、対象イメージとして「BOOT_X(リソース条件なし)」が指定されており、構成リソースとして「CPU(指定なし)×1」,「GPU(指定なし)×1」,「SSD ×1」が指定されている。符号E1に示す例においては、性能の指定なしの為、点数付与はなしとなる。
【0121】
符号E2に示すYAML101の要求履歴においては、対象イメージとして「BOOT_X(要 高性能CPU、高性能GPU)」が指定されており、構成リソースとして「CPU(高性能)×1」,「GPU(高性能)×1」,「SSD ×1」が指定されている。符号E2に示す例においては、「CPU(高性能)・GPU(高性能) 組み合わせ」が+1件となり、「CPU(高性能)・BOOT_A 組み合わせ」が+1件となり、「GPU(高性能)・BOOT_A 組み合わせ」が+1件となる。
【0122】
符号E3に示すYAML101の要求履歴においては、対象イメージとして「BOOT_X(要高性能GPU)」が指定されており、構成リソースとして「CPU(指定なし)×1」,「GPU(高性能)×2」,「SSD ×1」が指定されている。符号E3に示す例においては、「GPU(高性能)・GPU(高性能) 組み合わせ」が+1件となり、「GPU(高性能)・BOOT_B組み合わせ」が+2件となる。同じリソースが複数あれば重複して件数がカウントされる。符号E3に示す場合、GPU(高性能)が2台あるので、BOOT_Bとの組み合わせは2件としている。
【0123】
符号E4に示すYAML101の要求履歴においては、対象イメージとして「BOOT_X(要中性能以上GPU)」が指定されており、構成リソースとして「CPU(指定なし)×1」,「GPU(高性能)×1」,「SSD ×1」が指定されている。符号E4に示す例においては、「GPU(中性能)・BOOT_C組み合わせ」が+1件となり、「GPU(高性能)・BOOT_C組み合わせ」が+1件となる。要求性能が「ある性能以上~」の場合は、その性能以上の組み合わせに対し加点される。符号E4に示す場合、GPU(中性能)及びGPU(高性能)に対して加点している。
【0124】
図16は、実施形態における要求組み合わせ表DB144の第1の例を示すテーブルである。
【0125】
図16に示す要求組み合わせの一覧表においては、
図15においてカウントされた組み合わせ回数(件数)が合算して登録されている。
【0126】
例えば、CPU(高性能)・GPU(高性能)の組み合わせについて「1」が登録されており、GPU(高性能)・BOOT_B組み合わせについて「2」が登録されている。
【0127】
図17は、実施形態における要求組み合わせ表DB144の第2の例を示すテーブルである。
【0128】
図17に示す要求組み合わせの一覧表においては、
図16において登録された組み合わせ回数に加えて、組み合わせ不可な要求組み合わせについて「×」印が登録されている。組み合わせ不可な要求組み合わせは、メーカサイトやカタログ等からリソーススペックを入手することによって特定した、互換性のない組み合わせであってよい。
【0129】
図17に示す例においては、CPU(高性能)とGPU(中性能)の組み合わせは不可として登録されている。また、img(Image)ファイルはいずれか1つしか使用しない為、imgファイルの組み合わせはすべて不可として登録されている。
【0130】
図18は、実施形態における各リソースの持ち点を例示するテーブルである。
【0131】
図18に示す各リソースの持ち点は、
図17に示した要求組み合わせの一覧表において、件数の値は加点し、「×」印は減点として算出されてよい。
【0132】
図18に示す例では、”1件”=+2点,”×”=-1点とした場合の点数が登録されている。例えば、CPU(高性能)には、
図17に示した一覧表において“1件”が2つ、“×”が1つ存在するため、(+2)×2+(-1)×1=3が得点として登録される。
【0133】
図19は、実施形態におけるリソース配点DB145の生成処理を説明する図である。
【0134】
図19の符号F3に示すリソース配点DB145は、
図14に示したリソースの残数推定で得られる配点表(符号F1参照)と、
図18に示したBOOTイメージやリソース間の組み合わせ回数で得られる配点表(符号F2参照)との点数を合算して、各リソースの点数を最終的に決定することによって生成される。
【0135】
例えば、符号F3に示すリソース配点DB145のCPU(高性能)には、符号F1に示す配点表のCPU(高性能)の値である10と、符号F2に示す配点表のCPU(高性能)の値である3との合算値である13が登録される。
【0136】
図20は、実施形態としてのコンポーザブルインフラシステム100における現在及び将来のシステムのリソース使用率が設定した上限閾値よりも低い場合のリソースの切り出し処理を例示するブロック図である。
【0137】
管理装置1は、現在及び将来のシステムのリソース使用率が設定した上限閾値よりも低い場合には、ユーザ2からのリソース指定・スペック制約指定の範囲で、マシン作成時には点数が低いリソース(別言すれば、使用頻度が低いリソース)から選択をしていく。
【0138】
図20に示す例では、符号G1に示すように、マシン作成時には、リソース配点DB145において点数が「1」で最も低いCPU(低性能)が選択される。
【0139】
ただし、符号G2に示すように、使用率が低い状態が継続する場合は、ユーザ2の指定通りGPU(高性能)が提供される。
【0140】
図21は、実施形態としてのコンポーザブルインフラシステム100における現在及び将来のシステムのリソース使用率が設定した上限閾値よりも高い場合のリソースの切り出し処理を例示するブロック図である。
【0141】
管理装置1は、現在および将来のシステムのリソース使用率が設定した上限閾値よりも高い場合(別言すれば、利用率が高い繁忙期の場合)には、あえてリクエストと異なるハードウェア資源を抽出することで、より多くのジョブを受け入れられるようにする。
【0142】
図21に示す例では、
図20に示した例と同様に、符号H1に示すように、マシン作成時には、リソース配点DB145において点数が「1」で最も低いCPU(低性能)が選択される。
【0143】
符号H2に示すように、使用率が低くなった場合は、ユーザ指定と異なるGPUが提供される。
図21に示す例の場合は、過去にこのユーザ2の使用歴があり、かつ点数の低いGPU(
図21の場合はGPU(低性能))が提供される。
【0144】
マシン配備決定部123は、
図11に示したリソース使用歴DB141から要求ユーザの過去の要求履歴を取得し、要求ユーザの過去の配備履歴にあったリソースを確認して変更すると共に、システム管理者に対し変更したことを返す。
【0145】
例えば、
図11に示したリソース使用歴DB141からユーザ名「Aさん」がピックアップされ、使用したリソースで要求が多かったリソースが選択される。そして、利用率が高い場合に、リソース変更が可能であれば、過去の利用実績のある点数の低いリソースに差し替えられる。
【0146】
図22は、実施形態における管理装置1のハードウェア構成例を模式的に示すブロック図である。
【0147】
図22に示すように、管理装置1は、CPU(Central Processing Unit)11,メモリ部12,表示制御部13,記憶装置14,入力Interface(IF)15,外部記録媒体処理部16及び通信IF17を備える。
【0148】
メモリ部12は、記憶部の一例であり、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)などである。メモリ部12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ部12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ部12のRAMは、一時記録メモリあるいはワーキングメモリとして利用されてよい。
【0149】
表示制御部13は、表示装置131と接続され、表示装置131を制御する。表示装置131は、液晶ディスプレイやOrganic Light-Emitting Diode(OLED)ディスプレイ,Cathode Ray Tube(CRT),電子ペーパーディスプレイ等であり、オペレータ等に対する各種情報を表示する。表示装置131は、入力装置と組み合わされたものでもよく、例えば、タッチパネルでもよい。表示装置131は、管理装置1のユーザに対する種々の情報を表示する。
【0150】
記憶装置14は、高IO性能の記憶装置であり、例えば、Dynamic Random Access Memory(DRAM)やSSD(Solid State Drive),Storage Class Memory(SCM),HDD(Hard Disk Drive)が用いられてよい。
【0151】
入力IF15は、マウス151やキーボード152等の入力装置と接続され、マウス151やキーボード152等の入力装置を制御してよい。マウス151やキーボード152は、入力装置の一例であり、これらの入力装置を介して、オペレータが各種の入力操作を行う。
【0152】
外部記録媒体処理部16は、記録媒体160が装着可能に構成される。外部記録媒体処理部16は、記録媒体160が装着された状態において、記録媒体160に記録されている情報を読み取り可能に構成される。本例では、記録媒体160は、可搬性を有する。例えば、記録媒体160は、フレキシブルディスク、光ディスク、磁気ディスク、光磁気ディスク、又は、半導体メモリ等である。
【0153】
通信IF17は、外部装置との通信を可能にするためのインタフェースである。
【0154】
CPU11は、プロセッサの一例であり、種々の制御や演算を行う処理装置である。CPU11は、メモリ部12に読み込まれたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。なお、CPU11は、複数のCPUを含むマルチプロセッサであってもよいし、複数のCPUコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0155】
管理装置1全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、管理装置1全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
【0156】
〔B〕効果
上述した実施形態におけるリソース管理プログラム,管理装置1及びリソース管理方法によれば、例えば以下の作用効果を奏することができる。
【0157】
図23は、実施形態における効果を説明する図である。
【0158】
実施形態においてはジョブに対するハードウェア資源割り当てが適切に行える。このため、
図23に示すように、従来例ではリソースプール602にある残リソースが低性能CPUノード ×2,低性能GPU ×1,SSD ×2になる場合でも、実施形態ではリソースプールにある残リソースを高性能CPUノード ×2,高性能GPU ×1,SSD ×2とすることができる。
【0159】
ここで、新たなユーザリクエストとして、リソース要求の指定なしの対象イメージ「BOOT(リソース条件なし)」及び構成リソース「GPU(指定なし)×1」,「CPU(指定なし)×1」,「SSD ×1」が発行された場合には、従来例でも実施形態でも残リソースだけで配備可能となる。
【0160】
一方、新たなユーザリクエストとして、リソース要求の指定ありの対象イメージ「BOOT(要 高性能CPU)」及び構成リソース「GPU(要 高性能)×1」,「CPU(指定なし)×1」,「SSD ×1」が発行された場合には、従来例では残リソースだけでは配備不可となる。しかし、実施形態では残リソースだけで配備可能となる。
【0161】
リソース残数配点付与部119は、ユーザ2による仮想化システム100のリソース使用歴DB141から、仮想化システム100におけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出する。リソース組み合わせ配点付与部120は、各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出する。マシン配備決定部123は、第1の点数と第2の点数との合計値が低い順に各リソースをユーザ2に割り当てる。
【0162】
これにより、仮想化システム100における利用効率を向上させることができる。具体的には、ジョブに対するハードウェア資源割り当てが適切となり、ハードウェア資源が枯渇することなく、リソース指定された新たなジョブでも実行できるようになる。
【0163】
〔C〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0164】
〔D〕付記
以上の実施形態に関し、更に以下の付記を開示する。
【0165】
(付記1)
仮想化システムを管理するコンピュータに、
ユーザによる前記仮想化システムの使用履歴から、前記仮想化システムにおけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出し、
各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出し、
前記第1の点数と前記第2の点数との合計値が低い順に各リソースを前記ユーザに割り当てる、
処理を実行させる、ことを特徴とするリソース管理プログラム。
【0166】
(付記2)
前記仮想化システムにおけるリソース使用率が閾値よりも高い場合に、前記割り当てを行う、
処理を前記コンピュータに実行させる、ことを特徴とする付記1に記載のリソース管理プログラム。
【0167】
(付記3)
前記第2の点数を算出する処理において、前記使用頻度に応じて該当するリソースにおける前記第2の点数を加点する、
処理を前記コンピュータに実行させる、ことを特徴とする付記1又は2に記載のリソース管理プログラム。
【0168】
(付記4)
前記第2の点数を算出する処理において、前記互換性が低いリソースにおける前記第2の点数を減点する、
処理を前記コンピュータに実行させる、ことを特徴とする付記1又は2に記載のリソース管理プログラム。
【0169】
(付記5)
仮想化システムを管理するコンピュータが、
ユーザによる前記仮想化システムの使用履歴から、前記仮想化システムにおけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出し、
各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出し、
前記第1の点数と前記第2の点数との合計値が低い順に各リソースを前記ユーザに割り当てる、
処理を実行する、ことを特徴とするリソース管理方法。
【0170】
(付記6)
前記仮想化システムにおけるリソース使用率が閾値よりも高い場合に、前記割り当てを行う、
処理を前記コンピュータが実行する、ことを特徴とする付記5に記載のリソース管理方法。
【0171】
(付記7)
前記第2の点数を算出する処理において、前記使用頻度に応じて該当するリソースにおける前記第2の点数を加点する、
処理を前記コンピュータが実行する、ことを特徴とする付記5又は6に記載のリソース管理方法。
【0172】
(付記8)
前記第2の点数を算出する処理において、前記互換性が低いリソースにおける前記第2の点数を減点する、
処理を前記コンピュータが実行する、ことを特徴とする付記5又は6に記載のリソース管理方法。
【0173】
(付記9)
仮想化システムを管理する管理装置において、
ユーザによる前記仮想化システムの使用履歴から、前記仮想化システムにおけるリソース種類毎の時系列の未使用数に応じた第1の点数を算出し、各リソースについて、使用頻度及び他リソースとの互換性に応じた第2の点数を算出する配点付与部と、
前記第1の点数と前記第2の点数との合計値が低い順に各リソースを前記ユーザに割り当てる決定部と、
を備えることを特徴とする管理装置。
【0174】
(付記10)
前記決定部は、前記仮想化システムにおけるリソース使用率が閾値よりも高い場合に、前記割り当てを行う、
ことを特徴とする付記9に記載の管理装置。
【0175】
(付記11)
前記配点付与部は、前記第2の点数を算出する処理において、前記使用頻度に応じて該当するリソースにおける前記第2の点数を加点する、
ことを特徴とする付記9又は10に記載の管理装置。
【0176】
(付記12)
前記配点付与部は、前記第2の点数を算出する処理において、前記互換性が低いリソースにおける前記第2の点数を減点する、
ことを特徴とする付記9又は10に記載の管理装置。
【符号の説明】
【0177】
1,6 :管理装置
2,7 :ユーザ
11 :CPU
12 :メモリ部
13 :表示制御部
14 :記憶装置
15 :入力IF
16 :外部記録媒体処理部
17 :通信IF
100,600:コンポーザブルインフラシステム
101,601:YAML
102,602:リソースプール
103,603:マシン
111 :リソースプール利用状況取得部
112 :リソース使用履歴取得部
113 :リソース配備状況取得部
114 :リソーススペック入力部
115 :要求組み合わせ表作成更新部
116 :使用台数推定モデル作成部
117 :リソース需要推定部
118 :マシン未割当リソース推定部
119 :リソース残数配点付与部
120 :リソース組み合わせ配点付与部
121 :リソース毎配点算出部
122 :マシン配備要求受付部
123 :マシン配備決定部
124 :使用率閾値取得部
125 :マシン配備実行部
131 :表示装置
141 :リソース使用歴DB
142 :リソーススペックDB
143 :配備状況DB
144 :要求組み合わせ表DB
145 :リソース配点DB
151 :マウス
152 :キーボード
160 :記録媒体