ターンアラウンドタイム
ジョブ(処理の依頼)をシステムに投入してから、その処理の結果がすべて得られるまでの時間。待ち時間と処理時間の合計になる。
イマシルちゃんの解説
お店でラーメンを注文したとき、「注文してから、ラーメンが目の前に届くまで」の時間がターンアラウンドタイムなんだ。
調理そのものは5分でも、前のお客さんの分を作っている間は待たないといけないよね。
だから、ターンアラウンドタイムは「待ち時間 + 調理時間」になるんだ。
混んでるお店ほど、待ち時間が長くなっちゃうんだよ!
より深い解説
定義
ターンアラウンドタイムは、利用者がジョブをシステムに投入した(到着した)時刻から、処理が終了して結果が得られる時刻までの経過時間である。バッチ処理の性能の指標として使われる。
ターンアラウンドタイム = 終了時刻 − 到着時刻
= 待ち時間 + 処理時間
計算の手順
ジョブの多重度が1(同時に1つしか実行しない)のシステムで、複数のジョブの到着時刻と処理時間が与えられた場合は、次の手順で求める。
- スケジューリングの方式(到着順など)に従って、実行する順番を決める
- 各ジョブの開始時刻 = 「到着時刻」と「直前のジョブの終了時刻」の遅いほう
- 各ジョブの終了時刻 = 開始時刻 + 処理時間
- ターンアラウンドタイム = 終了時刻 − 到着時刻
計算例(到着順、多重度1)
| ジョブ | 到着時刻 | 処理時間 |
|---|---|---|
| P | 0 | 4 |
| Q | 1 | 3 |
| R | 2 | 5 |
| ジョブ | 開始 | 終了 | 待ち時間 | ターンアラウンドタイム |
|---|---|---|---|---|
| P | 0 | 4 | 0 | 4 − 0 = 4 |
| Q | 4 | 7 | 3 | 7 − 1 = 6 |
| R | 7 | 12 | 5 | 12 − 2 = 10 |
時間の流れを図にすると、次のようになる。
時刻 0 1 2 3 4 5 6 7 8 9 10 11 12
|--- P ---------|--- Q -----|--- R --------------|
↑P ↑Q ↑R 到着
よくある間違いは、ターンアラウンドタイムを「開始時刻から」数えてしまうことである。ジョブの待ち時間も含めるため、必ず到着時刻から数える。
レスポンスタイムとの違い
| 指標 | 計測の範囲 | 主に使う場面 |
|---|---|---|
| ターンアラウンドタイム | ジョブの投入から、結果がすべて得られるまで | バッチ処理 |
| レスポンスタイム(応答時間) | 要求の入力の完了から、応答が始まるまで | オンライン処理、対話型の処理 |
| スループット | 単位時間あたりに処理できる仕事の量 | システム全体の処理能力 |
ターンアラウンドタイムを短くするには
| 方法 | 効果 |
|---|---|
| 処理の速い装置を使う | 処理時間が短くなる |
| 多重度を上げる | 複数のジョブを並行して処理し、待ち時間を減らす(ただし、各ジョブの処理は遅くなることがある) |
| スケジューリングの方式を変える | 処理時間の短いジョブを先に実行する(SPT)と、平均のターンアラウンドタイムが最小になる |