1 「ヘテロ並列計算環境のための タスクスケジューリング手法のサーベイ」 への訂正と追加 須 田 仁† 礼 本稿は情報処理学会論文誌コンピューティングシステム(Vol. 47, No. SIG 18 (ACS 16), pp. 92–114, Nov. 2006)に掲載された論文の訂正と追加です. Errata and Addenta for “A survey on task scheduling for heterogeneous parallel computing environments” Reiji SUDA† This article contains corrections and additions for a paper presented in the IPSJ Transactions: Advanced Computing Systems (Vol. 47, No. SIG 18 (ACS 16), pp. 92–114, Nov. 2006). 2.2 Q|U ET |Cmax 1. は じ め に Q|U ET |Cmax を扱った 5.1 節の式が間違っていました. 本稿は,情報処理学会論文誌コンピューティングシステ 10) ムに掲載されたサーベイ論文 への訂正と追加です. このサーベイ論文は,ヘテロ並列計算環境にターゲット を絞って,タスクスケジューリングの研究成果をまとめた 次のとおり訂正します. ¹ x̃p = Psp n q º sq 2.3 R|online|Cmax ものです.タスクスケジューリングには長い歴史がありま Aspnes らによるオンラインアルゴリズムにおいて, 「1 すが,ヘテロに限ったサーベイは著者は知りません.この 以上の定数 a」と書きましたが, 「a > 1」 に訂正します. 点で独自なものだと思っています. 読んで理解していただければ自明なのですが,念のため明 サーベイ論文は単なる既存研究の羅列であるべきではな 記いたします.なお,1 < a ≤ 1 + 1/γ であればよいので く,新しい知見を提示すべきだ(少なくとも,それが望ま すが,論文にあるように 1 + 1/γ とすると競合比がもっ しい)と思います.本論文ではさる事情によりそれができ ともよくなります. なかったのは,少し残念ではあります. 2. 誤りや誤解を招く表現の訂正 また,γ について何も書かれていませんが,1 < γ なる 定数です.競合比を考えると,m にあわせて γ を決める のがよいように思われます.競合比を最適にする γ は数 2.1 「マスタ・ワーカ」について 値計算で求められますが,m ≥ 2 では 2 未満で,m が大 第 3 節の「∼とマスタ・ワーカ」というタイトルは特 きくなるとゆっくり 1 に近づいていきます. に誤解を生むものだったと思います.この節で取り上げて さらに,C の初期設定は min{t1p } とするのが適切で いるのは,マスタ・ワーカ間の通信を考慮した問題設定で opt が保証できます.すなわち, す.これにより C/2 < Cmax あって,通信コストのモデルからマスタ・ワーカ型でなけ opt ですし,失敗すれば論文 これで成功すれば C = Cmax ればならないというケースです.本稿で取り上げているそ にあるとおり最後の成功の前に C/2 で失敗しているから の他の多くのモデルには通信コストが考慮されておりませ です. んが,本稿の大部分の結果はマスタ・ワーカ型の実装にも 2.4 R|f ix|Cmax 通用するものです(通信時間を適当に処理するという修正 8.1 節で紹介した Dell’Olmo ら2) の近似アルゴリズム は場合により必要です). は R|f ix|Cmax 一般に対するものではなく,問題設定に 非常に特殊な条件がかかっていました.条件の詳細は論文 † 東京大学 情報理工学系研究科 コンピュータ科学専攻 Dpt. of Computer Science, Grad. Schl. of Information Science and Technology, the University of Tokyo を参照してください.このような条件が成立するような応 用の場面があるかどうかは不明です. 2 また,本論文で用いている用語「マシンセット」は,多 くの論文では processing mode と呼ばれています.誤り ではありませんが,少なくともこのことを言及しておくべ アルゴリズムがない)ことは注意すべきでした. その代わりと言ってはなんですが,Miranda らは次の ような問題が APX 完全(定数性能比の多項式近似アル きでした. 3. 追 √ ては Fishkin ら3) の結果の方が強い( m よりよい近似 ゴリズムを有する任意の問題から PTAS reduction でき 加 る)であることを示しています. 3.1 Ibarra-Kim のアルゴリズム D について (1) ある定数 D があって,m ≥ De log ne 5.3.2 節で取り上げているアルゴリズム D6) は,Spin- (2) ある定数 K があって,各タスクのマシンセットの (3) 異なるタスクのマシンセットは, 「同時に実行でき rad8) により最悪性能比が m であることが示されていま すが,この例は (k m ) 個のタスクを必要とします(k は大 数が K 以下 きな整数).Hariri ら5) は,アルゴリズム D をタスク数 る」という関係に関して同値関係をなす n に対して評価し,1 + blog2 nc 近似であることを示して (4) います. 条件 (1) は論文にありますが,問題クラスの定義としては Ibarra と Kim により,アルゴリズム A と B は O(m) 2 UET 必要ないような気がしています.証明においては次数に上 個,アルゴリズム C と E は O(m ) 個のタスクで最悪性 限のあるグラフの vertex cover からの reduction を用い 能比が m に近づく例が与えられているので,この点では ているのですが,この際にこのようなマシン数になるとい アルゴリズム D が優れていると言えます. うだけです.逆向きのハイパーグラフの vertex cover へ なお,Hariri らは上記の結果と線形計画法を組み合わ の帰着の際には使っていません.条件 (2) はマシンセット せて R||Cmax に対する 2 + blog2 (m − 1)c 近似アルゴリ 数が多項式オーダーにするための条件として考えられる ズムを与えています.(サーベイでは ECT とだけ書きま もののうちのひとつです.上述の証明では K = 2 となっ したが,アルゴリズム D ということです. ) 3.2 DLT のマルチラウンドスケジューリング 3.2 節で Beaumont らによる漸近解析を示しています ています.もちろん K = 1 が f ix に相当します.条件 (3) は何だかわかりにくいのですが,次のようなことにな ります.タスク i, j のマシンセット π1 ⊂ {1, 2, · · · , m}, が,Beaumont らは同一のラウンドを反復するものと仮 π2 ⊂ {1, 2, · · · , m} について,もし π1 ∩ π2 = ∅ ならば, 定しています.Yang らの UMR や須田と富9) の MMDL これらは同時に実行できます(compatible という).さ は,ラウンドのサイズを可変にすることによりスケジュー らにタスク k のマシンセット π3 があって π1 ∩ π3 = ∅ ル長が短くできると報告しています.これに関して著者11) を満たすなら,π2 ∩ π3 = ∅ をも満たさなければなりませ はあらためて漸近解析を行い,問題が 3 つのクラスに分か √ れ,それぞれ漸近性能比が 1+O(1/ T ), 1+O(log T /T ), ん.逆に,π1 ∩ π3 6= ∅ なら π1 と π3 は同時に実行でき ないわけですが,この場合には π2 ∩ π3 6= ∅ も満たさな 1 + O(1/T ) となることを示しました.これらの問題クラ ければなりません.要するに,あるタスクのマシンセット スは,大雑把に言うと, を選択したら,それと同時に実行するタスクとマシンセッ • ワーカは初期状態でタスクを持っておらず,ワーカが トは自明に決まってしまうという条件です.条件 (4) は論 多く,マスタが(ほぼ)すべてのタスクをワーカに分 文には書いていませんが,証明からすると必要と思われま 配したほうがよい場合 す.この条件を満たすと,スケジューリングの問題をハイ • ワーカは初期状態でタスクを持っておらず,ワーカが 少なく,マスタは自分でもタスクの処理をしたほうが よい場合 • ワーカが初期状態でタスクを持っているか,マスタ数 がワーカ数よりも多い場合 パーグラフの vertex cover 問題に帰着することができる からです. 上記のうち,条件 (3) は非常に強い制約です.R|f ix, U ET |Cmax ですら APX (定数性能比の多項式時間近似アルゴリズ ムが存在する問題クラス)に入らないことから,強い制約 のようになっています.これにより,ラウンドサイズを可 をかけないと APX に入れられないことは明らかですが, 変にすることが漸近性能の意味でもスケジュール長を改善 それにしても強い制約です.しかも UET にしてようや することが示されました. く APX 完全というのは,この問題の難しさをある意味 上記の解析は,通信性能がヘテロ(但しアフィン)でも, で端的に表しているとも言えるのかもしれません.しかし 通信所要時間の定数項を無視した場合の定常ラウンドの最 この問題を解きたい我々からすると,この制約は非現実的 適スケジュールが得られていれば適用できます. です.これでは問題の半分以上が解かれているのではない 3.3 R|set|Cmax 8.2 節で Miranda ら7) が R|set|Cmax に対して最悪性 かという感想を持ちます.UET というのも強い条件です. √ R|f ix|Cmax に対する Bampis ら1) の 3 m 近似アルゴ 能比が定数となるような多項式アルゴリズムが存在しな リズムがかなりシンプルであることから,これに類する結 いことを示していると書きました.しかし証明は部分問題 果がほしいところです. R|f ix, U ET |Cmax について行われています.これについ なお,PTAS reduction とは,多項式時間で問題と解 3 を変換することができ,最悪性能比を保存するような変換 帰着される.定理が主張する上限 2m/(m + 1) は m が小 です. さいほど小さいから,定理が成立する. 3.4 参 考 文 献 よって以下では n = m の場合について考える. 論文で to appear となっている論文 9) は,参考文献の まず,各マシンに 1 つずつタスクが割り当てられてい ると仮定する.このとき LPT は最適であるので,定理は とおりに出版されました. 成立である. 4. そ の 他 次に,LPT ではあるマシンにタスクが割り当てられな 4.1 Gonzalez らの評価の証明 いとする.当然,割り当てられていないマシンは最も遅い Gonzalez ら4) は Q||Cmax に対する LPT の性能を マシン 1 と仮定してよい.最も小さなタスク wn すらマ 2m/(m + 1) と評価している.しかし我々が検討したと LP T が シン 1 に割り当てられないためには wn /s1 ≥ Cmax ころ,Lemma 2.1 の証明が不完全であるように思われる. 必要である.もし最適解がマシン 1 にタスクを割り当て そこで,我々は以下のように別の証明を与えることにした. LP T opt opt で ≥ Cmax ≥ wn /s1 となるので,Cmax ていれば Cmax 原著にあわせて wi ≥ wi+1 , si ≤ si+1 のようにソート あり,LPT は最適でなければならない.逆にもし最適解 されているものとする.また,明らかに m = 1 では定理 がマシン 1 にタスクを割り当てていなければ,マシン 1 が成立するので,マシン数が m − 1 までは定理が成立す は最初からないものとして m − 1 台の場合に帰着するこ るものと仮定し,数学的帰納法で証明する. とができる. 最後のタスクが LPT の makespan を決めていると仮 最後に,LPT ではすべてのマシンにタスクが割り当て 定してよい.そうでなければ LPT の makespan を決め られるが,最適解ではあるマシンにタスクが割り当てられ るタスクよりも小さい(後で割り当てられる)タスクを問 ていないとする(以下の証明が原著と異なる).やはり最 題から取り除いた問題を考えることができる.このとき, 適解がタスクを割り当てないマシンはマシン 1 であると LPT の makespan は同じで,最適解の makespan は大 してよい. きくならないから,タスクを削減した問題に性能比の評価 LP T sp ≤ Wp + wn であるが,今回は さきと同様に Cmax を帰着することができるが,そこでは LPT の makespan マシン 2 から m までの和をとると,wn が割り当てられ は最後のタスクが決めている. るのがマシン 1 であることに注意して 場合 1. まず,n > m と仮定する. タスク n − 1 までを LPT で割り当てた時点でのマシ LP T 0 S ≤ Cmax となる.ただし S 0 = Wk + wn Wp + wn ≤ sk sp LP T sp ≤ Wp + wn であるが,こ となっている.よって Cmax れをすべてのマシンについて和をとると LP T S≤ Cmax m X Wp + mwn = W + (m − 1)wn p=1 である.ただし S= m X p=1 sp , Wp + (m − 1)wn = W + (m − 2)wn p=2 ン p の仕事量の合計を Wp とする.タスク n がマシン k に割り当てられたとすると, LP T = Cmax m X Pm p=2 sp である.一方最適解はマ opt ≥ W/S 0 となるので シン 1 を使っていないから Cmax LP T Cmax W + (m − 2)wn (m − 2)wn ≤ =1+ opt W W Cmax (m − 2)wn m−2 ≤1+ =1+ mwn m 2(m − 1) 2m = ≤ m m+1 となる. (証明終わり) W = n X 4.2 Hariri らによるアルゴリズム D の評価 wi i=1 である. opt ≥ W/S であるから, 一方,Cmax LP T W + (m − 1)wn (m − 1)wn Cmax ≤ =1+ opt W W Cmax (m − 1)wn m−1 ≤1+ =1+ nwn n m−1 2m ≤1+ = m+1 m+1 となる.ここまでは原著と同じである. 場合 2. 次に,m ≤ n について考える.n < m であれ Hariri ら5) による ECT を用いたアルゴリズムの評価 の証明は場合わけが不十分である.詳細な証明をつけるこ とにする. 命題は,Ibarra-Kim6) のアルゴリズム D (Min-min) と も呼ばれるでは,n 個のタスクのうち最初の d n2 e 個のタ opt より スクの終了時刻は,最適解のスケジュール長 Cmax 早いというものである. 簡単のため,タスクの番号をアルゴリズム D がスケ ジュールする順につけなおす. 証明は,次のようなタスクの集合とスケジュールを逐次 構成できることを示す. ば,一般性を失うことなく,最も遅いマシンにタスクが割 • Dk : アルゴリズム D がスケジュールする最初の k 個 り当てられないとしてよい.すると,m − 1 台の結果に のタスクからなる集合.つまり Dk = {1, 2, · · · , k} 4 • Rk : Dk 以外のタスクのいくつかからなる集合 この補題はマシンにあらかじめタスクが割り当てられて • Sk : Dk ∪ Rk に対するスケジュールであって,Dk に いて,マシンごとに決まったある時刻にならなければ新た 含まれるタスクはアルゴリズム D と同じマシンに割 なタスクの処理が開始できないような状況にも適用でき り当てられ,スケジュール長が opt Cmax 以下のもの 最初,k = 0 では次のように構成する.D0 は空集合, る.そこで,n 個のタスクのうち最初の dn/2e 個のタス opt までに処理でき,残りの bn/2c 個のタスクの クは Cmax R0 はすべてのタスクからなる集合で, S0 はある最適解と opt までに処理するこ うち,dbn/2c/2e 個のタスクは 2Cmax する.これが上の条件を満たすことは明らかである. opt まで とができる.これを繰り返すと,1 + blog2 ncCmax 次に,k − 1 まで上記の条件を満たすスケジュールがあ にすべてのタスクが完了することが分かる.すなわち,ア り,Rk−1 6= ∅ とする.このとき,Dk−1 , Rk−1 , Sk−1 か ルゴリズム D は 1 + blog2 nc 近似アルゴリズムとなって ら Dk , Rk , Sk が構成できることを示す. いる. もちろん Dk = Dk−1 ∪ {k} である. さらに Hariri らは線形計画を併用して 2+blog2 (m−1)c アルゴリズム D がタスク k を割り付けるマシンを p と 近似アルゴリズムを構築している.ここでの線形計画問題 し,スケジュール Sk−1 でマシン p に割り当てられている はサーベイの 4.1 節で紹介したものとは異なり,単純に タスクの集合を T とする.ここで場合わけが必要となる. R||Cmax の割り当て変数の整数制約を取り除いた • k ∈ T の場合: Sk−1 も k を p に割り当てているの で,Rk = Rk−1 − {k}, Sk = Sk−1 とすればよい. |Rk | = |Rk−1 | − 1 である. minimize subject to t X xip = 1 ∀i p X • k∈ / T で,T ∩ Rk−1 6= ∅ の場合: T ∩ Rk−1 に含まれ る適当なタスク j を選ぶ.アルゴリズム D は最小実 tip xip ≤ t ∀p i xip ≥ 0 行時間のタスクを選ぶので,tkp ≤ tjp である.よって Sk−1 においてタスク j をタスク k に置き換えても, というものである.線形計画を解く単体法に関する考察に マシン p のスケジュール長は延びることはない.もし より,nm 個ある割り当て変数 xip のうち整数にならない k ∈ Rk−1 であれば,Sk−1 では k は別のマシン q に ものは m − 1 個だけであるという.xip = 1 となったもの 割り当てられていたはずだが,それは削除してしまう. opt までに完了する. のみそのまま採用すると,これは Cmax もし k ∈ / Rk−1 なら,このような削除は必要ない.ま 残り m−1 個以下のタスクをアルゴリズム D で割り当てる た,置き換えられたタスク j はどのマシンにも割り当 opt と,最初の線形計画部分もあわせて 2+blog2 (m−1)cCmax てず,捨ててしまう.結局,Rk = Rk−1 − {k, j} であ までに完了することがわかる. る.すなわち k ∈ Rk−1 であれば |Rk | = |Rk−1 | − 2 で,k ∈ / Rk−1 なら |Rk | = |Rk−1 | − 1 である. • k∈ / T で,T ∩ Rk−1 = ∅ の場合: 仮定より Rk−1 6= ∅ 4.3 Bampis ら の dedicated multiprocessor task scheduling Bampis ら1) は,R|f ix|Cmax に対する 3 √ m 近似アル であるが,アルゴリズム D は最早完了タスクを選ぶ ゴリズムを提案している.議論の一部に,自明ではないが ので,任意のタスク j ∈ Rk−1 について,スケジュー 十分な説明がされていない部分があったので,ここでは証 ル Sk−1 における j の完了時刻は,アルゴリズム D 明の一部を改めたものを紹介する.R|f ix|Cmax では,タ における k の完了時刻より早くない.よってタスク k スク i が使用するマシンセットが指定されており,いつ をマシン p に割り当てても,スケジュール長が延びる それを実行するかだけが問題である.以下,タスク i の ことはない.k ∈ / Rk−1 であれば,Sk は Sk−1 にタ 所要時間を ti と表す.また,タスク i が使うマシンの集 スク k のマシン p への割り当てを加えたものとなり, 合を f ixi , その元数(タスク i が使うマシン数)を |f ixi Rk = Rk−1 である.もし k ∈ Rk−1 であれば,Sk−1 で表す. における k の割り当ては削除してマシン p に割り当 まず GFFS (General First Fit Scheduling) というア て,Rk = Rk−1 − {k} である.よって |Rk | = |Rk−1 | ルゴリズムを定義する.これは,タスクを与えられたリス または |Rk | = |Rk−1 | − 1 である. トの順序でスケジュールするリストスケジューリングアル 以上により,すべての場合について条件を満たす Dk , ゴリズムであり,各タスクをその時点の部分スケジュール Rk , Sk を構成できることが示された.いずれの場合も において割り当て可能な最も早い時間に割り付けるという |Rk | ≥ |Rk−1 | − 2 であるから,|Rk | ≥ n − 2k である. ものである.いわゆる挿入スケジュールである. n が偶数の場合には k = n/2 − 1 までは Rk 6= ∅ である. 合は k = (n − 1)/2 まで Rk 6= ∅ であるから,少なくと Bampis らのアルゴリズム(SRS: Split Round Schedul√ m 以下の √ タスクの集合である T − と,使うマシン数が m を超え も Sdn/2e までは構成できる.このことは,アルゴリズム るタスクの集合である T + の 2 つの部分集合に分ける.そ D の最初の dn/2e 個のタスクは の上で,T + に対しては適当な順序で GFFS を用い,T − つまり少なくとも Sn/2 までは構成できる.n が奇数の場 opt Cmax より遅くない時刻 に完了することを意味している. (証明終わり) ing)では,タスクの集合を,使うマシン数が に対しては各タスクの実行時間を 2 のべき乗に切り上げ, 5 実行時間の降順に並べ替えて GFFS を適用する.すると, √ opt SRS が得られる. ≤ 3 mCmax Cmax まず T + について考える.この部分に関する SRS の makespan を C + と書く.さて, P + X = は T + に含まれるタスクの計算時間の合 がない限り, が成立する.一方, 1 X L+ = ti |f ixi | m i∈T + とすると,L+ は T + を処理する場合の各マシン上での計 算時間の平均値である.明らかに opt Cmax ≥ max X p ti i:p∈f ixi であるが,L+ はこの右辺の下限(平均値は最大値より大 きくないから)になっており opt ≥ L+ Cmax √ である.さらに,i ∈ T + に対しては |f ixi | > m より √ L+ ≥ mP + である.よって √ opt C + ≤ mCmax となる. つぎに T − の部分であるが,やはりこの部分の SRS の makespan を C− とする.ここでは最後に完了する(つ まり完了時刻が C − となる)タスク n に着目する. タスク i の 2 べきに切り上げた所要時間を τi とする. すべてのタスクの所要時間を 2 べきに切り上げているか ら,タスク i をスケジュールするとき,それ以前のタス クの所要時間は τi の整数倍になっている.よって,各マ シンの空き時間帯もすべて τi の整数倍の時間である.つ まり,f ixi がすべて空いている時間が存在すれば,そこ に必ずタスク i を挿入することができる.これはタスク n についても同じだから,タスク n が最後になっている ということは,タスク n の開始時刻より前の任意の時刻 は,f ixn に含まれるいずれかのマシンが何らかのタスク によって占有されている. よって,f ixn に含まれるマシンの計算時間の合計は C − 以上であり,その平均は C − /|f ixn | 以上である.但し,所 要時間を 2 べきに切り上げた効果を考慮すると,本来の 所要時間で測った f ixn に含まれるマシンの計算時間の平 均は C − /2|f ixn | となる.よって先と同様に C− 2|f ixn | √ であるが,|f ixn | ≤ m より √ opt C − ≤ 2 mCmax もちろん SRS Cmax ≤ √ p m/2 とすると, opt 8mCmax と,わずかに係数が改善される. C+ ≤ P + となる. ということになる.(証明終わり) るタスクのサイズを 計である.どのマシンも仕事をしていない時間というもの opt ≥ Cmax SRS ≤C +C Cmax であるから, √ SRS opt ≤ 3 mCmax Cmax なお,この証明から明らかなように,T + と T − にわけ ti i∈T + + とすると,P − + 参 考 文 献 1) Bampis, E. et al.: Scheduling of independent dedicated multiprocessor tasks, Proc. Ann. Int’l Symp. Alg. Comp., LNCS 2518, pp. 391–402 (2002). 2) Dell’Olmo, P., Giordani, S. and Speranza, M. G.: An approximation result for a duo-processor task scheduling problem, Info. Proc. Lett., Vol.61, No.4, pp. 195–200 (1997). 3) Fishkin, A., Jansen, K. and Porkolab, L.: On minimizing average weighted completion time of multiprocessor tasks with release dates, Proc. Int’l Colloq. Automata, Lang. Prog., LNCS 2076, pp. 875– 886 (2001). 4) Gonzalez, T., Ibarra, O. H. and Sahni, S.: Bounds for LPT schedules on uniform processors, SIAM J. Comput., Vol. 6, No. 1, pp. 155–166 (1977). 5) Hariri, A. M. A. and Potts, C. N.: Heuristics for scheduling unrelated parallel machines, Comp. Oper. Res., Vol. 18, No. 3, pp. 323–331 (1991). 6) Ibarra, O. H. and Kim, C. E.: Heuristic algorithms for scheduling independent tasks on nonidentical processors, J. ACM , Vol. 24 No. 2 pp. 280–289 (1977). 7) Miranda, A., Torres, L. and Chen, J.: On the approximability of multiprocessor task scheduling problems, Proc. Int’l Symp. Alg. Comp.. LNCS 2518, pp. 403–415 (2002). 8) Spinrad, J.: Worst-case analysis of a scheduling algorithm, Oper. Res. Lett., Vol. 4, No. 1, pp. 9–11 (1985). 9) Suda, R. and Tomi, S.: Task Redistribution Scheduling using Multi-Master Divisible Load Model, Proc. Par. Dist. Comp. Sys., pp. 160–165 (2006). 10) 須田礼仁: ヘテロ並列計算環境のためのタスクスケ ジューリング手法のサーベイ, 情報処理学会論文誌コ ンピューティングシステム, Vol. 47, No. SIG 18 (ACS 16), pp. 92–114 (2006). 11) 須田礼仁: Multi-Master Divisible Load スケジュー リングの最適化と漸近性能, 情報処理学会研究報告, 2007-HPC-110, Vol. 207, No. 59, pp. 1–6 (2007).
© Copyright 2024 Paperzz