JP6369257B2 - 情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラム - Google Patents

情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラム Download PDF

Info

Publication number
JP6369257B2
JP6369257B2 JP2014191614A JP2014191614A JP6369257B2 JP 6369257 B2 JP6369257 B2 JP 6369257B2 JP 2014191614 A JP2014191614 A JP 2014191614A JP 2014191614 A JP2014191614 A JP 2014191614A JP 6369257 B2 JP6369257 B2 JP 6369257B2
Authority
JP
Japan
Prior art keywords
information processing
information
processing
time
parallel
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.)
Active
Application number
JP2014191614A
Other languages
English (en)
Other versions
JP2016062462A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014191614A priority Critical patent/JP6369257B2/ja
Priority to US14/849,831 priority patent/US9778958B2/en
Publication of JP2016062462A publication Critical patent/JP2016062462A/ja
Application granted granted Critical
Publication of JP6369257B2 publication Critical patent/JP6369257B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラムに関する。
ユーザからの指示に応じてジョブを実行する情報処理システムにおいては、ユーザからの指示が特定の時間帯に集中すると、計算資源が不足し、ジョブを実行することができなくなる。そこで従来の技術においては、ジョブの実行スケジュールを管理する機構(以下、スケジューラと呼ぶ)を情報処理システム内に設け、ジョブの実行中に計算資源が不足することを防いでいる。
ところで、並列処理を含むジョブは並列ジョブと呼ばれる。並列ジョブは、並列処理だけでなく並列処理以外の処理も含み、並列処理以外の処理は、例えば、並列処理の準備のための処理(前処理と呼ばれる)及び並列処理の完了のための処理(後処理と呼ばれる)等を含む。
並列処理以外の処理は、並列処理を実行する計算ノードの数と同じ数の計算ノードを確保しなくても実行できる場合がある。そのため、並列処理以外の処理が実行されている間、並列ジョブに割り当てた計算ノードの一部が使用されず、情報処理システム内の計算資源の使用率が低下することがある。上記の従来技術は、このような問題には着目していない。
特開2001−282551号公報 特開2011−096110号公報
従って、本発明の目的は、1つの側面では、並列ジョブを実行する複数の計算ノードを有効に利用するための技術を提供することである。
本発明に係る情報処理システムは、複数の情報処理装置と、複数の情報処理装置を管理する管理装置とを有する。そして、上で述べた管理装置は、複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部と、データ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な時刻である第1の時刻を特定する特定部と、データ格納部に格納されている情報を用いて、第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、1又は複数の第1の情報処理装置の第1の期間を、並列処理の前に実行されるべき第1の処理に割り当てる割当部とを有する。
1つの側面では、並列ジョブを実行する複数の計算ノードを有効に利用できるようになる。
図1は、本実施の形態に係るシステムの概要を示す図である。 図2は、複数の計算ノードの接続態様の一例を示す図である。 図3は、ユーザによって指定される空間の形状の一例を示す図である。 図4は、管理装置の機能ブロック図を示す図である。 図5は、入力データ格納部に格納される、並列ジョブの実行プログラムの一例を示す図である。 図6は、資源マップ格納部に格納されるデータの一例を示す図である。 図7は、メインの処理フローを示す図である。 図8は、分割処理の処理フローを示す図である。 図9は、割当処理の処理フローを示す図である。 図10は、各ファイルのサイズを管理するためのデータの一例を示す図である。 図11は、割当処理の処理フローを示す図である。 図12は、割当テーブルの一例を示す図である。 図13は、割当テーブルの状態の遷移について説明するための図である。 図14は、割当テーブルの状態の遷移について説明するための図である。 図15は、割当テーブルの状態の遷移について説明するための図である。 図16は、割当テーブルの状態の遷移について説明するための図である。 図17は、割当処理の処理フローを示す図である。 図18は、転送テーブルに格納されるデータの一例を示す図である。 図19は、割当テーブルの状態の遷移について説明するための図である。 図20は、割当テーブルの状態の遷移について説明するための図である。 図21は、割当テーブルの状態の遷移について説明するための図である。 図22は、割当テーブルの状態の遷移について説明するための図である。 図23は、割当テーブルの状態の遷移について説明するための図である。 図24は、実行制御部が実行する処理の処理フローを示す図である。 図25は、コンピュータの機能ブロック図である。
図1に、本実施の形態に係るシステムの概要を示す。例えばインターネットであるネットワーク7には、ユーザによって操作されるユーザ端末9と、本実施の形態における主要処理を実行する管理装置1とが接続される。管理装置1は、例えばLAN(Local Area Network)等のネットワークを介して、ファイル格納部51を含むファイル管理装置5及び複数の計算ノード31を含む情報処理システム3に接続される。
ユーザ端末9は、並列ジョブの実行要求を管理装置1に送信する。管理装置1は、実行要求において指定された並列ジョブのスケジューリングを行い、情報処理システム3における複数の計算ノード31に、スケジュールに従って並列ジョブを実行させる。情報処理システム3における複数の計算ノード31は、並列ジョブを実行する。ファイル管理装置5のファイル格納部51には、複数の計算ノード31が並列ジョブにおける並列処理において使用するファイルが格納される。
図2に、複数の計算ノード31の接続態様の一例を示す。図2に示すように、複数の計算ノード31はメッシュ状に接続される。なお、本実施の形態においては、並列処理を実行する計算ノード31によって形成される空間の形状を、ユーザが指定してもよい。例えば図3においては、ジョブJ1と、ジョブJ2と、ジョブJ3と、ジョブJ4とに計算ノード31が割り当てられており、各ジョブを実行する計算ノード31が占める空間の形状は直方体である。このように、並列処理を実行する計算ノード31間に、並列処理を実行しない計算ノード31が存在しないようにすれば、並列処理を実行しない計算ノード31に通信処理の負荷が生じるのを抑制できる。
図4に、管理装置1の機能ブロック図を示す。管理装置1は、入力データ格納部101と、分割部103と、分割後データ格納部105と、第1スケジューラ107と、資源マップ格納部109と、一時データ格納部111と、第2スケジューラ113と、転送テーブル格納部115と、割当テーブル格納部117と、実行制御部119と、API(Application Programming Interface)制御部121とを含む。
分割部103は、入力データ格納部101に格納されたデータに基づき処理を実行し、処理結果を分割後データ格納部105に格納する。第1スケジューラ107は、分割後データ格納部105に格納されたデータ及び資源マップ格納部109に格納されたデータを用いて処理を実行し、処理結果を一時データ格納部111に格納する。第2スケジューラ113は、分割後データ格納部105に格納されたデータ、資源マップ格納部109に格納されたデータ、一時データ格納部111に格納されたデータ、及び転送テーブル格納部115に格納されたデータを用いて処理を行い、処理結果を資源マップ格納部109及び割当テーブル格納部117に格納する。API制御部121は、情報処理システム3内の複数の計算ノード31から、次の処理に引き継がれる情報を受信し、実行制御部119に出力する。実行制御部119は、分割後データ格納部105に格納されたデータ、資源マップ格納部109に格納されたデータ、割当テーブル格納部117に格納されたデータ、及びAPI制御部121から受け取った情報を用いて、情報処理システム3内の複数の計算ノード31による並列ジョブの実行を制御する。
図5に、入力データ格納部101に格納される、並列ジョブの実行プログラムの一例を示す。並列ジョブの実行プログラムは、ユーザ端末9から受信した実行要求に含まれる。並列ジョブの実行プログラムは、並列処理のための部分(図5における並列処理コードを含む)と、並列処理以外の処理のための部分とを含む。並列処理以外の処理のための部分は、前処理のための部分(図5における前処理コードを含む)と、後処理のための部分(図5における後処理コードを含む)と、その他の部分とを含む。その他の部分は、例えば、ファイルの転送に関する情報(例えば、並列処理において使用されるファイルの識別情報、及び並列処理によって生成されるファイルの識別情報)を含む。
なお、前処理は、例えば、初期化のための処理及び並列処理において使用されるファイルを情報処理システム3に転送する処理を含む。後処理は、並列処理によって更新されたファイルでファイル格納部51に格納されたファイルを更新する処理等を含む。並列処理において使用されるファイルは情報処理システム3に転送されるため、並列処理を実行する計算ノード31はファイルに対して高速でアクセスすることができ、結果として並列処理に要する時間は短縮される。
図6に、資源マップ格納部109に格納されるデータの一例を示す。図6の例では、各時間帯において計算ノード31が実行する処理の情報が、計算ノード31毎に格納される。
次に、図7乃至図24を用いて、管理装置1の動作について説明する。まず、管理装置1は、ユーザ端末9から、並列ジョブの実行指示を受信し、実行指示に含まれる実行プログラムを入力データ格納部101に格納する。また、管理装置1は、分割後データ格納部105、一時データ格納部111、割当テーブル格納部117及び転送テーブル格納部115を初期化する。これに応じ、分割部103は、分割処理を実行する(図7:ステップS1)。分割処理については、図8を用いて説明する。
まず、分割部103は、入力データ格納部101から読み出した実行プログラムに未処理の行が有るか判断する(図8:ステップS21)。未処理の行が無い場合(ステップS21:Noルート)、呼び出し元の処理に戻る。
未処理の行が有る場合(ステップS21:Yesルート)、分割部103は、実行プログラムから未処理の行を1行特定する(ステップS23)。なお、ステップS23を初めて実行する場合は、未処理の行として実行プログラムの最初の行を特定する。ステップS23を実行するのが初めてではない場合は、未処理の行のうち行番号が最も小さい行を特定する。
分割部103は、ステップS23において特定された行が、前処理についての分割指示行であるか判断する(ステップS25)。分割指示行とは、予め登録された、分割の際の目印となる行のことである。例えば図5においては、「#pre」で始まる行と、「#run」で始まる行と、「#after」で始まる行とが分割指示行であり、前処理についての分割指示行は「#pre」で始まる行である。
ステップS23において特定された行が前処理についての分割指示行である場合(ステップS25:Yesルート)、分割部103は、特定された分割指示行から次の分割指示行(すなわち、並列処理についての分割指示行)の1行前の行までのコードを、分割後データ格納部105における、前処理のためのプログラムを格納する領域に格納する(ステップS27)。そしてステップS21の処理に戻る。
ステップS23において特定された行が前処理についての分割指示行ではない場合(ステップS25:Noルート)、分割部103は、ステップS23において特定された行が、並列処理についての分割指示行であるか判断する(ステップS29)。例えば図5においては、並列処理についての分割指示行は「#run」で始まる行である。
ステップS23において特定された行が並列処理についての分割指示行である場合(ステップS29:Yesルート)、分割部103は、特定された分割指示行から次の分割指示行(すなわち、後処理についての分割指示行)の1行前の行までのコードを、分割後データ格納部105における、並列処理のためのプログラムを格納する領域に格納する(ステップS31)。そしてステップS21の処理に戻る。
ステップS23において特定された行が並列処理についての分割指示行ではない場合(ステップS29:Noルート)、分割部103は、ステップS23において特定された行が、後処理についての分割指示行であるか判断する(ステップS33)。例えば図5においては、後処理についての分割指示行は「#after」で始まる行である。
ステップS23において特定された行が後処理についての分割指示行である場合(ステップS33:Yesルート)、分割部103は、特定された分割指示行から最後の行までのコードを、分割後データ格納部105における、後処理のためのプログラムを格納する領域に格納する(ステップS35)。そしてステップS21の処理に戻る。
ステップS23において特定された行が後処理についての分割指示行ではない場合(ステップS33:Noルート)、分割部103は、ステップS23において特定された行のコードを、分割後データ格納部105における、その他のプログラムを格納する領域に格納する(ステップS37)。そしてステップS21の処理に戻る。
以上のような処理を実行すれば、並列ジョブのプログラムを分割し、処理毎にプログラムを生成できるようになる。これにより、ジョブ単位でスケジューリングをするのではなく、ジョブ内の処理単位でスケジューリングをすることができるようになる。
図7の説明に戻り、第1スケジューラ107は、分割後データ格納部105にデータが格納されたことを検出する。そして、第1スケジューラ107は、資源マップ格納部109に格納されているデータに基づき、並列処理についての条件を満たす計算ノード31を確保可能な最も早い時刻を特定し、並列処理にその計算ノード31を割り当てる(ステップS3)。第1スケジューラ107は、資源マップ格納部109に格納されたデータの複製を生成し、生成された複製をステップS3の処理結果に基づき更新し、一時データ格納部111に格納する。
並列処理についての条件は、例えば、並列処理を実行する計算ノード31の数の条件及び並列処理に要する時間の条件を含む。図5の例においては、「#run」で始まる行における「node=n2,time=m2」という部分が、並列処理についての条件である。この場合、第1スケジューラ107は、n2台の計算ノード31を確保可能な最も早い時刻であること、及び、その時刻からm2(分)の間n2台の計算ノード31を確保できることを確認する。
第2スケジューラ113は、第1スケジューラ107の処理結果が一時データ格納部111に格納されたことを検出する。これに応じ、第2スケジューラ113は、基準時刻tに、並列処理の開始時刻Tを設定する(ステップS5)。並列処理の開始時刻Tは、ステップS3において特定された時刻である。
そして、第2スケジューラ113は、前処理について割当処理を実行する(ステップS7)。割当処理については、図9乃至図23を用いて説明する。
まず、第2スケジューラ113は、並列処理において使用されるファイルのサイズの合計を算出する(図9:ステップS43)。並列処理において使用されるファイルは、例えば、分割後データ格納部105に格納されたその他のプログラムにて指定される。例えば図5においては、「#stgin」で始まる行にファイルの識別情報が含まれ、これらの識別情報が示すファイルが並列処理において使用される。そして、並列処理において使用されるファイルのサイズの情報がその他のプログラムに含まれるので、並列処理において使用されるファイルのサイズの合計を算出することができる。なお、並列処理において使用されるファイルのサイズの情報については、例えば図10に示すようなデータを第2スケジューラ113が管理してもよい。すなわち、第2スケジューラ113は、並列処理において使用されるファイルの識別情報とそのファイルのサイズとを予め取得し、記憶領域に格納しておいてもよい。
図9の説明に戻り、第2スケジューラ113は、ファイルのサイズの合計から、1台の計算ノード31が全ファイルを転送するのに要する時間Tallを算出する(ステップS45)。計算ノード31の転送レートは予め定められているので、第2スケジューラ113は、TallをTall=(ファイルのサイズの合計)/(転送レート)により算出する。
第2スケジューラ113は、前処理に割り当てた時間の合計Tsumに0を設定する(ステップS47)。
第2スケジューラ113は、資源マップ格納部109に格納されているデータを用いて、空き(すなわち、処理を実行していない状態)の開始時刻が、ステップS5において設定された基準時刻tより早い計算ノード31を探索する(ステップS49)。例えば図6の例において、基準時刻tが14:25である場合、計算ノードCN1及び計算ノードCN2が検出される。
空きの開始時刻が基準時刻tより早い計算ノード31が検出されない場合(ステップS51:Noルート)、呼び出し元の処理に戻る。一方、空きの開始時刻が基準時刻tより早い計算ノード31が検出された場合(ステップS51:Yesルート)、処理は端子Aを介して図11のステップS53に移行する。
図11の説明に移行し、第2スケジューラ113は、ステップS51において検出された計算ノード31のうち空きの開始時刻が最も早い計算ノード31を特定する(図11:ステップS53)。
第2スケジューラ113は、空きの開始時刻から単位時間後の時刻までの間、ステップS53において特定された計算ノード31を、前処理に割り当てる(ステップS55)。なお、第2スケジューラ113は、ステップS55の処理結果に基づき、一時データ格納部111に格納されたデータを更新する。
第2スケジューラ113は、ステップS55の処理結果に基づき、割当テーブル格納部117に格納されている割当テーブルを更新する(ステップS57)。図12に、割当テーブルに格納されるデータの一例を示す。図12の例では、計算ノード31の識別情報と、空きの開始時刻と、空きの終了時刻と、空きの開始時刻から終了時刻までの間に転送可能なデータ量とが格納される。図12の例では、単位時間は5分である。
ここで、図13乃至図16を用いて、割当テーブルの状態の遷移について説明する。
例えば図12の状態において、計算ノードCN1の空き時間がさらに追加された場合には、割当テーブルにおける計算ノードCN1についてのエントリは、図13に示すようになる。図13においては、空きの終了時刻が10:10に変更され、転送可能なデータ量は60GB(ギガバイト)に変更される。なお、図12と異なる部分には網掛けが付されている。
また、図13の状態において、計算ノードCN3の空き時間が追加された場合には、計算ノードCN3についてのエントリが割当テーブルに追加され、割当テーブルは図14に示すようになる。図14においては、10:05から10:10までの時間が計算ノードCN3の空き時間として登録されている。なお、図13と異なる部分には網掛けが付されている。
また、図14の状態において、計算ノードCN2の空き時間が追加された場合には、計算ノードCN2についてのエントリが割当テーブルに追加され、割当テーブルは図15に示すようになる。図15においては、10:20から10:25までの時間が計算ノードCN2の空き時間として登録されている。なお、図14と異なる部分には網掛けが付されている。
最終的に、例えば図16に示すようなデータが割当テーブルに格納される。図16においては、10:00から10:10までの時間が計算ノードCN1の空き時間として登録され、10:20から11:00までの時間が計算ノードCN2の空き時間として登録され、10:05から10:10までの時間が計算ノードCN3の空き時間として登録されている。この状態においてステップS59が実行されると、Tsumは55分になる。
図11の説明に戻り、第2スケジューラ113は、Tsum=Tsum+単位時間を算出する(ステップS59)。
第2スケジューラ113は、TallはTsumより短いか判定する(ステップS61)。TallはTsumより短くない場合(ステップS61:Noルート)、空き状態の計算ノード31を追加するため、端子Bを介して図9のステップS49の処理に戻る。一方、TallはTsumより短い場合(ステップS61:Yesルート)、前処理に対する計算ノード31の割当が完了したので、第2スケジューラ113は、以下の処理を実行する。具体的には、第2スケジューラ113は、一時データ格納部111に格納されたデータで、資源マップ格納部109に格納されたデータを置き換える(ステップS62)。そして処理は端子Cを介して図17のステップS63に移行する。
ステップS63の説明に移行し、第2スケジューラ113は、並列処理に使用されるファイルのうち未処理のファイルを1つ特定する(図17:ステップS63)。
第2スケジューラ113は、割当テーブルから、転送可能なデータ量が0ではない計算ノード31を1台特定する(ステップS65)。
第2スケジューラ113は、ステップS65において特定された計算ノード31が転送可能なデータ量は、ステップS63において特定されたファイルのうち計算ノード31が割り当てられていない部分のサイズ以下であるか判断する(ステップS67)。
特定された計算ノード31が転送可能なデータ量は、特定されたファイルのうち計算ノード31が割り当てられていない部分のサイズ以下である場合(ステップS67:Yesルート)、第2スケジューラ113は、以下の処理を実行する。具体的には、第2スケジューラ113は、割当テーブルに格納されている、ステップS65において特定された計算ノード31の転送可能なデータ量に、0を設定する(ステップS69)。
第2スケジューラ113は、ステップS65において特定された計算ノード31についてのエントリを、転送テーブル格納部115に格納されている転送テーブルに追加する(ステップS71)。この時点で、ステップS63において特定されたファイルのうち計算ノード31が割り当てられていない部分のサイズは、ステップS65において特定された計算ノード31が転送可能なデータ量の分だけ小さくなる。
図18に、転送テーブルに格納されるデータの一例を示す。図18の例では、処理種別と、計算ノード31の識別情報と、ファイルの識別情報と、ファイルサイズの情報と、転送の開始位置を表す情報と、転送データ量を表す情報とが格納される。
図17の説明に戻り、第2スケジューラ113は、割当テーブルに、転送可能なデータ量が0ではない計算ノード31が有るか判断する(ステップS73)。転送可能なデータ量が0ではない計算ノード31が有る場合(ステップS73:Yesルート)、次の計算ノード31について処理するため、ステップS65の処理に戻る。一方、転送可能なデータ量が0ではない計算ノード31が無い場合(ステップS73:Noルート)、割り当てが完了したので、呼び出し元の処理に戻る。
一方、ステップS67において、特定された計算ノード31が転送可能なデータ量は、特定されたファイルのうち計算ノード31が割り当てられていない部分のサイズより多いと判断された場合(ステップS67:Noルート)、第2スケジューラ113は、以下の処理を実行する。具体的には、第2スケジューラ113は、割当テーブルに格納されている、特定された計算ノード31が転送可能なデータ量から、特定されたファイルのうち計算ノード31が割り当てられていない部分のサイズを差し引く(ステップS75)。
第2スケジューラ113は、ステップS65において特定された計算ノード31についてのエントリを、転送テーブルに追加する(ステップS77)。この時点で、ステップS63において特定されたファイルのうち計算ノード31が割り当てられていない部分のサイズは0になる。
第2スケジューラ113は、並列処理に使用されるファイルのうち未処理のファイルが有るか判断する(ステップS79)。未処理のファイルが有る場合(ステップS79:Yesルート)、ステップS63の処理に戻る。一方、未処理のファイルが無い場合(ステップS79:Noルート)、割り当てが完了したので、呼び出し元の処理に戻る。
ここで、図19乃至図23を用いて、割当テーブルの状態の遷移について説明する。
例えば図16に示す状態において、計算ノードCN1が、サイズが50GBであるファイル1に割り当てられたとする。すると、割当テーブルは、図19に示すような状態になる。図19においては、計算ノードCN1が転送可能なデータ量が、60GBから10GBに変更されている。なお、図16と異なる部分には網掛けが付されている。
また、図19に示す状態において、計算ノードCN3が、サイズが180GBであるファイル2に割り当てられたとする。すると、割当テーブルは、図20に示すような状態になる。図20においては、計算ノードCN3が転送可能なデータ量が、30GBから0GBに変更されている。この時点で、ファイル2のうち計算ノード31が割り当てられていない部分は150GBである。なお、図19と異なる部分には網掛けが付されている。
また、図20に示す状態において、計算ノードCN1が、ファイル2のうち計算ノード31が割り当てられていない部分に割り当てられたとする。すると、割当テーブルは、図21に示すような状態になる。図21においては、計算ノードCN1が転送可能なデータ量が、10GBから0GBに変更されている。この時点で、ファイル2のうち計算ノード31が割り当てられていない部分は140GBである。なお、図20と異なる部分には網掛けが付されている。
また、図21に示す状態において、計算ノードCN2が、ファイル2のうち計算ノード31が割り当てられていない部分に割り当てられたとする。すると、割当テーブルは、図22に示すような状態になる。図22においては、計算ノードCN2が転送可能なデータ量が、240GBから100GBに変更されている。なお、図21と異なる部分には網掛けが付されている。
また、図22に示す状態において、計算ノードCN2が、サイズが50GBであるファイル3に割り当てられたとする。すると、割当テーブルは、図23に示すような状態になる。図23においては、計算ノードCN2が転送可能なデータ量が、100GBから50GBに変更されている。なお、図22と異なる部分には網掛けが付されている。
以上のような処理を実行すれば、並列処理の開始時刻より前においてアイドル状態である計算ノード31を前処理に対して割り当てることができるようになる。
図7の説明に戻り、第2スケジューラ113は、前処理に対する計算ノード31の割り当てが成功したか判断する(ステップS9)。ステップS51のNoルートを経由した場合には前処理に対する割り当ては失敗し、ステップS73のNoルートを経由した場合には前処理に対する割り当ては成功している。
前処理に対する計算ノード31の割り当てが失敗した場合(ステップS9:Noルート)、第2スケジューラ113は、並列処理の開始時刻Tに、開始時刻より単位時間後の時刻を設定する(ステップS11)。すなわち、並列処理の開始時刻Tを単位時間遅らせる。なお、第2スケジューラ113は、資源マップ格納部109に格納されているデータの複製を生成し、ステップS11の処理結果に基づき当該複製を更新し、更新後のデータで一時データ格納部111内のデータを更新する。
一方、前処理に対する計算ノード31の割り当てが成功した場合(ステップS9:Yesルート)、第2スケジューラ113は、並列処理の終了時刻以後において未割当の計算ノード31を、後処理に割り当てる(ステップS13)。そして処理を終了する。
ステップS13において、第2スケジューラ113は、後処理についての条件を満たす計算ノード31を探索する。後処理についての条件は、例えば、後処理を実行する計算ノード31の数の条件及び後処理に要する時間の条件を含む。図5の例においては、「#after」で始まる行における「node=n3,time=m3」という部分が、後処理についての条件である。このようにすることで、並列処理を実行する計算ノード31の数と同じ数の計算ノード31を後処理に対して割り当てなくて済む。そして、後処理が実行される期間中において未割当の計算ノード31は、次の並列ジョブの前処理に割り当てられるので、計算ノード31を有効に利用することができる。
上で述べたように、並列処理以外の処理については、並列処理を実行する計算ノード31の数と同じ数の計算ノード31を確保しなくてもよい場合がある。すなわち、n1<n2及びn2<n3である場合がある。このような場合においてもジョブ単位で計算ノード31の割り当てをすると、並列処理以外の処理においてはアイドル状態の計算ノード31が生じ、情報処理システム3において計算ノード31の使用率が低下する。
しかし、上で述べたようにすれば、n2台の計算ノード31を確保できない期間において前処理を実行できるようになり、また、後処理については後処理についての条件に応じて計算ノード31を割り当てるので、計算ノード31を有効に利用できるようになる。
次に、図24を用いて、実行制御部119が並列ジョブの実行を制御する処理について説明する。
まず、実行制御部119は、資源マップ格納部109に格納されているデータを参照し、或る並列ジョブ(以下では、並列ジョブAと呼ぶ)の前処理の開始時刻になったことを検出する(図24:ステップS81)。
実行制御部119は、前処理を実行する計算ノード31に、転送テーブルに格納されている情報と、分割後データ格納部105に格納されている、前処理のためのプログラム及びその他のプログラムとを送信する(ステップS83)。なお、前処理の実行する計算ノード31の数が複数である場合、実行制御部119は、各計算ノード31に、転送テーブルに格納されている情報のうちその計算ノード31についての情報を送信する。これにより、ステップS83において送信されたデータを受信した計算ノード31は、前処理を適切に実行することができる。
その後、実行制御部119は、資源マップ格納部109に格納されているデータを参照し、並列ジョブAの並列処理の開始時刻になったことを検出する(ステップS85)。
実行制御部119は、並列処理を実行する計算ノード31に、分割後データ格納部105に格納されている、並列処理のためのプログラム及びその他のプログラムと、API制御部121から受け取った、前処理から並列処理に引き継がれる情報とを送信する(ステップS87)。これにより、ステップS87において送信されたデータを受信した計算ノード31は、並列処理を適切に実行することができる。
その後、実行制御部119は、資源マップ格納部109に格納されているデータを参照し、並列ジョブAの後処理の開始時刻になったことを検出する(ステップS89)。
実行制御部119は、API制御部121から、並列処理から後処理に引き継がれる情報(本情報は、並列処理後のファイルのサイズの情報を含む)を受け取り、後処理を実行する計算ノード31の各々が転送するファイルの部分を決定する。そして、実行制御部119は、後処理を実行する計算ノード31の各々に、分割後データ格納部105に格納されている、後処理のためのプログラム及びその他のプログラムと、並列処理から後処理に引き継がれる情報と、転送するファイルの部分の情報とを送信する(ステップS91)。これにより、ステップS91において送信されたデータを受信した計算ノード31は、後処理を適切に実行することができる。そして処理を終了する。
以上のようにすれば、並列ジョブの実行プログラムを分割したとしても、並列ジョブを適切に実行できるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した管理装置1及びファイル管理装置5の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、ステップS11においては、並列処理の開始時刻Tを単位時間遅らせた場合に並列処理についての条件が満たされるか判定してもよい。そして、並列処理についての満たされない場合は、並列処理の開始時刻Tより後において、並列処理についての条件を満たす空き資源を再度探索してもよい。
なお、後処理に対する計算ノード31の割り当てを、前処理に対する計算ノード31の割り当てと同様の方法で行うようにしてもよい。すなわち、空きの開始時刻が早い計算ノード31から順に、後処理に対する割り当てを行ってもよい。この場合には、実行制御部119は、ステップS83と同様、後処理について生成された転送テーブル内の情報を、後処理を実行する計算ノード31に送信する。
なお、上で述べた管理装置1、計算ノード31、ファイル管理装置5、及びユーザ端末9は、コンピュータ装置であって、図25に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理システムは、(A)複数の情報処理装置と、(B)管理装置とを有する。そして、上で述べた管理装置は、(b1)複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部と、(b2)データ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な時刻である第1の時刻を特定する特定部と、(b3)データ格納部に格納されている情報を用いて、第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、1又は複数の第1の情報処理装置の第1の期間を、並列処理の前に実行されるべき第1の処理に割り当てる割当部とを有する。
並列処理の前に実行されるべき処理(例えば、並列処理の前処理)については、並列処理を実行する情報処理装置の数と同じ数の情報処理装置を確保しなくてもよい場合がある。上で述べたようにすれば、所定数の情報処理装置を確保できない期間において第1の処理を実行できるようになるので、情報処理装置を有効に利用できるようになる。
また、上で述べた割当部は、(b2−1)第1の処理を複数の情報処理装置のうち1台の情報処理装置が実行した場合にかかる時間を算出し、(b2−2)算出された時間が、1又は複数の情報処理装置の第1の期間の合計より短いという条件が満たされるか判定し、(b2−3)条件が満たされない場合に、第1の時刻に、当該第1の時刻の所定時間後の時刻を設定してもよい。このようにすれば、第1の処理の実行に十分な情報処理装置を確保しつつ、並列処理をできるだけ早い時刻に開始できるようになる。
また、上で述べた管理装置は、(b4)実行すべきジョブのプログラムを、並列処理用のプログラムと第1の処理用のプログラムとに分割する分割部と、(b5)並列処理用のプログラムを、並列処理を実行する所定数の情報処理装置に送信し、第1の処理用のプログラムを、1又は複数の第1の情報処理装置に送信する送信部とをさらに有してもよい。
このようにすれば、必ずしも第1の処理を実行した情報処理装置が並列処理を実行しなくてもよいので、実行すべき処理を柔軟に実行できるようになる。
また、上で述べた送信部は、(b4−1)1又は複数の第1の情報処理装置から、第1の処理から並列処理に引き継がれる情報を受信し、並列処理を実行する所定数の情報処理装置に、第1の処理から並列処理に引き継がれる情報を送信してもよい。このようにすれば、第1の処理用のプログラムと並列処理用プログラムとが一体ではない場合においても、並列処理を適切に行えるようになる。
また、第1の処理は、並列処理に使用する1又は複数のデータブロックを転送する処理を含み、条件は、1又は複数のデータブロックの合計サイズを転送レートで除することにより算出される転送時間が、1又は複数の第1の情報処理装置の第1の期間の合計より短いという条件を含んでもよい。このようにすれば、第1の処理においてデータブロックを漏れなく転送できるようになる。
また、上で述べた割当部は、(b2−4)1又は複数の第1の情報処理装置の各々について、当該第1の情報処理装置が転送するデータの量と、1又は複数のデータブロックのうち当該第1の情報処理装置が転送をする部分とを決定し、上で述べた送信部は、(b2−4)1又は複数の第1の情報処理装置の各々に、当該第1の情報処理装置が転送するデータの量の情報と、1又は複数のデータブロックのうち当該第1の情報処理装置が転送をする部分の情報とを送信してもよい。このようにすれば、データブロックが誤って転送されることを防げるようになる。
また、第1の時刻は、並列処理を実行する所定数の情報処理装置を確保可能な最も早い時刻であってもよい。
また、上で述べた特定部は、並列処理を実行する所定数の情報処理装置の間に並列処理を実行しない情報処理装置が存在しないように、第1の時刻を特定してもよい。このようにすれば、並列処理を実行しない計算ノードに通信処理の負荷が生じるのを抑制できるようになる。
本実施の形態の第2の態様に係る、情報処理システムの制御方法は、複数の情報処理装置と管理装置とを有する情報処理システムにおいて上記管理装置により実行される。そして、本情報処理システムの制御方法は、(C)複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な最も早い時刻である第1の時刻を特定し、(D)データ格納部に格納されている情報を用いて、第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、(E)1又は複数の第1の情報処理装置の第1の期間を、並列処理の前に実行されるべき第1の処理に割り当てる処理を含む。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有する情報処理システムにおいて、
前記管理装置は、
前記複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部と、
前記データ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な時刻である第1の時刻を特定する特定部と、
前記データ格納部に格納されている情報を用いて、前記第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、前記1又は複数の第1の情報処理装置の前記第1の期間を、前記並列処理の前に実行されるべき第1の処理に割り当てる割当部と、
を有する情報処理システム。
(付記2)
前記割当部は、
前記第1の処理を前記複数の情報処理装置のうち1台の情報処理装置が実行した場合にかかる時間を算出し、
算出された前記時間が、前記1又は複数の情報処理装置の前記第1の期間の合計より短いという条件が満たされるか判定し、
前記条件が満たされない場合に、前記第1の時刻に、当該第1の時刻の所定時間後の時刻を設定する
付記1記載の情報処理システム。
(付記3)
前記管理装置は、
実行すべきジョブのプログラムを、前記並列処理用のプログラムと前記第1の処理用のプログラムとに分割する分割部と、
前記並列処理用のプログラムを、前記並列処理を実行する所定数の情報処理装置に送信し、前記第1の処理用のプログラムを、前記1又は複数の第1の情報処理装置に送信する送信部と、
をさらに有する付記1又は2記載の情報処理システム。
(付記4)
前記送信部は、
前記1又は複数の第1の情報処理装置から、前記第1の処理から前記並列処理に引き継がれる情報を受信し、前記並列処理を実行する所定数の情報処理装置に、前記第1の処理から前記並列処理に引き継がれる情報を送信する
付記3記載の情報処理システム。
(付記5)
前記第1の処理は、前記並列処理に使用する1又は複数のデータブロックを転送する処理を含み、
前記条件は、前記1又は複数のデータブロックの合計サイズを転送レートで除することにより算出される転送時間が、前記1又は複数の第1の情報処理装置の前記第1の期間の合計より短いという条件を含む、
付記2記載の情報処理システム。
(付記6)
前記割当部は、
前記1又は複数の第1の情報処理装置の各々について、当該第1の情報処理装置が転送するデータの量と、前記1又は複数のデータブロックのうち当該第1の情報処理装置が転送をする部分とを決定し、
前記送信部は、
前記1又は複数の第1の情報処理装置の各々に、当該第1の情報処理装置が転送するデータの量の情報と、前記1又は複数のデータブロックのうち当該第1の情報処理装置が転送をする部分の情報とを送信する
付記5記載の情報処理システム。
(付記7)
前記第1の時刻は、前記並列処理を実行する所定数の情報処理装置を確保可能な最も早い時刻である
付記1乃至6のいずれか1つ記載の情報処理システム。
(付記8)
前記特定部は、
前記並列処理を実行する所定数の情報処理装置の間に前記並列処理を実行しない情報処理装置が存在しないように、前記第1の時刻を特定する
付記1乃至7のいずれか1つ記載の情報処理システム。
(付記9)
複数の情報処理装置を管理する管理装置において、
前記複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部と、
前記データ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な最も早い時刻である第1の時刻を特定する特定部と、
前記データ格納部に格納されている情報を用いて、前記第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、前記1又は複数の第1の情報処理装置の前記第1の期間を、前記並列処理の前に実行されるべき第1の処理に割り当てる割当部と、
を有する管理装置。
(付記10)
複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有する情報処理システムにおいて、
前記管理装置が、
前記複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な最も早い時刻である第1の時刻を特定し、
前記データ格納部に格納されている情報を用いて、前記第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、
前記1又は複数の第1の情報処理装置の前記第1の期間を、前記並列処理の前に実行されるべき第1の処理に割り当てる、
処理を実行する、情報処理システムの制御方法。
(付記11)
複数の情報処理装置を管理する管理装置の制御プログラムにおいて、
前記管理装置に、
前記複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な最も早い時刻である第1の時刻を特定し、
前記データ格納部に格納されている情報を用いて、前記第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、
前記1又は複数の第1の情報処理装置の前記第1の期間を、前記並列処理の前に実行されるべき第1の処理に割り当てる、
処理を実行させるための管理装置の制御プログラム。
1 管理装置 3 情報処理システム
5 ファイル管理装置 7 ネットワーク
9 ユーザ端末
101 入力データ格納部 103 分割部
105 分割後データ格納部 107 第1スケジューラ
109 資源マップ格納部 111 一時データ格納部
113 第2スケジューラ 115 転送テーブル格納部
117 割当テーブル格納部 119 実行制御部
121 API制御部
31 計算ノード 51 ファイル格納部

Claims (9)

  1. 複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有する情報処理システムにおいて、
    前記管理装置は、
    前記複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部と、
    前記データ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な時刻である第1の時刻を特定する特定部と、
    前記データ格納部に格納されている情報を用いて、前記第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、前記1又は複数の第1の情報処理装置の前記第1の期間を、前記並列処理の前に実行されるべき第1の処理に割り当てる割当部と、
    を有する情報処理システム。
  2. 前記割当部は、
    前記第1の処理を前記複数の情報処理装置のうち1台の情報処理装置が実行した場合にかかる時間を算出し、
    算出された前記時間が、前記1又は複数の第1の情報処理装置の前記第1の期間の合計より短いという条件が満たされるか判定し、
    前記条件が満たされない場合に、前記第1の時刻に、当該第1の時刻の所定時間後の時刻を設定する、
    請求項1記載の情報処理システム。
  3. 前記管理装置は、
    実行すべきジョブのプログラムを、前記並列処理用のプログラムと前記第1の処理用のプログラムとに分割する分割部と、
    前記並列処理用のプログラムを、前記並列処理を実行する所定数の情報処理装置に送信し、前記第1の処理用のプログラムを、前記1又は複数の第1の情報処理装置に送信する送信部と、
    をさらに有する請求項1又は2記載の情報処理システム。
  4. 前記送信部は、
    前記1又は複数の第1の情報処理装置から、前記第1の処理から前記並列処理に引き継がれる情報を受信し、前記並列処理を実行する所定数の情報処理装置に、前記第1の処理から前記並列処理に引き継がれる情報を送信する
    請求項3記載の情報処理システム。
  5. 前記第1の処理は、前記並列処理に使用する1又は複数のデータブロックを転送する処理を含み、
    前記条件は、前記1又は複数のデータブロックの合計サイズを転送レートで除することにより算出される転送時間が、前記1又は複数の第1の情報処理装置の前記第1の期間の合計より短いという条件を含む、
    請求項2記載の情報処理システム。
  6. 前記割当部は、
    前記1又は複数の第1の情報処理装置の各々について、当該第1の情報処理装置が転送するデータの量と、前記1又は複数のデータブロックのうち当該第1の情報処理装置が転送をする部分とを決定するものであり
    前記管理装置は、
    前記1又は複数の第1の情報処理装置の各々に、当該第1の情報処理装置が転送するデータの量の情報と、前記1又は複数のデータブロックのうち当該第1の情報処理装置が転送をする部分の情報とを送信する送信部をさらに有する、
    請求項5記載の情報処理システム。
  7. 複数の情報処理装置を管理する管理装置において、
    前記複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部と、
    前記データ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な最も早い時刻である第1の時刻を特定する特定部と、
    前記データ格納部に格納されている情報を用いて、前記第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、前記1又は複数の第1の情報処理装置の前記第1の期間を、前記並列処理の前に実行されるべき第1の処理に割り当てる割当部と、
    を有する管理装置。
  8. 複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有する情報処理システムにおいて、
    前記管理装置が、
    前記複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な最も早い時刻である第1の時刻を特定し、
    前記データ格納部に格納されている情報を用いて、前記第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、
    前記1又は複数の第1の情報処理装置の前記第1の期間を、前記並列処理の前に実行されるべき第1の処理に割り当てる、
    処理を実行する、情報処理システムの制御方法。
  9. 複数の情報処理装置を管理する管理装置の制御プログラムにおいて、
    前記管理装置に、
    前記複数の情報処理装置の各々が実行する処理についての情報及び当該処理を実行する期間についての情報を格納するデータ格納部に格納されている情報を用いて、並列処理を実行する所定数の情報処理装置を確保可能な最も早い時刻である第1の時刻を特定し、
    前記データ格納部に格納されている情報を用いて、前記第1の時刻より前の期間であり且つ処理が実行されない期間である第1の期間を有する1又は複数の第1の情報処理装置を特定し、
    前記1又は複数の第1の情報処理装置の前記第1の期間を、前記並列処理の前に実行されるべき第1の処理に割り当てる、
    処理を実行させるための管理装置の制御プログラム。
JP2014191614A 2014-09-19 2014-09-19 情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラム Active JP6369257B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014191614A JP6369257B2 (ja) 2014-09-19 2014-09-19 情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラム
US14/849,831 US9778958B2 (en) 2014-09-19 2015-09-10 Management method, management apparatus, and information processing system for coordinating parallel processing in a distributed computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014191614A JP6369257B2 (ja) 2014-09-19 2014-09-19 情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2016062462A JP2016062462A (ja) 2016-04-25
JP6369257B2 true JP6369257B2 (ja) 2018-08-08

Family

ID=55525827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014191614A Active JP6369257B2 (ja) 2014-09-19 2014-09-19 情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラム

Country Status (2)

Country Link
US (1) US9778958B2 (ja)
JP (1) JP6369257B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282551A (ja) 2000-03-29 2001-10-12 Hitachi Ltd ジョブ処理装置および方法
US8336040B2 (en) * 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
JP4781089B2 (ja) * 2005-11-15 2011-09-28 株式会社ソニー・コンピュータエンタテインメント タスク割り当て方法およびタスク割り当て装置
JP2009151376A (ja) * 2007-12-18 2009-07-09 Ntt Docomo Inc 分散処理方法、計算機管理装置及び分散処理システム
US9723070B2 (en) * 2008-01-31 2017-08-01 International Business Machines Corporation System to improve cluster machine processing and associated methods
JP5377231B2 (ja) * 2009-10-30 2013-12-25 株式会社東芝 ジョブネット制御プログラムおよびジョブネット制御装置
JP5684629B2 (ja) * 2011-03-31 2015-03-18 日本電気株式会社 ジョブ管理システム及びジョブ管理方法

Also Published As

Publication number Publication date
JP2016062462A (ja) 2016-04-25
US9778958B2 (en) 2017-10-03
US20160085597A1 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
CN111768006B (zh) 一种人工智能模型的训练方法、装置、设备及存储介质
US8458712B2 (en) System and method for multi-level preemption scheduling in high performance processing
CN114138486B (zh) 面向云边异构环境的容器化微服务编排方法、系统及介质
CN103797462B (zh) 一种创建虚拟机的方法和装置
US8332862B2 (en) Scheduling ready tasks by generating network flow graph using information receive from root task having affinities between ready task and computers for execution
JP4935595B2 (ja) ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
US20130339956A1 (en) Computer system and optimal arrangement method of virtual machine in computer system
KR101644800B1 (ko) 컴퓨팅 시스템 및 방법
JP6190969B2 (ja) マルチテナントリソース調停方法
CN113448743A (zh) 用于任务处理的方法、电子设备以及计算机程序产品
CN104199739A (zh) 一种基于负载均衡的推测式Hadoop调度方法
JP2010231502A (ja) ジョブ処理方法、ジョブ処理プログラムを格納したコンピュータ読み取り可能な記録媒体、および、ジョブ処理システム
US20160132357A1 (en) Data staging management system
JP6620609B2 (ja) 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置
JP6010975B2 (ja) ジョブ管理装置、ジョブ管理方法、及びプログラム
JPH0816410A (ja) スケジュール制御装置とその方法
CN101908004A (zh) 促进请求执行的装置和方法
JP2012181578A (ja) 更新制御装置及びプログラム
CN111143063B (zh) 任务的资源预约方法及装置
JP2015148909A (ja) 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム
CN108268316A (zh) 作业调度的方法及装置
JP6341030B2 (ja) 情報処理システム、情報処理システムの制御方法及び制御プログラム
JP6369257B2 (ja) 情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラム
KR100788328B1 (ko) 그리드 컴퓨팅을 이용한 미들웨어 시스템 및 그 동작 방법
JP6191361B2 (ja) 情報処理システム、情報処理システムの制御方法及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180514

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: 20180612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180625

R150 Certificate of patent or registration of utility model

Ref document number: 6369257

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150