情報科学 › ソフトウェア設計とテスト › ビルドと依存関係

並列ビルドの時間の上下界

定理 6.1(「ビルドと依存関係」§6) ・ ✓公理まで証明済み

依存グラフが DAG であるビルドの記述で、各タスク tt の所要時間を wt>0w_t > 0 とする。W=∑t∈TwtW = \sum_{t \in T} w_t を仕事量、タスクだけを通る有向の道 (t1,…,tk)(t_1, \ldots, t_k) についての ∑jwtj\sum_j w_{t_j} の最大値 LL を最長の依存鎖(クリティカルパス)の長さとする。

p≥1p \ge 1 台のワーカーによるスケジュールとは、各タスク tt に開始時刻 βt≥0\beta_t \ge 0 を割り当て、tt が区間 [βt,βt+wt)[\beta_t, \beta_t + w_t) の間 1 台を占有し、(i) どの時刻にも実行中のタスクは pp 個以下、(ii) u∈D(t)∩Tu \in D(t) \cap T ならば βu+wu≤βt\beta_u + w_u \le \beta_t、を満たすものをいう。完了時刻を Θ=max⁡t(βt+wt)\Theta = \max_t (\beta_t + w_t) とする。

(a) どのスケジュールも Θ≥max⁡(W/p, L)\Theta \ge \max(W/p,\ L) を満たす。

(b) スケジュールが貪欲である、すなわち「依存がすべて完了していてまだ開始されていないタスクがある時刻には、pp 台すべてが実行中である」ならば、

Θ≤Wp+L(1−1p)\Theta \le \frac{W}{p} + L\Bigl(1 - \frac{1}{p}\Bigr)

が成り立つ。

(c) 貪欲なスケジュールの完了時刻は、最適なスケジュールの完了時刻の (2−1/p)(2 - 1/p) 倍以下である。

本文で読む(証明と前後の説明)→

閉包の状態

✓ 公理まで証明済み

証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

前提をたどる 証明が使う定理・定義

証明は Rikai の他の定理を参照していません(定義と論理だけで示されています)。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 2 問