JP2020038434A - リソース割当装置、リソース割当方法およびリソース割当プログラム - Google Patents

リソース割当装置、リソース割当方法およびリソース割当プログラム Download PDF

Info

Publication number
JP2020038434A
JP2020038434A JP2018164422A JP2018164422A JP2020038434A JP 2020038434 A JP2020038434 A JP 2020038434A JP 2018164422 A JP2018164422 A JP 2018164422A JP 2018164422 A JP2018164422 A JP 2018164422A JP 2020038434 A JP2020038434 A JP 2020038434A
Authority
JP
Japan
Prior art keywords
resource
server
allocated
resource allocation
applications
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
JP2018164422A
Other languages
English (en)
Inventor
雄大 北野
Yudai Kitano
雄大 北野
光平 的場
Kohei Matoba
光平 的場
荒岡 誠
Makoto Araoka
誠 荒岡
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 JP2018164422A priority Critical patent/JP2020038434A/ja
Priority to PCT/JP2019/033424 priority patent/WO2020050094A1/ja
Priority to US17/271,872 priority patent/US11397618B2/en
Publication of JP2020038434A publication Critical patent/JP2020038434A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】アプリケーションに対する品質保証を実現しつつ、リソースの利用効率を高める。【解決手段】リソース割当装置10は、サーバリソース200それぞれの容量を示すリソース容量情報120が記憶される記憶部13と、SLIの情報を複数のアプリケーション2それぞれについて、所定の時間間隔で取得するSLI情報収集部11と、取得したSLIの情報に関する所定期間の移動平均と標準偏差とを用いて各アプリケーション2の割当リソース量を算出し、割当リソース量の多い順にアプリケーション2をソートし、割当リソース量の多いアプリケーション2の順に各サーバリソース200の容量を超えない範囲で、ソートしたアプリケーション2の割当リソース量を足し合わせていくことにより、当該アプリケーション2の割当先となるサーバリソース200を決定するリソース割当決定部12と、を備える。【選択図】図1

Description

本発明は、物理サーバ上で共有されるサーバリソースを制御する、リソース割当装置、リソース割当方法およびリソース割当プログラムに関する。
キャリア系サービスなど、厳格な品質規定を持つアプリケーションに対して、E2E(エンドツーエンド)でのSLO(Service Level Objective)を保証することが求められている。なお、SLOは、サービス事業者に対して保証する性能条件であり、例えば、レイテンシやスループットなどで規定される。
一方、物理リソースを外部から利用できないように遮断し、当該リソースをアプリケーションが占有できる状態することにより、アイソレート(分離)されたサーバリソースをアプリケーションに提供する技術が知られている。例えば、CPUピニングの技術を用いることで、物理CPUコアを特定のアプリケーションや仮想マシンに占有(ピニング)させることができる(非特許文献1参照)。
「Red Hat Customer Portal 2.3.4.オプション:CPUのPINNING(固定)」 [online]、Red Hat、[平成30年8月20日検索]、インターネット<URL:https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/virtualization_tuning_and_optimization_guide/ch02s03s04>
サーバ仮想化技術を用い、サーバ上で複数のアプリケーション(APL)を稼働させる一般的な環境では、サーバリソースは全アプリケーションで共有され、リソース利用効率を高めることができる。しかしながら図5に示すように、リソースの競合によって、各アプリケーションにおいて規定されるSLOを満たせない可能性がある。
一方、サーバリソースをピニング等で占有させた場合、例えば、ピニングされた物理CPUコアは特定のアプリケーションや仮想マシンでしか利用できない。よって、図6に示すように、サーバリソースの占有により、各アプリケーションにおいて規定されるSLOを満たせる可能性は高くなるが、リソースの利用効率が低くなってしまう。
つまり、リソースのアイソレーションに基づくSLOの保証と、リソースの利用効率とはトレードオフの関係にある。
このような点に鑑みて本発明がなされたのであり、本発明は、アプリケーションに対する品質保証を実現しつつ、リソースの利用効率を高めることができる、リソース割当装置、リソース割当方法およびリソース割当プログラムを提供することを課題とする。
前記した課題を解決するため、請求項1に記載の発明は、SLO(Service Level Objective)保証を要する複数のアプリケーションを実行するサーバに接続され、当該サーバが備える複数のサーバリソースへの複数の前記アプリケーションの割り当てを決定するリソース割当装置であって、前記サーバリソースそれぞれの容量を示すリソース容量情報が記憶される記憶部と、前記アプリケーションが前記サーバリソースを用いて実行されたときの前記SLOを保証するための計測値であるSLI(Service Level Indicator)の情報を、複数の前記アプリケーションそれぞれについて、所定の時間間隔で取得するSLI情報収集部と、前記アプリケーションごとに、取得した前記SLIの情報に関する所定期間の移動平均と標準偏差とを算出し、算出した前記移動平均および標準偏差を用いて各アプリケーションの割当リソース量を算出し、算出した前記割当リソース量の多い順に前記アプリケーションをソートし、前記割当リソース量の多いアプリケーションの順に各サーバリソースの容量を超えない範囲で、前記ソートしたアプリケーションの割当リソース量を足し合わせていくことにより、当該アプリケーションの割当先となるサーバリソースを決定するリソース割当決定部と、を備えることを特徴とするリソース割当装置とした。
また、請求項4に記載の発明は、SLO保証を要する複数のアプリケーションを実行するサーバに接続され、当該サーバが備える複数のサーバリソースへの複数の前記アプリケーションの割り当てを決定するリソース割当装置のリソース割当方法であって、前記リソース割当装置が、前記サーバリソースそれぞれの容量を示すリソース容量情報が記憶される記憶部を備えており、前記アプリケーションが前記サーバリソースを用いて実行されたときの前記SLOを保証するための計測値であるSLIの情報を、複数の前記アプリケーションそれぞれについて、所定の時間間隔で取得するステップと、前記アプリケーションごとに、取得した前記SLIの情報に関する所定期間の移動平均と標準偏差とを算出し、算出した前記移動平均および標準偏差を用いて各アプリケーションの割当リソース量を算出するステップと、算出した前記割当リソース量の多い順に前記アプリケーションをソートし、前記割当リソース量の多いアプリケーションの順に各サーバリソースの容量を超えない範囲で、前記ソートしたアプリケーションの割当リソース量を足し合わせていくことにより、当該アプリケーションの割当先となるサーバリソースを決定するステップと、を実行することを特徴とするリソース割当方法とした。
このようにすることで、リソース割当装置は、SLOの確実な保証を可能にするとともに、実際に利用するリソース量(SLIの情報)に応じて、各アプリケーションに関する割当リソース量および割当先となるサーバリソースを動的に変更できるため、リソースの利用効率を高めることができる。
請求項2に記載の発明は、前記リソース割当決定部が、前記割当リソース量を、以下の式1に基づき計算すること
割当リソース量R = 移動平均M+(所定の係数k)×標準偏差s ・・・式1
を特徴とする請求項1に記載のリソース割当装置とした。
このようにすることで、リソース割当装置は、アプリケーションが処理に必要となるリソースを確実に確保した上で、SLOとの関係で余分なリソースを割り当てなくて済む。よって、他のアプリケーションに当該リソースの残りの部分を割り当てることができるため、リソースの利用効率を高めることができる。
請求項3に記載の発明は、前記記憶部には、前記アプリケーションごとに、リソース量について前記SLOで規定される値が格納されており、前記リソース割当決定部が、前記アプリケーションそれぞれについて算出した前記割当リソース量が、前記SLOで規定される値を超えるか否かを判定し、超える場合には、当該算出した割当リソース量に替えて、前記SLOで規定される値を当該アプリケーションの割当リソース量にすることを特徴とする請求項1または請求項2に記載のリソース割当装置とした。
このようにすることで、リソース割当装置は、そのアプリケーションに関するSLOで規定される値を超えて、サーバリソースに割当リソース量を設定することを避けることができる。よって、SLOの保証を確保した上で、SLOを超える分のリソースについては、他のアプリケーションに振り分けることで、全体としてリソースを有効活用することができる。
請求項5に記載の発明は、コンピュータを、請求項1乃至請求項3のいずれか1項に記載のリソース割当装置として機能させるためのリソース割当プログラムとした。
このようにすることにより、一般的なコンピュータを用いて、請求項1乃至請求項3のいずれか1項に記載のリソース割当装置の各機能を実現することができる。
本発明によれば、アプリケーションに対する品質保証を実現しつつ、リソースの利用効率を高める、リソース割当装置、リソース割当方法およびリソース割当プログラムを提供することができる。
本実施形態に係るリソース割当装置を含むリソース制御システムの構成を示すブロック図である。 本実施形態に係るリソース割当処理の具体例におけるデータを例示する図である。 本実施形態に係るSLI(帯域量)と割当リソース量を時系列に示す図である。 本実施形態に係るリソース割当装置が実行するリソース割当処置の流れを示すフローチャートである。 複数のアプリケーションでリソースを共有する場合の課題を説明するための図である。 1つのアプリケーションでリソースを占有した場合の課題を説明するための図である。
次に、本発明を実施するための形態(以下、「本実施形態」という。)について説明する。
図1は、本実施形態に係るリソース割当装置10を含むリソース制御システム1000の構成を示すブロック図である。
リソース制御システム1000は、1つ以上のサーバ20と、そのサーバ20のリソース(サーバリソース200)に関するアプリケーション(APL)2の割り当てを制御するリソース割当装置10とを備える。サーバ20とリソース割当装置10とは、データの送受信が可能となるように通信接続される。
本実施形態に係るリソース割当装置10は、サーバ20から各アプリケーション2が実際に利用しているリソース量(SLI:Service Level Indicator)の情報を収集し、その収集したSLIに基づき、各アプリケーション2に対し割り当てるリソース量(後記する「割当リソース量」)を決定するとともに、確保するサーバリソース200を決定する。
サーバ20は、リソース割当装置10が決定した割当リソース量とリソースを確保するサーバリソース200の情報を示すリソース割当指示を受け取る。そして、サーバ20は、既存のリソースアイソレーション機能を用いて、サーバリソース200(物理リソース)を単純に占有させるのではなく、部分的に占有させて、各アプリケーション2に提供する。
既存のリソースアイソレーション機能は、例えば、Linux(登録商標)において提供されるオープンソースのモジュールである「cgroup(Contorol Group)」や「tc(Traffic Contorol)」を用いることができる。
cgroupの機能を用いることにより、CPU時間やメモリ、Disk I/Oなどのリソースを特定のアプリケーションに割り当て、他のアプリケーションの使用を制限することができる。また、tcの機能(tcコマンド)を用いることにより、ネットワークインタフェースに対し、帯域制限(帯域量の割り当て)を可能とする。
なお、cgroupについては、例えば「Control Group v2,[online],インターネット<URL:https://www.kernel.org/doc/Documentation/cgroup-v2.txt>」に詳しい。また、tcについては、例えば「How to Use the Linux Traffic Contorol,[online],NETBEEZ,インターネット<URL:https://netbeez.net/blog/how-to-use-the-linux-traffic-control/>」に詳しい。
リソース割当装置10は、アプリケーション2が実際に利用しているリソース量(SLI)について所定期間の移動平均と標準偏差とを計算し、そのアプリケーション2に割り当てるリソース量(割当リソース量)を算出する。また、リソース割当装置10は、算出した各アプリケーション2の割当リソース量の合計がサーバリソース200の容量を超えないようにして、リソースを確保するサーバリソース200を決定する。
これにより、本実施形態に係るリソース割当装置10は、SLOの確実な保証を可能にするとともに、リソース量(SLI)に応じて割当リソース(割当リソース量および割当先となるサーバリソース)を動的に変更するため、リソースの利用効率を高めることができる。
以下、リソース制御システム1を構成するサーバ20およびリソース割当装置10について詳細に説明する。
<サーバ>
サーバ20は、制御部、入出力部および記憶部(いずれも図示省略)を備える一般的なコンピュータにより構成される。このサーバ20は、各アプリケーション2のSLOを保証するために測定された計測値であるSLIを、リソース割当装置10に所定の時間間隔で送信する。そして、サーバ20は、リソース割当装置10からのリソース割当指示を受信し、リソースアイソレーション機能により、サーバリソース200を部分的に占有させて各アプリケーション2に提供する。
入出力部は、リソース割当装置10等との間で、情報の送受信を行う通信インタフェースにより構成される。また、記憶部は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等により構成される。
制御部は、図1に示すように、SLI計測部21と、リソース制御部22とを含んで構成される。
図1で示すサーバ20のうち、破線で囲んだ部分(符号a)は、複数のアプリケーション(APL)2とそのアプリケーション2が利用する複数のサーバリソース200の関係を概念的に示したものである。本実施形態におけるサーバリソース200は、例えば、サーバ20が備えるCPUコアや、物理ポート(図示省略)に設定されるネットワーク帯域、メモリ等を意味する。また、各アプリケーション2は、サービス事業者に対して保証する条件であるSLO(例えば、レイテンシ1msec以内、スループット10Mpps等)が予め設定されているものとする。
SLI計測部21は、各アプリケーション2が実際に利用しているリソース量(SLI)の情報を所定の時間間隔ごとに計測し、蓄積する。
ここで、SLIは、例えば、それぞれのアプリケーション2が利用しているCPU実行時間やネットワーク帯域量などである。SLIは、他にも、レイテンシやスループット、ネットワーク帯域の使用量、CPU命令実行回数、メモリ帯域の使用量、Disk I/O等であってもよい。
SLI計測部21は、自サーバ20が実行するアプリケーション2ごとに、そのアプリケーション2が利用しているサーバリソース200のリソース量(SLI)を計測して、リソース割当装置10に送信する。
リソース制御部22は、上記したリソースアイソレーション機能(例えば、「cgroup」や「tc」を実行する機能)を備えている。そして、リソース割当装置10からリソース割当指示を受信すると、そのリソース割当指示で示される割当リソース量および割当先となるサーバリソースに基づき、リソースアイソレーション機能を用いて、各アプリケーション2が利用するサーバリソース200とその割当リソース量とを設定する。これにより、リソース制御部22は、サーバリソース200を部分的に占有させて各アプリケーション2に提供する。
<リソース割当装置>
リソース割当装置10は、サーバ20から各アプリケーション2が実際に利用しているリソース量(SLI)の情報を所定の時間間隔で収集し、その収集したSLIに基づき、各アプリケーションに対し割り当てるリソース量を決定するとともに、確保する(割当先となる)サーバリソース200を決定する。
リソース割当装置10は、割当リソース(割当リソース量および割当先となるサーバリソース)を決定するに際して、アプリケーション2が実際に利用しているリソース量(SLI)の所定期間の移動平均と標準偏差とを用いる(詳細は後記)。
このリソース割当装置10は、制御部、入出力部(いずれも図示省略)および記憶部13を備える一般的なコンピュータにより構成される。入出力部は、サーバ20等との間で、情報の送受信を行う通信インタフェースにより構成される。
記憶部13は、ハードディスクやフラッシュメモリ、RAM等により構成される。この記憶部13には、SLO情報110、リソース容量情報120、設定情報130が予め記憶されている。また、後記するSLI情報収集部11がサーバ20から収集した各アプリケーション2のSLIの情報がSLI情報DB140に格納される。
SLO情報110には、各アプリケーション2に対して設定されているSLO(性能条件)の情報が格納される。
リソース容量情報120には、サーバ20が備える各サーバリソース200(物理リソース)のキャパシティ(容量)の情報が格納される。例えば、ネットワーク帯域を割り当てる物理ポートのキャパシティが「1Gbps」として格納される。
設定情報130には、割当リソース量を決定する際に用いる、所定期間の情報と標準偏差の係数(所定の係数)の情報とが格納される。例えば、移動平均を計算するための所定期間として「10秒」、標準偏差の係数として「3」が格納される。
SLI情報DB140には、所定の時間間隔ごとにサーバ20から取得する各アプリケーション2のSLIの情報が格納される。
制御部は、図1に示すように、SLI情報収集部11と、リソース割当決定部12とを含んで構成される。この制御部は、例えば、記憶部13に格納されたプログラム(リソース割当プログラム)を不図示のCPU(Central Processing Unit)が、RAMに展開し実行することにより実現される。
SLI情報収集部11は、サーバ20から各アプリケーション2が実際に利用しているリソース量(SLI)の情報を所定の時間間隔で収集する。そして、SLI情報収集部11は、収集したリソース量(SLI)の情報を、記憶部13内のSLI情報DB140に格納する。
リソース割当決定部12は、アプリケーション2が実際に利用しているリソース量(SLI)の情報を、SLI情報DB140から取得し、そのリソース量(SLI)の情報の所定期間の移動平均と標準偏差とを計算する。ここで、リソース割当決定部12は、記憶部13に記憶された設定情報130に格納される、所定期間の情報に基づき移動平均を計算する。そして、リソース割当決定部12は、計算した移動平均と標準偏差とを用いて、そのアプリケーション2の割当リソース量を決定する。
例えば、リソース割当決定部12は、以下の(式1)を用いて割当リソース量を算出する。
割当リソース量R=移動平均M +(所定の係数k)×標準偏差s ・・・(式1)
ここで、所定の係数kは、標準偏差の係数であり、例えば、k=3とすることで、所定期間におけるすべてのリソース量(SLI)の値の約99.7%を含めることができる。
そして、リソース割当決定部12は、算出した割当リソース量の合計が、各サーバリソース200のキャパシティ(容量)を超えないようにして、リソースを確保するサーバリソース200(割当先となるサーバリソース)を決定する。
この割当先となるサーバリソース200の決定において、リソース割当決定部12は、割当リソース量が多い順にアプリケーション2をソートし、各サーバリソース200のキャパシティ(容量)を超えない範囲で割当リソース量を足し合わせていくことで、リソースを確保するサーバリソース200を決定する。
例えば、アプリケーション「1」への割当リソース量が「800Mbps」、アプリケーション「2」への割当リソース量が「500Mbps」、アプリケーション「3」への割当リソース量が「300Mbps」であり、1Gbpsの物理ポートが2個あった場合、1Gbpsの物理ポート「1」からアプリケーション「1」用のリソースを確保し、1Gbpsの物理ポート「2」からアプリケーション「2」「3」用のリソースを確保する。
リソース割当決定部12は、各アプリケーション2についての割当リソース(割当リソース量および割当先となるサーバリソース)を決定すると、その割当リソースの情報を、リソース割当指示としてサーバ20に送信する。
このようにすることにより、リソース割当装置10は、SLOの確実な保証を可能にするとともに、SLIに応じてサーバ20の割当リソースを動的に変更できるため、サーバリソース200の利用効率を高めることができる。よって、SLOの保証を要するアプリケーションを重畳して利用する場合におけるCAPEX(設備投資)の削減に繋げることができる。
≪具体例≫
次に、本実施形態に係るリソース割当装置10を含むリソース制御システム1000におけるリソース割当処理の具体例について説明する。
ここでは、サーバ20のリソース制御部22が、リソースアイソレーション機能のうち「tc(tcコマンド)」を用いて、ネットワーク帯域量を割り当てる例について説明する。
まず、リソース割当装置10のSLI情報収集部11は、サーバ20からリソース量(SLI)の情報を収集し、SLI情報DB140に格納する。ここでは、図2に示すように、アプリケーション「1」のSLIの情報(帯域量(Mbps))を、1秒ごとに収集しているものとする(図2の符号141参照)。
次に、リソース割当装置10のリソース割当決定部12は、記憶部13内の設定情報130で示される、移動平均を計算するための所定期間として設定されている時間、例えば「10秒」に基づき、その過去10秒のSLIの情報の平均値(図2の符号142参照)と過去10秒分の標準偏差(図2の符号143参照)とを計算する。
続いて、リソース割当決定部12は、計算した所定期間の移動平均と標準偏差とを用いて、割当リソース量を算出する。ここでは、記憶部13内の設定情報130に、標準偏差の係数(所定の係数)kとして「3」が設定されているものとする。
リソース割当決定部12は、(式1)に基づき、以下の(式2)により割当リソース量Rを算出する(図2の符号144参照)。
割当リソース量R=移動平均M +3×標準偏差s ・・・(式2)
そして、リソース割当決定部12は、算出した割当リソース量の合計が、サーバリソース200(物理リソース)のキャパシティ(本例では、1ポート当たり1Gbpsとする。)を超えないように、各アプリケーション2に割り当てるリソースを、どのサーバリソース200(物理リソース)から確保するかを決定する。具体的には、リソース割当決定部12は、割当リソース量が多い順にアプリケーション2をソートし、各サーバリソース200のキャパシティ(容量)を超えない範囲で割当リソース量を足し合わせていくことで、リソースを確保するサーバリソース200を決定する。
例えば、アプリケーション「1」への割当リソース量が「450Mbps」、アプリケーション「2」への割当リソース量が「400Mbps」、アプリケーション「3」への割当リソース量が「300Mbps」、アプリケーション「4」への割当リソース量が「100Mbps」と算出され、1Gbpsの物理ポートが2個あった場合、次のようにリソースを確保する。
リソース割当決定部12は、1Gbpsの物理ポート「1」からアプリケーション「1」「2」用のリソースをまず確保する。そして、物理ポート「1」に入りきれないアプリケーション「3」については、物理ポート「2」にリソースを確保する。次に、アプリケーション「4」については、物理ポート「1」の現時点での割当リソース量の合計が850Mbps(450Mbps+400Mbps)であることから、アプリケーション「4」の割当リソース量「100Mbps」を加えても物理ポートのキャパシティ(容量)を超えないため、物理ポート「1」に割り当てる。このようにして、割当先となるサーバリソース200を決定する。
リソース割当装置10のリソース割当決定部12は、各アプリケーション2についての割当リソース(割当リソース量および割当先となるサーバリソース)を決定すると、その割当リソースの情報を、リソース割当指示としてサーバ20に送信する。
そして、サーバ20のリソース制御部22は、例えば、帯域制御を行う場合、tcコマンドを利用して、アプリケーション「1」用に物理ポート「1」のリソースを450Mbps分確保し、アプリケーション「2」用に物理ポート「1」のリソースを400Mbps分確保し、アプリケーション「4」用に物理ポート「1」のリソースを100Mbps分確保する。また、アプリケーション「3」用に物理ポート「2」のリソースを、300Mbps分確保する。
図3は、図2で示したアプリケーション「1」についての、SLI(帯域量)(図2の符号141)と、リソース割当装置10のリソース割当決定部12が決定した割当リソース量(図2の符号144)を、時系列に示す図である。
図3において、アプリケーション「1」のSLOが「1Gbps(1000Mbps)」であるとすると、従来であれば、「1Gbps」のリソースを常に割り当てる必要があった。しかしながら、本実施形態によれば、その時点のSLIに応じて、割当リソース(割当リソース量および割当先となるサーバリソース)を動的に変更することができる。よって、リソースの有効利用が可能となる。
なお、リソース割当装置10のリソース割当決定部12は、あるアプリケーション2について算出した割当リソース量の値が、SLOで規定される値を超えている場合には、算出した割当リソース量に替えて、SLOで規定される値を割当リソース量として決定する。このようにすることで、そのアプリケーション2に対し、SLOを超えた過剰なリソースの割り当てをしないようにし、SLOの値を超えた分のリソースを、他のアプリケーション2に割り当てることが可能となる。
<処理の流れ>
次に、リソース割当装置10が実行するリソース割当処理の流れについて説明する。
図4は、本実施形態に係るリソース割当装置10が実行するリソース割当処置の流れを示すフローチャートである。
なお、リソース割当装置10の記憶部13には、各アプリケーション2に関するSLOの情報(SLO情報110)、各サーバリソース200に関するリソース容量情報120、および、設定情報130(所定期間の情報と標準偏差の係数の情報)が予め格納されているものとする。
まず、リソース割当装置10のSLI情報収集部11は、サーバ20から各アプリケーション2が利用しているリソース量(SLI)の情報を取得し(ステップS10)、SLI情報DB140(図1参照)に格納する。なお、以下に示すステップS11〜ステップS20は、SLI情報収集部11が、所定の時間間隔でサーバ20からリソース量(SLI)の情報を取得する度に行われる。
次に、リソース割当装置10のリソース割当決定部12は、アプリケーション2が実際に利用しているリソース量(SLI)の情報を、SLI情報DB140から取得し、そのリソース量(SLI)の情報の所定期間(例えば、10秒)における移動平均と標準偏差とを計算する(ステップS11)。
続いて、リソース割当決定部12は、アプリケーション2ごとに、計算した移動平均と標準偏差とを用いて、割当リソース量を算出する(ステップS12)。
リソース割当決定部12は、記憶部13内に設定情報130として記憶された、標準偏差の係数(例えば、k=3)に基づき上記した(式2)を用いて、割当リソース量を算出する。
そして、リソース割当決定部12は、割当リソース量が多い順にアプリケーション2をソートし、割当リソース量が多い順に未処理のアプリケーション2の1つを選択する(ステップS13)。
次に、リソース割当決定部12は、選択したアプリケーション2を割り当てるサーバリソース200を仮選択する。そして、リソース割当決定部12は、選択したアプリケーション2の割当リソース量と、仮選択したサーバリソース200にそれまでに設定済みの他のアプリケーション2の割当リソース量との合計が、そのサーバリソース200のキャパシティ(容量)を超えるか否かを判定する(ステップS14)。
なお、複数のサーバリソース200のうち、仮選択するサーバリソース200の順番は、予め設定されているものとする。
ステップS14の判定の結果、当該サーバリソース200のキャパシティ(容量)を超えていれば(ステップS14→Yes)、当該サーバリソース200に替えて他のサーバリソース200(次の順番に設定されたサーバリソース)を仮選択し(ステップS15)、ステップS14に戻る。
一方、ステップS14の判定の結果、割当リソース量(の合計)がサーバリソース200のキャパシティ(容量)を超えていなければ(ステップS14→No)、そのアプリケーション2の割当リソース量がSLOで規定される値を超えるか否かを判定する(ステップS16)。
ここで、割当リソース量がSLOで規定される値を超える場合には(ステップS16→Yes)、算出した割当リソース量に替えて、SLOで規定される値を新たな割当リソース量として決定する(ステップS17)。そして、ステップS18に進む。
一方、割当リソース量がSLOで規定される値以下の場合には(ステップS16→No)、ステップS18に進む。
ステップS18において、リソース割当決定部12は、仮選択したサーバリソース200を、選択したアプリケーション2の割当先のサーバリソース200として決定する。
続いて、リソース割当決定部12は、すべてのアプリケーション2を処理したか否かを判定する(ステップS19)。そして、リソース割当決定部12は、まだ処理していないアプリケーション2がある場合には(ステップS19→No)、ステップS13に戻る。一方、リソース割当決定部12は、すべてのアプリケーション2を処理している場合には(ステップS19→Yes)、ステップS20に進む。
ステップS20において、リソース割当装置10のリソース割当決定部12は、各アプリケーションの割当リソース量と割当先のサーバリソース200の情報を含むリソース割当指示を生成し、サーバ20に送信して処理を終える。
なお、サーバ20は、リソース割当指示を受信し、リソースアイソレーション機能を用いて、各アプリケーション2が利用するサーバリソース200とその割当リソース量とを設定する。これにより、サーバ20は、サーバリソース200を部分的に占有させて各アプリケーション2に提供する。
以上説明したように、本実施形態に係る、リソース割当装置、リソース割当方法およびリソース割当プログラムによれば、SLOの確実な保証を可能にするとともに、リソース量(SLI)に応じて割当リソース(割当リソース量および割当先となるサーバリソース)を動的に変更するため、リソースの利用効率を高めることができる。
2 アプリケーション(APL)
10 リソース割当装置
11 SLI情報収集部
12 リソース割当決定部
13 記憶部
20 サーバ
21 SLI計測部
22 リソース制御部
110 SLO情報
120 リソース容量情報
130 設定情報
140 SLI情報DB
200 サーバリソース
1000 リソース制御システム

Claims (5)

  1. SLO(Service Level Objective)保証を要する複数のアプリケーションを実行するサーバに接続され、当該サーバが備える複数のサーバリソースへの複数の前記アプリケーションの割り当てを決定するリソース割当装置であって、
    前記サーバリソースそれぞれの容量を示すリソース容量情報が記憶される記憶部と、
    前記アプリケーションが前記サーバリソースを用いて実行されたときの前記SLOを保証するための計測値であるSLI(Service Level Indicator)の情報を、複数の前記アプリケーションそれぞれについて、所定の時間間隔で取得するSLI情報収集部と、
    前記アプリケーションごとに、取得した前記SLIの情報に関する所定期間の移動平均と標準偏差とを算出し、算出した前記移動平均および標準偏差を用いて各アプリケーションの割当リソース量を算出し、
    算出した前記割当リソース量の多い順に前記アプリケーションをソートし、前記割当リソース量の多いアプリケーションの順に各サーバリソースの容量を超えない範囲で、前記ソートしたアプリケーションの割当リソース量を足し合わせていくことにより、当該アプリケーションの割当先となるサーバリソースを決定するリソース割当決定部と、
    を備えることを特徴とするリソース割当装置。
  2. 前記リソース割当決定部は、
    前記割当リソース量を、以下の式1に基づき計算すること
    割当リソース量R = 移動平均M+(所定の係数k)×標準偏差s ・・・式1
    を特徴とする請求項1に記載のリソース割当装置。
  3. 前記記憶部には、前記アプリケーションごとに、リソース量について前記SLOで規定される値が格納されており、
    前記リソース割当決定部は、
    前記アプリケーションそれぞれについて算出した前記割当リソース量が、前記SLOで規定される値を超えるか否かを判定し、超える場合には、当該算出した割当リソース量に替えて、前記SLOで規定される値を当該アプリケーションの割当リソース量にすること
    を特徴とする請求項1または請求項2に記載のリソース割当装置。
  4. SLO保証を要する複数のアプリケーションを実行するサーバに接続され、当該サーバが備える複数のサーバリソースへの複数の前記アプリケーションの割り当てを決定するリソース割当装置のリソース割当方法であって、
    前記リソース割当装置は、
    前記サーバリソースそれぞれの容量を示すリソース容量情報が記憶される記憶部を備えており、
    前記アプリケーションが前記サーバリソースを用いて実行されたときの前記SLOを保証するための計測値であるSLIの情報を、複数の前記アプリケーションそれぞれについて、所定の時間間隔で取得するステップと、
    前記アプリケーションごとに、取得した前記SLIの情報に関する所定期間の移動平均と標準偏差とを算出し、算出した前記移動平均および標準偏差を用いて各アプリケーションの割当リソース量を算出するステップと、
    算出した前記割当リソース量の多い順に前記アプリケーションをソートし、前記割当リソース量の多いアプリケーションの順に各サーバリソースの容量を超えない範囲で、前記ソートしたアプリケーションの割当リソース量を足し合わせていくことにより、当該アプリケーションの割当先となるサーバリソースを決定するステップと、
    を実行することを特徴とするリソース割当方法。
  5. コンピュータを、請求項1乃至請求項3のいずれか1項に記載のリソース割当装置として機能させるためのリソース割当プログラム。
JP2018164422A 2018-09-03 2018-09-03 リソース割当装置、リソース割当方法およびリソース割当プログラム Pending JP2020038434A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018164422A JP2020038434A (ja) 2018-09-03 2018-09-03 リソース割当装置、リソース割当方法およびリソース割当プログラム
PCT/JP2019/033424 WO2020050094A1 (ja) 2018-09-03 2019-08-27 リソース割当装置、リソース割当方法およびリソース割当プログラム
US17/271,872 US11397618B2 (en) 2018-09-03 2019-08-27 Resource allocation device, resource allocation method, and resource allocation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018164422A JP2020038434A (ja) 2018-09-03 2018-09-03 リソース割当装置、リソース割当方法およびリソース割当プログラム

Publications (1)

Publication Number Publication Date
JP2020038434A true JP2020038434A (ja) 2020-03-12

Family

ID=69722585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018164422A Pending JP2020038434A (ja) 2018-09-03 2018-09-03 リソース割当装置、リソース割当方法およびリソース割当プログラム

Country Status (3)

Country Link
US (1) US11397618B2 (ja)
JP (1) JP2020038434A (ja)
WO (1) WO2020050094A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002049B (zh) * 2022-06-15 2023-11-14 支付宝(杭州)信息技术有限公司 资源分配的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244481A (ja) * 2005-02-28 2006-09-14 Hewlett-Packard Development Co Lp クラスタシステムの仮想マシンをマイグレーションするためのシステム及び方法
WO2010050249A1 (ja) * 2008-10-30 2010-05-06 株式会社日立製作所 情報処理システムの運用管理装置
WO2010140183A1 (ja) * 2009-06-01 2010-12-09 富士通株式会社 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法
JP2013164749A (ja) * 2012-02-10 2013-08-22 Nomura Research Institute Ltd 仮想サーバ管理システム
JP2017157910A (ja) * 2016-02-29 2017-09-07 日本電気株式会社 電子抽選システム及び電子抽選方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US8555287B2 (en) * 2006-08-31 2013-10-08 Bmc Software, Inc. Automated capacity provisioning method using historical performance data
US8527996B2 (en) * 2010-01-07 2013-09-03 International Business Machines Corporation Method and system for performing a combination of throttling server, throttling network and throttling a data storage device by employing first, second and third single action tools
US20120066487A1 (en) * 2010-09-09 2012-03-15 Novell, Inc. System and method for providing load balancer visibility in an intelligent workload management system
US9658892B2 (en) * 2011-08-31 2017-05-23 International Business Machines Corporation Management of storage cluster performance with hybrid workloads
US9852010B2 (en) * 2012-02-03 2017-12-26 Microsoft Technology Licensing, Llc Decoupling partitioning for scalability
US10296973B2 (en) * 2014-07-23 2019-05-21 Fortinet, Inc. Financial information exchange (FIX) protocol based load balancing
WO2018005297A1 (en) * 2016-06-30 2018-01-04 Intel Corporation Technologies for implementing consolidated device infrastructure systems
US10525984B2 (en) * 2016-08-19 2020-01-07 Massachusetts Institute Of Technology Systems and methods for using an attention buffer to improve resource allocation management
US10558499B2 (en) * 2017-10-26 2020-02-11 Advanced Micro Devices, Inc. Wave creation control with dynamic resource allocation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244481A (ja) * 2005-02-28 2006-09-14 Hewlett-Packard Development Co Lp クラスタシステムの仮想マシンをマイグレーションするためのシステム及び方法
WO2010050249A1 (ja) * 2008-10-30 2010-05-06 株式会社日立製作所 情報処理システムの運用管理装置
WO2010140183A1 (ja) * 2009-06-01 2010-12-09 富士通株式会社 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法
JP2013164749A (ja) * 2012-02-10 2013-08-22 Nomura Research Institute Ltd 仮想サーバ管理システム
JP2017157910A (ja) * 2016-02-29 2017-09-07 日本電気株式会社 電子抽選システム及び電子抽選方法

Also Published As

Publication number Publication date
US20210224120A1 (en) 2021-07-22
WO2020050094A1 (ja) 2020-03-12
US11397618B2 (en) 2022-07-26

Similar Documents

Publication Publication Date Title
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算***以及负载均衡方法
RU2643626C1 (ru) Способ распределения принимаемых пакетов, селектор очереди, устройство обработки пакетов и носитель информации
US9124506B2 (en) Techniques for end-to-end network bandwidth optimization using software defined networking
US11320998B2 (en) Method for assuring quality of service in distributed storage system, control node, and system
US9197566B2 (en) Information processing method, recording medium, and information processing apparatus
CN109981744B (zh) 数据的分发方法、装置、存储介质及电子设备
JP6307377B2 (ja) 仮想ネットワーク割当方法および装置
CN109189572B (zh) 一种资源预估方法及***、电子设备和存储介质
US20170264500A1 (en) Number-of-scales estimation apparatus, number-of-scales management system, number-of-scales estimation method, number-of-scales management method, and storage medium
US20140143426A1 (en) Information processing method, recording medium, and information processing device
US11825248B2 (en) Spectrum allocation method and apparatus
JP2016082519A (ja) 仮想ネットワーク割当方法および装置
CN107430526B (zh) 用于调度数据处理的方法和节点
US20180167326A1 (en) Method and system for limiting data traffic
US10200871B2 (en) Radio resource allocation method and radio network controller
KR101448413B1 (ko) Atca-기반 장비에서 통신 트래픽을 스케줄링하기 위한 방법 및 장치
WO2020050094A1 (ja) リソース割当装置、リソース割当方法およびリソース割当プログラム
US20170344266A1 (en) Methods for dynamic resource reservation based on classified i/o requests and devices thereof
CN111343719B (zh) 一种lte物理资源块分配方法、装置及存储介质
JP5043166B2 (ja) 計算機システム、データ検索方法及びデータベース管理計算機
CN112685167A (zh) 资源使用方法、电子设备和计算机程序产品
JPH1027167A (ja) 並列計算機の負荷分散方法
CN111800446B (zh) 调度处理方法、装置、设备和存储介质
JP6279427B2 (ja) 仮想ネットワーク割当方法および装置
JP7037059B2 (ja) リソース管理システム、および、リソース割当プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220531