複数のクライアントから接続されるサーバがある。
このサーバのタスクの多重度が2以下の場合,タスク処理時間は常に4秒である。
このサーバに1秒間隔で4件の処理要求が到着した場合,全ての処理が終わるまでの時間はタスクの多重度が1のときと2のときとで,何秒の差があるか。
正答2
解説
正解は2です。
タスクの多重度とは、同時に並行して処理できるタスクの数です。
処理要求は0秒、1秒、2秒、3秒の時点に到着し、1件の処理に4秒かかります。
多重度1と2のそれぞれで、最後の処理が終わる時刻を求めて差をとります。
【計算】
多重度1では、4件を1件ずつ順番に処理します。
終了時刻は4秒、8秒、12秒、16秒となり、全処理の終了は16秒後です。
多重度2では、1件目が0〜4秒、2件目が1〜5秒に処理されます。
3件目は2秒に到着しますが、空きができる4秒に開始し、8秒に終わります。
4件目は3秒に到着し、5秒に開始して9秒に終わります。
全処理の終了は9秒後です。
差は16秒-9秒=7秒です。
【選択肢別解説】
1:× 6秒では、多重度2の終了時刻を10秒と数えたことになります。
実際の終了は9秒です。
2:○ 多重度1では16秒、多重度2では9秒で全処理が終わるので、差は7秒です。
3:× 8秒は、多重度2で2件ずつ同時に開始すると考えて終了を8秒とした場合の値です。
要求は1秒間隔で到着するので、同時には始まりません。
4:× 9秒は、多重度2のときの全処理の終了時刻そのものです。
問われているのは多重度1との差です。
【ポイント】
到着時刻と開始時刻を分けて、時間軸に沿って1件ずつ書き出すと確実に解けます。
多重度を上げても、処理時間が変わらない前提であれば待ち時間が減る分だけ早く終わります。