(57)【要約】  分散システム資源配分方法、装置、及びシステムが、本出願の実施形態において提供される。この方法は、資源スケジューリングサーバによって送信された資源先取りリクエストを受信することであって、資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含む、受信することと、第１のジョブ管理サーバに対応し、及び資源先取りリクエスト内に含まれるジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することと、決定された返却されるべき資源及び資源返却デッドライン、並びに第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に資源スケジューリングサーバに返却されるべき資源を返却することと、を含む。本出願の実施形態において提供される方法を用いて、システム資源の利用を効果的に向上させることができ、且つ資源の無駄を減らすことができる。
2020531967.tif 000002
【特許請求の範囲】
【請求項１】
資源スケジューリングサーバ、第１のジョブ管理サーバ、及び第２のジョブ管理サーバを含む分散資源配分システムであって、
前記第１のジョブ管理サーバが、資源申請リクエストを前記資源スケジューリングサーバに送信するように構成され、及び前記資源申請リクエストが、前記第１のジョブ管理サーバのジョブ実行情報を少なくとも含み、
前記資源スケジューリングサーバが、資源先取り条件が満たされたと判断された場合に、資源先取りに関する前記第１のジョブ管理サーバ及び資源返却に関する前記第２のジョブ管理サーバを決定することと、資源返却に関する前記第２のジョブ管理サーバに資源先取りリクエストを送信することであって、前記資源先取りリクエストが、資源先取りに関する前記第１のジョブ管理サーバに対応する前記ジョブ実行情報を少なくとも含む、送信することと、資源返却に関する前記第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び前記資源返却リクエストに対応する資源を資源先取りに関する前記第１のジョブ管理サーバに配分することと、を行うように構成され、
前記第２のジョブ管理サーバが、前記資源スケジューリングサーバによって送信された前記資源先取りリクエストを受信し、並びに前記第１のジョブ管理サーバに対応し、及び前記資源先取りリクエストに含まれる前記ジョブ実行情報に応じて、前記第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することと、前記決定された返却されるべき資源及び資源返却デッドライン、並びに前記第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、前記資源返却デッドラインの満了前に、前記資源スケジューリングサーバに対して前記返却されるべき資源を返却することと、を行うように構成される、
分散資源配分システム。
【請求項２】
第２のジョブ管理サーバに適用される分散システム資源配分方法であって、
資源スケジューリングサーバによって送信された資源先取りリクエストを受信することであって、前記資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含む、受信することと、
前記第１のジョブ管理サーバに対応する前記ジョブ実行情報に応じて、前記第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することと、
前記決定された返却されるべき資源及び資源返却デッドライン、並びに前記第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、前記資源返却デッドラインの満了前に前記資源スケジューリングサーバに対して前記返却されるべき資源を返却することと、
を含む、方法。
【請求項３】
前記第１のジョブ管理サーバに対応する前記ジョブ実行情報が、前記ジョブの出力デッドライン及び前記ジョブの実行時間を含み、並びに前記第１のジョブ管理サーバに対応し、及び前記資源先取りリクエストに含まれる前記ジョブ実行情報に応じて、前記第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを前記決定することが、
前記ジョブの前記出力デッドラインと前記ジョブの前記実行時間との間の差に応じて前記ジョブの資源取得デッドラインを取得することと、前記ジョブの前記資源取得デッドラインを前記第２のジョブ管理サーバの前記資源返却デッドラインと見なすことと、
を含む、請求項２に記載の方法。
【請求項４】
前記決定された資源返却デッドライン及び前記第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、前記資源返却デッドラインの満了前に、前記資源スケジューリングサーバに対して前記返却されるべき資源を前記返却することが、
前記第２のジョブ管理サーバの前記現在のジョブ実行進捗に応じて、計算によって、前記現在のジョブの完了のための残り時間を取得することと、
前記現在の時刻及び前記現在のジョブの完了のための前記残り時間の合計が、前記資源返却デッドラインを越えないと判断された場合に、前記第２のジョブ管理サーバによって、前記現在のジョブの実行が完了した後に、前記資源スケジューリングサーバに対して前記返却されるべき資源を返却することと、
を含む、請求項２に記載の方法。
【請求項５】
前記決定された資源返却デッドライン及び前記第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、前記資源返却デッドラインの満了前に、前記資源スケジューリングサーバに対して前記返却されるべき資源を前記返却することが、
前記第２のジョブ管理サーバの前記現在のジョブ実行進捗に応じて、計算によって、前記現在のジョブの完了のための残り時間を取得することと、
前記現在の時刻及び前記現在のジョブの完了のための前記残り時間の合計が、前記資源返却デッドラインを越えると判断された場合に、前記第２のジョブ管理サーバが、前記現在のジョブをバックアップし、バックアップ位置を記録し、及び前記バックアップの完了後に前記資源スケジューリングサーバに対して前記返却されるべき資源を返却することと、
を含む、請求項２に記載の方法。
【請求項６】
前記資源スケジューリングサーバによって再配分された資源を受信することと、前記現在のジョブの前記バックアップを獲得することと、前記バックアップ位置から前記現在のジョブの前記実行を再開することと、
をさらに含む、請求項５に記載の方法。
【請求項７】
資源スケジューリングサーバに適用される分散システム資源配分方法であって、
資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定することと、
資源返却に関する前記第２のジョブ管理サーバに資源先取りリクエストを送信することであって、前記資源先取りリクエストが、資源先取りに関する前記第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含む、送信することと、
資源返却に関する前記第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び前記資源返却リクエストに対応する資源を資源先取りに関する前記第１のジョブ管理サーバに配分することと、
を含む、方法。
【請求項８】
資源先取り条件が満たされたと前記判断することが、
前記受信された資源申請リクエストの優先度が高く、且つ前記システムの残りの利用可能な資源の数量が、前記資源申請リクエストによって要求された資源の数量よりも少ないと決定された場合に、前記資源先取り条件が満たされたと判断することを含む、請求項７に記載の方法。
【請求項９】
前記第１のジョブ管理サーバに対応する前記ジョブ実行情報が、前記ジョブの出力デッドライン及び前記ジョブの実行時間を含み、又は前記ジョブ実行情報が、前記ジョブの資源取得デッドラインを含む、請求項７又は８に記載の方法。
【請求項１０】
前記第１のジョブ管理サーバの前記資源申請リクエストが、前記ジョブの前記出力デッドラインを含み、前記ジョブの前記実行時間が、
前記ジョブの履歴データを獲得すること、及び前記ジョブの前記履歴データに応じて、計算によって前記ジョブの前記実行時間を取得すること、
によって決定され、並びに
前記ジョブの前記資源取得デッドラインが、
前記ジョブの前記出力デッドラインと前記ジョブの前記実行時間との間の差に応じて前記ジョブの前記資源取得デッドラインを取得すること、
によって決定される、請求項９に記載の方法。
【請求項１１】
第１のジョブ管理サーバに適用される分散システム資源配分方法であって、
資源スケジューリングサーバに資源申請リクエストを送信することであって、前記資源申請リクエストが、ジョブの出力デッドライン又は前記ジョブの資源取得デッドラインを少なくとも含む、送信することと、
前記資源スケジューリングサーバによって送信された資源配分リクエストを受信し、及び前記資源配分リクエストに対応する資源を獲得することと、
を含む、方法。
【請求項１２】
第２のジョブ管理サーバであって、
資源スケジューリングサーバによって送信された資源先取りリクエストを受信するように構成された受信ユニットであって、前記資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含む、受信ユニットと、
前記第１のジョブ管理サーバに対応し、及び前記資源先取りリクエストに含まれる前記ジョブ実行情報に応じて、前記第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定するように構成された決定ユニットと、
前記決定された資源返却デッドライン及び前記第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、前記資源返却デッドラインの満了前に前記資源スケジューリングサーバに対して前記返却されるべき資源を返却するように構成された資源返却ユニットと、
を含む、第２のジョブ管理サーバ。
【請求項１３】
資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定するように構成された決定ユニットと、
資源返却に関する前記第２のジョブ管理サーバに資源先取りリクエストを送信するように構成された送信ユニットであって、前記資源先取りリクエストが、資源先取りに関する前記第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含む、送信ユニットと、
資源返却に関する前記第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び前記資源返却リクエストに対応する資源を資源先取りに関する前記第１のジョブ管理サーバに配分するように構成された配分ユニットと、
を含む資源スケジューリングサーバ。
【請求項１４】
資源申請リクエストを資源スケジューリングサーバに送信するように構成された送信ユニットであって、前記資源申請リクエストが、ジョブの出力デッドライン又は前記ジョブの資源取得デッドラインを少なくとも含む、送信ユニットと、
前記資源スケジューリングサーバによって送信された資源配分リクエストを受信し、及び前記資源配分リクエストに対応する資源を獲得するように構成された受信ユニットと、
を含む、第１のジョブ管理サーバ。
【請求項１５】
メモリ及び１つ又は複数のプログラムを含む資源配分のための装置であって、前記１つ又は複数のプログラムが、前記メモリに保存され、及び１つ又は複数のプロセッサによって実行されるように構成され、並びに前記１つ又は複数のプログラムが、以下の動作：
資源スケジューリングサーバによって送信された資源先取りリクエストを受信することであって、前記資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含む、受信することと、
前記第１のジョブ管理サーバに対応し、及び前記資源先取りリクエストに含まれる前記ジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することと、
前記決定された資源返却デッドライン及び前記第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、前記資源返却デッドラインの満了前に前記資源スケジューリングサーバに対して前記返却されるべき資源を返却することと、
を行うための命令を含む、装置。
【請求項１６】
メモリ及び１つ又は複数のプログラムを含む資源配分のための装置であって、前記１つ又は複数のプログラムが、前記メモリに保存され、及び１つ又は複数のプロセッサによって実行されるように構成され、並びに前記１つ又は複数のプログラムが、以下の動作：
資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定することと、
資源返却に関する前記第２のジョブ管理サーバに資源先取りリクエストを送信することであって、前記資源先取りリクエストが、資源先取りに関する前記第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含む、送信することと、
資源返却に関する前記第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び前記資源返却リクエストに対応する資源を資源先取りに関する前記第１のジョブ管理サーバに配分することと、
を行うための命令を含む、装置。
【請求項１７】
メモリ及び１つ又は複数のプログラムを含む資源配分のための装置であって、前記１つ又は複数のプログラムが、前記メモリに保存され、及び１つ又は複数のプロセッサによって実行されるように構成され、並びに前記１つ又は複数のプログラムが、以下の動作：
資源スケジューリングサーバに資源申請リクエストを送信することであって、前記資源申請リクエストが、ジョブの出力デッドライン又は前記ジョブの資源取得デッドラインを少なくとも含む、送信することと、
前記資源スケジューリングサーバによって送信された資源配分リクエストを受信し、及び前記資源配分リクエストに対応する資源を獲得することと、
を行うための命令を含む、装置。
【請求項１８】
命令を保存するマシン可読媒体であって、前記命令が、１つ又は複数のプロセッサによって実行されると、装置が、請求項２〜６の１つに記載の前記資源配分方法を行わせられる、マシン可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１７年８月２４日に出願され、及び「分散システム資源配分の方法、装置、及びシステム」という名称の、その全体が本明細書に援用される中国特許出願第２０１７１０７３７５１６．８号に対する優先権を主張するものである。
【０００２】
技術分野
本出願の実施形態は、コンピュータ技術の分野、特に、分散システム資源配分の方法、装置、及びシステムに関する。
【背景技術】
【０００３】
技術背景
分散システムでは、ジョブノードが資源を申請する必要がある場合、ジョブ管理サーバは、ジョブノードによって使用するための特定数のマシン資源を申請するために、資源スケジューリングサーバに資源申請リクエストを送信し得る。資源申請リクエストの受信後に、資源スケジューリングサーバは、分散システムにおける残りの利用可能な資源に応じて、ジョブ管理サーバに配分することができる利用可能な資源を計算し、利用可能な資源のリストを生成し、及び利用可能な資源のリストをジョブ管理サーバに送信し得る。利用可能な資源のリストの受信後に、ジョブ管理サーバは、ジョブプログラムを実行するための対応するマシンノードにジョブノードを配分し得る。
【０００４】
あるクラスタの全資源は、多くの場合、分散システムにおいて使い尽くされることがあり、これは、資源申請の待ち行列管理につながる。一般に、資源申請リクエストは、優先度に応じて待ち行列に入れられ、資源リクエストは、定期的に待ち行列から取り出され、及び資源の配分を要求するために再提出され得る。待ち行列では、優先度の高い資源リクエストが最高位にランク付けされ、及び優先度の低い資源リクエストが最下位にランク付けされる。資源スケジューリングサーバが、即時の資源配分を必要とする優先度の高い資源申請リクエストを受信すると、資源スケジューリングサーバは、優先度の高い資源申請によって資源が迅速に取得され得ることを確実にするために、優先度の低いジョブ資源を強引にリサイクルし、その結果、優先度の高い資源申請が優先度の低いジョブ資源を先取りすることを可能にし得る。
【０００５】
研究時に、本出願人は、優先度の低いジョブの資源が優先度の高い資源申請によって先取りされると、資源スケジューリングサーバが、優先度の低いジョブの資源を直ちにリサイクルし得る（この場合、実行中の優先度の低いジョブのプログラムが、直ちに且つ強制的に終了させられ得る）ことを発見した。優先度の低いジョブのほとんどが実行済みであった場合、ジョブの即時終了方法は、資源が再び取得された後に、優先度の低いジョブを最初からやり直すことを必要とし、これは、システム全体の資源利用効率を低下させる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
発明の概要
分散システム資源配分の方法、装置、及びシステムが、本出願の実施形態において提供され、これにより、資源先取り（resource preemption）に関するジョブ管理サーバのジョブ実行情報、及び資源返却（resource return）に関するジョブ管理サーバの現在のジョブ実行進捗に応じて、資源を返却する時刻を決定することができ、その結果、システム資源の利用が効果的に向上し、且つ資源の無駄が減る。
【０００７】
この目的のために、以下の技術的解決策が、本出願の実施形態において提供される。
【課題を解決するための手段】
【０００８】
第１の局面では、本出願の実施形態において、資源スケジューリングサーバ、第１のジョブ管理サーバ、及び第２のジョブ管理サーバを含む分散資源配分システムであって、第１のジョブ管理サーバが、資源申請リクエストを資源スケジューリングサーバに送信するように構成され、及び資源申請リクエストが、第１のジョブ管理サーバのジョブ実行情報を少なくとも含み、資源スケジューリングサーバが、資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定することと、資源返却に関する第２のジョブ管理サーバに資源先取りリクエストを送信することであって、資源先取りリクエストが、資源先取りに関する第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含む、送信することと、資源返却に関する第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び資源返却リクエストに対応する資源を資源先取りに関する第１のジョブ管理サーバに配分することと、を行うように構成され、第２のジョブ管理サーバが、資源スケジューリングサーバによって送信された資源先取りリクエストを受信し、並びに第１のジョブ管理サーバに対応し、及び資源先取りリクエストに含まれるジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することと、決定された資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に、資源スケジューリングサーバに返却されるべき資源を返却することと、を行うように構成される、分散資源配分システムが提供される。
【０００９】
第２の局面では、本出願の実施形態において、資源スケジューリングサーバによって送信された資源先取りリクエストを受信することであって、資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含む、受信することと、第１のジョブ管理サーバに対応し、及び資源先取りリクエストに含まれるジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することと、決定された資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に資源スケジューリングサーバに返却されるべき資源を返却することと、を含む、第２のジョブ管理サーバに適用される分散システム資源配分方法が提供される。
【００１０】
第３の局面では、本出願の実施形態において、資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定することと、資源返却に関する第２のジョブ管理サーバに資源先取りリクエストを送信することであって、資源先取りリクエストが、資源先取りに関する第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含む、送信することと、資源返却に関する第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び資源返却リクエストに対応する資源を資源先取りに関する第１のジョブ管理サーバに配分することと、を含む、資源スケジューリングサーバに適用される分散システム資源配分方法が提供される。
【００１１】
第４の局面では、本出願の実施形態において、資源スケジューリングサーバに資源申請リクエストを送信することであって、資源申請リクエストが、ジョブの出力デッドライン又はジョブの資源取得デッドラインを少なくとも含む、送信することと、資源スケジューリングサーバによって送信された資源配分リクエストを受信し、及び資源配分リクエストに対応する資源を獲得することと、を含む、第１のジョブ管理サーバに適用される分散システム資源配分方法が提供される。
【００１２】
第５の局面では、本出願の実施形態において、資源スケジューリングサーバによって送信された資源先取りリクエストを受信するように構成された受信ユニットであって、資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含む、受信ユニットと、第１のジョブ管理サーバに対応し、及び資源先取りリクエストに含まれるジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定するように構成された決定ユニットと、決定された資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に資源スケジューリングサーバに返却されるべき資源を返却するように構成された資源返却ユニットと、を含む第２のジョブ管理サーバが提供される。
【００１３】
第６の局面では、本出願の実施形態において、資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定するように構成された決定ユニットと、資源返却に関する第２のジョブ管理サーバに資源先取りリクエストを送信するように構成された送信ユニットであって、資源先取りリクエストが、資源先取りに関する第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含む、送信ユニットと、資源返却に関する第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び資源返却リクエストに対応する資源を資源先取りに関する第１のジョブ管理サーバに配分するように構成された配分ユニットと、を含む資源スケジューリングサーバが提供される。
【００１４】
第７の局面では、本出願の実施形態において、資源申請リクエストを資源スケジューリングサーバに送信するように構成された送信ユニットであって、資源申請リクエストが、ジョブの出力デッドライン又はジョブの資源取得デッドラインを少なくとも含む、送信ユニットと、資源スケジューリングサーバによって送信された資源配分リクエストを受信し、及び資源配分リクエストに対応する資源を獲得するように構成された受信ユニットと、を含む第１のジョブ管理サーバが提供される。
【００１５】
第８の局面では、本出願の実施形態において、メモリ及び１つ又は複数のプログラムを含む資源配分のための装置であって、１つ又は複数のプログラムが、メモリに保存され、及び１つ又は複数のプロセッサによって実行されるように構成され、並びに１つ又は複数のプログラムが、以下の動作：資源スケジューリングサーバによって送信された資源先取りリクエストを受信することであって、資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含む、受信することと、第１のジョブ管理サーバに対応し、及び資源先取りリクエストに含まれるジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することと、決定された資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に資源スケジューリングサーバに返却されるべき資源を返却することと、を行うための命令を含む、装置が提供される。
【００１６】
第９の局面では、本出願の実施形態において、メモリ及び１つ又は複数のプログラムを含む資源配分のための装置であって、１つ又は複数のプログラムが、メモリに保存され、及び１つ又は複数のプロセッサによって実行されるように構成され、並びに１つ又は複数のプログラムが、以下の動作：資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定することと、資源返却に関する第２のジョブ管理サーバに資源先取りリクエストを送信することであって、資源先取りリクエストが、資源先取りに関する第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含む、送信することと、資源返却に関する第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び資源返却リクエストに対応する資源を資源先取りに関する第１のジョブ管理サーバに配分することと、を行うための命令を含む、装置が提供される。
【００１７】
第１０の局面では、本出願の実施形態において、メモリ及び１つ又は複数のプログラムを含む資源配分のための装置であって、１つ又は複数のプログラムが、メモリに保存され、及び１つ又は複数のプロセッサによって実行されるように構成され、並びに１つ又は複数のプログラムが、以下の動作：資源スケジューリングサーバに資源申請リクエストを送信することであって、資源申請リクエストが、ジョブの出力デッドライン又はジョブの資源取得デッドラインを少なくとも含む、送信することと、資源スケジューリングサーバによって送信された資源配分リクエストを受信し、及び資源配分リクエストに対応する資源を獲得することと、を行うための命令を含む、装置が提供される。
【００１８】
本出願の実施形態において提供される分散システム資源配分の方法、装置、及びシステムによれば、資源先取り条件が満たされたと決定する場合に、資源スケジューリングサーバは、資源返却に関する第２のジョブ管理サーバに資源先取りリクエストを送信することができ、並びに第２のジョブ管理サーバは、資源先取りリクエストに含まれる第１のジョブ管理サーバのジョブ実行情報に応じて、資源返却デッドラインを決定することと、決定された資源返却デッドライン及び第２ジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に、資源スケジューリングサーバに返却されるべき資源を返却することと、ができる。本出願の実施形態において提供される方法を用いて、資源先取り条件が満たされたと決定された場合に、第２のジョブ管理サーバに配分された資源は、すぐにリサイクルはされず、第２のジョブ管理サーバは、第２のジョブ管理サーバが効果的に資源を利用できると同時に、システムの全体的な資源利用効率を効果的に向上させることができ、及び資源の無駄を減らすことができるように、第１のジョブ管理サーバのジョブ実行情報及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却時刻を決定する。
【００１９】
図面の簡単な説明
本出願の実施形態による、又は先行技術における技術的解決策をより明確に示すために、実施形態又は先行技術を説明するために必要とされる添付の図面を以下に簡潔に紹介する。以下の説明における添付の図面は、本出願に記載する幾つかの実施形態にすぎないことは明白である。当業者は、何ら創造的な努力を行うことなく、添付の図面に従って他の図面を得ることができる。
【図面の簡単な説明】
【００２０】
【図１】本出願の一実施形態による分散資源配分システムの模式図である。
【図２】本出願の一実施形態による分散システム資源配分方法のフローチャートである。
【図３】本出願の別の実施形態による分散システム資源配分方法のフローチャートである。
【図４】本出願の一実施形態による資源配分待ち行列の模式図である。
【図５】本出願のさらに別の実施形態による分散システム資源配分方法のフローチャートである。
【図６】本出願のさらに別の実施形態による分散システム資源配分方法のフローチャートである。
【図７】本出願の一実施形態による第１のジョブ管理サーバの模式図である。
【図８】本出願の一実施形態による資源スケジューリングサーバの模式図である。
【図９】本出願の一実施形態による第２のジョブ管理サーバの模式図である。
【図１０】ある例示的実施形態による資源配分のための装置のブロック図である。
【図１１】ある例示的実施形態による資源配分のための装置のブロック図である。
【図１２】ある例示的実施形態による資源配分のための装置のブロック図である。
【発明を実施するための形態】
【００２１】
詳細な説明
分散システム資源配分の方法、装置、及びシステムが、本出願の実施形態において提供され、これにより、資源先取りに関するジョブ管理サーバのジョブ実行情報、及び資源返却に関するジョブ管理サーバの現在のジョブ実行進捗に応じて資源を返却する時刻を決定することができ、システム資源の利用を効果的に向上させることができ、並びに資源の無駄を減らすことができる。
【００２２】
本出願の実施形態で使用される用語は、本出願を限定するのではなく、単に、特定の実施形態を説明するために使用されるものである。本出願の実施形態及び添付の特許請求の範囲で使用される単数形「a(n)」、「said」、及び「the」は、文脈において他の意味を示すことが明確に指定されない限り、複数形も含む。本文で使用される「及び／又は」という用語が、列挙される１つ又は複数の関連の項目の何れか又は全ての可能な組み合わせを指し、及び含むことがさらに理解されるものとする。
【００２３】
「資源スケジューリングサーバ」（正式英名は、Resource Managerである）という技術用語は、一般に、分散システムにおいてシステムの利用可能な資源の調整及び配分を行うサーバを指す。
【００２４】
「ジョブ管理サーバ」（正式英名は、Job Masterである）という技術用語は、一般に、全ジョブノードを代表して資源スケジューリングサーバにジョブ資源を申請し、及びジョブプログラムをマシンノードに送信する責任を負う、分散システムにおいてジョブの全てのジョブノード（Job Worker）を制御する役割を指す。一般に、複数のジョブ管理サーバが、分散システムに含まれ得る。
【００２５】
「マシンノード」（正式英名は、Machine Nodeである）という技術用語は、一般に、分散システムにおいてマシンを代表してユーザのジョブプログラムの実行を監視する責任を負う役割を指す。
【００２６】
「ジョブノード」（正式英名は、Job Workerである）という技術用語は、一般に、分散システムにおいて特定のジョブプログラムを実行する役割を指す（これは、一般に、ジョブ管理サーバと通信するだけである）。
【００２７】
「ジョブ申請資源」（正式英名は、Requestである）という技術用語は、一般に、資源申請リクエストに対応する、分散システムにおいてジョブ管理サーバによって申請された資源を指す。
【００２８】
「ジョブ取得資源」（正式英名は、Resourceである）という技術用語は、一般に、分散システムからジョブ管理サーバによって取得された資源、すなわち、資源スケジューラによってジョブ管理サーバに配分された資源を指す。
【００２９】
「マシン取得資源」「正式英名は、Resourceである」という技術用語は、一般に、資源スケジューラからマシンによって取得された特定のジョブノードの資源を指す。一般に、ジョブノードは、マシンが資源スケジューラからジョブノードの資源を取得して初めてプログラムを実行することを許可される。特定のジョブノードの資源が資源スケジューラによってリサイクルされた後に、マシンは、ジョブノードの実行を強制的に終了する。
【００３０】
「資源申請リクエストの優先度」（Priority）という技術用語は、資源申請リクエストの優先度を表すために使用される。より高い優先度は、資源リクエストがより重要であり、及び優先的に対応されるべきであることを示す。
【００３１】
「生産ジョブ」という技術用語は、一般に、毎日決められた時刻に実行されるジョブを指す。
【００３２】
「開発ジョブ」という技術用語は、一般に、可変の毎日の実行時間で、及びより低い優先度で、プログラムをデバッグするために開発者によって提出される実験的ジョブを指す。
【００３３】
「ジョブ出力デッドライン」という技術用語は、一般に、ユーザジョブを完全に実行することができる最遅時刻を指す。
【００３４】
「資源取得デッドライン」という技術用語は、一般に、ジョブ管理サーバが資源を取得する最遅時刻を指す。
【００３５】
「資源返却デッドライン」という技術用語は、一般に、ジョブ管理サーバが資源を返却する最遅時刻を指す。
【００３６】
「ジョブ実行時間」という技術用語は、一般に、ジョブを完全に実行するためにかかる時間を指す。
【００３７】
図１を参照すると、本出願の一実施形態による分散資源配分システムが示されている。分散資源配分システムは、資源スケジューリングサーバ８００、第１のジョブ管理サーバ７００、及び第２のジョブ管理サーバ９００を含む。複数のジョブ管理サーバが、分散資源配分システムに含まれ得る。
【００３８】
先行技術では、優先度の低いジョブの資源が優先度の高い資源申請によって先取りされるとき、資源スケジューリングサーバは、直ちに優先度の低いジョブの資源をリサイクルし得ることに留意されたい。この場合、実行中の優先度の低いジョブのプログラムが、直ちに且つ強制的に終了させられ得る。
【００３９】
研究時に、本出願人は、このような実施が少なくとも以下の欠点を含み得ることを発見した。（１）優先度の低いジョブが、１時間実行される必要があり、且つ現在５５分間実行されていると仮定すると、ジョブがあと５分間実行された後に、資源が返却され得ることが予期される。資源先取り事象がこの時点で生じ、資源スケジューリングサーバが強制的に優先度の低いジョブの資源をリサイクルする場合、資源は、システム全体の資源利用の観点からすれば、５５分間も無駄にされる。（２）優先度の低いジョブが、実行中に優先度の高いジョブに資源を譲ることができるだけである場合、強引なリサイクルの履行は、優先度の低いジョブの実行された部分の完全な損失をもたらし、及びバックアップを取る機会がない。優先度の低いジョブが再び資源を取得すると、その実行は、最初からやり直す必要があり、従って、実行効率を低下させる。（３）優先度の高いジョブが、１時間実行される必要があり、且つ資源申請リクエストの提出時刻が、ジョブ出力デッドラインから２時間の期間があると仮定して、優先度の高いジョブが直ちに優先度の低いジョブの資源を先取りし、且つ優先度の低いジョブをたった５分で完全に実行することができれば、この時点における、このような強引な先取りは、不要である。
【００４０】
上記の分析により、本出願人は、優先度の低いジョブの資源が、優先度の高いジョブの実行時間、出力デッドライン、及び優先度の低いジョブの実行進捗を考慮することなく、そのまま強引にリサイクルされ、及び優先度の高いジョブに配分される場合、不要な先取り事象が生じ、それによって、システムの資源利用が減少することを発見した。
【００４１】
上記に鑑みて、本出願では、優先度の低いジョブの配分された資源をそのまま強引にリサイクルする方法に代わる資源配分方法、装置、及びシステムが提供される。資源の先取り事象が生じると、資源スケジューリングサーバ及び優先度の低いジョブのジョブ管理サーバは、最初に一連のインタラクティブなネゴシエーションを行い、並びに優先度の高いジョブが資源を取得することができると同時に、システムの効果的な資源利用を最大化できることを確実にすることができるように、優先度の高いジョブの実行時間、出力デッドライン、及び優先度の低いジョブの実行進捗などの情報に応じて、優先度の低いジョブの資源リサイクル時刻を総合的に判断することができる。
【００４２】
図１に示すように、分散資源配分システムは、資源スケジューリングサーバ８００、第１のジョブ管理サーバ７００、及び第２のジョブ管理サーバ９００を含む。
【００４３】
第１のジョブ管理サーバ７００は、資源申請リクエストを資源スケジューリングサーバに送信するように構成され、資源申請リクエストは、第１のジョブ管理サーバ７００のジョブ実行情報を少なくとも含む。
【００４４】
資源スケジューリングサーバ８００は、資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ７００及び資源返却に関する第２のジョブ管理サーバ９００を決定することと、資源返却に関する第２のジョブ管理サーバ９００に資源先取りリクエストを送信する（資源先取りリクエストは、資源先取りに関する第１のジョブ管理サーバ７００に対応するジョブ実行情報を少なくとも含む）ことと、資源返却に関する第２のジョブ管理サーバ９００によって送信された資源返却リクエストを受信し、及び資源返却リクエストに対応する資源を資源先取りに関する第１のジョブ管理サーバ７００に配分することと、を行うように構成される。
【００４５】
第２のジョブ管理サーバ９００は、資源スケジューリングサーバ８００によって送信された資源先取りリクエストを受信し、及び資源先取りリクエストに含まれた、第１のジョブ管理サーバ７００に対応するジョブ実行情報に応じて、第２のジョブ管理サーバ９００の資源返却デッドラインを決定することと、決定された資源返却デッドライン及び第２のジョブ管理サーバ９００の現在のジョブ実行進捗に応じて、資源スケジューリングサーバ７００に返却されるべき資源を返却することと、を行うように構成される。
【００４６】
本出願の実施形態による資源配分システムを上記で簡潔に紹介している。本出願の実施形態による資源配分方法を、第１のジョブマネージャ、資源スケジューリングサーバ、及び第２のジョブ管理サーバそれぞれの観点から、以下に紹介する。
【００４７】
図２〜図５を参照して、本出願の実施形態による資源配分方法を以下に紹介する。
【００４８】
図２を参照すると、本出願の一実施形態による分散システム資源配分方法のフローチャートが示されている。図２に示すように、この方法は、第１のジョブ管理サーバに適用され、及び以下のステップを含み得る。
【００４９】
Ｓ２０１では、第１のジョブ管理サーバが、資源申請リクエストを資源スケジューリングサーバに送信し、資源申請リクエストは、ジョブの出力デッドライン又はジョブの資源取得デッドラインを少なくとも含む。
【００５０】
特定の実施において、資源を取得する必要がある第１のジョブ管理サーバは、資源スケジューリングサーバに資源申請リクエストを送信し得る。ある可能な実施において、資源申請リクエストは、ジョブの出力デッドライン、すなわち、ジョブの最遅出力時刻を含む。このような実施では、資源申請リクエストは、ジョブの出力デッドラインのみを含み、及びジョブの実行時間は、資源スケジューリングサーバによって計算される。例えば、資源スケジューリングサーバは、ジョブの履歴データを獲得し、及びジョブの履歴データに応じて計算によってジョブの実行時間を取得する。例えば、ジョブの実行時間は、一般に一定であり、及び過去７日間にわたるジョブの平均実行時間などの履歴データに応じて、ジョブ管理サーバ又は資源スケジューリングサーバによって決定され得る。
【００５１】
別の可能な実施において、資源申請リクエストは、ジョブの出力デッドライン及びジョブの実行時間を含み得る。ジョブの実行時間は、一般に、ジョブの実行を完了するために必要とされる時間を指すことに留意されたい。例えば、それは、資源が取得され、及びジョブが開始された時点から、ジョブが完了され、及び資源が返却された時点までの継続時間でもよい。一般に、ジョブの実行時間は、以下のように決定され得る。（１）ユーザが、ジョブの実行時間を指定することができる。例えば、ユーザジョブが、実行のために分散システムに正式に提出されると、オフラインデバッギングが実施されなければならない。ユーザジョブの実行時間は、オフラインデバッギングによって推定することができ、及びジョブの実行時間は、資源申請リクエストが提出される際にユーザによって指定又は設定することができる。（２）ジョブの履歴データが獲得され、及びジョブの実行時間が、ジョブの履歴データに応じて計算によって取得される。
【００５２】
別の可能な実施において、資源申請リクエストは、ジョブの資源取得デッドラインを含む。特定の実施において、第１のジョブ管理サーバは、ジョブの実行時間及び出力デッドラインを決定し、並びに、ジョブの出力デッドラインとジョブの実行時間との間の差に応じてジョブの資源取得デッドラインを取得することができる。例えば、資源取得デッドラインＴＡ＿Ｒｅｃｅｉｖｅ＝出力デッドライン−実行時間である。例えば、特定のジョブの出力デッドラインが２２：００であり、ジョブの実行時間が２時間であり、及び資源取得デッドラインが、２０：００である。
【００５３】
当然、他の実施において、資源申請リクエストは、ジョブの実行時間、ジョブの出力デッドライン、及び資源取得デッドラインも含み得るが、これは、ここでは限定されない。
【００５４】
Ｓ２０２において、第１のジョブ管理サーバは、資源スケジューリングサーバによって送信された資源配分リクエストを受信し、及び資源配分リクエストに対応する資源を獲得する。
【００５５】
資源申請リクエストがリクエスト提出時刻のみを含む先行技術の方法とは異なり、本出願の資源申請リクエストは、ジョブの実行情報をさらに含み、それに応じて、資源取得デッドライン及び／又はジョブの資源返却デッドラインが決定されることに留意されたい。資源配分及び返却時刻をより柔軟に決定することができ、並びに資源利用効率を効果的に向上させることができる。
【００５６】
図３を参照すると、本出願の一実施形態による分散システム資源配分方法のフローチャートが提供されている。図３に示すように、この方法は、資源スケジューリングサーバに適用され、及び以下のステップを含み得る。
【００５７】
Ｓ３０１では、資源スケジューリングサーバが、資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定する。
【００５８】
特定の実施において、資源先取り条件が満たされたと判断することは、受信された資源申請リクエストの優先度が高く、且つシステムの残りの利用可能な資源の数量が、資源申請リクエストによって要求された資源の数量よりも少ないと決定された場合に、資源先取り条件が満たされたと判断することを含む。例えば、第１のジョブ管理サーバは、資源申請リクエストＣを資源スケジューリングサーバに送信する。第１のジョブ管理サーバが申請する必要がある資源が、ＣＰＵ：７０及びＭＥＭ：６０であり、並びに資源申請リクエストの優先度が４であると仮定する。この時点で、システムの残りの利用可能な資源は、ＣＰＵ：０及びＭＥＭ：０であり、この場合、システムの残りの利用可能な資源は、優先度の高いジョブのリクエストを満たすことができず、又は完全に満たすことができず、資源先取りがトリガされる。資源スケジューリングサーバは、資源を返却する必要があるジョブ管理サーバを決定するために、資源配分待ち行列をたどる（横断する；traverse）ことができる。具体的には、資源スケジューリングサーバにおいて資源配分待ち行列（これは、資源申請に対する資源スケジューリングサーバの資源配分を記録する）が存在する。この待ち行列は、資源申請の優先度に応じてランク付けされる。優先度の高い資源申請が資源スケジューリングサーバに提出され、且つシステムの残りの資源が資源申請を満たすのに十分ではない場合には、資源スケジューリングサーバは、低優先度から高優先度の順に資源配分待ち行列をたどる。優先度の高い資源申請の優先度よりも低い優先度を含む資源申請ごとに、まず、その配分された全ての資源がリサイクルされ、次いでクラスタの残りの資源と共に蓄積されると仮定する。蓄積後に得られた新しい残りの資源が優先度の高い資源申請を満たし得るか否かが判断される。肯定であれば、たどることが停止される。否定であれば、資源スケジューリングサーバは、優先度の高い資源申請を満たすことができるまで、次の優先度の低い資源申請をたどることを継続する。全ての優先度の低いジョブの使用された資源が、優先度の高いジョブによって先取りされ得る。図４に示すように、本出願の一実施形態による資源配分待ち行列の模式図が示される。例えば、資源配分待ち行列は、低優先度から高優先度の順にたどられる。資源申請Ｂの配分された資源が全て先取りされ、新しい残りの資源がＣＰＵ：３０及びＭＥＭ：２０であると仮定する。これは、優先度の高い資源申請を満たすのに不十分である。資源申請Ｂが、継続的にたどられる。その配分された資源が全て先取りされると仮定すると、新しい残りの資源は、ＣＰＵ：７０及びＭＥＭ：６０である。この場合、残りの資源は、優先度の高い資源申請を満たすことができる。その結果、資源返却に関する第２のジョブ管理サーバが、資源申請Ｂ及び資源申請Ａに対応するジョブ管理サーバとして決定される。
【００５９】
Ｓ３０２では、資源スケジューリングサーバが、資源返却に関する第２のジョブ管理サーバに対して資源先取りリクエストを送信し、資源先取りリクエストは、資源先取りに関する第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含む。
【００６０】
先行技術における資源返却に関する第２のジョブ管理サーバの配分された資源をそのまま強引にリサイクルする方法とは異なり、本出願の実施形態では、資源スケジューリングサーバは、優先度の高いジョブに資源を返却する必要があることを第２のジョブ管理サーバに知らせるために、資源先取りリクエストを資源返却に関する第２のジョブ管理サーバに送信する。
【００６１】
ある可能な実施において、第１のジョブマネージャによって資源スケジューリングサーバに送信された資源申請リクエストは、ジョブの出力デッドラインのみを含み、資源先取りリクエストに含まれる第１のジョブ管理サーバのジョブ実行情報は、ジョブの出力デッドライン及びジョブの実行時間を含み得る。ジョブの実行時間は、以下のように決定される。資源スケジューリングサーバは、ジョブの履歴データを獲得し、及びジョブの履歴データに応じて計算によってジョブの実行時間を取得する。
【００６２】
別の可能な実施において、第１のジョブマネージャによって資源スケジューリングサーバに送信された資源申請リクエストは、ジョブの出力デッドライン及びジョブの実行時間を含み、資源先取りリクエストに含まれる第１のジョブ管理サーバのジョブ実行情報は、ジョブの出力デッドライン及びジョブの実行時間を含み得る。代替的に、資源先取りリクエストに含まれる第１のジョブ管理サーバのジョブ実行情報は、ジョブの資源取得デッドラインを含み得る。ジョブの資源取得デッドラインは、以下のように決定される。
【００６３】
別の可能な実施において、第１のジョブマネージャによって資源スケジューリングサーバに送信された資源申請リクエストは、ジョブの資源取得デッドラインを含み、資源先取りリクエストに含まれる第１のジョブ管理サーバのジョブ実行情報は、ジョブの資源取得デッドラインを含み得る。
【００６４】
資源返却に関する第２のジョブ管理サーバが複数のジョブ管理サーバを含むことを資源スケジューリングサーバが決定すると、資源スケジューリングサーバは、資源先取りリクエストを複数のジョブ管理サーバにそれぞれ送信する。
【００６５】
Ｓ３０３では、資源スケジューリングサーバが、資源返却に関する第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び資源返却リクエストに対応する資源を資源先取りに関する第１のジョブ管理サーバに配分する。
【００６６】
資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定する場合に、資源スケジューリングサーバは、第１のジョブ管理サーバと第２のジョブ管理サーバとの間の対応を記録し得ることに留意されたい。第２のジョブ管理サーバが資源返却リクエストを送信すると、返却された資源は、対応する第１のジョブ管理サーバに配分することができ、及び他の待機しているジョブ管理サーバには配分しなくてよく、従って、優先度の高いジョブが迅速に資源を得ることができることが確実となる。
【００６７】
図５を参照すると、本出願の一実施形態による分散システム資源配分方法のフローチャートが示されている。図５に示すように、この方法は、第２のジョブ管理サーバに適用され、及び以下のステップを含み得る。
【００６８】
Ｓ５０１では、第２のジョブ管理サーバが、資源スケジューリングサーバによって送信された資源先取りリクエストを受信し、資源先取りリクエストは、第１のジョブ管理サーバに対応するジョブ実行情報を含む。
【００６９】
第１のジョブ管理サーバに対応するジョブ実行情報は、ジョブの出力デッドライン及びジョブの実行時間を含むことができ、又はジョブ実行情報は、ジョブの資源取得デッドラインを含む。
【００７０】
資源先取りリクエストが、返却された資源の数量をさらに含むことができ、及び第２のジョブ管理サーバが、返却された資源の数量に応じて、配分された資源の一部又は全てを返却することを決定することができることに留意されたい。
【００７１】
Ｓ５０２では、第２のジョブ管理サーバが、第１のジョブ管理サーバに対応し、及び資源先取りリクエストに含まれるジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定する。
【００７２】
幾つかの実施では、第１のジョブ管理サーバに対応するジョブ実行情報が、ジョブの出力デッドライン及びジョブの実行時間を含み、並びに第１のジョブ管理サーバに対応し、及び資源先取りリクエストに含まれるジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することが、ジョブの出力デッドラインとジョブの実行時間との間の差に応じて、ジョブの資源取得デッドラインを取得することと、ジョブの資源取得デッドラインを第２のジョブ管理サーバの資源返却デッドラインと見なすことと、を含む。
【００７３】
別の実施では、第１のジョブ管理サーバに対応するジョブ実行情報は、ジョブの資源取得デッドラインを含み、資源取得デッドラインは、資源返却デッドラインと見なすことができる。
【００７４】
Ｓ５０３では、第２のジョブ管理サーバが、決定された資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に、資源スケジューリングサーバに返却されるべき資源を返却する。
【００７５】
幾つかの実施では、決定された資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に、資源スケジューリングサーバに返却されるべき資源を返却することは、第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、計算によって、現在のジョブの完了のための残り時間を取得することと、現在の時刻及び現在のジョブの完了のための残り時間の合計が、資源返却デッドラインを越えないと判断された場合に、第２のジョブ管理サーバによって、現在のジョブの実行が完了した後に、資源スケジューリングサーバに返却されるべき資源を返却することと、を含む。
【００７６】
幾つかの実施では、決定された資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に、資源スケジューリングサーバに返却されるべき資源を返却することは、第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、計算によって、現在のジョブの完了のための残り時間を取得することと、現在の時刻及び現在のジョブの完了のための残り時間の合計が、資源返却デッドラインを越えると判断された場合に、第２のジョブ管理サーバが、現在のジョブをバックアップし、バックアップ位置を記録し、及びバックアップの完了後に資源スケジューリングサーバに返却されるべき資源を返却することと、を含む。さらに、この方法は、資源スケジューリングサーバによって再配分された資源を受信すること、現在のジョブのバックアップを獲得すること、及びバックアップ位置から現在のジョブの実行を再開することも含む。
【００７７】
例えば、資源スケジューリングサーバによって送信された資源先取りリクエストの受信後に、第２のジョブ管理サーバは、最終資源返却時刻ＴＡ＿Ｒｅｔｕｒｎを決定することができ、及び現在のジョブが実行されている時間ＴＡ＿ｒｕｎ及びジョブの推定実行時間ＴＡ＿ａｌｌに応じて、ジョブの完了のための残り時間を取得することができる：ＴＡ＿ｌｅｆｔ＝ＴＡ＿ａｌｌ−ＴＡ＿ｒｕｎ。現在の時刻＋ＴＡ＿ｌｅｆｔ≦ＴＡ＿Ｒｅｔｕｒｎである場合、資源は、当然ジョブＡの実行が完了した後に返却される。現在の時刻＋ＴＡ＿ｌｅｆｔ＞ＴＡ＿Ｒｅｔｕｒｎである場合、ジョブＡは、その実行がＴＡ＿Ｒｅｔｕｒｎの時点に近いところでバックアップの記録を開始するので、資源が再び取得された場合に、最初からではなくバックアップ位置から実行を再開することができる。バックアップが完全に記録された後に、第２のジョブ管理サーバは、能動的に資源を資源スケジューリングサーバに返却すると同時に、資源スケジューリングサーバが資源の再配分を行うことを待つ。
【００７８】
当業者が本出願の実施をより明確に理解することを容易にするために、具体例と共に、本出願の実施を以下に紹介する。具体例が、当業者が本出願をより明確に理解することを可能にすることを意図したものにすぎず、本出願の実施がこの具体例に限定されないことを留意されたい。
【００７９】
図６を参照すると、本出願の一実施形態による分散システム資源配分方法のフローチャートが示されている。図６に示すように、この方法は、以下のステップを含み得る。
【００８０】
Ｓ６０１では、第１のジョブ管理サーバが、資源申請リクエストを資源スケジューリングサーバに送信する。
【００８１】
資源申請リクエストは、ジョブの出力デッドライン、及びジョブの実行時間を含む。
【００８２】
Ｓ６０２では、資源スケジューリングサーバが、資源申請リクエストを受信し、及び資源先取り条件が満たされたか否かを判断する。
【００８３】
Ｓ６０３では、資源スケジューリングサーバが、資源先取り条件が満たされたことを決定し、資源配分待ち行列をたどり、資源返却に関する第２のジョブ管理サーバを決定し、及び第１のジョブ管理サーバと第２のジョブ管理サーバとの間の対応を記録する。
【００８４】
複数の第２のジョブ管理サーバが、資源返却に関するジョブ管理サーバとして決定され得る。
【００８５】
Ｓ６０４では、資源スケジューリングサーバが、資源先取りリクエストを第２のジョブ管理サーバに送信する。
【００８６】
資源先取りリクエストは、ジョブの出力デッドライン及び第１のジョブ管理サーバのジョブの実行時間を含む。
【００８７】
Ｓ６０５では、第２のジョブ管理サーバが、資源返却デッドラインを決定する。
【００８８】
第２のジョブ管理サーバが、ジョブの出力デッドラインとジョブの実行時間との間の差に応じて、ジョブの資源取得デッドラインを取得し、及びジョブの資源取得デッドラインを第２のジョブ管理サーバの資源返却デッドラインと見なす。
【００８９】
Ｓ６０６では、第２のジョブ管理サーバが、資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源を返却する時刻を決定する。
【００９０】
第２のジョブ管理サーバは、第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、計算によって、現在のジョブの完了のための残り時間を取得する。第２のジョブ管理サーバは、現在の時刻及び現在のジョブの完了のための残り時間の合計が、資源返却デッドラインを越えないと判断された場合に、現在のジョブの実行が完了した後に、資源スケジューリングサーバに返却されるべき資源を返却する。第２のジョブ管理サーバは、現在の時刻及び現在のジョブの完了のための残り時間の合計が、資源返却デッドラインを越えると判断された場合に、現在のジョブをバックアップし、バックアップ位置を記録し、及びバックアップの完了後に資源スケジューリングサーバに返却されるべき資源を返却する。
【００９１】
Ｓ６０７では、第２のジョブ管理サーバが、資源返却リクエストを送信する。
【００９２】
Ｓ６０８では、資源スケジューリングサーバが、資源を第１のジョブ管理サーバに配分する。
【００９３】
本出願の実施形態において提供された資源配分方法によれば、システムの資源利用効率を最大限に向上させることができる一方で、資源が優先度の高いジョブによって迅速に取得され得ることが確実となる。
【００９４】
本出願の実施形態において提供された方法に対応するデバイスを以下に紹介する。
【００９５】
図７を参照すると、本出願の一実施形態による第１のジョブ管理サーバの模式図が示されている。
【００９６】
第１のジョブ管理サーバ装置７００は、
資源申請リクエストを資源スケジューリングサーバに送信するように構成された送信ユニット７０１であって、資源申請リクエストが、ジョブの出力デッドライン又はジョブの資源取得デッドラインを少なくとも含み、送信ユニット７０１の具体的実施が、図２に示す実施形態のＳ２０１を参照して取得され得る、送信ユニット７０１と、
資源スケジューリングサーバによって送信された資源配分リクエストを受信し、及び資源配分リクエストに対応する資源を獲得するように構成された受信ユニット７０２であって、受信ユニット７０２の具体的実施が、図２に示す実施形態のＳ２０２を参照して取得され得る、受信ユニット７０２と、
を含む。
【００９７】
図８を参照すると、本出願の一実施形態による資源スケジューリングサーバの模式図が示されている。
【００９８】
資源スケジューリングサーバ８００は、
資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定するように構成された決定ユニット８０１であって、決定ユニット８０１の具体的実施が、図３に示す実施形態のＳ３０１を参照して取得され得る、決定ユニット８０１と、
資源返却に関する第２のジョブ管理サーバに資源先取りリクエストを送信するように構成された送信ユニット８０２であって、資源先取りリクエストが、資源先取りに関する第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含み、送信ユニット８０２の具体的実施が、図３に示す実施形態のＳ３０２を参照して取得され得る、送信ユニット８０２と、
資源返却に関する第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び資源返却リクエストに対応する資源を資源先取りに関する第１のジョブ管理サーバに配分するように構成された配分ユニット８０３であって、配分ユニット８０３の具体的実施が、図３に示す実施形態のＳ３０３を参照して取得され得る、配分ユニット８０３と、
を含む。
【００９９】
幾つかの実施では、資源スケジューリングサーバは、
受信した資源申請リクエストの優先度が高く、且つシステムの残りの利用可能な資源の数量が、資源申請リクエストによって要求された資源の数量よりも少ないと決定された場合に、資源先取り条件が満たされたと判断するように構成された判断ユニットをさらに含む。
【０１００】
幾つかの実施では、送信ユニットによって送信された、第１のジョブ管理サーバに対応するジョブ実行情報は、ジョブの出力デッドライン及びジョブの実行時間を含み、又はジョブ実行情報は、ジョブの資源取得デッドラインを含む。
【０１０１】
幾つかの実施では、受信ユニットによって受信された、第１のジョブ管理サーバの資源申請リクエストは、ジョブの出力デッドラインを含む。送信ユニットによって送信されたジョブの実行時間は、以下のように決定される：ジョブの履歴データを獲得すること、及びジョブの履歴データに応じて、計算によってジョブの実行時間を取得すること。送信ユニットによって送信されたジョブの資源取得デッドラインは、以下のように決定される：ジョブの出力デッドラインとジョブの実行時間との間の差に応じてジョブの資源取得デッドラインを取得すること。
【０１０２】
図９を参照すると、本出願の一実施形態による第２のジョブ管理サーバの模式図が示されている。
【０１０３】
第２のジョブ管理サーバ９００は、
資源スケジューリングサーバによって送信された資源先取りリクエストを受信するように構成された受信ユニット９０１であって、資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含み、受信ユニット９０１の具体的実施が、図５に示される実施形態のＳ５０１を参照して取得され得る、受信ユニット９０１と、
第１のジョブ管理サーバに対応し、及び資源先取りリクエストに含まれるジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定するように構成された決定ユニット９０２であって、決定ユニット９０２の具体的実施が、図５に示される実施形態のＳ５０２を参照して取得され得る、決定ユニット９０２と、
決定された資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に資源スケジューリングサーバに返却されるべき資源を返却するように構成された資源返却ユニット９０３であって、資源返却ユニット９０３の具体的実施が、図５に示される実施形態のＳ５０３を参照して取得され得る、資源返却ユニット９０３と、
を含む。
【０１０４】
幾つかの実施では、受信ユニットによって受信された、第１のジョブ管理サーバに対応するジョブ実行情報は、ジョブの出力デッドライン及びジョブの実行時間を含む。決定ユニットは、ジョブの出力デッドラインとジョブの実行時間との間の差に応じてジョブの資源取得デッドラインを取得し、及びジョブの資源取得デッドラインを第２のジョブ管理サーバの資源返却デッドラインと見なすように構成される。
【０１０５】
幾つかの実施では、資源返却ユニットは、第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、計算によって、現在のジョブの完了のための残り時間を取得することと、現在の時刻及び現在のジョブの完了のための残り時間の合計が、資源返却デッドラインを越えないと判断された場合に、第２のジョブ管理サーバによって、現在のジョブの実行が完了した後に、資源スケジューリングサーバに返却されるべき資源を返却するように特に構成される。
【０１０６】
幾つかの実施では、資源返却ユニットは、第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、計算によって、現在のジョブの完了のための残り時間を取得することと、現在の時刻及び現在のジョブの完了のための残り時間の合計が、資源返却デッドラインを越えると判断された場合に、第２のジョブ管理サーバによって、現在のジョブをバックアップし、バックアップ位置を記録し、及びバックアップの完了後に資源スケジューリングサーバに返却されるべき資源を返却することと、を行うように特に構成される。
【０１０７】
幾つかの実施では、第２のジョブ管理サーバは、
資源スケジューリングサーバによって再配分された資源を受信し、現在のジョブのバックアップを獲得し、及びバックアップ位置から現在のジョブの実行を再開するように構成された獲得ユニットをさらに含む。
【０１０８】
図１０を参照すると、本出願の別の実施形態による資源配分のための装置のブロック図が示されている。この装置は、少なくとも１つのプロセッサ１００１（ＣＰＵなど）、メモリ１００２、及び装置間の接続通信を実施するように構成された少なくとも１つの通信バス１００３を含む。プロセッサ１００１は、コンピュータプログラムなどのメモリ１００２に保存された実行可能モジュールを実行するように構成される。メモリ１００２は、高速ランダムアクセスメモリ（ＲＡＭ）を含んでもよく、及び少なくとも１つの磁気ディスクメモリなどの不揮発性メモリも含んでもよい。１つ又は複数のプログラムは、メモリに保存され、及び１つ又は複数のプロセッサ１００１によって実行されるように構成され、並びに１つ又は複数のプログラムは、以下の動作：資源スケジューリングサーバによって送信された資源先取りリクエストを受信することであって、資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含む、受信することと、第１のジョブ管理サーバに対応し、及び資源先取りリクエストに含まれるジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することと、決定された資源返却デッドライン及び第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に資源スケジューリングサーバに返却されるべき資源を返却することと、を行うための命令を含む。
【０１０９】
幾つかの実施では、プロセッサ１００１は、以下の動作：第１のジョブ管理サーバに対応するジョブ実行情報がジョブの出力デッドライン及びジョブの実行時間を含む場合、ジョブの出力デッドラインとジョブの実行時間との間の差に応じて、ジョブの資源取得デッドラインを取得すること、及びジョブの資源取得デッドラインを第２のジョブ管理サーバの資源返却デッドラインと見なすことを行うための命令を含む１つ又は複数のプログラムを実行するように特に構成される。
【０１１０】
幾つかの実施では、プロセッサ１００１は、以下の動作：第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、計算によって、現在のジョブの完了のための残り時間を取得することと、現在の時刻及び現在のジョブの完了のための残り時間の合計が、資源返却デッドラインを越えないと判断された場合に、第２のジョブ管理サーバによって、現在のジョブの実行が完了した後に、資源スケジューリングサーバに返却されるべき資源を返却することと、を行うための命令を含む１つ又は複数のプログラムを実行するように特に構成される。
【０１１１】
幾つかの実施では、プロセッサ１００１は、以下の動作：第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、計算によって、現在のジョブの完了のための残り時間を取得することと、現在の時刻及び現在のジョブの完了のための残り時間の合計が、資源返却デッドラインを越えると判断された場合に、第２のジョブ管理サーバが現在のジョブをバックアップし、バックアップ位置を記録し、及びバックアップの完了後に資源スケジューリングサーバに返却されるべき資源を返却することと、を行うための命令を含む１つ又は複数のプログラムを実行するように特に構成される。
【０１１２】
幾つかの実施では、プロセッサ１００１は、以下の動作：資源スケジューリングサーバによって再配分された資源を受信することと、現在のジョブのバックアップを獲得することと、バックアップ位置から現在のジョブの実行を継続することと、を行うための命令を含む１つ又は複数のプログラムを実行するように特に構成される。
【０１１３】
図１１を参照すると、本出願の別の実施形態による資源配分のための装置のブロック図が示されている。この装置は、少なくとも１つのプロセッサ１１０１（ＣＰＵなど）、メモリ１１０２、及び装置間の接続通信を実施するように構成された少なくとも１つの通信バス１１０３を含む。プロセッサ１１０１は、コンピュータプログラムなどのメモリ１１０２に保存された実行可能モジュールを実行するように構成される。メモリ１１０２は、高速ランダムアクセスメモリ（ＲＡＭ）を含んでもよく、及び少なくとも１つの磁気ディスクメモリなどの不揮発性メモリも含んでもよい。１つ又は複数のプログラムは、メモリに保存され、及び１つ又は複数のプロセッサ１１０１によって実行されるように構成され、並びに１つ又は複数のプログラムは、以下の動作：資源先取り条件が満たされたと判断された場合に、資源先取りに関する第１のジョブ管理サーバ及び資源返却に関する第２のジョブ管理サーバを決定することと、資源返却に関する第２のジョブ管理サーバに資源先取りリクエストを送信することであって、資源先取りリクエストが、資源先取りに関する第１のジョブ管理サーバに対応するジョブ実行情報を少なくとも含む、送信することと、資源返却に関する第２のジョブ管理サーバによって送信された資源返却リクエストを受信し、及び資源返却リクエストに対応する資源を資源先取りに関する第１のジョブ管理サーバに配分することと、を行うための命令を含む。
【０１１４】
幾つかの実施では、プロセッサ１１０１は、以下の動作：受信された資源申請リクエストの優先度が高く、且つシステムの残りの利用可能な資源の数量が、資源申請リクエストによって要求された資源の数量よりも少ないと決定された場合に、資源先取り条件が満たされたと判断することを行うための命令を含む１つ又は複数のプログラムを実行するように特に構成される。
【０１１５】
幾つかの実施では、プロセッサ１１０１は、以下の動作：ジョブの履歴データを獲得し、及びジョブの履歴データに応じて、計算によってジョブの実行時間を取得することと、ジョブの出力デッドラインとジョブの実行時間との間の差に応じてジョブの資源取得デッドラインを取得することと、を行うための命令を含む１つ又は複数のプログラムを実行するように特に構成される。
【０１１６】
図１２を参照すると、本出願の別の実施形態による資源配分のための装置のブロック図が示されている。この装置は、少なくとも１つのプロセッサ１２０１（ＣＰＵなど）、メモリ１２０２、及び装置間の接続通信を実施するように構成された少なくとも１つの通信バス１２０３を含む。プロセッサ１２０１は、コンピュータプログラムなどのメモリ１２０２に保存された実行可能モジュールを実行するように構成される。メモリ１２０２は、高速ランダムアクセスメモリ（ＲＡＭ）を含んでもよく、及び少なくとも１つの磁気ディスクメモリなどの不揮発性メモリも含んでもよい。１つ又は複数のプログラムは、メモリに保存され、及び１つ又は複数のプロセッサ１２０１によって実行されるように構成され、並びに１つ又は複数のプログラムは、以下の動作：資源スケジューリングサーバに資源申請リクエストを送信することであって、資源申請リクエストがジョブの出力デッドライン又はジョブの資源取得デッドラインを少なくとも含む、送信することと、資源スケジューリングサーバによって送信された資源配分リクエストを受信し、及び資源配分リクエストに対応する資源を獲得することと、を行うための命令を含む。
【０１１７】
ある例示的実施形態では、命令を含む不揮発性コンピュータ可読媒体（例えば、命令を含むメモリ３０４）がさらに提供される。これらの命令は、上記の方法を実施するために装置３００のプロセッサ３２０によって実行され得る。例えば、不揮発性コンピュータ可読媒体は、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、光学式データストレージデバイスなどでもよい。
【０１１８】
マシン可読媒体が提供される。例えば、マシン可読媒体は、不揮発性コンピュータ可読媒体でもよい。媒体中の命令が装置（端末又はサーバ）のプロセッサによって実行されると、装置は、図１に示すようなディープホール測定方法を行うことができる。この方法は、資源スケジューリングサーバによって送信された資源先取りリクエストを受信することであって、資源先取りリクエストが、第１のジョブ管理サーバに対応するジョブ実行情報を含む、受信することと、第１のジョブ管理サーバに対応するジョブ実行情報に応じて、第２のジョブ管理サーバによって返却されるべき資源及び資源返却デッドラインを決定することと、決定された返却されるべき資源及び資源返却デッドライン、並びに第２のジョブ管理サーバの現在のジョブ実行進捗に応じて、資源返却デッドラインの満了前に資源スケジューリングサーバに返却されるべき資源を返却することと、を含む。
【０１１９】
本出願の装置におけるユニット又はモジュールの設定は、図２〜図６に示す方法を参照して実施され得るが、それらは、ここでは詳細に説明しない。
【０１２０】
本明細書を考察し、及びここに開示した本発明を実施した後に、当業者は、本出願の他の実施解決策を容易に思い付くだろう。本出願は、本出願の一般原理に従い、且つ本開示において開示されない当該分野における常識又は一般的技術手段を含む本出願のあらゆる変形形態、用途、又は適応的変更をカバーすることが意図される。本明細書及び実施形態は、単に例示的であると見なされるものであり、本出願の真の範囲及び精神は、以下の特許請求の範囲によって示される。
【０１２１】
本出願は、上記に記載した、及び添付の図面に示した正確な構造に限定されないこと、並びにその範囲から逸脱することなく修正及び変更が行われ得ることが理解されるだろう。本出願の範囲は、添付の特許請求の範囲によってのみ限定される。
【０１２２】
本文において、「第１の」及び「第２の」などの関係用語は、単に、あるエンティティ又は動作を別のエンティティ又は動作と区別するために使用されるものであり、これらのエンティティ又は動作が、この実際の関係又は順序を含んでいることを必要とせず、又は示唆しないことに留意されたい。また、「含む（include）」、「含む（comprise）」、又はそれらの他の変形形態は、非排他的包含をカバーすることが意図され、従って、一連の要素を含むプロセス、方法、物品、又はデバイスは、それらの要素を含むだけでなく、明確に列挙されていない他の要素も含み、又はそのプロセス、方法、物品、若しくはデバイスに固有の要素をさらに含む。さらなる限定がなければ、「１つの…を含む（including a/an...）」によって定義される要素は、その要素を含むプロセス、方法、物品、又はデバイスが他の同一の要素をさらに含むことを除外しない。本出願は、コンピュータによって実行されるコンピュータ実行可能命令（例えば、プログラムモジュール）の一般的コンテキストで記述され得る。一般に、プログラムモジュールは、特定のタスクを実行するため、又は特定の抽象データ型を実施するためのルーチン、プログラム、オブジェクト、アセンブリ、データ構造などを含む。本出願は、分散コンピューティング環境で実施されてもよく、分散コンピュータ環境では、タスクは、通信ネットワークを介して接続されたリモート処理デバイスを使用して実行される。分散コンピュータ環境では、プログラムモジュールは、ストレージデバイスを含むローカル及びリモートコンピュータストレージ媒体に位置してもよい。
【０１２３】
本明細書の実施形態は、全て漸進的に記載され、各実施形態は、それと他の実施形態との間の違いを強調し、これらの実施形態における同一又は類似の部分は、互いを参照して取得することができる。特に、装置の実施形態は、方法の実施形態と基本的に類似しているので、簡潔に記載される。関連する部分に関しては、方法の実施形態における部分の記載を参照せよ。上記の装置の実施形態は、模式的なものにすぎない。分離した部分として記載されたユニットは、物理的に分離していても、或いは物理的に分離していなくてもよく、ユニットとして表示された部分は、物理的ユニットであっても、或いは物理的ユニットでなくてもよい（すなわち、１つの場所に位置してもよいし、或いは複数のネットワークユニットに分散されてもよい）。その中のモジュールの一部又は全てが、実施形態の解決策の目的を達成するために実際のニーズに応じて選択され得る。当業者は、創造的な努力を行うことなく、本出願を理解し、及び実施することができる。上記の記載は、本出願の具体的な実施にすぎない。当業者が、本出願の原理から逸脱することなく、幾つかの改良及び変更も行い得ることに留意されたい。改良及び変更も、本出願の保護範囲と見なされるものとする。
【図１】
2020531967.tif 000003
【図２】
2020531967.tif 000004
【図３】
2020531967.tif 000005
【図４】
2020531967.tif 000006
【図５】
2020531967.tif 000007
【図６】
2020531967.tif 000008
【図７】
2020531967.tif 000009
【図８】
2020531967.tif 000010
【図９】
2020531967.tif 000011
【図１０】
2020531967.tif 000012
【図１１】
2020531967.tif 000013
【図１２】
2020531967.tif 000014
【国際調査報告】
2020531967.tif 000015
2020531967.tif 000016
2020531967.tif 000017
2020531967.tif 000018