JPH05165397A - スケジューリング装置 - Google Patents
スケジューリング装置Info
- Publication number
- JPH05165397A JPH05165397A JP3328706A JP32870691A JPH05165397A JP H05165397 A JPH05165397 A JP H05165397A JP 3328706 A JP3328706 A JP 3328706A JP 32870691 A JP32870691 A JP 32870691A JP H05165397 A JPH05165397 A JP H05165397A
- Authority
- JP
- Japan
- Prior art keywords
- constraint
- task
- redundant
- dependency graph
- processing
- 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
Links
Abstract
(57)【要約】
【目的】 先行制約関係を持った複数の処理タスクに資
源割当を決定する時の処理時間を短縮できるスケジュー
リング装置を得る。 【構成】 冗長制約除去部43によって、複数の処理タ
スク相互の先行制約関係の中から、他の複数のタスク間
制約関係の組み合わせで代替表現可能なタスク間制約関
係を冗長なタスク間制約関係として検出し除去する。
源割当を決定する時の処理時間を短縮できるスケジュー
リング装置を得る。 【構成】 冗長制約除去部43によって、複数の処理タ
スク相互の先行制約関係の中から、他の複数のタスク間
制約関係の組み合わせで代替表現可能なタスク間制約関
係を冗長なタスク間制約関係として検出し除去する。
Description
【0001】
【産業上の利用分野】この発明は、スケジューリング装
置に関し、特に並列処理及び分散処理における処理要求
に対して、先行制約関係を持つ複数の処理タスクを有限
資源に割り当てるものに関する。
置に関し、特に並列処理及び分散処理における処理要求
に対して、先行制約関係を持つ複数の処理タスクを有限
資源に割り当てるものに関する。
【0002】
【従来の技術】この種のスケジューリング装置は、相互
に例えば順序関係などの先行制約関係を持つ複数の処理
単位タスクの処理において、タスクの先行制約関係を満
足し、かつ高い処理効率が得られるように、タスクが要
求するプロセッサ,メモリや周辺装置などの有限資源の
割当を決定する。全てのタスク間の先行制約関係と資源
要求がタスク実行以前に明確である時、この問題は静的
スケジューリング問題となる。
に例えば順序関係などの先行制約関係を持つ複数の処理
単位タスクの処理において、タスクの先行制約関係を満
足し、かつ高い処理効率が得られるように、タスクが要
求するプロセッサ,メモリや周辺装置などの有限資源の
割当を決定する。全てのタスク間の先行制約関係と資源
要求がタスク実行以前に明確である時、この問題は静的
スケジューリング問題となる。
【0003】この静的スケジューリング問題を解決する
従来装置の代表的なものとして、特開平3ー56983
号公報に掲載されたものがある。このプラントシミュレ
ーション装置用のシミュレーションコード生成装置にお
けるコード生成処理を示すフローチャートを図4に示
す。図において、問題プログラムをST1でタスクに分
割し、ST2でタスク相互の先行制約関係、即ちタスク
因果関係を解析する。次に、ST3においてST2の解
析結果からスケジューリング方式が静的スケジューリン
グか動的スケジューリングかを判断する。この結果、静
的スケジューリングと判断した時はタスク負荷測定(S
T4),スケジュール決定(ST5),実行制御ルーチ
ン追加(ST6)を行う。一方、ST3で動的スケジュ
ーリングと判断した時はスケジューリングルーチン追加
(ST7)を行う。次にタスクに対するプロセッサ割当
を決定し、ST8にて並列シミュレーションコードを出
力する。
従来装置の代表的なものとして、特開平3ー56983
号公報に掲載されたものがある。このプラントシミュレ
ーション装置用のシミュレーションコード生成装置にお
けるコード生成処理を示すフローチャートを図4に示
す。図において、問題プログラムをST1でタスクに分
割し、ST2でタスク相互の先行制約関係、即ちタスク
因果関係を解析する。次に、ST3においてST2の解
析結果からスケジューリング方式が静的スケジューリン
グか動的スケジューリングかを判断する。この結果、静
的スケジューリングと判断した時はタスク負荷測定(S
T4),スケジュール決定(ST5),実行制御ルーチ
ン追加(ST6)を行う。一方、ST3で動的スケジュ
ーリングと判断した時はスケジューリングルーチン追加
(ST7)を行う。次にタスクに対するプロセッサ割当
を決定し、ST8にて並列シミュレーションコードを出
力する。
【0004】
【発明が解決しようとする課題】スケジューリング問題
の本質は組合せ問題であるから、考慮すべき資源の種類
や先行制約関係の数が増えると問題の複雑性は級数的に
増大する。従って、上記のような従来のスケジューリン
グ装置では、スケジューリング処理に多大の時間が必要
になるという問題点があった。
の本質は組合せ問題であるから、考慮すべき資源の種類
や先行制約関係の数が増えると問題の複雑性は級数的に
増大する。従って、上記のような従来のスケジューリン
グ装置では、スケジューリング処理に多大の時間が必要
になるという問題点があった。
【0005】この発明は、かかる問題点を解決するため
になされたもので、スケジューリング処理において考慮
すべき処理タスク間の先行制約関係を整理して必要十分
な先行制約関係を生成することにより、スケジューリン
グ処理に要する時間を短縮できるスケジューリング装置
を得ることを目的としている。
になされたもので、スケジューリング処理において考慮
すべき処理タスク間の先行制約関係を整理して必要十分
な先行制約関係を生成することにより、スケジューリン
グ処理に要する時間を短縮できるスケジューリング装置
を得ることを目的としている。
【0006】
【課題を解決するための手段】この発明の請求項1の発
明に係るスケジューリング装置は、複数の処理タスク相
互の先行制約関係の中から、他の複数のタスク間制約関
係の組み合わせで代替表現可能なタスク間制約関係を冗
長なタスク間制約関係として検出し除去する冗長制約除
去手段を備えたことを特徴とするものである。
明に係るスケジューリング装置は、複数の処理タスク相
互の先行制約関係の中から、他の複数のタスク間制約関
係の組み合わせで代替表現可能なタスク間制約関係を冗
長なタスク間制約関係として検出し除去する冗長制約除
去手段を備えたことを特徴とするものである。
【0007】また、請求項2の発明は、処理タスクそれ
ぞれの資源アクセス手順に基づいて処理タスク全体の先
行制約関係を行列表現式Gとして第1依存グラフに表わ
す依存グラフ処理手段、及び他の複数の処理タスク相互
の先行制約関係の中から、他の複数のタスク間制約関係
の組み合わせで代替表現可能なタスク間制約関係を冗長
なタスク間制約関係として、第1依存グラフから検出し
除去して第2依存グラフに表わす冗長制約除去手段を備
えたことを特徴とするものである。
ぞれの資源アクセス手順に基づいて処理タスク全体の先
行制約関係を行列表現式Gとして第1依存グラフに表わ
す依存グラフ処理手段、及び他の複数の処理タスク相互
の先行制約関係の中から、他の複数のタスク間制約関係
の組み合わせで代替表現可能なタスク間制約関係を冗長
なタスク間制約関係として、第1依存グラフから検出し
除去して第2依存グラフに表わす冗長制約除去手段を備
えたことを特徴とするものである。
【0008】また、請求項3の発明では、冗長制約除去
手段は、行列表現式で表わされているタスクの先行制約
関係Gよりmが2以上の時のm−可到達行列Hを導く計
算手段と、行列表現式Gとm−可到達行列Hのどちらに
も表われるタスク間制約関係を冗長なタスク間制約関係
として検出し除去する処理手段を備えたことを特徴とす
るものである。
手段は、行列表現式で表わされているタスクの先行制約
関係Gよりmが2以上の時のm−可到達行列Hを導く計
算手段と、行列表現式Gとm−可到達行列Hのどちらに
も表われるタスク間制約関係を冗長なタスク間制約関係
として検出し除去する処理手段を備えたことを特徴とす
るものである。
【0009】
【作用】上記のように構成されたスケジューリング装置
では、冗長制約除去手段によって、複数の処理タスク相
互の先行制約関係の中から、他の複数のタスク間制約関
係の組み合わせで代替表現可能なタスク間制約関係を冗
長なタスク間制約関係として検出し除去するので、実際
のスケジューリング処理時に処理対象となるタスク間制
約関係を少なくすることかでき、高速化が図れる。
では、冗長制約除去手段によって、複数の処理タスク相
互の先行制約関係の中から、他の複数のタスク間制約関
係の組み合わせで代替表現可能なタスク間制約関係を冗
長なタスク間制約関係として検出し除去するので、実際
のスケジューリング処理時に処理対象となるタスク間制
約関係を少なくすることかでき、高速化が図れる。
【0010】また、冗長制約除去手段を実行する際、依
存グラフ処理手段によって、処理タスクそれぞれの資源
アクセス手順に基づいて処理タスク全体の先行制約関係
の行列表現式Gとして表わすので、行列演算で処理で
き、更に高速化される。
存グラフ処理手段によって、処理タスクそれぞれの資源
アクセス手順に基づいて処理タスク全体の先行制約関係
の行列表現式Gとして表わすので、行列演算で処理で
き、更に高速化される。
【0011】
実施例1.この発明の一実施例によるスケジューリング
装置の構成を図1に示す。図において、41は先行制約
関係を入力する先行制約入力部、42は依存グラフを作
成する依存グラフ合成部、43は冗長なタスク間制約関
係を検出して除去する冗長制約除去部、44はスケジュ
ーリング前処理部、45はスケジューリング部である。
先行制約入力部41で個々の先行制約関係を与え、依存
グラフ合成部42,冗長制約除去部43では必要十分な
タスク依存グラフを合成し、スケジューリング部45で
実際にスケジューリングしてタスクに対する資源割当を
決定する。
装置の構成を図1に示す。図において、41は先行制約
関係を入力する先行制約入力部、42は依存グラフを作
成する依存グラフ合成部、43は冗長なタスク間制約関
係を検出して除去する冗長制約除去部、44はスケジュ
ーリング前処理部、45はスケジューリング部である。
先行制約入力部41で個々の先行制約関係を与え、依存
グラフ合成部42,冗長制約除去部43では必要十分な
タスク依存グラフを合成し、スケジューリング部45で
実際にスケジューリングしてタスクに対する資源割当を
決定する。
【0012】次に依存グラフ合成部42における処理に
ついて、更に詳しく説明する。処理タスクの先行制約関
係とは、処理タスクの実行手順と、メモリ,入出力装置
などの有限資源のアクセス順序によって規定される。従
って、タスク先行制約関係を解析して、それぞれの資源
に対する処理タスクのアクセス手順を調べ、資源アクセ
ス手順テーブルに記述する。このテーブルに基づいて、
第1依存グラフを生成する。この第1依存グラフはタス
ク数nを寸法とする(n×n)の行列表現式で表現す
る。行列要素(i,j)が1の時はタスクiがjに先行
する制約関係を持つことを意味し、行列要素(i,j)
が0の時は制約関係が無いことを意味する。この第1依
存グラフの行列に対して、資源アクセス手順テーブルを
参照して各資源に関するタスク先行制約関係を順に書き
込んでいく。ただし、既にタスク間先行制約関係が記入
されて値が1となっている行列要素は、1のままとす
る。全ての資源アクセス手順に基づくタスク先行制約関
係を行列に移した時、図2に示すような第1依存グラフ
が生成される。図2において、第1依存グラフのノード
が処理タスク、ノードを繋ぐパスがタスク間先行制約関
係となる。即ち、N1〜N5は処理タスクを示す第1依
存グラフのノード、P1〜P7はタスク間制約関係を示
す第1依存グラフのパスである。図2と式1は同じ意味
を表わしている。
ついて、更に詳しく説明する。処理タスクの先行制約関
係とは、処理タスクの実行手順と、メモリ,入出力装置
などの有限資源のアクセス順序によって規定される。従
って、タスク先行制約関係を解析して、それぞれの資源
に対する処理タスクのアクセス手順を調べ、資源アクセ
ス手順テーブルに記述する。このテーブルに基づいて、
第1依存グラフを生成する。この第1依存グラフはタス
ク数nを寸法とする(n×n)の行列表現式で表現す
る。行列要素(i,j)が1の時はタスクiがjに先行
する制約関係を持つことを意味し、行列要素(i,j)
が0の時は制約関係が無いことを意味する。この第1依
存グラフの行列に対して、資源アクセス手順テーブルを
参照して各資源に関するタスク先行制約関係を順に書き
込んでいく。ただし、既にタスク間先行制約関係が記入
されて値が1となっている行列要素は、1のままとす
る。全ての資源アクセス手順に基づくタスク先行制約関
係を行列に移した時、図2に示すような第1依存グラフ
が生成される。図2において、第1依存グラフのノード
が処理タスク、ノードを繋ぐパスがタスク間先行制約関
係となる。即ち、N1〜N5は処理タスクを示す第1依
存グラフのノード、P1〜P7はタスク間制約関係を示
す第1依存グラフのパスである。図2と式1は同じ意味
を表わしている。
【0013】
【数1】
【0014】次に冗長制約除去部43における処理につ
いて、更に詳しく説明する。ここで冗長なタスク間制約
関係とは、その制約関係が無くともタスク全体の順序関
係が同一であり、スケジューリング結果が等価であるも
のをいう。第1依存グラフにおいて、あるノードから別
のノードにm本のパスを通って到達することをmステッ
プで到達するという。例えば、N1からN4に到達する
には、P2の1ステップで到達するか、P1とP4の2
ステップで到達できる。m−ステップで到達するノード
集合をm−到達集合といい、mステップ以内で到達でき
るノード集合をm−可到達集合という。ここで、第1依
存グラフの各ノードのm−到達集合を表わした行列をm
−到達行列と定義する。
いて、更に詳しく説明する。ここで冗長なタスク間制約
関係とは、その制約関係が無くともタスク全体の順序関
係が同一であり、スケジューリング結果が等価であるも
のをいう。第1依存グラフにおいて、あるノードから別
のノードにm本のパスを通って到達することをmステッ
プで到達するという。例えば、N1からN4に到達する
には、P2の1ステップで到達するか、P1とP4の2
ステップで到達できる。m−ステップで到達するノード
集合をm−到達集合といい、mステップ以内で到達でき
るノード集合をm−可到達集合という。ここで、第1依
存グラフの各ノードのm−到達集合を表わした行列をm
−到達行列と定義する。
【0015】m−到達行列の各要素はタスクi,j間の
m−到達経路の数を表わしている。第1依存グラフの接
続関係を変更してもm−可到達集合が等価である時、m
−可到達性は保存されるという。第1依存グラフにおけ
る冗長パスとは、そのパスがなくてもタスク間前後関係
が変わらないパスのことであり、そのパスが接続する2
つの処理タスクを別の経路を通ってで到達できることで
ある。即ち、図2におけるP2,P5,P7は冗長パス
である。冗長制約除去部43ではこのような冗長パスを
検出し除去して、依存グラフの可到達性を保存するよう
なパス数最少のグラフを導くことである。
m−到達経路の数を表わしている。第1依存グラフの接
続関係を変更してもm−可到達集合が等価である時、m
−可到達性は保存されるという。第1依存グラフにおけ
る冗長パスとは、そのパスがなくてもタスク間前後関係
が変わらないパスのことであり、そのパスが接続する2
つの処理タスクを別の経路を通ってで到達できることで
ある。即ち、図2におけるP2,P5,P7は冗長パス
である。冗長制約除去部43ではこのような冗長パスを
検出し除去して、依存グラフの可到達性を保存するよう
なパス数最少のグラフを導くことである。
【0016】まず、第1依存グラフの行列表現式Gに対
して、現在のタスク状態を表わす長さがタスク数nのタ
スク状態ベクトルXを定義する。Xの要素x(k)は、
タスクkに資源が割り当てられている時に1であり、資
源待ち状態の時に0である。さて、タスク初期状態X0
からのステップ数m=1の到達集合は、資源割当ノード
からの直接パスの行き先の全てのノードであるから、第
1依存グラフの行列表現式Gとm−到達行列は同一であ
り、式2で得られる。 X1 =GX0 ・・・(2) 同様に繰り返して,X0 からのm−到達集合Xm は式3
で得られる。 Xm =GXm-1 =G2 Xm-2 =・・・=Gm X0 =Gm X0 ・・・(3) ただし、G1 =Gである。
して、現在のタスク状態を表わす長さがタスク数nのタ
スク状態ベクトルXを定義する。Xの要素x(k)は、
タスクkに資源が割り当てられている時に1であり、資
源待ち状態の時に0である。さて、タスク初期状態X0
からのステップ数m=1の到達集合は、資源割当ノード
からの直接パスの行き先の全てのノードであるから、第
1依存グラフの行列表現式Gとm−到達行列は同一であ
り、式2で得られる。 X1 =GX0 ・・・(2) 同様に繰り返して,X0 からのm−到達集合Xm は式3
で得られる。 Xm =GXm-1 =G2 Xm-2 =・・・=Gm X0 =Gm X0 ・・・(3) ただし、G1 =Gである。
【0017】従って、m−可到達集合Ym は式4で表さ
れる。 Ym = X1 +X2 +・・・+Xm = (G1 +G2 +・・・+Gm )Xm = Fm Xm ・・・(4) ここで、(m>1)ー可到達行列を式5で定義する。 H(m>1) = G2 +G3 +・・・+Gm ・・・(5)
れる。 Ym = X1 +X2 +・・・+Xm = (G1 +G2 +・・・+Gm )Xm = Fm Xm ・・・(4) ここで、(m>1)ー可到達行列を式5で定義する。 H(m>1) = G2 +G3 +・・・+Gm ・・・(5)
【0018】m−可到達行列H(m>1)は、その要素
h(m>1)(i,j)が0でなければ、ノードi,j
間が複数ステップで到達できることを意味する。グラフ
の冗長パスとは、複数ステップで到達できるノード間の
直接パスであるから、式6の条件に当てはまる依存グラ
フGのパスである。 h(m>1)(i,j)>0かつg(i,j)=1ならば g(i,j)=0 ・・・(6) 式6により、もとの第1依存グラフGから冗長制約を除
去した可到達性が保存されたパス数最小の第2依存グラ
フG’が得られたことになる。
h(m>1)(i,j)が0でなければ、ノードi,j
間が複数ステップで到達できることを意味する。グラフ
の冗長パスとは、複数ステップで到達できるノード間の
直接パスであるから、式6の条件に当てはまる依存グラ
フGのパスである。 h(m>1)(i,j)>0かつg(i,j)=1ならば g(i,j)=0 ・・・(6) 式6により、もとの第1依存グラフGから冗長制約を除
去した可到達性が保存されたパス数最小の第2依存グラ
フG’が得られたことになる。
【0019】ただし、第1依存グラフにおいて、いくつ
かのパスを通って自分に戻ってくるループ経路が存在す
る時、上の手法ではループを構成するパスは冗長パスと
判断されるが、除去するとループが壊れるため可到達性
が破壊される。従って、この装置は第1依存グラフにル
ープが存在すると適用できない。
かのパスを通って自分に戻ってくるループ経路が存在す
る時、上の手法ではループを構成するパスは冗長パスと
判断されるが、除去するとループが壊れるため可到達性
が破壊される。従って、この装置は第1依存グラフにル
ープが存在すると適用できない。
【0020】以上が実施例1における冗長制約関係の検
出,除去の原理である。この計算はGm を逐次的に計算
することにより、計算に必要な記憶領域を小さくでき
る。このアルゴリズムを以下に示す。 1.Gn =Gn-1 ×G (G:第1依存グラフ) 2.Gn =0 ならば終了 3.H(m>1)=G2 +G3 +…+Gn-1 4.もし(h(m>1)(i,j)>0かつg(i,
j)>0)ならば、g(i,j)=0 5.全てのi,j について上記4を行って、必要十分
な第2依存グラフG’を得る。
出,除去の原理である。この計算はGm を逐次的に計算
することにより、計算に必要な記憶領域を小さくでき
る。このアルゴリズムを以下に示す。 1.Gn =Gn-1 ×G (G:第1依存グラフ) 2.Gn =0 ならば終了 3.H(m>1)=G2 +G3 +…+Gn-1 4.もし(h(m>1)(i,j)>0かつg(i,
j)>0)ならば、g(i,j)=0 5.全てのi,j について上記4を行って、必要十分
な第2依存グラフG’を得る。
【0021】図2に示す第1依存グラフから上記のアル
ゴリズムに従い冗長制約を検出し除去する。まず、G2
〜G4 のそれぞれを計算すると、式7のようになる。
ゴリズムに従い冗長制約を検出し除去する。まず、G2
〜G4 のそれぞれを計算すると、式7のようになる。
【0022】
【数2】
【0023】これから、H(m>1)を求めると、式8
となり、上記アルゴリズム4から冗長なパスは、P2
(1、4),P5(2,4),P7(2,5)となる。
となり、上記アルゴリズム4から冗長なパスは、P2
(1、4),P5(2,4),P7(2,5)となる。
【0024】
【数3】
【0025】必要十分な第2依存グラフG’は式9で表
される。
される。
【0026】
【数4】
【0027】これを樹木型に表現すると、図3に示すよ
うになる。この実施例は第1依存グラフとしてループの
無い依存グラフを前提としているので、最大の可到達経
路長はたかだか全タスク数nである。従って、必ずk+
1=nまでにGk =0となって終了するので、処理の停
止性が明確である。
うになる。この実施例は第1依存グラフとしてループの
無い依存グラフを前提としているので、最大の可到達経
路長はたかだか全タスク数nである。従って、必ずk+
1=nまでにGk =0となって終了するので、処理の停
止性が明確である。
【0028】上記の動作から明らかなように、実施例1
によるスケジューリング装置では、分散処理あるいは並
列処理における資源スケジューリング処理にかかる時間
が短縮される。また、後戻り探索法による冗長パス検出
装置に比べ、時間とメモリが小さくできる。
によるスケジューリング装置では、分散処理あるいは並
列処理における資源スケジューリング処理にかかる時間
が短縮される。また、後戻り探索法による冗長パス検出
装置に比べ、時間とメモリが小さくできる。
【0029】なお、上記計算の要素の値が0叉は1以上
としか判断していない点に注目し、行列要素をビット列
として表わし、積を論理積、和を論理和として計算すれ
ば、さらに高速計算を可能にでき、処理時間の短縮でき
るスケジューリング装置が得られる。
としか判断していない点に注目し、行列要素をビット列
として表わし、積を論理積、和を論理和として計算すれ
ば、さらに高速計算を可能にでき、処理時間の短縮でき
るスケジューリング装置が得られる。
【0030】叉、上記実施例1では冗長制約関係を削除
する処理がスケジューリング前処理部44として独立し
た構成となっているが、前処理部44の冗長制約除去部
43だけをとりだして、依存関係解析装置の一部あるい
はスケジューリング装置の一部として実現しても上記実
施例1と同様の効果を奏する。
する処理がスケジューリング前処理部44として独立し
た構成となっているが、前処理部44の冗長制約除去部
43だけをとりだして、依存関係解析装置の一部あるい
はスケジューリング装置の一部として実現しても上記実
施例1と同様の効果を奏する。
【0031】
【発明の効果】以上のように、請求項1の発明によれ
ば、先行制約関係を持つ複数の処理タスクに有限資源を
割り当てるスケジューリング装置において、複数の処理
タスク相互の先行制約関係の中から、他の複数のタスク
間制約関係の組み合わせで代替表現可能なタスク間制約
関係を冗長なタスク間制約関係として検出し除去する冗
長制約除去手段を備えたことにより、処理時間が短縮で
きるスケジューリング装置が得られる効果がある。
ば、先行制約関係を持つ複数の処理タスクに有限資源を
割り当てるスケジューリング装置において、複数の処理
タスク相互の先行制約関係の中から、他の複数のタスク
間制約関係の組み合わせで代替表現可能なタスク間制約
関係を冗長なタスク間制約関係として検出し除去する冗
長制約除去手段を備えたことにより、処理時間が短縮で
きるスケジューリング装置が得られる効果がある。
【0032】また、請求項2の発明によれば、先行制約
関係を持つ複数の処理タスクに有限資源を割り当てるス
ケジューリング装置において、処理タスクそれぞれの資
源アクセス手順に基づいてタスク全体の先行制約関係を
行列表現式Gとして第1依存グラフに表わす依存グラフ
処理手段、及び他の複数の処理タスク相互の先行制約関
係の中から、他の複数のタスク間制約関係の組み合わせ
で代替表現可能なタスク間制約関係を冗長なタスク間制
約関係として、第1依存グラフから検出し除去して第2
依存グラフに表わす冗長制約除去手段を備えたことによ
り、さらに処理時間が短縮できるスケジューリング装置
が得られる効果がある。
関係を持つ複数の処理タスクに有限資源を割り当てるス
ケジューリング装置において、処理タスクそれぞれの資
源アクセス手順に基づいてタスク全体の先行制約関係を
行列表現式Gとして第1依存グラフに表わす依存グラフ
処理手段、及び他の複数の処理タスク相互の先行制約関
係の中から、他の複数のタスク間制約関係の組み合わせ
で代替表現可能なタスク間制約関係を冗長なタスク間制
約関係として、第1依存グラフから検出し除去して第2
依存グラフに表わす冗長制約除去手段を備えたことによ
り、さらに処理時間が短縮できるスケジューリング装置
が得られる効果がある。
【0033】また、請求項3の発明によれば、請求項2
における冗長制約除去手段を、行列表現式で表わされて
いるタスクの先行制約関係Gよりmが2以上の時のm−
可到達行列Hを導く計算手段と、行列表現式Gとm−可
到達行列Hのどちらにも表われるタスク間制約関係を冗
長なタスク間制約関係として検出し除去する処理手段を
備えたことにより、さらに処理時間が短縮できるスケジ
ューリング装置が得られる効果がある。
における冗長制約除去手段を、行列表現式で表わされて
いるタスクの先行制約関係Gよりmが2以上の時のm−
可到達行列Hを導く計算手段と、行列表現式Gとm−可
到達行列Hのどちらにも表われるタスク間制約関係を冗
長なタスク間制約関係として検出し除去する処理手段を
備えたことにより、さらに処理時間が短縮できるスケジ
ューリング装置が得られる効果がある。
【図1】この発明の実施例1によるスケジューリング装
置を示すブロック図である。
置を示すブロック図である。
【図2】この発明の実施例1に係る第1依存グラフを示
す説明図である。
す説明図である。
【図3】この発明の実施例1に係る第2依存グラフを示
す説明図である。
す説明図である。
【図4】従来のスケジューリング装置による処理手順を
示すフローチャートである。
示すフローチャートである。
42 依存グラフ合成部 43 冗長制約除去部 45 スケジューリング部
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年2月26日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項2
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正内容】
【0001】
【産業上の利用分野】この発明は、スケジューリング装
置に関し、特に並列処理及び分散処理における処理要求
に対して、先行制約関係を持つ複数の処理タスクに有限
資源を割り当てるものに関する。
置に関し、特に並列処理及び分散処理における処理要求
に対して、先行制約関係を持つ複数の処理タスクに有限
資源を割り当てるものに関する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正内容】
【0007】また、請求項2の発明は、処理タスクそれ
ぞれの資源アクセス手順に基づいて処理タスク全体の先
行制約関係を行列表現式Gとして第1依存グラフに表わ
す依存グラフ合成手段、及び他の複数の処理タスク相互
の先行制約関係の中から、他の複数のタスク間制約関係
の組み合わせで代替表現可能なタスク間制約関係を冗長
なタスク間制約関係として、第1依存グラフから検出し
除去して第2依存グラフに表わす冗長制約除去手段を備
えたことを特徴とするものである。
ぞれの資源アクセス手順に基づいて処理タスク全体の先
行制約関係を行列表現式Gとして第1依存グラフに表わ
す依存グラフ合成手段、及び他の複数の処理タスク相互
の先行制約関係の中から、他の複数のタスク間制約関係
の組み合わせで代替表現可能なタスク間制約関係を冗長
なタスク間制約関係として、第1依存グラフから検出し
除去して第2依存グラフに表わす冗長制約除去手段を備
えたことを特徴とするものである。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正内容】
【0010】また、冗長制約除去手段を実行する際、依
存グラフ処理手段によって、処理タスクそれぞれの資源
アクセス手順に基づいて処理タスク全体の先行制約関係
の行列表現式Gとして表わすので、行列演算で処理で
き、高速に冗長制約除去を行える。
存グラフ処理手段によって、処理タスクそれぞれの資源
アクセス手順に基づいて処理タスク全体の先行制約関係
の行列表現式Gとして表わすので、行列演算で処理で
き、高速に冗長制約除去を行える。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正内容】
【0011】
【実施例】 実施例1.この発明の一実施例によるスケジューリング
装置の構成を図1に示す。図において、41は複数の処
理タスクの先行制約関係を入力する先行制約入力部、4
2は依存グラフを作成する依存グラフ合成手段、例えば
ここでは依存グラフ合成部で、先行制約入力部41で入
力された処理タスクそれぞれの有限資源のアクセス手順
に基づいて、処理タスク全体の先行制約関係を行列表現
式Gとして第1依存グラフに表わす。43は冗長なタス
ク間制約関係を検出して除去する冗長制約除去手段で、
例えばここでは冗長制約除去部であり、他の複数の処理
タスク相互の先行制約関係の中から、他の複数のタスク
間制約関係の組み合わせで代替表現可能なタスク間制約
関係を冗長なタスク間制約関係として、第1依存グラフ
から検出し除去して第2依存グラフに表わす。44は実
際のスケジューリングの前に必要な処理を行うスケジュ
ーリング前処理部、45は実際のスケジューリングを行
うスケジューリング部である。このスケジューリング前
処理部44は先行制約入力部41、依存グラフ合成部4
2,冗長制約除去部43で構成されている。概略的な処
理は、先行制約入力部41で個々の先行制約関係を与
え、依存グラフ合成部42,冗長制約除去部43では必
要十分なタスク依存グラフを合成し、スケジューリング
部45で実際にスケジューリングして処理タスクに対す
る資源割当を決定する。
装置の構成を図1に示す。図において、41は複数の処
理タスクの先行制約関係を入力する先行制約入力部、4
2は依存グラフを作成する依存グラフ合成手段、例えば
ここでは依存グラフ合成部で、先行制約入力部41で入
力された処理タスクそれぞれの有限資源のアクセス手順
に基づいて、処理タスク全体の先行制約関係を行列表現
式Gとして第1依存グラフに表わす。43は冗長なタス
ク間制約関係を検出して除去する冗長制約除去手段で、
例えばここでは冗長制約除去部であり、他の複数の処理
タスク相互の先行制約関係の中から、他の複数のタスク
間制約関係の組み合わせで代替表現可能なタスク間制約
関係を冗長なタスク間制約関係として、第1依存グラフ
から検出し除去して第2依存グラフに表わす。44は実
際のスケジューリングの前に必要な処理を行うスケジュ
ーリング前処理部、45は実際のスケジューリングを行
うスケジューリング部である。このスケジューリング前
処理部44は先行制約入力部41、依存グラフ合成部4
2,冗長制約除去部43で構成されている。概略的な処
理は、先行制約入力部41で個々の先行制約関係を与
え、依存グラフ合成部42,冗長制約除去部43では必
要十分なタスク依存グラフを合成し、スケジューリング
部45で実際にスケジューリングして処理タスクに対す
る資源割当を決定する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正内容】
【0012】次に依存グラフ合成部42における処理に
ついて、更に詳しく説明する。処理タスク相互の先行制
約関係とは、処理タスクの実行手順と、メモリ,入出力
装置などの有限資源のアクセス順序によって規定され
る。従って、処理タスク相互の先行制約関係を解析し
て、それぞれの有限資源に対する処理タスクのアクセス
手順を調べ、資源アクセス手順テーブルに記述する。こ
のテーブルに基づいて、第1依存グラフを生成する。こ
の第1依存グラフはタスク数nを寸法とする(n×n)
の行列表現式Gで表現される。行列要素(i,j)が1
の時はタスクiがjに先行する制約関係を持つことを意
味し、行列要素(i,j)が0の時は制約関係が無いこ
とを意味する。この第1依存グラフの行列Gに対して、
資源アクセス手順テーブルを参照して各資源に関するタ
スク先行制約関係を順に書き込んでいく。ただし、既に
タスク間先行制約関係が記入されて値が1となっている
行列要素は、1のままとする。全ての資源アクセス手順
に基づくタスク先行制約関係を行列に移した時、図2に
示すような第1依存グラフが生成される。図2におい
て、第1依存グラフのノードが処理タスク、ノードを繋
ぐパスがタスク間先行制約関係となる。即ち、N1〜N
5は処理タスクを示す第1依存グラフのノード、P1〜
P7はタスク間制約関係を示す第1依存グラフのパスで
ある。図2と式1は同じ意味を表わしている。
ついて、更に詳しく説明する。処理タスク相互の先行制
約関係とは、処理タスクの実行手順と、メモリ,入出力
装置などの有限資源のアクセス順序によって規定され
る。従って、処理タスク相互の先行制約関係を解析し
て、それぞれの有限資源に対する処理タスクのアクセス
手順を調べ、資源アクセス手順テーブルに記述する。こ
のテーブルに基づいて、第1依存グラフを生成する。こ
の第1依存グラフはタスク数nを寸法とする(n×n)
の行列表現式Gで表現される。行列要素(i,j)が1
の時はタスクiがjに先行する制約関係を持つことを意
味し、行列要素(i,j)が0の時は制約関係が無いこ
とを意味する。この第1依存グラフの行列Gに対して、
資源アクセス手順テーブルを参照して各資源に関するタ
スク先行制約関係を順に書き込んでいく。ただし、既に
タスク間先行制約関係が記入されて値が1となっている
行列要素は、1のままとする。全ての資源アクセス手順
に基づくタスク先行制約関係を行列に移した時、図2に
示すような第1依存グラフが生成される。図2におい
て、第1依存グラフのノードが処理タスク、ノードを繋
ぐパスがタスク間先行制約関係となる。即ち、N1〜N
5は処理タスクを示す第1依存グラフのノード、P1〜
P7はタスク間制約関係を示す第1依存グラフのパスで
ある。図2と式1は同じ意味を表わしている。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正内容】
【0014】次に冗長制約除去部43における処理につ
いて、更に詳しく説明する。ここで冗長なタスク間制約
関係とは、複数の処理タスク相互の先行制約関係の中か
ら、他の複数のタスク間制約関係の組み合わせで代替表
現可能なタスク間制約関係をいうもので、その制約関係
が無くともタスク全体の順序関係が同一であり、スケジ
ューリング結果が等価であるものをいう。第1依存グラ
フにおいて、あるノードから別のノードにm本のパスを
通って到達することをmステップで到達するという。例
えば、N1からN4に到達するには、P2の1ステップ
で到達するか、P1とP4の2ステップで到達できる。
m−ステップで到達するノード集合をm−到達集合とい
い、mステップ以内で到達できるノード集合をm−可到
達集合という。ここで、第1依存グラフの各ノードのm
−到達集合を表わした行列をm−到達行列と定義する。
いて、更に詳しく説明する。ここで冗長なタスク間制約
関係とは、複数の処理タスク相互の先行制約関係の中か
ら、他の複数のタスク間制約関係の組み合わせで代替表
現可能なタスク間制約関係をいうもので、その制約関係
が無くともタスク全体の順序関係が同一であり、スケジ
ューリング結果が等価であるものをいう。第1依存グラ
フにおいて、あるノードから別のノードにm本のパスを
通って到達することをmステップで到達するという。例
えば、N1からN4に到達するには、P2の1ステップ
で到達するか、P1とP4の2ステップで到達できる。
m−ステップで到達するノード集合をm−到達集合とい
い、mステップ以内で到達できるノード集合をm−可到
達集合という。ここで、第1依存グラフの各ノードのm
−到達集合を表わした行列をm−到達行列と定義する。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正内容】
【0028】上記の動作から明らかなように、実施例1
によるスケジューリング装置では、冗長制約除去部43
を備え、複数の処理タスク相互の先行制約関係の中か
ら、他の複数のタスク間制約関係の組み合わせで代替表
現可能なタスク間制約関係を冗長なタスク間制約関係と
して検出し除去するので、分散処理あるいは並列処理に
おける資源スケジューリング処理にかかる時間が短縮さ
れる。また、依存グラフ合成部42で処理タスクそれぞ
れの資源アクセス手順に基づいてタスク全体の先行制約
関係を行列表現式Gとして第1依存グラフに表わし、冗
長制約除去部43で他の複数の処理タスク相互の先行制
約関係の中から、他の複数のタスク間制約関係の組み合
わせで代替表現可能なタスク間制約関係を冗長なタスク
間制約関係として、第1依存グラフから検出し除去して
第2依存グラフに表わすので、後戻り探索法による冗長
パス検出装置に比べ、時間とメモリが小さくできる。ま
た、特に実施例1では、冗長制約除去部43は、行列表
現式で表わされているタスクの先行制約関係Gよりmが
2以上の時のm−可到達行列Hを導き、行列表現式Gと
m−可到達行列Hのどちらにも表われるタスク間制約関
係を冗長なタスク間制約関係として検出し除去すること
で実現している。
によるスケジューリング装置では、冗長制約除去部43
を備え、複数の処理タスク相互の先行制約関係の中か
ら、他の複数のタスク間制約関係の組み合わせで代替表
現可能なタスク間制約関係を冗長なタスク間制約関係と
して検出し除去するので、分散処理あるいは並列処理に
おける資源スケジューリング処理にかかる時間が短縮さ
れる。また、依存グラフ合成部42で処理タスクそれぞ
れの資源アクセス手順に基づいてタスク全体の先行制約
関係を行列表現式Gとして第1依存グラフに表わし、冗
長制約除去部43で他の複数の処理タスク相互の先行制
約関係の中から、他の複数のタスク間制約関係の組み合
わせで代替表現可能なタスク間制約関係を冗長なタスク
間制約関係として、第1依存グラフから検出し除去して
第2依存グラフに表わすので、後戻り探索法による冗長
パス検出装置に比べ、時間とメモリが小さくできる。ま
た、特に実施例1では、冗長制約除去部43は、行列表
現式で表わされているタスクの先行制約関係Gよりmが
2以上の時のm−可到達行列Hを導き、行列表現式Gと
m−可到達行列Hのどちらにも表われるタスク間制約関
係を冗長なタスク間制約関係として検出し除去すること
で実現している。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0032
【補正方法】変更
【補正内容】
【0032】また、請求項2の発明によれば、先行制約
関係を持つ複数の処理タスクに有限資源を割り当てるス
ケジューリング装置において、処理タスクそれぞれの資
源アクセス手順に基づいてタスク全体の先行制約関係を
行列表現式Gとして第1依存グラフに表わす依存グラフ
合成手段、及び他の複数の処理タスク相互の先行制約関
係の中から、他の複数のタスク間制約関係の組み合わせ
で代替表現可能なタスク間制約関係を冗長なタスク間制
約関係として、第1依存グラフから検出し除去して第2
依存グラフに表わす冗長制約除去手段を備えたことによ
り、処理時間が短縮できるスケジューリング装置が得ら
れる効果がある。
関係を持つ複数の処理タスクに有限資源を割り当てるス
ケジューリング装置において、処理タスクそれぞれの資
源アクセス手順に基づいてタスク全体の先行制約関係を
行列表現式Gとして第1依存グラフに表わす依存グラフ
合成手段、及び他の複数の処理タスク相互の先行制約関
係の中から、他の複数のタスク間制約関係の組み合わせ
で代替表現可能なタスク間制約関係を冗長なタスク間制
約関係として、第1依存グラフから検出し除去して第2
依存グラフに表わす冗長制約除去手段を備えたことによ
り、処理時間が短縮できるスケジューリング装置が得ら
れる効果がある。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0033
【補正方法】変更
【補正内容】
【0033】また、請求項3の発明によれば、請求項2
における冗長制約除去手段を、行列表現式で表わされて
いるタスクの先行制約関係Gよりmが2以上の時のm−
可到達行列Hを導く計算手段と、行列表現式Gとm−可
到達行列Hのどちらにも表われるタスク間制約関係を冗
長なタスク間制約関係として検出し除去する処理手段を
備えたことにより、処理時間が短縮できるスケジューリ
ング装置が得られる効果がある。
における冗長制約除去手段を、行列表現式で表わされて
いるタスクの先行制約関係Gよりmが2以上の時のm−
可到達行列Hを導く計算手段と、行列表現式Gとm−可
到達行列Hのどちらにも表われるタスク間制約関係を冗
長なタスク間制約関係として検出し除去する処理手段を
備えたことにより、処理時間が短縮できるスケジューリ
ング装置が得られる効果がある。
Claims (3)
- 【請求項1】 先行制約関係を持つ複数の処理タスクに
有限資源を割り当てるスケジューリング装置において、
上記複数の処理タスク相互の先行制約関係の中から、他
の複数のタスク間制約関係の組み合わせで代替表現可能
なタスク間制約関係を冗長なタスク間制約関係として検
出し除去する冗長制約除去手段を備えたことを特徴とす
るスケジューリング装置。 - 【請求項2】 先行制約関係を持つ複数の処理タスクに
有限資源を割り当てるスケジューリング装置において、
上記処理タスクそれぞれの資源アクセス手順に基づいて
タスク全体の先行制約関係を行列表現式Gとして第1依
存グラフに表わす依存グラフ処理手段、及び他の複数の
処理タスク相互の先行制約関係の中から、他の複数のタ
スク間制約関係の組み合わせで代替表現可能なタスク間
制約関係を冗長なタスク間制約関係として、第1依存グ
ラフから検出し除去して第2依存グラフに表わす冗長制
約除去手段を備えたことを特徴とするスケジューリング
装置。 - 【請求項3】 冗長制約除去手段は、行列表現式で表わ
されているタスクの先行制約関係Gよりmが2以上の時
のm−可到達行列Hを導く計算手段と、上記行列表現式
Gとm−可到達行列Hのどちらにも表われるタスク間制
約関係を冗長なタスク間制約関係として検出し除去する
処理手段を備えたことを特徴とする請求項第2項記載の
スケジューリング装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3328706A JPH05165397A (ja) | 1991-12-12 | 1991-12-12 | スケジューリング装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3328706A JPH05165397A (ja) | 1991-12-12 | 1991-12-12 | スケジューリング装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05165397A true JPH05165397A (ja) | 1993-07-02 |
Family
ID=18213272
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3328706A Pending JPH05165397A (ja) | 1991-12-12 | 1991-12-12 | スケジューリング装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05165397A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0756754A (ja) * | 1993-08-03 | 1995-03-03 | Internatl Business Mach Corp <Ibm> | マルチメディア・グループ資源割当て装置及び方法 |
| US7392516B2 (en) | 2004-08-05 | 2008-06-24 | International Business Machines Corporation | Method and system for configuring a dependency graph for dynamic by-pass instruction scheduling |
| CN112835696A (zh) * | 2021-02-08 | 2021-05-25 | 兴业数字金融服务(上海)股份有限公司 | 多租户任务调度方法、系统及介质 |
| CN116610082A (zh) * | 2023-07-18 | 2023-08-18 | 安徽思高智能科技有限公司 | 基于深度强化学习的rpa作业工作流冗余调度方法及系统 |
| CN116800610A (zh) * | 2023-04-07 | 2023-09-22 | 东北大学 | 一种分布式的数据平面资源优化方法与系统 |
-
1991
- 1991-12-12 JP JP3328706A patent/JPH05165397A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0756754A (ja) * | 1993-08-03 | 1995-03-03 | Internatl Business Mach Corp <Ibm> | マルチメディア・グループ資源割当て装置及び方法 |
| US7392516B2 (en) | 2004-08-05 | 2008-06-24 | International Business Machines Corporation | Method and system for configuring a dependency graph for dynamic by-pass instruction scheduling |
| CN112835696A (zh) * | 2021-02-08 | 2021-05-25 | 兴业数字金融服务(上海)股份有限公司 | 多租户任务调度方法、系统及介质 |
| CN112835696B (zh) * | 2021-02-08 | 2023-12-05 | 兴业数字金融服务(上海)股份有限公司 | 多租户任务调度方法、系统及介质 |
| CN116800610A (zh) * | 2023-04-07 | 2023-09-22 | 东北大学 | 一种分布式的数据平面资源优化方法与系统 |
| CN116610082A (zh) * | 2023-07-18 | 2023-08-18 | 安徽思高智能科技有限公司 | 基于深度强化学习的rpa作业工作流冗余调度方法及系统 |
| CN116610082B (zh) * | 2023-07-18 | 2023-10-31 | 安徽思高智能科技有限公司 | 基于深度强化学习的rpa作业工作流冗余调度方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5304251B2 (ja) | 並列ソート装置、方法、およびプログラム | |
| CN112711478B (zh) | 基于神经网络的任务处理方法、装置、服务器和存储介质 | |
| JP3299611B2 (ja) | 資源割付装置 | |
| CN118819869A (zh) | 一种基于多种加速卡的异构混合加速方法、设备及介质 | |
| US8677304B2 (en) | Task-based multi-process design synthesis | |
| CN101246433A (zh) | 产生优化程序的装置和方法、程序执行装置及记录介质 | |
| JPH05165397A (ja) | スケジューリング装置 | |
| US8127259B2 (en) | Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium | |
| US7568193B2 (en) | Method and apparatus for static single assignment form dead code elimination | |
| JP2008171153A (ja) | タスク管理装置 | |
| JPH05101141A (ja) | 高位合成装置 | |
| CN115826537B (zh) | 一种多机器人产线柔性调度方法 | |
| JP3318051B2 (ja) | 翻訳処理方法 | |
| EP4202774A1 (en) | Runtime predictors for neural network computation reduction | |
| EP4207007A1 (en) | Data generation program, method and device | |
| JP7837782B2 (ja) | データ処理管理システム、データ処理管理方法 | |
| JP2016118867A (ja) | 処理装置、処理方法、及び、プログラム | |
| CN119005271B (zh) | 基于算子分块的神经网络模型并行优化方法及装置 | |
| US12547453B2 (en) | Graph streaming neural network processing system and method thereof | |
| JP4470110B2 (ja) | 高位合成方法およびシステム | |
| JP2026073979A (ja) | ハードウェア環境において人工ニューラルネットワークを計算すべくプログラムコードを作成するコード生成用のメモリプランニングのための方法及び装置 | |
| JP3180984B2 (ja) | 半導体集積回路における処理動作のスケジューリング方法 | |
| JPH06149927A (ja) | 積和形論理式の処理方法 | |
| JP3686261B2 (ja) | 計算機、プログラム変換装置及びプログラム記録媒体 | |
| Mrena et al. | Experimental Survey of Algorithms for the Calculation of Node Traversal Probabilities in Multi-valued Decision Diagrams |