JP6447120B2 - ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体 - Google Patents

ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体 Download PDF

Info

Publication number
JP6447120B2
JP6447120B2 JP2014264453A JP2014264453A JP6447120B2 JP 6447120 B2 JP6447120 B2 JP 6447120B2 JP 2014264453 A JP2014264453 A JP 2014264453A JP 2014264453 A JP2014264453 A JP 2014264453A JP 6447120 B2 JP6447120 B2 JP 6447120B2
Authority
JP
Japan
Prior art keywords
job
user
data
resource
new
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
JP2014264453A
Other languages
English (en)
Other versions
JP2015133112A (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
Publication of JP2015133112A publication Critical patent/JP2015133112A/ja
Application granted granted Critical
Publication of JP6447120B2 publication Critical patent/JP6447120B2/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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Description

本願で開示される実施形態は、概して、ジョブスケジューリングに関し、特に、ジョブスケジューリングをバックフィリングすることに関するが、それに限られない。
ジョブのグループがスケジューリングアルゴリズムに従ってコンピュータ環境における実行のためにスケジューリングされるプロセスは、一般に、バッチスケジューリングと呼ばれる。最も基本的なバッチスケジューリングアルゴリズムは、先着順制(First-Come-First-Served)(FCFS)スケジューリングアルゴリズムである。このアルゴリズムによれば、ジョブは、到着時に先入れ先出し(First In, First Out)(FIFO)キューに置かれる。キューの先頭にあるジョブを実行するために利用可能な十分なリソースが存在する場合は、リソースは割り当てられ、ジョブは開始される。十分なリソースが存在しない場合は、十分なリソースが利用可能になるまで、例えば、現在実行中のジョブが終了するときまで、プロセスは待機する。しかし、このアプローチは、非効率的なシステム利用を欠点とする。
バックフィリングは、利用及びFCFC順序の維持の目標を釣り合わせようと試みる最適化技術である。キューの先頭にあるジョブが待機している間、他の、より小さいジョブが、特に、それらがキューの先頭にあるジョブの開始を遅延させない場合に、スケジューリングされることが可能である。これは、さもなければ利用されないままであるリソースが使用されることを可能にする。バックフィルスケジューリングは、一般に、スケジューラがどこにジョブを置くべきかを決定することを可能にするために、ユーザに、彼らのジョブのためのランタイム制限を特定するよう求める。しかし、それらの特定されたランタイムを超えて実行するジョブは、通常は、システムによって終了されるので、ユーザはしばしば、彼らのジョブのランタイムを過大に見積もる。これは、スケジューリングの非効率性及びリソースの浪費を生じさせる。
従って、改善されたジョブスケジューリング技術が、コンピュータ産業において歓迎されるであろう。
一実施形態に従って、コンピュータ環境におけるジョブスケジューリングの方法であって、
複数のユーザから受け取られたジョブ依頼に関連する履歴ジョブデータを収集し、ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータが、ジョブを実行するために当該ユーザによってリクエストされたリソースを示すリソースリクエストデータと、前記ジョブを実行するために使用された実際のリソースを示すリソース利用データとを含み、
前記複数のユーザの夫々について、当該ユーザから受け取られた1又はそれ以上のジョブ依頼に関連する前記リソースリクエストデータと前記リソース利用データとの間の比較に基づき、ジョブを実行するためにリクエストされるリソースを当該ユーザが過大に見積もる程度を示す信憑性スコアを計算し、
前記複数のユーザの1人から、実行されるべき新しいジョブと、該新しいジョブを実行するために当該ユーザによってリクエストされたリソースとを特定する新しいジョブ依頼を受け取り、
当該ユーザの前記信憑性スコアに基づき、実行のために前記新しいジョブをスケジューリングする、方法が提供される。
ユーザの信憑性スコアは、そのユーザによってリクエストされたリソースが、ジョブを実行するのに実際に必要とされるリソースを反映するかどうかの有用な推定を提供し、ジョブスケジューリングを改善する簡単だが有効な方法である。更に、信憑性スコアはユーザに関連付けられるので、スケジューリングの改善は、新しいジョブがコンピュータ環境において以前に実行されたジョブと異なる場合でさえ、達成され得る。
信憑性スコアは、例えば、ジョブが、それらのジョブを提示するユーザの信憑性スコアに基づき(少なくともある程度)キュー内で体系化及び/又は優先順位付けされ得る、修正されたFIFOスケジューリングアルゴリズムを含む異なるスケジューリングアルゴリズムとともに使用され得る。なお、信憑性スコアの使用は、特に、バックフィルスケジューリングにうまく適する。一実施形態において、実行のために前記新しいジョブをスケジューリングすることは、当該ユーザによってリクエストされたリソースよりも少ないリソースから構成されるバックフィルウィンドウに前記新しいジョブを割り当てることを含む。例えば、新しいジョブは、ユーザによってリクエストされたランタイムよりも短いランタイム制限を有するバックフィルウィンドウに割り当てられ得る。信憑性スコアに基づくバックフィルスケジューリングは、ウィンドウが満了する前にジョブが完了され得ない危険性の高まりが最小限でありながら、バックフィルウィンドウに収まり得るジョブの数を増やす。そのようなバックフィルウィンドウに新しいジョブを割り当てる1つの方法は、例えば、特定されたランタイム制限を低減することによって、ジョブ依頼を変更することであってよい。新しいジョブへ割り当てられるリソースの量は、それ自体が信憑性スコアに基づき決定され得る。
利用可能なリソースの最良の使用を行うために、スケジューリングは、前記バックフィルウィンドウを構成するリソースに対する当該ユーザによってリクエストされたリソースの割合である計算された利用率に更に基づくことができる。これは、新しいジョブのためのリソース要件に最もよく適合するバックフィルウィンドウを見つけることができる。同様に、新しいジョブ依頼が複数のそのような新しいジョブ依頼のうちの1つである場合に、前記利用率は、所与のバックフィルウィンドウに最もよく適合するジョブを選択するために使用され得る。
一実施形態において、前記新しいジョブは、履歴データが収集されたことがある以前に実行されたジョブに対応し、ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータは、前記ジョブを実行することに関連する性能特性を示す性能データを更に含み、
実行のために前記新しいジョブをスケジューリングすることは、当該ユーザの前記信憑性スコア及び前記以前に実行されたジョブの前記性能データに基づく。性能データの使用は、ジョブのためにユーザによってリクエストされたリソースが、そのジョブを実行するのに実際に必要とされるリソースを反映するかどうかのより正確な推定を提供するのに役立つ。
一実施形態において、ジョブは、1又はそれ以上のアプリケーションを含み、前記複数のユーザの夫々についての前記信憑性スコアは、夫々のアプリケーションに関して計算される。これは先と同じく、ジョブが、利用可能なリソースにより良く適合されることを可能にする。スケジューリングが実行される際に基づく信憑性スコアは、複数の信憑性スコアのうちの1つ、又は複数の信憑性スコアの結合(例えば、複数の信憑性スコアの平均)であることができる。1又はそれ以上のアプリケーションは、前処理、シミュレーションの実行、及び/又は後処理のような、ジョブワークフローの異なるフェーズに対応することができる。然るに、上記の性能データは、例えば、アプリケーションの実行からのデータのトレーシング及び/又はプロファイリングを含むアプリケーション性能解析データであることができる。アプリケーションにおける異なるプロシージャ(サブルーチン及び関数)に関し、そのようなアプリケーション性能解析データは、いつどこでそれが呼び出されたかの呼び出しツリー、それが呼び出された回数、及び/又はどれくらいの時間がプロシージャ及びその命令文において費やされたかを含むことができる。アプリケーション性能解析データは、コミュニケーション呼び出し(例えば、移植効率が高く且つメッセージパッシング並列プログラムを記述するために使用される変動標準である様々なメッセージパッシングインターフェース(Message Passing Interface)(MPI)呼び出しにおいて費やされた時間)、メモリ(例えば、ハードウェアカウンタ情報)、及びI/O呼び出しに関するより詳細な情報を更に含むことができる。そのような情報は、アプリケーションが、所与の入力について計算、通信及びI/Oにおいて費やされた時間の量に関して特性化されることを可能にする。
一実施形態において、前記複数のユーザの夫々についての前記信憑性スコアは、以前に実行されたジョブに実際に使用されたリクエストされたリソースのうちのパーセンテージに基づき計算される。例えば、最も簡単な場合において、以前に実行されたジョブに実際に使用されたリクエストされたリソースのパーセンテージと信憑性スコアとの間には線形な関係が存在することができる。更に、信憑性スコアが下回らない下位閾値が設定され得る。これは、ジョブが早期に終了する可能性が高いことが知られる場合に役立つことができる。
複数の新しいジョブが実行のためにキューに入れられる場合に、すなわち、利用可能なリソースを割り当てられるのを待っている場合に、信憑性スコアは、キューの順序を変更するために使用され得る。特に、スケジューリングは、前記キューにおいてより高いがより低い信憑性スコアを有するユーザによって発せられる少なくとも1つの新しいジョブに対して、前記キューにおいてより低いがより高い信憑性スコアを有するユーザによって発せられる少なくとも1つの新しいジョブを優先することを含むことができる。一般的に言えば、より低い信憑性スコアを有するユーザは、より高い信憑性スコアを有するユーザよりも、ジョブを実行するのに必要とされるリソースを過大に見積もる傾向が大きい。このアプローチは、より低い信憑性スコアを有するユーザが、より高い信憑性スコアを有するユーザによりも過大な見積もりを提供する可能性が高いとして、正確な推定を提供するようユーザに働きかける。つまり、これはスケジューリング効率を改善する。なお、公平性を確保するよう、方法は、優先されるジョブがどの程度キュー内で繰り上げられ得るかを制限してよい。
ジョブが必要とされるよりも少ないリソースを割り当てられている場合に、多種多様なアプローチが採用され得る。例えば、新しいジョブの実行中に、割り当てられているリソースがジョブを完了するには不十分であると決定される場合は、新しいジョブは終了又は一時中断され得る。なお、ジョブがほとんど完了している場合は、ジョブは終了することを認められてよい。
一実施形態において、方法は、新しいジョブの実行後に、前記新しいジョブを実行するために使用された実際のリソースと前記割り当てられたリソースとの間の比較に基づき前記スケジューリングの精度を決定することを更に有する。これは、スケジューリングのインテグリティが正当であると確認されることを可能にする。
一実施形態に従って、データ解析モジュールを備え、該データ解析モジュールは、
複数のユーザから受け取られたジョブ依頼に関連する履歴ジョブデータにアクセスし、ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータが、ジョブを実行するために当該ユーザによってリクエストされたリソースを示すリソースリクエストデータと、前記ジョブを実行するために使用された実際のリソースを示すリソース利用データとを含み、
前記複数のユーザの夫々について、当該ユーザから受け取られた1又はそれ以上のジョブ依頼に関連する前記リソースリクエストデータと前記リソース利用データとの間の比較に基づき、ジョブを実行するためにリクエストされるリソースを当該ユーザが過大に見積もる程度を示す信憑性スコアを計算する
よう構成される、データアナライザが提供される。
一実施形態において、当該データアナライザは、前記信憑性スコアに基づきユーザから受け取られた新しいジョブ依頼を変更するよう構成されるジョブ依頼変更モジュールを更に有する。
当該データアナライザは、プラグ着脱可能なモジュールであることができる。これは、システム構成に関して柔軟性を提供する。
一実施形態に従って、上記のデータアナライザと、複数のユーザから受け取られたジョブ依頼に関連する履歴ジョブデータを記憶するよう構成されるデータベースとを備え、ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータが、ジョブを実行するために当該ユーザによってリクエストされたリソースを示すリソースリクエストデータと、前記ジョブを実行するために使用された実際のリソースを示すリソース利用データとを含む、データ解析装置が提供される。
一実施形態に従って、ジョブをスケジューリングするよう構成されるスケジューラと、上記のデータ解析装置と、スケジューリングされたジョブを実行するよう構成されるコンピューティングリソースとを備えるコンピュータシステムが提供される。コンピューティングリソースは、ハイパフォーマンスコンピューティング(High-Performance Computing)(HPC)リソースであることができる。
一実施形態に従って、コンピュータによって実行される場合に、該コンピュータに、上記の方法を実行させるコンピュータ可読コードを担持するコンピュータ可読媒体が提供される。
実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はそれらのあらゆる組み合わせにおいて実施されてよい。実施形態はまた、1又はそれ以上のプロセッサ及び/又はコントローラによって読み出されて実行され得る1又はそれ以上の非一時的なコンピュータ可読媒体において記憶されている命令として実施されてよい。非一時的なコンピュータ可読媒体には、コンピュータ(例えば、コンピュータ装置)によって読出可能な形で情報を記憶又は伝送するあらゆる有形なメカニズムが含まれてよい。例えば、非一時的なコンピュータ可読媒体には、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、及び他が含まれてよい。代替的に、コンピュータ可読媒体は、インターネットウェブサイトから提供されるダウンロード可能なデータ信号のような信号の形をとってよい。
本発明の更なる実施形態、特徴及び利点、並びに本発明の様々な実施形態の構造及び動作は、添付の図面を参照して以下で詳細に記載される。
本発明の実施形態によれば、コンピュータ環境における改善されたジョブスケジューリングを提供することが可能となる。
実施形態に従って、ジョブスケジューリングが実行されるコンピュータ環境を図解で説明する。 実施形態に従って、バックフィルジョブスケジューリングの図形表現である。 実施形態に従って、バックフィルジョブスケジューリングの図形表現である。 実施形態に従って、図1に示されるデータアナライザによる変更の前のジョブ依頼スクリプトを表す。 実施形態に従って、図1に示されるデータアナライザによる変更の後のジョブ依頼スクリプトを表す。 実施形態に従って、ユーザの以前のジョブを実行するのに実際に使用されたリクエストされたリソースのパーセンテージに基づき如何にしてユーザの信憑性スコアが決定され得るかを示すプロットである。 実施形態に従って、ユーザの以前のジョブを実行するのに実際に使用されたリクエストされたリソースのパーセンテージに基づき如何にしてユーザの信憑性スコアが決定され得るかを示すプロットである。 実施形態に従って、バックフィルジョブスケジューリングの間のオーバーラン決定の図形表現である。 実施形態に従って、バックフィルジョブスケジューリングの間のジョブの優先順位付けの図形表現である。 実施形態に従って、図1に示されるデータストアをポピュレートする方法のフロー図である。 実施形態に従って、ジョブスケジューリングの方法のフロー図である。 実施形態に従って、図1に示されるデータアナライザのブロック図である。
具体的な実施形態は、以下で、単なる一例として与えられている添付の図面を参照して記載される。
図1は、実施形態に従って、ジョブスケジューリングが実行されるコンピュータ環境100を図解で説明する。ここで、コンピュータ環境100は、ソースコンピュータユニット102、マスタコンピュータユニット103及びあて先コンピュータユニット104を含むハイパフォーマンスコンピューティング(HPC)環境である。コンピュータユニット(102、103及び/又は104)は、ジョブ又はアプリケーションを処理することができる1又はそれ以上のノードを有する。複数のコンピューティングノードを備えるコンピュータユニット(例えば、HPCノードのクラスタ)において、ノードは、例えば、ローカルエリアネットワーク又は他のタイプのコネクションを介して、互いに結合され得る。
マスタコンピュータユニット103は、ソースコンピュータユニット102からジョブを受け取り、あて先コンピュータユニット104による実行のためにジョブをスケジューリングする(以下でより詳細に記載される。)。マスタコンピュータユニット103は、パーサ106、ジョブスケジューラ108、及びデータ解析ユニット110を有する。データ解析ユニット110は、データアナライザ112及びデータストア114を有し、それらはいずれも、以下でより詳細に記載される。
コンピュータユニット102、103、104は、様々な異なる構成において実施可能であり、別個のコンピュータユニット(図1参照)であることができ、あるいは、様々な異なる組み合わせにおいて結合され得る。例えば、マスタコンピュータユニット103及びあて先コンピュータユニット104は、1つのコンピュータユニットにまとめられてよい。同様に、コンピュータユニット102、103、104の要素は、様々な異なる構成において実施可能である。例えば、データ解析ユニット110は、パーサ106及びジョブスケジューラ108とは異なるコンピュータユニットにおいて設けられてよい。同様に、データアナライザ112及びデータストア114は、互いに異なるコンピュータユニットにおいて設けられてよい。別個のコンピュータユニットは、例えば、ギガビットイーサネット(登録商標)のような高速リンクを介して、互いに結合されてよい。他のタイプのリンク、スイッチ又は他のコネクションがまた使用されてよく、当業者によく知られている。
図1は、マスタコンピュータユニット103への入力及びそれからの出力並びにその要素の幾つかを示す。特に、点線矢印は、データ解析ユニット110のデータストア114への入力を表し、破線矢印は、データ解析ユニット110のデータアナライザ112からの出力を表す。実線矢印は、マスタコンピュータユニット103の他の要素への入力及びそれからの出力の幾つかを表す。データアナライザ112とデータストア114との間及びパーサ106とジョブスケジューラ108との間のような、様々な他の入力、出力及びインタラクションが可能であるが、明りょうさのために図示されていないことが認識されるであろう。
ユーザは、ユーザインターフェース116、例えば、ディスプレイ上に提示されるグラフィカルユーザインターフェースを用いて、ソースコンピュータユニット102でジョブ依頼を作成する。ジョブ依頼は、通常は、実行されるべきジョブと、それらのジョブを実行するためのリクエストされているリソースとを特定する。特に、ジョブ依頼は、Perl、Python又はBashのようなプログラミング言語において記述されるジョブスクリプトを構築することによって生成され、ジョブを実行するプログラムを起動するための適切なコマンドを含む。例となるジョブスクリプトは、以下でより詳細に記載される。
ジョブ依頼122は、パーサ106によって受け取られる。夫々のジョブ依頼について、パーサ106はジョブスクリプト、アプリケーション入力及びデータファイル(集合的に点線矢印124によって表される。)をデータストア114へ出力する。データストア114から、それらは、スケジューリングの最適化のためにデータアナライザ112によって解析される。これは、後に詳細に記載されるが、あえて言うならば、最適化は、例えば、
以前に実行されたジョブからのジョブスクリプト、アプリケーション入力及びデータファイル、
それらの入力から為されたジョブスケジューラ決定及びジョブの実行からのジョブスケジューラ統計値(集合的に、参照符号128によって表される。)、
計算時間、通信時間及びI/O時間の間のバランスのような、アプリケーション性能解析データ、
内部ソース135から得られたアプリケーション実行中のデータセンターエネルギ使用量及び効率データ132、並びに
例えば、他のサイトからのデータ又は他のシステムからのアプリケーション性能特性を含む外部ソース137からの何らかの他の関連データ136
のうちの1又はそれ以上を含む、データストア114に記憶された履歴データの解析に基づく。新しいジョブ依頼が実行される場合に、ジョブスクリプト、アプリケーション入力及びデータファイル124は、データストア114に記憶されている以前に実行されたジョブに関するデータの部分になる。
最適化されたジョブ依頼126は、データアナライザ112によってジョブスケジューラ108へ出力される。ジョブスケジューラ108は、利用可能なリソースを識別すること、ジョブをスケジューリングすること、及びジョブの現在のステータスを追跡すること(集合的に、実線矢印130によって表される。)に関与する。データアナライザ112はまた、通知138、例えば、ジョブスクリプト変更を示す通知、をソースコンピュータユニット102へ出力する。
ジョブスケジューリングの方法が、これより記載される。図2A及び2Bに示されるように、ジョブスケジューリングは、2次元のチャートを用いて、この特定の例では、横軸の時間及び縦軸のプロセッサ数により、視覚的に表現可能である。夫々のジョブは、ジョブを実行するのに必要とされる、時間を表す長さ及びプロセッサ数を表す幅を有する長方形と考えられてよい。本開示に関連して、長さは、ユーザによってリクエストされた時間又は割り当てられた時間のいずれかを表すことができ、これは、それが記載される文脈から明らかである。
上述されたように、従来のバックフィルスケジューリングは、利用可能なリソース(2次元チャートにおける“ホール”)を特定し、それらのホールに適合するジョブを、ユーザによってリクエストされている必要とされるリソースに基づきスケジューリングすることによって、働く。しかし、ユーザが、必要とされるリソースを過大に見積もる場合に、ジョブは、実行されるために利用可能なリソースを待つキューにおいて、長い時間を費やすことがある。これは、非効率的なリソース利用を生じさせる。例えば、図2Aにおいて、既にスケジューリングされているジョブは、実線長方形として示されている。ジョブ204は、4時間単位の間に1ユニットのプロセッサリソースを使用するとのリクエストを伴ってユーザによって提起されている。しかしながら、バックフィルウィンドウ202における利用可能なリソースはそのリクエストを満足せず、故に、バックフィルウィンドウ202ではスケジューリングされ得ない。ここで使用されるように、語「バックフィルウィンドウ」は、待機中のジョブが実行されるとバックフィルスケジューラが計算した将来における時間を指す。ジョブのためのリソースは、バックフィルウィンドウ内で完了することができるあらゆる他のジョブを実行するようこの時間量の間に利用可能である。
実施形態において、ユーザによって提起されたジョブのバックフィルスケジューリングは、そのユーザによって為された以前のジョブ依頼に関する情報に基づく。特に、バックフィルスケジューリングは、どれくらい正確にユーザが以前のジョブを実行するのに必要とされるリソースを見積もったかを表す信憑性スコアに基づく。これは、入力ファイル及びアプリケーションランタイム設定の詳細、並びに/又はジョブのアプリケーション/プログラムについての性能情報を付加することによって、更に精緻化され得る。よって、見積もられるランウィンドウは、ジョブが早期に終了する、すなわち、リクエストされたリソースの全てを使用しない、との期待に基づき“重なり合う”ことを認められる。これを達成するよう、ジョブ依頼スクリプトは、図2Bに示されるように、ジョブをバックフィルウィンドウに収めるために変更され得る。図2Bにおいて、ジョブ204のためのリクエストされた時間は、バックフィルウィンドウに適合するために、データアナライザ112によって最適化される。ジョブスクリプトを変更する例は、図3A及び3Bを参照して以下で記載される。図3Aは、ユーザによって提起されたジョブ依頼スクリプト304を示し、図3Bは、変更されたジョブ依頼スクリプト304’を示す。
ジョブ依頼スクリプト304は、とりわけ、アプリケーション(#JOB−name run_app_sim1)、リクエストされているリソースノード(#JOB−resource nodes=4)、リクエストされているリソースコア(#JOB−resource cores=64)、ユーザ(#JOB−user eve)、及びリクエストされているランタイム(#JOB−time 02:00:00)を特定する。よって、ジョブ依頼スクリプトは、Eveは、アプリケーション“app_sim1”が、2時間で64のコア(トータルで128コア時間)により実行されることを要求していると特定する。32コア時間のバックフィルウィンドウ、すなわち、1/2時間に64のコア、しか利用可能でないとする。
然るに、データアナライザ112は、ユーザ(この例では、Eve)によってリクエストされているリソースの量が、必要とされる実際のリソースを正確に反映しているかどうかを決定する。これは、データストア114に記憶されているそのユーザ(Eve)に関連する履歴ジョブ依頼情報及び夫々のユーザについての統計値を解析することによって、行われる。実施形態において、この精度は、ユーザについての“信憑性スコア”によって表される。データストア114は、ユーザEveの信憑性スコアをクエリされる。例となるテーブルが以下に示される。
Figure 0006447120
テーブルから、Eveは低い信憑性スコアを有することが分かる。結果として、データアナライザ112は、依頼において特定されているリクエストされるリソースを変更し(又は、変更するための命令を発し)、それにより、ジョブ204’が、これより、図2Bに示されるバックフィルウィンドウにおいてスケジューリングされ得る。すなわち、予測されたランタイムは、ユーザによって見積もられたランタイムよりも短い。
変更後のジョブ依頼スクリプト304’が図3Bにおいて示される。明らかなように、リクエストされている時間についてのコマンド行は、2時間から30分に変更されている。リクエストされているリソースが変更される量は、信憑性スコアと、リクエストされているリソース又はアプリケーション性能のような他の変数とから、導出され得る。最も簡単な形において、例えば、50%の信憑性スコアを有するユーザ(すなわち、ユーザは、必要とされるリソースを2倍だけ過大に見積もる。)についてのリクエストされているリソースは、半分にされ得る。結果として、全体のリソース利用における改善は、さもなければバックフィリングされないジョブがバックフィリングされ得ることから、達成され得る。
信憑性スコアを計算する例が、これより記載される。
夫々のジョブの終わりに、リクエストされたリソース及び使用された実際のリソースが取り出され、データストア114において、例えば、以下に示されるテーブルにおいて、保存される。
Figure 0006447120
それらの値から、ジョブのために使用されたリクエストされたリソースのうちのパーセンテージが計算され得る。例えば、Bob(NameID=2)は64コア時間をリクエストしたが、使用された実際の時間も64コア時間であった。よって、ジョブに使用されたリクエストされたリソースのうちのパーセンテージは100%である。他方で、Eve(NameID=1)は1つのアプリケーション(“app_sim1”)のために256コア時間をリクエストし、他のアプリケーション(“app_sim4”)のために48コア時間をリクエストしたが、それらは実際には、夫々、実行するために64コア時間及び16コア時間しか使用しなかった(25%及び33%)。それらのパーセンテージ及び所定の関数を用いると、その場合に、信憑性スコアが算出され得る。例えば、図4に示されるように、関数は、実際に使用されたリクエストされたリソースと信憑性スコアとの間の線形マッピングであることができる。他の関数は図5に示され、下位閾値より上では線形に増大する関係を含む。そのような関数は、例えば、アプリケーションの試験フェーズ中に早期に終わるジョブを提起する開発者ユーザグループに使用されてよい。信憑性スコアが下回らない下位閾値を設定することによって、グループは、リクエストされるリソースを過大に見積もることに対して過度に厳しく不利益をもたらされない。例えば、たとえジョブがリクエストされたリソースのうちの10%しか使用しない(90%の過大見積もりに対応する。)としても、信憑性スコアは60を下回らない。関数の範囲は、使用されるリソースのパーセンテージを信憑性スコアにマッピングするよう定義され得ることが認識されるであろう(パーセンテージは、複数のパーセンテージの平均、中央値又は他の値であることができる。)。更に、異なる関数が、異なるユーザグループへ、それらがシステムを使用する方法に依存して、割り当てられ得る。
上述されたように、1つのジョブが多数のアプリケーションをそのジョブの異なるフェーズの部分として実行する状況があり得る。そのような状況では、性能情報がそのジョブを含むアプリケーションの一部又は全てについて利用可能である場合は、信憑性スコアは夫々のアプリケーションについて計算され得る。次いで、個々の信憑性スコアは、より正確なリソースリクエストを与えるよう結合されてよい。代替的に、ジョブはアプリケーションにわたって分割され得る。すなわち、アプリケーションは、対応する信憑性スコアに基づき個々にスケジューリングされ得る。
公平性を確保するよう、(変更された)バックフィリングされるジョブは、既にスケジューリングされている他のジョブを尊重することが望ましい。バックフィリングされるジョブと既にスケジューリングされているジョブとの間に潜在的な重なり合いがある場合に、オーバーラン決定が行われる必要がある臨界点が導入される。例えば、図6に示されるように、ジョブ204’は、バックフィルウィンドウに適合するよう変更されており、臨界点は時間tで到達される。2つのジョブスケジューリングオプションのうちの1つは、この時点で行われてよい。第1のオプションは、ジョブ204’を実行させ、事前に割り当てられていたジョブ205を遅延させることである。第2のオプションは、ジョブ205の優先順位を尊重することである。後者の場合に、ジョブ204’のチェックポイントは、それが一時中断され、後のインターバルでその現在の状態から再開されるように行われる。代替的に、ジョブ204’は終了され、後の時点で最初から再開され得る。
他のシナリオは、これより図7を参照して記載される。ユーザAlice、Bob及びEveは、夫々が夫々提起されたジョブ704、706,708を有する。それらはバックフィルウィンドウに適合する。ここで、Alice及びBobは、彼らのリソース利用の悪い又は平均的な推定をこれまで与えており、一方、Eveは、良好な推定をこれまで与えているが、彼女のジョブは最初にスケジューリングされるとする。Alice、Bob及びEveによって発せられたジョブは、それらが提起される順序においてキューに入れられる。最も簡単な場合では、キューにおいて下位である、高い信憑性スコアを有するユーザのジョブ、例えば、Eveのジョブ708は、キューにおいて高位にある1又はそれ以上のジョブ、ここでは、Alice及びBobのジョブ704及び706より先に、リソースを割り当てられる。
一実施形態において、信憑性スコアと、リクエストされている時間及び実行されるべきジョブについての性能情報のような他の変数とを用いる多変量解析は、夫々のジョブがバックフィルウィンドウにおいて実行される可能性を生成する。ここで、多変量解析は、リクエストされているリソース及びアプリケーション性能が、信憑性スコアに加えて、全ての利用可能なもののうちどのジョブがバックフィルウィンドウにおいて実行されるかを決定することを意味する。信憑性スコアと、バックフィルウィンドウにおいてジョブが実行され得る可能性との間には差が存在することが知られる。実際には、可能性は、リクエストされているリソースが上述されたように変更される時間の量に関係がある。この可能性は、信憑性スコアと、リクエストされているリソース又はアプリケーション性能のような他の変数とから導出され得る。可能性を用いることは、同じ信憑性スコアを有するユーザを区別するのに役立つことができる。
バックフィルウィンドウを満たそうと試みるときに、多数のユーザが同じ信憑性スコアを有する場合は、リクエストされている時間及びアプリケーション性能のような他の評価が、どのジョブが実行されるかを決定するために使用される。例えば、4人のユーザが60コア時間のバックフィルウィンドウに適合可能なジョブを提起しているとする。ユーザ及び提起されているジョブについての詳細は、以下のテーブルで与えられる。
Figure 0006447120
一実施形態において、それらのジョブのうちのどれをバックフィルウィンドウにおいて実行すべきかを選択することは、消去プロセスに従う。
第1のステップで、最悪(最低)の信憑性スコアを有するユーザが識別されて除外される。この例では、これは、信憑性スコアが40であるMaloryを除外する。
第2のステップで、利用率が、残りのジョブ(ここで、Eve、Bob及びAliceのジョブ)の夫々について計算され、最も高い利用率の値を有するジョブが選択される。利用率は、次のように定義され得る:

利用率=リクエストされたリソース/利用可能なバックフィルウィンドウ

例えば、60コア時間のバックフィルウィンドウが利用可能であるとすると、Eveのジョブ(JobID=106)は選択から除外される(利用率=30/60=0.5)。ボブのジョブ(JobID=107)及びAliceのジョブ(JobID=108)はいずれも1の利用率を有し、依然として選択のために残る。
第3のステップで、このステップは幾つかの場合に必要とされ得ないが、アプリケーション性能情報が、どのジョブがバックフィルウィンドウにおいて実行されるべきかを選択するために使用される。ある‘アプリケーション性能係数’がアプリケーションどうしを比較するために使用され、最も高い値を有するジョブが実行するために選択される。このステップから、Aliceからのジョブが除去され、ボブのジョブがバックフィルウィンドウにおいて実行される。
プロセスはこの特定の順序で実行される必要はなく、全てのステップが含まれる必要はないことが理解されるべきである。
データストアに情報をポピュレートし、捕捉されたデータを、リソース利用を最適化するために使用する方法が、これより記載される。
図8は、図1に示されるデータストア114をポピュレートする方法を示すフロー図である。方法は、次のステップを有する:
S802:HPCシステムのようなコンピュータシステムによって実行されるべきジョブがユーザから受け取られる。
S804:依頼スクリプト並びにあらゆる入力及びデータファイルがパーサ110によってパースされる。
S806:パースされたスクリプト及びファイルが、プロセスの数、リクエストされているメモリ又は他のリソース、並びに入力及びデータファイルのコピー又はハッシュシグニチャのようなジョブの特性を識別するよう、関連情報についてデータ解析モジュール112によって解析される。
S808:次いで、ジョブが、リクエストされたリソースにより実行される。大まかに言えば、ジョブは、それがリソースを用いて完了され得る場合に、それらのリソースを用いて実行され得る。そのようなリソースは、例えば、プロセッサ時間の量、プロセッサの数、メモリ使用量、入力/出力容量、等を含むことができる。
S810:ジョブの実行中に、ジョブの性能の定期的なスナップショットが、例えば、計算、メモリ、I/O及びエネルギリソースを含む、それが消費するリソースに関して、アプリケーションを特性化するために取られる。
S812:性能情報がデータストア114に格納される。取得された情報から、データ解析モジュール106は、リクエストされたリソース及び如何に効率よくそれらが使用されたかに関して、ジョブ及びその性能の特徴ピクチャ(characterising picture)を構築することができる。
S814:ユーザの信憑性スコアが、ステップS806及びS810で収集されたデータに基づき計算される。
図9は、図1に示されるデータアナライザ112によってジョブをスケジューリングする方法を示すフロー図である。方法は、次のステップを有する:
S902:HPCシステムのようなコンピュータシステムによって実行されるべきジョブがユーザから受け取られる。
S904:依頼スクリプト並びにあらゆる入力及びデータファイルがパーサ110によってパースされる。
S906:次いで、パースされたスクリプトが、ジョブパラメータを最適化するために、データストアを解析するのに使用される。これは、最適化されたパラメータを使用するようジョブ依頼を変更すること、例えば、リクエストされている時間を変更すること、を伴ってよい。
S908:次いで、ジョブが、更新されたリソースにより実行される。
方法の更なるステップは、以下を含むことができる:
S910:ジョブの実行中に、ジョブの性能の定期的なスナップショットが、例えば、計算、メモリ、I/O及びエネルギリソースを含む、それが消費するリソースに関して、アプリケーションを特性化するために取られる。
S912:性能情報に基づき、データ解析モジュール112によって為された決定のインテグリティは、最適化が期待されたとおりに実行されたかどうかを確認するために、ジョブ完了後に解析され得る。データストア114は、決定の有効性に関する評価を提供するよう、この解析の結果により更新され得る。
ステップS912をより詳細に見ると、スケジューリングされたジョブの終わりに、比較は、ジョブをスケジューリングするのに使用された推定されたリソースと、使用された実際のリソースとの間で、行われ得る。ここで、バリデーション情報は、実行からのアプリケーション性能情報が予めデータベースにフィードバックされるので、後続のジョブについて決定を行う際に直接に使用されない。むしろ、その情報は、リクエストされているリソースを変更することでどれくらいより多くのジョブが実行されたのか、又は不良決定によりどの程度ジョブが遅延されたのかといった統計値を提供することによって、バックフィルウィンドウを使用する際にデータ解析モジュールの有効性を報告するのに使用される。
図10は、実施形態に従って、図1のデータアナライザ112の実施を説明するブロック図である。
一実施形態において、データアナライザ112は、データストアにアクセスしてこれを解析し且つ最適化を提供し機能性を報告するAPIインターフェースルーチンの組を有する。より具体的には、“データストア解析”ルーチン1002は、データストア112から情報を読み出し、この情報を、例えば、信憑性スコアを計算するために、解析するよう構成される。“ジョブ設定変更”ルーチン1004は、図3A及び3Bを参照して記載されたように、“データストア解析”ルーチン1002によって決定された結果を用いてジョブ依頼設定を変更するよう構成される。“報告生成”ルーチン1006は、報告を生成するよう構成される。報告は、単純なユーザ通知、又はより詳細な報告であることができる。“決定検証”ルーチン1008は、上記のインテグリティバリデーション機能性を実施するよう構成される。
データアナライザ112は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実施されてよい。例えば、多数の可能な実施形態のうちの1つにおいて、データアナライザ112は、メモリにおいて記憶され且つプロセッサ(図示せず。)によって実行されるソフトウェアにおいて実施される。ハードウェアにおいて実施される場合に、データアナライザ112は、揮発性メモリ素子(例えば、ランダムアクセスメモリ(RAM、例えば、DRAM、SRAM、SRAM等))及び不揮発性メモリ素子(例えば、ROM、ハードドライブ、テープ、CDROM等)のいずれか1つ又は組み合わせにおいて実施され得る。メモリは、電子式、磁気式、光学式、及び/又は他の形式の記憶媒体を組み込んでよい。メモリはまた、様々なコンポーネントが互いから遠く離れて設置される分散アーキテクチャを有してよい。ハードウェアにおいて実施される場合に、代替の実施形態において見られるように、ロジックは、当該技術でよく知られている次のロジック、すなわち、データ信号に対してロジック関数を実施するロジックゲートを備えるディスクリートロジック回路、適切な組み合わせロジックゲートを備える特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)、等、のいずれか又は組み合わせにより実施されてよい。
図1に示されるシステムの設計は変更に順応できる。特に、設計は、異なるタイプの解析が、異なる(プラグ着脱可能な)データ解析モジュールによって実行されることを可能にする。これは、データアナライザ112(それ自体がプラグ着脱可能なモジュールであってよい。)に加えて、他のプラグ着脱可能なモジュールが必要に応じて作成されて実装され得るという利点を有する。関連データをデータストア内でカプセル化し、データにアクセスするよう標準インターフェースを設けることによって、幅広いそのようなモジュールが容易に作成され得る。そのようなモジュールの例には、次のものが含まれる:
・ジョブスケジューラ及び入力ファイル情報を検索し、これに基づきアプリケーションを実行すべき最良の計算リソースを自動的に選択することによって、アプリケーションの最適な性能を得るモジュール;
・アプリケーションのエネルギ利用要件を、データストアから得られるそのアプリケーションについての以前のエネルギ利用測定に基づき推定し、このエネルギ利用推定を、データセンターがその電力閾内に留まることを確かにするよう、ジョブスケジューラメトリックとして使用するモジュール;及び
・HPCシステムのどの部分が最も高い需要があるのかを報告することによってバジェット決定を方向付け、又は最も頻繁に使用されるアプリケーションについて重要なリソースボトルネックがどこにあるかを解析し識別するモジュール。
実施形態は、ランタイム制限がジョブ依頼において特定されるバックフィルスケジューリングに関連して記載されてきたが、当業者は、様々な実施形態が、他のタイプのスケジューリングに同じく適用可能であると認識するであろう。例えば、リクエストされるリソースは、プロセッサ制限、メモリ制限、入力/出力制限、等に関して特定され得る。
たとえフローチャートのブロックが順次的な順序で表されているとしても、それらのブロックは、必要に応じて、同時に、及び/又は記載されているのとは異なる順序で、実行されてもよい。また、様々なブロックは、より少ないブロックにまとめられても、更なるブロックに分けられても、及び/又は所望の実施に基づき削除されてもよい。更に、ここで開示される方法及び他のプロセスに関し、フローチャートは、本実施形態の1つの可能な実施の機能性及び動作を示す。これに関連して、夫々のブロックは、プロセスにおける特定の論理的な機能又はステップを実施するためにプロセッサによって実行可能な1又はそれ以上の命令を含むモジュール、セグメント、又はプログラムコードの部分に相当してよい。加えて、ここで開示されている方法及び他のプロセスに関して、夫々のブロックは、プロセスにおける特定の論理的な機能を実行するよう配線されている回路に相当してよい。
本発明は、例となる実施形態を参照して記載されてきたが、当業者には明らかなように、様々な改良及び変更が、本発明の適用範囲又は精神から逸脱することなしに行われ得る。例えば、一実施形態の部分として図示又は記載されている特徴は、更なる実施形態を得るよう他の実施形態とともに使用され得る。よって、本発明は、そのような改良及び変更を、添付の特許請求の範囲及びその均等の適用範囲内にあるとして含むことが意図される。
上記の実施形態に加えて、以下の付記を開示する。
(付記1)
コンピュータ環境におけるジョブスケジューリングの方法であって、
複数のユーザから受け取られたジョブ依頼に関連する履歴ジョブデータを収集し、ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータが、ジョブを実行するために当該ユーザによってリクエストされたリソースを示すリソースリクエストデータと、前記ジョブを実行するために使用された実際のリソースを示すリソース利用データとを含み、
前記複数のユーザの夫々について、当該ユーザから受け取られた1又はそれ以上のジョブ依頼に関連する前記リソースリクエストデータと前記リソース利用データとの間の比較に基づき、ジョブを実行するためにリクエストされるリソースを当該ユーザが過大に見積もる程度を示す信憑性スコアを計算し、
前記複数のユーザの1人から、実行されるべき新しいジョブと、該新しいジョブを実行するために当該ユーザによってリクエストされたリソースとを特定する新しいジョブ依頼を受け取り、
当該ユーザの前記信憑性スコアに基づき、実行のために前記新しいジョブをスケジューリングする、方法。
(付記2)
実行のために前記新しいジョブをスケジューリングすることは、当該ユーザによってリクエストされたリソースよりも少ないリソースから構成されるバックフィルウィンドウに前記新しいジョブを割り当てることを含む、
付記1に記載の方法。
(付記3)
前記バックフィルウィンドウを構成するリソースに対する当該ユーザによってリクエストされたリソースの割合に基づき、前記新しいジョブの利用率を計算し、
実行のために前記新しいジョブをスケジューリングすることは、当該ユーザの前記信憑性スコア及び前記利用率に基づく、
付記2に記載の方法。
(付記4)
前記新しいジョブは、履歴データが収集されたことがある以前に実行されたジョブに対応し、
ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータは、前記ジョブを実行することに関連する性能特性を示す性能データを更に含み、
実行のために前記新しいジョブをスケジューリングすることは、当該ユーザの前記信憑性スコア及び前記以前に実行されたジョブの前記性能データに基づく、
付記1乃至3のうちいずれか1つに記載の方法。
(付記5)
ジョブは、1又はそれ以上のアプリケーションを含み、前記複数のユーザの夫々についての前記信憑性スコアは、夫々のアプリケーションに関して計算される、
付記1乃至4のうちいずれか1つに記載の方法。
(付記6)
前記複数のユーザの夫々についての前記信憑性スコアは、以前に実行されたジョブに実際に使用されたリクエストされたリソースのうちのパーセンテージに基づき計算される、
付記1乃至5のうちいずれか1つに記載の方法。
(付記7)
前記新しいジョブ依頼は、前記複数のユーザのうちの2又はそれ以上から受け取られた複数の新しいジョブ依頼のうちの1つであり、
前記新しいジョブは、実行のためにキューにおいて順序付けられ、
実行のために前記新しいジョブをスケジューリングすることは、前記キューにおいてより高いがより低い信憑性スコアを有するユーザによって発せられる少なくとも1つの新しいジョブに対して、前記キューにおいてより低いがより高い信憑性スコアを有するユーザによって発せられる少なくとも1つの新しいジョブを優先することを含む、
付記1乃至6のうちいずれか1つに記載の方法。
(付記8)
前記新しいジョブの実行中に、前記割り当てられたリソースは前記ジョブを完了するには不十分であると決定し、前記新しいジョブを終了又は一時中断する、
付記2乃至7のうちいずれか1つに記載の方法。
(付記9)
前記新しいジョブの実行後に、前記新しいジョブを実行するために使用された実際のリソースと前記割り当てられたリソースとの間の比較に基づき前記スケジューリングの精度を決定する、
付記2乃至8のうちいずれか1つに記載の方法。
(付記10)
データ解析モジュールを備え、該データ解析モジュールは、
複数のユーザから受け取られたジョブ依頼に関連する履歴ジョブデータにアクセスし、ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータが、ジョブを実行するために当該ユーザによってリクエストされたリソースを示すリソースリクエストデータと、前記ジョブを実行するために使用された実際のリソースを示すリソース利用データとを含み、
前記複数のユーザの夫々について、当該ユーザから受け取られた1又はそれ以上のジョブ依頼に関連する前記リソースリクエストデータと前記リソース利用データとの間の比較に基づき、ジョブを実行するためにリクエストされるリソースを当該ユーザが過大に見積もる程度を示す信憑性スコアを計算する
よう構成される、データアナライザ。
(付記11)
前記信憑性スコアに基づきユーザから受け取られた新しいジョブ依頼を変更するよう構成されるジョブ依頼変更モジュール
を更に有する、付記10に記載のデータアナライザ。
(付記12)
付記10又は11に記載のデータアナライザと、
複数のユーザから受け取られたジョブ依頼に関連する履歴ジョブデータを記憶するよう構成されるデータベースと
を備え、
ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータが、ジョブを実行するために当該ユーザによってリクエストされたリソースを示すリソースリクエストデータと、前記ジョブを実行するために使用された実際のリソースを示すリソース利用データとを含む、データ解析装置。
(付記13)
ジョブをスケジューリングするよう構成されるスケジューラと、
付記12に記載のデータ解析装置と、
スケジューリングされたジョブを実行するよう構成されるコンピューティングリソースと
を備えるコンピュータシステム。
(付記14)
コンピュータによって実行される場合に、該コンピュータに、付記1乃至9のうちいずれか1つに記載の方法を実行させる
コンピュータ可読コードを担持するコンピュータ可読媒体。
100 コンピュータ環境
108 ジョブスケジューラ
110 データ解析ユニット
112 データアナライザ
114 データストア
122 ジョブ依頼
202 バックフィルウィンドウ
204,205 ジョブ

Claims (15)

  1. コンピュータ環境におけるジョブスケジューリングのための装置の作動方法であって、
    複数のユーザから受け取られたジョブ依頼に関連する履歴ジョブデータを収集し、ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータが、ジョブを実行するために当該ユーザによってリクエストされたリソースを示すリソースリクエストデータと、前記ジョブを実行するために使用された実際のリソースを示すリソース利用データとを含み、
    前記複数のユーザの夫々について、当該ユーザから受け取られた1又はそれ以上のジョブ依頼に関して前記リソースリクエストデータで示されているリソースに対する前記リソース利用データで示されている実際のリソースの割合を求め該割合に所定の関数を適用して、当該ユーザが以前にどれくらい正確にジョブ実ためリソースを見積もることができたかという当該ユーザの信憑性を示す信憑性スコアを算出し、
    前記複数のユーザの1人から、実行されるべき新しいジョブと、該新しいジョブを実行するために当該ユーザによってリクエストされたリソースとを特定する新しいジョブ依頼を受け取り、
    当該ユーザの前記信憑性スコアに基づき、実行のために前記新しいジョブをスケジューリングする、方法。
  2. 実行のために前記新しいジョブをスケジューリングすることは、当該ユーザによってリクエストされたリソースよりも少ないリソースから構成されるバックフィルウィンドウに前記新しいジョブを割り当てることを含む、
    請求項1に記載の方法。
  3. 前記新しいジョブの利用率として、前記バックフィルウィンドウを構成するリソースに対する当該ユーザによってリクエストされたリソースの割合を計算し、
    実行のために前記新しいジョブをスケジューリングすることは、当該ユーザの前記信憑性スコア及び前記利用率に基づく、
    請求項2に記載の方法。
  4. 前記新しいジョブは、履歴データが収集されたことがある以前に実行されたジョブに対応し、
    ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータは、前記ジョブを実行することに関連する性能特性を示す性能データを更に含み、
    実行のために前記新しいジョブをスケジューリングすることは、当該ユーザの前記信憑性スコア及び前記以前に実行されたジョブの前記性能データに基づく、
    請求項1乃至3のうちいずれか一項に記載の方法。
  5. ジョブは、1又はそれ以上のアプリケーションを含み、前記複数のユーザの夫々についての前記信憑性スコアは、夫々のアプリケーションに関して計算される、
    請求項1乃至4のうちいずれか一項に記載の方法。
  6. 前記複数のユーザの夫々についての前記信憑性スコアは、以前に実行されたジョブに関して当該ユーザによってリクエストされたリソースのうちのどれくらいの割合が実際に使用されたに基づき計算される、
    請求項1乃至5のうちいずれか一項に記載の方法。
  7. 前記新しいジョブ依頼は、前記複数のユーザのうちの2又はそれ以上から受け取られた複数の新しいジョブ依頼のうちの1つであり、
    前記新しいジョブは、実行のためにキューにおいて順序付けられ、
    実行のために前記新しいジョブをスケジューリングすることは、前記新しいジョブを、前記キューにおける順序付けに関わらず、前記新しいジョブに関連するユーザの信憑性スコアに応じて、他のジョブよりも優先することを含む、
    請求項1乃至6のうちいずれか一項に記載の方法。
  8. 前記新しいジョブの実行中に、バックフィルウィンドウにおいて前記新しいジョブを割り当てられたリソースは該新しいジョブを完了するには不十分であると決定し、前記新しいジョブを終了又は一時中断する、
    請求項2乃至7のうちいずれか一項に記載の方法。
  9. 前記新しいジョブの実行後に、前記新しいジョブを実行するために使用された実際のリソースと、バックフィルウィンドウにおいて前記新しいジョブを割り当てられたリソースとの間の比較に基づき前記スケジューリングの有効性を確認する、
    請求項2乃至8のうちいずれか一項に記載の方法。
  10. 前記新しいジョブ依頼は、前記新しいジョブと、該新しいジョブを実行するための前記リクエストされたリソースとを特定するスクリプトを含み、
    前記新しいジョブをスケジューリングすることは、前記新しいジョブ依頼においてリクエストされているリソースを低減するように前記スクリプトを夫々のユーザの前記信憑性スコアに基づき変更し、該変更されたスクリプトを用いて実行のために前記新しいジョブをスケジューリングすることを含む、
    請求項1に記載の方法。
  11. データ解析モジュールを備え、該データ解析モジュールは、
    複数のユーザから受け取られたジョブ依頼に関連する履歴ジョブデータにアクセスし、ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータが、ジョブを実行するために当該ユーザによってリクエストされたリソースを示すリソースリクエストデータと、前記ジョブを実行するために使用された実際のリソースを示すリソース利用データとを含み、
    前記複数のユーザの夫々について、当該ユーザから受け取られた1又はそれ以上のジョブ依頼に関して前記リソースリクエストデータで示されているリソースに対する前記リソース利用データで示されている実際のリソースの割合を求め該割合に所定の関数を適用して、当該ユーザが以前にどれくらい正確にジョブ実ためリソースを見積もることができたかという当該ユーザの信憑性を示す信憑性スコアを算出する
    よう構成される、データアナライザ。
  12. 前記信憑性スコアに基づきユーザから受け取られた新しいジョブ依頼を変更するよう構成されるジョブ依頼変更モジュール
    を更に有する、請求項11に記載のデータアナライザ。
  13. 請求項11又は12に記載のデータアナライザと、
    複数のユーザから受け取られたジョブ依頼に関連する履歴ジョブデータを記憶するよう構成されるデータベースと
    を備え、
    ユーザから受け取られたジョブ依頼に関連する前記履歴ジョブデータが、ジョブを実行するために当該ユーザによってリクエストされたリソースを示すリソースリクエストデータと、前記ジョブを実行するために使用された実際のリソースを示すリソース利用データとを含む、データ解析装置。
  14. ジョブをスケジューリングするよう構成されるスケジューラと、
    請求項13に記載のデータ解析装置と、
    スケジューリングされたジョブを実行するよう構成されるコンピューティングリソースと
    を備えるコンピュータシステム。
  15. コンピュータによって実行される場合に、該コンピュータに、請求項1乃至10のうちいずれか一項に記載の方法を実行させる
    コンピュータ可読コードを担持するコンピュータ可読媒体。
JP2014264453A 2014-01-10 2014-12-26 ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体 Active JP6447120B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14150831.7A EP2894564A1 (en) 2014-01-10 2014-01-10 Job scheduling based on historical job data
EP14150831.7 2014-01-10

Publications (2)

Publication Number Publication Date
JP2015133112A JP2015133112A (ja) 2015-07-23
JP6447120B2 true JP6447120B2 (ja) 2019-01-09

Family

ID=49949526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014264453A Active JP6447120B2 (ja) 2014-01-10 2014-12-26 ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体

Country Status (3)

Country Link
US (1) US9430288B2 (ja)
EP (1) EP2894564A1 (ja)
JP (1) JP6447120B2 (ja)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856793B2 (en) * 2004-05-11 2014-10-07 International Business Machines Corporation System, method and program for scheduling computer program jobs
US9652294B2 (en) 2013-11-25 2017-05-16 International Business Machines Corporation Cross-platform workload processing
US9626226B2 (en) * 2013-11-25 2017-04-18 International Business Machines Corporation Cross-platform workload processing
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9886311B2 (en) * 2015-04-24 2018-02-06 International Business Machines Corporation Job scheduling management
WO2016188706A1 (en) * 2015-05-22 2016-12-01 British Telecommunications Public Limited Company Network resource management
US20170032000A1 (en) * 2015-07-28 2017-02-02 Bank Of America Corporation Database manager
US10509683B2 (en) 2015-09-25 2019-12-17 Microsoft Technology Licensing, Llc Modeling resource usage for a job
CN106686619B (zh) * 2015-11-06 2020-02-07 大唐移动通信设备有限公司 一种性能评估方法和设备
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US20170235608A1 (en) * 2016-02-16 2017-08-17 Linkedin Corporation Automatic response to inefficient jobs in data processing clusters
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10152360B2 (en) * 2016-04-22 2018-12-11 Schneider Electric Software, Llc Coordinating event-driven object execution
US10282229B2 (en) * 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
JP6953800B2 (ja) 2016-07-08 2021-10-27 富士通株式会社 シミュレーションジョブを実行するためのシステム、コントローラ、方法、及びプログラム
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
JP6646754B2 (ja) * 2016-09-30 2020-02-14 株式会社日立製作所 ジョブスケジューリングシステム、ジョブスケジューリング方法、およびジョブスケジューリング装置
US11099890B2 (en) * 2016-12-13 2021-08-24 Intel Corporation Devices and methods for prioritized resource allocation based on communication channel conditions
US10430300B2 (en) 2017-06-05 2019-10-01 Bank Of America Corporation Predictive analysis, scheduling and observation system for use with loading multiple files
US11573831B2 (en) * 2017-06-20 2023-02-07 International Business Machines Corporation Optimizing resource usage in distributed computing environments by dynamically adjusting resource unit size
US10541939B2 (en) * 2017-08-15 2020-01-21 Google Llc Systems and methods for provision of a guaranteed batch
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11553047B2 (en) 2018-11-30 2023-01-10 International Business Machines Corporation Dynamic connection capacity management
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
GB2580178B (en) * 2018-12-21 2021-12-15 Imagination Tech Ltd Scheduling tasks in a processor
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US10956215B2 (en) * 2019-02-18 2021-03-23 International Business Machines Corporation Predictive job admission control with feedback
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11099891B2 (en) 2019-04-22 2021-08-24 International Business Machines Corporation Scheduling requests based on resource information
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11360822B2 (en) 2019-09-12 2022-06-14 Bank Of America Corporation Intelligent resource allocation agent for cluster computing
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US20210133378A1 (en) * 2019-11-06 2021-05-06 OnScale, Inc. Methods and systems for the estimation of the computational cost of simulation
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
CN112131607B (zh) * 2020-09-25 2022-07-08 腾讯科技(深圳)有限公司 资源数据处理方法、装置、计算机设备和存储介质
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11556387B2 (en) 2020-12-03 2023-01-17 International Business Machines Corporation Scheduling jobs
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
TR2021022159A2 (tr) * 2021-12-31 2022-01-21 Univ Istanbul Gelisim Fpga tabanli hi̇bri̇t sezgi̇sel arama algori̇tmalarina dayali i̇ş siralama ci̇hazi ve algori̇tmasi
CN117407149A (zh) * 2022-07-08 2024-01-16 微软技术许可有限责任公司 处理单元的资源利用

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442730A (en) 1993-10-08 1995-08-15 International Business Machines Corporation Adaptive job scheduling using neural network priority functions
US6889243B1 (en) * 1995-04-13 2005-05-03 Hitachi, Ltd. Job scheduling analysis method and system using historical job execution data
JP3959516B2 (ja) * 2001-08-06 2007-08-15 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム
US20030061260A1 (en) * 2001-09-25 2003-03-27 Timesys Corporation Resource reservation and priority management
US20050055694A1 (en) * 2003-09-04 2005-03-10 Hewlett-Packard Development Company, Lp Dynamic load balancing resource allocation
CN1297894C (zh) * 2003-09-30 2007-01-31 国际商业机器公司 用于调度作业的方法、调度器以及网络计算机系统
US20050149940A1 (en) * 2003-12-31 2005-07-07 Sychron Inc. System Providing Methodology for Policy-Based Resource Allocation
US20050198636A1 (en) * 2004-02-26 2005-09-08 International Business Machines Corporation Dynamic optimization of batch processing
WO2005089241A2 (en) * 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing object triggers
US8261283B2 (en) * 2005-02-16 2012-09-04 Yissum Research Development Company Of Hebrew University Of Jerusalem System and method for backfilling with system-generated predictions rather than user runtime estimates
US7958509B2 (en) * 2005-12-21 2011-06-07 International Business Machines Corporation Method and system for scheduling of jobs
US8458712B2 (en) * 2008-04-30 2013-06-04 International Business Machines Corporation System and method for multi-level preemption scheduling in high performance processing
US20100131959A1 (en) * 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
US8060617B2 (en) * 2008-12-19 2011-11-15 Cisco Technology, Inc. Reserving network resources during scheduling of meeting event
WO2011131211A1 (en) * 2010-04-19 2011-10-27 Telefonaktiebolaget L M Ericsson (Publ) Pre-scheduling of quality of service reservation
US8438570B2 (en) 2010-07-31 2013-05-07 International Business Machines Corporation Resource allocator with knowledge-based optimization
US20140137122A1 (en) * 2012-11-13 2014-05-15 David A. Egolf Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements
US8689220B2 (en) * 2011-11-30 2014-04-01 International Business Machines Corporation Job scheduling to balance energy consumption and schedule performance
US20130159376A1 (en) * 2011-12-15 2013-06-20 Charles Moore Systems and methods for a computing resource broker agent
US8549570B2 (en) * 2012-02-23 2013-10-01 Ericsson Television Inc. Methods and apparatus for managing network resources used by multimedia streams in a virtual pipe
US8972579B2 (en) * 2012-09-06 2015-03-03 Hewlett-Packard Development Company, L.P. Resource sharing in computer clusters according to objectives
US20140359113A1 (en) * 2013-05-30 2014-12-04 Sap Ag Application level based resource management in multi-tenant applications

Also Published As

Publication number Publication date
US9430288B2 (en) 2016-08-30
US20150199218A1 (en) 2015-07-16
JP2015133112A (ja) 2015-07-23
EP2894564A1 (en) 2015-07-15

Similar Documents

Publication Publication Date Title
JP6447120B2 (ja) ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体
US10831633B2 (en) Methods, apparatuses, and systems for workflow run-time prediction in a distributed computing system
Park et al. 3sigma: distribution-based cluster scheduling for runtime uncertainty
US9875135B2 (en) Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment
JP6953800B2 (ja) シミュレーションジョブを実行するためのシステム、コントローラ、方法、及びプログラム
US20130339973A1 (en) Finding resource bottlenecks with low-frequency sampled data
US8756307B1 (en) Translating service level objectives to system metrics
US9423957B2 (en) Adaptive system provisioning
US11966778B2 (en) Cloud application scaler
US9875169B2 (en) Modeling real capacity consumption changes using process-level data
US11150999B2 (en) Method, device, and computer program product for scheduling backup jobs
CN110659137B (zh) 针对离线任务的处理资源分配方法及系统
CN108205469B (zh) 一种基于MapReduce的资源分配方法及服务器
CN115269108A (zh) 一种数据处理方法、装置及设备
Çavdar et al. Quantifying the brown side of priority schedulers: Lessons from big clusters
US9111022B2 (en) Simulation techniques for predicting in-memory database systems performance
JP7319196B2 (ja) 車両スケジューリングのために車両相互依存性を解決するためのコンピュータ化されたシステムおよび方法
US20160299787A1 (en) System, method and managing device
CN114356571A (zh) 一种处理方法及装置
KR20240019403A (ko) 데이터 질의들의 예상 사전 실행
JP6753521B2 (ja) 計算資源管理装置、計算資源管理方法、及びプログラム
US20180341521A1 (en) Managing job schedules
US20230004440A1 (en) Allocating of computing resources for applications
Lin Optimizing the Cost and Performance for Batch jobs on HPC by Utilizing Swap Space
Park Distribution-based cluster scheduling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180813

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181119

R150 Certificate of patent or registration of utility model

Ref document number: 6447120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150