JP5388134B2 - 計算機システム、及び、移動データ決定方法 - Google Patents

計算機システム、及び、移動データ決定方法 Download PDF

Info

Publication number
JP5388134B2
JP5388134B2 JP2010176992A JP2010176992A JP5388134B2 JP 5388134 B2 JP5388134 B2 JP 5388134B2 JP 2010176992 A JP2010176992 A JP 2010176992A JP 2010176992 A JP2010176992 A JP 2010176992A JP 5388134 B2 JP5388134 B2 JP 5388134B2
Authority
JP
Japan
Prior art keywords
data
server
execution
execution server
frequency
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.)
Expired - Fee Related
Application number
JP2010176992A
Other languages
English (en)
Other versions
JP2012038053A (ja
Inventor
聡 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010176992A priority Critical patent/JP5388134B2/ja
Priority to PCT/JP2011/051347 priority patent/WO2012017699A1/ja
Priority to US13/813,987 priority patent/US20130144953A1/en
Publication of JP2012038053A publication Critical patent/JP2012038053A/ja
Application granted granted Critical
Publication of JP5388134B2 publication Critical patent/JP5388134B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、計算機システムに関し、特に、計算機システムに新たにサーバを追加する場合に、移動するデータを決定する計算機システムに関する。
現在、スケジューラとジョブを実行するためのサーバとを用いてジョブを実行するシステムが、広く用いられている。このシステムは、ジョブを実行する要求を受信し、受信した要求を、ジョブを実行するためのサーバ(以降、実行サーバと記載)に送信するスケジューラと、実行サーバとを備える。
このシステムのスケジューラは、ジョブリクエスト、すなわち、ジョブに関する要求を解析し、要求されたジョブを実行する実行サーバを決定し、ジョブを実行する要求を、決定された実行サーバに送信する(例えば、特許文献1参照)。
また、ジョブの実行サーバのメモリにデータを格納する技術が提案されている(例えば、特許文献2参照)。特許文献2には、実行サーバのメモリ(主記憶装置)に、ジョブで使用するデータを格納するシステムが提案されている。
さらに、スケジューラと実行サーバとを備えるシステムにおいて、システムの処理容量が不足する場合、実行サーバを追加することによって、システムの処理容量を大きくするシステムが提案されている。実行サーバを追加することを、実行サーバのスケールアウトと呼ぶ。このように、スケールアウトによって処理容量を増大させるシステムが提案されている(例えば、特許文献3参照)。
特開2008−152618号公報 特開平7−334402号公報 特開2009−110129号公報
実行サーバのメモリにデータを保持するシステムにおいて、実行サーバをスケールアウトする場合、既存の実行サーバに保持されるデータの一部は、追加する実行サーバに移される必要がある。
この際、実行サーバにかけられる負荷に偏りが生じると、負荷が偏った実行サーバは、ネック、すなわち処理の遅延の原因になり、全体的な処理が滞る可能性がある。このため、実行サーバをスケールアウトする場合、実行サーバにかかる負荷が平準化されるように、データが移動される必要がある。
また、システムにおいて実行されるジョブには、一つのデータを引数として処理するジョブだけでなく、複数のデータを処理するジョブが存在する。
例えば、銀行口座の入出金システムは、口座番号と口座残高とのデータが、相互に対応して管理される。そして、このような入出金システムでは、一方の口座から出金し、他の口座に入金するといったジョブが実行される。このようなジョブは、出金された口座の口座番号及び口座残高のデータと、入金された口座の口座番号及び口座残高のデータとの複数のデータを、処理する。
複数のデータを処理するジョブを、以降、連携ジョブと記載する。
連携ジョブによって処理されるデータが異なる実行サーバに格納される場合、一つのサーバは、先行する処理(例えば、出金処理)を終了させた後、先行する処理が終了した旨を他の実行サーバに送信する。そして、他の実行サーバは、その旨を受信した後、後続の処理(例えば、入金処理)を実行する。
このように、連携ジョブによって処理されるデータが異なる実行サーバに格納される場合、一方の実行サーバから他方の実行サーバに通信が必要である。この通信のオーバヘッドによって、システムの性能が低下するため、連携ジョブによって処理されるデータは、同じ実行サーバに配置されることが望ましい。
本発明の一つ目の課題は、実行サーバをスケールアウトする場合、実行サーバ間の負荷の平準化、連携ジョブの通信におけるオーバヘッドの削減、又はその両方を行うため、追加する実行サーバに移動するデータを、適切に決定することである。
また、連携ジョブではないジョブも、特定のパターンによってデータにアクセスする場合がある。例えば、あるデータ(データ1)を処理した後に、別のデータ(データ2)を処理する可能性が高い、といった特定のパターンによって、データにアクセスするジョブが存在する。
前述の例において、データ1とデータ2とが異なる実行サーバに格納される場合、データを処理するための順序を保証するため、スケジューラは、データ1の処理が終了するのを待ち、データ1の処理が終了後、実行サーバにデータ2の処理を指示する。
一方、前述の例において、データ1とデータ2とが同じ実行サーバに格納される場合、実行サーバが指示を受けた順にジョブを実行するため、スケジューラは、データ1の処理を待たずに、データ2の処理を指示できる。そのため、スケジューラによる処理を低減するためには、データ1とデータ2とが同じ実行サーバに配置されることが望ましい。
本発明の二つ目の課題は、実行サーバをスケールアウトする場合、実行サーバの負荷の平準化、データへのアクセスパターンの相違によるスケジューラの処理負担の低減、又は、その両方を行うため、追加する実行サーバに移動するデータを、適切に決定することである。
本発明の代表的な一形態によると、複数のジョブを実行する複数の実行サーバと、前記実行サーバに接続されるスケジューラサーバとを備える計算機システムであって、前記実行サーバは、前記ジョブによって処理される複数のデータを保持し、前記スケジューラサーバは、連続して実行される前記複数のジョブによって処理される複数のデータを各々含む複数の第1の組を取得し、一つの前記実行サーバに保持されるデータと、他の前記実行サーバに保持されるデータとを含む第2の組を、前記複数の第1の組から抽出し、前記抽出された第2の組に含まれるデータを、新たに追加された前記実行サーバに移動するデータに決定し、前記計算機システムは、前記第2の組に含まれるデータを移動する前の第1の状態をとることが可能であり、前記スケジューラサーバは、前記第1の状態において、前記各データが前記ジョブによって処理される第1の頻度と、前記連続して実行される複数のジョブが前記第2の組に含まれる複数のデータを処理する第2の頻度とを算出し、前記第2の頻度と、所定の閾値とにおいて、第1の比較を行い、前記第1の比較の結果、前記第1の状態における前記第2の頻度が大きいと判定された場合、前記抽出された第2の組に含まれるデータを、前記新たに追加された実行サーバに移動するデータに決定し、前記第1の比較の結果、前記第1の状態における前記第2の頻度が小さいと判定された場合、前記第1の頻度を合計することによって、前記各実行サーバの負荷量を算出し、前記算出された複数の負荷量に従って抽出された前記データを、前記新たに追加された実行サーバに移動するデータに決定することを特徴とする計算機システム。
実行サーバ間の負荷を平準化し、通信におけるオーバヘッドを低減できる。
本発明の実施形態の計算機システムの構成を示すブロック図である。 本発明の実施形態のデータを示す説明図である。 本発明の実施形態のジョブ・データ配置テーブルに格納される情報を示す説明図である。 本発明の実施形態のデータ利用頻度テーブルを示す説明図である。 本発明の実施形態のアクセスパターン管理テーブルを示す説明図である。 、本発明の実施形態の実行サーバに移動するデータを移動データ決定部が決定する手順を示すフローチャートである。 本発明の実施形態の実行サーバ負荷リストを示す説明図である。 本発明の実施形態の実行サーバに移動するデータを、通信頻度を優先して決定する手順を示すフローチャートである。
図1は、本発明の実施形態の計算機システムの構成を示すブロック図である。
図1に示す計算機システムは、スケジューラサーバ100と、1台以上の実行サーバ101(実行サーバ101−1、101−2、・・・、101−(N−1))とを備える。また、101−Nは、本実施形態における計算機システムに追加される実行サーバ101である。スケジューラサーバ100と実行サーバ101とは、ネットワーク102によって接続される。
スケジューラサーバ100は、CPU112及びメモリを備える計算機である。スケジューラサーバ100は、リクエスト解析部103、実行サーバ決定部104、リクエスト送受信部105、アクセスパターン分析部106、移動データ決定部108、ジョブ・データ配置テーブル109、データ利用頻度テーブル110、及び、アクセスパターン管理テーブル111を備える。
スケジューラサーバ100に備わるリクエスト解析部103、実行サーバ決定部104、リクエスト送受信部105、アクセスパターン分析部106、及び、移動データ決定部108は、スケジューラサーバ100のメモリに格納され、CPU112によって実行されるプログラムである。また、ジョブ・データ配置テーブル109、データ利用頻度テーブル110、及び、アクセスパターン管理テーブル111は、スケジューラサーバ100のメモリに格納されるテーブルである。
スケジューラサーバ100のメモリは、プログラム及びデータ等を格納することができる。また、一時的に、データ等を格納することができる。
リクエスト解析部103は、管理者若しくはユーザ、又は、別のスケジューラサーバ100等によって送られる要求等を解析し、要求等に含まれる情報を各プログラムに送るためのプログラムである。アクセスパターン分析部106は、各実行サーバ101に格納されたデータ125の利用頻度を測定するためのプログラムである。
実行サーバ決定部104は、ジョブの実行要求130によって要求されたジョブを、実行する実行サーバ101を決定するプログラムである。リクエスト送受信部105は、実行サーバ決定部104によって決定された実行サーバ101に、実行を要求されたジョブの情報等を送るプログラムである。また、リクエスト送受信部105は、実行サーバ101からジョブの実行結果を受信する。
移動データ決定部108は、実行サーバ101が追加される際に、既存の実行サーバ101から追加された実行サーバ101に移動するデータ125を、決定するプログラムである。
実行サーバ101は、CPU126及びメモリを備える計算機である。実行サーバ101−1〜101−(N−1)は、リクエスト送受信部120、入金ジョブ121、出金ジョブ122、データ送受信部123、ジョブ・データ配置テーブル109、及び、データ125を備える。また、実行サーバ101−Nは、リクエスト送受信部120、入金ジョブ121、出金ジョブ122、及び、データ送受信部123を備える。
実行サーバ101に備わるリクエスト送受信部120及びデータ送受信部123は、実行サーバ101のメモリに格納され、CPU126によって実行されるプログラムである。また、入金ジョブ121、及び、出金ジョブ122は、CPU126によって実行されるプログラムを含むジョブである。
また、実行サーバ101−1〜101−(N−1)に備わるジョブ・データ配置テーブル109及びデータ125(データ125−1〜125−(N−1))は、実行サーバ101のメモリに格納されるテーブル及びデータである。
リクエスト送受信部120は、スケジューラサーバ100から送信される実行を要求されたジョブの情報等を受信し、ジョブの実行結果をスケジューラサーバ100に送信するプログラムである。データ送受信部123は、実行サーバ101間で、データ125を送受信するためのプログラムである。
入金ジョブ121は、データ125に格納される値に、引数によって与えられた数を加算するジョブである。出金ジョブ122は、データ125に格納される値から、引数によって与えられた数を減算するジョブである。
実行サーバ101−Nは、本実施形態の計算機システムに新たに追加される実行サーバ101、すなわちスケールアウトされる実行サーバ101である。実行サーバ101−Nは、本実施形態の計算機システムに追加される前の時点において、ジョブ・データ配置テーブル109及びデータ125を備えていない。本実施形態のスケジューラサーバ100は、実行サーバ101−Nを追加するために、実行サーバ101−Nに格納されるデータ125を決定する。
なお、図1に示すスケジューラサーバ100と実行サーバ101とは、各々別の計算機によって実装されるが、本実施形態のスケジューラサーバ100及び実行サーバ101は、仮想的な計算機によって実装されてもよい。仮想的な計算機は、少なくとも一つの物理的なCPUと、少なくとも一つの物理的なメモリとによって実装される。
また、図1に示す実行サーバ101は、入金ジョブ121及び出金ジョブ122を保持するが、本実施形態の実行サーバ101は、入金ジョブ121及び出金ジョブ122に限らず、プログラムによって実行されるジョブであれば、いかなるジョブを保持してもよい。
図2は、本発明の実施形態のデータ125を示す説明図である。
データ125は、実行サーバ101がジョブによって処理するデータである。
データ125は、口座番号1251及び口座残高1252を含む。口座番号1251は、各データ125を一意に示す識別子を示し、口座残高1252は各データ125の値を示す。
実行サーバ101−1〜101−(N−1)には、異なるデータ125−1〜125−(N−1)が格納される。例えば、実行サーバ101−1には、口座番号1251が1から1000を示すデータ125が格納され、実行サーバ101−2には、口座番号1251が1001から2000を示すデータ125が格納される。さらに、実行サーバ101−(N−1)には、口座番号1251が1000×(N−1)+1から1000×Nのデータが格納される。
図3は、本発明の実施形態のジョブ・データ配置テーブル109を示す説明図である。
ジョブ・データ配置テーブル109は、スケジューラサーバ100及び実行サーバ101によって保持される。ジョブ・データ配置テーブル109は、実行サーバ101と実行サーバ101が実行するジョブの種類と実行サーバ101が処理するデータとの対応関係を示す。ジョブ・データ配置テーブル109は、実行サーバ101がスケールアウトする際に更新される。更新されたジョブ・データ配置テーブル109は、スケジューラサーバ100によって、各実行サーバ101に送信される。
ジョブ・データ配置テーブル109は、実行サーバ1091、ジョブ1092、及び、口座番号1093を含む。実行サーバ1091は、実行サーバ101を一意に示す識別子である。ジョブ・データ配置テーブル109は、実行サーバ101ごとにエントリを含む。
ジョブ1092は、実行サーバ1091が示す実行サーバ101において実行できるジョブの種類を含む。また、口座番号1093は、データ125の識別子、すなわち図2に示す口座番号1251を含む。口座番号1093は、複数の識別子を含んでよい。
例えば、図3に示すとおり、実行サーバ1091が実行サーバ101−1〜101−(N−1)を示し、ジョブ1092が"入金ジョブ、出金ジョブ"を示す場合、ジョブ・データ配置テーブル109は、実行サーバ101−1〜101−(N−1)が、入金ジョブ及び出金ジョブを実行可能であることを示す。
ここで、ジョブ・データ配置テーブル109に示される入金ジョブとは、入力された引数をデータ125の口座残高1252に加算するジョブであり、入金ジョブ121によって実行されるジョブである。また、ジョブ・データ配置テーブル109に示される出金ジョブとは、入力された引数をデータ125の口座残高1252から減算するジョブであり、出金ジョブ122によって実行されるジョブである。
また、実行サーバ1091が実行サーバ101−1を示し、口座番号1093が1〜1000を示す場合、実行サーバ101−1には、図2に示す口座番号1251が1〜1000であるデータ125が格納される。また、実行サーバ1091がサーバ実行サーバ101−2を示し、口座番号1093が1001〜2000を示す場合、実行サーバ101−2には、図2に示す口座番号1251が1001〜2000であるデータ125が格納される。
また、実行サーバ1091が実行サーバ101−(N−1)を示し、口座番号1093が1000×(N−1)+1〜1000×Nを示す場合、実行サーバ101−(N−1)には、口座番号1251が1000×(N−1)+1〜1000×Nであるデータが格納される。
なお、図3のジョブ1092の各エントリには、入金ジョブ121と出金ジョブ122が一つずつ格納されているが、複数の入金ジョブ121又は出金ジョブ122が格納されてもよい。
図4は、本発明の実施形態のデータ利用頻度テーブル110を示す説明図である。
データ利用頻度テーブル110は、スケジューラサーバ100によって保持される。データ利用頻度テーブル110は、データ125の利用頻度、すなわち、データ125の各エントリがジョブによって処理される頻度を示す。
データ利用頻度テーブル110は、口座番号1101及び利用頻度1102を含む。口座番号1101は、データ125の識別子を示し、図2に示す口座番号1251と、図3に示す口座番号1093の値とに相当する。利用頻度1102は、例えば、口座番号1101が示すデータ125が、ジョブによって1分あたりに処理される頻度を示す。
なお、図4に示すデータ利用頻度テーブル110は、口座番号1101ごとに利用頻度1102を格納するテーブルであるが、データ利用頻度テーブル110のエントリの個数を減らすため、データ125を所定の数ごとに区切ることによって、複数のデータ利用頻度テーブル110が生成されてもよい。すなわち、例えば、口座番号1101が1〜100、口座番号1101が実行サーバ101〜200であるエントリを各々まとめることによって、複数のデータ利用頻度テーブル110に利用頻度1102が格納されてもよい。
図5は、本発明の実施形態のアクセスパターン管理テーブル111を示す説明図である。
アクセスパターン管理テーブル111は、口座番号の組1111及び利用頻度1112を含む。口座番号の組1111には、一つのデータ125が処理された後に、別のデータ125が処理される場合のデータ125の組を示す。口座番号の組1111に示される値は、図2に示す口座番号1251と、図3に示す口座番号1093の値と、図4に示す口座番号1101に相当する。ここで、口座番号の組1111に含まれるデータ125は、連携ジョブによって連続して処理されるデータ125の組だけでなく、通常のジョブが実行される際に、ある一定期間内に処理される可能性が高いデータ125の組であってもよい。
利用頻度1112は、口座番号の組1111に示されるデータ125の組が、処理される頻度を示す。利用頻度1112は、例えば、口座番号の組1111が示すデータ125の組が、ジョブによって1分あたりに処理される頻度を示す。
なお、図5に示すアクセスパターン管理テーブル111は、口座番号の組1111ごとに利用頻度1112を格納するテーブルであるが、アクセスパターン管理テーブル111のエントリの個数を減らすため、データを所定の数ごとに区切り、複数のアクセスパターン管理テーブル111が作成されてもよい。
すなわち、例えば、口座番号の組1111に含まれるデータ125の値のうち一つ目の値が、1〜100であり、口座番号の組1111に含まれるデータ125の値のうち二つ目の値が、1000〜1100である組といったように、エントリを各々まとめることによって、複数のアクセスパターン管理テーブル111に利用頻度1112が格納されてもよい。
なお、図5の口座番号の組1111には、二つの口座番号1101の値のみが格納されているが、三つ以上の口座番号1101の値が格納されてもよい。
また、本実施形態のデータ125は、口座番号1251及び口座残高1252に限られず、各データ125を一意に識別する識別子と、値とを含めば、いかなる種類のデータでもよい。このため、ジョブ・データ配置テーブル109、データ利用頻度テーブル110、及び、アクセスパターン管理テーブル111の列名は、データ125に格納されるデータの種類に従い、異なる名称でもよい。
(ジョブのスケジュール)
スケジューラサーバ100は、管理者若しくはユーザ、又は、別のスケジューラサーバ100等によって、ジョブの実行要求130を送られた後、ジョブの実行要求130によって要求されたジョブを実行サーバ101に実行させる。ジョブの実行要求130には、実行されるジョブを一意に示す情報と、実行されるジョブが処理するデータ125を一意に示す情報とが含まれる。また、ジョブの実行要求130には、必要に応じて、ジョブに入力される引数等が含まれる。
例えば、本実施形態におけるジョブの実行要求130には、「口座番号が1番の口座から、1円を出金する出金ジョブの実行」を要求する情報が含まれる。この場合、"1番"が、データ125を一意に示す情報を示し、"出金ジョブ"が実行されるジョブを一意に示す情報を示し、"1円"が引数を示す。なお、ジョブの実行要求130に含まれる値は、データ125及びジョブを一意に示せばよく、識別子でも名称でもよい。
また、ジョブの実行要求130が、連携ジョブの実行の要求を示す情報を含む場合、ジョブの実行要求130には、ジョブとデータ125を示す情報が、それぞれ、二つ以上含まれる。例えば、ジョブの実行要求130には、「口座番号が1番である口座から、1円を出金する出金ジョブの実行と、口座番号が2番である口座に、1円を入金する入金ジョブの実行」を要求する情報が含まれる。
ジョブの実行要求130は、前述のような情報を含めば、いかなる方法によって指定されてもよい。ジョブの実行要求130は、例えば、CSV(Comma Separated Values)形式によって、記載されてもよい。
スケジューラサーバ100がジョブの実行要求130を受信した後、リクエスト解析部103は、ジョブの実行要求130に含まれる、ジョブ名とデータ125を示す識別子等とを抽出し、アクセスパターン分析部106及び実行サーバ決定部104に送る。
アクセスパターン分析部106は、例えば1分等の一定時間ごとに、すべての実行サーバ101に格納されたデータ125の利用頻度を測定する。そして、データ利用頻度テーブル110の利用頻度1102及びアクセスパターン管理テーブル111の利用頻度1112を最新の値に更新する。
実行サーバ101は、ジョブを実行する際に、処理したデータ125とジョブとを示す情報をスケジューラサーバ100に送信する。このため、スケジューラサーバ100は、実行サーバ101から情報を送信されることによって、データ125の利用頻度を測定する。また、アクセスパターン分析部106は、一つのデータ125が処理された後に、他のデータ125が処理される頻度を、一定時間測定する。
リクエスト解析部103によってジョブとデータ125を示す情報とを送られた後、アクセスパターン分析部106は、リクエスト解析部103から受信したデータ125を示す情報に基づいて、一定時間、各実行サーバ101に格納されたデータ125の利用頻度を測定する。そして、測定された利用頻度によって、データ利用頻度テーブル110の利用頻度1102、及び、アクセスパターン管理テーブル111の利用頻度1112を更新する。
具体的に、アクセスパターン分析部106は、「口座番号が1番の口座から、1円を出金する出金ジョブの実行」を要求する情報を受信した場合、口座番号1251が1であるデータ125の利用頻度を、例えば1分等の一定時間測定する。そして、測定された利用頻度によって、データ利用頻度テーブル110を更新する。
また、アクセスパターン分析部106は、「口座番号が1番の口座から1円を出金する出金ジョブの実行と、口座番号が2番の口座に1円を入金する入金ジョブの実行」を要求する情報を受信した場合、口座番号1251が1であるデータ125と口座番号1251が2であるデータ125との組について、一定時間利用頻度を測定し、アクセスパターン管理テーブル111を更新する。
アクセスパターン分析部106は、連携ジョブの実行要求を受信した場合以外にも、アクセスパターン管理テーブル111を更新してよい。例えば、アクセスパターン分析部106は、口座番号1251が1であるデータ125の処理に続いて、口座番号1251が2であるデータ125が処理されることを、実行サーバ101から送信される頻度を測定する。
そして、アクセスパターン分析部106は、実行サーバ101から送信された頻度が、予め決められた頻度を上回った場合、口座番号1251が1であるデータ125と、口座番号1251が2であるデータ125の組とを、アクセスパターン管理テーブル111の口座番号の組1111に格納し、実行サーバ101から送信された頻度を利用頻度1112に格納する。
なお、アクセスパターン分析部106は、データ利用頻度テーブル110及びアクセスパターン管理テーブル111を更新する場合、過去に測定された利用頻度1102又は利用頻度1112と、新たに測定された利用頻度1102又は利用頻度1112との平均を算出し、算出された平均値を利用頻度1102又は利用頻度1112に格納してもよい。また、過去に測定された利用頻度1102又は利用頻度1112を削除し、新たに測定された利用頻度1102又は利用頻度1112を格納してもよい。
リクエスト解析部103によってジョブとデータ125を示す情報とを送られた後、実行サーバ決定部104は、ジョブ・データ配置テーブル109を参照し、リクエスト解析部103によって送られた情報が示すジョブ1092と口座番号1093とを抽出する。そして、抽出されたジョブ1092と口座番号1093とを含む実行サーバ1091を、ジョブの実行要求130によって要求されたジョブを実行する実行サーバ101に決定する。そして、決定された実行サーバ101と実行するジョブとを、リクエスト送受信部105に送信する。
リクエスト送受信部105は、実行サーバ決定部104によって決定された実行サーバ101のリクエスト送受信部120に、ジョブを実行する要求を送信する。この際、リクエスト送受信部120に送られる要求には、ジョブの実行要求130に含まれる情報が含まれる。
リクエスト送受信部120が、リクエスト送受信部105によってジョブを実行する要求を受信した後、実行サーバ101のCPU126は、要求に含まれる情報によって、ジョブを実行する。CPU126が、ジョブを実行した後、リクエスト送受信部120は、ジョブの実行結果をリクエスト送受信部105に送信する。
前述のように、本実施形態の計算機システムにジョブの実行要求130が入力された後、実行サーバ101によって、要求されたジョブが実行される。ここで、入力されたジョブの実行要求130が連携ジョブの実行を要求する場合、複数の実行サーバ101によって実行される場合がある。
例えば、ジョブの実行要求130が、「口座番号が1番である口座から1円を出金する出金ジョブの実行と、口座番号が1001番である口座に1円を入金する入金ジョブの実行」を要求する場合、スケジューラサーバ100は、まず、前述の手順によって、一つ目のジョブを実行する実行サーバ101を決定する。ここで、実行サーバ決定部104が一つ目のジョブを実行する実行サーバ101を実行サーバ101−1に決定した場合、リクエスト送受信部105は、実行サーバ101−1に出金ジョブ122を実行する要求を送信する。
その後、実行サーバ101−1のCPU126が出金ジョブ122を終了した後、実行サーバ101−1のCPU126は、ジョブ・データ配置テーブル109を参照し、二つ目のジョブを実行する実行サーバ101を決定する。ここで、CPU126が二つ目のジョブ実行サーバ101に実行サーバ101−2を決定した場合、実行サーバ101−1のCPU126は、実行サーバ101−2にジョブの実行の要求を送信する。この際、実行サーバ101−1のリクエスト送受信部120、及び、実行サーバ101−2のリクエスト送受信部120は、ジョブの実行の要求を送受信する。
(スケールアウトによって移動するデータ125の決定)
本実施形態の計算機システムに、実行サーバ101−Nが追加される場合、管理者等によってスケジューラサーバ100にサーバスケールアウトのコマンド131が入力される。
サーバスケールアウトのコマンド131には、通信頻度の閾値が含まれる。通信頻度の閾値とは、管理者等が、連携ジョブを実行することによって発生する実行サーバ101間の通信の頻度を、指定する場合に用いる値である。本実施形態の通信頻度は、既存の実行サーバ101間、すなわち、実行サーバ101−1〜101−(N−1)間において発生する通信頻度である。なお、通信頻度の閾値は、サーバスケールアウトのコマンド131によって、管理者等から指定されてもよいし、スケジューラサーバ100にあらかじめ格納されていてもよい。
スケジューラサーバ100の移動データ決定部108は、通信頻度の閾値を指定されることによって、指定された通信頻度の閾値以下になるように、実行サーバ101−Nへ移動するデータ125を決定する。通信頻度の閾値は、例えば、1分あたりに発生する通信の回数によって指定される。
また、サーバスケールアウトのコマンド131には、平準化優先、通信削減優先、又は、その両方のいずれかを示す情報が含まれる。平準化優先とは、実行サーバ101−Nが追加される際、データ125の利用頻度に基づいて、すべての実行サーバ101の負荷が平準化されるように、追加された実行サーバ101−Nにデータ125を移動する指示である。通信削減優先とは、連携ジョブによって処理されるデータ125が、同じ実行サーバ101に格納されるようにデータ125を移動する指示である。
本実施形態のサーバスケールアウトのコマンド131は、平準化優先又は通信削減優先のいずれかを、通信頻度の閾値によって示す。すなわち、通信頻度の閾値が0回/分に指定された場合、サーバスケールアウトのコマンド131は、通信削減優先を示し、通信頻度の閾値が無限大に指定された場合、サーバスケールアウトのコマンド131は、平準化優先を示す。
また、通信頻度の閾値が、0回/分と無限大との間の値である場合、サーバスケールアウトのコマンド131は、平準化優先及び通信削減優先の両方を示す。サーバスケールアウトのコマンド131は、通信頻度の閾値の大小によって、平準化優先又は通信削減優先のいずれを優先させるかを示す。
移動データ決定部108は、実行サーバ101−Nが追加される際、実行サーバ101−Nへ移動するデータ125を決定するためのプログラムである。
サーバスケールアウトのコマンド131がスケジューラサーバ100に入力された場合、リクエスト解析部103は、サーバスケールアウトのコマンド131が示す情報を移動データ決定部108に送る。移動データ決定部108は、リクエスト解析部103からサーバスケールアウトのコマンド131が示す情報を受信した場合、サーバスケールアウトのコマンド131が示す情報に従って、新たに追加される実行サーバ101−Nに移動するデータ125を決定する。
以下に、100が、追加された実行サーバ101に移動するデータ125を、決定する処理を示す。
図6は、本発明の実施形態の実行サーバ101−Nに移動するデータ125を移動データ決定部108が決定する手順を示すフローチャートである。
以下、図6のフローチャートによって、移動データ決定部108の処理を説明する。図6に示す移動データ決定部108の処理は、実行サーバ101間の通信頻度を削減するように移動するデータ125を決定するステップと、すべての実行サーバ101の負荷量を平準化するように移動するデータ125を決定するステップを含む。
ステップ601、及び、ステップ603において、移動データ決定部108は、通信頻度を削減するように移動するデータ125を決定する。
まず、移動データ決定部108は、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値より、実行サーバ101の通信頻度が大きいか否かを判定する(601)。具体的には、移動データ決定部108は、ジョブ・データ配置テーブル109を参照することによって、アクセスパターン管理テーブル111のエントリのうち、異なる実行サーバ101に格納されるデータ125の組を示す口座番号の組1111を含むエントリを抽出する。そして、抽出されたすべてのエントリの利用頻度1112を合計する。これによって、移動データ決定部108は、既存の実行サーバ101間、すなわち、実行サーバ101−1〜101−(N−1)間の通信頻度を算出する。
さらに移動データ決定部108は、ステップ601において、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値と、算出された実行サーバ101−1〜101−(N−1)間の通信頻度とを比較する。そして、移動データ決定部108は、ステップ601において、実行サーバ101−1〜101−(N−1)間の通信頻度が、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値以上であるか否かを判定する。
ステップ601において、実行サーバ101−1〜101−(N−1)間の通信頻度が、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値以上であると判定された場合、実行サーバ101間の通信頻度を減らすため、移動データ決定部108は、ステップ603に移行する。
ステップ601の後、移動データ決定部108は、ステップ601において抽出された、異なる実行サーバ101に格納されるデータ125の組を示す口座番号の組1111のうち、最も利用頻度1112が大きいエントリを選択する。そして、移動データ決定部108は、選択されたエントリに基づいて、最も利用頻度1112が高く、異なる実行サーバ101に格納されるデータ125の組を、実行サーバ101−Nに移動することを決定する(603)。
また、移動データ決定部108は、ステップ603において、実行サーバ101−Nに移動することを決定されたデータ125の組と実行サーバ101−Nとが対応するように、ジョブ・データ配置テーブル109を更新する。
ステップ603の後、移動データ決定部108は、実行サーバ101−1〜101−(N−1)間の通信頻度が、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値以下になるまで、ステップ601及びステップ603を繰り返す。
ステップ601において、実行サーバ101−1〜101−(N−1)間の通信頻度が、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値より小さいと判定された場合、実行サーバ101間の通信頻度は問題ない頻度であり、実行サーバ101間の通信頻度を変更する必要はないため、移動データ決定部108は、ステップ604に移行する。
ステップ604からステップ613までにおいて、移動データ決定部108は、実行サーバ101の負荷を平準化するために、移動するデータ125を決定する。
ステップ601の後、移動データ決定部108は、実行サーバ101−1〜101−(N−1)の実行サーバ101ごとの負荷量を算出し、実行サーバ負荷リスト113を生成する(604)。具体的には、移動データ決定部108は、データ利用頻度テーブル110とジョブ・データ配置テーブル109とを参照することによって、データ利用頻度テーブル110の利用頻度1102を実行サーバ101ごとに加算する。これによって、実行サーバ101ごとの負荷量を算出する。そして、ステップ604において、移動データ決定部108は、算出された負荷量が大きい順に、実行サーバ101を示す情報がソートされた、実行サーバ負荷リスト113を生成する。
図7は、本発明の実施形態の実行サーバ負荷リスト113を示す説明図である。
実行サーバ負荷リスト113は、実行サーバ1131、負荷量1132を含む。実行サーバ1131は、実行サーバ101を一意に示す識別子、又は、名称である。負荷量1132は、ステップ604において算出された負荷量である。
実行サーバ負荷リスト113には、負荷量1132が大きい順に、エントリが格納される。図7に示す実行サーバ負荷リスト113は、負荷量1132を降順にソートしているが、移動データ決定部108が負荷量1132の大小を識別できれば、昇順でもよい。
ステップ604の後、移動データ決定部108は、初期設定として、パラメータKに1を格納し、パラメータJに1を格納する(605)。パラメータKは、負荷量が大きい順番を示すパラメータである。パラメータJは、データ125の利用頻度が大きい順番を示すパラメータである。
ステップ605の後、移動データ決定部108は、実行サーバ負荷リスト113を参照し、K番目に負荷量1132が大きい実行サーバ1131(実行サーバ101に相当)を抽出する。そして、ジョブ・データ配置テーブル109及びデータ利用頻度テーブル110を参照し、抽出された実行サーバ101(実行サーバ1091に相当)に保持されるデータ125(口座番号1093に相当)のうち、J番目に利用頻度1102が大きいデータ125(口座番号1101に相当))を抽出する(606)。
さらに、移動データ決定部108は、ステップ606において、抽出されたK番目に負荷量1132が大きい実行サーバ101が保持するデータ125のうち、J番目に大きいデータ125を、実行サーバ101−Nに移動させた場合のジョブ・データ配置テーブル109を一時的に生成する。なお、ここで一時的に生成されたジョブ・データ配置テーブル109は、スケジューラサーバ100に備わるメモリの一時的な記憶領域に格納される。
そして、移動データ決定部108は、ステップ606において、アクセスパターン管理テーブル111と、一時的に生成されたジョブ・データ配置テーブル109とを参照し、ステップ601と同様な手順によって、実行サーバ101−1〜101−N間の通信頻度を算出する。すなわち、移動データ決定部108は、一時的に生成されたジョブ・データ配置テーブル109を参照することによって、アクセスパターン管理テーブル111のエントリのうち、異なる実行サーバ101に格納されるデータ125の組を示す口座番号の組1111を含むエントリを抽出する。そして、抽出されたエントリの利用頻度1112をすべて合計することによって実行サーバ101−1〜101−N間の通信頻度を算出する。
ステップ606の後、移動データ決定部108は、算出された実行サーバ101−1〜101−N間の通信頻度が、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値以上であるか否かを判定する(607)。すなわち移動データ決定部108は、ステップ607において、K番目に負荷の大きい実行サーバ101のデータ125のうち、J番目に利用頻度の大きいデータ125を、実行サーバ101−Nに移動した場合、通信頻度が閾値以上であるか否かを判定する。
本実施形態の移動データ決定部108は、利用頻度の大きいデータ125を、実行サーバ101−Nに移動することによって、実行サーバ101の負荷を軽減する。しかし、利用頻度の大きいデータ125が、連携ジョブによって参照されるデータ125である場合、その利用頻度の大きいデータ125を実行サーバ101−Nに移動することによって、通信頻度が高くなる場合がある。このため、移動データ決定部108は、ステップ607において、実行サーバ101間の通信頻度が、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値以上であるか否かを判定する。
ステップ607において、算出された実行サーバ101−1〜101−N間の通信頻度が、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値以上である場合、実行サーバ101間の通信頻度が、管理者等が指定する通信頻度以上になるため、移動データ決定部108は、J番目に利用頻度の大きいデータ125を実行サーバ101−Nに移動せず、一時的に生成されたジョブ・データ配置テーブル109を削除する。そして、ステップ610に移行する。
ステップ607において、算出された実行サーバ101−1〜101−N間の通信頻度が、サーバスケールアウトのコマンド131によって指定された通信頻度の閾値より小さい場合、実行サーバ101間の通信頻度は、管理者等が指定する通信頻度より小さいため、移動データ決定部108は、ステップ608に移行する。
ステップ607の後、移動データ決定部108は、ステップ608において、実行サーバ101−Nの負荷量と、K番目に負荷量が大きい実行サーバ101の負荷量との差が、J番目に利用頻度の大きいデータ125を実行サーバ101−Nに移動する前と、移動した後とにおいて、小さくなるか否かを判定する。
具体的には、移動データ決定部108は、J番目に利用頻度1102の大きいデータ125を実行サーバ101−Nに移動する前における、実行サーバ101−Nの負荷量1132と、K番目に負荷量1132が大きい実行サーバ101の負荷量1132との差を算出し、さらに、J番目に利用頻度1102の大きいデータ125を実行サーバ101−Nに移動した後における、実行サーバ101−Nの負荷量1132と、K番目に負荷量1132が大きい実行サーバ101の負荷量1132との差を算出する。そして、算出された二つの差を比較して、J番目に利用頻度1102の大きいデータ125を実行サーバ101−Nに移動した後における差が小さいか否かを判定する(608)。
なお、ステップ608における処理は、実行サーバ101−Nへデータ125を移動することによって、実行サーバ101−Nの負荷量1132が、データ125の移動元の実行サーバ101の負荷量1132よりも大きく、かつ、実行サーバ101−Nの負荷量1132とデータ125の移動元の実行サーバ101の負荷量1132との差が増加していくか否かを判定できれば、いかなる算出方法を用いてもよい。
例えば、移動データ決定部108は、J番目に利用頻度の大きいデータ125の利用頻度1102を、実行サーバ101−Nの負荷量に加算することによって、J番目に利用頻度の大きいデータ125を実行サーバ101−Nに移動した場合の実行サーバ101−Nの、新たな負荷量を算出してもよい。また、K番目に負荷量1132が大きい実行サーバ1131の負荷量1132から、J番目に利用頻度の大きいデータ125の利用頻度1102を減算することによって、J番目に利用頻度の大きいデータ125を実行サーバ101−Nに移動した場合のK番目に負荷量1132が大きい実行サーバ101の新たな負荷量を算出してもよい。そして、移動データ決定部108は、算出された、実行サーバ101−Nの新たな負荷量と、K番目に1132が大きい実行サーバ101の新たな負荷量を減算し、差を算出してもよい。
ステップ608において、実行サーバ101−Nの負荷量1132と、K番目に負荷量1132が大きい実行サーバ101の負荷量1132との差が、データ125を移動することによって大きくなる場合、実行サーバ101−Nの負荷量1132が過多となり、実行サーバ101間の負荷が平準化されないため、移動データ決定部108は、J番目に利用頻度の大きいデータ125を実行サーバ101−Nに移動せず、ステップ606において一時的に生成されたジョブ・データ配置テーブル109を削除する。そして、ステップ610に移行する。
ステップ608において、実行サーバ101−Nの負荷量1132と、K番目に負荷量1132が大きい実行サーバ101の負荷量1132との差が、データ125を移動することによって小さくなる場合、すべての実行サーバ101間の負荷が平準化されるため、移動データ決定部108は、K番目に1132が大きい実行サーバ101が保持するデータ125のうち、J番目に大きいデータ125を、実行サーバ101−Nへ移動することを決定する(609)。そして、ステップ606において一時的に生成されたジョブ・データ配置テーブル109によって、スケジューラサーバ100のジョブ・データ配置テーブル109を更新する。
ステップ609の後、移動データ決定部108は、ステップ604に戻る。そして、ステップ604において、ステップ609において決定されたデータ125を、実行サーバ101−Nへ移動した後の、実行サーバ負荷リスト113を生成する。
そして、移動データ決定部108は、ステップ605に移行し、パラメータK及びパラメータJに、各々1を格納する。本実施形態のスケジューラサーバ100の移動データ決定部108は、ステップ605によって、実行サーバ101−Nに移動するデータ125を決定した後、最も負荷量1132が大きい実行サーバ101を抽出しなおすことができる。すなわち、本実施形態のスケジューラサーバ100の移動データ決定部108は、最も負荷量1132を減らすべき実行サーバ101を抽出することができる。
ステップ607又はステップ608の後、移動データ決定部108は、J番目の次に大きいデータ125を選択するため、パラメータJに1を加算する。
そして移動データ決定部108は、パラメータJの値が、K番目に負荷量1132が大きい実行サーバ101が保持するすべてのデータ125の個数より、大きいか否かを判定する(611)。パラメータJの値が、K番目に負荷量1132が大きい実行サーバ101が保持するすべてのデータ125の個数以下である場合、K番目に負荷量1132が大きい実行サーバ101が保持するすべてのデータ125を、実行サーバ101−Nに移動できるか否かを判定していないため、移動データ決定部108は、ステップ606に戻る。
パラメータJの値が、K番目に負荷量1132が大きい実行サーバ101が保持するすべてのデータ125の個数よりも大きい場合、K番目の次に負荷量1132が大きい実行サーバ101が保持するデータ125を実行サーバ101−Nへ移動するか否かを決定するため、移動データ決定部108は、ステップ612に移行する。移動データ決定部108は、パラメータKに1を加算し、パラメータJに1を格納する(612)。
ステップ612の後、移動データ決定部108は、パラメータKとNとが等しいか否かを判定する(613)。パラメータKとNとが異なる場合、すべての既存の実行サーバ101−1〜101−(N−1)が保持するデータ125を、実行サーバ101−Nに移動するか否かを判定していないため、移動データ決定部108は、ステップ606に移行する。
ステップ612において、パラメータKとNとが等しい場合、既存の実行サーバ101−1〜101−(N−1)が保持するデータ125を、実行サーバ101−Nに移動するか否かを判定したため、移動データ決定部108は、図6に示す処理を終了する。
移動データ決定部108は、図6に示す処理によって移動するデータ125を決定すると、データ125の移動を、データ125の移動元となる実行サーバ101のデータ送受信部123に指示する。また、移動データ決定部108は、図6の処理によって更新されたジョブ・データ配置テーブル109を実行サーバ101に送信する。
これによって、実行サーバ101−Nには、ジョブ・データ配置テーブル109及びデータ125が格納される。
以上によって、本実施形態の計算機システムは、実行サーバ101−Nがシステムに追加された際に、実行サーバ101−Nに移動するデータ125を決定することができる。また、移動するデータ125を決定する際に、実行サーバ101間の負荷量1132の平準化を重視する判定と、実行サーバ101間の通信頻度の削減を重視する判定との両方の処理を行うことによって、より管理者等にとって最適なジョブの実行環境を生成することができる。
なお、前述の説明は、Nが3以上である場合、すなわち、既存の実行サーバ101が2台以上である場合の計算機システムについて説明したが、Nが2である場合、すなわち、既存の実行サーバ101が1台のみである場合も、本実施形態の計算機システムは有効である。なお、Nが2である場合、図6のステップ604からの処理が実行される。
図8は、本発明の実施形態の実行サーバ101−Nに移動するデータ125を、通信頻度を優先して決定する手順を示すフローチャートである。
移動データ決定部108は、サーバスケールアウトのコマンド131を受信した後、アクセスパターン管理テーブル111のエントリのうち、異なる実行サーバ101に格納されているデータ125の組を実行サーバ101−Nに移動することを決定する(801)。
図8に示す処理は、特にNが3などの少ない値である場合、実行サーバ101間の負荷の平準化と、通信頻度の低減とを図ることができる。このため、図6に示す処理と、図8に示す処理とは、実行サーバ101の数に従って実行されてもよい。
本実施形態によれば、管理者等の要求に従って、実行サーバ101間の負荷の平準化、通信頻度の削減、又は、その両方を行うことができる。また、通信頻度の削減に際し、連携ジョブによって処理される頻度が多いデータ125の組、又は、連続して処理される頻度が多いデータ125の組を抽出し、実行サーバ101−Nに追加することを決定するため、より効率的に通信頻度を低減することができる。
100 スケジューラサーバ
101(101−1、101−2、101−(N−1)、101−N) 実行サーバ
102 ネットワーク
103 リクエスト解析部
104 実行サーバ決定部
105 リクエスト送受信部
106 アクセスパターン分析部
108 移動データ決定部
109 ジョブ・データ配置テーブル
110 データ利用頻度テーブル
111 アクセスパターン管理テーブル
112 CPU
113 実行サーバ負荷リスト
120 リクエスト送受信部
121 入金ジョブ
122 出金ジョブ
123 データ送受信部
125 データ
126 CPU
130 ジョブの実行要求
131 サーバスケールアウトのコマンド

Claims (6)

  1. 複数のジョブを実行する複数の実行サーバと、前記実行サーバに接続されるスケジューラサーバとを備える計算機システムであって、
    前記実行サーバは、前記ジョブによって処理される複数のデータを保持し、
    前記スケジューラサーバは、
    連続して実行される前記複数のジョブによって処理される複数のデータを各々含む複数の第1の組を取得し、
    一つの前記実行サーバに保持されるデータと、他の前記実行サーバに保持されるデータとを含む第2の組を、前記複数の第1の組から抽出し、
    前記抽出された第2の組に含まれるデータを、新たに追加された前記実行サーバに移動するデータに決定し、
    前記計算機システムは、前記第2の組に含まれるデータを移動する前の第1の状態をとることが可能であり、
    前記スケジューラサーバは、
    前記第1の状態において、前記各データが前記ジョブによって処理される第1の頻度と、前記連続して実行される複数のジョブが前記第2の組に含まれる複数のデータを処理する第2の頻度とを算出し、
    前記第2の頻度と、所定の閾値とにおいて、第1の比較を行い、
    前記第1の比較の結果、前記第1の状態における前記第2の頻度が大きいと判定された場合、前記抽出された第2の組に含まれるデータを、前記新たに追加された実行サーバに移動するデータに決定し、
    前記第1の比較の結果、前記第1の状態における前記第2の頻度が小さいと判定された場合、前記第1の頻度を合計することによって、前記各実行サーバの負荷量を算出し、前記算出された複数の負荷量に従って抽出された前記データを、前記新たに追加された実行サーバに移動するデータに決定することを特徴とする計算機システム。
  2. 前記計算機システムは、前記算出された複数の負荷量に従って抽出されたデータを移動する前の第2の状態と、移動した後の第3の状態とをとることが可能であり、
    前記スケジューラサーバは、
    前記第1の状態における前記第2の頻度が小さいと判定された場合、前記第3の状態における前記第2の頻度を算出し、前記第3の状態における第2の頻度と、前記所定の閾値とにおいて、第2の比較を行い、
    前記第2の比較の結果、前記第3の状態における第2の頻度が小さいと判定された場合、前記第2の状態における、前記各実行サーバの負荷量と前記新たに追加された実行サーバの負荷量との第1の差、及び、前記第3の状態における、前記各実行サーバの負荷量と前記新たに追加された実行サーバの負荷量との第2の差を算出し、前記第1の差と前記第2の差とにおいて、第3の比較を行い、
    前記第3の比較の結果、前記第2の差が小さい場合、前記負荷量に従って抽出されたデータを、新たに追加された前記実行サーバに移動するデータに決定することを特徴とする請求項1に記載の計算機システム。
  3. 複数のジョブを実行する複数の実行サーバと、前記実行サーバに接続されるスケジューラサーバとを備える計算機システムであって、
    前記実行サーバは、前記ジョブによって処理される複数のデータを保持し、
    前記スケジューラサーバは、
    連続して処理される前記複数のデータを含む第1の組を取得し、
    一つの前記実行サーバに保持されるデータと、他の前記実行サーバに保持されるデータとを含む第2の組を、前記複数の第1の組から抽出し、
    前記抽出された第2の組に含まれるデータを、新たに追加された前記実行サーバに移動するデータに決定し、
    前記計算機システムは、前記第2の組に含まれるデータを移動する前の第1の状態をとることが可能であり、
    前記スケジューラサーバは、
    前記第1の状態において、前記各データが前記ジョブによって処理される第1の頻度と、前記第2の組が連続して処理される第2の頻度とを算出し、
    前記第2の頻度と、所定の閾値とにおいて、第1の比較を行い、
    前記第1の比較の結果、前記第1の状態における前記第2の頻度が大きいと判定された場合、前記抽出された第2の組に含まれるデータを、前記新たに追加された実行サーバに移動するデータに決定し、
    前記第1の比較の結果、前記第1の状態における前記第2の頻度が小さいと判定された場合、前記第1の頻度を合計することによって、前記各実行サーバの負荷量を算出し、前記算出された複数の負荷量に従って抽出された前記データを、前記新たに追加された実行サーバに移動するデータに決定することを特徴とする計算機システム。
  4. 前記計算機システムは、前記算出された複数の負荷量に従って抽出されたデータを移動する前の第2の状態と、移動した後の第3の状態とをとることが可能であり、
    前記スケジューラサーバは、
    前記第1の状態における前記第2の頻度が小さいと判定された場合、前記第3の状態における前記第2の頻度を算出し、前記第3の状態における第2の頻度と、前記所定の閾値とにおいて、第2の比較を行い、
    前記第2の比較の結果、前記第3の状態における第2の頻度が小さいと判定された場合、前記第2の状態における、前記各実行サーバの負荷量と前記新たに追加された実行サーバの負荷量との第1の差、及び、前記第3の状態における、前記各実行サーバの負荷量と前記新たに追加された実行サーバの負荷量との第2の差を算出し、前記第1の差と前記第2の差とにおいて、第3の比較を行い、
    前記第3の比較の結果、前記第2の差が小さい場合、前記負荷量に従って抽出されたデータを、新たに追加された前記実行サーバに移動するデータに決定することを特徴とする請求項3に記載の計算機システム。
  5. 複数のジョブを実行する複数の実行サーバに接続されるスケジューラサーバにおける移動データ決定方法であって、
    前記実行サーバは、前記ジョブによって処理される複数のデータをメモリに保持し、
    前記方法は、
    前記スケジューラサーバが、連続して実行される前記複数のジョブによって処理される複数のデータを各々含む複数の第1の組を、メモリに格納し、
    前記スケジューラサーバが、一つの前記実行サーバに保持されるデータと、他の前記実行サーバに保持されるデータとを含む第2の組を、前記メモリに格納された複数の第1の組から抽出し、
    前記スケジューラサーバが、前記抽出された第2の組に含まれるデータを、新たに追加された前記実行サーバに移動するデータに決定し、
    前記複数の実行サーバ及び前記スケジューラサーバは、計算機システムに含まれ、
    前記計算機システムは、前記第2の組に含まれるデータを移動する前の第1の状態をとることが可能であり、
    前記方法は、
    前記スケジューラサーバが、前記第1の状態において、前記各データが前記ジョブによって処理される第1の頻度と、前記連続して実行される複数のジョブが前記第2の組に含まれる複数のデータを処理する第2の頻度とを算出し、
    前記スケジューラサーバが、前記第2の頻度と、所定の閾値とにおいて、第1の比較を行い、
    前記第1の比較の結果、前記第1の状態における前記第2の頻度が大きいと判定された場合、前記スケジューラサーバが、前記抽出された第2の組に含まれるデータを、前記新たに追加された実行サーバに移動するデータに決定し、
    前記第1の比較の結果、前記第1の状態における前記第2の頻度が小さいと判定された場合、前記スケジューラサーバが、前記第1の頻度を合計することによって、前記各実行サーバの負荷量を算出し、前記算出された複数の負荷量に従って抽出された前記データを、前記新たに追加された実行サーバに移動するデータに決定し、
    前記計算機システムは、前記算出された複数の負荷量に従って抽出されたデータを移動する前の第2の状態と、移動した後の第3の状態とをとることが可能であり、
    前記方法は、
    前記第1の状態における前記第2の頻度が小さいと判定された場合、前記スケジューラサーバが、前記第3の状態における前記第2の頻度を算出し、前記第3の状態における第2の頻度と、前記所定の閾値とにおいて、第2の比較を行い、
    前記第2の比較の結果、前記第3の状態における第2の頻度が小さいと判定された場合、前記スケジューラサーバが、前記第2の状態における、前記各実行サーバの負荷量と前記新たに追加された実行サーバの負荷量との第1の差、及び、前記第3の状態における、前記各実行サーバの負荷量と前記新たに追加された実行サーバの負荷量との第2の差を算出し、前記第1の差と前記第2の差とにおいて、第3の比較を行い、
    前記第3の比較の結果、前記第2の差が小さい場合、前記スケジューラサーバが、前記負荷量に従って抽出されたデータを、新たに追加された前記実行サーバに移動するデータに決定することを特徴とする移動データ決定方法。
  6. 複数のジョブを実行する複数の実行サーバに接続されるスケジューラサーバにおける移動データ決定方法であって、
    前記実行サーバは、前記ジョブによって処理される複数のデータを保持し、
    前記方法は、
    前記スケジューラサーバが、連続して処理される前記複数のデータを含む複数の第1の組を、メモリに格納し、
    前記スケジューラサーバが、一つの前記実行サーバに保持されるデータと、他の前記実行サーバに保持されるデータとを含む第2の組を、前記メモリに格納された複数の第1の組から抽出し、
    前記スケジューラサーバが、前記抽出された第2の組に含まれるデータを、新たに追加された前記実行サーバに移動するデータに決定し、
    前記複数の実行サーバ及び前記スケジューラサーバは、計算機システムに含まれ、
    前記計算機システムは、前記第2の組に含まれるデータを移動する前の第1の状態をとることが可能であり、
    前記方法は、
    前記スケジューラサーバが、前記第1の状態において、前記各データが前記ジョブによって処理される第1の頻度と、前記第2の組が連続して処理される第2の頻度とを算出し、
    前記スケジューラサーバが、前記第2の頻度と、所定の閾値とにおいて、第1の比較を行い、
    前記第1の比較の結果、前記第1の状態における前記第2の頻度が大きいと判定された場合、前記スケジューラサーバが、前記抽出された第2の組に含まれるデータを、前記新たに追加された実行サーバに移動するデータに決定し、
    前記第1の比較の結果、前記第1の状態における前記第2の頻度が小さいと判定された場合、前記スケジューラサーバが、前記第1の頻度を合計することによって、前記各実行サーバの負荷量を算出し、前記算出された複数の負荷量に従って抽出された前記データを、前記新たに追加された実行サーバに移動するデータに決定し、
    前記計算機システムは、前記算出された複数の負荷量に従って抽出されたデータを移動する前の第2の状態と、移動した後の第3の状態とをとることが可能であり、
    前記方法は、
    前記スケジューラサーバが、前記第1の状態における前記第2の頻度が小さいと判定された場合、前記第3の状態における前記第2の頻度を算出し、前記第3の状態における第2の頻度と、前記所定の閾値とにおいて、第2の比較を行い、
    前記第2の比較の結果、前記第3の状態における第2の頻度が小さいと判定された場合、前記スケジューラサーバが、前記第2の状態における、前記各実行サーバの負荷量と前記新たに追加された実行サーバの負荷量との第1の差、及び、前記第3の状態における、前記各実行サーバの負荷量と前記新たに追加された実行サーバの負荷量との第2の差を算出し、前記第1の差と前記第2の差とにおいて、第3の比較を行い、
    前記第3の比較の結果、前記第2の差が小さい場合、前記スケジューラサーバが、前記負荷量に従って抽出されたデータを、新たに追加された前記実行サーバに移動するデータに決定することを特徴とする移動データ決定方法。
JP2010176992A 2010-08-06 2010-08-06 計算機システム、及び、移動データ決定方法 Expired - Fee Related JP5388134B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010176992A JP5388134B2 (ja) 2010-08-06 2010-08-06 計算機システム、及び、移動データ決定方法
PCT/JP2011/051347 WO2012017699A1 (ja) 2010-08-06 2011-01-25 計算機システム、及び、データ管理方法
US13/813,987 US20130144953A1 (en) 2010-08-06 2011-01-25 Computer system and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010176992A JP5388134B2 (ja) 2010-08-06 2010-08-06 計算機システム、及び、移動データ決定方法

Publications (2)

Publication Number Publication Date
JP2012038053A JP2012038053A (ja) 2012-02-23
JP5388134B2 true JP5388134B2 (ja) 2014-01-15

Family

ID=45559215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010176992A Expired - Fee Related JP5388134B2 (ja) 2010-08-06 2010-08-06 計算機システム、及び、移動データ決定方法

Country Status (3)

Country Link
US (1) US20130144953A1 (ja)
JP (1) JP5388134B2 (ja)
WO (1) WO2012017699A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6020014B2 (ja) * 2012-10-02 2016-11-02 日本電気株式会社 分散データストア管理装置、分散並列処理実行装置、分散並列処理システム、分散データストア管理方法、分散並列処理実行方法、および、コンピュータ・プログラム
US10097410B2 (en) * 2014-06-26 2018-10-09 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments
DE112015006584T5 (de) * 2015-06-02 2018-05-24 Yamaha Hatsudoki Kabushiki Kaisha Bauteilzuführungsvorrichtung, Oberflächenmontagevorrichtung und Verfahren zum Zuführen von Bauteilen
CN108259583B (zh) * 2017-12-29 2020-05-26 广州云达信息技术有限公司 一种数据动态迁移方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007364A (ja) * 2000-06-22 2002-01-11 Fujitsu Ltd 並列計算機システムのジョブスケジューリングを行うスケジューリング装置
JP4109153B2 (ja) * 2003-05-07 2008-07-02 富士通株式会社 ジョブ制御装置、ジョブ制御ファイル、ジョブ制御方法及びジョブ制御プログラム
GB0513045D0 (en) * 2005-06-27 2005-08-03 Vidus Ltd Resource scheduling method and system
JP2007041720A (ja) * 2005-08-01 2007-02-15 Fujitsu Ltd ジョブステップ実行プログラムおよびジョブステップ実行方法
JP2007102332A (ja) * 2005-09-30 2007-04-19 Toshiba Corp 負荷分散システム及び負荷分散方法
JP5167589B2 (ja) * 2006-02-13 2013-03-21 富士通株式会社 アプリケーションサーバ装置および仮想マシンプログラム
JP2007249491A (ja) * 2006-03-15 2007-09-27 Fujitsu Ltd マルチサーバ環境においてバッチジョブを分散させるプログラム、装置、および方法
US8584122B2 (en) * 2006-03-31 2013-11-12 Ebay Inc. Batch scheduling
JP4992408B2 (ja) * 2006-12-19 2012-08-08 富士通株式会社 ジョブ割当プログラム、方法及び装置
JP5373295B2 (ja) * 2008-02-04 2013-12-18 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチノード・サーバシステム、負荷分散方法、リソース管理サーバ、およびプログラム
JP4797095B2 (ja) * 2009-07-24 2011-10-19 株式会社日立製作所 バッチ処理多重化方法
JP2011123817A (ja) * 2009-12-14 2011-06-23 Fujitsu Ltd ジョブ振分装置、ジョブ振分プログラム及びジョブ振分方法

Also Published As

Publication number Publication date
JP2012038053A (ja) 2012-02-23
WO2012017699A1 (ja) 2012-02-09
US20130144953A1 (en) 2013-06-06

Similar Documents

Publication Publication Date Title
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
CN107239336B (zh) 一种实现任务调度的方法及装置
CN108182105B (zh) 基于Docker容器技术的局部动态迁移方法及控制系统
CN112162865A (zh) 服务器的调度方法、装置和服务器
KR101471749B1 (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
CN105656973A (zh) 一种分布式节点组内任务调度方法及系统
US11475006B2 (en) Query and change propagation scheduling for heterogeneous database systems
CN109885397A (zh) 一种边缘计算环境中时延优化的负载任务迁移算法
Xie et al. Pandas: robust locality-aware scheduling with stochastic delay optimality
WO2019072162A1 (zh) 虚拟网络映射方法、设备和存储介质
US20090235250A1 (en) Management machine, management system, management program, and management method
CN109196807B (zh) 网络节点以及操作网络节点以进行资源分发的方法
CN107273211B (zh) 一种云计算环境下基于虚拟机的数据处理方法
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
CN108089918B (zh) 一种面向异构服务器结构的图计算负载均衡方法
JP5388134B2 (ja) 計算機システム、及び、移動データ決定方法
CN110149394A (zh) 系统资源的调度方法、装置和存储介质
CN113032102B (zh) 资源重调度方法、装置、设备和介质
JP5445739B2 (ja) リソース割当装置、リソース割当方法、及びプログラム
WO2015168296A1 (en) Load balancing scalable storage utilizing optimization modules
JP2015162066A (ja) クラスタシステム、および、負荷分散方法
CN115118784A (zh) 算力资源的调度方法、装置及系统
JP5540269B2 (ja) データ負荷分散配置システムおよびデータ負荷分散配置方法
EP3193264B1 (en) Method and apparatus for processing big data
CN109347982A (zh) 一种数据中心的调度方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131002

R150 Certificate of patent or registration of utility model

Ref document number: 5388134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees