JP2010533924A - リソース割り当てを拡大および縮小することによるスケジューリング - Google Patents

リソース割り当てを拡大および縮小することによるスケジューリング Download PDF

Info

Publication number
JP2010533924A
JP2010533924A JP2010517131A JP2010517131A JP2010533924A JP 2010533924 A JP2010533924 A JP 2010533924A JP 2010517131 A JP2010517131 A JP 2010517131A JP 2010517131 A JP2010517131 A JP 2010517131A JP 2010533924 A JP2010533924 A JP 2010533924A
Authority
JP
Japan
Prior art keywords
job
resources
tasks
resource
jobs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010517131A
Other languages
English (en)
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010533924A publication Critical patent/JP2010533924A/ja
Pending legal-status Critical Current

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/506Constraint

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

コンピュータリソースのスケジューラは、定期的に実行中のジョブを分析して、ジョブをより速く終了させるのに役立つために、付加的なリソースがジョブに割り当てられるかどうかを判定でき、最小限のリソースが待機中のジョブを開始するのに利用可能かどうかもチェックできる。ジョブは、タスク間の並列関係または直列関係を用いて定義される多くのタスクで構成できる。実行時のさまざまな時点で、アクティブジョブのリソース割り当てを調整して、優先システムに応じてリソースを付加または除去できる。ジョブを、最小限のリソースから開始でき、リソースを、ジョブの期間にわたって増加および減少させることができる。

Description

本発明は、リソース割り当てを拡大および縮小することによるスケジューリングに関する。
大型コンピュータ環境におけるリソースは、スケジューリングシステムによって管理されることが多い。このようなリソースは、コンピュータまたはプロセッサのクラスタであるかもしれないし、あるいは他のリソースを含むかもしれない。大型コンピュータのタスクを、スケジューリング機構によってリソースブロック全体に割り当てることができる。多くの場合、大型コンピュータのリソースは大きな需要があるので、効率的なスケジューリングにより、このようなリソースをよりよく利用することができる。
コンピュータリソースのスケジューラは、定期的に実行中のジョブを分析して、ジョブを速く終了させるのを促すために付加的なリソースをジョブに割り当てることができるかどうかを判定し、待機中のジョブを開始させるために最小限のリソースが利用可能であるかどうかもチェックできる。ジョブは、タスク間の並列関係または直列関係を用いて定義される多くのタスクで構成できる。実行時のさまざまなポイントにおいて、アクティブジョブのリソース割り当てを調整して、優先システムに応じてリソースを付加または除去できる。ジョブを、最小限のリソースから開始でき、リソースを、ジョブの期間にわたって増加および減少させることができる。
本概要は、以下の発明の詳細な説明でさらに説明されている選択した概念を簡略化した形式で紹介するために提供するものである。本概要は、特許請求の範囲に記載されている主題事項の重要な特徴または本質的な特徴を特定することを目的とするものでも、特許請求の範囲に記載されている主題事項の範囲の決定に際して、限定として使用することを目的とするものでもない。
ジョブを管理およびスケジューリングするシステムを示す実施形態を説明する図である。 ジョブおよびジョブに対するリソースの読み込みを示す実施形態を説明する図である。 リソースを実行中のジョブおよび待機中のジョブに割り当てる方法を示す実施形態を説明するフローチャートである。
スケジューリングシステムを用いて、共用のコンピュータリソースをさまざまなジョブに割り当てることができる。スケジューリングシステムは、優先システムが次にどのジョブを開始するかを判定できる新しいジョブのキューを含むことができる。アナライザは、実行するジョブを定期的に評価して活用されていないリソースを特定でき、新しいジョブを開始するか、または付加的なリソースを既存のジョブに割り当てることを判定できる。
各ジョブは、一連のタスクとして定義できる。あるタスクを、直列または並列の形式でリンクすることができ、各タスクは、リソースの範囲を使用できる。実行時のあるポイントにおいて、複数のタスクを、並列で実行できる一方、他のポイントにおいて、タスクは、実行する前に他のタスクが完了するのを待つことができる。並列タスクが行われる期間に、ジョブを、付加的なリソースを適用することによってより速く完了することができ、他の期間に、同じリソースを、他のジョブに割り当てることができる。
ある場合、ジョブを開始するのに使用される最小限のリソースを判定することによって新しいジョブを開始できる。それらのリソースが利用可能になった時、新しいジョブを開始できる。他のリソースが解放されると、それらを新しいジョブに割り当てて、新しいジョブが速く完了できるようにすることができる。
リソース割り当ての定期的な分析時に、アリゴリズムを使用して、リソースを実行するジョブに割り当て、新しいジョブが開始されるかどうかを決定できる。異なる実施形態は、異なるアルゴリズムを使用してよい。例えば、一実施形態は、できるだけ速く既存のジョブを完了することを支持し、一方、別の実施形態は、できるだけ速く新しいジョブを開始することを支持できる。ある場合、ジョブとリソース間の個別の優先度は、動作の手順を選択する際に考慮されることがある。
本発明の主題事項の特定の実施形態を使用して、特定の発明の態様を説明する。実施形態は、単なる一例であり、さまざまな変更および代替形式を受け入れる余地がある。添付の特許請求の範囲は、特許請求の範囲によって定義されるように本発明の精神および範囲内においてすべての変更、等価、および代替を網羅するように意図される。
本明細書の同様の参照数字は、図面の説明全体にわたって、同様の要素を指定するのに使用される。
要素が、「接続された」または「結合された」と表現される場合、要素を、直接相互に接続もしくは結合することができ、または1または複数の介在要素を存在させることもできる。対照的に、要素が、「直接接続された」または「直接結合された」と表現される場合、介在要素は存在しない。
本発明の主題事項を、デバイス、システム、方法、および/またはコンピュータプログラム製品として実施できる。従って、一部またはすべての主題事項を、ハードウェアおよび/または(ファームウェア、常駐ソフトウェア、マイクロコード、ステートマシン、ゲートアレイなどの)ソフトウェアに実施できる。さらに、主題事項は、命令実行システムが使用または関連する媒体において実施されるコンピュータ使用可能プログラムコードを有するコンピュータ使用可能記憶媒体上またはコンピュータ読み取り可能プログラコードを有するコンピュータ読み取り可能記憶媒体上で、コンピュータプログラム製品の形態をとることができる。本明細書の状況において、コンピュータ使用可能媒体またはコンピュータ読み取り可能媒体は、命令実行システム、装置、またはデバイスが使用または関連するプログラムを含み、格納し、伝え、伝播し、または転送することができる任意の媒体とすることができる。
コンピュータ使用可能媒体またはコンピュータ読み取り可能媒体は、例えば、電気、磁気、光、電磁気、紫外線、または半導体システム、装置、デバイス、または伝播媒体とすることができるが、これに限定されない。一例として、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体を備えることができるが、これに限定されない。
コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュールまたは他のデータなどの情報を格納する任意の方法または技術において実装される揮発性および不揮発性媒体、取り外し可能および取り外し不能媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、DVD(Digital Versatile Disk)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するのに使用することができ、および命令実行システムによってアクセスすることができる任意の他の媒体を含むが、これに限らない。プログラムを、例えば、用紙または他の媒体を光走査した後、コンパイルし、翻訳し、必要に応じて、適切な方法で処理された他のものを光走査した後、コンピュータメモリに格納することによって電気的に獲得することができるので、コンピュータ使用可能媒体またはコンピュータ読み取り可能媒体は、プログラムが印刷される用紙または別の適切な媒体になり得ることに留意されたい。
通信媒体は、典型的には、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波または他の転送機構などの変調データ信号として具現化したものであり、また、任意の情報配信媒体を含む。用語「変調データ信号」は、その特性の1つまたは複数が、その信号中の情報を符号化するように設定または変更された信号を意味する。通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響、RF、赤外線および他の無線媒体などの無線媒体が含まれるが、これらに限定されない。上記の任意の組合せも、コンピュータ読み取り可能媒体の範囲内に含まれるものとする。
本発明の主題事項を、1または複数のシステム、コンピュータ、または他のデバイスによって実行されるプログラムモジュールなど、コンピュータ実行可能命令の一般的なコンテクストに即して実施することができる。一般的に、プログラムモジュールは、特定のタスクを行い、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。一般的に、プログラムモジュールの機能性を、さまざまな実施形態において所望通りに組み合わせまたは分散することができる。
図1は、ジョブを管理およびスケジューリングするシステムを示す実施形態100の図である。実施形態100を使用して、多くのコンピュータリソースを使用できるジョブを制御することができる。例えば、コンピュータのクラスタを組織して、クラスタを構成するさまざまなコンピュータ全体に分散できる大型コンピュータのジョブを行うことができる。
多くの異なる種類のコンピュータリソースを管理できる。例えば、コンピュータのクラスタ内またはマルチプロセッサコンピュータ上の個別のプロセッサを、コンピュータジョブを構成する個別のタスクに割り当てることができる。別の場合、メモリリソースを、ランダムアクセスメモリとデータストレージメモリとの両方に割り当てることができる。ネットワークリソースを、ソフトウェアライセンス、コンピュータリソース、およびコンテンションでも可能な他のリソースと同様に割り当てることができる。実施形態100を使用して、複数のジョブで共有できる任意のコンピュータリソースを管理し、割り当てることができる。
各ジョブ102を、複数のタスクで構成できる。タスクは、行われる実行可能なコードまたは機能の離散ブロックとすることができる。各タスクは、タスクが使用できる別々に定義されたリソースを有することができる。例えば、プロセッサのクラスタ上で行われるジョブの一般的な場合、個別のタスクを、単一のプロセッサ上で行うことができ、または個別のタスクは、単一のソフトウェアライセンスを使用できる。ある実施形態において、各タスクは、複数のリソースを使用できる。例えば、タスクを、4つのプロセッサを使用するよう、または最小限の2つのプロセッサおよび最大限の8つのプロセッサを用いて実行するように定義することができる。
ジョブ102を、複数のタスクを用いて定義することができるので、ジョブは、実行の過程で異なるレベルのリソースを使用できる。例えば、ジョブは、並列で実行されるいくつかのタスクを有することができる。各タスクを別々のプロセッサに割り当てることによってジョブを行い、ジョブを速く終了させることができる。ジョブは、各タスクを単一のプロセッサ上で連続して実行することによって行うこともできる。
ジョブ102を、実行される前にジョブキュー104に配置することができる。プライオリタイザ106は、ジョブキュー104においてジョブを評価して、どのジョブが次に実行されるかを判定できる。
プライオリタイザ106は、どのジョブを次に実行するかを判定するために異なる機構およびアルゴリズムを使用できる。ある実施形態において、各ジョブは、低い、中位の、および高いなどの、一般的な優先度を有することができる。ある実施形態は、別の要因として、ジョブがサブミットされてからの期間使用できる。アルゴリズムを使用して、各未決定のジョブに対する優先度を計算して、キューをソートし、実行される次のジョブを特定できる。
プライオリタイザ106によって選択される新しいジョブ108を、新しいジョブアナライザ110によって分析できる。新しいジョブアナライザ110は、新しいジョブ108を開始するために使用される最小限のリソースを判定できる。最小限のリソースが利用可能になった場合、新しいジョブ108を開始できる。
スケジューラ112は、さまざまなジョブのリソースの割り当てを判定できる。ある場合、スケジューラ112は、リソースを実行するジョブに付加でき、他の例では、スケジューラ112は、リソースをジョブから除去できる。実行時に、現在のジョブアナライザ114は、現在のまたは実行中のジョブを分析して、ジョブがそれに割り当てられたすべてのリソースを使用しているかどうか、または付加的なリソースをジョブに割り当て得るかどうかを判定できる。
多くの場合、ジョブは、並列で動作される複数のタスクを有することができ、複数のタスクが並列で実行される期間に付加的なリソースを使用できる。他の場合、ジョブは、直列または連続的に依存するタスクを有して、別のタスクが完了した後にタスクが行われるようにすることができる。並列および連続的に依存する多くのタスクを有するジョブにおいて、ジョブは、実行時に、異なる量のリソースを使用できる。大規模なタスクの並列実行期間に、最大限のリソースをジョブに割り当てることができる。期間が経過して、ジョブが、多くのタスクが連続的に依存している期間に入ると、ジョブは、ジョブが使用することができるよりも多くの割り当てられたリソースを有することができる。
ジョブの実行時に、現在のジョブアナライザ114は、ジョブに割り当てることができる最大限のリソースを判定できる。最大限のリソースを使用して、例えば、いくつのリソースをジョブに適用させて、できるだけ速くジョブを終了できるかを判定できる。現在のジョブアナライザ114は、同じジョブに対して割り当てられる最小限のリソースを判定できる。最小限のリソースをスケジューラ112が使用してリソースを除去して、例えば、高い優先度のジョブがリソースを使用できるようにする。このまたは他の場合、最小限のリソースを判定して、不十分なリソースが原因でデッドロックを生じさせることなく、ジョブを実行できるようにする。
リソースマネージャ118は、リソース120を監視して分析し、さまざまなリソース120の現在の状態を判定できる。多くの場合、割り当てられたリソースは、クラスタコンピュータアプリケーション用のプロセッサを含むことができる。他の場合、割り当てられたリソースは、個別のコンピュータ、さまざまな種類のメモリデバイス、ネットワーク接続およびネットワーク回線容量、さまざまな入力デバイスまたは出力デバイス、ならびにソフトウェアライセンスまたは他のコンピュータリソースを含むことができる。本明細書において、クラスタコンピュータの任意の参照およびプロセッサまたはコンピュータリソースの割り当ては、一例であり、これに限定されない。
スケジューラ112は、多くの異なる種類のアルゴリズムを有することができ、いつ新しいジョブを開始して、さまざまなジョブを通じてどのようにリソースを割り当てるまたは分配するかを判定する際のさまざまな因子を使用できる。各実施形態は、リソースを割り当てるための異なる論理および/または公式を使用できる。ある実施形態において、できるだけ多くのリソースを使用して、できるだけ速く実行しているジョブを完了させることを重視する論理を定義できる。他の論理は、実行ジョブの優先度を考慮して、低い優先度のジョブに対して高い優先度のジョブに有利に、リソースを割り当てることができる。さらに他の実施形態は、実行ジョブの代わりに新しいジョブにリソースを割り当てることによって、できるだけ速くジョブを開始するように設計できる。
ある実施形態において、スケジューラ112は、実行中のジョブを評価し、実行中のジョブにおいてリソースを割り当てた後に、未使用のリソースを任意の新しいジョブに割り当てることができる。他の実施形態は、さまざまなアルゴリズムおよび重み付けスキーマを使用して、実行中のジョブおよび未決定のジョブを一緒に優先度付けを行うことができる。
図2は、ジョブおよびジョブのリソース読み込みの一例を示す実施形態200の説明図である。ジョブを、並列タスクまたは依存タスクもしくは連続タスクと同じ数を一緒にリンクできる個別のタスクとして定義できる。クラスタコンピュータアプリケーションの例において、各タスクを、個別のプロセッサ上で動作できる、別々の実行可能な項目とすることができる。他の実施形態は、他の基準を使用してジョブをタスクに分割できる。タスクは、あるタスク間で共有される特定の入力データまたは出力データを有することができ、タスク間の関係の基礎とすることができる。
ジョブに対するタスクシーケンス202のグラフィカル表示を左側に示し、リソース読み込み204の表を右側に示す。
ブロック206において、タスクシーケンス202が開始される。第1のタスクを使用して、ジョブを初期化できる。第1のタスク208に対応して、表204の第1行は、リソース読み込みが、最大限の1つと最小限の1つを有することを示す。リソース読み込みの最大限および最小限は、その期間にジョブを割り当てることができるリソースの量とすることができる。タスク208が動作できる1つのタスクであるため、1つのリソースを割り当てることができる。
簡単な例を目的として、各タスクを定義して、任意の種類のコンピュータリソースとすることができる単一のリソースを使用できる。他の例において、各タスクは、リソースの異なるカテゴリを範囲とする複数のリソースを使用してもよい。例えば、単一のタスクは、2つから16までのプロセッサ、ネットワークアクセス、およびソフトウェアライセンスを使用でき、一方、別のタスクは単一のプロセッサ、特定の出力デバイスを使用し、およびソフトウェアライセンスを用いないことができる。図2の例において、各タスクを単一のリソースに対応させて、概念を説明できる。
タスク208が完了された後に、タスク210、212および214を、並列で行うことができる。タスク210、212および214が行われる間、リソース読み込みは、最大限で3つおよび最小限で1つのリソースを有する。リソース読み込みが1つの場合、タスク210、212および214のそれぞれを、単一のリソースを使用して連続して行うことができる。より多くのリソースがジョブに割り当てられる場合、2つまたは3つ以上のタスクを同時に行うことができる。例えば、2つのリソースがジョブ202に割り当てられる場合、タスク210および212を同時に行うことができ、3つのリソースが割り当てられる場合、タスク210、212および214を並列して行うことができる。
優先度に基づいてジョブスケジューラをさまざまなリソースに割り当てることができる。例えば、ジョブ202が実行されている他のジョブよりも高い優先度を有する場合、付加的なリソースをリソース読み込みの最大限まで割り当てて、ジョブ202をより速く完了させることができる。反対に、ジョブ202が他のジョブ、実行ジョブまたは未決定のジョブのいずれかよりも低い優先度を有する場合、リソースを他のジョブに割り当てることができるが、ジョブ202を続けて実行できるように、最小限のリソース読み込みをジョブ202に対して維持することができる。
タスク216、218および220は、タスク210に依存し、並列タスクである。同様に、タスク222および224は、並列タスクであり、タスク214に依存する。この期間に、リソース読み込みは、最大限で5および最小限で1とすることができる。
タスク226は、タスク216、218、220、222、224および212に依存する。他のタスクへのタスク226の依存性を定義して、タスク226が他のすべてのタスクが完了されるまで開始できないようにすることができる。タスク226の期間に、最大限のリソース読み込みと最小限のリソース読み込みは、1つとすることができる。タスク226が依存するさまざまなタスクを完了する間、残りのタスクの前に1または複数のタスクを完了できる。例えば、5つのリソースがジョブに割り当てられて、残りのタスクの前にタスクの2つが完了する場合、3つのリソースを、残りのタスクによってアクティブに使用できるが、2つのリソースは過剰になり、ジョブ202は使用できない。これらの過剰なリソースは、リソースを使用するタスクが完了すると、ジョブスケジューラによって回復されて、他のジョブに割り当てられることができる。
タスク228は、タスク226に依存でき、1つのタスクで最大限および最小限のリソース読み込みを有することができる。タスク228が完了した後、ブロック230においてジョブ202を終了できる。
スケジューラは、さまざまなアルゴリズムまたは論理を使用して、リソースをジョブに割り当てることができる。例えば、ジョブ202の開始時に、スケジューラは、最大限で5つのリソースをジョブ202に割り当て、たとえ第1のほとんどのタスクが最大限のリソースを使用せずには完了できないとしても、ジョブ202が速く完了できるようにする。他の実施形態において、スケジューラは、最初に1つのリソースを割り当てて、タスク216から224までの間に、5つのリソースまで増加することができる。
スケジューラは、ジョブに割り当てられるリソースを除去して、それらのリソースを別のジョブに割り当てることができる。例えば、5つのリソースがジョブ202に割り当てられていて、タスク216および218が完了されていて、タスク220、222および224が進行中である場合、ジョブ202は、3つのリソースを利用できるが、5つすべてを利用できない。
多くの場合、スケジューラは、ジョブに割り当てることができる今後のリソース読み込みを評価して、ジョブ間のリソースの割り当てを判定できる。例えば、スケジューラは、ジョブ202を評価して、タスク216からタスク224までが行われるまで、5つのリソースが完全には利用されないとしても、最大限のリソース読み込みが5つで、5つのリソースをジョブ202に割り当てることを判定できる。
ある実施形態において、スケジューラは、ジョブ実行のさまざまなステージにおいてリソースを割り当てることができる。例えば、スケジューラは、単一のリソースをジョブ202に割り当てることができ、タスク214が完了されるまで単一のリソースの使用を継続できる。その時点において、より多くのリソースが利用可能になり、スケジューラは、付加的なリソースを最大限で5つのリソースまで割り当てることができる。
ある場合、リソースが利用可能になり、スケジューラは、リソースをその最大限以下で動作するジョブに割り当てることができる。これらの割り当てを作成する際に、ジョブの優先度、ジョブに対する現在のリソース割り当てと最大限のリソース割り当てとの間の差異、ジョブに対する最大と最小の最大限のリソースとの間の差異、または他の因子を含む、さまざまな因子を評価できる。
リソースが利用可能な場合、スケジューラは、新しいジョブを開始できるかどうかを評価できる。各スケジューラは、いつジョブを開始してどのようにリソースを割り当てるかを判定する異なる論理またはアルゴリズムを有することができる。ある実施形態において、スケジューラは、リソースを新しいジョブに割り当てようと試みる前に、実行ジョブにおいてリソースを割り当てようと試みることができる。他の実施形態において、スケジューラは、既存のジョブおよび未決定のジョブの優先度を評価するアルゴリズムまたは論理を使用でき、たとえ、既存のジョブがそれらのリソースを使用することができるとしても、リソースを新しいジョブに割り当てることができる。
図2の例は、シーケンス202に対してリソース読み込みを判定できる一つの方法を示す。異なるリソース読み込みを用いて、シーケンス202を異なるステップに分割できる。例えば、タスク216および218がグループ化されて、タスク220、222および224がグループ化された場合、タスク読み込みは、最大限で3つのリソース読み込みを有することができる。ある実施形態において、最適化されたリソース読み込みを、グループ化したさまざまなタスクを分析することによって判定して、さまざまなタスクとジョブ間の最適化されたリソース読み込みを判定することができる。
図3は、ジョブに対してリソースを割り当てる方法の例である実施形態300のフローチャートの説明である。実施形態300は、リソースを、実行しているジョブ、および実行を待つジョブキュー内にあるジョブに割り当てることができるアルゴリズムまたは論理の単なる一例である。
他の実施形態は、リソースを割り当てるための異なる論理または方法を使用できるが、実施形態300は、実行ジョブの優先度に基づいて利用可能なリソースを実行ジョブに割り当てるように設計される。すべてのリソースが実行ジョブに割り当てられると、最小限のリソースを待機ジョブに対して利用できる場合、最も優先度の高い待機ジョブを開始できる。
実施形態300は、1つのアルゴリズムの例である。特定の実装に基づいて異なる結果を出すために、実施形態300に対して変更を行うことができることを当業者は認識できる。さらに、実施形態300を、さまざまなタスクが使用できる異なる種類のリソースのリソース割り当てに適用できる。ある実施形態において、異なる種類のリソースを、スケジューラが管理でき、各ジョブは、それぞれの種類のリソースの異なる量を使用できる。これらの実施形態は、同じまたは異なる論理またはアルゴリズムを使用して、ジョブにおいてさまざまな種類のリソースを割り当てることができる。
ブロック302において、現在のリソースを分析する。多くの実施形態において、リソースアナライザは、リソースがいくつ存在するか、どのリソースを割り当てるか、どのリソースが利用されているか、または現在のリソースについての他の情報を判定できる。ある状況において、リソースは、場合によってオンラインまたはオフラインの状態になり得、永続的に利用されない。
ブロック304において各実行ジョブに対して、ブロック306において最大限のリソース読み込みが判定され、ブロック308において最小限のリソース読み込みが判定され、ブロック310においてジョブの優先度が判定される。ジョブのすべての長さに対して、または次に来るいくつかのタスクなどの短い区切りのジョブに対して最大限と最小限のリソース読み込みを判定できる。
ある場合、実施形態300または同じアルゴリズムをジョブの実行時に何度も行うことができ、リソースを割り当てて、実行の経過にわたって数回ジョブから除去できるようにする。このような場合、ジョブに対する最大限および最小限のリソース読み込みを、ジョブ実行の期間以外の短い期間で評価できる。例えば、リソースを、10分おきなどの一定期間に基づいて割り当てることができる場合、ジョブに対する最大限および最小限のリソース読み込みを、次の実行の10分間また20分間に対して評価できる。
ある場合、リソース読み込みがジョブ間で大幅に変更する場合、最大限および最小限のリソース読み込みを再計算できる。例えば、タスクの完了またはいくつかのタスクの完了がリソース読み込みを大幅に増加または減少させる場合に、再計算を実行できる。このような実施形態を使用して、既存の読み込みを大幅に変更しないリソース読み込みの再計算を最小限にできる。
ブロック312において、ジョブに割り当てられたリソースが、ジョブに対する最大限度を超える場合、ブロック314において、過剰なリソースを、未使用として定義できる。アルゴリズムの後のステップにおいて、過剰なリソースを、他のジョブに割り当てることができる。
ブロック316において、実行ジョブを、優先度によってソートできる。各実施形態は、ジョブに対して優先度を判定する異なる機構を有することができる。ある場合、ユーザは、サブミットする前に、ジョブに対する優先度を判定できる。他の場合において、実行している最も古いジョブに、新しいジョブよりも高い優先度を与えることができる。さらに他の場合では、優先度を判定する他の基準または公式を使用できる。
ブロック318において、降順の優先度の各ジョブに対して、ブロック320において、割り当てられたリソースが最大以下である場合、ブロック322において、未使用のリソースを、ジョブに対する最大限のジョブまで割り当てることができる。ブロック318、320および322のステップでは、さまざまな未使用のリソースを既存のジョブに割り当てて、優先度に基づいて既存のジョブが速く完了できるようにする。
ブロック324において、入力キューを分析する。入力キューは、まだ実行されていないジョブを含むことができる。ブロック326において入力キュー内の各ジョブに対して、ブロック328において優先度が判定される。入ってくるジョブに対する優先度を、入力キューにいる期間、全体の優先度、または他の因子を含む、任意の基準または因子を使用して判定できる。
入力キューは、ブロック330においてソートされて、開始される次のジョブを判定する。次のジョブを開始する最小限のジョブは、ブロック332において判定される。
ブロック334において任意の未使用のリソースが利用可能で、ブロック336において新しいジョブを開始するための十分な未使用のリソースが利用可能な場合、ブロック338において新しいジョブが開始される。プロセスは、継続する前にブロック340においてタスクが終了するのを待つ。
ブロック334においてリソースが残っていない場合、またはブロック336において残っているリソースが新しいジョブを開始するのに十分でない場合、プロセスは、タスクが終了するまでブロック340において待つ。
実施形態300は、新しいジョブを開始する前に、利用可能なリソースを既存のジョブに割り当てるように設計されたアルゴリズムである。他の実施形態は、利用可能なリソースを実行中または実行ジョブに割り当て得る場合でも、ジョブキュー内の高い優先度のジョブが開始できるよう設計され得る。
実施形態300では、タスクが完了する度に実行されるように設計される。これらの実施形態は、タスクが完了するのに比較的長時間かかる状況において有効である。タスクが短い実施形態において、実施形態300の分析は、大量のオーバーヘッドを消費することがあり、扱いにくくなることがある。このような場合、実施形態は、ジョブが実行を完了する時、タスクの一定数が完了された時、または一定期間に基づいて実行されるアルゴリズムを有することができる。
本発明の主題事項の上述の説明は、例示および説明を目的として提示されている。本発明の主題事項を網羅するものでも、開示された正確な形態に限定するものでもなく、他の変更および変形は、上記の教示に照らして実現可能にできる。実施形態は、本発明の原理およびその実用化を最良に説明するために選択され、説明されて、それによって、当業者がさまざまな実施形態およびさまざまな変更において、予期される特定の使用に合うように本発明を最良に利用できるようにする。添付の特許請求の範囲は、先行技術によって限定される範囲を除いて、他の代替的実施形態を含むように解釈されることを目的とする。

Claims (20)

  1. 複数のリソース上で動作する第1のジョブを分析して、前記第1のジョブに割り当てられることができる最大限のリソースを判定するステップ(306)であって、前記第1のジョブは複数のタスクから成る、ステップと、
    複数のリソースを分析して、未使用のリソースである第1のリソースのセットおよび前記第1のジョブに割り当てられるリソースである第2のリソースのセットを判定するステップ(312)と、
    前記第2のリソースのセットが前記最大限のリソースのセットよりも少なく、および前記第1のリソースのセットが空でない場合、前記第1のリソースのセットの少なくとも一部を前記第1のジョブに割り当てるステップ(322)と
    を含むことを特徴とする方法。
  2. 前記複数のタスクは、並列で実行されることができる少なくとも2つを含むことを特徴とする請求項1に記載の方法。
  3. 前記複数のタスクの1つは連続的であり、前記複数のタスクの別のタスクに依存することを特徴とする請求項1に記載の方法。
  4. 前記リソースは、
    プロセッサと、
    コンピュータと、
    メモリと、
    ネットワーク回線容量と、
    ネットワーク接続と、
    入力デバイスと、
    出力デバイスと、および
    ライセンスと
    で構成されるグループの少なくとも1つを含むことを特徴とする請求項1に記載の方法。
  5. 第3のリソースのセット上で動作する第2のジョブを分析して、前記第2のジョブに割り当てられることができる最小限のリソースを判定するステップと、
    前記第1のジョブが前記第2のジョブよりも高い優先度を有することを判定するステップと、
    前記最小限のリソースが前記第3のリソースのセットよりも少ないことを判定するステップと、
    少なくとも前記第3のリソースのセットを前記第1のジョブに割り当てるステップと
    をさらに含むことを特徴とする請求項1に記載の方法。
  6. 前記タスクの1つの完了によって開始されることを特徴とする請求項1に記載の方法。
  7. 請求項1に記載の方法を行うよう構成されるコンピュータ実行可能命令を含むことを特徴とするコンピュータ読み取り可能媒体。
  8. 第1のジョブに対する最大限のリソース要求を判定するよう構成される現在のジョブアナライザ(114)であって、前記第1のジョブが、部分的に実行され、および複数のタスクを含む、現在のジョブアナライザ(114)と、
    複数のリソースに対する現在の状態を判定するよう構成されるリソースマネージャ(118)であって、前記現在の状態が、割り当てられたリソースおよび使用中のリソースを含む、リソースマネージャ(118)と、
    前記現在の状態および前記最大限のリソース要求に基づいて、前記第1のジョブに割り当てられたリソースを変更するよう構成されるスケジューラ(112)と
    を備えることを特徴とするシステム。
  9. リソースを変更することは、付加的なリソースを前記第1のジョブに割り当てることを含むことを特徴とする請求項8に記載のシステム。
  10. リソースを変更することは、より少ないリソースを前記第1のジョブに割り当てることを含むことを特徴とする請求項8に記載のシステム。
  11. 複数のジョブを受信するよう構成されるジョブキューであって、前記複数のジョブのそれぞれが、複数のタスクで構成される、ジョブキューと、
    優先度を、前記ジョブキュー内の前記複数のジョブのそれぞれに割り当てるよう構成される優先システムと、
    第2のジョブに対する最小限のリソース要求を判定するよう構成される、入力ジョブアナライザと
    をさらに備え、
    前記スケジューラが、前記最小限のリソース要求を前記第2のジョブに割り当てることができる場合、前記第2のジョブを開始するようさらに構成されることを特徴とする請求項8に記載のシステム。
  12. 前記優先度は、ジョブがサブミットされてからの期間を含む公式によって判定されることを特徴とする請求項11に記載のシステム。
  13. 公式によって判定される前記優先度は、前記ジョブキュー内の前記複数のジョブのそれぞれに対して設定される優先度を含むことを特徴とする請求項11に記載のシステム。
  14. 前記複数のタスクは、並列で実行されることができる少なくとも2つのタスクを含むことを特徴とする請求項8に記載のシステム。
  15. 前記複数のタスクの1つは連続的であり、前記複数のタスクの別のタスクに依存することを特徴とする請求項8に記載のシステム。
  16. 前記リソースは、
    プロセッサと、
    コンピュータと、
    メモリと、
    ネットワーク回線容量と、
    ネットワーク接続と、
    入力デバイスと、
    出力デバイスと、および
    ライセンスと
    で構成されるグループの少なくとも1つを含むことを特徴とする請求項8に記載のシステム。
  17. ジョブキューを分析して、前記ジョブキュー内の複数のジョブに対して優先度を判定するステップ(328)であって、前記ジョブのそれぞれが複数のタスクから成る、ステップと、
    前記優先度から、実行される次のジョブである第1のジョブを判定するステップ(330)と、
    前記第1のジョブの実行を開始する最小限のリソースのセットを判定するステップ(332)と、
    複数のリソース上で動作する第2のジョブを分析して、前記第2のジョブに割り当てられることができる最大限のリソースを判定するステップ(306)と、
    複数のリソースを分析して、未使用のリソースである第1のリソースのセットおよび前記第2のジョブに割り当てられるリソースである第2のリソースのセットを判定するステップ(312)と、
    前記第2のリソースのセットが前記最大限のリソースのセットよりも少なく、および前記第1のリソースのセットが空でない場合、前記第1のリソースのセットの少なくとも一部を前記第2のジョブに割り当てるステップ(322)と、
    前記最小限のリソースのセットが利用可能な場合に、前記第1のジョブを開始するステップ(338)と
    を含むことを特徴とする方法。
  18. 前記第2のジョブを分析して、前記第2のジョブに割り当てられることができる最小限のリソースを判定するステップをさらに含むことを特徴とする請求項17に記載の方法。
  19. 前記タスクの1つの完了に応じて開始されることを特徴とする請求項17に記載の方法。
  20. 請求項17の方法を行うよう構成されるコンピュータ実行可能命令を含むことを特徴とするコンピュータ読み取り可能媒体。
JP2010517131A 2007-07-16 2008-07-16 リソース割り当てを拡大および縮小することによるスケジューリング Pending JP2010533924A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/778,487 US20090025004A1 (en) 2007-07-16 2007-07-16 Scheduling by Growing and Shrinking Resource Allocation
PCT/US2008/070147 WO2009012296A2 (en) 2007-07-16 2008-07-16 Scheduling by growing and shrinking resource allocation

Publications (1)

Publication Number Publication Date
JP2010533924A true JP2010533924A (ja) 2010-10-28

Family

ID=40260347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010517131A Pending JP2010533924A (ja) 2007-07-16 2008-07-16 リソース割り当てを拡大および縮小することによるスケジューリング

Country Status (5)

Country Link
US (1) US20090025004A1 (ja)
EP (1) EP2176751B1 (ja)
JP (1) JP2010533924A (ja)
CN (1) CN101743534A (ja)
WO (1) WO2009012296A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049903A (ja) * 2013-09-03 2015-03-16 富士通株式会社 コンピューティングシステムにおいてジョブをスケジューリングする方法、システムおよびプログラム
JP2017511940A (ja) * 2014-03-10 2017-04-27 マイクロソフト テクノロジー ライセンシング,エルエルシー デバイス固有又はユーザー固有のリソース使用プロファイルに基づくリソース管理

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007143278A2 (en) 2006-04-12 2007-12-13 Soft Machines, Inc. Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
CN101627365B (zh) 2006-11-14 2017-03-29 索夫特机械公司 多线程架构
US9002721B2 (en) * 2008-10-08 2015-04-07 Appirio, Inc. System and method for project management and completion
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8589936B2 (en) * 2010-03-16 2013-11-19 Alcatel Lucent Method and apparatus for managing reallocation of system resources
US8640137B1 (en) 2010-08-30 2014-01-28 Adobe Systems Incorporated Methods and apparatus for resource management in cluster computing
WO2012037491A2 (en) 2010-09-17 2012-03-22 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
US9069610B2 (en) * 2010-10-13 2015-06-30 Microsoft Technology Licensing, Llc Compute cluster with balanced resources
US8769500B2 (en) * 2010-10-29 2014-07-01 Fujitsu Limited Node computation initialization technique for efficient parallelization of software analysis in a distributed computing environment
US8763001B2 (en) * 2010-10-29 2014-06-24 Fujitsu Limited Technique for efficient parallelization of software analysis in a distributed computing environment through intelligent dynamic load balancing
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
CN102147750A (zh) * 2011-01-27 2011-08-10 中国农业银行股份有限公司 作业处理方法和系统
CN103635875B (zh) 2011-03-25 2018-02-16 英特尔公司 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段
KR101620676B1 (ko) 2011-03-25 2016-05-23 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트
EP2689327B1 (en) * 2011-03-25 2021-07-28 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
KR102111702B1 (ko) * 2011-04-07 2020-05-15 피코순 오와이 플라즈마 소오스를 갖는 원자층 퇴적
WO2012162189A1 (en) 2011-05-20 2012-11-29 Soft Machines, Inc. An interconnect structure to support the execution of instruction sequences by a plurality of engines
TWI666551B (zh) 2011-05-20 2019-07-21 美商英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
US8683480B2 (en) * 2011-06-01 2014-03-25 International Business Machines Corporation Resource allocation for a plurality of resources for a dual activity system
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
CN102915254B (zh) * 2011-08-02 2018-04-06 中兴通讯股份有限公司 任务管理方法及装置
CN104040491B (zh) 2011-11-22 2018-06-12 英特尔公司 微处理器加速的代码优化器
EP2783280B1 (en) 2011-11-22 2019-09-11 Intel Corporation An accelerated code optimizer for a multiengine microprocessor
CN102521050A (zh) * 2011-12-02 2012-06-27 曙光信息产业(北京)有限公司 一种面向cpu和gpu的混合调度方法
US9081747B1 (en) 2012-03-06 2015-07-14 Big Bang Llc Computer program deployment to one or more target devices
JP5900088B2 (ja) * 2012-03-27 2016-04-06 富士通株式会社 並列計算機、並列計算機の制御方法及び制御プログラム
CN103077086A (zh) * 2013-01-09 2013-05-01 苏州亿倍信息技术有限公司 一种任务分配控制的方法及系统
CN103064745B (zh) * 2013-01-09 2015-09-09 苏州亿倍信息技术有限公司 一种任务分配处理的方法及系统
CN103077084A (zh) * 2013-01-09 2013-05-01 苏州亿倍信息技术有限公司 一种任务控制的方法及系统
CN103077083A (zh) * 2013-01-09 2013-05-01 苏州亿倍信息技术有限公司 一种任务处理的方法及系统
CN103077085A (zh) * 2013-01-09 2013-05-01 苏州亿倍信息技术有限公司 一种任务分配的方法及系统
KR101770191B1 (ko) * 2013-01-30 2017-08-23 한국전자통신연구원 자원 할당 방법 및 그 장치
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
KR102083390B1 (ko) 2013-03-15 2020-03-02 인텔 코포레이션 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
CN104123184B (zh) * 2013-04-28 2017-12-22 国际商业机器公司 一种用于为构建过程中的任务分配资源的方法和系统
US9311146B2 (en) 2013-05-24 2016-04-12 International Business Machines Corporation Strategic placement of jobs for spatial elasticity in a high-performance computing environment
US9535758B2 (en) * 2013-09-05 2017-01-03 International Business Machines Corporation Managing data distribution to networked client computing devices
US9563470B2 (en) 2013-12-23 2017-02-07 International Business Machines Corporation Backfill scheduling for embarrassingly parallel jobs
CN104778074B (zh) * 2014-01-14 2019-02-26 腾讯科技(深圳)有限公司 一种计算任务处理方法及装置
US10162683B2 (en) * 2014-06-05 2018-12-25 International Business Machines Corporation Weighted stealing of resources
GB2527081B (en) * 2014-06-11 2021-05-19 Ibm Asynchronous resource usage collection and control of fenced user code
US9400687B2 (en) 2014-12-11 2016-07-26 International Business Machines Corporation Method and system for dynamic pool reallocation
CN106033371B (zh) * 2015-03-13 2019-06-21 杭州海康威视数字技术股份有限公司 一种视频分析任务的调度方法及系统
US9448842B1 (en) * 2016-01-29 2016-09-20 International Business Machines Corporation Selecting and resizing currently executing job to accommodate execution of another job
US10129085B2 (en) 2016-04-15 2018-11-13 Google Llc Determining network configurations for a modular computing entity
US10025636B2 (en) 2016-04-15 2018-07-17 Google Llc Modular electronic devices with contextual task management and performance
US9990235B2 (en) 2016-04-15 2018-06-05 Google Llc Determining tasks to be performed by a modular entity
US9977697B2 (en) 2016-04-15 2018-05-22 Google Llc Task management system for a modular electronic device
US10127052B2 (en) 2016-04-15 2018-11-13 Google Llc Connection device for a modular computing system
US10282233B2 (en) 2016-04-15 2019-05-07 Google Llc Modular electronic devices with prediction of future tasks and capabilities
US10263909B2 (en) * 2016-05-27 2019-04-16 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. System, method, and computer program for managing network bandwidth by an endpoint
CN107491351B (zh) 2016-06-13 2021-07-27 阿里巴巴集团控股有限公司 一种基于优先级的资源分配方法、装置和设备
CN106371924B (zh) * 2016-08-29 2019-09-20 东南大学 一种最小化MapReduce集群能耗的任务调度方法
US10963311B2 (en) * 2016-09-30 2021-03-30 Salesforce.Com, Inc. Techniques and architectures for protection of efficiently allocated under-utilized resources
US11489731B2 (en) 2016-09-30 2022-11-01 Salesforce.Com, Inc. Techniques and architectures for efficient allocation of under-utilized resources
US20180129529A1 (en) * 2016-11-04 2018-05-10 International Business Machines Corporation Resource-dependent automated job suspension/resumption
AU2017372921B2 (en) * 2016-12-07 2020-06-18 Tata Consultancy Services Limited Systems and methods for scheduling tasks and managing computing resource allocation for closed loop control systems
US10574542B2 (en) * 2017-03-01 2020-02-25 International Business Machines Corporation System and method for distributing resources throughout a network
US11132631B2 (en) * 2017-05-26 2021-09-28 Oracle International Corporation Computerized system and method for resolving cross-vehicle dependencies for vehicle scheduling
US10503546B2 (en) * 2017-06-02 2019-12-10 Apple Inc. GPU resource priorities based on hardware utilization
US10541939B2 (en) * 2017-08-15 2020-01-21 Google Llc Systems and methods for provision of a guaranteed batch
CN109710397A (zh) * 2017-10-26 2019-05-03 阿里巴巴集团控股有限公司 数据处理方法、装置、存储介质、处理器和系统
US20190205153A1 (en) 2017-12-29 2019-07-04 Virtual Instruments Corporation System and method of dynamically assigning device tiers based on application
CN109062702B (zh) * 2018-08-31 2021-07-30 中兴飞流信息科技有限公司 一种计算资源分配方法、相关装置及可读存储介质
DE102018125090A1 (de) * 2018-10-10 2020-04-16 Beckhoff Automation Gmbh Verfahren zur Datenverarbeitung und speicherprogrammierbare Steuerung
CN109684066A (zh) * 2018-12-27 2019-04-26 杭州铭展网络科技有限公司 一种线程调度方法
CN111241915B (zh) * 2019-12-24 2024-02-09 北京中盾安全技术开发公司 一种基于微服务的多分析算法融合应用服务平台方法
CN113051064B (zh) * 2019-12-26 2024-05-24 中移(上海)信息通信科技有限公司 任务调度方法、装置、设备及存储介质
US11301305B2 (en) 2020-01-07 2022-04-12 Bank Of America Corporation Dynamic resource clustering architecture
US11334393B2 (en) 2020-01-07 2022-05-17 Bank Of America Corporation Resource cluster chaining architecture
US10938742B1 (en) 2020-01-31 2021-03-02 Bank Of America Corporation Multiplexed resource allocation architecture
US11954609B2 (en) * 2020-03-30 2024-04-09 At&T Intellectual Property I, L.P. Optimizing and reducing redundant dispatch tickets via network knowledge graph
US11455191B2 (en) 2020-10-13 2022-09-27 International Business Machines Corporation Parallel task initialization on dynamic compute resources
JP2022110929A (ja) * 2021-01-19 2022-07-29 株式会社日立製作所 管理計算機、管理システム、及び管理プログラム
CN113448705B (zh) * 2021-06-25 2023-03-28 皖西学院 一种不平衡作业调度算法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141305A (ja) * 1993-11-16 1995-06-02 Hitachi Ltd 並列計算機の実行制御方法
JP2003330734A (ja) * 2002-05-15 2003-11-21 Hewlett Packard Co <Hp> 重みを使用してアプリケーションにシステム資源を割当てる方法およびシステム

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US5325526A (en) * 1992-05-12 1994-06-28 Intel Corporation Task scheduling in a multicomputer system
US5437032A (en) * 1993-11-04 1995-07-25 International Business Machines Corporation Task scheduler for a miltiprocessor system
US5619695A (en) * 1994-02-03 1997-04-08 Lockheed Martin Corporation Method and apparatus for scheduling resources
US6366945B1 (en) * 1997-05-23 2002-04-02 Ibm Corporation Flexible dynamic partitioning of resources in a cluster computing environment
EP0964332B1 (en) * 1998-06-10 2005-10-12 Sun Microsystems, Inc. Scheduling processes for resource allocation
US6341303B1 (en) * 1998-08-28 2002-01-22 Oracle Corporation System and method for scheduling a resource according to a preconfigured plan
US20010034752A1 (en) * 2000-01-26 2001-10-25 Prompt2U Inc. Method and system for symmetrically distributed adaptive matching of partners of mutual interest in a computer network
US6928646B1 (en) * 2000-02-02 2005-08-09 Sony Corporation System and method for efficiently performing scheduling operations in an electronic device
US7054943B1 (en) * 2000-04-28 2006-05-30 International Business Machines Corporation Method and apparatus for dynamically adjusting resources assigned to plurality of customers, for meeting service level agreements (slas) with minimal resources, and allowing common pools of resources to be used across plural customers on a demand basis
JP2002007364A (ja) * 2000-06-22 2002-01-11 Fujitsu Ltd 並列計算機システムのジョブスケジューリングを行うスケジューリング装置
US7233810B2 (en) * 2000-08-03 2007-06-19 Infineon Technologies Ag Dynamically reconfigurable universal transmitter system
US7096469B1 (en) * 2000-10-02 2006-08-22 International Business Machines Corporation Method and apparatus for enforcing capacity limitations in a logically partitioned system
US6495801B2 (en) * 2001-04-04 2002-12-17 Howard A. Fromson Method and apparatus for heating printing plates
US7093250B1 (en) * 2001-10-11 2006-08-15 Ncr Corporation Priority scheduler for database access
US7266823B2 (en) * 2002-02-21 2007-09-04 International Business Machines Corporation Apparatus and method of dynamically repartitioning a computer system in response to partition workloads
US7322034B2 (en) * 2002-06-14 2008-01-22 Hewlett-Packard Development Company, L.P. Method and system for dynamically allocating computer system resources
US20040268349A1 (en) * 2003-06-30 2004-12-30 Sabre Inc. Systems, methods and computer program products for assigning at least one task to at least one shift
JP2005031771A (ja) * 2003-07-08 2005-02-03 Hitachi Ltd ジョブスケジューリング管理方法及びシステム並びにプログラム
US20050028160A1 (en) * 2003-08-01 2005-02-03 Honeywell International Inc. Adaptive scheduler for anytime tasks
US20050071842A1 (en) * 2003-08-04 2005-03-31 Totaletl, Inc. Method and system for managing data using parallel processing in a clustered network
AU2003271658A1 (en) * 2003-09-30 2005-05-11 Telecom Italia S.P.A. Method and system for tuning a taskscheduling process
US7406691B2 (en) * 2004-01-13 2008-07-29 International Business Machines Corporation Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US8782654B2 (en) * 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7620706B2 (en) * 2004-03-13 2009-11-17 Adaptive Computing Enterprises Inc. System and method for providing advanced reservations in a compute environment
US7586892B2 (en) * 2004-04-26 2009-09-08 Hewlett-Packard Development Company, L.P. Computer method and apparatus for periodic scheduling with jitter-approximation tradeoff
US20060048157A1 (en) * 2004-05-18 2006-03-02 International Business Machines Corporation Dynamic grid job distribution from any resource within a grid environment
US7861246B2 (en) * 2004-06-17 2010-12-28 Platform Computing Corporation Job-centric scheduling in a grid environment
US20070266388A1 (en) * 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8458713B2 (en) * 2004-10-27 2013-06-04 International Business Machines Corporation Method, system, and apparatus for allocating resources to a software configurable computing environment
CA2586763C (en) * 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US7793294B2 (en) * 2005-02-22 2010-09-07 Northrop Grumman Corporation System for scheduling tasks within an available schedule time period based on an earliest possible end time of the task
US7984447B1 (en) * 2005-05-13 2011-07-19 Oracle America, Inc. Method and apparatus for balancing project shares within job assignment and scheduling
US20070016907A1 (en) * 2005-07-12 2007-01-18 Fabio Benedetti Method, system and computer program for automatic provisioning of resources to scheduled jobs
US7958509B2 (en) * 2005-12-21 2011-06-07 International Business Machines Corporation Method and system for scheduling of jobs
US20070180451A1 (en) * 2005-12-30 2007-08-02 Ryan Michael J System and method for meta-scheduling
US7685226B1 (en) * 2006-08-03 2010-03-23 Sun Microsystems, Inc. Mechanism for data migration across networks
US8104039B2 (en) * 2006-08-07 2012-01-24 International Business Machines Corporation Method for balancing resource sharing and application latency within a data processing system
US8020161B2 (en) * 2006-09-12 2011-09-13 Oracle America, Inc. Method and system for the dynamic scheduling of a stream of computing jobs based on priority and trigger threshold
US8776065B2 (en) * 2006-11-16 2014-07-08 Oracle America, Inc. Real time monitoring and tracing of scheduler decisions
EP2135430B1 (en) * 2007-03-20 2018-04-11 Thomson Licensing Hierarchically clustered p2p streaming system
US20100162261A1 (en) * 2007-05-17 2010-06-24 Pes Institute Of Technology Method and System for Load Balancing in a Distributed Computer System
US20100207689A1 (en) * 2007-09-19 2010-08-19 Nec Corporation Noise suppression device, its method, and program
US8185902B2 (en) * 2007-10-31 2012-05-22 International Business Machines Corporation Method, system and computer program for distributing a plurality of jobs to a plurality of computers
US8281012B2 (en) * 2008-01-30 2012-10-02 International Business Machines Corporation Managing parallel data processing jobs in grid environments
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
US8392633B2 (en) * 2008-06-25 2013-03-05 Hewlett-Packard Development Company, L.P. Scheduling requesters of a shared storage resource
US9465663B2 (en) * 2008-10-31 2016-10-11 Synopsys, Inc. Allocating resources in a compute farm to increase resource utilization by using a priority-based allocation layer to allocate job slots to projects
US8977752B2 (en) * 2009-04-16 2015-03-10 International Business Machines Company Event-based dynamic resource provisioning
US8654375B2 (en) * 2009-05-18 2014-02-18 Xerox Corporation Resource partitioning in a print system
US8365176B2 (en) * 2009-10-15 2013-01-29 International Business Machines Corporation Data center job migration and scheduling based on server chassis fan speed threshold
US8589728B2 (en) * 2010-09-20 2013-11-19 International Business Machines Corporation Job migration in response to loss or degradation of a semi-redundant component

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141305A (ja) * 1993-11-16 1995-06-02 Hitachi Ltd 並列計算機の実行制御方法
JP2003330734A (ja) * 2002-05-15 2003-11-21 Hewlett Packard Co <Hp> 重みを使用してアプリケーションにシステム資源を割当てる方法およびシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049903A (ja) * 2013-09-03 2015-03-16 富士通株式会社 コンピューティングシステムにおいてジョブをスケジューリングする方法、システムおよびプログラム
JP2017511940A (ja) * 2014-03-10 2017-04-27 マイクロソフト テクノロジー ライセンシング,エルエルシー デバイス固有又はユーザー固有のリソース使用プロファイルに基づくリソース管理

Also Published As

Publication number Publication date
WO2009012296A2 (en) 2009-01-22
EP2176751A4 (en) 2011-11-16
EP2176751A2 (en) 2010-04-21
EP2176751B1 (en) 2014-10-15
US20090025004A1 (en) 2009-01-22
CN101743534A (zh) 2010-06-16
WO2009012296A3 (en) 2009-04-02

Similar Documents

Publication Publication Date Title
JP2010533924A (ja) リソース割り当てを拡大および縮小することによるスケジューリング
US9069610B2 (en) Compute cluster with balanced resources
US8200824B2 (en) Optimized multi-component co-allocation scheduling with advanced reservations for data transfers and distributed jobs
KR101626378B1 (ko) 병렬도를 고려한 병렬 처리 장치 및 방법
Bicer et al. Time and cost sensitive data-intensive computing on hybrid clouds
Wang et al. Workflow as a service in the cloud: architecture and scheduling algorithms
US9612868B2 (en) Systems and methods generating inter-group and intra-group execution schedules for instruction entity allocation and scheduling on multi-processors
CN111768006A (zh) 一种人工智能模型的训练方法、装置、设备及存储介质
JP4185103B2 (ja) 実行可能プログラムをスケジューリングするためのシステム及び方法
CN107273200B (zh) 一种针对异构存储的任务调度方法
US20070195356A1 (en) Job preempt set generation for resource management
Gandomi et al. HybSMRP: a hybrid scheduling algorithm in Hadoop MapReduce framework
US20220121912A1 (en) Data processing method and apparatus
Tariq et al. Directed acyclic graph based task scheduling algorithm for heterogeneous systems
Almi'Ani et al. Partitioning-based workflow scheduling in clouds
CN106775975B (zh) 进程调度方法及装置
US9336058B2 (en) Automated scheduling management of MapReduce flow-graph applications
Ferreira da Silva et al. Controlling fairness and task granularity in distributed, online, non‐clairvoyant workflow executions
WO2012120655A1 (ja) スケジューリング方法およびスケジューリングシステム
JP6156379B2 (ja) スケジューリング装置、及び、スケジューリング方法
CN108268316A (zh) 作业调度的方法及装置
Du et al. A combined priority scheduling method for distributed machine learning
KR101869325B1 (ko) 이종 멀티코어 환경에서의 코어 배정 장치
Ghazali et al. CLQLMRS: improving cache locality in MapReduce job scheduling using Q-learning
CN114168311A (zh) 计算装置和处理器实现的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130531