JPH06202882A - 複数のタスク及びジョブのスケジューリング方法 - Google Patents

複数のタスク及びジョブのスケジューリング方法

Info

Publication number
JPH06202882A
JPH06202882A JP5238548A JP23854893A JPH06202882A JP H06202882 A JPH06202882 A JP H06202882A JP 5238548 A JP5238548 A JP 5238548A JP 23854893 A JP23854893 A JP 23854893A JP H06202882 A JPH06202882 A JP H06202882A
Authority
JP
Japan
Prior art keywords
job
jobs
processors
tasks
task
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.)
Granted
Application number
JP5238548A
Other languages
English (en)
Other versions
JP2528612B2 (ja
Inventor
Ming-Syan Chen
チェン ミン−シャン
John J E Turek
ジョゼフ エドワード トュレク ジョン
Joel L Wolf
レオナード ウォルフ ジョエル
Philip Shi-Lung Yu
シ−ルン ユー フィリップ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06202882A publication Critical patent/JPH06202882A/ja
Application granted granted Critical
Publication of JP2528612B2 publication Critical patent/JP2528612B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/451Code distribution
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【目的】 優先順位を備えたタスクにおいて柔軟なスケ
ジューリングの問題の効率的かつ効果的な解決法を提供
する。 【構成】 複数のタスク及びジョブのスケジュール方法
は、ステージ1、2及び3から成る。ステージ1は予備
ステージで、接続された構成要素にタスクを区分する(1
0)。ステージ2で、所定のジョブの計算を行い(14)、ジ
ョブ内のタスクの各々のスケジュールを優先順位制約に
従って決定する。このステージを繰り返してジョブ実行
時間の計算を行う。ステージ3では、優先順位制約のな
いジョブのスケジュールを決定する(20)。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、概して最後のタスクが
終了する終了時間を最小限にするように並列処理コンピ
ュータシステムで実行するための複数のタスクをスケジ
ュールすることに関し、特に、タスク間に優先順位制約
があるようなタスクをスケジュールすると共に、同時に
スケジュール内の当該優先順位制約を尊重することに関
する。例えば、タスクは複数のデータベース照会内で個
々のステップであってもよい。
【0002】
【従来の技術】データベースからの情報要求(一般的に
「データベース照会(database queries)」と称される)
は概して数多くのステップ(本明細書では「タスク(tas
k)」と称される)を含み、照会における少なくとも1つ
のタスクの結果(本明細書では「ジョブ(job) 」と称さ
れる)は同一のジョブにおける後のタスクで用いられ
る。これは、ジョブ(もう1つのタスクで使用される結
果を生じる)内のいかなる先のタスク(単数又は複数)
も、当該結果を用いるいかなる後のタスクの実行が開始
する前に終了されなければならない(即ち、「優先(pre
cede) 」しなければならない)ために、優先順位制約と
称される。
【0003】並列処理システムは複数の処理要素を提供
し、処理要素の各々は、他の処理要素が同一タスク若し
くはジョブ又は異なるタスク若しくはジョブの他のタス
ク又は他のタスク部分を処理するのと同時に、ジョブの
全体のタスク又はそのようなタスクの一部を実行するこ
とができる。複数のジョブが並列処理システムで同時に
実行されるとスケジュールされるとき、最小限の時間で
全てのジョブにおいてタスクの総数の最後のタスクを終
了するスケジュールを作成すると共に、勿論、タスク間
の全ての優先順位制約を尊重することが一般的な目的と
なる。
【0004】本発明の目的のために、並列処理システム
における各処理要素(以下本明細書で処理要素というよ
りもむしろ「プロセッサ(processor) 」と称される)
は、(単独又は少なくとも1つの他のプロセッサとの組
合せで)一度に単一のタスクしか処理せず、もう1つの
タスクを開始するために使用可能になる前に(単独又は
少なくとも1つの他のプロセッサとの組合せで)タスク
を処理して終了する。並列処理システムの物理資源が同
時に1より多くのタスクを実行できるならば、プロセッ
サが1より多いと見られるだけである。
【0005】各ジョブはまた、割り当てられたプロセッ
サの数が非増加関数である実行時間を有すると仮定され
る。ジョブの実行時間は、ジョブの実行に割り当てられ
たプロセッサの数の増加と共に増加できない。これは、
追加のプロセッサの使用(USE) によってジョブの終了時
間が長くなる場合、最良のスケジュールはその追加され
たプロセッサを遊休(IDLE)にすることであり、従って、
少なくともジョブの実行時間はもう1つのプロセッサの
追加によって増加しないからである。
【0006】問題は、各ジョブへのプロセッサの割り当
て(即ち、使用するプロセッサの数)、及び、全体とし
て、最後のタスクが終了する終了時間を最小限にするよ
うに、全てのジョブのタスクをいかなる優先順位制約も
尊重するプロセッサへ割り当てるスケジュールを見つけ
ることである。
【0007】従って、P個のプロセッサから成るマルチ
プロセッサコンピュータシステム、並びに、このシステ
ムでスケジュールされるN個のタスクのセットを考え
る。タスクは、優先順位関係
【0008】
【外1】
【0009】によって部分的に順序付けられる。各タス
クj ∈{1,...,N }が任意の数のプロセッサβj
{1,...,P }に割り当てられ、タスク実行時間 tj ( β
j )>0 が割り当てられたプロセッサの数の非増加関数で
あると仮定する。タスクに割り当てられた全てのプロセ
ッサは、そのタスクを一致して実行することが必要とさ
れる。すなわち、これらのプロセッサβj は全て任意の
開始時間、例えば、τj 、でタスクjを開始することが
必要とされる。次にプロセッサは任意の後の終了時間τ
j + tj ( βj ) でタスクjを終了する。各タスクj ∈
{1,...,N }において、スケジュールはプロセッサ割り
当てβj 及び開始時間τj から構成される。スケジュー
ルは、以下の2つの意味で正当であることが必要とされ
る。・任意の時間τにおいて、アクティブプロセッサの
数はプロセッサの総数を越えない。換言すれば次の通り
である。
【0010】
【数1】
【0011】・1つのタスクj1 がもう1つのタスクj
2 に優先するならば、第2タスクは第1タスクが終了す
るまで開始できない。換言すれば次の通りである。
【0012】
【外2】
【0013】ならば、τj1+tj1(βj1)≦τj2であ
る。最適なスケジュールを見つけることが問題であり、
【0014】
【数2】
【0015】によって与えられる全体のメイクスパン(m
akespan)が最小限にされる。換言すれば、最後のタスク
終了時間を最小限にすることが目的である。これは柔軟
な(malleable) スケジューリングの問題と称される。
【0016】図1は、3つのジョブに対する柔軟なスケ
ジューリング問題を示すブロック図である。入力はグラ
フのノード(節)によって表される3つのジョブから成
るタスクと、エッジ(即ち、相互接続ライン)によって
表される優先順位関係とから構成される。2つのノード
がエッジによって接続されるならば、下位ノードに対応
するタスクは上位ノードに対応するタスクが開始する前
に終了しなければならない。スケジューリングプロシー
ジャ(手順)は、出力として優先順位関係を尊重するタ
スクのスケジュールを作成する。プロセッサは横軸に、
時間は縦軸に示されている。スケジュールのメイクスパ
ンもまた示されている。
【0017】ドュー(J. Du) 及びロイング(J. Leung)
著、「並列タスクシステムのスケジューリングの複雑さ
(Complexity of Scheduling Parallel Task Systems)」
(SIAMJournal of Discrete Mathematics (1989)は、柔
軟なスケジューリングの問題は、優先順位制約がない特
別の場合でさえも強い意味においてNP-hard であること
を示している。(数学的に、これはその問題への全体的
に最適な解決法を見つけるための効率的なプロシージャ
が発見される可能性は極めて低いことを意味する。)解
決を試みるいかなるプロシージャも、この文献には展開
されていない。
【0018】チェン(M.-S. Chen)、ユー(P. Yu) 及びウ
ー(K.-L. Wu)著、「マルチプロセッサシステムにおける
複数の連結照会を実行するためのスケジューリング及び
プロセッサの割り当て(Scheduling and Processor Allo
cation for the Esecution of Multi- Join Queries in
a Multiprocessor System) 」(Proc. IEEE Conference
on Data Engineering (1992) では、優先順位及び一般
的なタスク実行時間を備えた単一の照会のコンテキスト
における柔軟なスケジューリングの問題が考慮されてい
る。この文献では複数の照会の場合が考慮されておら
ず、単一の照会のために開発されたプロシージャは必ず
しもあまり効果的ではない解決法を見つけている。
【0019】柔軟なスケジューリングの問題の非優先順
位バージョンが、先の3つの文献で研究されている。こ
れら文献の各々は、一般的なタスク実行時間を考慮し、
少なくとも1つのプロシージャを提案していた。
【0020】テューレック(J. Turek)、ウルフ(J. Wol
f) 及びユー(P. Yu) 著、「並列可能なタスクをスケジ
ュールするための近似アルゴリズム(Approximate Algor
ithmsfor Scheduling Parallelizable Tasks)」(Proc.
Symposium on Parallel Algorithms and Architectures
(1992)では、柔軟なプロシージャのクラスが提示さ
れ、プロシージャの各々が優先順位のない非柔軟なスケ
ジューリングのためのプロシージャに基づき、プロシー
ジャの各々が対応するより一層単純なプロシージャの最
悪の場合の漸近の実行と一致する。しかしながら、優先
順位はこの文献では考慮されていない。
【0021】テューレック(J. Turek)、ウルフ(J. Wol
f) 、パティパティ(K. Pattipati)及びユー(P. Yu)
著、「並列可能なタスクのスケジューリング: 全てをシ
ェルフに置く(Scheduling Parallelizable Tasks: Putt
ing it all on the Shelf)」(Proc. ACM Sigmetrics Co
nference (1992) では、全ての可能なシェルフに基づく
解決法のセットに対して最適なシェルフプロシージャが
開発されている。(シェルフ解決法は、スケジューリン
グ問題を解決するための方法のクラスを表す。)優先順
位はこの文献でもまた考慮されていない。
【0022】クリシュナムルティ(R. Krishnamurthi)及
びマー(E. Ma) 著、「区分可能なマルチプロセッサシス
テムにおいて変化する区分サイズのタスクをスケジュー
ルするための近似アルゴリズム(An Approximation Algo
rithm for Scheduling Taskson Varying Partition Siz
es in Partitionable Multiprocessor Systems)」(IBM
Research Report 15900 (1990) では、単一のシェルフ
に並列可能なタスクをパックする特別な場合を解決して
いる。従って、この文献にも優先順位は考慮されていな
い。
【0023】
【発明が解決しようとする課題】従って、本発明の目的
は、優先順位を備えたタスクにおいて柔軟なスケジュー
リングの問題の効率的かつ効果的な解決法を提供するこ
とである。
【0024】本発明のもう1つの目的は、各ジョブが優
先順位制約の可能性があるタスクの内の少なくとも1つ
のタスクから成る、複数のジョブを並列処理システムに
スケジュールするための方法を提供することである。
【0025】本発明の目的はまた、並列処理システムの
複数のデータベース照会を効率的にスケジュールするた
めの方法を提供することである。
【0026】
【課題を解決するための手段と作用】これらの目的及び
利点並びに追加の目的及び利点は、本発明によって達成
される。本発明は、次の2つの内の第1番目のステージ
のみが優先順位制約を含む、スケジューリングの2つの
別個のステージ(本明細書では、プロシージャの第2ス
テージ及び第3ステージと称される)を用いることによ
って、柔軟なスケジューリングの問題に対する効果的な
解決法を決定するための効率的なプロシージャを提供す
る。
【0027】プロシージャの第1ステージ(予備であり
しばしばオプションである)では、スケジュールされる
べきタスクの全体のセットはジョブに区分され、各優先
順位制約は単一のジョブにしか影響を及ぼさない。(即
ち、特定のタスクが入力のために依存する全てのタスク
は、その特定のタスクとして同一のジョブ内にも含まれ
る。)多くの場合、この条件を満たす適切なジョブは既
に存在し、この第1ステージにおけるあらゆる実際の計
算を不要にすることもある。これは、例えば、各照会が
通常既に本質的にこの条件を満たしているデータベース
照会の場合に一般的である。そのような場合には、各照
会を別個のジョブとして定義するのが必要なだけであ
る。
【0028】プロシージャの第2ステージ(実際のスケ
ジューリングの第1ステージ)では、各ジョブは何度も
別個で最適にスケジュールされ(そのジョブの実行に割
り当てられる可能性のある異なる数の各プロセッサに一
度)、各ジョブへのこれら他の最適なスケジュールの各
々(本明細書では時々タスクスケジュールと称される)
が作成されると共に、ジョブのタスク間での優先順位制
約を尊重する。各ジョブにおけるこれら他の最適なスケ
ジュールの各々の推定されたジョブ実行時間がまた決定
され、このプロシージャの第3ステージで使用するため
に記録される。優先順位を尊重する最適なスケジュール
を作成するためのあらゆる公知の方法が、この第2ステ
ージで用いられる。「ダイナミックプログラミング(dyn
amic programming) 」を用いて、この作成を行うための
好ましい方法が開示されている。
【0029】プロシージャの第3ステージ(実際のスケ
ジューリングの第2ステージ)では、このプロシージャ
の第2ステージで作成される各ジョブへの他の推定され
たジョブ実行時間のセットは、入力として用いられて全
てのジョブに最適な全体スケジュールを作成する。優先
順位制約の各々が第2ステージ(即ち、第1スケジュー
リング段階)で既に完全に尊重されているため、このプ
ロシージャの第3ステージは第2ステージで作成された
推定されたジョブ実行時間からこの最適な全体スケジュ
ールを作成するためにいかなる公知の方法を用いてもよ
い。ジョブのみがこのステージでスケジュールされるた
めに、プロシージャの第3ステージでは尊重すべき優先
順位制約はない。かつ、このプロシージャの第1ステー
ジにおいて、ジョブ同士の間に優先順位制約がないよう
にジョブが定義されるために、ジョブ同士の間に優先順
位制約はない。これは、この第3ステージであらゆるス
ケジューリング方法の使用も可能にするために故意に行
われる。
【0030】このプロシージャの第3ステージにおい
て、プロシージャの第2ステージで作成された推定され
たジョブ実行時間の各セットの特定のメンバ(各ジョブ
に1セット)は、その選択に対応するプロセッサの数と
共に選択され、ジョブの全体スケジュールはこれらの選
択を用いて作成される。概して、ジョブに対するプロセ
ッサを割り当てるための多くの異なる選択も同様にスケ
ジュールされる。全てのジョブの最小限の終了時間を有
する全体スケジュールは、最適な全体スケジュールとし
て選択される。この選択を行う好ましい方法が記載され
ている。
【0031】記載された第3ステージの好ましい方法に
おいて、推定されたジョブ実行時間の各セットから、セ
ットの効率的なメンバが選択され(即ち、対応する推定
されたジョブ実行時間に関連して使用されるプロセッサ
の数が、そのタスクの実行に割り当てられたプロセッサ
の効率的な使用を反映するような意味において効率的に
見えるもの、並びに、推定されたジョブ実行時間と使用
されたプロセッサの数の積が最も小さいものが好まし
い)、このメンバに対応するプロセッサの数が、そのジ
ョブに割り当てられたプロセッサの最初の数として試験
的に選択される。多くのプロセッサを各ジョブに対して
割り当てるためのこの最初の試験的な選択を用いること
によって、全体スケジュールはあらゆる公知の2次元ビ
ンパッキング(詰め)アルゴリズムを用いて作成され
る。プロセッサを割り当てるためのこの最初のセットへ
の全てのジョブの推定された全体の実行時間が決定及び
記録され、全体スケジュールで浪費された(即ち、遊休
の)プロセッサの時間があるかどうかについて解析され
る。浪費されたプロセッサの時間があるならば、最も浪
費されたプロセッサの時間と対応するジョブが識別さ
れ、そのジョブに割り当てられたプロセッサの数が1だ
け増加され、新たな全体スケジュールが作成される。以
前に記録された最良の時間より良ければ、この新たな全
体スケジュールの全体の実行時間もまた推定及び記録さ
れる。新たな全体スケジュールもまた、浪費されたプロ
セッサの時間があるかどうかについて解析される。この
プロセスは、あらゆる浪費されたプロセッサの時間がな
くなるまで続き、最良の(即ち、最小の)全体実行時間
を作成した全体スケジュールが最適なスケジュールとし
て選択されて、ジョブを実行するのに使用される。
【0032】第2ステージの好ましい方法において、ジ
ョブのタスクはまずトポロジカル(構成)順に分類され
るが、これはジョブのタスク間の優先順位制約の全てを
尊重する順序である。トポロジカル順序は枝が相互に連
結したタスクの木として表され、葉はジョブのタスクと
して、枝の相互連結はタスク間の優先順位制約として表
される。
【0033】次に、葉から始めて木の幹に向かって戻る
と、各タスク(及びそのタスクの全ての子タスク)は何
度も最適にスケジュールされ(即ち、そのタスク及び、
もしあれば、その子タスクを実行するために使用されて
もよい各可能な数のプロセッサにつき一度)、そのタス
クに可能な他の最適なスケジュールのセット(そのタス
クに割り当てられてもよい各可能な数のプロセッサにつ
き1つの他の最適なスケジュール)を作成する。タスク
が何度も交互に最適にスケジュールされつつあり(各異
なるプロセッサの割り当ての可能性につき一度)、タス
クが少なくとも1つの子タスクを有するときは常に、子
タスクもまた親タスクと共に最適にスケジュールされ
る。これは優先順位制約を尊重するために実行される。
このスケジュールを効率的に実行するために、最適なス
ケジュールと、子タスクがプロシージャの初期において
個々に何度も交互に最適にスケジュールされたときに作
成された子タスクの推定された実行時間とのセットが使
用される。
【0034】タスクが直列と同様に並列で実行可能な2
つの子タスクを有するならば(2つの子タスクの間に優
先順位制約がないため)、各プロセッサに割り当てられ
る数の最適なスケジュールは、1つの可能性として互い
に並列で実行され、他の可能性として互いに直列で実行
され、勿論、互いに並列でスケジュールされるときには
各子タスクに対するプロセッサの各可能な割り当てを分
割して、それら子タスクが他のスケジュールを作成する
ことによって決定される。
【0035】各タスクに関して、最適なスケジュールは
そのタスクに割り当てられてもよい各可能な数のプロセ
ッサで作成され、(そのような各最適なスケジュールの
推定された実行時間と共に)これら最適なスケジュール
が記録される。先に述べたように、子タスクの最適なス
ケジュール及び推定された実行時間のセットはその子タ
スクの親タスク(単数又は複数)を最適にスケジュール
し、ジョブにおける最後の親タスク(即ち、ルートタス
ク)は、第3ステージのジョブで使用されるセットとな
る最適なスケジュール及び対応する推定された実行時間
のセットを作成する。
【0036】並列に作動する複数のプロセッサに優先順
位制約を有する複数のタスクをスケジュールするための
方法は、(a)複数のジョブを定義するステップを備
え、前記ジョブの各々が前記タスクの一部と単一のジョ
ブ内に含まれる前記タスクの対のみに関連する全ての優
先順位の制約を含み、(b)各前記ジョブにおいて、前
記ジョブの前記タスクに複数のタスクスケジュールを作
成するステップを備え、前記タスクスケジュールの各々
が前記ジョブに割り当てられる可能性のある異なる数の
前記プロセッサに対応し、前記ジョブの前記タスク間で
のあらゆる優先順位制約を尊重し、(c)前記タスクス
ケジュールの各々に推定されたジョブ実行時間を決定す
るステップと、(d)前記ジョブの各々及び前記ジョブ
の各々に割り当てられる各異なる数のプロセッサに前記
推定されたジョブ実行時間を用いて、前記ジョブの各々
へのプロセッサの割り当てを決定するステップと、
(e)前記決定された割り当てを用いて前記ジョブにジ
ョブスケジュールを作成するステップと、(f)ステッ
プ(e)で作成されたジョブスケジュールを用いて前記
プロセッサに前記ジョブを実行するステップと、から成
る。
【0037】並列に作動する複数のプロセッサを有する
計算システムで複数の別個のジョブをスケジュールする
ための方法は、前記ジョブの各々が少なくとも1つのタ
スクから成り、少なくとも幾つかの前記ジョブが優先順
位制約のありうる複数のタスクから成り、前記プロセッ
サの各々が別個のタスクを同時に実行することが可能で
あり、(a)各ジョブにおいて推定されたジョブ実行時
間のセットを作成するステップを備え、あらゆる前記セ
ットの各前記推定されたジョブ実行時間が前記各ジョブ
の実行に専用可能な異なる数の前記プロセッサに対応
し、前記推定されたジョブ実行時間が生成されると共
に、前記各ジョブから成るタスクのあらゆる優先順位制
約に従い、(b)各前記推定されたジョブ実行時間にお
いて、ジョブ実行時間と対応するプロセッサの数の積を
計算するステップと、(c)推定されたジョブ実行時間
の各前記セットにおいて、前記計算された積の内の最小
の積を識別し、前記各ジョブの実行のために前記識別さ
れた最小の積に対応する前記プロセッサの数を試験的に
割り当てるステップと、(d)各前記ジョブに前記試験
的に割り当てられた数のプロセッサを用い、前記ジョブ
の各々の内の前記タスクに2次元ビンパッキングアルゴ
リズムを使用することによって、並列にある前記ジョブ
の全てを実行するための試験的な全体スケジュールを作
成するステップと、(e)前記試験的な全体スケジュー
ルに対応する全体実行時間を推定し、前記推定された全
体実行時間を記録するステップと、(f)前記試験的な
全体スケジュールに遊休プロセッサがあるかどうかを決
定するステップと、(g)遊休プロセッサがあるなら
ば、識別されたジョブを実行するために試験的に割り当
てられたプロセッサの最大数よりも少なく、遊休プロセ
ッサの時間の最大量と対応する前記全体スケジュールに
おいてジョブを識別するステップと、(h)前記識別さ
れたジョブを実行するために試験的に割り当てられたプ
ロセッサの数を増加するステップと、(i)前記試験的
な全体スケジュールの前記遊休プロセッサの時間が、増
加によってもはや減少できなくなるまでステップ(d)
乃至(f)を繰り返すステップと、(j)前記記録され
た全体の実行時間から最小の全体実行時間を選択し、前
記プロセッサで並列にある前記ジョブを実行するために
前記最小の記録された全体実行時間に対応する前記試験
的な全体スケジュールを用いるステップと、から成る。
【0038】
【実施例】以下の記載において、簡潔性のために、タス
ク同士の間の優先順位制約が森を形成すると仮定する。
(数学的に、これはエッジのシーケンスを介して所定の
ノードへ接続される全てのノードのセットが木を形成す
ることを意味する。このセットは、所定のノードの接続
された構成要素と称される。そのような木の集合を森と
称する。)この仮定は緩めることができる。図2を特に
参照すると、本発明のステージから成るブロック図が示
されている。
【0039】ブロック10で示されるステージ1は、本
発明の予備ステージである。ステージ1は接続された構
成要素にタスクを区分して、iとjの双方が同じ区画に
ある場合にのみ、
【0040】
【外3】
【0041】換言すれば、各qは森の木に正確に対応す
る。Q個のそのような接続された構成要素があると仮定
する。区分のためのプロシージャは、コーレム(T. Core
m)、リーサーソン(C. Leiserson)、リベスト(R. Rives
t) によるアルゴリズム(McGrawHill (1992), 441-442
頁) に見られる。タスクのQ個のセットの各々が単一の
ジョブから構成されるとして考えるのは好都合である。
(勿論、ジョブの識別子が予め知られている場合は、そ
のようなプロシージャは予備段階として必要とされな
い。)代表となるデータベースの例において、ジョブは
個々の照会及び照会内のステップに対するタスクに対応
する。照会の識別子は予め知られている可能性が高い。
【0042】本発明の残りは事実上階層的である。2つ
の追加のステージ、即ち、ステージ2及びステージ3が
ある。
【0043】1とQの間の所定のジョブqにおけるステ
ージ2の計算がブロック14に示されている。この計算
はブロック12で開始され、ブロック16及び18によ
って制御される。1とプロセッサの総数Pの間にあるプ
ロセッサの各数pにおいて、ステージ2はジョブq内の
タスクの各々のスケジュールを決定する。このスケジュ
ールは関連する優先順位制約に従う。このステージを繰
り返し用いることによって、各q及び各pのジョブ実行
時間の計算が行われる。ステージ2のより詳細な記述は
以下に示される。
【0044】ステージ3はブロック20に示されてい
る。このステージは、ジョブ同士の間に優先順位制約の
ないQ個のジョブでスケジュールを決定する。ステージ
3はステージ2の出力を入力として使用する。ステージ
3のより詳細な記述は以下に示される。
【0045】ステージ2の詳細は図3のブロック図に示
されている。ステージ2のプロシージャの性質を理解す
るために、図4に示されるジョブ優先順位ツリーを考え
る。(ノードはタスクを表す。2つのノードがエッジに
よって接続されるならば、上位ノードに対応するタスク
が開始する前に下位ノードに対応するタスクが終了しな
ければならない。)ステージ2は以下の特性に従うとい
う意味で連続する改良されたプロシージャである。即
ち、タスクが所定のプロセッサに割り当てられるなら
ば、全ての子(及び結果として全ての子孫全体)はそれ
らプロセッサのサブセットに割り当てられる。従って、
ステージ2のプロシージャは非常に強い方法で優先順位
ツリーの構造を尊重する。
【0046】図5は、図4に示されるジョブの可能なス
テージ2の解決法を示している。陰影の付いた領域は浪
費された作業を表す。横軸はプロセッサを表し、縦軸は
時間を表す。なお、ルートタスク(ノード12)は全て
のプロセッサに割り当てられる。ノード12の2つの
子、即ち、ノード10及び11、はそれ自体がサブツリ
ーのルートである。ノード10に対応するサブツリー全
体は、並列として特徴付けられるようにノード11と対
応するサブツリー全体の左側にパックされる。左側のサ
ブツリーを降りながら、ノード10の子と対応するツリ
ー、即ち、ノード7及び8のツリーを考える。ノード7
と対応するサブツリーは、バッチとして特徴付けられる
ようにノード8と対応するサブツリーより上にパックさ
れる。実際、ステージ2のプロシージャは、所定のノー
ドの全ての子に対応するサブツリーが並列方法又はバッ
チ方法でパックされる特性に従う。
【0047】ステージ2のプロシージャは、上記2つの
特性を尊重する最適なスケジュールを見つける。図3を
再び参照する。特に、本発明のステージ2はタスクをト
ポロジカルに順序付けることによって開始するため、
【0048】
【外4】
【0049】はj1 <j2 を意味する。これはブロック
30に示されている。トポロジカル分類のプロシージャ
は、コーレム(T. Corem)、リーサーソン(C. Leiserso
n)、リベスト(R. Rivest) によるアルゴリズム(McGraw
Hill (1992), 485-488頁) に見られる。次に、ダイナミ
ックプログラミングを用いて、葉のノードを上へ、より
小さな数のプロセッサからより大きな数のプロセッサの
順に従って進む。p個のプロセッサを使用するタスクj
及びその全ての子孫において、ステージ2のプロシージ
ャによって見つけられる最適なメイクスパンを、
【0050】
【外5】
【0051】として定義する(ここで、1≦p≦Pとす
る)。
【0052】
【外6】
【0053】を生成するため、ステージ2のプロシージ
ャはp個のプロセッサを使用してタスクjをパックし、
いずれも良い(a)バッチ方法、又は(b)最も可能な
並列方法でパックされた、jの子のサブツリーの全ての
パッキングをタスクjより下に追加する。
【0054】ブロック36は、所定のタスクj及びプロ
セッサの数pにおける
【0055】
【外7】
【0056】の計算を示す。pループの開始がブロック
32に示され、pループはブロック42及び44によっ
て制御される。jループの開始がブロック34に示さ
れ、jループはブロック38及び40によって制御され
る。
【0057】
【外8】
【0058】を計算するため、CHj がjの子の数を示
すとする。CHj =0ならば、
【0059】
【数3】
【0060】に設定する。CHj =1ならば、
【0061】
【数4】
【0062】に設定する。CHj =2ならば、
【0063】
【数5】
【0064】に設定する等となる。ジョブqに対してス
テージ2のプロシージャを使用することで、1とPの間
のプロセッサの各数pにおいてジョブ実行時間
【0065】
【数6】
【0066】が生じる。
【0067】ステージ3のプロシージャは、サブルーチ
ンとしてプロシージャSUBを用いる。このサブルーチ
ンにおいて、各ジョブqは固定数Pq のプロセッサで実
行されるとみなされて、固定された時間の量、例えばT
q 、で実行する。サブルーチンは、優先順位制約のない
ようなタスクのスケジュールを見つける。SUBは、時
間の関数として使用されるプロセッサの数のヒストグラ
ムを利用する。当該ヒストグラムは図6の陰影の部分と
して示される。横軸は使用されるプロセッサの数に対応
する。縦軸は時間を表す。タスクが開始及び終了するよ
うスケジュールされるため、ヒストグラムの形状も変化
する。SUBプロシージャの詳細は、図7のブロック図
に示されている。最初に、ブロック50において、タス
クはタスク時間の最も長いものから最も短いものに、順
に分類される。従って、Tq1>T q2ならばリストのq2
の前にq1 が現れる。ブロック52は、順序付けられた
実行可能リストの作成を表し、全てのタスクは最初に
{1,...Q}である。時間εの順序付けられたリストも
また維持される。所謂現在の時間τは、常に時間リスト
の最小の時間である。(時間リストは、実際、現在の時
間以後の全てのタスク終了時間から成る。)リストは最
初に時間τ=0のみから構成されるため、その時間がプ
ロシージャの開始時における現在の時間である。これら
の初期設定は、ブロック54及び56に示される。勿
論、ブロック58に示されるように、最初のヒストグラ
ムも同様に0である。現在の時間はSUBの実行中には
決して減少しない。更に、タスクはプロシージャが実行
するときに、常に現在の時間に等しい開始時間でプロセ
ッサに割り当てられるので、タスクの開始時間は以前に
割り当てられたあらゆるタスクの開始時間と少なくとも
同じ位の大きさになる。
【0068】ブロック60に示されるように、一般的な
プロシージャのステップは実行可能リストが空になるま
で繰り返される。一般的なステップは以下に示される。
図6を考えると、現在の時間τが示されていると仮定す
る。この時点で使用可能な(即ち、未使用の)プロセッ
サの数がヒストグラムから読み出される。SUBは、プ
ロセッサの数と同じ数を必要とするタスクの実行可能リ
ストを検索する。ブロック62において、そうしたタス
クがあるかどうかがテストされる。そうしたタスクがあ
るならば、リストの最初のタスクqが選ばれ、ブロック
64でτに等しい開始時間を割り当てて、終了時間がτ
+Tq になる。タスクqはブロック66でリストから取
り除かれ、タイムτ+Tq がブロック68の時間リスト
に追加され、ヒストグラムがブロック70において
【0069】
【外9】
【0070】に設定することによって更新される。その
ようなタスクがないならば、現在の時間τはブロック7
2において時間リストから取り除かれ、時間リストの次
の最小の時間がブロック74において新たな現在の時間
となる。ヒストグラムは、現在の時間以後は常に単調で
増加しない。従って、タスクの開始時間でプロセッサの
可用性を検査するのは不十分である。タスクが開始可能
ならば、同じプロセッサで干渉なしに終了までを実行す
ることができる。
【0071】次に、ステージ3自体を示す。図8のブロ
ック図を参照する。各ジョブqにおいて、全体の作業p
q t j (pq )が最小限にされるようにプロセッサの数
qから開始し、Tq =tq (pq )に設定される。こ
れはブロック82で示される。qループの開始はブロッ
ク80で示され、ループはブロック84及び86によっ
て制御される。ブロック88において、浪費された作業
Wが非ゼロに設定され、日付(date)を付けることになっ
た最良のメイクスパンMが無限大に設定される。ブロッ
ク90に示されるように、浪費された作業Wが0に駆動
されるまで繰り返される。一般的なステップは以下に示
される。ブロック92に示されるように、非柔軟なスケ
ジューリングの問題につきSUBを呼び出す。ブロック
94において、日付を付けることになった最良のメイク
スパンMがMの以前の値の最小値と、SUBプロシージ
ャの実行によって見つけられるメイクスパンとに修正さ
れる。関数P−H(τ)は、各時間τにおける未使用の
プロセッサの数を示す。各タスクqを、qが実行してい
た時間の間に生じた浪費された作業の量と対応すること
ができる。すなわち、
【0072】
【数7】
【0073】に設定する。この計算はブロック98で示
される。qループの開始はブロック96で示され、ルー
プはブロック100及び102で制御される。最大値W
q を備えたタスクをボトルネックタスクとみなし、ブロ
ック104に示されるように浪費された作業Wをこの最
大値として修正する。そのタスクqにおいて、プロセッ
サの数を、最小量の作業pTq (p)を備えた値p>p
q に増加する。次にブロック106に示されるように、
q =p、Tq =Tq (pq )に再設定する。ブロック
92において再びSUBを読み出す。プロシージャはボ
トルネックが0に駆動された固定数のステップで終了す
る。すなわち、全てのqでWq =0になる。日付を付け
るために得られる最良のメイクスパンが最終的な解決法
である。
【0074】
【発明の効果】本発明は上記より構成され、優先順位を
備えたタスクにおいて柔軟なスケジューリングの問題の
効率的かつ効果的な解決法が提供される。
【図面の簡単な説明】
【図1】柔軟なスケジューリング問題の入力及び出力を
示す高度なフローチャートである。
【図2】本発明に従ったプロシージャの3つのステージ
の高度なフローチャートである。
【図3】図2のプロシージャの第2ステージのフローチ
ャートである。
【図4】ジョブ優先順位ツリーの一例である。
【図5】図4の例に対する第2ステージの解決法の一例
である。
【図6】図2のプロシージャの第3ステージにおいてS
UBプロシージャによって使用されるヒストグラムであ
る。
【図7】図2のプロシージャの第3ステージにおけるS
UBルーチンのフローチャートである。
【図8】図2のプロシージャの第3ステージのフローチ
ャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン ジョゼフ エドワード トュレク アメリカ合衆国10514、ニューヨーク州チ ャッパクア、クロス リッジ ロード 50 (72)発明者 ジョエル レオナード ウォルフ アメリカ合衆国10536、ニューヨーク州カ トナー、チェロキー コート 7 (72)発明者 フィリップ シ−ルン ユー アメリカ合衆国10514、ニューヨーク州チ ャッパクア、ストーノワイェ 18

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 並列に作動する複数のプロセッサに優先
    順位制約を有する複数のタスクをスケジュールするため
    の方法であって、 (a)複数のジョブを定義するステップを備え、前記ジ
    ョブの各々が前記タスクの一部と単一のジョブ内に含ま
    れる前記タスクの対のみに関連する全ての優先順位の制
    約を含み、 (b)各前記ジョブにおいて、前記ジョブの前記タスク
    に複数のタスクスケジュールを作成するステップを備
    え、前記タスクスケジュールの各々が前記ジョブに割り
    当てられる可能性のある異なる数の前記プロセッサに対
    応し、前記ジョブの前記タスク間でのあらゆる優先順位
    制約を尊重し、 (c)前記タスクスケジュールの各々に推定されたジョ
    ブ実行時間を決定するステップと、 (d)前記ジョブの各々及び前記ジョブの各々に割り当
    てられる各異なる数のプロセッサに前記推定されたジョ
    ブ実行時間を用いて、前記ジョブの各々へのプロセッサ
    の割り当てを決定するステップと、 (e)前記決定された割り当てを用いて前記ジョブにジ
    ョブスケジュールを作成するステップと、 (f)ステップ(e)で作成されたジョブスケジュール
    を用いて前記プロセッサに前記ジョブを実行するステッ
    プと、 から成る複数のタスクのスケジューリング方法。
  2. 【請求項2】 ステップ(a)で定義された前記ジョブ
    の各々がデータベース照会として定義される、請求項1
    に記載の複数のタスクのスケジューリング方法。
  3. 【請求項3】 ステップ(b)が前記ジョブの前記タス
    クの優先順位制約を尊重するように前記ジョブ内の前記
    タスクを順序付けるステップを含む、請求項1に記載の
    複数のタスクのスケジューリング方法。
  4. 【請求項4】 ステップ(d)が、前記タスクスケジュ
    ールの各々毎に推定されたジョブ実行時間とそれに対応
    するプロセッサの数の積を計算するステップを含み、前
    記ジョブの各々へのプロセッサの最初の割り当てが前記
    ジョブの各々にそのように計算された積の内の最小の積
    に対応する、請求項1に記載の複数のタスクのスケジュ
    ーリング方法。
  5. 【請求項5】 ステップ(e)で作成された前記ジョブ
    スケジュールが2次元ビンパッキング方法を用いて作成
    される、請求項1に記載の複数のタスクのスケジューリ
    ング方法。
  6. 【請求項6】 前記ジョブスケジュールの前記ジョブの
    いずれかの内に遊休プロセッサの時間があるかどうかに
    ついてステップ(e)で作成された前記ジョブスケジュ
    ールを解析し、そのような遊休プロセッサの時間がある
    ならば、ステップ(d)において決定された前記割り当
    てを改良し、前記改良された割り当てに基づいて新たな
    ジョブスケジュールを作成するステップと、を更に含む
    請求項1に記載の複数のタスクのスケジューリング方
    法。
  7. 【請求項7】 並列に作動する複数のプロセッサを有す
    る計算システムで複数の別個のジョブをスケジュールす
    るための方法であって、前記ジョブの各々が少なくとも
    1つのタスクから成り、少なくとも幾つかの前記ジョブ
    が優先順位制約のありうる複数のタスクから成り、前記
    プロセッサの各々が別個のタスクを同時に実行すること
    が可能であり、 (a)各ジョブにおいて推定されたジョブ実行時間のセ
    ットを作成するステップを備え、あらゆる前記セットの
    各前記推定されたジョブ実行時間が前記各ジョブの実行
    に専用可能な異なる数の前記プロセッサに対応し、前記
    推定されたジョブ実行時間が生成されると共に、前記各
    ジョブから成るタスクのあらゆる優先順位制約に従い、 (b)各前記推定されたジョブ実行時間において、ジョ
    ブ実行時間と対応するプロセッサの数の積を計算するス
    テップと、 (c)推定されたジョブ実行時間の各前記セットにおい
    て、前記計算された積の内の最小の積を識別し、前記各
    ジョブの実行のために前記識別された最小の積に対応す
    る前記プロセッサの数を試験的に割り当てるステップ
    と、 (d)各前記ジョブに前記試験的に割り当てられた数の
    プロセッサを用い、前記ジョブの各々の内の前記タスク
    に2次元ビンパッキングアルゴリズムを使用することに
    よって、並列にある前記ジョブの全てを実行するための
    試験的な全体スケジュールを作成するステップと、 (e)前記試験的な全体スケジュールに対応する全体実
    行時間を推定し、前記推定された全体実行時間を記録す
    るステップと、 (f)前記試験的な全体スケジュールに遊休プロセッサ
    があるかどうかを決定するステップと、 (g)遊休プロセッサがあるならば、識別されたジョブ
    を実行するために試験的に割り当てられたプロセッサの
    最大数よりも少なく、遊休プロセッサの時間の最大量と
    対応する前記全体スケジュールにおいてジョブを識別す
    るステップと、 (h)前記識別されたジョブを実行するために試験的に
    割り当てられたプロセッサの数を増加するステップと、 (i)前記試験的な全体スケジュールの前記遊休プロセ
    ッサの時間が、増加によってもはや減少できなくなるま
    でステップ(d)乃至(f)を繰り返すステップと、 (j)前記記録された全体の実行時間から最小の全体実
    行時間を選択し、前記プロセッサで並列にある前記ジョ
    ブを実行するために前記最小の記録された全体実行時間
    に対応する前記試験的な全体スケジュールを用いるステ
    ップと、 から成る複数のジョブのスケジューリング方法。
JP5238548A 1992-10-30 1993-09-24 複数のタスク及びジョブのスケジュ―リング方法 Expired - Lifetime JP2528612B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/968,717 US5392430A (en) 1992-10-30 1992-10-30 Hierarchical scheduling method for processing tasks having precedence constraints on a parallel processing system
US968717 1992-10-30

Publications (2)

Publication Number Publication Date
JPH06202882A true JPH06202882A (ja) 1994-07-22
JP2528612B2 JP2528612B2 (ja) 1996-08-28

Family

ID=25514662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5238548A Expired - Lifetime JP2528612B2 (ja) 1992-10-30 1993-09-24 複数のタスク及びジョブのスケジュ―リング方法

Country Status (2)

Country Link
US (1) US5392430A (ja)
JP (1) JP2528612B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792071B2 (en) 2002-07-03 2010-09-07 Nokia Corporation Data transmission method and arrangement

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL106792A (en) * 1993-08-24 1998-02-08 Scitex Corp Ltd System for planning and making illustrations
US5765146A (en) * 1993-11-04 1998-06-09 International Business Machines Corporation Method of performing a parallel relational database query in a multiprocessor environment
JPH07287657A (ja) * 1994-04-19 1995-10-31 Toshiba Corp 制約条件評価装置、エキスパートシステム及び制約条件評価方法
US5592654A (en) * 1994-06-03 1997-01-07 Integrated Device Technology, Inc. Apparatus and method for converting a job conforming to a first protocol into a job conforming to a second protocol
JPH0887341A (ja) * 1994-09-16 1996-04-02 Fujitsu Ltd 自動縮退立ち上げ機能を有したコンピュータシステム
JPH08329151A (ja) * 1995-05-31 1996-12-13 Hitachi Ltd ワークフローシステムの制御方法
US5692174A (en) * 1995-10-05 1997-11-25 International Business Machines Corporation Query parallelism in a shared data DBMS system
US6317774B1 (en) * 1997-01-09 2001-11-13 Microsoft Corporation Providing predictable scheduling of programs using a repeating precomputed schedule
US7020878B1 (en) 1998-08-28 2006-03-28 Oracle International Corporation System for allocating resource using the weight that represents a limitation on number of allowance active sessions associated with each resource consumer group
US7451448B1 (en) 1998-08-28 2008-11-11 Oracle International Corporation Methods for selectively quiescing a computer system
US7526767B1 (en) 1998-08-28 2009-04-28 Oracle International Corporation Methods for automatic group switching according to a resource plan
US6618742B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
US6618820B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
US7302430B1 (en) * 1999-08-31 2007-11-27 International Business Machines Corporation Workflow management system for generating output material based on customer input
US6591287B1 (en) * 1999-09-08 2003-07-08 Lucent Technologies Inc. Method to increase the efficiency of job sequencing from sequential storage
US6859927B2 (en) 1999-12-21 2005-02-22 Lockheed Martin Corporation Apparatus and method for controlling allocation of resources and task execution
US7082606B2 (en) * 2001-05-01 2006-07-25 The Regents Of The University Of California Dedicated heterogeneous node scheduling including backfill scheduling
EP1318453A1 (en) * 2001-12-07 2003-06-11 Hewlett-Packard Company Scheduling system, method and apparatus for a cluster
US7185003B2 (en) * 2002-11-14 2007-02-27 Seisint, Inc. Query scheduling in a parallel-processing database system
US7657540B1 (en) 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
US6904470B1 (en) * 2003-03-26 2005-06-07 Emc Corporation Device selection by a disk adapter scheduler
US7562143B2 (en) * 2004-01-13 2009-07-14 International Business Machines Corporation Managing escalating resource needs within a grid environment
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
US7552437B2 (en) * 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
US7266547B2 (en) * 2004-06-10 2007-09-04 International Business Machines Corporation Query meaning determination through a grid service
US8538997B2 (en) * 2004-06-25 2013-09-17 Apple Inc. Methods and systems for managing data
US8131674B2 (en) 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US7590623B2 (en) * 2005-01-06 2009-09-15 International Business Machines Corporation Automated management of software images for efficient resource node building within a grid environment
US7571120B2 (en) * 2005-01-12 2009-08-04 International Business Machines Corporation Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US7562035B2 (en) * 2005-01-12 2009-07-14 International Business Machines Corporation Automating responses by grid providers to bid requests indicating criteria for a grid job
JP4082706B2 (ja) * 2005-04-12 2008-04-30 学校法人早稲田大学 マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
US8015564B1 (en) * 2005-04-27 2011-09-06 Hewlett-Packard Development Company, L.P. Method of dispatching tasks in multi-processor computing environment with dispatching rules and monitoring of system status
US20060245096A1 (en) * 2005-04-29 2006-11-02 Microsoft Corporation Application framework phasing model
US8132148B2 (en) * 2005-04-29 2012-03-06 Microsoft Corporation XML application framework
US8275793B2 (en) * 2005-04-29 2012-09-25 Microsoft Corporation Transaction transforms
US7886269B2 (en) * 2005-04-29 2011-02-08 Microsoft Corporation XML application framework
US8418132B2 (en) * 2005-04-29 2013-04-09 Microsoft Corporation Application description language
US8281313B1 (en) * 2005-09-29 2012-10-02 Hewlett-Packard Development Company, L.P. Scheduling computer processing jobs that have stages and precedence constraints among the stages
US7926057B2 (en) * 2005-12-15 2011-04-12 International Business Machines Corporation Scheduling of computer jobs employing dynamically determined top job party
US8495613B2 (en) * 2005-12-22 2013-07-23 Microsoft Corporation Program execution service windows
GB0613923D0 (en) * 2006-07-13 2006-08-23 Ibm A method, apparatus and software for managing processing for a plurality of processors
EP2095276B1 (en) * 2006-12-19 2016-11-30 International Business Machines Corporation Method and system for reducing difference in the time of retrieval of data retrieved from different sources
US8028291B2 (en) * 2007-01-22 2011-09-27 International Business Machines Corporation Method and computer program product for job selection and resource allocation of a massively parallel processor
US8510741B2 (en) * 2007-03-28 2013-08-13 Massachusetts Institute Of Technology Computing the processor desires of jobs in an adaptively parallel scheduling environment
US8387066B1 (en) * 2007-09-28 2013-02-26 Emc Corporation Dependency-based task management using set of preconditions to generate scheduling data structure in storage area network
US8813001B2 (en) * 2008-02-01 2014-08-19 Northwestern University System and method for efficient and optimal minimum area retiming
US8230428B2 (en) * 2008-02-20 2012-07-24 International Business Machines Corporation Data management job planning and scheduling with finish time guarantee
US8266168B2 (en) * 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
CA2723204C (en) * 2008-07-02 2013-04-09 Lexisnexis Risk & Information Analytics Group, Inc. Statistical measure and calibration of search criteria where one or both of the search criteria and database is incomplete
KR101513505B1 (ko) * 2008-11-04 2015-04-20 삼성전자주식회사 프로세서 및 인터럽트 처리 방법
US8245234B2 (en) 2009-08-10 2012-08-14 Avaya Inc. Credit scheduler for ordering the execution of tasks
US8458710B2 (en) * 2009-09-03 2013-06-04 Hewlett-Packard Development Company, L. P. Scheduling jobs for execution on a computer system
US9411859B2 (en) 2009-12-14 2016-08-09 Lexisnexis Risk Solutions Fl Inc External linking based on hierarchical level weightings
US9189505B2 (en) 2010-08-09 2015-11-17 Lexisnexis Risk Data Management, Inc. System of and method for entity representation splitting without the need for human interaction
US8561074B2 (en) * 2010-11-19 2013-10-15 Hewlett-Packard Development Company, L.P. Enhanced backup job scheduling
US9372735B2 (en) 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US9170849B2 (en) 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
US8904008B2 (en) 2012-01-09 2014-12-02 Microsoft Corporation Assignment of resources in virtual machine pools
JP6369170B2 (ja) * 2014-07-02 2018-08-08 富士通株式会社 実行時間推定装置及び方法
US10877816B2 (en) * 2016-04-20 2020-12-29 Samsung Electronics Co., Ltd. Optimal task scheduler
CN116560312B (zh) * 2023-04-21 2024-04-30 吉林师范大学 动态调整设备优先级的柔性综合调度方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648253A (en) * 1969-12-10 1972-03-07 Ibm Program scheduler for processing systems
US3916383A (en) * 1973-02-20 1975-10-28 Memorex Corp Multi-processor data processing system
US4642756A (en) * 1985-03-15 1987-02-10 S & H Computer Systems, Inc. Method and apparatus for scheduling the execution of multiple processing tasks in a computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792071B2 (en) 2002-07-03 2010-09-07 Nokia Corporation Data transmission method and arrangement

Also Published As

Publication number Publication date
JP2528612B2 (ja) 1996-08-28
US5392430A (en) 1995-02-21

Similar Documents

Publication Publication Date Title
JPH06202882A (ja) 複数のタスク及びジョブのスケジューリング方法
CN107301500B (zh) 一种基于关键路径任务前瞻的工作流调度方法
Liu et al. Multi-objective scheduling of scientific workflows in multisite clouds
US7082606B2 (en) Dedicated heterogeneous node scheduling including backfill scheduling
CN110321222B (zh) 基于决策树预测的数据并行作业资源分配方法
Fohler Joint scheduling of distributed complex periodic and hard aperiodic tasks in statically scheduled systems
Ilavarasan et al. Performance effective task scheduling algorithm for heterogeneous computing system
Herroelen Resource-constrained project scheduling—the state of the art
JPH09171503A (ja) 並列処理方法および並列処理装置
WO2012144985A1 (en) Scheduling map and reduce tasks of jobs for execution according to performance goals
Wu et al. Optimizing the performance of big data workflows in multi-cloud environments under budget constraint
JP2006244479A (ja) 実行可能プログラムをスケジューリングするためのシステム及び方法
CN111861412A (zh) 面向完成时间优化的科学工作流调度方法及系统
Goux et al. Solving large MINLPs on computational grids
US20230004440A1 (en) Allocating of computing resources for applications
Tariq et al. Directed acyclic graph based task scheduling algorithm for heterogeneous systems
Mahjoub et al. Scheduling with uncertainties on new computing platforms
Dillenberger et al. On solving a large-scale resource allocation problem in production planning
JP5000735B2 (ja) 部材割付システム
Chakrabarti et al. Resource scheduling for parallel database and scientific applications
Ahmad et al. Performance analysis of list scheduling algorithms by random synthetic DAGs
JP2009098924A (ja) 部材割付システム
CN110008002B (zh) 基于平稳分布概率的作业调度方法、装置、终端和介质
JP6753521B2 (ja) 計算資源管理装置、計算資源管理方法、及びプログラム
Beaumont et al. Task scheduling for parallel multifrontal methods