JP2023037524A - リソース割当制御装置、計算機システム、及びリソース割当制御方法 - Google Patents
リソース割当制御装置、計算機システム、及びリソース割当制御方法 Download PDFInfo
- Publication number
- JP2023037524A JP2023037524A JP2021144337A JP2021144337A JP2023037524A JP 2023037524 A JP2023037524 A JP 2023037524A JP 2021144337 A JP2021144337 A JP 2021144337A JP 2021144337 A JP2021144337 A JP 2021144337A JP 2023037524 A JP2023037524 A JP 2023037524A
- Authority
- JP
- Japan
- Prior art keywords
- performance
- data store
- application
- distributed data
- information
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】分散データストアに対してHWリソースを容易且つ適切に割り当てられるようにする。
【解決手段】分散データストアに割り当てるノードのハードウェアのリソース量を制御する管理ノード100において、アプリケーション性能と分散データストア性能との対応関係を示すアプリケーション性能モデル104と、ハードウェアのリソース量と分散データストアのデータストア性能との対応関係を示すデータストア性能モデル105と、を記憶するディスク装置と、CPUと、を有し、CPUは、アプリケーションによる目標性能情報を受け付け、アプリケーション性能モデルに基づいて、目標性能情報により特定される性能の実現に必要な分散データストア性能である必要性能を決定し、データストア性能モデルに基づいて、必要性能の実現に必要なハードウェアのリソース量を決定し、決定したリソース量を分散データストアに割り当てる設定をするように構成する。
【選択図】図1
【解決手段】分散データストアに割り当てるノードのハードウェアのリソース量を制御する管理ノード100において、アプリケーション性能と分散データストア性能との対応関係を示すアプリケーション性能モデル104と、ハードウェアのリソース量と分散データストアのデータストア性能との対応関係を示すデータストア性能モデル105と、を記憶するディスク装置と、CPUと、を有し、CPUは、アプリケーションによる目標性能情報を受け付け、アプリケーション性能モデルに基づいて、目標性能情報により特定される性能の実現に必要な分散データストア性能である必要性能を決定し、データストア性能モデルに基づいて、必要性能の実現に必要なハードウェアのリソース量を決定し、決定したリソース量を分散データストアに割り当てる設定をするように構成する。
【選択図】図1
Description
本発明は、ソフトウェアの実行に対するハードウェア(Hardware)のリソース(HWリソース)の割当制御技術に関する。
AI(Artificial Intelligence)やデータ分析のデータを格納するためのストレージとして、データレイクが広く用いられている。データレイクはマルチプロトコルデータストアであり、主に、Fileストレージ/Objectストレージ/NoSQL等の分散データストアが用いられる。データレイクでは、複数の分散データストアが混在するため、データレイクを構成する各ノードにおいて、分散データストア間のHWリソースの競合が発生し、分散データストアの性能が不安定となる問題がある。このため、このような問題を解決するためのQoS(Quality of Service)制御が求められる。
また、HWリソースを割り当てる技術としては、アプリケーションを実行するVMに割り当てる計算リソースを制御する技術が知られている(例えば、特許文献1参照)。
アプリケーションには、例えば、分散データストアに対してアクセスを行って各種処理を行うものがあり、アプリケーションを実行するVMに対するHWリソースを適切に割り当てたとしても、アプリケーションがアクセスする分散データストアの状況によっては、所望される性能を発揮できない場合がある。
しかしながら、使用している分散データストアに対してHWリソースを割り当てる機能がなかったり、HWリソースの割り当てを変更できる機能がなかったりする場合がある。また、分散データストアに対してHWリソースの割り当てを変更できる機能があったとしても、どのようにHWリソースを割り当てればよいかを決定することは非常に困難である。
本発明は、上記事情に鑑みなされたものであり、その目的は、分散データストアに対してHWリソースを容易且つ適切に割り当てることのできる技術を提供することにある。
上記目的を達成するため、一観点に係るリソース割当制御装置は、複数のノードで実行され、前記複数のノードでデータを分散して管理する分散データストアに割り当てる前記ノードのハードウェアのリソース量を制御するリソース割当制御装置であって、前記分散データストアにアクセスして所定の処理を実行するアプリケーションの性能と、前記アプリケーションの性能の実現に必要な分散データストア性能と、の対応関係を示すアプリケーション性能情報と、前記ハードウェアのリソース量と、前記リソース量のハードウェアにより前記分散データストアで実現可能なデータストア性能と、の対応関係を示すデータストア性能リソース量情報と、を記憶する記憶部と、前記記憶部に接続されたプロセッサと、を有し、前記プロセッサは、前記アプリケーションによる目標となる性能を特定可能な目標性能情報を受け付け、前記アプリケーション性能情報に基づいて、前記目標性能情報により特定される性能の実現に必要な分散データストア性能である必要性能を決定し、前記データストア性能リソース量情報に基づいて、前記必要性能の実現に必要なハードウェアのリソース量を決定し、決定した前記リソース量のハードウェアを前記分散データストアに割り当てるように設定する。
本発明によれば、分散データストアに対してHWリソースを容易且つ適切に割り当てることができる。
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、以下の説明では、「プログラム」を動作の主体として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェースデバイス(例えばNIC(Network Interface Card))を用いながら行うため、処理の主体がプログラムとされてもよい。プログラムを動作の主体として説明された処理は、プロセッサ或いはそのプロセッサを有する計算機が行う処理としてもよい。
以下の説明では、「AAAテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「AAAテーブル」を「AAA情報」と呼ぶことができる。
図1は、一実施形態に係る計算機システムの全体構成図である。
計算機システム1は、リソース割当制御装置の一例としての管理ノード100と、ストレージノード110,120と、コンピュートノード140,150と、クライアントノード170とを備える。
管理ノード100と、クライアントノード170とは、例えば、LAN(Local Area Network)180等のネットワークを介して接続されている。また、管理ノード100と、ストレージノード110,120と、コンピュートノード140,150とは、例えば、LAN181等のネットワークを介して接続されている。
コンピュートノード140,150は、協調して(複数のコンピュートノードにより)、アプリケーション実行基盤160を構成し、アプリケーション実行基盤160によりアプリケーション161(アプリケーションA),162(アプリケーションB)等を実行することにより処理を実行し、処理に伴ってストレージノード110,120上に構成されるデータストア(分散データストア)に対するIOリクエスト(リードリクエスト、ライトリクエスト等)を発行する。コンピュートノードは、図では2台だが、1台でもよく、3台以上であってもよい。
ストレージノード110,120は、協調してデータストア実行基盤130を構成し、データストア実行基盤130により1以上の分散データストア(データストア131(データストアA),データストア132(データストアB))を実行する。図では、ストレージノードは2台だが、3台以上であってもよい。また、データストア実行基盤130に構成される分散データストアは、1、または2以上であってもよい。
ストレージノード110,120が構成するデータストア131,132は、コンピュートノード140,150のアプリケーションからのIOリクエストを受領し、IOリクエストに対応するIO処理を実行する。また、ストレージノード110,120は、それぞれリソース割当制御プログラム111,121を格納する。リソース割当制御プログラム111,121は、管理ノード100からのHWリソースの割当量(HWリソース割当量)の設定に基づいて、各データストアのプログラム(ソフトウェア)に割り当てるHWリソースの量を制御する。
クライアントノード170は、管理者からコンピュートノード上で実行されるアプリケーション161,162に対する目標性能を特定可能な情報(目標性能情報:例えば、KPI(Key Performance Indicator))を受け付け、目標性能情報を管理ノード100に送信する。
管理ノード100は、QoS制御プログラム101を記憶する。QoS制御プログラム101は、アプリケーション性能モデル104と、データストア性能モデル105とを格納する。
アプリケーション性能モデル104は、アプリケーションの性能と、必要となるデータストアの性能(必要性能)との関係を示すアプリケーション性能情報の一例である。図では、アプリケーション性能モデルは1つだけ示しているが、コンピュートノード上で実行されるアプリケーションの数だけ存在していてもよいし、1つのアプリケーションに対して複数存在してもよい。
データストア性能モデル105は、リソース割当量とデータストアの性能との関係を示すデータストア性能リソース量情報の一例である。図では、データストア性能モデルは1つだけ示しているが、ストレージノード上に構成された分散データストアの数だけ存在していてもよいし、1つのデータストアに対して複数存在してもよい。
QoS制御プログラム101は、実行されることにより、性能モデル作成部102と、リソース割当量算出部103とを構成する。性能モデル作成部102は、アプリケーション性能モデル104と、データストア性能モデル105とを作成する。リソース割当量算出部103は、アプリケーション性能モデル104と、データストア性能モデル105と、クライアントノード170から受領した目標性能情報と、に基づいて、ストレージノード110,120上で構成されるデータストア131,132に対するHWリソース割当量を算出する。また、リソース割当量算出部103は、ストレージノード110のリソース割当制御プログラム111と、ストレージノード120のリソース割当制御プログラム121とに算出したHWリソース割当量を送信する。
図2は、一実施形態に係る計算機システムのハードウェア構成図である。
なお、本実施形態では、後述するアプリケーション性能モデル作成処理及びデータストア性能モデル作成処理においては、実際にユーザが使用するアプリケーションを実行するコンピュートノード140,150及びこのコンピュートノード140,150に対して実際に提供されるデータストアを構成するストレージノード110,120を用いるが、本発明はこれに限られず、コンピュートノード140,150とは別の同様なコンピュートノードを用いてもよく、また、ストレージノード110,120とは別の同様な複数のストレージノードを用いるようにしてもよい。
管理ノード100は、プロセッサの一例としてのCPU232と、主記憶装置としてのメモリ233と、二次記憶装置としてのディスク装置234と、1以上のNIC235とを備える。CPU232と、メモリ233と、ディスク装置234と、NIC235とは、バス231を介して接続されている。
CPU232は、ディスク装置234上に格納されているプログラムをメモリ233上に読み込んで実行することにより、各種処理を実行する。CPU232は、バス231、NIC235を介して、LAN(180,181)に接続されている他の装置(ストレージノード110,120、コンピュートノード140,150、クライアントノード170等)との間でデータを送受信する。
ストレージノード110,120は、CPU232と、メモリ233と、ディスク装置234と、NIC235とを備える。CPU232と、メモリ233と、ディスク装置234と、NIC235とは、バス231を介して接続されている。
コンピュートノード140,150は、CPU232と、メモリ233と、ディスク装置234と、NIC235とを備える。CPU232と、メモリ233と、ディスク装置234と、NIC235とは、バス231を介して接続されている。
クライアントノード170は、CPU232と、メモリ233と、ディスク装置234と、NIC235とを備える。CPU232と、メモリ233と、ディスク装置234と、NIC235とは、バス231を介して接続されている。
図3は、一実施形態に係る計算機システムの論理構成図である。
クライアントノード170は、クライアントプログラム331を格納する。クライアントプログラム331は、クライアントノード170のCPU232により実行されると、クライアントノード170のユーザから目標性情報(例えば、KPI)の入力を受け付けて、目標性能情報を管理ノード100に送信する。
管理ノード100は、QoS制御プログラム101を格納する。QoS制御プログラム101は、管理ノード100のCPU232により実行されると、KPI受付部301と、リソース割当量算出部103と、性能モデル作成部102と、性能モデル管理部306とを構成する。
KPI受付部301は、クライアントノード170から送信された性能目標情報を受信する。
性能モデル作成部102は、データストアベンチマーク実行部304と、アプリケーション実行部305とを有する。データストアベンチマーク実行部304は、ストレージノード110,120におけるデータストア(例えば、データストアを構成するプログラム)の性能を測定し、データストア性能モデル104を作成する。アプリケーション実行部305は、コンピュートノード140,150におけるアプリケーションの性能を測定し、アプリケーション性能モデル105を作成する。
性能モデル管理部306は、アプリケーション性能モデル管理テーブル307と、データストア性能モデル管理テーブル308とを管理する。性能モデル管理部306は、性能モデル作成部102により作成されたデータストア性能モデル及びアプリケーション性能モデルを、アプリケーション性能モデル管理テーブル307及びデータストア性能モデル管理テーブル308により管理する。
QoS制御プログラム101は、アプリケーション管理テーブル321と、データストア管理テーブル311とを格納する。
ストレージノード110は、実行基盤プログラム313と、リソース割当制御プログラム111とを格納する。
リソース割当制御プログラム111は、CPU232に実行されると、ストレージノード110で実行される各データストアのプログラムに割り当てるHWリソースの量(HWリソース割当量)の制御を行う。
ストレージノード120は、実行基盤プログラム312と、リソース割当制御プログラム121とを格納する。
リソース割当制御プログラム121は、CPU232に実行されると、ストレージノード120で実行される各データストアのプログラムに割り当てるHWリソースの量(HWリソース割当量)の制御を行う。
ストレージノード110のCPU232によって実行される実行基盤プログラム313と、ストレージノード120のCPU232によって実行される実行基盤プログラム312とは、協調して動作し、データストア実行基盤130を構成する。データストア実行基盤130においては、データストア管理テーブル311が管理され、データストア(131,132等)のプログラムが実行されることより、データストアが構成される。
コンピュートノード140は、実行基盤プログラム323を格納する。コンピュートノード150は、実行基盤プログラム322を格納する。
コンピュートノード140のCPU232によって実行される実行基盤プログラム323と、コンピュートノード150のCPU232によって実行される実行基盤プログラム322とは、協調して動作し、アプリケーション実行基盤160を構成する。アプリケーション実行基盤160におけるアプリケーションの実行形態は、例えば、コンテナ、VM(仮想マシン)、プロセス等のいずれでもよい。アプリケーション実行基盤160においては、アプリケーション管理テーブル321が管理され、アプリケーション161,162、IO解析プログラム320が実行される。
IO解析プログラム320は、アプリケーションが発行するIOを解析する。例えば、IO解析プログラム320は、IOの操作(オペレーション)種別がランダムリード、ランダムライト、シーケンシャルリード、シーケンシャルライト等のいずれであるかを解析する。なお、アプリケーションが発行するIOを解析する方法としては、アプリケーションの実行ログを取得する方法や、OS(Operating System)レベルでアプリケーションの動作を解析する方法や、アプリケーションで使用するライブラリをフック(オーバライド)する方法等を利用してもよい。
図4は、一実施形態に係るアプリケーション管理テーブルの構成図である。
アプリケーション管理テーブル321は、アプリケーション実行基盤160で実行可能なアプリケーションを管理するテーブルであり、アプリケーション毎のエントリを格納する。アプリケーション管理テーブル321のエントリは、ID1001と、名前(Name)1002と、説明(Description)1003とのフィールドを含む。
ID1001には、エントリに対応するアプリケーションの識別子(ID)が格納される。名前1002には、エントリに対応するアプリケーションの名前が格納される。説明1003には、エントリに対応するプログラムの処理内容の説明が格納される。
図5は、一実施形態に係るデータストア管理テーブルの構成図である。
データストア管理テーブル311は、データストア実行基盤130で作成されたデータストアを管理するテーブルであり、データストア毎のエントリを格納する。データストア管理テーブル311のエントリは、ID1101と、データストア(Data store)1102と、データ(Data)1103と、サイズ(Size)1104と、説明(Description)1105とのフィールドを含む。
ID1101には、エントリに対応するデータストアの識別子(ID)が格納される。データストア1102には、エントリに対応するデータストアの種類が格納される。データ1103には、エントリに対応するデータストアに格納されるデータの名前が格納される。サイズ1104には、エントリに対応するデータのサイズが格納される。説明1105には、エントリに対応するデータストアに格納されるデータの説明が格納される。
次に、データストア性能モデルを作成するデータストア性能モデル作成処理400について説明する。
図6は、一実施形態に係るデータストア性能モデル作成処理のフローチャートである。
本実施形態のデータストア性能モデル作成処理では、データストア性能モデルを、分散データストアのオペレーションの種別毎に作成する。ここで、オペレーションとは、データストアに対するIO操作のことをいい、例えば、データストアがFileデータストアであれば、シーケンシャルRead(リード)/Write(ライト)、ランダムRead/Write、メタデータ操作(例えば、ファイル作成/削除、ディレクトリ作成/削除等)であり、データストアがNoSQLデータストアであれば、DB(Data Base)へのデータ挿入、削除、検索等のことをいう。また、本実施形態では、各オペレーションの種別毎のデータストア性能モデルを、HWリソースごとに作成する。ここで、HWリソースとは、CPU、メモリ、NIC帯域、ディスク装置のIO帯域等である。このデータストア性能モデル作成処理によると、各HWリソースの割当量と、その割当量での分散データストア(厳密には、データストアプログラム)の性能との関係を示すデータストア性能モデルがオペレーションの種別ごとに作成される。
まず、データストアベンチマーク実行部304(QoS制御プログラム101を実行するCPU232)は、分散データストアの全てのオペレーションの種別についてのデータストア性能モデルを作成したか否かを確認する(ステップ410)。この結果、全てのオペレーションの種別について性能モデルを作成している場合(ステップ410:Yes)には、データストアベンチマーク実行部304は、データストア性能モデル作成処理400を終了する。
一方、全てのオペレーションの種別についてのデータストア性能モデルを作成していない場合(ステップ410:No)には、データストアベンチマーク実行部304は、未作成のオペレーションの種別を対象としてデータストア性能モデルの作成を行う。ここで、対象とするオペレーション種別を対象オペレーション種別という。
まず、データストアベンチマーク実行部304は、対象オペレーション種別について、データストア性能モデルを作成する対象とするHWリソースの全てのデータストア性能モデルを作成したか否かを確認する(ステップ420)。
この結果、対象オペレーション種別について、対象とする全てのHWリソースのデータストア性能モデルを作成している場合(ステップ420:Yes)には、データストアベンチマーク実行部304は、処理をステップ410に進める。
一方、対象とする全てのHWリソースのデータストア性能モデルを作成していない場合(ステップ420:No)には、データストアベンチマーク実行部304は、未作成のHWリソース(対象HWリソースという)のデータストア性能モデルの作成を行う。ここで、対象HWリソースのデータストア性能モデルを作成する場合には、対象HWリソース以外のHWリソースについては、対象HWリソースの性能のネックとならない割当量とし、対象HWリソースのHWリソース割当量を徐々に変更することによりデータストア性能モデルを作成する。
まず、データストアベンチマーク実行部304は、分散データストアに割り当てるHWリソース量を変更する(ステップ430)。分散データストアにおけるHWリソース割当量の変更は、各ストレージノードのリソース割当制御プログラムと連携することにより行う。具体的には、データストアベンチマーク実行部304は、各ストレージノードのリソース割当制御プログラムに、分散データストアのデータストアプログラムに対するHWリソース割当量を送信する。これにより、リソース割当制御プログラムは、HWリソース割当量を受信し、データストアプログラムに対して受信したHWリソース割当量のHWリソースを割り当てる。ストレージノードにおけるHWリソースの割当は、既存のプログラムやソフトウェアにより実現できる。例えば、Linux(登録商標)オペレーティングシステムであれば、Cgroupsと呼ぶリソース割当ての機能を用いることができる。このCgroupsを用いると、所望の量のHWリソースをLinuxオペレーティングシステムで動作するプログラムに割り当てることができる。
次に、データストアベンチマーク実行部304は、分散データストアの対象オペレーション種別についての性能測定を実行する(ステップ440)。
次に、データストアベンチマーク実行部304は、データストア性能モデルを作成可能か否か、具体的には、データストア性能モデルを作成するために必要な回数の性能測定を行ったか否かを判断する(ステップ450)。
この結果、データストア性能モデルの作成に必要な回数の測定を行っていない場合(ステップ450:No)には、データストアベンチマーク実行部304は、処理をステップ430に進め、HWリソース割当量の変更と、性能測定の実行を繰り返す。なお、データストア性能モデルを作成するために性能測定を行う回数と、性能測定ごとに変更するHWリソース割当量とは、予め決められている。
一方、データストア性能モデルの作成に必要な回数の測定を行っている場合(ステップ450:Yes)には、データストアベンチマーク実行部304は、複数の測定結果に基づいてデータストア性能モデルを作成し、作成したデータストア性能モデルをデータストア性能モデル管理テーブル308(図8参照)に登録し(ステップ460)、処理をステップ420に進める。
ここで、データストア性能モデルの作成及びデータストア性能モデルの登録について説明する。
図7は、一実施形態に係るデータストア性能モデルの概要を示す図である。
データストア性能モデルの作成は、例えば、図7に示すように、HWリソース量の変化に対するデータストアの性能のグラフ500を作成し、グラフの近似曲線の式、y=f(x)をデータストア性能モデルとしてもよい。ここで、yは1ノード当たりの分散データストアの性能を示し、xは1ノード当たりのHWリソース量を示す。yは、データストアベンチマーク実行部304による性能測定の結果(分散データストアの全体の性能)を、分散データストアのノード数で除算することにより算出することができる。換言すると、yに分散データストアのノード数を乗算すると、分散データストア全体の性能となる。データストア性能モデルの作成におけるグラフの作成及び近似曲線式の導出は、既存の表計算ソフトウェアやプログラム等を用いることにより実現できる。
図8は、一実施形態に係るデータストア性能モデル管理テーブルの構成図である。
データストア性能モデルの登録は、例えば、データストア性能モデル管理テーブル308に対して行う。データストア性能モデル管理テーブル308の行511は、データストア性能モデル管理テーブル308が登録しているデータストア性能モデルに対応する分散データストアを示す情報(分散データストア名)を格納する。列512は、データストア性能モデルに対応するオペレーションの種別を格納する。行513は、データストア性能モデルが対象としているHWリソースの種別を格納する。列512の各オペレーションの種別と、行513のHWリソースの種別とに対応するセルには、そのオペレーション種別における、そのHWリソースの種別についてのデータストア性能モデルが、データストアベンチマーク実行部304により格納される。
なお、本実施形態では、性能測定結果に基づいて作成された式(データストア性能モデルの一例)を格納するようにしていたが、例えば、HWリソース量と、対応する測定されたデータストア性能との組を複数記録するようにしてもよい。
次に、アプリケーション性能モデルを作成するアプリケーション性能モデル作成処理600について説明する。
図9は、一実施形態に係るアプリケーション性能モデル作成処理のフローチャートである。
本実施形態のアプリケーション性能モデル作成処理では、アプリケーション性能モデルを、アプリケーションでのオペレーションの種別毎に作成する。ここで、オペレーションとは、データストアに対するIO操作のことをいい、例えば、データストアがFileデータストアであれば、シーケンシャルRead(リード)/Write(ライト)、ランダムRead/Write、メタデータ操作(例えば、ファイル作成/削除、ディレクトリ作成/削除等)であり、データストアがNoSQLデータストアであれば、DB(Data Base)へのデータ挿入、削除、検索等のことをいう。なお、アプリケーションにおいて複数のアルゴリズムを選択的に実行する場合には、1つのアプリケーションについて、アルゴリズム毎のアプリケーション性能モデルを作成してもよく、また、アプリケーションに複数の処理フェーズがある場合には、処理フェーズ毎のアプリケーション性能モデルを作成してもよい。また、アプリケーションが処理可能なデータの種別が複数である場合には、データの種別毎にアプリケーション性能モデルを作成してもよい。
まず、アプリケーション実行部305(QoS制御プログラム101を実行するCPU232)は、性能モデルを作成する対象のアプリケーションを実行する指示をアプリケーション実行基盤160に行うことにより、アプリケーションを実行させる(ステップ610)。
アプリケーション実行部305は、実行させたアプリケーションにおけるオペレーションの種別を取得する(ステップ620)。
次いで、アプリケーション実行部305は、取得されたオペレーションの種別に対するアプリケーション性能モデルの作成(ステップ630~660)を行う。なお、以下の処理は、取得された各オペレーションの種別を対象に行ってもよい。
まず、アプリケーション実行部305は、分散データストアの性能(データストア性能)を変更し、データストア性能モデルを用いて、変更したデータストアの性能に対応するHWリソース量を特定する(ステップ630)。次いで、アプリケーション実行部305は、データストアに対して特定したHWリソース量のリソースを割り当てるようにする。HWリソースおけるHWリソース割当量の変更は、アプリケーション実行部305が各ストレージノードのリソース割当制御プログラム111,121等と連携することにより行う。具体的には、アプリケーション実行部305は、各ストレージノードのリソース割当制御プログラムに、分散データストアのデータストアプログラムに対するHWリソース割当量を送信する。これにより、リソース割当制御プログラムは、HWリソース割当量を受信し、データストアプログラムに対して、受信したHWリソース割当量のHWリソースを割り当てる。ストレージノードにおけるHWリソースの割当は、既存のプログラムやソフトウェアにより実現できる。例えば、Linuxオペレーティングシステムであれば、Cgroupsと呼ぶリソース割当ての機能を用いることができる。このCgroupsを用いると、所望の量のHWリソースをLinuxオペレーティングシステムで動作するプログラムに割り当てることができる。
次に、アプリケーション実行部305は、アプリケーション実行基盤160にアプリケーションを実行させ、アプリケーションの性能を取得する(ステップ640)。ここで、アプリケーションの性能(アプリケーション性能)は、処理対象のデータのサイズと、処理時間とに基づいて取得してもよく、例えば、アプリケーションにおける単位時間当たりのデータ処理量としてもよい。また、アプリケーションの性能としては、これに限られず、例えば、アプリケーションによる単位時間当たりの要求に対する処理数や、単位時間当たりの処理ファイル数であってよい。この処理により、アプリケーション性能モデルを作成するための、アプリケーション性能と、そのアプリケーション性能が得られるデータストア性能との対応関係を示す1つのデータが得られる。
次に、アプリケーション実行部305は、アプリケーション性能モデルを作成可能か否か、具体的には、アプリケーション性能モデルを作成するために必要な回数の性能測定を行ったか否かを判断する(ステップ650)。
この結果、アプリケーション性能モデルの作成に必要な回数の測定を行っていない場合(ステップ650:No)には、アプリケーション実行部305は、処理をステップ630に進め、データストア性能の変更と、アプリケーションの性能測定の実行を繰り返す。なお、アプリケーション性能モデルを作成するために性能測定を行う回数と、性能測定ごとに変更するデータストア性能の変化量とは、予め決められている。
一方、アプリケーション性能モデルの作成に必要な回数の測定を行っている場合(ステップ650:Yes)には、アプリケーション実行部305は、複数の測定結果に基づいてアプリケーション性能モデルを作成し、作成したアプリケーション性能モデルをアプリケーション性能モデル管理テーブル307(図11参照)に登録し(ステップ660)、処理を終了する。
ここで、アプリケーション性能モデルの作成及びアプリケーション性能モデルの登録について説明する。
図10は、一実施形態に係るアプリケーション性能モデルの概要を示す図である。
アプリケーション性能モデルの作成は、例えば、図10に示すように、データストア性能の変化に対するアプリケーションの性能のグラフ700を作成し、グラフの近似曲線の式、y=f(x)をアプリケーション性能モデルとしてもよい。ここで、yはアプリケーションの性能を示し、xはデータストアの性能を示す。yは、アプリケーション実行部305による性能測定の結果とすることができる。アプリケーション性能モデルの作成におけるグラフの作成及び近似曲線式の導出は、既存の表計算ソフトウェアやプログラム等を用いることにより実現できる。
図11は、一実施形態に係るアプリケーション性能モデル管理テーブルの構成図である。
アプリケーション性能モデルの登録は、例えば、アプリケーション性能モデル管理テーブル307に対して行う。アプリケーション性能モデル管理テーブル307の行711は、アプリケーション性能モデル管理テーブル307が登録しているアプリケーション性能モデルに対応するアプリケーションを示す情報(アプリケーション名)を格納する。列712は、アプリケーション性能モデルに対応するオペレーションの種別を格納する。列713は、対応する行の列712のオペレーションの種別における、アプリケーション性能モデルを格納する。アプリケーション性能モデルは、アプリケーション実行部305により格納される。
なお、本実施形態では、性能測定結果に基づいて作成された式(アプリケーション性能モデルの一例)を格納するようにしていたが、例えば、データストア性能と、対応する測定されたアプリケーション性能との組を複数記録するようにしてもよい。
次に、アプリケーション性能モデル作成処理600のステップ620で、アプリケーションにおけるオペレーションの種別を取得できるようにする構成について説明する。
図12は、一実施形態に係るIOオペレーションを解析する処理部の実装例を説明する図である。
例えば、アプリケーション実行基盤160で実行されるアプリケーション720(例えば、アプリケーション161,162等)において、使用されるIO種別をアプリケーション実行部305に通知するIO解析プログラムを、アプリケーション使用されるIO実行ライブラリのラッパーとして実装するようにしてもよい。このような構成とすることにより、アプリケーション720において、IO実行ライブラリが使用されると、IO解析プログラムにより、使用されたI/O種別がアプリケーション実行部305に通知される。
次に、アプリケーション実行基盤160でアプリケーションを実行する際のアプリケーション実行処理について説明する。
図13は、一実施形態に係るアプリケーション実行処理のフローチャートである。
アプリケーション実行処理においては、クライアントノード170のクライアントプログラム331が、KPI登録画面900(図14参照)を表示して、ユーザからのKPIの入力を受け付ける(ステップ810)。
ここで、KPI登録画面900について説明する。
図14は、一実施形態に係るKPI登録画面の一例を示す図である。
KPI登録画面900は、例えば、管理ノード100により、アプリケーション管理テーブル321及びデータストア管理テーブル311の情報に基づいて作成されて、クライアントノード170に表示される。KPI登録画面900は、KPIを入力するためのKPI入力欄901と、送信ボタン905とを有する。
KPI入力欄901は、使用アプリケーション選択欄902と、分析対象データ選択欄903と、KPI(処理時間)入力欄904とを有する。
使用アプリケーション選択欄902には、アプリケーション管理テーブル321に登録されているアプリケーションの中の少なくとも一つのアプリケーションが選択可能に表示される。ユーザは、使用アプリケーション選択欄902において、使用するアプリケーションを選択することとなる。分析対象データ選択欄903には、データストア管理テーブル311に登録されているデータの中の少なくとも一つのデータが選択可能に表示される。ユーザは、分析対象データ選択欄903において、アプリケーションで処理対象とするデータを選択することとなる。KPI(処理時間)入力欄904は、選択したアプリケーションにより選択したデータに対する処理を行う際の目標とする処理時間(目標処理時間)の入力を受け付ける。
送信ボタン905は、入力欄901に入力された情報を管理ノード100に送信する指示を受け付けるボタンである。送信ボタン905が押下されると、クライアントノード170は、入力欄901に入力された情報に基づくアプリ実行情報1200(図15参照)を管理ノード100に送信する。
図13の説明に戻り、クライアントプログラム331は、KPI登録画面900に対する送信指示を受け付けると、KPI登録画面900に入力された情報に基づいて、アプリ実行情報1200(図15参照)を送信する(ステップ811)。
ここで、アプリ実行情報1200について説明する。
図15は、一実施形態に係るアプリ実行情報の構成図である。
アプリ実行情報1200は、アプリケーションID1201と、データストアID1202と、KPI1203とのフィールドを含む。アプリケーションID1201には、KPI登録画面900で使用するアプリケーションとして選択されたアプリケーションのIDが格納される。データストアID1202には、KPI登録画面900でアプリケーションの処理対象とするデータとして選択されたデータを格納するデータストアのIDが格納される。KPI1203には、KPI登録画面900で入力された目標処理時間が格納される。
図13の説明に戻り、管理ノード100のリソース割当量算出部103は、アプリ実行情報1200を受信し、アプリ実行情報1200に基づいて、アプリケーションの目標性能を算出し(ステップ820)、アプリケーション性能モデル管理テーブル307から、適切なアプリケーション性能モデルを選択し、アプリケーション性能モデルを用いて、目標性能を実現するのに必要なデータストアの性能(データストア目標性能:必要性能)を算出する(ステップ821)。なお、アプリケーションにおいて複数の種別のオペレーションが実行される場合には、各種別のオペレーションに対応する複数のアプリケーション性能モデルを使用して、各性能モデルから得られた複数のデータストア性能に基づいて、データストア目標性能を決定するようにしてもよい。例えば、種別毎のデータストア目標性能のまま、すなわち、複数のデータストア目標性能のままであってよく、各性能モデルから得られたデータストア性能の中の最大の性能をデータストア目標性能としてもよく、複数の種別のオペレーションが同時に実行される場合には、対応するデータストア性能を合計した性能をデータストア目標性能としてもよい。また、アプリケーションにおけるデータに対するアルゴリズムが特定できる場合には、そのアルゴリズムに対応する性能モデルを使用するようにしてもよい。また、アプリケーションにおける各処理フェーズ毎に、その処理フェーズに対応する性能モデルを使用して、処理フェーズ毎のデータストア目標性能を算出するようにしてもよい。
次いで、リソース割当量算出部103は、データストア性能モデル管理テーブル308のデータストア性能モデルを使用して、算出されたデータストア目標性能を実現するために分散データストアに実際に割り当てるHWリソース量(リソース割当量)を算出(決定)する(ステップ822)。ここで、算出されるHWリソース量は、各ストレージノードにおいて、分散データストアのデータストアプログラムに割り当てるHWリソース量である。
具体的には、例えば、リソース割当量算出部103は、データストア性能モデル管理テーブル308に記録されている性能モデル(式)と、各オペレーションの種別のデータストア目標性能とから、このデータストア目標性能を達成するためにオペレーションの種別毎に必要なHWリソース量を算出する。より具体的には、リソース割当量算出部103は、各オペレーションの種別のデータストア目標性能を、分散データストアを構成するストレージノードの数で除算し、その結果を、性能モデルの式(y=f(x))のyに代入し、必要なHWリソース量xを算出する。次に、リソース割当量算出部103は、オペレーションの種別ごとにそれぞれのHWリソース毎の必要なHWリソース量を確認する。次いで、リソース割当量算出部103は、必要なHWリソース量のうちの最大値をリソース割当量と決定する。ここで、必要なHWリソース量の最大値をリソース割当量としているのは、分散データストアにおいて、いずれのオペレーションが実行されても目標性能を達成できることを担保するためである。なお、複数の種別のオペレーションが同時に実行され、複数の種別のオペレーションでの目標性能を達成する必要がある場合には、それらの種別のオペレーションに必要なHWリソース量の合計値を、リソース割当量とすればよい。必要なHWリソース量の最大値をリソース割当量とするか、複数の必要なHWリソース量の合計値をリソース割当量とするかは、予め設定されているQoSのポリシーに従って決定すればよい。
また、アプリケーションの処理フェーズ毎のデータストア目標性能が算出されている場合には、それぞれの処理フェーズ毎の必要なリソース割当量を算出してもよく、その場合いは、それぞれの処理フェーズのリソース割当量をそれぞれの処理フェーズにおいて設定するリソース割当量と決定してもよく、それらのリソース割当量の最大のリソース割当量をアプリケーションに対する実際に割り当てるリソース割当量と決定してもよい。
次いで、リソース割当量算出部103は、算出したリソース割当量となるように、データストアを実行させる指示をデータストア実行基盤130に送信する(ステップ823)。なお、アプリケーションの処理フェーズ毎にリソース割当量を変更させる場合には、それぞれの処理フェーズにおいて、その処理フェーズに対応するリソース割当量とするための指示を送信する。
データストア実行基盤130を実行するストレージノード110,120等では、リソース割当制御プログラム111,121等は、管理ノード100からの指示に従ってデータストアを構成するデータストアプログラムに、HWリソースを割り当てる設定を行う(ステップ830)。なお、処理フェーズ毎にリソース割当量を変更させる場合には、リソース割当制御プログラムは、アプリケーションの処理フェーズに応じて、リソース割当量を変更させる。
次いで、データストア実行基盤130は、HWリソースが割り当てられたデータストアを実行する(ステップ831)。
次いで、QoS制御プログラム101は、アプリケーションの実行指示をアプリケーション実行基盤160に送信する(ステップ824)。
アプリケーション実行基盤160の実行基盤プログラム322,323は、実行指示に基づいて、アプリケーションにデータストアを利用するために必要な設定を行う(ステップ840)。これにより、アプリケーションは、適切なHWリソースが割り当てられたデータストアを利用することができるようになる。
ここで、アプリケーションの設定について説明する。
図16は、一実施形態に係るアプリケーション設定情報の構成図である。
図16のアプリケーション設定情報1400は、データストアが、ファイルサーバとして構成されている場合の設定情報の例である。
アプリケーション設定情報1400は、設定(Config)1401と、内容(Content)1402とのフィールドを含む。設定1401には、設定する項目が格納される。設定する項目としては、例えば、ファイルサーバIP、ポート、マウントされるディレクトリ等がある。内容1402には、設定する項目に対する設定内容が格納される。
図13の説明に戻り、アプリケーション実行基盤160は、アプリケーションを実行し(ステップ841)、処理を終了する。
以上の処理によると、ユーザは、アプリケーションの目標処理時間を入力することにより、その目標を達成できるように、アプリケーションが使用するデータストアに適切なHWリソースが割り当てられて、アプリケーションが実行される。
次に、リソース割当量算出方法(図13のステップ820~822に対応)の具体例について説明する。
図17は、一実施形態に係るリソース割当量算出方法の具体例を説明する図である。
ここで、クライアントノード170で、KPI登録画面900により、データサイズが1TBのデータが選択され、KPI(処理時間)として、30分が入力されたものとして説明する。
管理ノード100のリソース割当量算出部103は、30分と、データサイズ1TBとに基づいて、アプリケーション目標性能を、600MB/sと算出する(ステップ820)。
次いで、リソース割当量算出部103は、グラフ700に示すようなアプリケーション性能モデルを用いて、アプリケーション目標性能(600MB/s)に対応するデータストア目標性能(700MB/s)を算出する(ステップ821)。
次いで、リソース割当量算出部103は、グラフ500に示すようなデータストア性能モデルを用いて、データストア目標性能(700MB/s)に対応するHWリソース量(ネットワーク帯域750MB/s)を算出する(ステップ822)。なお、リソース割当量算出部103は、他のHWリソース量についても、それぞれのHWに対応するデータストア性能モデルを使用して算出する。また、以降において、算出されたHWリソースがデータストアに割り当てられることとなる。
このように、本実施形態に係る計算機システム1では、クライアントノード170において、アプリケーションに対する目標の処理時間及び処理するデータサイズといったアプリケーションの目標性能を特定可能な情報を入力することにより、容易且つ適切に、データストアに対してHWリソースを割り当てることができる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態では、アプリケーション性能モデル及びデータストア性能モデルとして、数式を用いていたが、本発明はこれに限られず、例えば、機械学習により学習された推論モデルを用いてもよい。
また、上記実施形態では、アプリケーションの目標性能を特定可能な情報として、目標の処理時間とデータを指定するようにしていたが、本発明はこれに限られず、アプリケーションの目標性能を特定可能な他の情報を指定するようにしてもよく、また、例えば、アプリケーションのデータ処理速度等のアプリケーションの目標性能を直接指定するようにしてもよい。
また、上記実施形態において、アプリケーション性能モデル104と、データストア性能モデル105とを別々のモデルとしていたが、これらを組み合わせて、アプリケーションの目標性能を入力として、データストアのHWリソースを出力する1つのモデルとして構成してもよい。
また、上記実施形態において、CPUが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記録メディア(例えば可搬型の不揮発性記録メディア)であってもよい。
1…計算機システム、100…管理ノード、104…アプリケーション性能モデル、105…データストア性能モデル、110,120…ストレージノード、130…データストア実行基盤、131,132…データストア、140,150…コンピュートノード、161,162…アプリケーション、170…クライアントノード
Claims (10)
- 複数のノードで実行され、前記複数のノードでデータを分散して管理する分散データストアに割り当てる前記ノードのハードウェアのリソース量を制御するリソース割当制御装置であって、
前記分散データストアにアクセスして所定の処理を実行するアプリケーションの性能と、前記アプリケーションの性能の実現に必要な分散データストア性能と、の対応関係を示すアプリケーション性能情報と、前記ハードウェアのリソース量と、前記リソース量のハードウェアにより前記分散データストアで実現可能なデータストア性能と、の対応関係を示すデータストア性能リソース量情報と、を記憶する記憶部と、
前記記憶部に接続されたプロセッサと、を有し、
前記プロセッサは、
前記アプリケーションによる目標となる性能を特定可能な目標性能情報を受け付け、
前記アプリケーション性能情報に基づいて、前記目標性能情報により特定される性能の実現に必要な分散データストア性能である必要性能を決定し、
前記データストア性能リソース量情報に基づいて、前記必要性能の実現に必要なハードウェアのリソース量を決定し、
決定した前記リソース量のハードウェアを前記分散データストアに割り当てるように設定する
リソース割当制御装置。 - 前記プロセッサは、
前記分散データストアに対して割り当てる前記ハードウェアのリソース量を複数のリソース量に変更することにより、前記複数のリソース量のそれぞれを割り当てた際に実現されるデータストア性能を取得し、
割り当てた前記ハードウェアのリソース量と、実現される前記データストア性能とに基づいて前記データストア性能リソース量情報を作成し、
作成した前記性能リソース量情報を前記記憶部に格納する
請求項1に記載のリソース割当制御装置。 - 前記プロセッサは、
前記分散データストア性能を変更することにより、前記データストア性能により実現されるアプリケーション性能を取得し、
前記データストア性能と、実現される前記アプリケーション性能とに基づいて前記アプリケーション性能情報を作成し、
作成した前記アプリケーション性能情報を前記記憶部に格納する
請求項1に記載のリソース割当制御装置。 - 前記アプリケーション性能情報は、前記アプリケーションによる目標となる性能から、前記性能を実現可能な前記分散データストア性能を導出可能なアプリケーション性能モデルである
請求項1に記載のリソース割当制御装置。 - 前記データストア性能リソース量情報は、前記分散データストアで実現可能な分散データストア性能から、前記性能を実現可能な前記ハードウェアのリソース量を導出可能なデータストア性能モデルである
請求項1に記載のリソース割当制御装置。 - 前記アプリケーション性能情報は、前記アプリケーションでのIO操作の種別毎についての対応関係を含む
請求項1に記載のリソース割当制御装置。 - 前記アプリケーション性能情報は、前記アプリケーションでの処理フェーズ毎についての対応関係を含む
請求項1に記載のリソース割当制御装置。 - 前記プロセッサは、
前記アプリケーションの前記処理フェーズ毎に、前記アプリケーションによる目標となる性能を特定可能な目標性能情報を受け付け、前記アプリケーション性能情報に基づいて、前記処理フェーズ毎に、前記目標性能情報により特定される性能の実現に必要な分散データストア性能である必要性能を決定し、前記データストア性能リソース量情報に基づいて、前記必要性能の実現に必要なハードウェアのリソース量を決定し、決定した前記リソース量のハードウェアを前記分散データストアに割り当てるように設定する
請求項7に記載のリソース割当制御装置。 - データを分散して管理する分散データストアを実行する複数のノードと、前記分散データストアに割り当てる前記ノードのハードウェアのリソース量を制御するリソース割当制御装置とを備える計算機システムであって、
前記リソース割当制御装置は、
前記分散データストアにアクセスして所定の処理を実行するアプリケーションの性能と、前記アプリケーションの性能の実現に必要な分散データストア性能と、の対応関係を示すアプリケーション性能情報と、前記ハードウェアのリソース量と、前記リソース量のハードウェアにより前記分散データストアで実現可能なデータストア性能と、の対応関係を示すデータストア性能リソース量情報と、を記憶し、
前記アプリケーションによる目標となる性能を特定可能な目標性能情報を受け付け、
前記アプリケーション性能情報に基づいて、前記目標性能情報により特定される性能の実現に必要な分散データストア性能である必要性能を決定し、
前記データストア性能リソース量情報に基づいて、前記必要性能の実現に必要なハードウェアのリソース量を決定し、
決定した前記リソース量のハードウェアを前記分散データストアに割り当てるように設定する
計算機システム。 - 複数のノードで実行され、前記複数のノードでデータを分散して管理する分散データストアに割り当てる前記ノードのハードウェアのリソース量を制御するリソース割当制御装置によるリソース割当制御方法であって、
前記分散データストアにアクセスして所定の処理を実行するアプリケーションの性能と、前記アプリケーションの性能の実現に必要な分散データストア性能と、の対応関係を示すアプリケーション性能情報と、前記ハードウェアのリソース量と、前記リソース量のハードウェアにより前記分散データストアで実現可能なデータストア性能と、の対応関係を示すデータストア性能リソース量情報と、を記憶し、
前記アプリケーションによる目標となる性能を特定可能な目標性能情報を受け付け、
前記アプリケーション性能情報に基づいて、前記目標性能情報により特定される性能の実現に必要な分散データストア性能である必要性能を決定し、
前記データストア性能リソース量情報に基づいて、前記必要性能の実現に必要なハードウェアのリソース量を決定し、
決定した前記リソース量のハードウェアを前記分散データストアに割り当てるように設定する
リソース割当制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021144337A JP2023037524A (ja) | 2021-09-03 | 2021-09-03 | リソース割当制御装置、計算機システム、及びリソース割当制御方法 |
US17/692,363 US11768616B2 (en) | 2021-09-03 | 2022-03-11 | Resource allocation control device, computing system, and resource allocation control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021144337A JP2023037524A (ja) | 2021-09-03 | 2021-09-03 | リソース割当制御装置、計算機システム、及びリソース割当制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023037524A true JP2023037524A (ja) | 2023-03-15 |
Family
ID=85386350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021144337A Pending JP2023037524A (ja) | 2021-09-03 | 2021-09-03 | リソース割当制御装置、計算機システム、及びリソース割当制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11768616B2 (ja) |
JP (1) | JP2023037524A (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10282350B1 (en) * | 2013-06-21 | 2019-05-07 | Amazon Technologies, Inc. | Data store optimizer |
US9411622B2 (en) | 2013-06-25 | 2016-08-09 | Vmware, Inc. | Performance-driven resource management in a distributed computer system |
JP7191906B2 (ja) * | 2020-09-09 | 2022-12-19 | 株式会社日立製作所 | リソース割当制御装置、計算機システム、及びリソース割当制御方法 |
-
2021
- 2021-09-03 JP JP2021144337A patent/JP2023037524A/ja active Pending
-
2022
- 2022-03-11 US US17/692,363 patent/US11768616B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20230069861A1 (en) | 2023-03-09 |
US11768616B2 (en) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018177042A1 (zh) | 一种实现资源调度的方法及装置 | |
US11119813B1 (en) | Mapreduce implementation using an on-demand network code execution system | |
US9608933B2 (en) | Method and system for managing cloud computing environment | |
US8595364B2 (en) | System and method for automatic storage load balancing in virtual server environments | |
US10353730B2 (en) | Running a virtual machine on a destination host node in a computer cluster | |
JP4380240B2 (ja) | ヒントに基づく記憶領域の割当と性能保証方法、記憶装置及び管理プログラム | |
US9448853B2 (en) | Method of allocating physical computing resource of computer system | |
US20120331463A1 (en) | Method for providing an on-demand software execution service | |
Ramanathan et al. | Towards optimal resource provisioning for Hadoop-MapReduce jobs using scale-out strategy and its performance analysis in private cloud environment | |
US20160314017A1 (en) | Method and system for scheduling input/output resources of a virtual machine | |
US11204702B2 (en) | Storage domain growth management | |
US20170168866A1 (en) | Method and apparatus for managing it infrastructure in cloud environments | |
JP2005228278A (ja) | 記憶領域の管理方法、管理装置及び管理プログラム | |
JP7465940B2 (ja) | リソース割当制御装置、計算機システム、及びリソース割当制御方法 | |
US20090254559A1 (en) | File system and method for controlling file system | |
US11354164B1 (en) | Robotic process automation system with quality of service based automation | |
WO2024148864A1 (zh) | 虚拟机内存的调整方法和装置、非易失性可读存储介质及电子装置 | |
WO2023179387A1 (zh) | 云应用调度方法、装置、电子设备及存储介质 | |
JP2023037524A (ja) | リソース割当制御装置、計算機システム、及びリソース割当制御方法 | |
Guo et al. | The improved job scheduling algorithm of Hadoop platform | |
US9983888B2 (en) | Predictive writing of bootable images to storage nodes in a cloud computing environment | |
US9864601B2 (en) | Resource management in distributed computer systems using dispersion rules | |
US20180234299A1 (en) | Inter-connecting logical control planes for state data exchange | |
US11740918B2 (en) | Method for accessing application logs within virtual machines based on operator-defined criteria | |
US20230297486A1 (en) | Arrangement plan search device, computer system, and arrangement plan search method |