JP2019028538A - オートスケール処理装置、オートスケール方法及びプログラム - Google Patents

オートスケール処理装置、オートスケール方法及びプログラム Download PDF

Info

Publication number
JP2019028538A
JP2019028538A JP2017144423A JP2017144423A JP2019028538A JP 2019028538 A JP2019028538 A JP 2019028538A JP 2017144423 A JP2017144423 A JP 2017144423A JP 2017144423 A JP2017144423 A JP 2017144423A JP 2019028538 A JP2019028538 A JP 2019028538A
Authority
JP
Japan
Prior art keywords
load
time
virtual server
service
predicted
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
JP2017144423A
Other languages
English (en)
Inventor
直幸 丹治
Naoyuki Tanji
直幸 丹治
直規 立石
Naoki Tateishi
直規 立石
愛 角田
Ai Tsunoda
愛 角田
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 JP2017144423A priority Critical patent/JP2019028538A/ja
Publication of JP2019028538A publication Critical patent/JP2019028538A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】仮想サーバがユーザからのサービス要求に応じて提供するサービスに悪影響や無駄が生じないように、仮想サーバの増設及び減設を行う。【解決手段】仮想サーバの増設及び減設を行うオートスケール処理装置10が、学習期間において、仮想サーバがサービス要求に応じた処理時のサービス負荷を計測した時系列データを用い、この時系列データの時刻毎のサービス負荷に対する最小二乗法による傾きと切片を有する1次関数のモデルパラメータを求めるモデルパラメータ学習部33と、モデルパラメータの傾き及び切片に基づき、計測の時刻を過ぎた将来のサービス負荷である予測負荷データを求める負荷予測部34と、予測負荷データが仮想サーバ当りの処理可能負荷の最大値を超えて増加する際に、予測負荷データが当該最大値となる時刻から、仮想サーバの増設に掛かる増設処理時間を減算して仮想サーバの増設開始時刻を求める増減設判断部35とを備える。【選択図】図3

Description

本発明は、クラウドコンピューティング環境上に構築されるリソースとしての仮想サーバの増設及び減設を行うオートスケール処理装置、オートスケール方法及びプログラムに関する。
従来、ユーザがネットワーク(NW)経由で上記の仮想サーバ(図示せず)が実行するサービスを利用する場合について、図13(a)及び(b)を参照して説明する。但し、仮想サーバが行うサービスは、ユーザのサービス要求に応じた計算等の処理である。
図13(a)及び(b)の縦軸は、サービス要求に応じたサービスを仮想サーバが実行する際に掛かる負荷(サービス負荷という)の量を表すサービス負荷量Lである。横軸は時刻tである。縦軸方向の双方向矢印Laは、1台分の仮想サーバがサービス要求に応じたサービスを処理可能な負荷量(処理可能負荷量)である。縦軸方向の双方向矢印Lbは、2台分の仮想サーバの処理可能負荷量である。処理可能負荷量Laの最大値がL1であり、これに処理可能負荷量Lbの最大値がL2である。曲線k1,k2は、仮想サーバのサービス負荷を表す。
図13(a)に示すように、時刻t1と時刻t2間の時間幅tm1において、サービス負荷k1が仮想サーバの処理可能負荷量Laを超えた場合、その時間幅tm1では1台の仮想サーバでサービスを処理できなくなる。このため、サービス品質の劣化が生じる。
図13(b)に示すように、2台の仮想サーバが稼働している場合に、サービス負荷k2が2台分の処理可能負荷量の最大値L2よりも低いとする。この場合、サービス負荷k2の最大値L0.7と2台分の処理可能負荷量の最大値L2との差分S1が、仮想サーバの無駄な処理能力量となる。これが過剰なリソースとなるので、費用対効果が悪くなる。
そこで、サービス品質の向上と費用対効果の向上とを両立させるために、仮想サーバのサービス負荷を監視し、この監視結果に応じて仮想サーバの増設又は減設を自動的に実行するオートスケール処理が行われている。このオートスケール処理について、図14を参照して説明する。なお、サービス負荷の監視は、仮想サーバの仮想CPU(Central Processing Unit)の使用率等を検知して行う。
図14において、曲線k3は1台分又は2台分の仮想サーバのサービス負荷である。なお、1台目を第1仮想サーバ、2台目を第2仮想サーバという。Lc,Lcは、各々、1台分の仮想サーバの処理可能負荷量である。サービス負荷k3は、立ち上がり途中の時刻t3で第1仮想サーバの処理可能負荷量Lcの最大値L11と交差する。この交差する点を交点P1とする。この後、サービス負荷k3は、更に立ち上がったのち立ち下がり、この立ち下がり途中の時刻t4で最大値L11と交差する。この交差する点を交点P2とする。この後、サービス負荷k3は、立ち下がったのち立ち上がり、この立ち上がり途中の時刻t5で最大値L11と交差する。この交差する点を交点P3とする。
このようにサービス負荷k3が変化する場合、時刻t0からt3間の時間幅tm2では、サービス負荷k3が第1仮想サーバの処理可能負荷量Lcの最大値L11を超えないので、1台の仮想サーバでサービスを提供できる。その後、サービス負荷k3が交点P1を超えると、第2仮想サーバが増設されて稼働する。この第2仮想サーバの稼働により、交点P1を超えるサービス負荷k3に対して対応可能となる。
交点P1を超えた時刻から交点P2の時刻までの時間幅tm3では、第1及び第2仮想サーバが稼働する。その後、サービス負荷k3が立ち下がって交点P2に達すると第2仮想サーバが減設され、1台の第1仮想サーバでサービスを提供する。この1台でのサービス提供は、時刻t4とt5間の時間幅tm4において実行される。その後、サービス負荷k3が交点P3を超えると、第2仮想サーバが増設されて稼働し、この稼働により交点P3を超えたサービス負荷k3に対して対応可能となる。このようにオンデマンドで仮想サーバの増設及び減設が行われて、ユーザの変化するサービス要求に対して所定のサービスが提供されている。この種の技術として、例えば非特許文献1のものがある。
"Amazon web services AWS Documentation Auto Scaling ユーザーガイド Auto Scaling",[online],[平成29年7月10日検索],インターネット<URL:http://docs.aws.amazon.com/ja_jp/autoscaling/latest/userguide/WhatIsAutoScaling.html>
上述したオートスケール処理において、仮想サーバを増設する場合、仮想サーバの立ち上げやアプリケーションの構築等の増設処理時間が必要となる。この増設処理時間の間は増設対象の仮想サーバがサービスを提供できないので、図15(a)に示すように、第1仮想サーバの処理可能負荷量Lcの最大値L11の90%〜95%付近にオートスケール閾値(閾値ともいう)th1を設定する。そして、サービス負荷k3が、時刻t2aにおいて、閾値th1となった時に、第2仮想サーバの増設を開始するようになっている。この増設開始点をPaとする。また、増設処理時間を双方向矢印taで示す。
増設開始点Paから増設処理時間taを経過した増設完了時刻t3bにおいて、第2仮想サーバが設定されて稼働する。その増設処理時間taの間に、稼働中の第1仮想サーバがサービス負荷k3に応じたサービスを提供する。しかし、サービス負荷k3が最大値L11となる時刻を越えた時刻t3aから増設完了時刻t3bの時間幅(サービス悪影響時間という)tbにおいて、第2仮想サーバが稼働していないので、サービス提供に悪影響が生じる問題がある。
そこで、閾値th1を、図15(b)に線th2で示すように更に下げて増設開始点Paを早めることも行われている。この場合、サービス負荷k3が、時刻t1aにおいて閾値th2となった増設開始点Paから増設処理時間taを経過した時刻t1bになると、第2仮想サーバが増設されて稼働する。この後、サービス負荷k3が最大値L11を超えない状態で立ち下がり、時刻t1cで閾値th2を下回ったとすると、第2仮想サーバの減設が開始される。この減設開始点をPbとする。この際、時刻t1bからt1cの間の時間幅(無駄処理時間という)tcでは、サービス負荷k3が1台分の仮想サーバの最大値L11を超えていないにも拘らず、2台の仮想サーバが稼働してしまうので、1台の仮想サーバが無駄となる問題がある。
本発明は、このような事情に鑑みてなされたものであり、仮想サーバがユーザからのサービス要求に応じて提供するサービスに悪影響や無駄が生じないように、仮想サーバの増設及び減設を行うことができるオートスケール処理装置、オートスケール方法及びプログラムを提供することを課題とする。
上記課題を解決するための手段として、請求項1に係る発明は、クラウドコンピューティング環境上に構築される仮想サーバの増設及び減設を行うオートスケール処理装置であって、予め定められた学習期間において、稼働中の仮想サーバが外部からのサービス要求に応じた処理を行う際のサービス負荷を所定の時刻毎に計測した時系列データを用い、この時系列データの時刻毎のサービス負荷を将来予測するためのモデルパラメータを算出する学習部と、前記モデルパラメータに基づき、前記計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求める負荷予測部と、前記負荷予測部で求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を超えて増加する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの増設に掛かる増設処理時間を減算して、仮想サーバの増設開始時刻を求める増減設判断部とを備えることを特徴とするオートスケール処理装置である。
この構成によれば、例えば1台目の第1仮想サーバが所定の学習期間において稼働した際のサービス負荷から将来予測のモデルパラメータが求められ、このモデルパラメータから将来のサービス負荷である予測負荷データが求められ、この予測負荷データから第2仮想サーバの増設開始時刻が求められる。この増設開始時刻で2台目の第2仮想サーバの増設が開始されると、増設処理時間を経過して第1仮想サーバの処理可能負荷の最大値となった時刻に、第2仮想サーバの増設が完了する。
従って、第2仮想サーバの増設完了時刻以降にサービス要求が増加して行く場合、第2仮想サーバは増設済みなので、第1及び第2仮想サーバによって、増加するサービス要求を無駄なく処理することができる。また、第2仮想サーバの増設完了時刻は、第1仮想サーバのサービス負荷が処理可能負荷の最大値となったタイミングなので、このタイミングで第2仮想サーバの増設が完了すれば、第1仮想サーバのサービス負荷が最大値を超えたにも拘らず、第2仮想サーバが未稼働であるといったことを防止することができる。従って、仮想サーバがユーザからのサービス要求に応じて提供するサービスに悪影響や無駄が生じないように、仮想サーバの増設を行うことができる。
請求項2に係る発明は、前記学習部は、前記仮想サーバのサービス負荷の計測終了の自己回帰による第1日前までの学習データの値と、過去の影響が残るかを示す移動平均による第2日前までの所定の成分と、の影響により予測する将来の値である負荷の推定値を自己回帰移動平均モデルを用いて求め、前記負荷予測部は、前記求められた推定値に基づき、前記計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求めることを特徴とする請求項1に記載のオートスケール処理装置である。
この構成によれば、学習部は、自己回帰移動平均モデルを用いて負荷の推定値を求め、負荷予測部は、その求められた推定値に基づき、将来のサービス負荷である予測負荷データを求めることができる。
請求項3に係る発明は、前記学習部が用いる前記時系列データの時刻毎のサービス負荷に係る、仮想サーバのCPU使用率又はメモリ使用率に対応するVM負荷と、1秒当りに遣り取りしたパケット数又はバイト数に対応するNW負荷と、仮想サーバの記憶媒体の単位時間当たりの入出力負荷に対応するDISK負荷とについての各負荷を正規化又は対数化するデータ前処理部を更に備えることを特徴とする請求項1又は2に記載のオートスケール処理装置である。
この構成によれば、VM負荷、NW負荷及びDISK負荷の各負荷の各々異なる単位のスケールを、同じスケールに揃えることができる。
請求項4に係る発明は、前記増減設判断部は、前記負荷予測部で求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を下回って減少する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの減設に掛かる減設処理時間を減算して、仮想サーバの減設開始時刻を求めることを特徴とする請求項1〜3の何れか1項に記載のオートスケール処理装置である。
この構成によれば、例えば2台の第1及び第2仮想サーバが所定の学習期間において稼働した際のサービス負荷から1次関数のモデルパラメータが求められ、このモデルパラメータから将来のサービス負荷である予測負荷データが求められ、この予測負荷データから第2仮想サーバの減設開始時刻が求められる。この減設開始時刻で第2仮想サーバの減設が開始されると、減設処理時間を経過して第1仮想サーバの処理可能負荷の最大値となった時刻に、第2仮想サーバの減設が完了する。つまり、サービス要求に対応するサービス負荷が1台の仮想サーバのみの負荷となっているにも拘らず、2台の仮想サーバが稼働しているといった無駄を防止することができる。従って、仮想サーバがユーザからのサービス要求に応じて提供するサービスに無駄が生じないように、仮想サーバの減設を行うことができる。
請求項5に係る発明は、前記仮想サーバ当りの処理可能負荷に、当該処理可能負荷を大きくする係数を乗算し、この乗算で得られた仮想サーバ当りの処理可能負荷を保存部に保存する算出部を更に備え、前記増減設判断部は、前記増設開始時刻又は前記減設開始時刻を求める際に、前記保存された仮想サーバ当りの処理可能負荷を用いることを特徴とする請求項4に記載のオートスケール処理装置である。
この構成によれば、増減設判断部が、元の値よりも大きくなった仮想サーバ当りの処理可能負荷を用いて、仮想サーバの増設開始時刻又は減設開始時刻を求めるようになる。この際、仮想サーバ当りの処理可能負荷が大きくなるので、仮想サーバのサービス負荷が、元の処理可能負荷付近で増減しても、この増減を吸収できる。言い換えれば、増設又は減設の処理開始が遅くなるので、細かい品質劣化に対して敏感に増設又は減設しなくなる。このため、仮想サーバの増設又は減設の動作を安定させることができる。よって、処理完了時間の変動が吸収される。
請求項6に係る発明は、前記増設開始時刻又は前記減設開始時刻となった時に、前記仮想サーバの増設又は減設を開始する制御を行う増減設処理部を更に備えることを特徴とする請求項4又は5に記載のオートスケール処理装置である。
この構成によれば、増減設判断部で増設開始時刻又は減設開始時刻が求められた後、増設開始時刻又は減設開始時刻となった時に、増減設処理部の制御により、仮想サーバの増設又は減設を実行することができる。
請求項7に係る発明は、クラウドコンピューティング環境上に構築される仮想サーバの増設及び減設を行うオートスケール処理装置のオートスケール処理方法であって、前記オートスケール処理装置は、予め定められた学習期間において、稼働中の仮想サーバが外部からのサービス要求に応じた処理を行う際のサービス負荷を所定の時刻毎に計測した時系列データを用い、この時系列データの時刻毎のサービス負荷に対する最小二乗法による傾きと切片を有する1次関数のモデルパラメータを求めるステップと、前記モデルパラメータの傾き及び切片に基づき、前記計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求めるステップと、前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を超えて増加する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの増設に掛かる増設処理時間を減算して、仮想サーバの増設開始時刻を求めるステップと、前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を下回って減少する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの減設に掛かる減設処理時間を減算して、仮想サーバの減設開始時刻を求めるステップとを実行することを特徴とするオートスケール処理方法である。
請求項8に係る発明は、クラウドコンピューティング環境上に構築される仮想サーバの増設及び減設を行うオートスケール処理装置としてのコンピュータを、予め定められた学習期間において、稼働中の仮想サーバが外部からのサービス要求に応じた処理を行う際のサービス負荷を所定の時刻毎に計測した時系列データを用い、この時系列データの時刻毎のサービス負荷に対する最小二乗法による傾きと切片を有する1次関数のモデルパラメータを求める手段、前記モデルパラメータの傾き及び切片に基づき、前記計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求める手段、前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を超えて増加する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの増設に掛かる増設処理時間を減算して、仮想サーバの増設開始時刻を求める手段、前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を下回って減少する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの減設に掛かる減設処理時間を減算して、仮想サーバの減設開始時刻を求める手段として機能させるためのプログラムである。
上記方法及び上記プログラムによれば、例えば1台目の第1仮想サーバが所定の学習期間において稼働した際のサービス負荷から1次関数のモデルパラメータが求められ、このモデルパラメータから将来のサービス負荷である予測負荷データが求められ、この予測負荷データから第2仮想サーバの増設開始時刻が求められる。この増設開始時刻で2台目の第2仮想サーバの増設が開始されると、増設処理時間を経過して第1仮想サーバの処理可能負荷の最大値となった時刻に、第2仮想サーバの増設が完了する。
従って、第2仮想サーバの増設完了時刻以降にサービス要求が増加して行く場合、第2仮想サーバは増設済みなので、第1及び第2仮想サーバによって、増加するサービス要求を無駄なく処理することができる。また、第2仮想サーバの増設完了時刻は、第1仮想サーバのサービス負荷が処理可能負荷の最大値となったタイミングなので、このタイミングで第2仮想サーバの増設が完了すれば、第1仮想サーバのサービス負荷が最大値を超えたにも拘らず、第2仮想サーバが未稼働であるといったことを防止することができる。従って、仮想サーバがユーザからのサービス要求に応じて提供するサービスに悪影響や無駄が生じないように、仮想サーバの増設を行うことができる。
また、例えば2台の第1及び第2仮想サーバが所定の学習期間において稼働した際のサービス負荷から1次関数のモデルパラメータが求められ、このモデルパラメータから将来のサービス負荷である予測負荷データが求められ、この予測負荷データから第2仮想サーバの減設開始時刻が求められる。この減設開始時刻で第2仮想サーバの減設が開始されると、減設処理時間を経過して第1仮想サーバの処理可能負荷の最大値となった時刻に、第2仮想サーバの減設が完了する。つまり、サービス要求に対応するサービス負荷が1台の仮想サーバのみの負荷となっているにも拘らず、2台の仮想サーバが稼働しているといった無駄を防止することができる。従って、仮想サーバがユーザからのサービス要求に応じて提供するサービスに無駄が生じないように、仮想サーバの減設を行うことができる。
本発明によれば、仮想サーバがユーザからのサービス要求に応じて提供するサービスに悪影響や無駄が生じないように、仮想サーバの増設及び減設を行うオートスケール処理装置、オートスケール方法及びプログラムを提供することができる。
本発明のオートスケール処理装置における仮想サーバの増設時の特徴を説明するためのグラフである。 本発明のオートスケール処理装置における仮想サーバの減設時の特徴を説明するためのグラフである。 本発明の実施形態に係るオートスケール処理装置の構成を示すブロック図である。 (a)サービス負荷の時系列データD1の一例を示す図、(b)増減設処理時間D2の一例を示す図、(c)仮想サーバ当りの処理可能負荷データの一例を示す図、(d)モデル学習期間D4の一例を示す図、(e)モデル更新フラグD5の一例を示す図である。 処理可能負荷算出部の処理完了時間のブレ(変動)を吸収する計算を説明するための図である。 (a)サービス負荷の時系列データD1の各時刻tにおけるVM負荷、NW負荷及びDISK負荷の各負荷の値の一例を示す図、(b)時刻に対するサービス負荷の変化を示すグラフ、(c)(a)に示す各負荷を正規化した値を示す図、(d)時刻に対応する(c)に示すサービス負荷の変化を示すグラフである。 計測されたサービス負荷である学習データから求めたモデルパラメータyを示すグラフである。 モデルパラメータyから予測して求めた、増加する予測負荷データy1jを示すグラフである。 モデルパラメータyから予測して求めた、減少する予測負荷データy2jを示すグラフである。 第2仮想サーバの増設の制御動作を説明するフローチャートである。 第2仮想サーバの減設の制御動作を説明するフローチャートである。 モデルパラメータ学習部によるモデルパラメータ学習の他の例を説明するための図である。 (a)従来のサービス要求に応じたサービスを仮想サーバが実行する際に掛かるサービス負荷の量を表す第1グラフ、(b)第2グラフである。 オートスケール処理の説明図である。 (a)オートスケール処理により仮想サーバを増設する際のサービスの悪影響を示す図、(b)オートスケール処理により仮想サーバを減設する際のサービスの無駄を示す図である。
以下、本発明の実施形態を、図面を参照して説明する。
最初に、本発明のオートスケール処理装置(処理装置ともいう)の特徴を、図1及び図2を参照して説明する。図1及び図2の縦軸は、ユーザのサービス要求に応じたサービスを、図示せぬ第1及び第2仮想サーバの双方又は一方(第1仮想サーバ)が実行する際に掛かる負荷(サービス負荷)を表すサービス負荷量Lである。横軸は時刻tである。但し、仮想サーバが行うサービスは、ユーザのサービス要求に応じた計算等の処理である。また、仮想サーバがユーザのサービス要求に応じたサービスを実行することを、仮想サーバがサービスを実行するとも表現する。
縦軸方向の双方向矢印Lc1は、第1仮想サーバがサービスを処理可能な負荷量(処理可能負荷量)である。この処理可能負荷量Lc1の最大値はL11である。双方向矢印Lc2は、第2仮想サーバの処理可能負荷量であり、第1仮想サーバと同じである。第1及び第2仮想サーバを併せた処理可能負荷量Lc1,Lc2の最大値はL22となる。図1に示す実線曲線h1は仮想サーバがサービスを実際に行っている際のサービス実負荷(実負荷ともいう)であり、破線曲線j1は実負荷を基に負荷を予測したサービス予測負荷(予測負荷ともいう)である。図2に示す実線曲線h2は実負荷であり、破線曲線j2は予測負荷である。
オートスケール処理装置は、図1に示す時刻t11〜t12間において、第1仮想サーバがサービスを実行中に発生する実負荷h1を計測する。次に、処理装置は、その計測された実負荷h1に基づき、実負荷h1を計測した時刻よりも先の時刻の負荷(将来の負荷)である予測負荷j1を予測して求める。次に、処理装置は、実負荷h1が終端する時刻t12よりも将来において、予測負荷j1が第1仮想サーバの処理可能負荷量Lc1の最大値L11を超える場合に、予測負荷j1と最大値L11とが交差する時刻t14を求める。
次に、処理装置は、仮想サーバの増設に掛かる増設処理時間taを、先に求めた時刻t14から差し引き、時刻t13を求める。この時刻t13上の予測負荷j1の位置が第2仮想サーバの増設を開始する増設開始点P4となる。この増設開始点P4から増設処理時間taが経過した時刻t14が増設完了点P5となる。この増設完了点P5は、第1仮想サーバの処理可能負荷量Lc1の最大値L11であり、言い換えれば、第2仮想サーバの稼働可能位置との境界となる。
処理装置は、ユーザのサービス要求に応じてサービスを実行する際に、時刻t13の増設開始点P4で、第2仮想サーバの増設を開始する。この開始以降、増設処理時間taが経過した増設完了点P5で第2仮想サーバが増設されて稼働する。この際、時刻t11〜t14間の時間幅tm5では、第1仮想サーバのみが稼働する。時刻t14以降で予測負荷j1が最大値L11以下とならない状態の時間幅tm6では、第2仮想サーバも稼働して2台の仮想サーバでサービスを実行する。また、増設完了点P5は、第1仮想サーバのサービス負荷が処理可能負荷量Lc1の最大値L11となったタイミングなので、このタイミングで第2仮想サーバの増設が完了すれば、第1仮想サーバのサービス負荷が最大値L11を超えたにも拘らず、第2仮想サーバが未稼働であるといったことを防止可能となる。
次に、処理装置は、図2に示す時刻t21〜t22間において、ユーザのサービス要求に応じたサービスを2台の仮想サーバで実行中に掛かる実負荷h2を計測する。次に、処理装置は、その計測した実負荷h2に基づき、実負荷h2を計測した時刻よりも将来の負荷である予測負荷j2を予測して求める。次に、処理装置は、実負荷h2が無くなる時刻t22よりも将来において、予測負荷j2が第1仮想サーバの処理可能負荷量Lc1の最大値L11以下となる時に、予測負荷j2と最大値L11とが交差する時刻t24を求める。
次に、処理装置は、第2仮想サーバの減設に掛かる時間である減設処理時間tcを、先に求めた時刻t24から差し引き、時刻t23を求める。この時刻t23上の予測負荷j2の位置が第2仮想サーバの減設を開始する減設開始点P7となる。この減設開始点P7から減設処理時間tcが経過した時刻t24が減設完了点P8となる。
この後、処理装置は、ユーザのサービス要求に応じてサービスを実行する際に、実負荷h2が無くなる時刻t22よりも将来の時刻t23の減設開始点P7で、第2仮想サーバの減設を開始する。この開始以降、減設処理時間tcが経過した減設完了点P8で第2仮想サーバが減設される。つまり、時刻t21〜t24間の時間幅tm7では、2台の仮想サーバが稼働する。時刻t24以降で予測負荷j2が最大値L11を超えない状態の時間幅tm8では、第1仮想サーバのみが稼働してサービスを実行する。また、減設完了点P8は、予測負荷j2が第1仮想サーバの処理可能負荷量Lc1の最大値L11以下となったタイミングなので、このタイミングで第2仮想サーバの減設が完了すれば、無駄なく第2仮想サーバの減設が可能となる。つまり、予測負荷j2が第1仮想サーバのみの負荷となっているにも拘らず、2台の仮想サーバが稼働している無駄を防止可能となる。
<実施形態の構成>
次に、図3を参照して、本発明の実施形態に係るオートスケール処理装置について説明する。図3は本実施形態のオートスケール処理装置10の構成を示すブロック図である。この処理装置10は、クラウドコンピューティング環境60に構築される第1仮想サーバ61及び第2仮想サーバ62の増設及び減設を自動的に行うものであり、入出力部20と、処理部30と、記憶部40とを備えて構成されている。
入出力部20は、外部の入力装置51が接続された入力部21と、外部の図示せぬコンピュータ等へログ情報52を出力する出力部22とを備える。
処理部30は、処理可能負荷算出部31と、データ前処理部32と、モデルパラメータ学習部33と、負荷予測部34と、増減設判断部35と、増減設処理部36とを備える。
記憶部40は、負荷データ保存部41と、学習結果保存部42と、予測負荷データ保存部43と、処理可能負荷データ保存部44と、増減設処理時間保存部45とを備える。なお、これらを単に保存部41〜45とも称す。また、保存部41〜45は、請求項記載の保存部を構成する。
入力装置51は、第1仮想サーバ61及び第2仮想サーバ62が稼働中に、そのサービス負荷を監視(計測)し、入力部21へ入力する。また、入力装置51は、後述する増減設処理時間、仮想サーバ当りの処理可能負荷データ、モデル学習期間及びモデル更新フラグを、入力部21へ入力する。
入力部21は、入力装置51で監視されるサービス負荷(上記実負荷に対応)の時系列データD1を、データ前処理部32へ出力する。また、入力部21は、増減設処理時間D2を増減設処理時間保存部45へ出力し、仮想サーバ当りの処理可能負荷データD3を処理可能負荷算出部31へ、モデル学習期間D4及びモデル更新フラグD5をモデルパラメータ学習部33へ出力する。
サービス負荷の時系列データD1は、一例を図4(a)に示すように、サービス負荷のサンプリングの時刻tに、VM(Virtual Machine)負荷、NW(Network)負荷、DISK(ディスク)負荷が対応付けられて構成されている。
VM負荷は、仮想サーバのCPU使用率(又はメモリ使用率)であり、例えば図4(a)の1行目に記載のように15%である。
NW負荷は、1秒当りに遣り取りしたパケット数やバイト数である、ここでは通信料に換算してあり、例えば1行目の2000円である。
DISK負荷は、仮想サーバの記憶媒体の単位時間当たりの入出力負荷であり、記憶媒体としてのディスクに対する単位時間当りのアクセス回数である。例えば1行目の7.7回/秒である。
増減設処理時間D2は、仮想サーバの増設及び減設時に必要な各種増減設の予測時間を示し、増減設処理時間保存部45に保存される。図4(b)の例では、VM増設に300s(秒)掛かり、NW帯域増設に10s、DISK増設に150s、VM減設に20s、NW帯域減設に10s、DISK減設に60s掛かるといった増減設処理時間D2が記載されている。
仮想サーバ当りの処理可能負荷データD3は、一例を図4(c)に示すように、仮想サーバの処理としての各種の処理内容と、処理可能負荷とが対応付けられて構成されている。図4(c)の例では、VMの処理可能負荷が300[サービスオーダ/秒]、NWの処理可能負荷が10[Gbps]、DISKの処理可能負荷が150[IOPS]となっている。
モデル学習期間D4は、予測負荷を予測するために予測前の実負荷を計測して予測負荷のモデルを学習(モデル学習)する学習期間を示すものである。図4(d)の例では、実負荷の計測の開始時間が2017年5月24日の10時であり、計測の終了時間が2017年5月31日の9時55分である。この学習期間の例は1週間分である。
モデル更新フラグD5は、モデル学習を行うか否かを示し、図4(e)の例では、モデル学習を行う有効を「1」、無効を「0」で示してある。
図3に示す処理可能負荷算出部(算出部ともいう)31は、仮想サーバ当りの処理可能負荷データD3に対して、増設及び減設(増減設)時の処理完了時間のブレ(変動)を吸収するための計算処理を行い、この計算後の処理可能負荷データD3aを保存部44に保存する。
例えば図5に示すように、算出部31は、処理完了時間のブレ(変動)を吸収するために、バッファとしての係数C=1.1を処理可能負荷データD3に乗算する。この乗算により得られる処理可能負荷データD3aは、VMの処理可能負荷が330、NWの処理可能負荷が11、DISKの処理可能負荷が165となって、多めに見積もられることになる。これによって、仮想サーバの処理可能負荷が大きくなるので、サービス負荷が、上記乗算前の処理可能負荷付近で増減しても、その増減を吸収できる。言い換えれば、増減設の処理開始が遅くなるので、細かい品質劣化に対して敏感に増減設しないため、増減設の動作を安定させることができる。よって、処理完了時間のブレが吸収される。
図3に示すデータ前処理部32は、サービス負荷の時系列データD1に対して、VM負荷、NW負荷及びDISK負荷の各負荷を正規化する前処理を行い、この処理後の時系列データD1aを保存部41に保存する。
例えば、入力部21からデータ前処理部32に入力されたサービス負荷の時系列データD1としての各時刻tにおけるVM負荷、NW負荷及びDISK負荷の各負荷が、図6(a)に示す値であるとする。この場合の各負荷の単位のスケールは各々異なっておりバラバラである。例えば、2017.05.2510:10のNW負荷は5000であり、2017.05.25 10:15のVM負荷は40であり、2017.05.25 10:20のDISK負荷は11.9である。この際の仮想サーバのサービス負荷は、図6(b)に曲線h3で示すサービス負荷量Lで表される。
データ前処理部32は、時系列データD1に対して各負荷を正規化する。即ち、図6(d)に示すように、縦軸のサービス負荷量Lを「0」〜「1」とするように、正規化する前処理を行う。これによって、各負荷が、図6(c)に示す時系列データD1aのような値となる。例えば、2017.05.2510:10のNW負荷は1.000となり、2017.05.25 10:15のVM負荷は1.000となり、2017.05.25 10:20のDISK負荷は1.000となる。
また、データ前処理部32は、図6(d)に示す縦軸のサービス負荷量Lを、対数化する前処理を行うようにしてもよい。これによっても、図6(a)に示す各負荷のバラバラなスケールを揃えることができる。
図3に示すモデルパラメータ学習部(学習部ともいう)33は、モデル更新フラグD5が有効を示す「1」の場合、保存部42に保存されたモデル学習期間D4のサービス負荷の時系列データD1aを用いて、モデルパラメータを学習し、この学習結果得られるモデルパラメータy(図7参照)を保存部42に保存する。一方、学習部33は、モデル更新フラグD5が無効を示す「0」の場合、モデルパラメータの学習をスキップし、以前の学習で求められているモデルパラメータyを用いて後述の負荷予測部34の予測処理に移行する。
モデルパラメータの学習について、図7を参照して具体的に説明する。図7の縦軸(y軸)はサービス負荷量Lであり、横軸(x軸)は学習データをサンプリングした時刻(学習データサンプリング時刻)tである。その学習データは、◆で示すデータであり、計測したサービス負荷のデータである。つまり、保存部42に保存されたサービス負荷の時系列データD1aである。学習データのサンプリング時刻が、7月7日の0時から5分置きであれば、時刻t1が7月7日0時、t2が7月7日0時5分、t4が7月7日0時10分、…、t10が7月7日0時45分となる。
学習部33は、図7にx軸で示すt1〜t10のモデル学習期間のサービス負荷である各学習データを最小二乗法により、1次関数である傾きと切片を有するモデルパラメータyを求める。このモデルパラメータyは、後述の増設に係る場合はy1とし、減設に係る場合はy2とする。従って、その求められたモデルパラメータyが、増設に係る場合、例えば、y1=1.5311x+2.4067となり、これが保存部42(図3)に保存される。
図3に示す負荷予測部34は、保存部42に保存されたサービス実負荷に係るモデルパラメータy1を用いて予測負荷データy1j(図8参照)を予測し、保存部43に保存する。但し、予測負荷データはy1jとy2j(後述)があるため、図3では矢印yjで表す。つまり、負荷予測部34は、実際に計測したサービス負荷に対応する図8に示すモデルパラメータy1の傾き及び切片に基づき、サービス負荷を計測した時刻よりも将来の負荷である予測負荷データy1jを予測して求める。
図3に示す増減設判断部35は、保存部43に保存された予測負荷データy1jと、保存部44に保存された仮想サーバ当りの処理可能負荷データD3aと、保存部45に保存された増減設処理時間D2とを用いて、増設開始時刻又は減設開始時刻を判断する。但し、増減設処理時間D2は、仮想サーバの増設に掛かる時間の増設処理時間taと、仮想サーバの減設に掛かる時間の減設処理時間tcとを含む。
図8に示すように、処理可能負荷データD3aは、1台の仮想サーバ当りの処理可能負荷量Lc1又はLc2に対応している。この例では、処理可能負荷量Lc1の最大値がL40であるとする。
増減設判断部35は、処理可能負荷データD3aの最大値L40と、予測負荷データy1jとが交差する時刻t26を求める。次に、増減設判断部35は、増減設処理時間D2の内の増設処理時間taを、先に求めた時刻t26から差し引き、時刻t21を求める。この時刻t21が第2仮想サーバ62の増設開始時刻となる。この増設開始時刻t21から増設処理時間taが経過した時刻t26が増設完了時刻となる。増減設判断部35は、増設開始時刻t21を増減設処理部36へ出力する。
増減設処理部36は、増設開始時刻t21を保持し、この増設開始時刻t21となった時に第2仮想サーバ62の増設を、出力部22を介してクラウドコンピューティング環境60に対して実行する。
一方、学習部33において、図9に右肩下がりの線で示す減設に係るモデルパラメータy2=−1.5311x+2.4067が求められて保存部42に保存されたとする。この場合、2台の仮想サーバ61,62が稼働してサービス実行中に、サービス負荷が減少傾向にあることを示す。
負荷予測部34は、そのサービス実負荷に係るモデルパラメータy2を用いて予測負荷データy2jを予測して求め、保存部43に保存する。
増減設判断部35は、処理可能負荷データD3の最大値L40と、予測負荷データy2jとが交差する時刻t25を求める。次に、増減設判断部35は、増減設処理時間D2の内の減設処理時間tcを、先に求めた時刻t25から差し引き、時刻t20を求める。この時刻t20が第2仮想サーバ62の減設開始時刻となる。この減設開始時刻t20から減設処理時間tcが経過した時刻t25が減設完了時刻となる。増減設判断部35は、減設開始時刻t20を増減設処理部36へ出力する。
増減設処理部36は、減設開始時刻t20を保持し、この減設開始時刻t20となった時に第2仮想サーバ62の減設をクラウドコンピューティング環境60に対して実行する。
<実施形態の動作>
オートスケール処理装置10によるクラウドコンピューティング環境60上に構築される第1及び第2仮想サーバ61,62の増設及び減設の制御動作を、図10及び図11に示すフローチャートを参照して説明する。図10は第2仮想サーバ62の増設の制御動作を説明するフローチャート、図11は第2仮想サーバ62の減設の制御動作を説明するフローチャートである。
但し、図3に示す入力装置51が、第1及び第2仮想サーバ61,62の双方又は一方(第1仮想サーバ61)が稼働中に、そのサービス負荷を監視(計測)し、サービス負荷の時系列データD1を入力部21へ入力すると共に、増減設処理時間D2、処理可能負荷データD3、モデル学習期間D4及びモデル更新フラグD5を入力部21へ入力している。また、入力部21が、上記時系列データD1をデータ前処理部32へ出力し、増減設処理時間D2を増減設処理時間保存部45へ出力し、仮想サーバ当りの処理可能負荷データD3を処理可能負荷算出部31へ出力し、モデル学習期間D4及びモデル更新フラグD5をモデルパラメータ学習部33へ出力していることを前提条件とする。
<仮想サーバ増設動作>
図10のステップS1において、算出部31は、仮想サーバ当りの処理可能負荷データD3に対して、増設時の処理完了時間のブレ(変動)を吸収するための計算を行い、この計算による得られた処理可能負荷データD3aを保存部44に保存する。
ステップS2において、データ前処理部32は、サービス負荷の時系列データD1に対して、VM負荷、NW負荷及びDISK負荷の各負荷を正規化する前処理を行い、この処理により得られた時系列データD1aを保存部41に保存する。
ステップS3において、学習部33は、モデル更新フラグD5が有効「1」か、無効「0」かを判断する。
この判断結果が「1」の場合、学習部33は、ステップS4において、モデル学習期間D4のサービス負荷の時系列データD1aを用いて、モデルパラメータを学習し、例えばモデルパラメータy1=1.5311x+2.4067(図7)を求めて、保存部42に保存する。
次に、ステップS5において、負荷予測部34は、上記ステップS4で保存されたモデルパラメータy1を用いて予測負荷データy1j(図8)を予測して求め、保存部43に保存する。
一方、上記ステップS3の判断結果が「0」の場合、ステップS6において、負荷予測部34は以前の学習で求められ、保存部42に保存されたモデルパラメータy1を用いて予測負荷データy1jを予測して求め、保存部43に保存する。
次に、ステップS7において、増減設判断部35は、上記ステップS5又はS6で保存された予測負荷データy1jと、上記ステップS1で保存された仮想サーバ当りの処理可能負荷データD3aと、上記前提条件で既に保存されている増減設処理時間D2の内の増設処理時間taとを用いて、増設開始時間を求める。
例えば、増減設判断部35は、図8に示す処理可能負荷データD3aの最大値L40と、右上がりの予測負荷データy1jとが交差する時刻t26を求め、増設処理時間taを、先に求めた時刻t26から差し引き、増設開始時刻t21を求める。
次に、ステップS8において、増減設処理部36は、増設開始時刻t21を保持し、この増設開始時刻t21となった時に第2仮想サーバ62の増設がクラウドコンピューティング環境60において実行されるように増設開始制御を行う。この制御により第2仮想サーバ62が図8に示す時刻t26において増設される。
<仮想サーバ減設動作>
次に、第2仮想サーバ62の減設動作について図11を参照して説明する。但し、減設動作において上記増設動作に対応する動作はその説明を適宜省略する。
図11のステップS11において、算出部31は、仮想サーバ当りの処理可能負荷データD3に対して、減設時の処理完了時間のブレ(変動)を吸収するための計算を行い、この計算による得られた処理可能負荷データD3aを保存部44に保存する。
ステップS12において、データ前処理部32は、上記ステップS2と同様に各負荷を正規化する前処理を行い、この処理による時系列データD1aを保存する。
ステップS13において、学習部33は、モデル更新フラグD5が有効「1」か、無効「0」かを判断する。
この判断結果が「1」の場合、学習部33は、ステップS14において、モデル学習期間D4のサービス負荷の時系列データD1aを用いて、モデルパラメータを学習し、例えばモデルパラメータy2=−1.5311x+2.4067(図9)を求めて保存する。
次に、ステップS15において、負荷予測部34は、上記ステップS14で保存されたモデルパラメータy2を用いて予測負荷データy2j(図9)を予測し保存する。
一方、上記ステップS13の判断結果が「0」の場合、ステップS16において、負荷予測部34は以前の学習で求めたモデルパラメータy2を用いて予測負荷データy1jを予測し保存する。
次に、ステップS17において、増減設判断部35は、上記ステップS15又はS16で保存された予測負荷データy2jと、上記ステップS11で保存された仮想サーバ当りの処理可能負荷データD3aと、上記前提条件で既に保存されている増減設処理時間D2の内の減設処理時間tcとを用いて、減設開始時刻を求める。
例えば、増減設判断部35は、図9に示す処理可能負荷データD3aの最大値L40と、右下がりの予測負荷データy2jとが交差する時刻t25を求め、減設処理時間tcを、先に求めた時刻t25から差し引き、増設開始時刻t20を求める。
次に、ステップS18において、増減設処理部36は、減設開始時刻t20を保持し、この減設開始時刻t20となった時に第2仮想サーバ62の減設がクラウドコンピューティング環境60において実行されるように減設開始制御を行う。この制御により第2仮想サーバ62が図9に示す時刻t25において減設される。
<モデルパラメータ学習の他例>
次に、図3に示すモデルパラメータ学習部33によるモデルパラメータ学習の他の例について図12を参照して説明する。
図12の縦軸(y軸)は正規化したサービス負荷量であり、横軸(x軸)は学習データをサンプリングした時刻(学習データサンプリング時刻)tである。学習データは、●で示すデータであり、計測したサービス負荷のデータである。つまり、保存部42に保存されたサービス負荷の時系列データD1aである。学習データのサンプリング時刻が、7月7日の0時から5分置きであれば、時刻t0が7月7日0時であり、以降、5分置きにサービス負荷がサンプリングされる。
学習部33が行うモデルパラメータ学習として、仮想サーバのサービス負荷の計測終了時点からp日前(第1日前)までの学習データの値と、q日前(第2日前)までの所定の成分と、の影響により将来の値である予測負荷を予測するモデルとして、自己回帰移動平均モデル(ARMAモデル)を用いた例について説明する。ARMAモデルは、ARモデル(自己回帰:p日前)とMAモデル(移動平均)とを足算したモデルである。自己回帰とは、ある時刻での値を過去の値の変動を元に推測する方法である。
図12の時刻t−iまでの計測されたサービス負荷データx(t−1)が与えられた時の負荷の推定値x(t)は、次式(1)で与えられる。推定値x(t)は、これから予測する例えば1週間後のサービス負荷データであり、前述した図7に示すモデルパラメータyに該当する。
Figure 2019028538
…(1)
Figure 2019028538
Figure 2019028538
上式(1)において、「θεt−i」は、MAモデルであり、例えば、時刻t1では、y(t+1)=a+b、時刻t2では、y(t)=b+cのように、各時刻における値が共通成分を持っているとするモデルである。
更に説明すると、MAモデルは、少し前の値である「y(t+1)」はa+bで算出されており、次の値「y(t)」=b+cはその影響が少し残っているだろう、つまりy(t+1)=a+bのb分が残っているだろうといったb(影響)に、新しく出てきたcの値を足算すると、その次の値となる、といった考え方のモデルである。つまり、過去の影響がどれ位残るかといった値がq日前の「q」の値となる。
Figure 2019028538
Figure 2019028538
…(2)
Figure 2019028538
例えば、7月1日〜7月7日までの1週間の期間で計測されたサービス負荷としての学習データが与えられたとする。ここで、仮定したパラメータでその期間の学習データを予測すると推定値x(t)が求められる。この推定値x(t)と学習データとの差分(誤差μ)が算出できる。この差分が最小となるようにパラメータを決めることで、最適に予測した推定値x(t)が得られる。
負荷予測部34は、上記で求められた推定値x(t)に基づき、サービス負荷の計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求める。
<実施形態の効果>
以上説明したように、本実施形態のクラウドコンピューティング環境60上に構築される仮想サーバ62の増設及び減設を行うオートスケール処理装置10を、次のような特徴構成とした。
(1)予め定められた学習期間において、稼働中の仮想サーバが外部からのサービス要求に応じた処理を行う際のサービス負荷を所定の時刻毎に計測した時系列データを用い、この時系列データの時刻毎のサービス負荷を将来予測するためのモデルパラメータを算出する学習部33を備える。更に、モデルパラメータに基づき、計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求める負荷予測部34と、負荷予測部34で求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を超えて増加する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの増設に掛かる増設処理時間を減算して、仮想サーバの増設開始時刻を求める増減設判断部35とを備える構成とした。
この構成によれば、例えば1台目の第1仮想サーバ61が所定の学習期間において稼働した際のサービス負荷から将来予測のモデルパラメータが求められ、このモデルパラメータから将来のサービス負荷である予測負荷データが求められ、この予測負荷データから第2仮想サーバ62の増設開始時刻が求められる。この増設開始時刻で2台目の第2仮想サーバ62の増設が開始されると、増設処理時間を経過して第1仮想サーバ61の処理可能負荷の最大値となった時刻に、第2仮想サーバ62の増設が完了する。
従って、第2仮想サーバ62の増設完了時刻以降にサービス要求が増加して行く場合、第2仮想サーバ62は増設済みなので、第1及び第2仮想サーバ61,62によって、増加するサービス要求を無駄なく処理することができる。また、第2仮想サーバ62の増設完了時刻は、第1仮想サーバ61のサービス負荷が処理可能負荷の最大値となったタイミングなので、このタイミングで第2仮想サーバ62の増設が完了すれば、第1仮想サーバ61のサービス負荷が最大値を超えたにも拘らず、第2仮想サーバ62が未稼働であるといったことを防止することができる。従って、仮想サーバがユーザからのサービス要求に応じて提供するサービスに悪影響や無駄が生じないように、仮想サーバの増設を行うことができる。
(2)増減設判断部35が、負荷予測部34で求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を下回って減少する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの減設に掛かる増設処理時間を減算して、仮想サーバの減設開始時刻を求めるようにした。
これによって、例えば2台の第1及び第2仮想サーバ61,62が所定の学習期間において稼働した際のサービス負荷から1次関数のモデルパラメータが求められる。このモデルパラメータから将来のサービス負荷である予測負荷データが求められ、この予測負荷データから第2仮想サーバ62の減設開始時刻が求められる。この減設開始時刻で第2仮想サーバ62の減設が開始されると、減設処理時間を経過して第1仮想サーバ61の処理可能負荷の最大値となった時刻に、第2仮想サーバ62の減設が完了する。つまり、サービス要求に対応するサービス負荷が1台の仮想サーバのみの負荷となっているにも拘らず、2台の仮想サーバが稼働しているといった無駄を防止することができる。従って、仮想サーバがユーザからのサービス要求に応じて提供するサービスに無駄が生じないように、仮想サーバの減設を行うことができる。
(3)学習部33は、仮想サーバのサービス負荷の計測終了の自己回帰によるp日前までの学習データの値と、過去の影響が残るかを示す移動平均によるq日前までの所定の成分と、の影響により予測する将来の値である負荷の推定値を自己回帰移動平均モデルを用いて求める。負荷予測部34は、その求められた推定値に基づき、計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求めるようにした。
これによって、学習部33は、自己回帰移動平均モデルを用いて負荷の推定値を求め、負荷予測部34は、その求められた推定値に基づき、将来のサービス負荷である予測負荷データを求めることができる。
(4)学習部33が用いる時系列データの時刻毎のサービス負荷に係る、仮想サーバのCPU使用率又はメモリ使用率に対応するVM負荷と、1秒当りに遣り取りしたパケット数又はバイト数に対応するNW負荷と、仮想サーバの記憶媒体の単位時間当たりの入出力負荷に対応するDISK負荷との各負荷を正規化又は対数化するデータ前処理部32を更に備える構成とした。
この構成によれば、VM負荷、NW負荷及びDISK負荷の各負荷の各々異なる単位のスケールを、同じスケールに揃えることができる。
(5)仮想サーバ当りの処理可能負荷に、当該処理可能負荷を大きくする係数を乗算し、この乗算で得られた仮想サーバ当りの処理可能負荷を保存部に保存する算出部31を更に備える。増減設判断部35は、増設開始時刻又は減設開始時刻を求める際に、上記保存された仮想サーバ当りの処理可能負荷を用いるようにした。
この構成によれば、増減設判断部35が、元の値よりも大きくなった仮想サーバ当りの処理可能負荷を用いて、仮想サーバの増設開始時刻又は減設開始時刻を求めるようになる。この際、仮想サーバ当りの処理可能負荷が大きくなるので、仮想サーバのサービス負荷が、乗算前の処理可能負荷付近で増減しても、この増減を吸収できる。言い換えれば、増設又は減設の処理開始が遅くなるので、細かい品質劣化に対して敏感に増設又は減設しなくなる。このため、仮想サーバの増設又は減設の動作を安定させることができる。よって、処理完了時間の変動が吸収される。
<プログラム>
本実施形態のコンピュータで実行されるプログラムについて説明する。コンピュータは、上記のオートスケール処理装置10である。
このプログラムは、上記コンピュータを、予め定められた学習期間において、稼働中の仮想サーバが外部からのサービス要求に応じた処理を行う際のサービス負荷を所定の時刻毎に計測した時系列データを用い、この時系列データの時刻毎のサービス負荷に対する最小二乗法による傾きと切片を有する1次関数のモデルパラメータを求める手段として機能させる。
また、前記モデルパラメータの傾き及び切片に基づき、前記計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求める手段として機能させる。
更に、前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を超えて増加する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの増設に掛かる増設処理時間を減算して、仮想サーバの増設開始時刻を求める手段として機能させる。
更には、前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を下回って減少する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの減設に掛かる増設処理時間を減算して、仮想サーバの減設開始時刻を求める手段として機能させる。
このプログラムによれば、上述した実施形態のオートスケール処理装置10と同様の効果を得ることができる。
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
10 オートスケール処理装置
20 入出力部
21 入力部
22 出力部
30 処理部
31 処理可能負荷算出部
32 データ前処理部
33 モデルパラメータ学習部
34 負荷予測部
35 増減設判断部
36 増減設処理部
40 記憶部
41 負荷データ保存部
42 学習結果保存部
43 予測負荷データ保存部
44 処理可能負荷データ保存部
45 増減設処理時間保存部
51 入力装置
52 ログ情報
60 クラウドコンピューティング環境
61 第1仮想サーバ
62 第2仮想サーバ

Claims (8)

  1. クラウドコンピューティング環境上に構築される仮想サーバの増設及び減設を行うオートスケール処理装置であって、
    予め定められた学習期間において、稼働中の仮想サーバが外部からのサービス要求に応じた処理を行う際のサービス負荷を所定の時刻毎に計測した時系列データを用い、この時系列データの時刻毎のサービス負荷を将来予測するためのモデルパラメータを算出する学習部と、
    前記モデルパラメータに基づき、前記計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求める負荷予測部と、
    前記負荷予測部で求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を超えて増加する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの増設に掛かる増設処理時間を減算して、仮想サーバの増設開始時刻を求める増減設判断部と
    を備えることを特徴とするオートスケール処理装置。
  2. 前記学習部は、前記仮想サーバのサービス負荷の計測終了の自己回帰による第1日前までの学習データの値と、過去の影響が残るかを示す移動平均による第2日前までの所定の成分と、の影響により予測する将来の値である負荷の推定値を自己回帰移動平均モデルを用いて求め、
    前記負荷予測部は、前記求められた推定値に基づき、前記計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求める
    ことを特徴とする請求項1に記載のオートスケール処理装置。
  3. 前記学習部が用いる前記時系列データの時刻毎のサービス負荷に係る、仮想サーバのCPU使用率又はメモリ使用率に対応するVM負荷と、1秒当りに遣り取りしたパケット数又はバイト数に対応するNW負荷と、仮想サーバの記憶媒体の単位時間当たりの入出力負荷に対応するDISK負荷とについての各負荷を正規化又は対数化するデータ前処理部
    を更に備えることを特徴とする請求項1又は2に記載のオートスケール処理装置。
  4. 前記増減設判断部は、前記負荷予測部で求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を下回って減少する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの減設に掛かる減設処理時間を減算して、仮想サーバの減設開始時刻を求める
    ことを特徴とする請求項1〜3の何れか1項に記載のオートスケール処理装置。
  5. 前記仮想サーバ当りの処理可能負荷に、当該処理可能負荷を大きくする係数を乗算し、この乗算で得られた仮想サーバ当りの処理可能負荷を保存部に保存する算出部を更に備え、
    前記増減設判断部は、前記増設開始時刻又は前記減設開始時刻を求める際に、前記保存された仮想サーバ当りの処理可能負荷を用いる
    ことを特徴とする請求項4に記載のオートスケール処理装置。
  6. 前記増設開始時刻又は前記減設開始時刻となった時に、前記仮想サーバの増設又は減設を開始する制御を行う増減設処理部
    を更に備えることを特徴とする請求項4又は5に記載のオートスケール処理装置。
  7. クラウドコンピューティング環境上に構築される仮想サーバの増設及び減設を行うオートスケール処理装置のオートスケール処理方法であって、
    前記オートスケール処理装置は、
    予め定められた学習期間において、稼働中の仮想サーバが外部からのサービス要求に応じた処理を行う際のサービス負荷を所定の時刻毎に計測した時系列データを用い、この時系列データの時刻毎のサービス負荷に対する最小二乗法による傾きと切片を有する1次関数のモデルパラメータを求めるステップと、
    前記モデルパラメータの傾き及び切片に基づき、前記計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求めるステップと、
    前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を超えて増加する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの増設に掛かる増設処理時間を減算して、仮想サーバの増設開始時刻を求めるステップと、
    前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を下回って減少する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの減設に掛かる減設処理時間を減算して、仮想サーバの減設開始時刻を求めるステップと
    を実行することを特徴とするオートスケール処理方法。
  8. クラウドコンピューティング環境上に構築される仮想サーバの増設及び減設を行うオートスケール処理装置としてのコンピュータを、
    予め定められた学習期間において、稼働中の仮想サーバが外部からのサービス要求に応じた処理を行う際のサービス負荷を所定の時刻毎に計測した時系列データを用い、この時系列データの時刻毎のサービス負荷に対する最小二乗法による傾きと切片を有する1次関数のモデルパラメータを求める手段、
    前記モデルパラメータの傾き及び切片に基づき、前記計測の時刻を過ぎた将来のサービス負荷である予測負荷データを予測して求める手段、
    前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を超えて増加する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの増設に掛かる増設処理時間を減算して、仮想サーバの増設開始時刻を求める手段、
    前記予測して求められた予測負荷データが仮想サーバ当りの処理可能負荷の最大値を下回って減少する際に、当該予測負荷データが当該最大値となる時刻から、仮想サーバの減設に掛かる減設処理時間を減算して、仮想サーバの減設開始時刻を求める手段
    として機能させるためのプログラム。
JP2017144423A 2017-07-26 2017-07-26 オートスケール処理装置、オートスケール方法及びプログラム Pending JP2019028538A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017144423A JP2019028538A (ja) 2017-07-26 2017-07-26 オートスケール処理装置、オートスケール方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017144423A JP2019028538A (ja) 2017-07-26 2017-07-26 オートスケール処理装置、オートスケール方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2019028538A true JP2019028538A (ja) 2019-02-21

Family

ID=65478414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017144423A Pending JP2019028538A (ja) 2017-07-26 2017-07-26 オートスケール処理装置、オートスケール方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2019028538A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783638A (zh) * 2019-11-07 2021-05-11 北京沃东天骏信息技术有限公司 通过调用服务实现数据处理的方法及装置、介质和设备
JP6950911B1 (ja) * 2020-07-31 2021-10-13 株式会社アイデミ— 需要予測プログラム、需要予測装置、需要予測方法、需要予測通知プログラム、需要予測通知装置及び需要予測通知方法
KR20220072338A (ko) * 2020-11-25 2022-06-02 스트라토 주식회사 엣지 서비스 증설 제어 시스템 및 그 제어방법
US11521617B2 (en) 2020-09-03 2022-12-06 International Business Machines Corporation Speech-to-text auto-scaling for live use cases
KR20230069490A (ko) * 2021-11-12 2023-05-19 한국전자기술연구원 마이크로 데이터센터 내 운용 서비스별 작업 부하 예측 모델 적용 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783638A (zh) * 2019-11-07 2021-05-11 北京沃东天骏信息技术有限公司 通过调用服务实现数据处理的方法及装置、介质和设备
JP6950911B1 (ja) * 2020-07-31 2021-10-13 株式会社アイデミ— 需要予測プログラム、需要予測装置、需要予測方法、需要予測通知プログラム、需要予測通知装置及び需要予測通知方法
JP2022026878A (ja) * 2020-07-31 2022-02-10 株式会社アイデミ― 需要予測プログラム、需要予測装置、需要予測方法、需要予測通知プログラム、需要予測通知装置及び需要予測通知方法
US11521617B2 (en) 2020-09-03 2022-12-06 International Business Machines Corporation Speech-to-text auto-scaling for live use cases
KR20220072338A (ko) * 2020-11-25 2022-06-02 스트라토 주식회사 엣지 서비스 증설 제어 시스템 및 그 제어방법
KR102448702B1 (ko) 2020-11-25 2022-09-29 스트라토 주식회사 엣지 서비스 증설 제어 시스템 및 그 제어방법
KR20230069490A (ko) * 2021-11-12 2023-05-19 한국전자기술연구원 마이크로 데이터센터 내 운용 서비스별 작업 부하 예측 모델 적용 방법
KR102612841B1 (ko) * 2021-11-12 2023-12-12 한국전자기술연구원 마이크로 데이터센터 내 운용 서비스별 작업 부하 예측 모델 적용 방법

Similar Documents

Publication Publication Date Title
JP2019028538A (ja) オートスケール処理装置、オートスケール方法及びプログラム
US9696786B2 (en) System and method for optimizing energy consumption by processors
US9870255B2 (en) Hardware acceleration wait time awareness in central processing units with multi-thread architectures
CN107391031B (zh) 一种基于混合存储的计算系统中的数据迁移方法及装置
US9547529B2 (en) Finding resource bottlenecks with low-frequency sampled data
JPWO2006046297A1 (ja) 分析方法及び装置
US11153375B2 (en) Using reinforcement learning to scale queue-based services
US20130338841A1 (en) Parallel Computation of Dynamic State Estimation for Power System
US20140258382A1 (en) Application congestion control
CN104616173B (zh) 预测用户流失的方法以及设备
CN104820616A (zh) 一种任务调度的方法及装置
Mera-Gómez et al. A debt-aware learning approach for resource adaptations in cloud elasticity management
US9188968B2 (en) Run-time characterization of on-demand analytical model accuracy
JP2011013716A (ja) プロセッササイジング装置、プロセッササイジング方法、および情報処理プログラム
US9183042B2 (en) Input/output traffic backpressure prediction
JP5636922B2 (ja) 性能予測装置、性能予測方法およびプログラム
JP2011154487A (ja) コンテンツ有用性管理システム、方法、及びプログラム
CN110727518B (zh) 一种数据处理方法及相关设备
CN110377533B (zh) 一种用于云计算及边缘计算的缓存置换方法及装置
JP2008165412A (ja) 性能演算装置
US20210199842A1 (en) Integration of physical sensors in a data assimilation framework
CN113204411A (zh) 一种数据处理方法、中间处理设备及存储介质
CN108512711B (zh) 得到瞬时接口访问统计量的方法、装置和设备
CN115186216B (zh) 一种页面渲染方法、装置、设备、存储介质
JPWO2013129061A1 (ja) 同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラム